diff options
author | Eduardo Julian | 2018-12-10 00:27:23 -0400 |
---|---|---|
committer | Eduardo Julian | 2018-12-10 00:27:23 -0400 |
commit | 9cde0397cc7520409853293fd18d8935d2294df9 (patch) | |
tree | a364bf7026a98be4b4a56b486d2710d948b97c73 | |
parent | 65a62b15fa7747302cebd3962bc26c07f5d90bec (diff) |
Fixed a bug in recursive sessions.
-rw-r--r-- | stdlib/source/lux/concurrency/session.lux | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/stdlib/source/lux/concurrency/session.lux b/stdlib/source/lux/concurrency/session.lux index cbbe34325..ea0f3666f 100644 --- a/stdlib/source/lux/concurrency/session.lux +++ b/stdlib/source/lux/concurrency/session.lux @@ -208,12 +208,14 @@ (def: #export ($rec scope) (-> (-> Session Session) Session) - (case (type (All $recur [_] - (:~ ($session (scope [$recur $recur]))))) + (case (type (All $recur [$_] + (:~ ($session (scope [(#.Apply $_ $recur) + (#.Apply $_ $recur)]))))) (^multi (#.UnivQ _env $scope) [(type.flatten-tuple $scope) (^ (list mine yours))]) - [(#.UnivQ _env mine) (#.UnivQ _env yours)] + [(#.Apply Any (#.UnivQ _env mine)) + (#.Apply Any (#.UnivQ _env yours))] _ (undefined))) |