blob: 09b2467fccd22c634f8c68b188e4e251135c29c6 (
plain) (
tree)
|
|
definition module trd
// $Id$
from rule import Rule
from graph import Node
from StdOverloaded import ==
/*
`Ruletype theap symtype rule' determines the type of `rule'.
`Theap' must be an endless supply of type variables.
`Symtype' associates type rules with the symbols that occur in `rule'.
If typing does not succeed, the function aborts.
*/
ruletype
:: .[tvar]
((Node sym var) -> Rule tsym trvar)
(Rule sym var)
-> .Rule tsym tvar
| == var
& == tsym
& == tvar
& == trvar
|