aboutsummaryrefslogtreecommitdiff
path: root/sucl/absmodule.dcl
blob: fa815651ca5ca1d7e8ff75fb502bb7348a3f0e51 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
definition module absmodule

// $Id$

from rule import Rule

:: Module sym pvar tsym tvar
   = { arities             :: [(sym,Int)]               // Arity of each symbol
     , typeconstructors    :: [(tsym,[sym])]            // All constructor symbols of each declared algebraic type
     , exportedsymbols     :: [sym]                     // Exported function/constructor symbols
     , typerules           :: [(sym,Rule tsym tvar)]    // Principal types of symbols
     , stricts             :: [(sym,[Bool])]            // Strict arguments of functions
     , rules               :: [(sym,[Rule sym pvar])]   // Rewrite rules of each symbol, absent if imported
     }