Version française
Home     About     Download     Resources     Contact us    
Browse thread
Announcing fun->pdf
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Jan Skibinski <jans@n...>
Subject: Announcing fun->pdf

Fun->pdf is a superset of few sets of scripts, written in various
functional languages, and interfacing to PDFlib -- a third party C
library capable of producing documents in Portable Document Format
from Adobe. The package and a manual are freely available at:

	http://www.numeric-quest.com/funpdf

At this time the interfacing scripts are written in three functional
languages:

	+ Equational Functional Lanquage Q
	+ Ocaml
	+ Haskell

Fun->pdf is designed to be small, yet highly functional, powerful
and user friendly. Users are offered a choice of direct interaction
with PDFlib, or high-level functionalities fully implemented in
scripts. At the top of these choices is a support for a HTML alike
markup tag language, which is as easy as the basic HTML -- without
complexities of the recent extensions to the HTML format.

As a consequence, a PDF document, such as the fun->pdf manual, can
be entirely written in ascii editor as a set of plain ascii files
consisting of: plain text, ascii data for plots or tables and tagged
material to be interpreted by fun->pdf parser.

Any sequence of a language specific functions can be embedded within
the special tags in a tagged file. Embedded scripts usually print or
draw more complex entities, such as plots or tables.
 
Aside from its main purpose of doing useful things, the package
might be also used as a learning material for those wishing to advance
into the functional programming; scripts are well documented, and the
manual explains in a lay parlance the basics and also similarities
and differences among those three languages.
=================================================================

On the less "official" note:

Ocaml beats hands down the two other implementations. But do not
hold your breath: I made a few bad design choices that adversely
impacted Haskell/Hugs performance. Everything is documented in
chapter "Performance" of the manual.

Pierre Weis: 
------------
If you find it interesting you may host this package in your 
'bazaar'. It is GPL-ed, after all :-).

Xavier Leroy: 
------------
Thank you for your advice on "Dynamic evaluation". As encouraged
by you I stick to my first idea of using Toploop.run_script.
I could not go by as easily in Haskell and I finally ended up
with my own evaluator on a top of a third party Haskell Parser.
That's why it took me an extra time before I could announce the
package. What a shame to be forced to write an interpreter within
an interpreter.  
 
Jan Skibinski,
Numeric Quest Inc.
Huntsville, Ontario, Canada
July 4, 1998