Okay, I dug a little bit into Neil's library. From what I can tell, these words 
don't refer to functions at all. In Neil's library, they are used within the 
context of a form that 'quotes' these things. Then they are processed in a 
context where title denotes HTML's title element. So your problem is not macros 
or eval but a misunderstanding of your library. -- Matthias



On Jan 8, 2013, at 10:02 AM, Philipp Dikmann wrote:

> My function would always get hung up on the unknown identifiers like 'title' 
> or 'math' when it tried to evaluate the expressions passed as arguments -
> but you are right, the macro is not really necessary. I can quote the 
> expressions and use the html-writing module instead, which handles quoted 
> lists.
> I was just looking for ways to achieve a cleaner syntax.
> 
> 
> 
> On 07.01.13 23:20, Matthias Felleisen wrote:
>> I don't see any need for a macro here. Why not use a function that iterates 
>> over these 'forms':
>> 
>> (define (expr-iter . form)
>>   (for ((f form))
>>     (case (first f)
>>       ...
>>       [(math) (eval (second f) some-useful-namespace)]
>>       ...)))
>> 
>> 
>> 
>> 
>> 
>> On Jan 7, 2013, at 3:57 PM, Philipp Dikmann wrote:
>> 
>>> Hello Racket-Users,
>>> 
>>> in trying to iterate a series of expressions and evaluating them 
>>> differently on a case-by-case basis - specifically in the body of a 
>>> (html-template) - Racket is throwing errors indicating that my expressions 
>>> end up in the wrong places. In the code below, it appears that + is being 
>>> interpreted as an HTML element name; am I messing up expansion time and run 
>>> time?
>>> 
>>> 
>>> #lang racket
>>> 
>>> (require (planet neil/html-template:2:2))
>>> 
>>> (define-syntax-rule (expr-iter form ...)
>>>  (begin
>>>    (case (car 'form)
>>>      [(title) (display (cadr 'form))]
>>>      [(math) (eval (cadr 'form))]
>>>      [(html) (html-template
>>>               (eval (cadr 'form)))]) ...))
>>> 
>>> (expr-iter (title "sometitle")
>>>           (math (+ 1 2))
>>>           (html (p "hello")))
>>> 
>>> 
>>> Best regards,
>>> Philipp
>>> 
>>> ____________________
>>> Racket Users list:
>>> http://lists.racket-lang.org/users
> 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

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

Reply via email to