Hi

Neil Mitchell is working on a ultra-optimizing C backend for Yhc.
Frankly this incongruity scares me.

It's currently looking like being an ultra-optimizing Haskell backend
- I don't quite have the time to get down to the C. Its still
something I do want to do one day though...

If you can't squeeze yhi, you can always rewrite it.  Yhc bytecode is
the best documented Haskell IR in existance; it took me a week and ~8
kbytes to produce a (throwaway prototype) implementation of most of
yhi in Intel assembly.

Also, the FFI is *mandatory* (Tom correct me), since all of Yhc's
primops are pure (unlike GHC) - so FFI calls are the only way to
perform IO.  You might be able to revert to the nhc-ffi
implementation, baking a set of allowable foreign functions into the
interpreter.  Also, gmp is bound using the FFI.

It is currently mandatory, but the intention was to move back to baked
in operations for the things in interpreter. The initial reason for
moving everything into FFI was to test the FFI out. Our hope is that
the interpreter can be parameterised (using #define) to remove the
dependence of libffi and libgmp, to result in a smaller binary and
less portability concerns - although those two libraries would be the
standard on a normal computer.

Thanks

Neil
_______________________________________________
Yhc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/yhc

Reply via email to