[clean-list] Clean and scientific programming
Siegfried Gonzi
siegfried.gonzi@kfunigraz.ac.at
Thu, 30 Aug 2001 16:52:26 +0200
Jan Kort wrote:
> A debate rekindled" [1].
> It's a followup to an earlier debate where the conclusion was
> that Fortran was a bad thing but "Fortran and only Fortran
> provided the performance needed for large-scale scientific computing".
> Cann reopens the debate in this article by pitting Sisal
> against Fortran. Sisal more or less destroys Fortran.
The article is dated back to 1991, could it be possible that they
compared Fortran 77 and not Fortran 90?
> Although Sisal is dead, the results are still significant:
> they show that there is a feature for functional
> languages in scientific computing.
I think there is an undiscussed problem: Does a functional language need
some sort of imperative-"loop style" for beeing numerically efficient
(see FISH link below)?
For example, a colleague (now Postdoc in Newzealand) of mine wrote an
IDL program which interpolates some values. A complete suit takes on our
fastest Suns 2 days on computation time.
I want to rewrite it, because the program is based on a native IDL
routine and I do not trust it. But now I am dangling around with file
access in Clean first. And IDL (Yorick, Matlab) code becomes unreadable,
because I often do not know is there an array or a value passed, e.g:
f(a,b)
could mean a is an arry and b is an value or both are values...
In Clean I like the information:
f:: !Int *{#Real} -> !Real
f a b =...
I know what is beeing passed around.
But the programming community does not adress: do we need
loop-constructs (as for example in Lisp or OCaml)?
>I am not sure which
> implementation research focusses on now, maybe single
> assignment C ?
http://www-staff.it.uts.edu.au/~cbj/FISh/Announcement/
S. Gonzi