Annotation of researchv10no/cmd/sml/src/basics/basics1.sig, revision 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.