Yaws API discussion

Chris Pressey <>
Tue Jul 16 18:40:33 CEST 2002


On Mon, 15 Jul 2002 10:14:23 -0700 (PDT)
Eric Merritt <> wrote:

> Mickael,
> 
>  Per your request I am going to make a few
> suggestions. I would, however, warn readers that I
> will be swimming in what some consider a holy war
> area. I do not intend any kind of little war here, I
> am just providing suggestions based on my experience
> and knowlege.
> 
> I believe that the problem you are having stems from a
> core problem with the paradigm yaws has adopted. Yaws,
> like PHP and JSP Scriptlets, is founded upon the idea
> that actual logic should be embedded in the html page.
> This is a bad thing(TM). It limits scalability of the
> application by quite a bit. I am not refering to
> scalability in terms of speed or performance, but to
> scalablity in terms of application size,
> reliablity/maintenance, and extensablility. 

My two cents:

I agree that it is a Bad Thing<tm>, for the reason that interleaving
different languages in the same source code file results a polyglot that
is harder to understand and consequently harder to maintain.  In order to
write a good 'active page' you need to write good HTML and good code, and
few people specialize in both.

Even more unpopular opinion follows:

I don't see the big deal with yaws besides performance (which, as has been
mentioned, it gets by "cheating" like mad.)  On sourceforge it is
described as "small and beautiful" but I find it to be neither, at least
in comparison to pico.  No offense meant to Klacke, but it's only as well
designed as any project called "yet another foo" would be expected to be. 
I feel it is trying to do too much.

So, I'm writing my own web server.  Mainly I'm doing so because of the
usual Erlang-hacker excuse, that nothing available out there provides
quite the right balance of features that I'm looking for (of course this
is just to hide the fact that it's more fun to roll your own :)

For the sake of elegant design I have consciously decided not to support
documents consisting of interleaved Erlang and HTML in my project. 
Instead, templates have fields which are filled out from values in a
dictionary.

While I do not suppose it will be able to compete with yaws in terms of
sheer performance, that can always be added later, once driver-side
http-header parsing is a documented feature...

-Chris



More information about the erlang-questions mailing list