Skip to content

Instantly share code, notes, and snippets.

@pscollins
Created August 10, 2014 11:23
Show Gist options
  • Save pscollins/73d8b174be04d147afc9 to your computer and use it in GitHub Desktop.
Save pscollins/73d8b174be04d147afc9 to your computer and use it in GitHub Desktop.
sml-mode bug
datatype type_node
= Param of TyParam.t
| LongId of LongTyId.t * tyargs_t option
| Record of field_t list
| Tuple of type_t list
| Fun of type_t list * type_t list option * type_t list
| Any
| VProc
| Cont of tyargs_t option
| Addr of type_t
and tyargs_node
= ArgTypes of type_t list
and dataconsdef_node
= ConsDef of BomId.t * type_t option
and field_node
= Immutable of IntInf.int * type_t
| Mutable of IntInf.int * type_t
and fundef_node
= Def of Attrs.t option * BomId.t * TyParams.t option
* varpat_t list option * varpat_t list option * type_t list option * exp_t
and varpat_node
= Wild of type_t option
| Var of BomId.t * type_t option
and caserule_node
= LongRule of LongConId.t * varpat_t list option * exp_t
| LiteralRule of Literal.t * exp_t
| DefaultRule of varpat_t * exp_t
and tycaserule_node
= TyRule of type_t * exp_t
| Default of exp_t
and simpleexp_node
= PrimOp of PrimTycons.tycon * simpleexp_t list
| AllocId of LongValueId.t * simpleexp_t list
| AllocType of tyargs_t * simpleexp_t list
| AtIndex of IntInf.int * simpleexp_t * simpleexp_t option
| TypeCast of type_t * simpleexp_t
| HostVproc
| VpLoad of IntInf.int * simpleexp_t
| VpAddr of IntInf.int * simpleexp_t
| VpStore of IntInf.int * simpleexp_t * simpleexp_t
| Id of LongValueId.t
| Lit of Literal.t
| MLString of IntInf.int vector
and exp_node
= Let of varpat_t list * rhs_t * exp_t
| Do of simpleexp_t * exp_t
| FunExp of fundef_t list * exp_t
| ContExp of BomId.t * varpat_t list option * exp_t * exp_t
| If of simpleexp_t * exp_t * exp_t
| Case of simpleexp_t * caserule_t list
| Typecase of TyParam.t * tycaserule_t list
| Apply of LongValueId.t * simpleexp_t list option * simpleexp_t list option
| Throw of BomId.t * tyargs_t option * simpleexp_t list option
| Return of simpleexp_t list option
and rhs_node
= Composite of exp_t
| Simple of simpleexp_t
withtype type_t = type_node Wrap.t
and tyargs_t = tyargs_node Wrap.t
and dataconsdef_t = dataconsdef_node Wrap.t
and field_t = field_node Wrap.t
and fundef_t = fundef_node Wrap.t
and varpat_t = varpat_node Wrap.t
and caserule_t = caserule_node Wrap.t
and tycaserule_t = tycaserule_node Wrap.t
and simpleexp_t = simpleexp_node Wrap.t
and exp_t = exp_node Wrap.t
and rhs_t = rhs_node Wrap.t
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment