summaryrefslogtreecommitdiff
path: root/lambda-calcul/haskell/test/Minilang/Lambda/ParserSpec.hs
diff options
context:
space:
mode:
authorArnaud Bailly <arnaud@pankzsoft.com>2025-10-17 16:49:32 +0200
committerArnaud Bailly <arnaud@pankzsoft.com>2025-10-17 16:49:32 +0200
commit3b20f8a9e85696b86f698e1bdbdbd31b786b77c2 (patch)
tree3f8f7bbc3df51c1313fc9d1796b9650a76024d40 /lambda-calcul/haskell/test/Minilang/Lambda/ParserSpec.hs
parentdee78cba2ec18da811fd6f0499efe1bd27ad34e5 (diff)
downloadlambda-nantes-3b20f8a9e85696b86f698e1bdbdbd31b786b77c2.tar.gz
feat: parses single application
Diffstat (limited to 'lambda-calcul/haskell/test/Minilang/Lambda/ParserSpec.hs')
-rw-r--r--lambda-calcul/haskell/test/Minilang/Lambda/ParserSpec.hs3
1 files changed, 3 insertions, 0 deletions
diff --git a/lambda-calcul/haskell/test/Minilang/Lambda/ParserSpec.hs b/lambda-calcul/haskell/test/Minilang/Lambda/ParserSpec.hs
index ea7cd89..b52017a 100644
--- a/lambda-calcul/haskell/test/Minilang/Lambda/ParserSpec.hs
+++ b/lambda-calcul/haskell/test/Minilang/Lambda/ParserSpec.hs
@@ -20,6 +20,9 @@ spec = parallel $ do
nestedAbs = Abs vars (Sym body)
in parse ("(lam (" <> Text.unwords vars <> ") " <> body <> ")") `shouldBe` Right nestedAbs
+ prop "parses an application" $ \(Identifier ident1) (Identifier ident2) ->
+ parse ("(" <> ident1 <> " " <> ident2 <> ")") `shouldBe` Right (App (Sym ident1) (Sym ident2))
+
newtype Identifier = Identifier {unIdent :: Text}
deriving (Eq, Show)