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

Making I, and Partial a primitive #489

Merged
merged 15 commits into from Sep 12, 2022
Merged

Making I, and Partial a primitive #489

merged 15 commits into from Sep 12, 2022

Conversation

lunalunaa
Copy link
Contributor

@lunalunaa lunalunaa commented Sep 11, 2022

I and Partial are now a primitive instead of a keyword.

What still needs to be done

  • Modifying test cases
  • Elaborate primitives at CallTerm.make

Edit (@ice1000): we no longer hack CallTerm.make, but we instead hack ExprTycker::defCall, and we eagerly reduce primCalls.

In the future, we will ban functions that takes Type types into ISet types, and we only allow pure ISet functions. Those functions will be marked as always-inline.

@lunalunaa lunalunaa added this to the v0.21 milestone Sep 11, 2022
@lunalunaa lunalunaa self-assigned this Sep 11, 2022
@codecov
Copy link

codecov bot commented Sep 11, 2022

Codecov Report

Merging #489 (06aa201) into main (b654e11) will decrease coverage by 0.06%.
The diff coverage is 88.23%.

@@             Coverage Diff              @@
##               main     #489      +/-   ##
============================================
- Coverage     81.37%   81.31%   -0.07%     
+ Complexity     2649     2644       -5     
============================================
  Files           234      234              
  Lines          8069     8085      +16     
  Branches        991      989       -2     
============================================
+ Hits           6566     6574       +8     
- Misses          964      979      +15     
+ Partials        539      532       -7     
Impacted Files Coverage Δ
base/src/main/java/org/aya/core/term/CallTerm.java 81.81% <ø> (ø)
base/src/main/java/org/aya/core/term/FormTerm.java 100.00% <ø> (ø)
...in/java/org/aya/resolve/context/ModuleContext.java 73.33% <0.00%> (ø)
base/src/main/java/org/aya/tyck/unify/DefEq.java 71.55% <0.00%> (ø)
...e/src/main/java/org/aya/core/visitor/Expander.java 74.31% <83.33%> (+1.67%) ⬆️
base/src/main/java/org/aya/tyck/ExprTycker.java 88.37% <90.90%> (-0.66%) ⬇️
base/src/main/java/org/aya/core/def/PrimDef.java 94.16% <100.00%> (+7.62%) ⬆️
base/src/main/java/org/aya/core/serde/SerTerm.java 92.59% <100.00%> (ø)
...e/src/main/java/org/aya/core/serde/Serializer.java 87.71% <100.00%> (ø)
base/src/main/java/org/aya/core/term/PrimTerm.java 76.92% <100.00%> (+1.92%) ⬆️
... and 19 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@lunalunaa lunalunaa marked this pull request as ready for review September 11, 2022 20:55
Copy link
Member

@imkiva imkiva left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rua

@imkiva imkiva self-assigned this Sep 12, 2022
@ice1000
Copy link
Member

ice1000 commented Sep 12, 2022

bors r+

@ice1000 ice1000 linked an issue Sep 12, 2022 that may be closed by this pull request
@bors
Copy link
Contributor

bors bot commented Sep 12, 2022

Build succeeded:

@bors bors bot merged commit 71ab778 into main Sep 12, 2022
@bors bors bot deleted the partial-prim branch September 12, 2022 04:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Can we make Partial a prim instead of a keyword
4 participants