[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Y Store /Closures



Avi -- Thanks for your post. 

>The effect this all has on the maintainability of the code base is
>unbelievable.  And there is simply no way to get the same results
>without either having first class continuations in your language, or
>doing an automated transformation on all of your code to simulate them.

What you seem to be talking about is simply maintaining and traversing
session state, no? Most frameworks I've used (struts, zope etc.) have
facilities for unwinding transactions and action chaining. (In fact,
in some of our applications using the back button in the manner you
suggest -- for example, after you've confirmed a purchase, would perhaps
be frowned upon :) 

Have you looked at frameworks like these? And what do you think about
them?

>What using continuations allowed me to do is to have each step/page
>implemented, effectively, as a subroutine.  I won't go into the details of

It is much the same in some of these other frameworks.. but the added
benefits are that you get a "map-in" from html forms/gui facilities
(such as select boxes, trees, etc. -- i.e. "view" elements) to your
objects at the "view" layer, automatic mapping to "actions"/mappings
(which you can think of as mapping URL's to said function calls)
automatic validation (i.e. what happens when the user types in "-x" for
number of seats :) and map-out facilities. I agree w/ you about
maintainability by the way, but there's other code to worry about too.
I don't see continuations as important, helping to solve these
problems or indispensable .. yet :)

In classical client-server GUI programming/literature -- the point you
raise was called the "event-driven vs. modal input" debate. We all
know who won that one now, don't we .. :)

ps. don't get me wrong -- I actually wrote a paper in 86 for the X
consortium on how to use select and yet achieve modality wrt. input
(back then you couldn't simply write value = getTextFromPopup()) so I
understand and partially sympathize w/ your view.