6 enum basictype
{btbool
, btchar
, btint
, btvoid
};
8 enum {tarrow
,tbasic
,tlist
,ttuple
,tvar
} type
;
14 enum basictype tbasic
;
24 struct type
*type_arrow(struct type
*l
, struct type
*r
);
25 struct type
*type_basic(enum basictype type
);
26 struct type
*type_list(struct type
*type
);
27 struct type
*type_tuple(struct type
*l
, struct type
*r
);
28 struct type
*type_var(char *ident
);
30 void type_print(struct type
*type
, FILE *out
);
31 void type_free(struct type
*type
);
33 struct type
*type_dup(struct type
*t
);
34 void type_ftv(struct type
*r
, int *nftv
, char ***ftv
);