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
20:12:33knoboSo should I bug-report projects that use vector-push-extend on the result of delete?
20:13:57knoboBecause I did. Because I thought it was creating problems for me, but it turns out it does not after all.
20:14:00aethIf it relies on non-standard behavior in SBCL that could break on other CLs that that project supports, it is a bug.
20:14:09Bikei think it's a bad idea to rely on the return value being adjustable, but if implementations do actually return an adjustable array then it's kind of low priority.
20:14:29aethI limit the amount of CLs that I officially support in my documentation, to limit the amount of bugs that way.
20:14:35knoboSo maybe I should just close the bug report.
20:15:14aethIf all supported CLs behave like SBCL, there is no bug in my projects. But if projects implicitly spport all CLs and don't, then perhaps the bug is their lack of documentation.
20:16:18aethIn practice, most large projects don't actually support all CLs already. e.g. if they rely on a library that relies on CFFI
20:16:45aethIt's just undocumented which ones they don't support.
20:20:36knoboAnyway, I think that if there is a lot of delete/vector-push-extend maybe a list is more appropriate.