[m-dev.] Thinking about a "Mercury Report" type document.

Ralph Becket rafe at cs.mu.OZ.AU
Thu Nov 8 14:06:51 AEDT 2001


I've been thinking about the feasibility of putting together a
document (say 10-20 pages) describing in resonably formal terms
everything you need to know to put a working Mercury compiler
together - the document would not address issues of optimization,
code generation or (probably) syntactic sugar.



The document would need at least the following:

A definition of the "core" mercury syntax (omitting sugar,
name munging, foreign language interface etc.)

A definition of the type system (it would be nice to include
type classes, but v1.0 of the document could probably omit them.)

A formal description of type inference for Mercury.

A definition of the inst and mode systems.

A formal description of mode inference for Mercury.

A definition of the superhomogeneous normal form (SHNF) syntax
(it would be nice to include impurity, but v1.0 of the document
could probably omit it.)

A formal description of the translation from core Mercury syntax
to SHNF.

An operational semantics for SHNF.



At the very least it would make a good journal paper and might
even encourage somebody to have a go at writing another compiler.

I've probably missed several important things off the list;  I've
almost certainly underestimated the difficulty of presenting some
of the above.  Either way, I'd like to hear people's opinions.

- Ralph
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list