
Keith.Wansbrough writes:
Automate!
You must avoid actually writing the import declarations for each function by hand.
If the functions are all of the complexity of sin, cos, etc., it is hard to improve significantly on:
foreign import ccall sin :: Double -> Double
There's just not much information you can leave out of this. (Perhaps you could save the first three tokens but they're not that hard to cut and paste).
I was imagining a tool (or a hand-crafted Perl script if necessary)
that turned
double gsl_sf_sin(double x);
into
foreign import ccall "gsl_sf_sin" sin :: Double -> Double
That wouldn't be too hard, and if there really are zillions of
functions, it would save a lot of work for the straightforward cases.
--KW 8-)
--
Keith Wansbrough