-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Rhyme Type Rules #50
Comments
Very nice! Do you want to check in the source to the rhyme-papers repo? Some thoughts right off the bat:
Edit: other things to consider for interaction of stateful ops with Nothing/Error:
|
Here's the updated type rules that I made from some of the things we have talked about in our meetings. It now includes definitions of Any and Never, Intersection rules, compile-time guarantees for non-empty intersections, and then, importantly, separation of Nothing and Error from value types. |
I've put together a document of the current type rules, aswell as including some of the notes that we discussed in the meeting today. Every rule is labeled with a location, so we can identify the specific rule being discussed when talking about it.
TypingRules.pdf
There are a lot of notes regarding potential deviations in direction that could take place. They are labelled with a "TODO" in front.
The PDF does disclude the Any type. Given the requirement that a well-typed expression utilizing it must not error (as opposed to Unknown), this means that just about the only place where it can be used is in the General Stateful Operations, which
Aswell, we did discuss avoiding overflow by upcasting values, while the PDF runs under the assumption of preserving the input types when possible.
The text was updated successfully, but these errors were encountered: