<br><br><div class="gmail_quote">On Mon, Nov 21, 2011 at 12:00 PM, Jordan Schatz <span dir="ltr">&lt;<a href="mailto:jordan@noionlabs.com">jordan@noionlabs.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, Nov 21, 2011 at 06:32:18AM -0700, Jay McCarthy wrote:<br>
&gt; I can imagine implementing something like...<br>
&gt;<br>
&gt; (define record-formlet<br>
&gt;             (formlet<br>
&gt;              ;; Define the input format<br>
&gt;              ([name (hash-ref this &#39;name)]<br>
&gt;               [company (hash-ref this &#39;company)]<br>
&gt;               [address (hash-ref this &#39;company)]<br>
&gt;               [city (hash-ref this &#39;city)]<br>
&gt;               [state (hash-ref this &#39;state)]<br>
&gt;               [zip (hash-ref this &#39;zip)])<br>
&gt;              ;; Define the display format / input mapping<br>
&gt;              (#%# ,{(to-string (required (text-input))) . &lt;=&gt; . name}<br>
&gt;                   ,{(to-string (required (text-input))) . &lt;=&gt; . company}<br>
&gt;                   ,{(to-string (required (text-input))) . &lt;=&gt; . address}<br>
&gt;                   ,{(to-string (required (text-input))) . &lt;=&gt; . city}<br>
&gt;                   ,{(to-string (required (text-input))) . &lt;=&gt; . state}<br>
&gt;                   ,{(to-string (required (text-input))) . &lt;=&gt; . zip})<br>
&gt;              ;; Define the output format<br>
&gt;              (values name company address city state zip)))<br>
&gt;<br>
</div><div class="im">&gt; Does that seem more palatable?<br>
</div>Yes... In my usage I think I would always be giving it a hashtable, and<br>
getting a hashtable back, and the names on the right hand side of the<br>
formlet would correspond to the keys in the input and output hashtable.<br>
<br>
I see that it might not be generally useful and probably doesn&#39;t belong<br>
in web-server/formlets<br></blockquote><div><br></div><div>I&#39;ll put on my list of things to investigate.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="im"><br>
&gt; Your version that breaks mainly breaks because you are mutating the<br>
&gt; record and recomputing the formlet, rather than saving the formlet in<br>
&gt; the continuation for both the display and the processing.<br>
</div>So is this <a href="http://noionlabs.com/formlets/save-formlet.rkt" target="_blank">http://noionlabs.com/formlets/save-formlet.rkt</a> the general<br>
pattern of how others are writing their formlets? (using a maker /<br>
generator function to create a form with initial values, and keeping it<br>
in a variable for the processing step?)<br></blockquote><div><br></div><div>Basically, although I would not expect people to use mutation like that when binding will do:</div><div><br></div><div><a href="https://gist.github.com/1385592">https://gist.github.com/1385592</a></div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Are there any open sourced web apps built in racket where I could<br>
observer how people are using racket&#39;s features?<br></blockquote><div><br></div><div>Here&#39;s the last one I wrote</div><div><br></div><div><a href="https://github.com/jeapostrophe/m8b">https://github.com/jeapostrophe/m8b</a></div>
<div><br></div><div>Jay</div></div><br clear="all"><div><br></div>-- <br>Jay McCarthy &lt;<a href="mailto:jay@cs.byu.edu" target="_blank">jay@cs.byu.edu</a>&gt;<br>Assistant Professor / Brigham Young University<br><a href="http://faculty.cs.byu.edu/~jay" target="_blank">http://faculty.cs.byu.edu/~jay</a><br>
<br>&quot;The glory of God is Intelligence&quot; - D&amp;C 93<br>