<div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">I am interested in contributing to a Haskell web framework.&nbsp; :)<br><br>
I have started an attempt to create my own Haskell web framework, but I got busy working on my Master&#39;s thesis research, so I had to stop working on it...&nbsp; I was a web developer at a start-up company for 1.5yrs with Ruby on Rails, and I really really like the MVC design; however, I prefer a stricter MVC implementation than Rails provides.&nbsp; More specifically, I don&#39;t think code should appear in the view at all.&nbsp; I believe that using html tags, the web framework can provide a function to &quot;render&quot; the view which would parse the html tags and insert the content (whatever it may be).&nbsp; Functions can be easily composed together to build more complex content in the views.&nbsp; For example,<br>

<br>&lt;person id=&quot;name&quot;&gt;&lt;/person&gt;<br>&lt;person id=&quot;age&quot;&gt;&lt;/person&gt;<br><br>person_name = <br>&nbsp; renderView &quot;person&quot; &quot;name&quot; &quot;John Doe&quot;<br>
<br>person_age =<br>&nbsp; renderView &quot;person&quot; &quot;age&quot; &quot;40&quot;<br><br>I can show you my code which implements this parsing in a more structured manner, but I think this stricter MVC implementation leads to more maintenable projects and especially facilitates a graphic designer to work independent of the web developer since the graphic designer won&#39;t be confused by the code in the views.<br>

<br>What do you think?</blockquote><div><br>Are you saying that you specify the view in an XML file and then render it using Haskell code? If that&#39;s what you mean, one question: why bother with the XML at all? I&#39;ve experimented both with writing HTML which gets rendered by code, or writing code that creates the HTML, and I think the latter is more flexible (think of the Text.XHtml hierarchy here). I would like to differ from Text.XHtml in two significant ways:<br>
<br>1. It would be nice if we set it up to only allow valid attributes. For example, a div tag should not have a src attribute.<br>2. We should intend from the beginning to have more high-level widgets. For example, I have in my codebase a navbar widget, which takes a list of links (both ILink and ELink, if you read my blog post) and produces the HTML, setting a class &quot;current&quot; on the link to the current page. That last part is often times a burden to program but provides a very nice user interface.<br>
<br>I hope that last example gives more insight into what I&#39;m looking for with these higher-level views. I have more examples if people are interested, I just didn&#39;t want to cause an information overload right away... well, at least nor more of an information overload than a 14-points blog post will in general cause.<br>
<br>Michael<br></div></div>