Sgeo has quit [Read error: Connection reset by peer]
Diagon has joined #racket
orivej has joined #racket
orivej has quit [Ping timeout: 240 seconds]
joshcom has joined #racket
joshcom has left #racket [#racket]
orivej has joined #racket
caente has joined #racket
Vaelatern has quit [Ping timeout: 246 seconds]
Diagon has quit [Quit: Leaving]
badkins has joined #racket
rgherdt_ has joined #racket
hexagoxel has quit [Ping timeout: 256 seconds]
acarrico has quit [Ping timeout: 256 seconds]
hexagoxel has joined #racket
rgherdt has quit [Ping timeout: 256 seconds]
acarrico has joined #racket
Vaelatern has joined #racket
badkins has quit [Remote host closed the connection]
badkins has joined #racket
davidl has joined #racket
badkins has quit [Remote host closed the connection]
badkins has joined #racket
badkins has quit [Ping timeout: 264 seconds]
badkins has joined #racket
badkins has quit [Ping timeout: 246 seconds]
badkins has joined #racket
aeth has quit [Ping timeout: 246 seconds]
aeth has joined #racket
Sgeo has joined #racket
srcreigh has joined #racket
<sm2n>
Hello, I'm wondering if there is a way to use the macro system to do compile time computation in an ad hoc manner?
<sm2n>
In particular, I'm coming from common lisp, and I'm looking for something like #. which tells the reader to evaluate whatever form you feed it
<sm2n>
use case is for building list constants and such programmatically
<sm2n>
just building a syntax object doesn't work, as expected, as it's treated as an object and not evaluated further
acarrico has quit [Ping timeout: 256 seconds]
mirrorbird has joined #racket
jmiven has quit [Quit: reboot]
srcreigh has quit [Quit: Ping timeout (120 seconds)]
<dzoe>
sm2n: you have to do that during syntax-stage
<dzoe>
I am not sure if there isn't some standard form for that, but you can easily implement yours: (define-syntax (syntax-eval stx) (syntax-case stx () ((_ expr) (datum->syntax stx (eval-syntax #'expr)))))
<dzoe>
Trouble is, that you need to also move all your definitions to the syntax stage then (see define-for-syntax).
<dzoe>
It is a bit complicated at first glance - but very powerful indeed.
badkins has quit [Remote host closed the connection]
badkins has joined #racket
badkins has quit [Remote host closed the connection]
badkins has joined #racket
cantstanya has quit [*.net *.split]
cantstanya has joined #racket
badkins has quit [Remote host closed the connection]
badkins has joined #racket
Sgeo has quit [Read error: Connection reset by peer]
badkins has quit [Ping timeout: 256 seconds]
badkins has joined #racket
Sgeo has joined #racket
orivej has quit [Ping timeout: 246 seconds]
srcreigh has joined #racket
badkins has quit [Ping timeout: 264 seconds]
rgherdt_ has quit [Ping timeout: 264 seconds]
tomaw_ has joined #racket
tomaw has quit [Read error: Connection reset by peer]
Sgeo has quit [Read error: Connection reset by peer]