diff options
Diffstat (limited to 'sucl/absmodule.dcl')
-rw-r--r-- | sucl/absmodule.dcl | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/sucl/absmodule.dcl b/sucl/absmodule.dcl new file mode 100644 index 0000000..4b22b79 --- /dev/null +++ b/sucl/absmodule.dcl @@ -0,0 +1,13 @@ +definition module absmodule + +from rule import Rule + +:: Module sym pvar tsym tvar + = { exportedtypesymbols :: [tsym] // Exported type symbols (from DCL) + , typealias :: [(tsym,Rule tsym tvar)] // Alias types + , typeconstructors :: [(tsym,[sym])] // All constructor symbols of each declared algebraic type + , exportedsymbols :: [sym] // Exported function/constructor symbols + , aliases :: [(sym,Rule sym pvar)] // Macros + , typerules :: [(sym,Rule tsym tvar,[Bool])] // Info from type rules (actual type and argument strictnesses) + , rules :: [(sym,[Rule sym pvar])] // Rewrite rules of each symbol, absent if imported + } |