|
|
1.1 root 1: /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
2:
3: /*
4: $Header: b2tcP.h,v 1.4 85/08/22 16:43:20 timo Exp $
5: */
6:
7: /* polytype representation */
8:
9: typedef value typekind;
10: typedef value polytype;
11:
12: /* accessing, NOT giving new values */
13:
14: typekind kind(); /* polytype u */
15: intlet nsubtypes(); /* polytype u */
16: polytype subtype(); /* polytype u, intlet i */
17: polytype asctype(); /* polytype u */
18: polytype keytype(); /* polytype u */
19: value ident(); /* polytype u */
20:
21: /* MaKe Types, where subtypes are "eaten" */
22:
23: polytype mkt_polytype(); /* typekind k; intlet nsub */
24: /* visible only in bunif.c */
25: /* Procedure putsubtype(); */ /* polytype sub, *pcomp; intlet isub */
26: /* to be used after mkt_polytype or
27: * mkt_compound */
28:
29: polytype mkt_number();
30: polytype mkt_text();
31: polytype mkt_tn();
32: polytype mkt_error();
33: polytype mkt_list(); /* polytype s */
34: polytype mkt_table(); /* polytype k, a */
35: polytype mkt_lt(); /* polytype s */
36: polytype mkt_tlt(); /* polytype s */
37: /* next to be used with putsubtype() calls */
38: polytype mkt_compound(); /* intlet nsub */
39: polytype mkt_var(); /* value id */
40: polytype mkt_newvar();
41:
42: polytype p_copy(); /* polytype u */
43: /* Procedure p_release(); */ /* polytype u */
44:
45: /* predicates */
46:
47: bool are_same_types(); /* polytype u, v */
48: bool have_same_structure();/* polytype u, v */
49:
50: bool t_is_number(); /* typekind k */
51: bool t_is_text(); /* typekind k */
52: bool t_is_tn(); /* typekind k */
53: bool t_is_error(); /* typekind k */
54: bool t_is_list(); /* typekind k */
55: bool t_is_table(); /* typekind k */
56: bool t_is_lt(); /* typekind k */
57: bool t_is_tlt(); /* typekind k */
58: bool t_is_compound(); /* typekind k */
59: bool t_is_var(); /* typekind k */
60: bool has_number(); /* typekind k */
61: bool has_text(); /* typekind k */
62: bool has_lt(); /* typekind k */
63:
64: /* typetable */
65:
66: /* Procedure repl_type_of(); */ /* polytype u, tu */
67: bool table_has_type_of(); /* polytype u */
68: polytype type_of(); /* polytype u */
69: polytype bottom_var(); /* polytype u */
70:
71: /* Procedure usetypetable(); */ /* value t */
72: /* Procedure deltypetable(); */
73:
74: /* init */
75:
76: /* Procedure initpol(); */ /* */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.