-----Original Message-----
From: Simon Peyton-Jones 
Sent: 08 September 2000 14:35
To: Hans Aberg; Hugs Bugs
Subject: RE: STG Hugs question


| If now Hugs STG share the same kernel with GHC, does it run on such an
| kernel, or is STG Hugs entirely written in C? Does GHC still 
| have such a
| assembler compiled kernel, or is that kernel nowadays written in C?

STG Hugs uses the same run-time system as GHC. This 
runtime system is written in C.  However, as I mentioned a couple
of months ago (see excerpt below), STG Hugs's future is very much in doubt.
We are
currently pursuing Plan B (GHCi).

Simon

=================================================
The future of Hugs and GHC
~~~~~~~~~~~~~~~~~~~~~~~~~~
Our plan for some while has been to support both GHC and Hugs.  In
particular, many of you will know that we planned to make it possible 
for Hugs to load and run GHC-compiled modules.   The new version
of Hugs capable of doing this is "STG Hugs". 

There have always been substantial costs in this approach, notably the
costs of maintaining two complete front ends (parser, module resolver,
typechecker, desugarer etc) for a very large, and still evolving,
language.  It has gradually become clear that there just isn't enough
effort available among the Haskell implementors to support two front
ends.   

So, taking a deep breath, we have instead at least provisionally
adopted Plan B, namely to build an interactive system on top of
GHC.  At least one of its user interfaces would look exactly like
the curent Hugs.  There is plenty of precendent for this approach
(hbi, Caml, etc); indeed the main reason we have avoided it to
date is because Hugs was so good and so widely used already.

Implementing Plan B will take a while.  We will have to do
a significant amount of re-engineering work on GHC's front end.
But we should get an interesting system.  In particular, as
well as being an interactive system, the batch version will
know a lot more about cross-module dependencies, and 
(at least within a single run) won't need to read interface
files for the modules it has already compiled.  Result should
be much faster batch compilation for multi-module programs.

[It's not clear what we should call the new thing.  GHCi?]

We will lose some of Hugs's excellent portability (compile these
10 C files and away you go).  If you want that you'll have to 
use Classic Hugs, which will remain available from OGI.

Reply via email to