|
|
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:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.