towards compilability with non-ghc
Isaac Dupree
isaacdupree at charter.net
Tue May 29 06:28:24 EDT 2007
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Malcolm Wallace wrote:
> Isaac Dupree <isaacdupree at charter.net> wrote:
>
>> know how close GHC's stage1 code
>> is to compilability with other compilers?
>
> AFAIK, ghc's source code primarily uses only two main extensions beyond
> the Haskell language - unboxed values, and pattern guards. To a large
> extent, GHCi will also rely on having its own runtime system available,
> but then that is not a stage-1 issue.
Oh my, pattern guards were implemented in GHC that long ago? seems so.
And seems that hugs, yhc and nhc98 don't implement them presently (not
sure about jhc as I don't have a working copy presently,
http://hackage.haskell.org/trac/haskell-prime/wiki/HaskellExtensions
says no, but it's in development enough that they could probably be
implemented in it reasonably...)
- From my inspection so far, the only uses of unboxed values are in
stage2, and in those few Fast* library modules which can/already have
"ifdef ghc" sections. I'll make them have as close as possible to
matching strictness characteristics (e.g. fastOr, FastMutInt's contents)
; although I can't make them automatically, when passed as arguments, be
strict as is the nature of the unboxed.
Aside from cpp, GHC also requires unsafePerformIO - both for efficient
FastString comparison/storage, and for various GLOBAL_VARs.
Isaac
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFGXABHHgcxvIWYTTURAv+tAJ4/qna1j495BZtOCppODl2p4He2jACfWpJV
Wav0ZaLu5S3K+AbsnbdQg3o=
=hVZI
-----END PGP SIGNATURE-----
More information about the Cvs-ghc
mailing list