aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/test
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/source/test/lux/control/concurrency/actor.lux76
-rw-r--r--stdlib/source/test/lux/type/implicit.lux4
2 files changed, 26 insertions, 54 deletions
diff --git a/stdlib/source/test/lux/control/concurrency/actor.lux b/stdlib/source/test/lux/control/concurrency/actor.lux
index d99ce25b8..d883e6c0f 100644
--- a/stdlib/source/test/lux/control/concurrency/actor.lux
+++ b/stdlib/source/test/lux/control/concurrency/actor.lux
@@ -19,7 +19,7 @@
[number
["n" nat]]]]]
[\\library
- ["[0]" / (.only actor: message)
+ ["[0]" / (.only)
[//
["[0]" atom (.only Atom)]
["[0]" async (.only Async Resolver) (.open: "[1]#[0]" monad)]
@@ -27,18 +27,16 @@
(exception: got_wrecked)
-(actor: counter
- Nat
+(def: counter
+ (/.Behavior Nat)
+ (function (_ message state self)
+ (message state self)))
- ((on_mail message state self)
- (message state self))
-
- (def: count!
- (message (_ [increment Nat] state self)
- Nat
- (let [state' (n.+ increment state)]
- (async#in {try.#Success [state' state']}))))
- )
+(def: (count! increment)
+ (-> Nat (/.Message Nat Nat))
+ (function (_ state self)
+ (let [state' (n.+ increment state)]
+ (async#in {try.#Success [state' state']}))))
(def: (mailed? outcome)
(-> (Try Any) Bit)
@@ -87,19 +85,18 @@
(async.async []))]
(in (do async.monad
[_ (async.future (do io.monad
- [actor (/.spawn! (is (/.Behavior Any Any)
- [/.#on_init (|>>)
- /.#on_mail (function (_ message state self)
- (do [! async.monad]
- [outcome (message state self)]
- (case outcome
- {try.#Failure cause}
- (do !
- [_ (async.future (write cause))]
- (in outcome))
-
- {try.#Success _}
- (in outcome))))])
+ [actor (/.spawn! (is (/.Behavior Any)
+ (function (_ message state self)
+ (do [! async.monad]
+ [outcome (message state self)]
+ (case outcome
+ {try.#Failure cause}
+ (do !
+ [_ (async.future (write cause))]
+ (in outcome))
+
+ {try.#Success _}
+ (in outcome)))))
[])]
(/.poison! actor)))
_ (async.delay 100)
@@ -165,38 +162,13 @@
(in (and (n.= 1 output_1)
(n.= 2 output_2)
(n.= 3 output_3))))]
- (_.coverage' [/.Message /.message /.actor: /.tell!]
+ (_.coverage' [/.Message /.tell!]
(case result
{try.#Success outcome}
outcome
{try.#Failure error}
false))))
-
- (in (do async.monad
- [verdict (async.future
- (do io.monad
- [anonymous (/.actor [Nat
- initial_state]
- ((on_mail message state self)
- (message (++ state) self)))
- sent/++? (/.mail! ++! anonymous)
- sent/--? (/.mail! --! anonymous)
- poisoned? (/.poison! anonymous)
- obituary (/.obituary' anonymous)]
- (in (and (..mailed? sent/++?)
- (..mailed? sent/--?)
- (..mailed? poisoned?)
- (case obituary
- (pattern {.#Some [error final_state (list poison_pill)]})
- (and (exception.match? /.poisoned error)
- (n.= (++ (++ initial_state))
- final_state))
-
- _
- false)))))]
- (_.coverage' [/.actor]
- verdict)))
(do !
[num_events (at ! each (|>> (n.% 10) ++) random.nat)
@@ -208,7 +180,7 @@
(in (do async.monad
[agent (async.future
(do [! io.monad]
- [agent (/.actor [Nat 0])
+ [agent (/.spawn! /.default 0)
_ (/.observe! (function (_ event stop)
(function (_ events_seen self)
(async.future
diff --git a/stdlib/source/test/lux/type/implicit.lux b/stdlib/source/test/lux/type/implicit.lux
index 590842360..4e69f9f10 100644
--- a/stdlib/source/test/lux/type/implicit.lux
+++ b/stdlib/source/test/lux/type/implicit.lux
@@ -19,7 +19,7 @@
[\\library
["[0]" /]])
-(/.implicit: [n.multiplication])
+(/.implicitly n.multiplication)
(def: .public test
Test
@@ -58,7 +58,7 @@
(/.with [n.addition]
(n.= (at n.addition composite left right)
(/.a/an composite left right))))
- (_.coverage [/.implicit:]
+ (_.coverage [/.implicitly]
(n.= (at n.multiplication composite left right)
(/.a/an composite left right)))
))))