Being able to plug in tags will be very useful for some applications,
e.g. if you want to create an FBML clone in Erlang :)

On Jan 11, 2008 7:23 AM, macrocreation <[EMAIL PROTECTED]> wrote:
>
> Hi Yariv,
>
> I see the et:if tag as a starting point - all templating systems end
> up like the others. Check the tags that openacs ended up with.
>
> http://openacs.org/doc/acs-templating/tagref/
>
> What I really liked though was the way the openacs tag system was
> implemented - you could plug in arbitrary tags. Essentially you
> implemented a function in tcl
>
> proc process_tag {tag name attribs txt} {
>
> }
> register tag "<sometag>"
>
> this allows some very clever extensions rather then creating some
> hardcoded syntax. I am sure with smerl you appreciate the meta
> trickery stuff and how wickedly cool it is.
>
> Hafeez
>
> On Jan 11, 7:11pm, "Dmitrii 'Mamut' Dimandt" <[EMAIL PROTECTED]>
> wrote:
>
> > Yariv Sadan wrote:
> > > Hi,
> >
> > > I've seen a few ErlTL enhancement proposals and I'd like to bring them
> > > all together and add some of my ideas to the mix so hopefully we can
> > > end up with an improved ErlTL. I think the current ErlTL is a good
> > > start but after using it for a while I saw some areas where it can use
> > > some refinement. Specifically, I think ErlTL could use new syntax for
> > > the following expressions: if, case, and map. Below is an example
> > > showing the use of the current and proposed syntax (for 'if' and
> > > 'map'):
> >
> > > current:
> >
> > > <%@ index(Album, Songs, ShowSongs) %>
> > > album: <% Album %><br/>
> > > <% if ShowSongs ->
> > > songs(S);
> > > true ->
> > > []
> > > end %>
> >
> > > <%@ songs(Songs) %>
> > > songs: <br/>
> > > <% [song(S) || S <- Songs] %>
> >
> > > <%@ song(Song) %>
> > > song: <% Song %><br/>
> >
> > > Improved:
> >
> > > <%@ index(Album, Songs, ShowSongs) %>
> > > album: <% Album %><br/>
> > > <et:if expr="ShowSongs">
> > > songs:<br/>
> > > <et:map expr="S <- Songs">
> > > song: <% S %><br/>
> > > </et:map>
> > > </et:if>
> >
> > > In more detaul, the new syntax would be:
> >
> > > if:
> >
> > > <et:if expr="Expr">
> > > <et:elseif expr="Expr"> (optional)
> > > <et:else> (optional)
> > > </et:if>
> >
> > > case:
> >
> > > <et:switch expr="Expr">
> > > <et:case expr="Expr">
> > > stuff...
> > > </et:case>
> > > <et:case expr="Expr">
> > > stuf..
> > > </et:case>
> > > <et:default> (optional)
> > > stuff...
> > > </et:default>
> > > </et:switch>
> >
> > > map:
> >
> > > <et:map expr="Elem <- List, Elem =/= foo">stuff <% Elem %></et:map>
> >
> > > This syntax is pretty self explanatory. All three constructs would be
> > > translated to their Erlang equivalents by the ErlTL parser.
> >
> > > I think this is a step in the right direction, but I'm not sure that
> > > this is the ideal syntax so I'll be happy to hear some other
> > > suggestions.
> >
> > I like it :)
> >
> > I presume that the old way of doing things will still be available?
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"erlyweb" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/erlyweb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to