Shachar Shemesh <shac...@shemesh.biz> writes:

> Didn't you just describe a Turing machine?

I don't think so. No one said anything about having an infinite number
of states, for instance. There may or may not be a connection, so what?
A Turing machine is a theoretical construct, I thought the question was
about practical approaches to a problem. I don't even think the original
question has a connection to a Turing machine. All Omer asked (as far as
I understood) was how one would create a *finite* state machine that
could "grow" or "lose" a state at runtime.

I just thought of a typical FSM design where you specify the events the
states, and the transitions/reactions, and in the end you have a
"machine" class with a bunch of possible states one of which is current,
and transition/reaction methods accepting events as arguments that do
something and modify the current state. Even in the fanciest designs
I've seen so far the components of the design are statically defined:
you know all the states, events, and transitions at compile time, if you
wish (my experience has been mostly in C++, guilty).

This is why I thought of MOP that allows your program's objects to
modify other objects and themselves at runtime, and modify your class
hierarchy at runtime, too, since that is also an object. My intuition
tells me that this will allow you to take the typical FSM design and
start adding/removing/modifying states and transitions on the fly.

If I have accidentally stumbled upon a way to construct a Turing
machine, I don't know. I doubt it, at least because nothing has been
said about expanding memory indefinitely. But I have not thought about
it enough.

-- 
Oleg Goldshmidt | p...@goldshmidt.org

_______________________________________________
Linux-il mailing list
Linux-il@cs.huji.ac.il
http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il

Reply via email to