Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Annotation of /sml/trunk/src/compiler/FLINT/plambda/plambda.sig
ViewVC logotype

Annotation of /sml/trunk/src/compiler/FLINT/plambda/plambda.sig

Parent Directory Parent Directory | Revision Log Revision Log


Revision 17 - (view) (download) (as text)
Original Path: sml/branches/SMLNJ/src/compiler/FLINT/plambda/plambda.sig

1 : monnier 16 (* COPYRIGHT (c) 1997 YALE FLINT PROJECT *)
2 :     (* plambda.sig *)
3 :    
4 :     signature PLAMBDA = sig
5 :    
6 :     type tkind = PLambdaType.tkind
7 :     type tyc = PLambdaType.tyc
8 :     type lty = PLambdaType.lty
9 :     type lvar = LambdaVar.lvar
10 :    
11 :     type dataconstr = Symbol.symbol * Access.conrep * lty
12 :    
13 :     datatype con
14 :     = DATAcon of dataconstr * tyc list * lvar
15 :     | INTcon of int
16 :     | INT32con of Int32.int
17 :     | WORDcon of word
18 :     | WORD32con of Word32.word
19 :     | REALcon of string
20 :     | STRINGcon of string
21 :     | VLENcon of int
22 :    
23 :     datatype lexp
24 :     = VAR of lvar
25 :     | INT of int
26 :     | INT32 of Int32.int
27 :     | WORD of word
28 :     | WORD32 of Word32.word
29 :     | REAL of string
30 :     | STRING of string
31 :     | PRIM of PrimOp.primop * lty * tyc list
32 :     | GENOP of dict * PrimOp.primop * lty * tyc list
33 :    
34 :     | FN of lvar * lty * lexp
35 :     | FIX of lvar list * lty list * lexp list * lexp
36 :     | APP of lexp * lexp
37 :     | LET of lvar * lexp * lexp
38 :    
39 :     | TFN of tkind list * lexp
40 :     | TAPP of lexp * tyc list
41 :    
42 :     | RAISE of lexp * lty
43 :     | HANDLE of lexp * lexp
44 :     | ETAG of lexp * lty
45 :    
46 :     | CON of dataconstr * tyc list * lexp
47 :     | SWITCH of lexp * Access.consig * (con * lexp) list * lexp option
48 :    
49 :     | VECTOR of lexp list * tyc
50 :     | RECORD of lexp list
51 :     | SRECORD of lexp list
52 :     | SELECT of int * lexp
53 :    
54 :     | PACK of lty * tyc list * tyc list * lexp
55 :     | WRAP of tyc * bool * lexp
56 :     | UNWRAP of tyc * bool * lexp
57 :    
58 :     withtype dict = {default: lexp, table: (tyc list * lexp) list}
59 :    
60 :     end (* signature PLAMBDA *)

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0