Demosthenex has quit [Read error: Connection reset by peer]
edgar-rft` has quit [Ping timeout: 276 seconds]
Fade has quit [Ping timeout: 276 seconds]
Perflosopher038 has quit [Ping timeout: 276 seconds]
jtbx has quit [Ping timeout: 276 seconds]
artyn has quit [Ping timeout: 276 seconds]
greenfork has quit [Ping timeout: 276 seconds]
jonlevin has quit [Ping timeout: 276 seconds]
khinsen has quit [Ping timeout: 276 seconds]
Eoco has quit [Ping timeout: 276 seconds]
artyn_ is now known as artyn
greenfork_ is now known as greenfork
jtbx_ is now known as jtbx
jonlevin_ is now known as jonlevin
snoreboar has quit [Read error: Connection reset by peer]
snoreboar9 is now known as snoreboar
Perflosopher0387 is now known as Perflosopher038
simendsjo has quit [Read error: Connection reset by peer]
simendsjo_ is now known as simendsjo
Catie has quit [Read error: Connection reset by peer]
skeemer has quit [Ping timeout: 276 seconds]
random-nick has quit [Ping timeout: 276 seconds]
Moon_Rabbit has quit [Ping timeout: 276 seconds]
phantomics_ has quit [Ping timeout: 276 seconds]
beach has quit [Ping timeout: 276 seconds]
random-nick has joined #commonlisp
skeemer has joined #commonlisp
Fade has joined #commonlisp
Eoco has joined #commonlisp
usagi_mimi has quit [Ping timeout: 252 seconds]
waleee has quit [Ping timeout: 244 seconds]
decweb has quit [Quit: Konversation terminated!]
eddof13 has quit [Quit: eddof13]
JuanDaugherty has joined #commonlisp
mgxm has joined #commonlisp
decweb has joined #commonlisp
usagi_mimi has joined #commonlisp
decweb has quit [Quit: Konversation terminated!]
veqq has joined #commonlisp
surabax has quit [Quit: Leaving]
<veqq>
Is it flatout impossible to set up a macro which transforms a symbol into an incomplete s expression so you could e.g. call "cat )"?
random-nick has quit [Ping timeout: 244 seconds]
<bike>
veqq: macros operate after the textual level. so there are no s expressions left, you're just dealing with lisp objects like lists.
<bike>
veqq: maybe someone could suggest a workaround for whatever you want to do in particular, though, if you explain a bit?
<veqq>
No use case, I was just wondering if it was possible, tried some things out with no success and then asked
<veqq>
Ticl lets you do beta reductions like this, iirc
<veqq>
Of course it doesn't have non-space seperators. I was curious if we can break the s-expr that much
<veqq>
Naive, non-working example: (define-symbol-macro cat "(+ 1 2") ; no closing parentheses on the (+ 1 2
decweb has joined #commonlisp
<veqq>
Like, using def-symb-mac, you can avoid needing to wrap the func to call it. But could you wrap only one side?
<aeth>
You can have a macro that works on strings, and you can also have a macro that does things to symbols using SYMBOL-NAME to get the underlying string for the symbol
ixelp has quit [Ping timeout: 252 seconds]
<aeth>
if you have two string fragments that you want to put together, like "(+ 1 2" and ")" you can do that in a macro and then EVAL "(+ 1 2)"
<aeth>
it will, however, not have a local lexical environment available to it, so you wouldn't be able to (let ((x 42) (y 43)) (foo "(+ x y)")) or (let ... (foo "(+ x y" ")")) or whatever.
gorignak has quit [Quit: quit]
ixelp has joined #commonlisp
<aeth>
This is just regular macro stuff, not symbol macro stuff
<aeth>
This is also assuming string literals, not nonconstant variables referring to string values.
<bike>
lisp macros don't work on text. you can replace a symbol with another object (symbol macro) or a list with another object (regular macro) and that's it.
<bike>
of course you could do something like (defmacro cat (&rest whatever) `(+ 1 2 ,@whatever)), and then (cat 7 8) = 18, (cat) = 3. but that's about it
JuanDaugherty has quit [Quit: praxis.meansofproduction.biz (juan@acm.org)]
decweb has quit [Quit: Konversation terminated!]
<aeth>
bike: huh? Lisp macros _can_ work on text as long as it's in a literal string, e.g. FORMAT... This then means the macro is limited by PARSE-INTEGER, READ-FROM-STRING, etc., etc.
<veqq>
Thank you!
<aeth>
Or e.g. (concatenate 'string (symbol-name 'cat) " )")
<aeth>
...for treating symbols as strings... it's just... not fully powerful? Because (let ((x 42)) (eval '(list x))) isn't going to work.
<aeth>
no access to the lexical environment there
<aeth>
To be clear, I mean e.g. ,(defmacro foo (x) (parse-integer x)) ,(foo "42")
<bike>
aeth: they can work with text literals, but not the source code text. you know this already. and you can't do like C macros that operate in terms of tokens so you can have a macro expand to do{ or whatever, which is what veqq was describing.
<veqq>
Solution: have the program read its source code, transforming the token in source (saving it to a new file, then reading that file...) :D but doesn't work in repl/image so meh
rgherdt has joined #commonlisp
gorignak has joined #commonlisp
beach` is now known as beach
<beach>
PuercoPop: I was aware of that. I'll think about possibly changing it. But I can't change the names whenever someone else uses it for something else.
zwr has quit [Ping timeout: 244 seconds]
zwr has joined #commonlisp
skeemer has quit [Ping timeout: 268 seconds]
Pixel_Outlaw has quit [Quit: Leaving]
veqq has quit [Quit: veqq]
erru has joined #commonlisp
istewart has quit [Quit: Konversation terminated!]
pve has joined #commonlisp
tjbw has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<beach>
The list of libraries is still not complete, but if anyone feels like helping out, there is still a lot of work to be done. In that case, talk to use on #sicl.
bpanthi977 has joined #commonlisp
bpanthi977 has quit [Ping timeout: 276 seconds]
Demosthe1ex is now known as Demosthenex
brokkoli_origin has quit [Ping timeout: 260 seconds]
<beach>
s/use/us/
younder has quit [Ping timeout: 260 seconds]
brokkoli_origin has joined #commonlisp
reb has quit [Remote host closed the connection]
surabax has joined #commonlisp
surabax has quit [Changing host]
surabax has joined #commonlisp
jeffrey has joined #commonlisp
varjag has joined #commonlisp
decweb has joined #commonlisp
brokkoli_origin has quit [Ping timeout: 252 seconds]
brokkoli_origin has joined #commonlisp
apac has joined #commonlisp
apac has quit [Ping timeout: 260 seconds]
apac has joined #commonlisp
cage has quit [Remote host closed the connection]
cage has joined #commonlisp
shka has quit [Remote host closed the connection]
cage has quit [Remote host closed the connection]
TMA has joined #commonlisp
shka has joined #commonlisp
jonatack has joined #commonlisp
jon_atack has quit [Ping timeout: 248 seconds]
bpanthi977 has joined #commonlisp
<mishoo>
“<nil> 'values' is probably not hard to add to most Lisps” — blessed be thy words, it only took a few hours :)
<jackdaniel>
try (ed "wecl.lisp") and look for gl tests etc
Guest47 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<jackdaniel>
but performance won't be amazing for functions defined there (yet), because it uses bytecodes compiler. precompiled stuff is much faster (and optimized)
* jackdaniel
is afk
TactfulCitrus has quit [Ping timeout: 244 seconds]
Guest47 has joined #commonlisp
mwnaylor has quit [Ping timeout: 248 seconds]
<mishoo>
thanks
JuanDaugherty has joined #commonlisp
dlowe has joined #commonlisp
NotThatRPG has joined #commonlisp
dlowe has quit [Remote host closed the connection]