Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

[REBOL] Re: Any FSM fans?

From: greggirwin:mindspring at: 2-Nov-2001 21:25

Hi Bob, I looked briefly at Libero not too long ago but I'm aiming for something different than they are. There are some things we have in common, like being able to specify multiple actions for each transition. Something I like about the REBOL approach (though I'm not sure yet where it might also get me into trouble) is that you can enter a block of plain old REBOL code as your action and it will execute it. Another thing both do is allow you to define a special "default" state that you can use to simplfy your design. A big difference is that their stuff generates a driver that is wrapped around the STT (if I recall correctly). Once I get the core where I want it, I'll look at putting different drivers around it, but I also want to make it useable as *part* of an app, not just as the main processing loop. Libero may do this as well. Not sure. << How do I use Libero? Design your program visually as a state diagram; >> Is this in the Windows version? I DL'd the Windows version and, while it has a GUI for defining your state machine, it doesn't let you draw a state diagram in the true sense. I haven't looked at it in enough detail to know what I might have missed, but I didn't grok it immediately. << Choose your programming language; >> I don't envision my stuff being used with languages other than REBOL, but there's no reason you couldn't use it to drive a code generator. Lots of stuff can be built up around the core concept. Is the core concept sound? That's the first thing I need to find out. << Generate a framework for your program; Fill-in the framework to get from rapid prototype to working program; Repeat until your program is perfect. >> So Libero is smart enough not to touch your code. That's cool. Do you have to put your own code someplace special or is your code entertwined with the generated code? << What Languages can I use? >> I have to admit that I'm a fairly biased developer when it comes to languages. I am data agnostic, but I've always written my tools to work well for a specific target language. I've written a number of code generators over the years and the quality of the code they generate is directly related to the quality of the code I could write, by hand, for any given language. In this case, one of my main goals is *not* to generate code. :) <<... with open-ended support for other languages. Like Rebol? :-) >> Yeah, but writing a Libero schema would have been more work, and the result would be far less REBOLish. :) Since you've got experience with Libero, and said you would like to use FSMs in REBOL, would you be interested in looking at what I've got and giving me some feedback? Thanks! --Gregg