Let me join this discussing. I've been lurking now for a while and didn't have the time to give back my RT or opinion on this...
First of all: can someone please enlighten me - Sorry, I don't see a conceptual difference between a FSM and a Turing machine. AFAIK they are pretty much the same!? I always wanted to avoid page-cenctric logic (as Ovidiu postulates) in my webapps - but real life has shown that forcing this is not really useful at all. It often leads to an over-abstraction of the problem that doesn't help a thing. Consider a form where you collect data over a couple of pages (I call this a multi-page form) If you have only an abstract view of your logic you will not be able to derive a validation/ redirection behaviour. You simply have no idea which page to go back to if validation fails - the information is missing in the abstract description of the application flow. I also doubt that building a webapp as FSM or Turing machine is really that hard. We already using this approach and we are quite happy about the gain of possibilities. I wrote a Flowmap action to integrate smoothly with Cocoon. Not having one big Flowmap but a couple of small ones makes it quite easy to maintain. Also take into account: even if the flowmap gets bigger and becomes a PITA to maintain via emacs (or any of your favorite editors;) there is always an option to write a visual tool!! Don't lets us limit ourself because it will be hard to maintain from commandline. I cannot think of a much easier, faster and natural development of having a visual tool describing a Turing machine! This also reminds me of a computer science technique - I guess it was "data flow diagrams". Although I have to admit I haven't had the time yet to look into the resources Ovidiu sent I have quite a bad feeling about continuations. Isn't a flow with a lot different choices/transitions also a PITA with continuations?! Well, I get back to continuations when I did my homework;) > So, if in your context FSM programming means "page-centric programming", > I totally agree with both of you that we should "get control back" when > building webapps. What do you mean by "get control back", Stefano? -- Torsten --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]