Henning Thielemann wrote:
On Mon, 10 Jul 2006, Donn Cave wrote:
After reasonable success with an FFI exercise, I have run into a
typing issue that has me stuck.
The foreign software is a C plotting library that my colleagues
use, really simple and mostly quite amenable to Haskell-ization.
The one fly in the ointment is the graph coordinate type, which
is a union of double & int64. The graph object has switches for
the actual type of x and y coordinates, set at creation time.
Will you make that plotter wrapper public?
I rolled my own GNUPlot wrapper some time ago:
http://darcs.haskell.org/htam/src/GNUPlot.hs
About gnuplot (which I use a lot).
When I saw the GSL Haskell wrapper was using calls to gnuplot to print, I went
looking for how to make gnuplot behave better as a middle-end instead of back-end.
I made a new output terminal device for gnuplot that wrote a description of the
plot drawing commands. Thus I opened a pipe in haskell and invoked gnuplot to
write to it. The new output commands were interpreted by the usual "read"
haskell command into a list of data which I could then use the Cocoa bindings
of gtk haskell to render in a window.
All the graphics and the basic text renders properly, but I ran into problems
with extended text. The main one being that gnuplot does not have a proper
definition of the lexing/parsing of extended text. The actual c-code that does
the operation is not cleanly designed and the behavior conflicts with the help
text. But this was just a hobby exercise, so I have not quite finished it.
What I do have is something could accurately take the "demo" gnuplot into a
stream of data/commands that could be rendered (via a handy monad) into a
cairo/gtk window drawable that looks like the output of other terminals.
--
Chris
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe