Ketil Malde writes:
> Frank Atanassow <[EMAIL PROTECTED]> writes:
> > [a nice development environment] is easier to do this in LISP and
> > Smalltalk because they are dynamically typed. You could try for some
> > sort of reflection in Haskell, for example by starting with the
> > public Haskell parser, but I think it would complicate things enough
> > that it isn't worth it. I don't think a generic documenting solution
> > for Haskell will be accepted if we innovate too much.
>
> It doesn't sound *too* difficult or esoteric. Hugs-mode in Emacs does
> a bit of it already, displaying types of functions and such --
> although it seems a bit limited (to the Prelude?). How hard would it
> be to either get the underlying Hugs, or e.g. a Happy-based parser, to
> snarf type and other information from modules in scope, and also look
> for embedded documentation?
That's certainly possible, provided you keep the embedded documentation
Haskell 98-compliant, i.e., in comments or non-code blocks, not in LISP-like
documentation strings. But:
Ketil Malde writes:
> Thinking a bit further from this, I think one of the reasons why Lisp
> (and I suspect Smalltalk) have such nice development environments, is
> that the environment interacts a lot with the compiler or
> interpreter. I.e. the editor can access data structures more or less
> internal to the compiler. Or put another way, the program text (in
> particular for Lisp) is treated as data by the compilation/development
> system. Could this be achieved with Haskell?
This requires much more infrastructure. You'd need something on the order of
SML/NJ's "visible compiler", I guess.
--
Frank Atanassow, Dept. of Computer Science, Utrecht University
Padualaan 14, PO Box 80.089, 3508 TB Utrecht, Netherlands
Tel +31 (030) 253-1012, Fax +31 (030) 251-3791