PreviousUpNext

15.3.209  src/lib/compiler/back/top/highcode/highcode-basetypes.api

## highcode-basetypes.api 

# Compiled by:
#     src/lib/compiler/core.sublib



###               "A mathematician is a device for
###                turning coffee into theorems."
###
###                           -- Paul Erdos


# This api is implemented in:
#
#     src/lib/compiler/back/top/highcode/highcode-basetypes.pkg
#
api Highcode_Basetypes {

    eqtype Basetype;

    # The base type constructors:
    # 
    basetype_tagged_int:                Basetype; 
    basetype_int1:                      Basetype; 
    basetype_float64:                   Basetype; 
    basetype_string:                    Basetype; 
    basetype_exception:                 Basetype; 
    basetype_truevoid:                  Basetype;               # "truevoid" is the "void" that existed before we renamed "unit" to "void" to make C programmers feel at home. Internal use only, usually means "unknown" or "undefined" or such.
    #
    basetype_rw_vector:                 Basetype; 
    basetype_vector:                    Basetype; 
    basetype_ref:                       Basetype; 
    basetype_list:                      Basetype;               #  Currently not used 
    basetype_exception_tag:             Basetype;
    #
    basetype_fate:                      Basetype; 
    basetype_control_fate:              Basetype; 
    basetype_arrow:                     Basetype; 
    basetype_option:                    Basetype;               # "option" is the old name for "null_or".
    #
    basetype_chunk:                     Basetype; 
    basetype_cfun:                      Basetype;               # "cfun" is probably "C function" -- presumably related to matthias blume's raw_c_call stuff.
    basetype_byte_rw_vector:            Basetype;
    basetype_float64_rw_vector:         Basetype;
    basetype_spinlock:                  Basetype;


    # my primTypeCon_boxed:             Basetype 
    # my primTypeCon_tgd:               Basetype 
    # my primTypeCon_utgd:              Basetype 
    # my primTypeCon_tnsp:              Basetype 
    # my primTypeCon_dyn:               Basetype  


    # Misc utility functions on Basetype 
    #
    basetype_arity:                     Basetype -> Int;
    basetype_to_string:                 Basetype -> String;

    # Hash-consing each prim Type 
    #
    basetype_to_int:                    Basetype -> Int;
    basetype_from_int:                  Int -> Basetype;

    basetype_is_unboxed:                Basetype -> Bool;                                       # Check the boxity of values of each prim Type 

    bxupd:                              Basetype -> Bool;
    ubxupd:                             Basetype -> Bool;

    isvoid:                             Basetype -> Bool;
};



## Copyright 1996 by AT&T Bell Laboratories 
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext