Hi Conal,

| Would it be reasonably easy to add Int64 (long long) support to the Hugs
| implementation of the GHC/Hugs shared Int module (lib/exts/Int.hs)?  I
| need it for a HaskellDirect-generated interface?

I can think of two ways that this might be accomplished.  The first would
be to add a new primitive datatype, and corresponding operations.  I don't
know if long long is supported on all the platforms that we target, but
it could be a build-time configuration option.  The second would be to
code things up in Haskell, for example using:

   data Int64 = I64 Int32 Int32

(or perhaps just using Integer).  This would probably be slower, and
more painful to implement, but perhaps more portable.

A third alternative would be simply to define:

   type Int64 = Int32

Of course this would be dangerous if you thought that your particular
application might need more than 32 bits of each Int64 value.  But it
might also be a quick workaround in some situations until somebody finds
the time to build a proper Int64 implementation.

All the best,
Mark

Reply via email to