From: Mohamed Noamany
Subject: Finite state mashines in LISP
Date: 
Message-ID: <Pine.GSO.4.10.9909251826300.2175-100000@moretti>
Hello,
      Is there any representation of finite state machines (automata) in
LISP.
ayny advice is highly appreciated,
thanks,
		MOhamed FArok Noamany
		RA & Ph.D. student

From: Erik Naggum
Subject: Re: Finite state mashines in LISP
Date: 
Message-ID: <3147299366337458@naggum.no>
* Mohamed Noamany <···@cs.nmsu.edu>
| Is there any representation of finite state machines (automata) in LISP.
| ayny advice is highly appreciated,

  the usual way to write them is with PROG, utilizing tags for the state
  names, and GO to effect state transitions.  despite the shudder that some
  people feel for this way to write code, the important thing to remember
  with PROG in Common Lisp is that tags can only be specified at elements
  in the list of forms in the PROG form itself, i.e., no tags at any lower
  level.  this fact means that the usual problems with "goto" are avoided.

#:Erik
From: William Tanksley
Subject: Re: Finite state mashines in LISP
Date: 
Message-ID: <slrn7uqvtq.at5.wtanksle@dolphin.openprojects.net>
On 26 Sep 1999 01:49:26 +0000, Erik Naggum wrote:
>* Mohamed Noamany <···@cs.nmsu.edu>
>| Is there any representation of finite state machines (automata) in LISP.
>| ayny advice is highly appreciated,

>  the usual way to write them is with PROG, utilizing tags for the state
>  names, and GO to effect state transitions.  despite the shudder that some
>  people feel for this way to write code, the important thing to remember
>  with PROG in Common Lisp is that tags can only be specified at elements
>  in the list of forms in the PROG form itself, i.e., no tags at any lower
>  level.  this fact means that the usual problems with "goto" are avoided.

...and all the other problems (i.e. the knee-jerk opposition to goto) can
be prevented by wrapping the gotos (and the procs) in your own
state-machine macro.  Nobody can sustain an objection to machine-generated
gotos -- after all, that's what it all becomes eventually ;-).

I searched for the paper and code I had recalled, but all I can find is
the Forth version.  Oh well -- the Lisp version is obvious and very
similar.  Julian V. Noble wrote this for The Journal of Forth Applications
and Research, http://www.jfar.org/article001.html.

Enjoy.

>#:Erik

-- 
-William "Billy" Tanksley
From: Fernando D. Mato Mira
Subject: Re: Finite state mashines in LISP
Date: 
Message-ID: <37EF566B.182A750@iname.com>
Mohamed Noamany wrote:

> Hello,
>       Is there any representation of finite state machines (automata) in
> LISP.

LCO :->


--
((( DANGER )) LISP BIGOT (( DANGER )) LISP BIGOT (( DANGER )))

Fernando D. Mato Mira
Real-Time SW Eng & Networking
Advanced Systems Engineering Division
CSEM
Jaquet-Droz 1                   email: matomira AT acm DOT org
CH-2007 Neuchatel                 tel:       +41 (32) 720-5157
Switzerland                       FAX:       +41 (32) 720-5720

www.csem.ch      www.vrai.com     ligwww.epfl.ch/matomira.html
From: Marc Cavazza
Subject: Re: Finite state mashines in LISP
Date: 
Message-ID: <37EF611B.516D500F@bradford.ac.uk>
Mohamed Noamany wrote:

> Hello,
>       Is there any representation of finite state machines (automata) in
> LISP.
> ayny advice is highly appreciated,
> thanks,
>                 MOhamed FArok Noamany
>                 RA & Ph.D. student

You can also have a look at Chapter 14 of Charniak's (et al.)
"Artificial Intelligence Programming" (Lawrence Erlbaum)

Marc
From: Marco Antoniotti
Subject: Re: Finite state mashines in LISP
Date: 
Message-ID: <lw7llbl9pc.fsf@copernico.parades.rm.cnr.it>
Dave Bakhash <·····@bu.edu> writes:

> Mohamed Noamany <···@cs.nmsu.edu> writes:
> 
> > Hello, Is there any representation of finite state machines
> > (automata) in LISP.  ayny advice is highly appreciated,
> 
> Don't quote me, but I think I found a CLOS implementation once when I
> was looking through the code for a part-of-speech tagger developed by
> Xerox Parc.  If I'm remembering it right, it's reasonably
> well-written.  You'll have to do a web search.

Ok.  I will stick my head out.  I have a FSM package I built years
ago.  It is graph based (read: a memory hog) and it supports most of
the basic FSM operations (yep.  try to intersect/shuffle N machines
to reallyhave some fun :) ).

Unfortunately it is combined with some hairy Temporal Logic code.  I
will be happy to do a cleanup and to provide the code.  Please contact
me directly.

Cheers

-- 
Marco Antoniotti ===========================================
PARADES, Via San Pantaleo 66, I-00186 Rome, ITALY
tel. +39 - 06 68 10 03 17, fax. +39 - 06 68 80 79 26
http://www.parades.rm.cnr.it/~marcoxa
From: thi
Subject: Re: Finite state mashines in LISP
Date: 
Message-ID: <m2r670ut0s1.fsf@netcom4.netcom.com>
> FSM in lisp?

if you don't mind installing Guile, you can use THUD for modeling FSMs.
please see:

	http://www.glug.org/people/ttn/software/thud/

for more info.

cheers,
thi