-The following syntax may produce new syntax which is not part of the input,
-and which is instead a translation of the input to the typechecker.
-Syntax translations are marked TRANSLATION in comments. New empty
-productions are useful in development but may not appear in the final
-grammar.
-
-Collections of bindings, created by dependency analysis and translation:
-
-\begin{code}
-data HsBinds id pat -- binders and bindees
- = EmptyBinds
-
- | ThenBinds (HsBinds id pat)
- (HsBinds id pat)
-
- | MonoBind (MonoBinds id pat)
- [Sig id] -- Empty on typechecker output
- RecFlag
-\end{code}
-
-\begin{code}
-nullBinds :: HsBinds id pat -> Bool
-
-nullBinds EmptyBinds = True
-nullBinds (ThenBinds b1 b2) = nullBinds b1 && nullBinds b2
-nullBinds (MonoBind b _ _) = nullMonoBinds b
-\end{code}