Re: Hello - and where to begin?
"M. Edward (Ed) Borasky" <[email protected]>
| Newsgroups | gmane.comp.lang.forth.colorforth |
|---|---|
| Message-ID | <[email protected]> |
Gwenhwyfaer wrote: > On 23/01/2008, M. Edward (Ed) Borasky <[email protected]> wrote: >> Jason Kemp wrote: >>> Are there any other computer languages that arouse such philosophical >>> discourse and soul searching? > >> Scheme. > > The whole Lisp family, in fact. > > And Haskell as well, to an extent, as the most well-developed current > embodiment of pure functional programming - it turns out that more and > more of what we assume to be low level facilities to be abstracted > away can be simulated by a purely functional machine. (And arrows are > very reminiscent of stack operations.) > > I remember talking to some professor in Manchester University, when I > went there for an interview in 1991, about whether Forth could be > treated as a functional language; I said yes, because of the ease with > which functions can be composed, but he raised the question of > laziness... > > The thing that all of these beasts have in common is that they blur > the distinction between compile time and runtime, in both phase and > environment. Even if Haskell is still a bit stuck in batch-mode > thinking, and hasn't quite realised that's what it's doing... but it's > hard to see where else the combination of strict typing and lazy > evaluation is going; the parts of a program that the type system can > express is evaluated as early as possible (ie. at compile time), and > the rest isn't evaluated until it absolutely has to be. Well ... I've always thought there really were only three innovative languages -- Lisp, APL and Forth. I view Haskell, ML, Prolog, Erlang, and all the other functional languages as specialized dialects of Lisp.