Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # module type NOMINALS =
- sig
- type nominal
- end;;
- module type NOMINALS = sig type nominal end
- # module type TERMS =
- sig
- type term
- type pattern
- end;;
- module type TERMS = sig type term type pattern end
- # module type ENVIRONMENTS =
- sig
- type ( 'n, 'v ) env
- end;;
- module type ENVIRONMENTS = sig type ('n, 'v) env end
- # module type VALUES =
- functor (Nominal : NOMINALS) ->
- functor (Term : TERMS) ->
- functor (Env : ENVIRONMENTS) ->
- sig
- type ident = Nominal.nominal
- type term = Term.term
- type ptrn = Term.pattern
- type value =
- Ground of ground
- | Closure of ptrn * term * env
- | BOTTOM
- | UNIT
- and ground =
- Boolean of bool
- | String of string
- | Integer of int
- | Double of float
- | Reification of Term.term
- and env = (ident, value) Env.env
- end;;
- module type VALUES =
- functor (Nominal : NOMINALS) ->
- functor (Term : TERMS) ->
- functor (Env : ENVIRONMENTS) ->
- sig
- type ident = Nominal.nominal
- type term = Term.term
- type ptrn = Term.pattern
- type value =
- Ground of ground
- | Closure of ptrn * term * env
- | BOTTOM
- | UNIT
- and ground =
- Boolean of bool
- | String of string
- | Integer of int
- | Double of float
- | Reification of Term.term
- and env = (ident, value) Env.env
- end
- # module VALUE ( Nominal : NOMINALS ) ( Term : TERMS ) ( Env : ENVIRONMENTS ) : VALUES =
- struct
- type ident = Nominal.nominal
- type term = Term.term
- type ptrn = Term.pattern
- type value =
- Ground of ground
- | Closure of ptrn * term * env
- | BOTTOM
- | UNIT
- and ground =
- Boolean of bool
- | String of string
- | Integer of int
- | Double of float
- | Reification of Term.term
- and env = ( ident, value ) Env.env
- end;;
- Characters 87-461:
- struct
- type ident = Nominal.nominal
- type term = Term.term
- type ptrn = Term.pattern
- type value =
- Ground of ground
- | Closure of ptrn * term * env
- | BOTTOM
- | UNIT
- and ground =
- Boolean of bool
- | String of string
- | Integer of int
- | Double of float
- | Reification of Term.term
- and env = ( ident, value ) Env.env
- end..
- Error: Signature mismatch:
- Modules do not match:
- sig
- type ident = Nominal.nominal
- type term = Term.term
- type ptrn = Term.pattern
- type value =
- Ground of ground
- | Closure of ptrn * term * env
- | BOTTOM
- | UNIT
- and ground =
- Boolean of bool
- | String of string
- | Integer of int
- | Double of float
- | Reification of Term.term
- and env = (ident, value) Env.env
- end
- is not included in
- VALUES
- #
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement