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
|