val import_interface :
TypeCore.env -> Module.name -> SurfaceSyntax.interface -> TypeCore.env
import_interface env mname iface, which will import the surface syntax interface
iface, belonging to module
env. Obtaining the surface syntax interface is the job of the driver.
This will perform several tasks. First, value definitions and data type
definitions will be bound in
env. Second, the inner kind-checking
env will be extended with bindings of the form "mname::x" to
stand for the variables "x" exported by module "mname".
val check :
TypeCore.env -> SurfaceSyntax.interface -> TypeCore.env
check env iface. We expect
envto be in a specific form, which is attained by
Driverafter a call to
type_check: the kinding environment of
envmust contain non-local, non-qualified names that represent the names exported by the implementation.