johnynek / bosatsu

A python-ish pure and total functional programming language
Apache License 2.0
224 stars 11 forks source link

Support recursion in continuations #1045

Closed johnynek closed 11 months ago

johnynek commented 11 months ago

replaces #1022

The idea here is that we can recurse on arguments to functions which are themselves allows (substructures).

This allows us to implement functor type things (because to encode those we need existential types, which are encoded as continuations).

codecov-commenter commented 11 months ago

Codecov Report

Patch coverage: 98.21% and project coverage change: +0.13% :tada:

Comparison is base (493c92c) 91.77% compared to head (9e89b24) 91.91%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #1045 +/- ## ========================================== + Coverage 91.77% 91.91% +0.13% ========================================== Files 91 91 Lines 9496 9533 +37 Branches 2241 2195 -46 ========================================== + Hits 8715 8762 +47 + Misses 781 771 -10 ``` | [Files Changed](https://app.codecov.io/gh/johnynek/bosatsu/pull/1045?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=P.+Oscar+Boykin) | Coverage Δ | | |---|---|---| | [...ain/scala/org/bykn/bosatsu/DefRecursionCheck.scala](https://app.codecov.io/gh/johnynek/bosatsu/pull/1045?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=P.+Oscar+Boykin#diff-Y29yZS9zcmMvbWFpbi9zY2FsYS9vcmcvYnlrbi9ib3NhdHN1L0RlZlJlY3Vyc2lvbkNoZWNrLnNjYWxh) | `98.04% <98.21%> (+0.42%)` | :arrow_up: | ... and [7 files with indirect coverage changes](https://app.codecov.io/gh/johnynek/bosatsu/pull/1045/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=P.+Oscar+Boykin)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.