"D. Tweed" <[EMAIL PROTECTED]>:
>I'm quite open to arguments that maybe you can't
>make a functional language that's as nice as Haskell (features like lazy
>evaluation, nice type classes, etc) that's also able to `really hammer
>until it's totally flat' functional code that implements heavily numerical
>algorithms. However I'd argue that this is still an area where a
>functional language which was standard, widely used and compilable into
>very very efficient code would be of great benefit to many people who work
>on simulation, image processing problems, control systems, etc. (So I'm
>happy for the Haskell people to say `We can't make
>computation intensive programming better because it'd screw up stuff we do
>well now' but not that `development time shrinkage compensates for
>run-time growth'.)
Sisal was an attempt to define precisely such a functional language. Of
course, it is not nearly as "nice" as Haskell as regards features:
restricted type system, call by value (except a particular nonstrict data
type for streams), no higher order functions, no recursive array
comprehensions, etc. These limitations were deliberate design decisions
made to make the compilation to efficient code simpler. Sisal also has a
rich set of array primitives and a loop-like notation which is syntactic
sugar for tail-recursion (the latter making it possible to write
surprisingly Fortran-like code in Sisal...). On a standard set of
benchmarks, a couple of years back, Sisal obtained performance on par with
the state-of-the-art parallelising/vectorising Fortran compilers of that
time. There's a C.ACM paper on this, from -93 I think.
Yet, Sisal never took off. As far as I know there is neither any development
of the language nor on compilers now.
Bj�rn Lisper