File: gc-type.sig

package info (click to toggle)
mlton 20210117%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 58,464 kB
  • sloc: ansic: 27,682; sh: 4,455; asm: 3,569; lisp: 2,879; makefile: 2,347; perl: 1,169; python: 191; pascal: 68; javascript: 7
file content (34 lines) | stat: -rw-r--r-- 964 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
(*
 * Abstract interface for GC types.
 *)
signature GC_TYPE =
sig

   type gctype 
   type ty = int  (* width of addressing mode *)

   val CONST  : IntInf.int -> gctype                   (* integer constant *) 

   val INT    : gctype                          (* machine integer *)
   val REAL32 : gctype                          (* machine float *)
   val REAL64 : gctype                          (* machine float *)
   val PTR    : gctype                          (* gc pointers *)

   val ADD    : ty * gctype * gctype -> gctype  (* address arithmetic *)
   val SUB    : ty * gctype * gctype -> gctype  (* address arithmetic *)
   val BOT    : gctype
   val TOP    : gctype

   val ==     : gctype * gctype -> bool
   val join   : gctype * gctype -> gctype
   val meet   : gctype * gctype -> gctype

   val toString : gctype -> string

   (*
    * Annotations for gc type
    *)
   exception GCTYPE of gctype
   val GC_TYPE : gctype Annotations.property

end