patch applied (hat): (1) An earlier change introduced a wrapper function allowing
Wed Nov 22 08:49:00 PST 2000 malcolm * (1) An earlier change introduced a wrapper function allowing 'foreign import's always to have a pure (non-I/O) type. We now do the same thing for 'foreign export's, creating a wrapper that uses 'unsafePerformIO'. (FFITrans.hs) (2) So the generation of the C-code for foreign imports and exports can be simplified substantially now. (Foreign.hs) (3) We also take this opportunity to reverse the earlier decision to handle tupled result types in the compiler. Simply treat them like any other non-primitive type - i.e. pass it as a single heap value. (Tools like GreenCard can do some extra work here if needed.) (4) Improve the printing of type names in reports about foreign calls. M ./src/compiler98/FFITrans.hs -5 +35 M ./src/compiler98/Foreign.hs -81 +125 M ./src/compiler98/TokenId.hs +3 M ./src/compiler98/TokenInt.hs -1 +2
participants (1)
-
Malcolm Wallace