Some good-hearted criticism

Jerzy Karczmarczuk karczma@info.unicaen.fr
Thu, 28 Jun 2001 11:51:35 +0200


Alastair David Reid:

> Note that "recursive" doesn't (necessarily) mean "stack hungry" in
> functional languages.  Only imperative languages feel compelled to
> guarantee that infinitely recursive functions will run out of stack
> space.


Well, a STRICT functional language doesn't seem to have much choice
either. Or am I missing some nice trick? (Don't mention tail recursion).

==

About your statement:

> The cool thing about Haskell is that the difference between being
> primitive and non-primitive is a lot smaller than in most other
> languages.

This is *very* dependent on the implementors' philosophy. This point
is duly underlined in the description of STG by Simon PJ - at least in
the context of data structures.

But, say, the difference between primitive monads such as IO stateful
stuff and some user-defined monads is quite fundamental. Unless I am
wrong... But I can't discard the impression that in Haskell the hiatus
between the IO primitives and other programming layers is bigger than
in the imperative world.

Jerzy Karczmarczuk
Caen, France