[Haskell-cafe] type dependency
Chris Kuklewicz
haskell at list.mightyreason.com
Mon Jul 10 06:59:11 EDT 2006
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
More information about the Haskell-Cafe
mailing list