On Mon, Sep 14, 2009 at 11:26 PM, Adam Chlipala <span dir="ltr">&lt;<a href="mailto:adamc@impredicative.com">adamc@impredicative.com</a>&gt;</span> wrote:<br><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;">
nitralime wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
**Where can I find more details about the architecture of Ur/Web &quot;framework&quot;?<br>
</blockquote>
<br>
I&#39;m not sure if I should interpret your message following this one as revealing that you hadn&#39;t gone through the demos before asking this question.  For now, I will assume that is the case and will give abbreviated answers, assuming that you&#39;ve since learned what&#39;s basically going on with Ur/Web.<div class="im">
<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Almost every web framework on the market enthuses about  the &quot;MVC&quot; pattern.<br>
Each of them forces in someway a separation of content, logic and view.<br>
For a traditional data centric web applications such a separation of concerns<br>
could be a huge advantage during development process.<br>
What is the ansatz of Ur/Web?<br>
</blockquote>
<br></div>
I&#39;m strongly against MVC.  I want to design components that encapsulate entire pieces of web applications, without requiring you to go off and put &quot;a template&quot; in some filesystem path that you need to discover in an ad-hoc way.<br>

<br>
That being said, the standard FP abstractions make it easy to implement MVC systems inside Ur/Web as libraries, retaining all of the static guarantees.<div class="im"><br></div></blockquote><div>I personally don&#39;t like the &quot;hype&quot; around the so called &quot;design patterns&quot; <br>

which are sold as a greate achievement!! It is by and large &quot;common sense&quot;! <br>
Forcing a certain organizational discipline could be however useful sometimes. <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="im">

<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
As you surely know, there are also some growing tendencies<br>
towards SPI (Single Page Interface) and RIA (Rich Internet Application).<br>
For this sort of applications one needs a solid GUI toolkit.<br>
As far as I know there are two different approches for providing GUI:<br>
    1) using a prebuilt JavaScript GUI toolkit wrapped in some APIs<br>
        which in ideal case integrate seamlessly into the core framework<br>
    2) [[a subset of the framework&#39;s core language) --&gt; JavaScript]] compiler<br>
        which provides the GUI toolkit<br>
<br>
The first alternative can be &quot;easily&quot; realized by taking some web framework and<br>
a decent JavaScript GUI toolkit like TIBCO General Interface, Javeline, dhtmlx,<br>
Qooxdoo, (to some extent flapjax) etc. and writing some glue codes!<br>
<br>
The second approach is more fundamental. To the best of my knowledge<br>
HOP and Links are the only frameworks that implement it properly.<br>
</blockquote>
<br></div>
I&#39;ve tried to design the demos and manual to make it clear that both options are possible in Ur/Web.  The compiler generates JavaScript for client-side code, and the FFI makes it possible to wrap JavaScript libraries.<div>
<div></div><div class="h5"><br></div></div></blockquote><div>Can you please give me a short example (but not a trivial one a la &#39;alert(&quot;Hello World!&quot;)&#39;) <br>for each of these two alternatives? <br></div>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div class="h5">
<br>
_______________________________________________<br>
Ur mailing list<br>
<a href="mailto:Ur@impredicative.com" target="_blank">Ur@impredicative.com</a><br>
<a href="http://www.impredicative.com/cgi-bin/mailman/listinfo/ur" target="_blank">http://www.impredicative.com/cgi-bin/mailman/listinfo/ur</a><br>
</div></div></blockquote></div><br>