[Haskell] Beyond ASCII only editors for Haskell

Reginald Meeson meeson at ida.org
Mon May 23 11:04:07 EDT 2005


Mads --

Eons ago, colleagues and I put together a primitive data flow diagram
editor and generated functional code for the functions users wired
together.  One of the things we learned was that people would happily
wire together diagrams with state components that could not be
translated because they did not represent functions.  (Two different
data flow paths sharing the same state creates obvious race conditions,
but that's what some people wanted to draw.)

It was an interesting exercise to build the tool, but I don't think
it gave users any great advantage.  Perhaps is was a shortcoming of
the tool, which was little more than a prototype.  However, the
informal nature of data flow diagramming at that time seemed to be
out of synch with the rigor needed for programming.  Good luck with
your search -- it may be a good time to try it again.

-- Reg


>Hi
>
>One of Haskell's advantages is that it is very suitable as an executable
>specification language. Which is also claimed on
>http://www.haskell.org/aboutHaskell.html:
>
>	"Much of a software product's life is spent in specification, design
>and maintenance, and not in programming. Functional languages are superb
>for writing specifications which can actually be executed (and hence
>tested and debugged). Such a specification then is the first prototype
>of the final program."
>
>also on the same page:
>
>	"Haskell, a purely functional programming language, offers you:
>	...
>		* A smaller "semantic gap" between the programmer and 
>the language.
>	"
>
>But if I were to specify a program (in a non-executable language) or if
>I were to write some function on a blackboard, I would not be restricted
>to only ASCII characters. For example, I would not write 'sqrt 2' but I
>would write a square root symbol with 2 underneath. Likewise, I would
>not write '2 ^ 5', but I would write a 2 with a 5 raised upwards to the
>right of the 2. Then why are we stuck with the mono-spatial ASCII based
>editors in Haskell? Why is it not possible to make Haskell program look
>similar to ordinary math? (also when writing those programs and not just
>afterward in some Latex formatted paper).
>
>Also, programmers often use diagrams as specification. As Andrew Bromage
>says it in http://haskell.org/~shae/pseudocode1.pdf:
>
>	"Mostly, I strongly suspect that most code of this type is not written,
>but rather it's translated into. I tend to see many uses of "point-free
>style" in the same light. It's also one of the reasons why I've resisted
>using arrows: You don't program in arrow style; you program in diagrams
>on paper, then translate that into arrow style."
>
>This makes me think that our diagrams should be compilable and thus
>executable? These diagrams could be embedded in our editor and
>intermixed with ordinary code.
>
>I have looked for the type of editor roughly outlined above, but found
>nothing. If anybody have some links to projects, which is related to
>these kind of thoughts please let yourself be heard. Also, of cause,
>comments are most welcome.
>
>--
>Mads Lindstrøm <mads_lindstroem at yahoo.dk>
>
>_______________________________________________
>Haskell mailing list
>Haskell at haskell.org
>http://www.haskell.org/mailman/listinfo/haskell




More information about the Haskell mailing list