freenode/#sbcl - IRC Chatlog
Search
19:20:23
makomo
yeah, but that's where i rely on macroexpand-all to take care of that. my inner macros will leave bits of code with special markers in them in places that were supposed to be evaluated
19:20:53
makomo
only quasiquote "hides" the subforms within a structure which i would have to specially handle
19:24:51
makomo
yeah, i did get sb-walker working, but it's implementation-specific so i wanted something more general
19:29:26
makomo
Bike: hm, but even if my macros did find their way into a non-standard special operator, wouldn't they have to be expanded fully as part of compilation?
19:30:06
Bike
for example, if you had a defun in there, it would get expanded into something involving (function (sb-int:named-lambda ...)), last i checked
19:31:02
makomo
"walking" is really "traversing" here, because after macroexpand-all-ing, all i do is treat the code as a simple tree
19:34:03
makomo
are you saying that non-standard special operators could, just as quasiquote, use weird syntax?
19:36:35
Bike
or your macros or markers or whatever could be in an inappropriate context. like if they're part of a quotation, or the name of a variable
19:37:28
makomo
Bike: if would be the same problem as in fare's quasiquote then. if the user really wants to screw with the "parser", he could insert and use these internal markers, but that's insane
19:40:54
makomo
Bike: i don't think it would matter if it was behind a quotation or not -- if the macro was expanded in the first place (and then the expansion ended up quoted within a non-standard special operator), then it was in a context where it was supposed to be evaluated, no?
4:13:54
johnnymacs
though I imagine some of the pieces of sbcl are optimized directly into various assembleys
4:14:25
aeth
You could make a Lisp program into its own high-level description through clever use of macros, but I don't think SBCL does that.
4:28:36
Xach
johnnymacs: http://library.isr.ist.utl.pt/docs/encycmuclopedia/doc/impl/design.ps describes it in some detail
4:30:13
johnnymacs
Could you please shorten the url if you wouldn't mind I am on a poor unix machine with no copy paste
5:11:10
johnnymacs
Well afaik the redirection of input and output must be done using either registers of stacks