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(); */  /* */
Last modified: 1985-08-27
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 598
Valid CSS Valid XHTML 1.0 Strict