Saturday, November 10, 2018, 3:08:14 PM, Denis Bredelet wrote:

> Hi,
>
> Le 9 novembre 2018 à 22:36, Christoph Rüger <[email protected]> a écrit :
>
> Am Fr., 9. Nov. 2018 um 22:55 Uhr schrieb Daniel Dekany <[email protected]
> :
>
> It's certainly tricky, but as far as I see possible (but then, who
>
> knows what will one find when actually working on it). It's also a
> feature missing a lot. It's especially missing for #list (I know that
> you need it for something else), because if you filter the items
> inside #list with #if-s, then #sep, ?hasNext, etc. will not be usable.
>
> Let me say that I disagree here.
>
> I do not think that closures are required for FreeMarker, nor that they are a 
> good idea.
>
> If we add new features to the FreeMarker *tempate engine* I would
> rather we focus on multi-part macro body rather than an advanced language 
> feature like closures.
>
> You can add ?filter and ?map if you want, a simple expression as parameter 
> should be enough.

Yes, as I said, we certainly start with only allowing lambdas in
?filter/?map, also certainly in ?contains.

Multi-part macro body is also planned. Means, I know it definitely
should be added, but who knows when that's done... I mean, it's like
that for what, a decade? (: It's not even decided what it exactly
does, as there are many ways of approaching this. (I have my own idea
about what the right compromise would be, but others has other
ideas...)

Filtering lists bothers me because the template language should be
(and somewhat indeed is) specialized on listing things on fancy ways
that used to come up when generating document-like output. (If it
doesn't do things like that, you might as well use a general purpose
language.) Thus, that filter is unsolved (filtering with #if is
verbose and spoils #sep etc.) bothers me a lot.

BTW, ?filter and ?map is also especially handy in our case as
FreeMarker doesn't support building new sequences (sequences are
immutable). Although it has sequence concatenation with `+`, it's not
good for building a sequence one by one, unless the sequence will be
quite short.

> Cheers,
> -- Denis.

-- 
Thanks,
 Daniel Dekany

Reply via email to