comments on FFI 1.4

Fergus Henderson fjh at
Tue Jun 12 14:22:16 EDT 2001

These comments are based on revision 1.4.  Some of these comments may
be obsolete, since the discussion on the ffi mailing list indicates the
design has changed since then.

In section 1, Introduction:
        - the wording here could be improved by saying explicitly that
	maximal convience is not a design goal (currently it hints at that
	but doesn't say it explicitly)
        - it might help to talk more about different kinds of portability;
	portability between different Haskell implementations,
	between different foreign language installations,
	between different operating systems, hardware architectures, etc.,;
	source portability versus binary portability;
	and to explain more clearly which of these this proposal is trying
	to address.

In section 1.2,
        - The phrase "on the same machine" should be avoided
	  (see above point about different kinds of portability;
	  this is referring to the wrong kind).
        - Should `CInt' be guaranteed to have the same representation
          as C's `int', or just the same range of values?

In table 1 (Calling conventions):
        - The entries should be listed in alphabetical order
          (or grouped conceptually; the current ordering seems to
          be entirely random).

In section 3,
        - it would help to explain which of these grammar
          rules are extending existing productions (is it just the new rule
          for `topdecl'), and which are productions for new non-terminal
          symbols (all the rest?).

        - Re "the varid before :: could be a `var'": yes, I agree,
          IMHO it should be.

In section 3.1,
        - in /the language in which it is implemented/,
          s/the language/the source language/

Fergus Henderson <fjh at>  |  "I have always known that the pursuit
                                    |  of excellence is a lethal habit"
WWW: <>  |     -- the last words of T. S. Garp.

More information about the FFI mailing list