> GOO is not a Microsoft invention, and nor is it part of Microsoft's
> .NET stuff.  GOO is an intermediate language that was, AFAIK, invented
> by the Mondrian group.  It might be described in the following paper:
> 
>         Erik Meijer and Koen Claessen. The Design and Implementation of
>         Mondrian. In Proc. Haskell Workshop, 1997.

To follow on and answer Fergus' comments:

GOO originally was simply a Haskell AST of a simplification of Java/C#,
nothing more, nothing less. It was used inside one version of the
Mondrain compiler, and it migrated into GHC as part of the .NET effort.
The GHC version of GOO quickly moved away for the Mondrain version, as
development continued (specifically, the GHC GOO was typed, so it could
support the unboxed types used deep inside GHC)

So, GOO was just a name for an intermediate language. It was used as part
of the .NET effort, but was an internal to Haskell thing, not a MS thing.

I think that GOO was broadly equivalent to the low level intermediate
language in the Mercury compiler; a nice language to generate just
before dumping out code.

At least Haskell has interesting names for its intermediate languages :-)

Andy Gill
Haskell Compiler Hacker


Reply via email to