[Haskell] Improvements to GHC

Ketil Malde ketil at ii.uib.no
Thu Nov 17 04:03:00 EST 2005

John Lask wrote:

> I would like to sound out the Haskell community on what the feeling 
> are most desirable to improve the "commerciality" (i.e. its general 
> use) of ghc and Haskell in general (as distinct from feature set)

I think more standardization on an extended feature set would be nice.  
It has gotten better, and is still improving.  Still, it would be nice 
to be able to say that something is valid "haskell 05", instead of -98.

> 1)  GHC runtime to be dynamically loaded.

Why does this matter?  Is anybody really running many, distinct Haskell 
programs simulatneously?  I always compile with -optl-static anyway, 
just to avoid possible breakage when binaries are moved between machines.

> 2)  Improving Haskell support for records.

Right - the problem is that nobody seems to agree exactly how to do 
this.  I like the fact that record access looks like (is?) a simple 
function application, and conversely, dislike that the record update 
syntax is different.

>    To date this issue has not been tackled in any meaningful way, 
> perhaps we can continue
>     to use cpp but for the sake of portability

I think it was Simon that said that most uses of CPP directives was 
adaption to Windows vs. Unix.  My only(?) use is to provide file names 
and line numbers for exceptions (e.g. #define head (\x -> case x of 
{(x1:_) -> x1; [] -> error "head: empty list (__FILE__:__LINE__)") -- or 
something like that).  Unfortunately, CPP doesn't support macros for 
infix operators (array dereference, for instance).

> 4) Taking up the issue of portability and byte codes in a recent thread.
>     The lvm used in the helium compiler perhaps offers the opportunity 
> of defining a standard
>     Haskell byte code platform which other compilers can target for 
> instance ghc/hugs 

Personally, I fail to see why this is so important - well, I guess if 
you want to distribute proprietary (closed-source) software and hope 
that suffices to compile and test it on only one platform.  IMO, this 
isn't true of  Java, and this model only manages to combine the 
disadvantages of compilation with the drawbacks of interpretation.  :-)

Anyway, Microsoft's CLR might also work, and I think there was some work 
in that direction.


More information about the Haskell mailing list