> It depends very much on what your goals are.  Yes, there is a need for
> general templating solutions that can deal with any kind of text.  There
> is also a need for general XLib calls that can deal with any kind of
> graphics.  But if you are building a particular kind of desktop app, it
> is much nicer to write to a widget toolkit, or better yet, an

The widget toolkit is there, it's called "HTML". And it has lot's of
drawbacks. That's why i want to be independent from it.

> application framework.  The direction I was trying to move with IOWA was
> a system for HTML - not XML, not WML, at least not yet - that allowed
> the same high level of abstraction (or higher) that you get when working
> with a good desktop framework. I'm not sure how you could provide that
> with a more general templating system.

HTML is crap. it's awful.
If you want a "decent" look for your site (i.e. the look your customers
want) you have to play tricks with html, use invisible tables, spacers
and all this stuff.
This is not HTML as it was designed, so i believe that a library doing
abstraction for HTML is something your client's don't want.

all templating systems i've tried were very limited...
eperl was nice for this and HTML::Mason has some ePerl-Like things, and
with it's caching and component architecture it's quite neat.

Sure there will be people who are looking for things like IOWA; but in my
concept iowa might just be an alternative to eperl.
I do not yet understand why somebody might want to do it this way.

------
<?
        logList {
                list = loggedTimes
                item = logItem
        }
?>
<ul oid="logList">
<li>@logItem.time: @logItem.comment</li>
</ul>
------

of course this is a way to list the array loggedTimes.

But I prefer
----
<ul>
<% loggedTimes.each { |item| %>
<li><%= item.time %>: <%= item.comment %>
<% } %>
</ul>
----

You might argue that this is mixing program and html code (which i
consider a bad thing), but this is display specific code

in the next layout version, my designer might decide that he does not
like <ul> lists. And he does not want to have the data displayed in two
columns, but in two rows.

----
<table>
<tr>
<% loggedTimes.each { |item| %> <td><%= item.time %></td> <% } %>
</tr><tr>
<% loggedTimes.each { |item| %> <td><%= item.comment %></td> <% } %>
</tr>
</table>
----

I think eRuby is nicer here.

Greetings,
Erich