From a2615d3ac0b1ecf9e4b9e1e3f3a2797f62801bed Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Sat, 22 Jul 2017 18:18:57 -0400 Subject: - Removed algebraic effects module. If you want effects, just go with finally-tagless approach. --- stdlib/test/test/lux/control/effect.lux | 72 --------------------------------- stdlib/test/tests.lux | 3 +- 2 files changed, 1 insertion(+), 74 deletions(-) delete mode 100644 stdlib/test/test/lux/control/effect.lux (limited to 'stdlib/test') diff --git a/stdlib/test/test/lux/control/effect.lux b/stdlib/test/test/lux/control/effect.lux deleted file mode 100644 index 65a7646ca..000000000 --- a/stdlib/test/test/lux/control/effect.lux +++ /dev/null @@ -1,72 +0,0 @@ -(;module: - lux - (lux [io "IO/" Monad] - (control monad - functor - effect) - (data [text] - text/format) - [macro] - ["R" math/random]) - lux/test) - -(do-template [ ] - [(effect: - ( [Nat Text] Bool) - ( Nat))] - - [EffA opA fieldA] - [EffB opB fieldB] - [EffC opC fieldC] - ) - -(do-template [ ] - [(handler: _ - (=> [io;IO io;Monad]) - (def: ( size sample) - (IO/wrap ( size (text;size sample)))) - - (def: (IO/wrap )))] - - [EffA opA n.< fieldA +10] - [EffB opB n.= fieldB +20] - [EffC opC n.> fieldC +30] - ) - -(type: EffABC (|E EffA EffB EffC)) - -(def: Functor - (Functor EffABC) - (|F Functor Functor Functor)) - -(def: Handler - (Handler EffABC io;IO) - (|H io;Monad - Handler Handler Handler)) - -## [Tests] -(context: "Algebraic effects" - (with-expansions - [ (do-template [ ] - [(io;run (with-handler Handler - (doE Functor - [] - (lift ( "YOLO"))))) - (n.= (io;run (with-handler Handler - (doE Functor - [] - (lift )))))] - - [opA +10 fieldA +10] - [opB +4 fieldB +20] - [opC +2 fieldC +30])] - (test "Can handle effects using handlers." - (and - - (n.= +60 (io;run (with-handler Handler - (doE Functor - [a (lift fieldA) - b (lift fieldB) - c (lift fieldC)] - (wrap ($_ n.+ a b c)))))) - )))) diff --git a/stdlib/test/tests.lux b/stdlib/test/tests.lux index 7eff48e75..be26d43fb 100644 --- a/stdlib/test/tests.lux +++ b/stdlib/test/tests.lux @@ -14,8 +14,7 @@ ["_;" frp] ["_;" promise] ["_;" stm]) - (control ["_;" effect] - ["_;" exception] + (control ["_;" exception] ["_;" interval] ["_;" pipe] ["_;" cont] -- cgit v1.2.3