Commit Graph

44 Commits

Author SHA1 Message Date
Sandy Maguire
a2e39776ce Release polysemy 0.5.0.0 2019-06-26 00:29:26 -04:00
Sandy Maguire
2654d35066
Forklift interpretations (#128)
This PR provides a single function withLowerToIO, which runs a desired Sem r effect all the way down to IO, without needing to know the natural transformation beforehand. It does it by running the desired code in a new thread, and shipping all of the unhandled effects back to the main thread. The main thread turns into an event loop for the duration of the withLowerToIO block.
2019-06-25 23:46:54 -04:00
Sandy Maguire
29216ceb69
Improve CI coverage -- now on GHC 8.4! (#39) 2019-06-19 17:25:37 -04:00
Sandy Maguire
bba49aaeb8
Don't emit the FirstOrder error for unknown effects (#115)
This PR introduces the FCF machinery that will give us more control over writing type-level functions. It defines an IfStuck a b c tyfam that will leave b around if a is stuck, otherwise it will fcf-evaluate c. Everything is polykinded so we can stack these things together to make big logic chains to emit specific variables depending on what exactly is stuck.
2019-06-16 17:14:36 -04:00
Sandy Maguire
0a1ce2b837 Add hspec-discover to package build-tools
Fixes #111
2019-06-15 20:12:18 -04:00
Sandy Maguire
82f86add29
Custom type error testing (#113)
This PR adds doctests allowing us to write tests for the custom type errors. Having this stuff reified in the test suite means we can iterate on the implementations and give much better QA.
2019-06-15 20:04:11 -04:00
Sandy Maguire
e960ce1877 Release polysemy 0.4.0.0 2019-06-12 09:40:08 -04:00
Sandy Maguire
eff97914f7 Release polysemy 0.3.0.1 2019-06-09 00:22:50 -04:00
Sandy Maguire
c937132caa Release polysemy 0.3.0.0 2019-06-01 23:43:41 -04:00
Sandy Maguire
cd074a4bd4
Move Random to polysemy-zoo (#78)
* Move Random to zoo

* Changelog
2019-06-01 18:42:12 -04:00
Sandy Maguire
601cbe8630 Release polysemy 0.2.2.0 2019-05-31 00:10:52 -04:00
TheMatten
b41e650f00 Rewrite 'Polysemy.Internal.TH.Effect' in terms of 'th-abstraction' (#67) 2019-05-29 14:15:46 -04:00
Sandy Maguire
ad42c75fcf Release polysemy 0.2.1.0 2019-05-27 01:16:14 -04:00
Sandy Maguire
f2de66ac52 Release version 0.2.0.0 2019-05-23 03:53:07 -04:00
Sandy Maguire
a20994abab
Fix broken higher order effects (#58)
* Fix a serious bug in interpretH and friends

* Spec to prove reader works now
2019-05-23 03:49:26 -04:00
Sandy Maguire
76d5f1953e
Release 0.1.2.1 (#51) 2019-05-18 11:42:14 -04:00
Sandy Maguire
2cfd3692f2 Let plugin know when to improve performance 2019-05-16 15:26:18 -04:00
Sandy Maguire
fadd603d59 Release 0.1.2 2019-04-26 12:18:44 -04:00
Sandy Maguire
cb1aba83ee add runBatchOutput 2019-04-20 06:57:56 -04:00
Sandy Maguire
3b1bf8e4af runIO instance 2019-04-14 15:01:16 -04:00
Sandy Maguire
8d85a04302 final cleanup 2019-04-10 16:27:25 -04:00
Sandy Maguire
f98cafa4df suggest documentation + opt-out of errors 2019-04-08 13:47:07 -04:00
Sandy Maguire
773a3aab8f random effect 2019-03-21 00:28:01 -04:00
Sandy Maguire
546cf16e1b use default pragmas 2019-03-20 09:53:22 -04:00
Sandy Maguire
8a6d515e99 new effect module 2019-03-20 01:44:23 -04:00
Sandy Maguire
f2ec5b7a03 rename package to polysemy 2019-03-20 00:46:26 -04:00
Sandy Maguire
06fa6037a0 add TH to derive effects 2019-03-20 00:28:14 -04:00
Sandy Maguire
2be94abfd1 tests 2019-03-18 23:04:21 -04:00
Sandy Maguire
2e01410227 prjCoerce for reinterpret 2019-03-18 16:51:30 -04:00
Sandy Maguire
130a18ad6a it is so FAST 2019-03-18 15:50:19 -04:00
Sandy Maguire
0f041dbfd3 whoa. optimize away the pain 2019-03-18 14:20:24 -04:00
Sandy Maguire
730859a5f3 core-dump 2019-03-17 21:03:23 -04:00
Sandy Maguire
a8b1f247aa typesafe union 2019-03-17 14:09:09 -04:00
Sandy Maguire
d2bdd69401 it seems to work with F 2019-03-13 13:51:42 -04:00
Sandy Maguire
4861a49698 dont need dat crap 2019-03-11 15:33:31 -04:00
Sandy Maguire
76c879d622 minimal working example of fused-effects 2019-03-05 14:33:49 -05:00
Sandy Maguire
32ce375447 I AM THE KING BRAIN LORD also fintan 2019-03-02 15:55:19 -08:00
Samuel Gélineau
904fa69df4 fairer benchmark with -O2 for everyone
too-fast-too-free was compiled without -O2, which put it at a
disadvantage compared to the code from the competing libraries, which is
inside the benchmark project and was thus compiled with -O2.
2019-02-21 21:03:00 -05:00
Samuel Gélineau
ed14b73111 benchmark stanza 2019-02-21 19:34:06 -05:00
Sandy Maguire
8105e589c5 cont operational 2019-02-14 13:15:43 -05:00
Sandy Maguire
f98ea99ba7 operational is shitty but works 2019-02-14 12:46:15 -05:00
Sandy Maguire
5388029d10 it's TOO FAST and TOO FREE 2019-02-14 09:24:26 -05:00
Sandy Maguire
e9a7e687fc state holy moly 2019-02-13 21:53:21 -05:00
Sandy Maguire
9c8162a5b1 GLORY 2019-02-13 15:52:56 -05:00