Commit Graph

32 Commits

Author SHA1 Message Date
Yamada Ryo
bcf506ef0a
Deprecate Final-encoded Freer and Heftia, which can easily cause infinite loops.
[add] Church-encoded Freer and Heftia.
2023-09-07 21:51:06 +09:00
Yamada Ryo
b673b47a7c
[add] interpreters for the Embed effect. 2023-09-07 12:50:33 +09:00
Yamada Ryo
e66cef8f22
[add] Allow delegation to a lower monad of Freer transformers for first-order effects. 2023-09-07 12:16:36 +09:00
Yamada Ryo
c81104d313
[fix] a bug that caused Freer and Heftia's fmap to infinity loop. 2023-09-07 10:39:41 +09:00
Yamada Ryo
ae7a49012a
[fix] bugs that caused Freer and Heftia's pure to infinity loop and in type-level member judgment of the sum types.
[add] some example codes.
2023-09-06 18:08:06 +09:00
Yamada Ryo
4abedf3e97
[add] an elaborator for the Provider effect. 2023-09-05 17:46:17 +09:00
Yamada Ryo
70d1a54830
[add] interpreters and elaborators for the Writer effect. 2023-09-05 17:21:41 +09:00
Yamada Ryo
7e8cc786a2
[fix] Change the interface of the interpreting function of the continuation-based family to make it more convinient to use. 2023-09-05 16:09:56 +09:00
Yamada Ryo
b8a1ae2007
[fix] Change to a method based on explicit elaboration, where first-order effects are separated into Freer and higher-order effects into Heftia. 2023-09-05 15:32:34 +09:00
Yamada Ryo
9e22c667e4
[fix] Change the order of type arguments for heftia transformers.
[fix] Unify signature sum types with those of the datacomp package.
2023-09-04 11:44:27 +09:00
Yamada Ryo
e7988fb3a4
[WIP] Migrating to transformer-based Heftia because I found that interpreters of State are not well written as it is now. 2023-09-03 21:25:18 +09:00
Yamada Ryo
d038cb8e81
[fix] Simplify code with products from the new TH mechanism. 2023-09-02 21:45:02 +09:00
Yamada Ryo
e03b7a9450
Add a notice of MPL. 2023-09-01 22:34:38 +09:00
Yamada Ryo
35e29fffc2
Remove an unused import. 2023-09-01 22:04:06 +09:00
Yamada Ryo
7d5fd433ff
[add] handlers for the Reader effect. 2023-09-01 21:59:56 +09:00
Yamada Ryo
22a0b2046e
[fix] various incorrect definitions and make the effect system work. 2023-09-01 18:43:42 +09:00
Yamada Ryo
8cdd6dc4cc
[fix] Added a type 'HeftiaUnion' that wraps the composition of Heftia and union and is an instance of Send. Changed functions of the interpret family to interface wrapping HeftiaUnion. 2023-09-01 16:19:46 +09:00
Yamada Ryo
34c28fae1e
Modify directory structure for turning into mono-repo. 2023-09-01 14:51:32 +09:00
Yamada Ryo
e89da7551b
[fix] Delegates HFunctor definition to the compdata package. 2023-08-29 19:10:16 +09:00
Yamada Ryo
408c07bab7
Change the license to MPL. 2023-08-29 15:27:29 +09:00
Yamada Ryo
f62fc4d18b
[fix] Move basic types and classes about effects into the classy-effects-base package. 2023-08-29 13:27:23 +09:00
Yamada Ryo
04360da6ab
[add] handling functions for Extensible Effects. 2023-08-28 22:23:24 +09:00
Yamada Ryo
8e7aee4ef0
Rename 'Heftier' to 'Heftia'. 2023-08-28 16:02:00 +09:00
Yamada Ryo
b0c9ed842b
[refactor] module structure. 2023-08-28 15:54:56 +09:00
Yamada Ryo
6e62dee4e6
[fix] 'HeftierFinalT' definition to 'HeftierFinal' wrapper to allow automatic derivation of instances. 2023-08-28 13:10:41 +09:00
Yamada Ryo
7783d54be9
[add] Interconversion functions between trafos and non-trafos. 2023-08-28 12:31:38 +09:00
Yamada Ryo
f2d0d2f08e
[fix] Generalize the class of heftier transformers to non-Monad. 2023-08-28 12:04:37 +09:00
Yamada Ryo
72484c0a5f
Merge branch 'feature/transformer' into develop. 2023-08-27 22:39:59 +09:00
Yamada Ryo
da6948add2
[add] Freer transformer. 2023-08-27 22:38:10 +09:00
Yamada Ryo
9d9983443b
[add] Naked Finals. 2023-08-27 22:35:02 +09:00
Yamada Ryo
8ed05e40c6
[WIP] heftiers and freers 2023-08-27 22:32:48 +09:00
Yamada Ryo
f53f57f3cc
initial commit. 2023-08-25 13:23:49 +09:00