Skip to content

Commit c9e054a

Browse files
committed
tests: add test for lambda calls
1 parent e1886c9 commit c9e054a

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

tests/compiler/expressions.t/apply.ml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,11 @@ let run () =
2424
f3 1 2 3;
2525
f4 1 2 3 4;
2626
Funs.apply_fun ()
27+
28+
let lambda () =
29+
let f () = 1 in
30+
let f' x = 1 + x in
31+
let f'' x y = 1 + x + y in
32+
let _ = f () in
33+
let _ = f' 1 in
34+
f'' 1 2

tests/compiler/expressions.t/run.t

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
-export([f2/2]).
4949
-export([f3/3]).
5050
-export([f4/4]).
51+
-export([lambda/0]).
5152
-export([run/0]).
5253

5354
-spec f(any()) -> any().
@@ -73,6 +74,21 @@
7374
f4(1, 2, 3, 4),
7475
apply__funs:apply_fun().
7576

77+
-spec lambda() -> integer().
78+
lambda() ->
79+
F = fun
80+
() -> 1
81+
end,
82+
F_prime = fun
83+
(X) -> erlang:'+'(1, X)
84+
end,
85+
F_prime_prime = fun
86+
(X, Y) -> erlang:'+'(erlang:'+'(1, X), Y)
87+
end,
88+
F(),
89+
F_prime(1),
90+
F_prime_prime(1, 2).
91+
7692

7793
$ caramelc compile binding_on_match.ml
7894
File "binding_on_match.ml", line 4, characters 57-68:

0 commit comments

Comments
 (0)