packages feed

uhc-light-1.1.8.7: src/UHC/Light/Compiler/EHC/BuildFunction/Run.hs

{-# LANGUAGE GADTs #-}

module UHC.Light.Compiler.EHC.BuildFunction.Run
( runBFun )
where
import UHC.Light.Compiler.EHC.BuildFunction
import UHC.Light.Compiler.EHC.CompileRun
import UHC.Light.Compiler.EHC.CompileUnit

{-# LINE 29 "src/ehc/EHC/BuildFunction/Run.chs" #-}
runBFun :: EHCCompileRunner m => BFun res -> EHCompilePhaseT m res
runBFun bfun = do
    case bfun of
      -- Applicative part
      Pure res -> return res
      App  f a -> do
          f' <- runBFun f
          a' <- runBFun a
          return $ f' a'

      -- The actual work
      EcuOf modNm -> do
           return undefined
      _ -> return undefined