lambda-calculator-3.0.0: src/Language/Lambda/SystemF.hs
module Language.Lambda.SystemF (
Globals(),
evalText,
module Language.Lambda.SystemF.Expression,
module Language.Lambda.SystemF.Parser,
module Language.Lambda.SystemF.State
) where
import Control.Monad.Except
import RIO
import qualified RIO.Text as Text
import qualified Data.Map as Map
import Language.Lambda.Shared.Errors
import Language.Lambda.SystemF.Expression
import Language.Lambda.SystemF.Parser
import Language.Lambda.SystemF.State
type Globals = Map.Map String (SystemFExpr String String)
evalText :: Text -> Typecheck Text (SystemFExpr Text Text)
evalText text = case parseExpr text of
Left err -> throwError $ ParseError $ Text.pack $ show err
Right res -> return res