<br><br><div class="gmail_quote">On Mon, Mar 15, 2010 at 2:38 PM, Gregory Collins <span dir="ltr">&lt;<a href="mailto:greg@gregorycollins.net">greg@gregorycollins.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hi all,<br>
<br>
Just subscribed, and after reading through the recent traffic on this<br>
list in the archives I have a couple of quick comments.<br>
<br>
First, and I&#39;ve discussed this with Michael Snoyman at length in<br>
private, I agree 100% with Chris Eidhof when he writes &quot;I don&#39;t believe<br>
that there could be one big framework for everybody.&quot; Even getting<br>
consensus on what the prerequisites would be is basically impossible. To<br>
quote Gour:<br>
<br>
&gt; Although it might be great framework, I&#39;ll be frank to say that<br>
&gt; Happstack with all technology that goes along is something which is<br>
&gt; either too complicated for me, not practical to be run on shared<br>
&gt; hosting (e.g. Webfaction), not documented properly and it belongs to<br>
&gt; &#39;noSQL&#39; which is not for me at the moment.<br>
&gt;<br>
&gt; That&#39;s why I&#39;m interested to discuss possibility to somehow<br>
&gt; consolidate Haskell&#39;s web frameworks nad provide something which is<br>
&gt; good for practical development, does not require VPS to be used, nice<br>
&gt; documentation etc.<br>
<br>
A priori we&#39;ve reached a fundamental disagreement about first principles<br>
-- personally I couldn&#39;t give a rat&#39;s ass whether the framework I&#39;m<br>
using runs well on shared hosting, my focus is on being able to<br>
efficiently service heavy loads in a production context. Obviously, on<br>
the other side of the coin, being able to run in a CGI process hooked up<br>
to Apache is really important to many people.<br>
<br>
Michael wants to use YAML to define data models: more power to him, but<br>
personally the idea of doing that makes me want to vomit. I&#39;m not saying<br>
that to disparage him at all, the idea isn&#39;t necessarily bad on its own<br>
merits: it just isn&#39;t for me. Everyone has their own pet preferences.<br>
<br>
I&#39;m seeing a lot of energy being dedicated to standardizing interfaces,<br>
which I suppose is an admirable goal, but to me it&#39;s putting the cart<br>
before the horse: what&#39;s the point of having a standardized adapter when<br>
there&#39;s nothing worth plugging into it, besides some middleware that<br>
your framework should be providing for you anyways? Concentrating too<br>
much on interop right now is a waste of time IMO - besides, on the level<br>
that it&#39;s currently being discussed, that stuff is *easy*: making an<br>
adapter between any two of the myriad different web stack<br>
implementations (WAI, Happstack, Hyena, CGI, Hack, FastCGI, etc etc etc)<br>
is trivial. I doubt there&#39;s anyone on this list who couldn&#39;t cook up a<br>
WAI/CGI gateway in an afternoon.<br>
<br>
We need pluggable *applications* (blog, CMS, RSS feed generation,<br>
administrative panels, forum, wiki, caching, user management, etc) that<br>
understand how to talk to each other --- expecting &quot;plug and play&quot;<br>
compatibility between frameworks on this level, when there&#39;s no<br>
consensus on the *primitives*, is a pipe dream. The first framework that<br>
cracks this particular nut, in a way that makes it easy and pleasurable<br>
for people to build web apps that perform, is going to gain a lot of<br>
traction. Code talks.<br><br></blockquote><div>Maybe I&#39;m misunderstanding you, but your whole e-mail seems like a large contradiction. But firstly, I believe your premise is mistaken: we&#39;re not trying to &quot;<span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">standardize interfaces&quot; for the most part; it&#39;s true that WAI was such an approach, but that&#39;s not the focus of this thread. You claim that anyone could write an adapter between two interfaces; look at the code for hack-handler-hyena and you&#39;ll understand the folly of that sentiment. But more to the point: because of WAI, we don&#39;t *have* to write the adapter, and I don&#39;t see any substantive critiques of the WAI approach. (If there are, we can address them by fixing the WAI.)</span></div>
<div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; "><br></span></div><div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">Now, let me try to understand your point here: we need standardized interfaces for applications to communicate with each other, but we can&#39;t do that until we have the low level interfaces hammered out. On the other hand, you say that it&#39;s premature to try to standardize interfaces. And then you make it clear that the use case of many people (shared hosting) doesn&#39;t interest you at all; based on previous conversations, I believe this means that Snap will have *no* (Fast)CGI support. So where exactly are you hoping to create this platform from which everyone will build these great applications that snap together so well?</span></div>
<div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; "><br></span></div><div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;">I think (correct me if I&#39;m wrong) that everyone else here is in agreement that the goal should not be to create a great framework that will solve everyone&#39;s needs. The goal should be to create great libraries that can be used¬†independently. For example, separating out happstack-server and happstack-state now provides two great libraries that someone can use as part of a completely different application stack.</span></font></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;"><br></span></font></div><div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;">I think that this approach is much healthier and productive than each of us trying to create the greatest snappable framework ever and hoping everyone else creates applications for it.</span></font></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;"><br></span></font></div><div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;">Michael</span></font></div>
</div>