## type-type.api -- typecheck a type.
# Compiled by:
#
src/lib/compiler/front/typer/typer.sublib### "The perplexing subject of polymorphism."
###
### -- Charles Darwin
### Life & Letters, 1887
stipulate
package ds = deep_syntax; # deep_syntax is from
src/lib/compiler/front/typer-stuff/deep-syntax/deep-syntax.pkg package err = error_message; # error_message is from
src/lib/compiler/front/basics/errormsg/error-message.pkg package ip = inverse_path; # inverse_path is from
src/lib/compiler/front/typer-stuff/basics/symbol-path.pkg package lnd = line_number_db; # line_number_db is from
src/lib/compiler/front/basics/source/line-number-db.pkg package raw = raw_syntax; # raw_syntax is from
src/lib/compiler/front/parser/raw-syntax/raw-syntax.pkg package syx = symbolmapstack; # symbolmapstack is from
src/lib/compiler/front/typer-stuff/symbolmapstack/symbolmapstack.pkg package trs = typer_junk; # typer_junk is from
src/lib/compiler/front/typer/main/typer-junk.pkg package tvs = typevar_set; # typevar_set is from
src/lib/compiler/front/typer/main/type-variable-set.pkg package tdt = type_declaration_types; # type_declaration_types is from
src/lib/compiler/front/typer-stuff/types/type-declaration-types.pkg package xtc = expand_type; # expand_type is from
src/lib/compiler/front/typer/modules/expand-type.pkg# package vac = variables_and_constructors; # variables_and_constructors is from
src/lib/compiler/front/typer-stuff/deep-syntax/variables-and-constructors.pkgherein
api Type_Type {
#
type_type: ( raw::Any_Type,
syx::Symbolmapstack,
err::Error_Function,
lnd::Source_Code_Region
)
->
( tdt::Typoid,
tvs::Typevar_Set
);
type_typevar_list: ( List( raw::Typevar ),
err::Error_Function,
lnd::Source_Code_Region
)
->
List( tdt::Typevar_Ref );
type_type_declaration: ( List( raw::Named_Type ),
syx::Symbolmapstack,
ip::Inverse_Path,
lnd::Source_Code_Region,
trs::Per_Compile_Stuff
)
->
( ds::Declaration,
syx::Symbolmapstack
);
type_sumtype_declaration: ( { sumtypes: List( raw::Sumtype ),
with_types: List( raw::Named_Type )
},
syx::Symbolmapstack,
xtc::Api_Context,
typerstore::Typerstore,
(tdt::Type -> Bool),
ip::Inverse_Path,
lnd::Source_Code_Region,
trs::Per_Compile_Stuff
)
->
( List( tdt::Type ),
List( tdt::Type ),
List( tdt::Valcon ),
syx::Symbolmapstack
);
debugging: Ref( Bool );
}; # Api Type_Type
end;
## COPYRIGHT (c) 1998 Bell Laboratories
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.