Annotation of researchv10no/cmd/sml/src/basics/basics1.sig, revision 1.1.1.1

1.1       root        1: (* Copyright 1989 by AT&T Bell Laboratories *)
                      2: (* basicsprime.sig *)
                      3: signature BASICS' = sig    (* derived from TRANSPARENT_BASICS *)
                      4:                               
                      5: (* externals *)    
                      6:     type access (* from Access.access *)
                      7:     type 'a arraykey
                      8:     type 'a arrayconts 
                      9:     type bool
                     10:     type fixity 
                     11:     type int 
                     12:     type label 
                     13:     type 'a list
                     14:     type lvar
                     15:     type 'a option
                     16:     type polysign 
                     17:     type 'a ref
                     18:     type sharespec 
                     19:     type spath 
                     20:     type stamp 
                     21:     type string
                     22:     type symbol (* from Symbol.symbol *)
                     23:     type 'a intmap (* from Intmap.intmap *)
                     24: 
                     25: (* internal types *)
                     26:     type binding 
                     27:     type bool3  
                     28:     type conrep
                     29:     type datacon  
                     30:     type fixityVar
                     31:     type Functor
                     32:     type functorVar   
                     33:     type ind_var 
                     34:     type rowty
                     35:     type signatureVar
                     36:     type stampInfo
                     37:     type strkind
                     38:     type Structure
                     39:     type structureVar 
                     40:     type thinning
                     41:     type trans
                     42:     type tvkind 
                     43:     type ty 
                     44:     type tyckind
                     45:     type tycon
                     46:     type tyfun
                     47:     type tyvar  
                     48:     type var
                     49:                   (* `CONSTRUCTORS' *)
                     50: 
                     51: (*    type bool3  *)
                     52: 
                     53:       val yes: bool3
                     54:       and no: bool3
                     55:       and maybe: bool3
                     56: 
                     57: 
                     58: (*    type fixity *)
                     59: 
                     60:       val Nonfix: fixity
                     61:       and Infix: int * int -> fixity
                     62: 
                     63: 
                     64: (*    type conrep *)
                     65: 
                     66:       val undecided: conrep
                     67:       and tagged: int -> conrep
                     68:       and constant: int -> conrep
                     69:       and transparent: conrep
                     70:       and transu: conrep
                     71:       and transb: conrep
                     72:       and REF: conrep
                     73:       and variable: access -> conrep
                     74: 
                     75: 
                     76: (*    type tvkind *)
                     77: 
                     78:       val ibound: int -> tvkind
                     79:       and meta: int * int * bool -> tvkind
                     80:       and instantiated: ty -> tvkind
                     81:       and ubound: symbol * int * bool -> tvkind
                     82: 
                     83: (*    type datacon  *)
                     84: 
                     85:       val datacon: symbol * bool * ty * conrep * conrep list -> datacon
                     86: 
                     87: (*    type tyckind *)
                     88: 
                     89:       val abstyc: tyckind
                     90:       and deftyc: tyfun -> tyckind
                     91:       and datatyc: datacon list -> tyckind
                     92:       and recordtyc: symbol list -> tyckind
                     93:       and undeftyc: symbol list option -> tyckind
                     94: 
                     95: (*    type tycon *)
                     96: 
                     97:       val tycon: int * int * bool3 ref * symbol list * tyckind -> tycon
                     98:       and indtyc: int list -> tycon
                     99: 
                    100: (*    type ty *)
                    101: 
                    102:       val varty: tvkind ref -> ty
                    103:       and conty: tycon ref * ty list -> ty
                    104:       and flexrecordty: rowty ref -> ty
                    105:       and polyty: (int * bool) list * tyfun -> ty
                    106:       and undefty: ty
                    107:       and errorty: ty
                    108: 
                    109: (*    type rowty *)
                    110: 
                    111:       val Open: (symbol * ty) list -> rowty
                    112:       and closed: ty -> rowty
                    113: 
                    114: (*    type tyfun *)
                    115:       val tyfun: int * ty -> tyfun
                    116: 
                    117: (*    type var *)
                    118: 
                    119:       val valvar: access * symbol * ty ref -> var
                    120:       and ovldvar: symbol * ind_var list ref * tyfun-> var
                    121:       and unknownvar: symbol -> var
                    122: 
                    123: (*    type strkind *)
                    124:       val strkind: symbol list -> strkind
                    125:       and sigkind: ((symbol list * symbol list)list *
                    126:                    (symbol list * symbol list)list) *
                    127:                    binding list * int * int          -> strkind
                    128: 
                    129: (*    type  Structure *)
                    130:       val strstr: int * int * (string * binding) intmap * 
                    131:                   tycon arraykey * Structure arraykey * strkind -> Structure
                    132:       and indstr: int -> Structure
                    133: 
                    134: (*    type  Functor *)
                    135:       val Functor: symbol * Structure * Structure * int -> Functor
                    136: 
                    137: (*    type signatureVar *)
                    138:       val sigvar: symbol * Structure -> signatureVar
                    139: 
                    140: (*    type structureVar *)
                    141:       val strvar: symbol * access * Structure -> structureVar
                    142: 
                    143: (*    type functorVar    *)
                    144:       val fctvar: symbol * access * Functor -> functorVar
                    145: 
                    146: (*    type fixityVar    *)
                    147:       val fixvar: symbol * fixity -> fixityVar
                    148: 
                    149: (*    type binding  *)
                    150:       val varbind: var -> binding
                    151:       and conbind: datacon -> binding
                    152:       and tycbind: tycon ref -> binding
                    153:       and tyvbind: tvkind ref -> binding
                    154:       and sigbind: signatureVar -> binding
                    155:       and strbind: structureVar -> binding
                    156:       and fctbind: functorVar -> binding
                    157:       and fixbind: fixityVar -> binding
                    158: 
                    159: (*    type trans *)
                    160:       val valtrans: access -> trans
                    161:       and thintrans: access * lvar * trans list -> trans
                    162:       and contrans: datacon -> trans
                    163: 
                    164: 
                    165: end (* signature TRANSPARENT_BASICS *)
                    166: 
                    167: 
                    168: 
                    169: 
                    170: 
                    171: 
                    172: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.