<div><span class="gmail_quote">On 4/13/07, <b class="gmail_sendername">Neil Mitchell</b> <<a href="mailto:firstname.lastname@example.org">email@example.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
> Second, if Haskell should be more successful in the<br>> real world there has to be a way of demonstrating<br>> basic ideas of a big program to "customers". How<br>> would you do this? Everybody knows UML class
<br>> diagrams, for example. In contrast, nobody knows<br>> about termgraphs or lambda *g*.<br><br>The UML is not executable, draw a pretty picture. No one knows UML,<br>everyone knows pretty pictures - most people can guess at the meaning
<br>of UML because they know the meaning of pictures. As to reverse<br>engineering a diagram from code, that always leads to ugly (and<br>pointless) diagrams.</blockquote><div><br>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"
<br><br>From <a href="http://labs.businessobjects.com/cal/default.asp">http://labs.businessobjects.com/cal/default.asp</a><br>
"These pieces of business logic, which we called "Gems" to give them a
nice friendly face, are declarative 'functional' objects."<br>
<br>Although unrelated to UML, it provides a nice way of graphically representing functions, check it out:<br><a href="http://resources.businessobjects.com/labs/cal/gem_cutter_manual.pdf">http://resources.businessobjects.com/labs/cal/gem_cutter_manual.pdf
</a><br><br>Or, if you prefer a (boring) video:<br><a href="http://resources.businessobjects.com/labs/cal/gem_part_1_mov.zip">http://resources.businessobjects.com/labs/cal/gem_part_1_mov.zip</a><br>
</div><br></div>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 ?
<br><br>-- <br>Ricardo Guimar„es Herrmann<br>"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