This repository was archived by the owner on Nov 1, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathttype.t
49 lines (49 loc) · 3.92 KB
/
ttype.t
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import as2ty: (Assert->Ttype) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,0" ST #};
import ty2as: (Ttype->Assert) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import hprcontext: ((List Assert)->(List Char)) {# ARITY _ = 1 #}{# STRICTNESS _ = "T,F" ST #};
import getkargs: (Kind->(List Kind)) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import mkkarrows: ((List Kind)->(Kind->Kind)) {# ARITY _ = 2 #}{# STRICTNESS _ = "0,F" ST #};
import show_Kind: (Kind->(List Char)) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import getavars: ((List Assert)->(List TyVar)) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import getallTvars: (Ttype->(List TyVar)) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import is_syn: (Ttype->Bool) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import idecl2type: (IDecl->Ttype) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import cdecl2type: (CDecl->Ttype) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import xmkcontype: ((List Assert)->(Ttype->Ttype)) {# ARITY _ = 2 #}{# STRICTNESS _ = "0,0&1" ST #};
import itype: (IDecl->Ttype) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import iclsname: (IDecl->Id) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import pridecl: (IDecl->(List Char)) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import prcdecl: (CDecl->(List Char)) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import clsname: (CDecl->Id) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import synexpandall: (Ttype->Ttype) {# ARITY _ = 1 #}{# STRICTNESS _ = "T,F" ST #};
import tsubst: ((List (TyVar # Ttype))->(Ttype->Ttype)) {# ARITY _ = 2 #}{# STRICTNESS _ = "1,F" ST #};
import synexpand: (Ttype->Ttype) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import hprttype: (Ttype->(List Char)) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import lprttype: (Ttype->(List Char)) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import cpart: (Ttype->(List Assert)) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import gettinfo: (Id->Tinfo) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import Tstring: Ttype {# ARITY _ = 0 #}{# STRICTNESS _ = "T,T" ST #};
import tname: (Ttype->Id) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import tpart: (Ttype->Ttype) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import eqtype: (Ttype->(Ttype->Bool)) {# ARITY _ = 2 #}{# STRICTNESS _ = "0,F" ST #};
import flattype: (Ttype->Bool) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import getTvars: (Ttype->(List TyVar)) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import tvars: (Int->(List Ttype)) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import Ttuple: (Int->Ttype) {# ARITY _ = 1 #}{# STRICTNESS _ = "T,F" ST #};
import getTconstrs: (Ttype->(List Id)) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import teqid: (Id->(Id->Bool)) {# ARITY _ = 2 #}{# STRICTNESS _ = "0,F" ST #};
import normtype: (Ttype->Ttype) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import Typerec: ((TyVar->*a)->((Id->((List *a)->*a))->((TyVar->((List *a)->*a))->(Ttype->*a)))) {# ARITY _ = 4 #}{# STRICTNESS _ = "3,F" ST #};
import Tvar2: Ttype {# ARITY _ = 0 #}{# STRICTNESS _ = "T,T" ST #};
import Tvar1: Ttype {# ARITY _ = 0 #}{# STRICTNESS _ = "T,T" ST #};
import Tvar: (TyVar->Ttype) {# ARITY _ = 1 #}{# STRICTNESS _ = "T,T" ST #};
import Tarr: (Ttype->(Ttype->Ttype)) {# ARITY _ = 2 #}{# STRICTNESS _ = "T,T" ST #};
import Tdfloat: Ttype {# ARITY _ = 0 #}{# STRICTNESS _ = "T,T" ST #};
import Trational: Ttype {# ARITY _ = 0 #}{# STRICTNESS _ = "T,T" ST #};
import Tinteger: Ttype {# ARITY _ = 0 #}{# STRICTNESS _ = "T,T" ST #};
import Tsfloat: Ttype {# ARITY _ = 0 #}{# STRICTNESS _ = "T,T" ST #};
import Tlist: (Ttype->Ttype) {# ARITY _ = 1 #}{# STRICTNESS _ = "T,T" ST #};
import Tchar: Ttype {# ARITY _ = 0 #}{# STRICTNESS _ = "T,T" ST #};
import Tbool: Ttype {# ARITY _ = 0 #}{# STRICTNESS _ = "T,T" ST #};
import Tint: Ttype {# ARITY _ = 0 #}{# STRICTNESS _ = "T,T" ST #};
import prttype: (Ttype->(List Char)) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};