module Flatten where
import CoreSyn
import qualified Type
+import qualified Name
import qualified TyCon
+import qualified Maybe
import qualified CoreUtils
import qualified Control.Monad.State as State
let binds' = (b, Left defs):binds
flattenExpr binds' expr
+flattenExpr binds (Var id) =
+ case bind of
+ Left sig_use -> return ([], sig_use)
+ Right _ -> error "Higher order functions not supported."
+ where
+ bind = Maybe.fromMaybe
+ (error $ "Argument " ++ Name.getOccString id ++ "is unknown")
+ (lookup id binds)
+
flattenExpr _ _ = do
return ([], Tuple [])