## more-type-types.api
#
# Types for core predefined stuff: void, bools, chars, ints, strings, lists, tuples, records,
# plus somewhat more exotic stuff like exceptions, fates, suspensions and spinlocks.
# Compiled by:
#
src/lib/compiler/front/typer/typer.sublibstipulate
package sta = stamp; # stamp is from
src/lib/compiler/front/typer-stuff/basics/stamp.pkg package tdt = type_declaration_types; # type_declaration_types is from
src/lib/compiler/front/typer-stuff/types/type-declaration-types.pkg package vh = varhome; # varhome is from
src/lib/compiler/front/typer-stuff/basics/varhome.pkgherein
api More_Type_Types {
#
arrow_stamp: sta::Stamp;
arrow_type: tdt::Type;
--> : (tdt::Typoid, tdt::Typoid) -> tdt::Typoid;
is_arrow_type: tdt::Typoid -> Bool;
domain: tdt::Typoid -> tdt::Typoid;
range: tdt::Typoid -> tdt::Typoid;
int_type: tdt::Type; int_typoid: tdt::Typoid;
int1_type: tdt::Type; int1_typoid: tdt::Typoid;
int2_type: tdt::Type; int2_typoid: tdt::Typoid;
multiword_int_type: tdt::Type; multiword_int_typoid:tdt::Typoid;
float64_type: tdt::Type; float64_typoid: tdt::Typoid;
unt_type: tdt::Type; unt_typoid: tdt::Typoid;
unt8_type: tdt::Type; unt8_typoid: tdt::Typoid;
unt1_type: tdt::Type; unt1_typoid: tdt::Typoid;
unt2_type: tdt::Type; unt2_typoid: tdt::Typoid;
string_type: tdt::Type; string_typoid: tdt::Typoid;
char_type: tdt::Type; char_typoid: tdt::Typoid;
exception_type: tdt::Type; exception_typoid: tdt::Typoid;
fate_type: tdt::Type;
control_fate_type: tdt::Type;
rw_vector_type: tdt::Type;
ro_vector_type: tdt::Type;
chunk_type: tdt::Type;
c_function_type: tdt::Type;
un8_rw_vector_type: tdt::Type;
float64_rw_vector_type: tdt::Type;
spinlock_type: tdt::Type;
void_type: tdt::Type;
void_typoid: tdt::Typoid;
record_typoid: List( (tdt::Label, tdt::Typoid) ) -> tdt::Typoid;
tuple_typoid: List( tdt::Typoid ) -> tdt::Typoid;
# Get the types of a tuple-type's fields
get_fields: tdt::Typoid -> Null_Or( List( tdt::Typoid ) );
bool_signature: vh::Valcon_Signature;
bool_type: tdt::Type;
bool_typoid: tdt::Typoid;
false_valcon: tdt::Valcon;
true_valcon: tdt::Valcon;
# Unnecessary; removed by appel
#
# my optionTyp: tdt::Type
# my NONEDcon: tdt::Valcon
# my SOMEDcon: tdt::Valcon
ref_type: tdt::Type;
ref_pattern_typoid: tdt::Typoid;
ref_valcon: tdt::Valcon;
list_type: tdt::Type;
nil_valcon: tdt::Valcon;
cons_valcon: tdt::Valcon;
unrolled_list_type: tdt::Type;
unrolled_list_nil_valcon: tdt::Valcon;
unrolled_list_cons_valcon: tdt::Valcon;
antiquote_fragment_type: tdt::Type; # These three support a nonstandard undocumented antiquote language extension
antiquote_valcon: tdt::Valcon;
quote_valcon: tdt::Valcon;
suspension_type: tdt::Type;
suspension_pattern_typoid: tdt::Typoid;
dollar_valcon: tdt::Valcon;
}; # Api More_Type_Types
end;
## Copyright 1996 by AT&T Bell Laboratories
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.