1
0
forked from alex-eg/sex

fix lambdas and add a test to prevent rotting

Lambdas rotted because there wasn't any test for them, and after
return type moved to the end, lambdas stayed assumning it in the
front. We fix this and add test program
This commit is contained in:
2026-09-27 16:11:05 +03:00
parent 62316e1e3d
commit 26e8e6c374
5 changed files with 54 additions and 10 deletions

View File

@@ -6,14 +6,14 @@
(pub fn main () int
(var a int 10)
(var b int 20)
(var (fn ((int) (int)) int) sum-fn sum)
(var sum-fn (fn ((int) (int)) int) sum)
(var (fn ((int) (int)) int) sum-lambda
(var sum-lambda (fn ((int) (int)) int)
(lambda ((a int) (b int)) int ()
(return (+ a b))))
(var (fn ((int)) int) sum-lambda-2
(var sum-lambda-2 (fn ((int)) int)
(lambda ((a int)) int ()
(return (+ a 20))))
@@ -28,9 +28,9 @@
(return (+ a b 100)))
a b))
(var (fn ((int)) int) l-1
(var l-1 (fn ((int)) int)
(lambda ((a int)) int ()
(var (fn ((int)) int) l-2
(var l-2 (fn ((int)) int)
(lambda ((a int)) int ()
(return (+ 60 a))))
(return (+ 600 (l-2 a)))))