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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add cache back in, for-in and many other improvements #110

Merged
merged 13 commits into from
Mar 3, 2024

Conversation

kaleidawave
Copy link
Owner

@kaleidawave kaleidawave commented Jan 29, 2024

  • Added for (... in ...)
  • Added facts merging
  • Created facts chain trait and use in it places for getting properties
  • Added caching (binary type definitions)
    • Only allows once cache at the moment
    • Only works for one definition file (start of the world, cannot interweave files)
    • Now on by default for the internal definition
    • Reduces time to startup
  • Created generic chain
  • Improved object constraints
  • Add Contributions
  • Added lookup generics (for untyped collection types)
  • Started on mapped types
  • Fix for type aliases and object types
  • Interrupting events are stored on Environments and that is now where return types and thrown values are looked
  • Added Array.map, which works sometimes!
  • Probably some others which I forgot while I was on the 2 week break

Now passes 180 specification tests 馃帀

@kaleidawave kaleidawave added enhancement New feature or request checking Issues around checking subtyping Related to comparing two types compiler-performance Making parsing / type checking / transformations faster labels Jan 29, 2024
@kaleidawave
Copy link
Owner Author

Currently doing some research in contravariance and covariance with respect to explicit generics. Not impossible but generics and structural type systems don't mix nice. Especially as my implementation tries to collect generics at the same time as subtyping of arguments against parameters (rather than two passes). We will get there!

@kaleidawave kaleidawave mentioned this pull request Feb 10, 2024
@kaleidawave kaleidawave marked this pull request as ready for review March 3, 2024 21:39
@kaleidawave
Copy link
Owner Author

@kaleidawave
Copy link
Owner Author

Just seen the date and diff count of this PR. Still lots to do but to prevent this dragging on forever (it was originally just to add the cache back), will merge now and open issues for the leftovers.

@kaleidawave kaleidawave merged commit 338b1ad into main Mar 3, 2024
8 checks passed
@kaleidawave kaleidawave deleted the cache-and-other-types branch May 20, 2024 11:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
checking Issues around checking compiler-performance Making parsing / type checking / transformations faster enhancement New feature or request subtyping Related to comparing two types
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant