7:47:11earl-ducaineI'm revisiting my knowlege of eval-when. My rule-of-thumb is: use it when you have a macro that's dependant on a function that's defined in the same file. Is that a reasonable summary? Any other considerations that should be raised to the level of rule-of-thumb?
7:48:04beachIf you have an initial value of a variable that is required at compilation time later in the same file.
7:49:22beach... basically for the same reason as for the function definition.
7:52:37phoe(just to make sure that *my* knowledge of EVAL-WHEN is correct ;)
7:53:14earl-ducaineOh, and a style question. How bad of form is to always use the full set of situations (:load-toplevel :compile-toplevel :execute) even one one's not needed...
7:53:27earl-ducaine(because you're too dim to be 100% sure)
7:53:35p_lI have yet to see one without all of them, tbh
7:55:56phoeyou should not need to use other combinations unless you're meddling with the Lisp compiler or seriously play with how Lisp compiles files in general.
8:17:51earl-ducaineNo meddling in the dark arts tonight. Learned my lesson with the pail and broom. Thanks for the help!
12:31:36Thetabit_I'm having some trouble with Emacs + Slime + SBCL. I have a fairly bare bones setup because I have to do my development on a windows box. But SBCL keeps crashing and locking Emacs up. I don't experience the crashing in a linux environment so I am wondering if Emacs + SBCL + Slime are the best when working in Windows. What do you guys think?
13:29:32thetabitI'm reading PCL and going thru the function section. I am trying to 'call' each function in a list which using a loop, instead I am looking to (apply #'funcall (list fn1 fn2 fn3)) but this does not seem to work. What am I missing
17:19:01knusbaumslark: Sure you can use dynamic bindings.
17:20:31slarkknusbaum: so i will not have to mess up with "lock" and kind of stuff if my threads have access to this *stream-output* if i use dynamic bindings ?
17:48:27beachslark: Dinner, not lunch. But, what Bike said. Closures don't play a great strategic role in Common Lisp. They are used for tactical reasons in situations like I showed.
17:48:58slarkbeach: ok, was just asking cause in javascript closures is kind of BIG THING
17:53:20beachslark: The book SICP (based on Scheme) uses closures strategically, because they allow encapsulation of state. But Common Lisp has CLOS, with its classes and generic functions (which is more flexible and more powerful), so we don't use closures that way.
17:54:58beachAnyway, time to go hang out with my (admittedly small) family.
17:58:09kang0Which programs or softwares needs to be installed in computer while reading or trying book sicp
18:03:37slarkkang0: i use emacs + slime and my lisp is common lisp
18:04:26slarkkang0: but in scip they use scheme, so if you are a bit familliar with lisp in general it should be OK to work with common lisp while reading scip
18:04:46slarkkang0: else it is probably better to install scheme
18:12:07slarkkang0: all linux distro use great official reposority where you can download everything you want in 1 command line check your distro package documentation
18:12:45slarkkang0: if for some reason your linux distro doesnt provide racket follow knusbaum link