-
Notifications
You must be signed in to change notification settings - Fork 6
moduleexpression
Norbert Preining edited this page Oct 6, 2017
·
2 revisions
In various syntax elements not only module names itself, but whole module expressions can appear. A typical example is
open <mod_exp> .
which opens a module expression. The following constructs are supported:
module name ~ using the name of a module
renaming
~ <mod_exp> * { <mappings> }
This expressions describes a new module where sort and/or
operators are renamed.
`<mappings>` are like in the case of [`view`](/CafeOBJ/cafeobj/wiki/view) a comma
separated list of mappings of either sorts (`sort` and `hsort`) or
operators (`op` and `bop`). Source names may be qualified, while
target names are not, they are required to be new names. Renaming
is often used in combination with [instantiation](/CafeOBJ/cafeobj/wiki/instantiation).
summation
~ <mod_exp> + <mod_exp>
This expression describes a module consisting of all the module
elements of the summands. If a submodule is imported more than
once, it is assumed to be shared.
CafeOBJ Reference Manual (c) 2015-2018 CafeOBJ Development Team