>>>>> "Liam" == Liam M Healy <Liam.Healy@nrl.navy.mil> writes:
Ray> Since I'm just converting existing Fortran code to Lisp, I don't see
Ray> that there's any real work involved, unless f2cl is broken. All of
Ray> the Fortran code I've converted has test drivers, and the converted
Ray> code has produced the expected results.
Liam> In my experience, conversions of this type end up being a whole lot
Liam> harder than one would like, but it's good that you've had success.
Liam> And, there is the ongoing maintenance/synchronization issue. This
Liam> requires active knowledgeable participation, lest the different
Liam> language versions get skewed.
I think this would be true if the Fortran code changes, but based on
netlib, I don't really see any of that happening. Some of the code
dates back to the 70's and if there are updates, the authors aren't
saying. :-) I hope that's because the implementations are good and
correct so there's no need to update anything.
Liam> Also, having looked at some of the GSL code (which is in C not
Liam> Fortran, by the way, so woudn't be amenable to f2cl - is there a
Liam> c2cl?), I find it cleanly laid out but using quite a bit of C
No c2cl that I know of. Probably be virtually impossible with all the
pointer games C code tends to have. f2cl doesn't support equivalences
and the type punning things old Fortran code did. Fortunately, most
of the more recent code doesn't do that.
Liam> abstractions that I find hard to follow (I'm no C expert though).
Liam> Converting this would be hard.
I wasn't going to convert the C code, but the original Fortran code
from which they originated.
Even then, I see f2cl conversion as, at worst, a stop gap measure until
someone decides they really need a faster implementation or someone
comes up with a common enough FFI to work.
Ray> A truly common FFI would be a great service to the Lisp community.
Liam> Agreed. Unfortunately, I see no movement from the CL implementations
Liam> to make this happen. Maybe something's happening behind the scenes.
Not that I know of. I think if it happens it will have to be the free
Lisp people, not the commercial vendors who probably don't have an
interest in such a thing. Maxima would make a great platform for
implementing, testing, and verifying such a common FFI, especially if
we hook up more complicated foreign code that requires all kinds of
complex structures, unions, callbacks, etc.
Ray