## 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.