[Haskell-cafe] generate Haskell code from model

Ricardo Herrmann rherrmann at gmail.com
Fri Apr 13 17:25:57 EDT 2007


On 4/13/07, Neil Mitchell <ndmitchell at gmail.com> wrote:
>
> > Second, if Haskell should be more successful in the
> > real world there has to be a way of demonstrating
> > basic ideas of a big program to "customers". How
> > would you do this? Everybody knows UML class
> > diagrams, for example. In contrast, nobody knows
> > about termgraphs or lambda *g*.
>
> The UML is not executable, draw a pretty picture. No one knows UML,
> everyone knows pretty pictures - most people can guess at the meaning
> of UML because they know the meaning of pictures. As to reverse
> engineering a diagram from code, that always leads to ugly (and
> pointless) diagrams.


Speaking of pretty pictures, there's a tool from Business Objects called
Gems, which is based on a "lazily evaluated, strictly-typed language called
CAL, with many similarities to Haskell"

>From http://labs.businessobjects.com/cal/default.asp
"These pieces of business logic, which we called "Gems" to give them a nice
friendly face, are declarative 'functional' objects."

Although unrelated to UML, it provides a nice way of graphically
representing functions, check it out:
http://resources.businessobjects.com/labs/cal/gem_cutter_manual.pdf

Or, if you prefer a (boring) video:
http://resources.businessobjects.com/labs/cal/gem_part_1_mov.zip

I haven't put much thought on that, but I think it's possible representing
(de-sugared) Haskell functions using GraphML and relying on existing
renderers for simplicity ... anyone tried that already ?

-- 
Ricardo Guimarães Herrmann
"You never change things by fighting the existing reality. To change
something, build a new model that makes the existing model obsolete" - R.
Buckminster Fuller
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20070413/ddc13ffa/attachment-0001.htm


More information about the Haskell-Cafe mailing list