Functional Squeak

Andrew P. Black black at cse.ogi.edu
Sun Jun 4 19:31:05 UTC 2000


At 9:05 -0800 2000.6.3, Alan Kay wrote:
>Long ago (late sixties, early seventies) there was a programming language
called Lucid  ...

There is also some current work at OGI reminiscent of Lucid.  It is a 
language called Hawk, which is used for describing Microprocessor 
architectures.  Streams of values (and instructions) from along wired 
between components like register files, ALUs, etc.  See 
http://www.cse.ogi.edu/PacSoft/projects/Hawk/

Now, the initial implementation of Hawk is as a library in the purely 
functional language Haskell.  Since Haskell is lazy, Streams could be 
envisaged as infinite lists.

But it was also desirable to interface Hawk to model-checking 
systems, which are state-based.  An alternative implementation of a 
Stream is as an automaton with a next-state function, which generates 
the next element of the stream from the history.  The two 
interpretations are interchangeable, in fact, the Hawk folks (Nancy 
Day in particular) have recently developed a way of generating the 
state-based interpretation from the Stream-based interpretation.

So I think that I can confirm that Michel Tilman is right: "Whether 
you use state to implement behavior should be just that, 
implementation."

	Andrew







More information about the Squeak-dev mailing list