module Minilang.Lambda.Eval where
import Data.Text (Text, unpack)
import Debug.Trace (trace)
data Term
= Var Text
| Lam Text Term
| App Term Term
deriving (Show, Read, Eq)
type Env = [(Text, Term)]
newEnv :: Env
newEnv = []
-- call-by-value evaluator
eval :: Term -> Env -> Term
eval = undefined
evalNeed :: Term -> Env -> Term
evalNeed = undefined