>
> On Thu, Jul 22, 2010 at 1:49 PM, Mark Bradley <
barkmadley@gmail.com> wrote:
>>
>> looking at the code it does appear that your grammar for ContentEmbed
>> objects could be extended to include lparen and rparen's. I'm not
>> sure exactly how this would translate with the deref function in
>> Text.Hamlet.Quasi (i havent used template haskell before) but it looks
>> like it is entirely possible, meaning my example would become:
>>
>> fun f x = [$hamlet| ^(template.f).x^ |]
>>
>> and all is well. you could add an encoding for this such as:
>>
>> template.f,x
>>
>> this would have the same effect as the $ function from regular haskell.
>>
>> the problem with that encoding is that is it less general than just
>> allowing parens and probably more error prone.
>>
>> the good thing about this is that it doesn't really matter how
>> complicated you make the encoding and parsing and haskell code
>> generation because it happens once at compile time.
>>
>> On Wed, Jul 21, 2010 at 2:41 PM, Michael Snoyman <
michael@snoyman.com>
>> wrote:
>> >
>> >
>> > On Wed, Jul 21, 2010 at 4:17 AM, Mark Bradley <
barkmadley@gmail.com>
>> > wrote:
>> >>
>> >> hamlet doesn't appear to support functions that take more than one
>> >> argument.
>> >>
>> >> i.e.
>> >>
>> >> fun f x = [$hamlet| ^template.f.x^ |]
>> >>
>> >> produces the call template (f x)
>> >>
>> >> is there some way to make hamlet produce (template f) x?
>> >
>> > Unfortunately not. It's not any *technical* limitation in Hamlet, just
>> > that
>> > I can't think of a good, intuitive syntax for it. The way that I work
>> > around
>> > this is by defining variables in a where clause, eg
>> > fun f x = [$hamlet|^templateTmp^|] where templateTmp = template f x
>> > If you have better ideas, I'm open to hearing them ;).
>> > Michael
>
>