standard DIS | Haskell type | C type | comments |
---|---|---|---|
int i | Int | int | |
char c | Char | char | |
bool b | Bool | int | 0 for False, 1 for True |
float f | Float | float | |
double d | Double | double | |
string s | String | char* | Persistence not required in either direction |
addr a | Addr | void* | An immovable C address |
foreign f r | ForeignObj | void* | r is the finalisation routine |
stable s | a | HaskellRef | HaskellRef is just an index into the stable pointer table. |