Yes. Really it is read-time.

In CL every top level expression read-compile-load or simply load if it is 
compiled. 

So in Racket would be natural to have (for-syntax ...) environment in #. I 
hope, that Racket also read toplevel form, loads it, then reads next (not reads 
all at once, then load first form , second form and so on).

Can you invent such read-macro?


Понедельник, 29 июля 2013, 21:44 -04:00 от Sam Tobin-Hochstadt 
<[email protected]>:
>On Mon, Jul 29, 2013 at 1:53 PM, Vincent St-Amour < [email protected] > 
>wrote:
>> Here's a quick solution:
>>
>> #lang racket
>>
>> (define-syntax-rule (hash-dot e)
>> (let-syntax ([computed-e (lambda (stx) (datum->syntax #'e e))])
>> (computed-e)))
>>
>> (hash-dot (+ 2 3))
>>
>
>In CL, #. is read-time, not compile-time, evaluation, so this isn't
>quite the same. It would be easy to create a read-table that enabled
>this, though. You'd have to make some decision about what environment
>the read-time expression sees -- I don't know what CL does here.
>
>Sam


-- 
Roman Klochkov

____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to