diff options
| author | Arnaud Bailly <arnaud@pankzsoft.com> | 2025-10-28 20:14:16 +0100 |
|---|---|---|
| committer | Arnaud Bailly <arnaud@pankzsoft.com> | 2025-10-28 20:14:16 +0100 |
| commit | 1d1f0efc7de1eaa0c8a6b503892c2f950008fde6 (patch) | |
| tree | bd2e2ea5963d8a208d302854502f580d8ffd73cb /lambda-calcul/haskell/test/Minilang/Lambda/DeBruijnSpec.hs | |
| parent | a210419fd60c00d011f70fb1b968031621e4c01a (diff) | |
| download | lambda-nantes-1d1f0efc7de1eaa0c8a6b503892c2f950008fde6.tar.gz | |
wip: port REPL from minilang
Diffstat (limited to 'lambda-calcul/haskell/test/Minilang/Lambda/DeBruijnSpec.hs')
| -rw-r--r-- | lambda-calcul/haskell/test/Minilang/Lambda/DeBruijnSpec.hs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lambda-calcul/haskell/test/Minilang/Lambda/DeBruijnSpec.hs b/lambda-calcul/haskell/test/Minilang/Lambda/DeBruijnSpec.hs index ef8903c..cff047d 100644 --- a/lambda-calcul/haskell/test/Minilang/Lambda/DeBruijnSpec.hs +++ b/lambda-calcul/haskell/test/Minilang/Lambda/DeBruijnSpec.hs @@ -1,8 +1,10 @@ +{-# LANGUAGE TypeApplications #-} module Minilang.Lambda.DeBruijnSpec where import Minilang.Lambda.DeBruijn (DeBruijn (..), eval, toDeBruijn) import qualified Minilang.Lambda.Eval as Eval import Test.Hspec (Spec, it, shouldBe) +import Data.Text (Text) spec :: Spec spec = do @@ -10,9 +12,9 @@ spec = do let term = Eval.Lam "x" (Eval.Lam "y" (Eval.Var "x")) deBruijn = toDeBruijn term - deBruijn `shouldBe` Lam (Lam (Var 1)) + deBruijn `shouldBe` Lam "x" (Lam "y" (Var "x" 1)) it "evaluates deBruijn term" $ do - let term = App (App (Lam (Lam (Var 1))) (Var 12)) (Var 34) + let term = App (App (Lam "x" (Lam "y" (Var "x" 1))) (FV "z")) (FV "t") - eval term `shouldBe` Var 12 + eval @Text term `shouldBe` FV "z" |
