diff options
| author | Arnaud Bailly <arnaud@pankzsoft.com> | 2025-10-17 16:54:43 +0200 |
|---|---|---|
| committer | Arnaud Bailly <arnaud@pankzsoft.com> | 2025-10-17 16:54:43 +0200 |
| commit | 0837921dae14ec7f1e6008f1f85cbd056ad2aced (patch) | |
| tree | 61f6f73feead72ca3ec5dbe67196f9b43f12019b /lambda-calcul/haskell/src/Minilang/Lambda/Parser.hs | |
| parent | 3b20f8a9e85696b86f698e1bdbdbd31b786b77c2 (diff) | |
| download | lambda-nantes-0837921dae14ec7f1e6008f1f85cbd056ad2aced.tar.gz | |
feat: parse an application
Diffstat (limited to 'lambda-calcul/haskell/src/Minilang/Lambda/Parser.hs')
| -rw-r--r-- | lambda-calcul/haskell/src/Minilang/Lambda/Parser.hs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lambda-calcul/haskell/src/Minilang/Lambda/Parser.hs b/lambda-calcul/haskell/src/Minilang/Lambda/Parser.hs index e60d761..f18ac74 100644 --- a/lambda-calcul/haskell/src/Minilang/Lambda/Parser.hs +++ b/lambda-calcul/haskell/src/Minilang/Lambda/Parser.hs @@ -13,7 +13,7 @@ type Parser = Parsec Void Text data ParseError = ParseError Text deriving (Eq, Show) -data AST = Sym Text | Abs [Text] AST | App AST AST +data AST = Sym Text | Abs [Text] AST | App AST AST [AST] deriving (Eq, Show) parse :: Text -> Either ParseError AST @@ -28,7 +28,7 @@ app = between lpar rpar - (App <$> ast <*> ast) + (App <$> ast <*> ast <*> many ast) lambda :: Parser AST lambda = |
