Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Catamorphisms with backed-in lazy evaluation. #88

Merged
merged 6 commits into from
Oct 7, 2018
Merged

Conversation

jbgi
Copy link
Member

@jbgi jbgi commented Oct 6, 2018

Generated cata method now take a lazy constructor as last parameter, which avoid wrapping manually in cata definitions.
Additional benefits: initial algebra (aka factory) can now also be used as cata argument, which allows to translate extensible object algebras in the realm of algebraic data types!

@derive4j derive4j deleted a comment from codecov-io Oct 7, 2018
@codecov-io
Copy link

codecov-io commented Oct 7, 2018

Codecov Report

Merging #88 into master will increase coverage by 85.52%.
The diff coverage is 100%.

Impacted file tree graph

@@              Coverage Diff              @@
##             master      #88       +/-   ##
=============================================
+ Coverage      5.12%   90.64%   +85.52%     
- Complexity       38      850      +812     
=============================================
  Files            55       56        +1     
  Lines          2830     2919       +89     
  Branches        133      135        +2     
=============================================
+ Hits            145     2646     +2501     
+ Misses         2681      214     -2467     
- Partials          4       59       +55
Impacted Files Coverage Δ Complexity Δ
...n/java/org/derive4j/processor/ExportDerivator.java 88.05% <100%> (+88.05%) 11 <0> (+11) ⬆️
...rc/main/java/org/derive4j/processor/AdtParser.java 87.16% <100%> (+87.16%) 63 <6> (+63) ⬆️
...erive4j/processor/api/model/DataDeconstructor.java 100% <100%> (+100%) 8 <5> (+8) ⬆️
...va/org/derive4j/processor/DeriveConfigBuilder.java 89.04% <100%> (+67.12%) 56 <0> (+52) ⬆️
...n/java/org/derive4j/processor/MapperDerivator.java 100% <100%> (+100%) 47 <26> (+47) ⬆️
.../java/org/derive4j/processor/BuiltinDerivator.java 100% <100%> (+100%) 4 <0> (+4) ⬆️
.../java/org/derive4j/processor/FactoryDerivator.java 100% <100%> (ø) 9 <9> (?)
...derive4j/processor/StrictConstructorDerivator.java 85.95% <100%> (+85.95%) 59 <0> (+59) ⬆️
...ain/java/org/derive4j/processor/CataDerivator.java 99% <100%> (+99%) 36 <22> (+36) ⬆️
annotation/src/main/java/org/derive4j/Make.java 100% <100%> (+100%) 1 <0> (+1) ⬆️
... and 52 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f329eef...4d9dda0. Read the comment docs.

@jbgi jbgi merged commit 39936e1 into master Oct 7, 2018
@jbgi jbgi added this to the 1.0.0 milestone Nov 4, 2018
@jbgi jbgi deleted the improved-cata branch July 4, 2019 12:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants