Commit Graph

183 Commits

Author SHA1 Message Date
Yamada Ryo
ba1a415ee6
[remove] support for higher-order effects that are not HFunctor. 2024-10-09 23:13:03 +09:00
Yamada Ryo
f07f850856
[add] top-level documentation. 2024-10-09 22:46:25 +09:00
Yamada Ryo
06eb380d0b
[add] Sum notation of effect sets. 2024-10-04 07:35:26 +09:00
Yamada Ryo
46163053f8
[add] inj0(H), injN(H), sendN(H). 2024-10-04 06:31:12 +09:00
Yamada Ryo
7d9444d224
[add] benchmarks for other library cases. 2024-10-03 17:15:36 +09:00
Yamada Ryo
4c10891814
[fix] the mistake in the test case description. 2024-10-03 16:27:22 +09:00
Yamada Ryo
57293c84bb
[add] test for coroutine, NonDet, and writer. 2024-10-03 16:21:11 +09:00
Yamada Ryo
13942d4433
[add] test for semantics. 2024-10-03 15:59:28 +09:00
Yamada Ryo
ee08d6342b
[add] benchmarks. 2024-10-03 12:42:59 +09:00
Yamada Ryo
1a10842e34
[fix] for data-effects v0.2. 2024-10-03 09:40:50 +09:00
Yamada Ryo
3038caa017
[add] all examples. 2024-10-03 09:12:06 +09:00
Yamada Ryo
755f8b3d60
[fix] SIGSEGV bug in 'transform' and unsound type signature in 'decomp'.
[add] SemanticsZoo and Continuation2 examples.
2024-10-03 08:46:16 +09:00
Yamada Ryo
ca236c13d8
[add] standard effects interpreters. 2024-10-03 07:57:12 +09:00
Yamada Ryo
d287666453
[WIP] Non-HFunctor support. 2024-10-03 05:51:39 +09:00
Yamada Ryo
6fa81cdf70
[add] open unions. 2024-09-29 14:05:23 +09:00
Yamada Ryo
1a2774adab
[fix] Generalize runStateIORef. 2024-09-09 18:57:52 +09:00
Yamada Ryo
03a43f09a6
[add] the Issue 12 Semantics Test. 2024-09-09 16:26:09 +09:00
Yamada Ryo
c3c344ad7a
[fix] #10: Allow text>=2.0 && <2.2. 2024-09-05 11:35:46 +09:00
Yamada Ryo
ce837c56b6
[fix] the continuation example. 2024-09-01 18:29:35 +09:00
Yamada Ryo
bfa8ed3786
Bump to 0.3.0. 2024-09-01 17:24:59 +09:00
Yamada Ryo
b889266998
[fix] Rename the module from Handler to Interpreter to align with terminology. 2024-09-01 17:19:44 +09:00
Yamada Ryo
1b39de88ed
[add] changelog. 2024-09-01 17:12:45 +09:00
Yamada Ryo
4b6c58097f
Bump to data-effects-0.1.1.
[remove] experimental stuffs related to pipes and shell.
2024-09-01 17:09:39 +09:00
Yamada Ryo
b36edea9b7
[fix] Simplify the logging example. 2024-09-01 05:14:07 +09:00
Yamada Ryo
24e7774930
[add] a handler for CyclicTimer. 2024-08-19 18:56:12 +09:00
Yamada Ryo
489040f1f8
[add] a handler for the Timer effect. 2024-08-17 04:00:59 +09:00
Yamada Ryo
ed27c806a7
[add] interpreters for the Except effect in exception handling at the 'IO' layer. 2024-08-17 02:43:31 +09:00
Yamada Ryo
1bb6776f6c
[add] Fully functional TVar&MVar-based pipe effect handler and its tests. 2024-08-15 17:58:07 +09:00
Yamada Ryo
f5462b17be
[add] 'isPipeMasked' effect support. 2024-08-13 15:44:25 +09:00
Yamada Ryo
02cd13b934
[add] effectful pipes. 2024-08-12 00:22:40 +09:00
Yamada Ryo
f7875c734d
[fix] to work 'limitLogChunk' function correctly in the logging example. 2024-07-18 17:14:29 +09:00
Yamada Ryo
11fef21edb
[add] ChangeLog.md about ver-0.2 release. 2024-07-17 16:55:24 +09:00
Yamada Ryo
4aa2ccea57
[add] package descriptions and depends version bounds. 2024-07-17 16:16:50 +09:00
Yamada Ryo
58258ce94d
[fix] Change naming convention of higher-order 'interpret' function-families. 2024-07-17 15:01:42 +09:00
Yamada Ryo
f5482eab47
[fix] Adjusted the order of NonDet+Except results in SemanticsZoo example with the order in semantics-zoo.md. 2024-07-17 02:50:45 +09:00
Yamada Ryo
c7d0b45fef
[fix] Changed the format of the SemanticsZoo example. 2024-07-17 02:36:44 +09:00
Yamada Ryo
d4194be53c
Added module descriptions for SemanticsZoo. 2024-07-17 02:24:40 +09:00
Yamada Ryo
07f30e1247
Removed commented-out unnecessary definitions. 2024-07-17 02:17:06 +09:00
Yamada Ryo
9979f83b8c
[add] lexi-lambda's semantics-zoo example. 2024-07-17 00:28:21 +09:00
Yamada Ryo
ee75fd852c
[fix] Implementation error in SendSigBy instance. 2024-07-16 18:45:41 +09:00
Yamada Ryo
9aa4fdcf3a
[fix] Name of Except effect handlers. 2024-07-15 23:53:15 +09:00
Yamada Ryo
2a1dd819c8
[fix] Change naming convention of the Writer and Output effect handlers. 2024-07-15 23:45:37 +09:00
Yamada Ryo
2d180c53d2
[fix] Change naming convention of effect handlers. 2024-07-15 23:22:10 +09:00
Yamada Ryo
17cc78217a
[refactor] Remove unused import. 2024-07-15 22:56:25 +09:00
Yamada Ryo
85ea137263
[add] effect handlers for non-determinism. 2024-07-15 22:54:39 +09:00
Yamada Ryo
8f71a2d4e6
[refactor] the 'Continuation2' example. 2024-07-15 20:14:00 +09:00
Yamada Ryo
e2caa2ff56
Renew the 'Coroutine' effect handlers. 2024-07-13 16:07:12 +09:00
Yamada Ryo
37ad751265
[fix] duplicated definition of Shift/Reset effects. 2024-07-13 11:54:54 +09:00
Yamada Ryo
7f36926bec
[add] the 'Fail' effect handler. 2024-07-13 01:21:11 +09:00
Yamada Ryo
fd4f828d04
[add] a 'runStateIORef' handler. 2024-07-12 21:57:00 +09:00
Yamada Ryo
98f2c50b1b
[fix] order of type parameters in the runKVStorePure function. 2024-07-12 21:39:23 +09:00
Yamada Ryo
ff031972d5
[add] the 'Fresh' effects handler. 2024-07-12 20:56:18 +09:00
Yamada Ryo
63d6ccdf94
[add] the 'KVStore' effects handler. 2024-07-12 20:18:32 +09:00
Yamada Ryo
c2d12f72b8
[fix] Use 'liftIO' instead of 'sendIns' in the examples. 2024-07-09 00:52:13 +09:00
Yamada Ryo
020447a2c9
Re-expose modules. 2024-07-09 00:43:23 +09:00
Yamada Ryo
581af73c75
[add] the 'Output' effects handler. 2024-07-08 21:07:01 +09:00
Yamada Ryo
b298e9a4c2
[refactor] Formatting. 2024-07-08 20:03:47 +09:00
Yamada Ryo
d306f22d29
[add] the 'Input' effects handler. 2024-07-08 18:31:13 +09:00
Yamada Ryo
f64eab2b8e
[add] the 'Unlift' effects handler. 2024-07-08 17:30:16 +09:00
Yamada Ryo
30f313c54e
[add] Coroutine effects handler. 2024-07-08 17:17:04 +09:00
Yamada Ryo
6ec82cb9ce
[refactor] Formatting. 2024-07-08 15:43:23 +09:00
Yamada Ryo
e4b994a82d
[fix] Remove unnecessary type annotations in the 'Writer' example. 2024-07-08 15:37:42 +09:00
Yamada Ryo
db5c66626f
[fix] Corrected mistakes in the 'Writer' and 'State' interpreters. 2024-07-08 15:33:07 +09:00
Yamada Ryo
2959e711bc
[fix] Use auto-generated function for keyed effects in the 'KeyedEffects' example. 2024-07-07 19:49:28 +09:00
Yamada Ryo
3270698650
Re-expose modules. 2024-07-07 17:20:16 +09:00
Yamada Ryo
2afe8c31fc
Fix build-depends. 2024-07-07 08:29:41 +09:00
Yamada Ryo
bcc5b335aa
Bump the version to 0.2.0. 2024-07-07 06:28:50 +09:00
Yamada Ryo
ab99356469
Rename 'KeyedEffects' from 'DepParams'. 2024-07-07 06:01:50 +09:00
Yamada Ryo
848e5f1c8f
[refactor] Removed a few unnecessary symbols from the examples. 2024-07-07 05:56:22 +09:00
Yamada Ryo
0f6ae9b2cb
[fix] module structure. 2024-07-07 05:39:38 +09:00
Yamada Ryo
9ef6817000
[fix] Use 'ForallFunctor' as the standard constraint name that does not depend on the implementation of union datatype. 2024-07-07 05:15:02 +09:00
Yamada Ryo
621a335c2a
[fix] Use type-level '$' operator in the 'Continuation2' example. 2024-07-07 05:03:28 +09:00
Yamada Ryo
e6d83f21aa
[fix] associativity for infix operators. 2024-07-07 04:50:34 +09:00
Yamada Ryo
cf5f17072f
[fix] order of parameters in 'Send{Ins,Sig}By' & 'Inject{Ins,Sig}By' for readability. 2024-07-07 04:27:21 +09:00
Yamada Ryo
ec59006146
[add] keyed-effects support. 2024-07-07 03:52:04 +09:00
Yamada Ryo
7e9c8a36e5
[fix] Remove unnecessary type application. 2024-07-06 23:03:26 +09:00
Yamada Ryo
7feb466a7d
[fix] forgot to use logWithTime. 2024-07-06 22:58:10 +09:00
Yamada Ryo
3f216210b6
[fix] a function signature in the 'logging' example. 2024-07-06 22:51:13 +09:00
Yamada Ryo
6bee3f52c4
[fix] continuation example. 2024-07-06 22:08:25 +09:00
Yamada Ryo
172f34e85c
[add] logging example. 2024-07-06 21:37:30 +09:00
Yamada Ryo
54657f6d65
[add] Auto-resolve instance for MemberRec. 2024-07-06 02:30:49 +09:00
Yamada Ryo
17e73f52e6
[WIP] Auto-resolve instance for MemberRec. 2024-07-05 23:21:52 +09:00
Yamada Ryo
63b469c07e
[fix] Generalize the constraint parameter of 'MonadFreer'. 2024-02-07 13:00:35 +09:00
Yamada Ryo
8cde232c7f
[add] final-encoded generic Freer carrier. 2024-02-06 23:15:41 +09:00
Yamada Ryo
1e0452c99e
[WIP] Enrich functions 2024-02-04 11:02:29 +09:00
Yamada Ryo
69927a8a34
Migrate framework from 'classy-effects' to 'data-effects'. 2024-02-02 17:02:10 +09:00
Yamada Ryo
5502127199
[fix] Rewrote the operation functions for the Effectful types using the 'Decomp*' constraints approach. 2024-01-05 14:30:14 +09:00
Yamada Ryo
80be242c1f
[add] a continuation-based interpreter for State effect. 2023-11-05 21:08:34 +09:00
Yamada Ryo
cddebf1f77
[fix] Found out the previous approach for the resourceToIO elaborator doesn't work. Gave up on it and switched to a straightforward elaboration only for MonadUnliftIO without the Freer layer. 2023-10-06 22:47:35 +09:00
Yamada Ryo
f169e893a8
[fix] the missing exposed-module. 2023-10-06 16:17:18 +09:00
Yamada Ryo
ee6528027a
[add] 'ImplicitProvider' effect handler. 2023-10-06 15:09:51 +09:00
Yamada Ryo
1a8098bb68
[fix] the order of type arguments to the appropriate one. 2023-10-04 09:55:54 +09:00
Yamada Ryo
325b266047
[refactor] Modified to use TH as classy-effects-th now supports dependent effect parameters. 2023-10-03 13:27:46 +09:00
Yamada Ryo
fdf87b80b5
[add] support for dependent effect parameters in classy-effects. 2023-10-02 23:29:51 +09:00
Yamada Ryo
d6865e97c0
Merge branch 'master' into develop 2023-09-29 14:11:27 +09:00
Yamada Ryo
4bc5e27157
[fix] a bug in the resourceToIO elaborator where the continuation after exiting the bracket remains masked. 2023-09-28 17:54:41 +09:00
Yamada Ryo
cc4e3ce40c
[add] an elaborator for the 'Resource' effect. 2023-09-28 16:23:21 +09:00
Yamada Ryo
165a5246ff
Initial public release. 2023-09-18 14:37:06 +09:00
Yamada Ryo
df66815b88
Revise documentation. 2023-09-18 13:18:12 +09:00
Yamada Ryo
564ab4b6a3
[add] an example of Writer elaboration. 2023-09-17 22:12:06 +09:00