diff options
| author | Arnaud Bailly <arnaud.bailly@iohk.io> | 2025-01-25 10:45:41 +0100 |
|---|---|---|
| committer | Arnaud Bailly <arnaud.bailly@iohk.io> | 2025-01-25 10:45:41 +0100 |
| commit | 7752d73216578d5961751b5d0535088d384b4aa6 (patch) | |
| tree | 786e46fe1276e93ade0a48398cd4c9ac13081707 /elixir/ast_test.exs | |
| parent | d6f68e919db51d366c8ca3c1509bea12aa81d692 (diff) | |
| download | lambda-nantes-7752d73216578d5961751b5d0535088d384b4aa6.tar.gz | |
Move λ-calcul workshop code to subdirectory
Diffstat (limited to 'elixir/ast_test.exs')
| -rw-r--r-- | elixir/ast_test.exs | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/elixir/ast_test.exs b/elixir/ast_test.exs deleted file mode 100644 index b10c959..0000000 --- a/elixir/ast_test.exs +++ /dev/null @@ -1,70 +0,0 @@ -defmodule AstTest do - use ExUnit.Case - - test "pprint/1" do - assert Ast.pprint(Ast.var("x")) == "x" - assert Ast.pprint(Ast.abs("x", Ast.var("x"))) == "(λ x . x)" - assert Ast.pprint(Ast.app(Ast.var("x"), Ast.var("y"))) == "x y" - end - - test "pprint with if expression lambda calculus" do - assert Ast.pprint(Ast.abs("f", Ast.abs("y", Ast.app(Ast.var("f"), Ast.var("x"))))) == - "(λ f . (λ y . f x))" - end - - test "free_vars-1" do - program = Ast.var("x") - expected = MapSet.new(["x"]) - repr_expected = "x" - repr_subs_expected = "y" - - assert MapSet.equal?(Ast.free_vars(program), expected) - assert Ast.pprint(program) == repr_expected - - assert Ast.pprint(Ast.subst(program, "x", Ast.var("y"))) == repr_subs_expected - end - - test "free_vars-2" do - program = Ast.abs("x", Ast.var("x")) - expected = MapSet.new([]) - repr_expected = "(λ x . x)" - repr_subs_expected = "(λ x . x)" - - assert MapSet.equal?(Ast.free_vars(program), expected) - assert Ast.pprint(program) == repr_expected - - assert Ast.pprint(Ast.subst(program, "x", Ast.var("y"))) == repr_subs_expected - end - - test "free_vars-3" do - program = Ast.app(Ast.var("f"), Ast.var("x")) - expected = MapSet.new(["f", "x"]) - repr_expected = "f x" - - assert MapSet.equal?(Ast.free_vars(program), expected) - assert Ast.pprint(program) == repr_expected - end - - test "free_vars-4" do - program = - Ast.abs( - "f", - Ast.app(Ast.var("x"), Ast.abs("x", Ast.app(Ast.var("f"), Ast.var("x")))) - ) - - expected = MapSet.new(["x"]) - repr_expected = "(λ f . x (λ x . f x))" - - assert MapSet.equal?(Ast.free_vars(program), expected) - assert Ast.pprint(program) == repr_expected - end - - test "free_vars-5" do - program = Ast.abs("f", Ast.abs("y", Ast.app(Ast.var("f"), Ast.var("x")))) - expected = MapSet.new(["x"]) - repr_expected = "(λ f . (λ y . f x))" - - assert MapSet.equal?(Ast.free_vars(program), expected) - assert Ast.pprint(program) == repr_expected - end -end |
