<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; "><DIV><BR class="khtml-block-placeholder"></DIV><DIV>You probably refer to the fact that validators and helpers are upper case. That is because they are not functions but objects. In fact validators have an internal state (the parameters for the validation, the translated error messages etc.) and helpers have an internal state (because they are aware of form they may contain, their variables and their errors). Example</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>a=FORM(TABLE(TR(TD(INPUT(_name='field',requites=IS_NOT_EMPTY()))),TR(TD(INPUT(_type='submit')))))</DIV><DIV>if a.accepts(request.vars,session): ....</DIV><DIV>if a.errors:...</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>At its fundamental level I tried to make Gluon similar to Django. For two reasons. I know Django (I taught a class on Django here ad DePaul) and I liked it but I found it has too many functions and too many modules to remember. So I decided to follow a "convention over configuration" approach a la RoR.</DIV><DIV>In Gluon you do not need to import Gluon's modules in your code nor you need to explicitly call the template renderer, for example. Same logic as Django but simpler to use I believe.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Massimo</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>To answer your first question: I teach computer science, mostly numerical applications to science and finance, occasionally networking stuff and security.</DIV><DIV>You can say I came from a C++ background. My most important work is fermiqcd a C++ library of parallel lattice quantum chromodynamics.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><BR><DIV><DIV>On Oct 22, 2007, at 11:57 PM, Joshua Simpson wrote:</DIV><BR class="Apple-interchange-newline"><BLOCKQUOTE type="cite"><BR><BR><DIV><SPAN class="gmail_quote">On 10/22/07, <B class="gmail_sendername">Massimo Di Pierro</B> &lt;<A href="mailto:MDiPierro@cti.depaul.edu">MDiPierro@cti.depaul.edu</A>&gt; wrote:</SPAN><BR><DIV><BR></DIV><BLOCKQUOTE class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> it shows step by step how to build a web app to store recipes and<BR>group them by category.<BR>It is a first draft so there are may be some english some typos. Sorry.</BLOCKQUOTE><DIV><BR>I'm going to check this out.  Are you from a primarily C background?  Your builtin functions look, at least in naming convention, suspiciously like macros.  Your controller design seems to borrow heavily from Django, but I suppose that's a good thing.  <BR><BR>Cheers, I always like to look at new frameworks.<BR><BR></DIV>Josh<BR></DIV><BR>-- <BR>-<BR><A href="http://stderr.ws/">http://stderr.ws/</A><BR></BLOCKQUOTE></DIV><BR></BODY></HTML>