<br><br><div class="gmail_quote">On Wed, Mar 24, 2010 at 3:36 PM, Jeremy Shaw <span dir="ltr">&lt;<a href="mailto:jeremy@n-heptane.com">jeremy@n-heptane.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">On Mon, Mar 22, 2010 at 9:41 PM, Michael Snoyman <span dir="ltr">&lt;<a href="mailto:michael@snoyman.com" target="_blank">michael@snoyman.com</a>&gt;</span> wrote:<br></div><div class="gmail_quote"><div class="im">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>If I&#39;m not mistaken, I think that addresses all the issues on the table; is there anything left to decide? I look forward to seeing a sample URLT :).</div>
<div><br></div></blockquote><div><br></div></div><div>There were other issues that came up, but nothing exciting enough to talk about.</div><div><br></div><div>I have pushed a patch which I think brings the code up to date in terms of functionality. See WaiExample for a detail of everything that is currently supported (aside from the happstack / hsp stuff).</div>

<div><br></div><div>The next steps are to:</div><div><br></div><div> 1. change the names of any functions or types that we do not currently like</div><div> 2. add the haddock documentation</div><div> 3. split the package into separate packages so that you don&#39;t have to pull in extra dependencies that you aren&#39;t going to use</div>

<div> 4. turn the WaiExample into a literate tutorial / blog post</div><div> 5. add a (simple) happstack example as well</div><div><br></div><div>So take a look and let me know what you think. Especially in regards to #1.</div>

<div><br></div><div>Then we can also look into how to extend the yesod mkResources stuff to work with this new code.</div><div><br></div><div>from a parsing point of view, we almost don&#39;t have to do anything, we could just do:</div>

<div><br></div><div> [mkResource|  &quot;/foo/:int/:int&quot; = \i j -&gt; mySite (Foo i j) |]</div><div><br></div><div>or whatever the syntax is. But that does not solve the issue of how to go from (Foo 1 2) back to /foo/1/2 and ensure that it is the inverse operation.</div>

<div><br></div><font color="#888888"><div><font class="Apple-style-span" color="#000000"><font class="Apple-style-span" color="#888888"><br></font></font></div></font></div></blockquote><div>I don&#39;t have time right now to look at the code, but I will soon (I&#39;m in the middle of traveling *again*). Regarding the mkResource issue, I think it&#39;s slightly more complicated, and what I was thinking of was a combination of TemplateHaskell and QuasiQuotes to address it:</div>
<div><br></div><div>* The quasi-quoted content will follow mostly the same syntax, though allowing you to specify the name of the constructor you wish to assign to each resource pattern.</div><div>* Since we now will need to have multiple top-level definitions being generated, quasi-quoting alone won&#39;t solve the issue. So I will have a quasi-quote function to convert the YAML syntax to a StringObject, and then a TH function to convert the StringObject to:</div>
<div><br></div><div>  1) A datatype for the URL.</div><div>  2) A pair to to/from functions.</div><div>  3) A dispatch function.</div><div><br></div><div>This is the point at which having WebPlug/HandleT becomes useful.</div>
<div><br></div><div>If that was too vague, just let me know and I&#39;ll clarify ;).</div><div><br></div><div>Michael </div></div>