[Bese-devel] New tutorial typos

Drew Crampsie drewc at tech.coop
Thu Jan 29 18:36:33 UTC 2009


Hey szergling,

Thanks for the fixes, i'll apply the relevant ones immediately. I'm
glad you found the tutorial helpful! My answers to most of your
questions are below.

2009/1/15 szergling <senatorzergling at gmail.com>:
> Some further questions:
>
> In the YACLML section,
>
> *** YACLML: Yet another common lisp markup language.
>
> (defun render-message-form (name)
>  (<:form
>   (<:as-html "Enter a new message:")
>   (<:input
>    :type "text" :name (string-downcase name))
>   (<:submit)))
>
> What does the form submit to? That is, what gets generated in the
> <form> html tag?  <form action='??' action='??'>

The <:FORM tag is identical in every way to the HTML <FORM/> tag. HTML
specifies where this form is submitted, not UCW or YACLML.

> ----------
>
> *** Frames, Actions, Callbacks.
>
> "A frame represents an individual hit, a page rendered... an
> interaction with the application."
>
> I still don't understand what a frame is. It doesn't seem to be
> visible to a UCW user, so perhaps it should come later, since it
> describes UCW internals? That is, show what the user would write
> first, then show what the written code does behind the scenes.

Ok, let me put it to you this way. You hit an entry point. there is
only one link on it. You open that link twice in two new windows, and
you now have three frames. Each frame represents a unique browser
url.. a window. Without frames we'd only have sessions in which to
store callbacks and actions... and that would mean only one browser
window would actually work.. and you'd see weird errors when you clone
windows, hit the back button, or whatever.

Does that makes sense?

>
> What's the difference between an action and a callback? How does an
> action compare to a simple defmethod (or defmethod/cc)? It seems
> actions and callbacks can be unified to be the same thing (lambda's or
> generic functions)

Actions do not take arguments, callbacks do not use call/cc. Actions
perform a action, callbacks callback from the page with a value to
use. Actions are functions (funcallable instances), callbacks are one
arg lambdas, and DEFACTIONS are defmethod/cc.
>
> ----------
>
> Which primitive control operation does the paragraph at 500 refer to?
>
> "Also, a FRAME can contain a top level WINDOW-COMPONENT. If it exists,
> the RENDER method will be called on it. We can use this to create the
> primitive control flow operator i mentioned earler[sic]."

GOTO.


Hope that helps.

Cheers,

drewc

>
> ----------
>
> Finally, I also have a correction to the webpage on
>
> http://common-lisp.net/project/ucw/documentation.html
>
> see the following section:
>
> ---
>
> Far More than You Ever Wanted to Know
>
> A long e-mail conversation which touches on, among other things, UCW
> internals, the REST approach and continuations vs. state machines.
>
> Another long <<<e-mail>>> which talks about how to structure UCW apps.
>
> ---
>
> The <<<e-mail>>> here links to:
>
> http://common-lisp.net/pipermail/bese-devel/2004-December/000222.html
>
> Perhaps the intended link is to:
>
> http://common-lisp.net/pipermail/bese-devel/2004-December/000221.html
>
>
> I have not finished reading the tutorials yet, but thought I should
> send off the typos I found ASAP anyway. Thanks for the good work. Look
> forward to more in the future, and happy hacking!
>
> _______________________________________________
> bese-devel mailing list
> bese-devel at common-lisp.net
> http://common-lisp.net/cgi-bin/mailman/listinfo/bese-devel
>
>




More information about the bese-devel mailing list