freenode/#lisp - IRC Chatlog
Search
8:45:19
jdz
xificurC: I could recommend reading http://christophe.rhodes.io/notes/blog/posts/2014/naive_vs_proper_code-walking/
9:03:55
jackdaniel
with code-walking you need a full knowledge about special operators used in the source code
9:04:09
jackdaniel
CL defines twenty-something special operators and implementations add some on top of that
9:05:21
jackdaniel
so it is not trivial in a sense, that you need to handle around 30 special cases and you are never sure, if there isn't some operator you are not aware of
9:05:46
jackdaniel
Michael Raskin had a lightning talk about portable code walking during ELS two years ago
9:07:08
xificurC
it's just that the readme didn't explain or link to the issue it is solving. And the alternatives are saying "removes macrolet" which I don't know how to explain
9:20:05
xificurC
shka: I'm never sure if I can trust that book. Just last time I asked on it and was told it defined macros that have issues with code-walking
9:22:05
xificurC
the part about why it is difficult to codewalk I understood, however I don't understand what does "macroexpand-dammit (only macroexpansion, removes macrolet)" mean in agnostic-lizard's README
9:44:44
xificurC
but to summarize what I hope to have learned from this - macrolet is fine when wanting to expand something in the function-call position (sorry for the improper term, not sure what the correct term is). If one wants to do transformations that require searching for anything else naive code walking techniques will fail in bizarre ways
9:45:40
shka
then you surely noticed how it explicitly states that writing code walkers is challenging
9:48:49
xificurC
shka: yes I noticed. What I might have not explained explicitly is that I don't know how much can I trust a person that says to understand the complexity of the issue and then goes on creating macros that by one's own definition will fail to take that complexity in mind
9:50:51
xificurC
e.g. while I like defmacro!'s g! and o! symbols I don't want to take that shortcut if I'll end up debugging some broken expansion for hours before understanding it's not my bug but the macro's
13:51:30
xificurC
beach: are you an author/maintainer of some CLs? I saw you mention sicl and cleavir?
13:52:12
minion
xificurC: SICL: SICL is a (perhaps futile) attempt to re-implement Common Lisp from scratch, hopefully using improved programming and bootstrapping techniques. See https://github.com/robert-strandh/SICL
13:52:17
minion
xificurC: Cleavir: A project to create an implementation-independent compilation framework for Common Lisp. Currently Cleavir is part of SICL, but that might change in the future
13:54:17
beach
No, no other Common Lisp implementation. However, I was one of the creators of McCLIM, now maintained by jackdaniel.
19:34:02
makomo
xificurC: i just saw the discussion regarding code-walking, it was me who linked the stuff :-)
19:34:30
makomo
xificurC: FWIW, while i think LoL is a great book, i also don't like how he just skips over the code-walking issue in his defmacro/g! and defmacro! macros
19:35:52
makomo
the first time i was reading LoL and came here for help regarding the "brokenness" of those exact macros, i was told there were many before me as well
19:41:33
makomo
"When browsing the text online, you will see the original content, exactly as printed."
20:06:22
makomo
pjb: i think you linked it a few days ago. i took a quick look but can't remember much. i'll check it out :-)