libera/#commonlisp - IRC Chatlog
Search
23:46:39
etimmons
yottabyte: there are several versions of arrows out there. I think that one you linked might be the one with licensing issues
2:01:33
yottabyte
In slime, the current directory is set to whatever buffer I started slime in. As I open new files in different directories, slime remains open and still pointed to that other directory, even if I close the original file. How do I change it to the current file's directory? Close and restart slime?
2:06:29
sveit_
in SBCL, would (labels ((f (x) (+ x 1)) (g (x) (+ (f x) 1))) (declare (inline f g)) (g x)) inline the definitions of /both/ g and f into the call?
2:06:49
sveit_
and if i instead put (declare (inline f)) (without g) would f be inlined into the definition of g?
2:33:11
sveit_
thanks! another question: is there a simple way to make macros "fall back", in the sense that (macrolet ((a (b) (if (eq b 'b) ''nice ''not-nice))) (macrolet ((a (b) (if (eq b 'a) 'nicest (SOMEHOW EXPAND A)))) (a 'b))) macroexpands to 'nice?
2:34:56
sveit_
well actually (a b) would work, but by accident. had i called the argument to a, c, it would not work
2:51:20
_death
not sure if there's a standard way.. a non-portable one is (macrolet ((a (b) (if (eq b 'b) ''nice ''not-nice))) (macrolet ((a (c &environment env) (if (eq c 'a) ''nicest (macroexpand `(a ,c) (sb-c::lexenv-parent env))))) (a b)))