5:17:08beachSure, but we draw the line when we have to correct indentation and spacing for the umpteenth time, as would be required for some people who come here.

5:17:35aethjmercouris: Most Lisp programmers use Emacs, but (afaik) most Emacs users don't program in Lisp, beyond perhaps some basic configuration elisp stuff.

5:19:58jmercourisI think that makes sense, part of being respectful of the time of other people is making sure that you have the basics down, and that you aren't wasting their time

5:20:37jmercourisEspecially if you are asking on a public forum, whether it be stack overflow or otherwise, you should really focus on reducing the mental burden of the other person to understand your problem and help

5:21:06beachRight. Especially since #lisp is not, as some people think, a "Lisp support channel". Newbie questions are tolerated as long as there is some indication that progress is being made.

5:38:40lokeThen, you can simply set fields in the stuct using (setf (cffi:foreign-slot-value FOO '(:struct NAME-OF-STRUCT) 'FIELD-NAME) THE-NEW-VALUE)

5:39:46lokeemaczen: yes. But then you have to make sure you free the memory properly later. Sometimes you can use TRIVIAL-GARBAGE to create a weak pointer so that you can free as paert of garbage collection. It depends a bit on circumstances.

5:40:38lokeI do that here: https://github.com/lokedhs/cl-gss/blob/master/src/cl-gss.lisp#L46

5:41:23emaczenloke: so there is no way to just do struct name; name.field = value; ?

8:18:13beachI think I have a working CST-to-AST system, modulo silly mistakes of course. Now I am thinking of a system for computing indentation from a CST. Such a system would be structured in much the same way as a CST-to-AST system, i.e., it would determine whether a CST represents an atom, a function call, a special form, or a macro call. Function calls are simple.

8:18:15beachSpecial forms are fairly simple, because they have fixed indentation rules. For a macro call, the macro lambda list determines the indentation of the argument expressions, but then, whether an argument expression is a form or something else, can only be determined by expanding the macro.

8:19:09phoe_Are you going to expand the macros each single time then? What if they have side effects?

8:19:32beachWell, I can't handle every case. Macro expanders should not have side effects.

8:19:33ShinmeraIt's also often desirable to be able to give further hints as to how a macro should be indented as the lambda-list by its own does not provide sufficient information about that.

8:23:21beachotwieracz: There is a difference between what the language "allows" and what it defines the effect of.

8:25:05pjbone guarantee by 3.2.2.2 is All macro and symbol macro calls appearing in the source code being compiled are expanded at compile time in such a way that they will not be expanded again at run time. It doesn't mention edit-time…

14:06:30Josh_2In On Lisp there are two examples as shown in this paste http://paste.lisp.org/display/358509 where one function takes a variable x as an argument to a function and that variable is considered bound, and then another example which takes the variable n as an argument to a function but that variable is considered free. This seems contradictory, is it?

14:08:46mxbHi all. Anyone have experience with binary-types package? I'm struggling to try to define a binary-struct which references an earlier field and I'm not sure if it's possible to do so. (Basically parsing {type,length,data[length]} blobs

14:08:47Josh_2So because the variable n is used in a lambda it is considered free?

14:26:09Josh_2I don't particularly understand lambda calc just like I don't understand normal calculus. However I found this sentence "The abstraction operator, λ, is said to bind its variable wherever it occurs in the body of the abstraction."

14:33:32phoe_I wish I had a #lisp full time job so I could spend all of my time and all of my attention on refining CL documentation and libraries. There's so much to be done in Common Lisp world and I am doing corporate dung instead.