-
Notifications
You must be signed in to change notification settings - Fork 29
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
Function instrumentation and effect handlers transformation #257
Merged
Merged
Changes from all commits
Commits
Show all changes
104 commits
Select commit
Hold shift + click to select a range
9e2c4cd
Changes IR
AnsonYeung e7813a9
initial changes
CAG2Mark 4444d4e
Update elaborator
CAG2Mark 4f26189
update lowering
CAG2Mark 942922d
fix whitespace
CAG2Mark 827c5e7
refactor some code
CAG2Mark eef7131
Simplify test cases
AnsonYeung 5b26719
Hide handlers behind a flag
AnsonYeung 421b640
Implement transformation for non-resumptive effects
AnsonYeung 76695ba
Continuation class transformation
AnsonYeung 2263ddf
Port tests to new branch
AnsonYeung bdbee0a
Resume non tail resumptive handlers
AnsonYeung e9bab2b
Implement final pieces for nested handlers
AnsonYeung 4bb2d73
Implement Match codegen for multiple arms
AnsonYeung 7395b4c
Moved most wiring code to Predef
AnsonYeung 5ef77f2
Changes to IR
AnsonYeung 018dedd
Changes IR
AnsonYeung dac193e
Patch for JSBuilder
AnsonYeung 68be072
Fix link error
AnsonYeung ab69c37
Merge branch 'hkmc2' into ir-handler
AnsonYeung 6a71972
Changes to handler syntax
AnsonYeung ea621a9
Add class inheritance in IR
AnsonYeung d07371e
Add class inheritance in IR and fixed spacing
AnsonYeung 6b74a07
Merge branch 'hkmc2' into ir-handler
AnsonYeung be15486
Remove unnecessary newline in JS Codegen
AnsonYeung db5aa6d
Random typo fix
AnsonYeung 2b67aba
Merge branch 'ir-handler' into ir-handler-transform
AnsonYeung ef1eabc
Small fix
AnsonYeung 61d2a27
Add mildly interesting test
LPTK 564f020
Add more test cases and reveal some issues
LPTK 9bc81df
Merge branch 'hkmc2' into ir-handler-transform
AnsonYeung 4905f8a
Use subclass for effect and separate internal class
AnsonYeung c66c73d
Change how elaboration of handlers work
AnsonYeung f876483
add test
CAG2Mark 879eece
Fixed one example
AnsonYeung f4e728e
add minimal example of effects in handler bug
CAG2Mark 643ec6f
Fixed another test
AnsonYeung dc516cd
Fix missing thisProxy
AnsonYeung e6cd1ec
Fix generator
AnsonYeung 8a6d15c
Fix typo
AnsonYeung 2e07058
Fix function calls and clases sometimes not being in scope after tran…
CAG2Mark 6339e8b
Update hkmc2/shared/src/test/mlscript/handlers/RecursiveHandlers.mls
CAG2Mark a2900ec
Update hkmc2/shared/src/main/scala/hkmc2/codegen/HandlerLowering.scala
CAG2Mark 4b837eb
Changed and added broken test
AnsonYeung 0864f27
Update tests
AnsonYeung e6a819b
Minor style changes (? debatable improvement)
LPTK af17307
Fix elaboration scoping
AnsonYeung 08a4d4c
Merge branch 'hkmc2' into ir-handler-transform
AnsonYeung 2da74c0
Fixed some bugs
AnsonYeung 80e9fba
Fix consistency
AnsonYeung 964c146
Fixed comments
AnsonYeung b8c6120
move helper function outside
CAG2Mark 2393ea5
Remove usage of dummy class symbol
AnsonYeung 810a639
Remove some unused code
AnsonYeung 74fb276
Merge branch 'hkmc2' into ir-handler-transform
AnsonYeung b04031a
revert parser workaround
AnsonYeung e8113c7
predef clean up
AnsonYeung 78f6f54
Simplify Predef
AnsonYeung d3fedd2
Rewriting most of Predef for clean up
AnsonYeung b30d8ca
Change test case to todo
AnsonYeung c9057ea
remove unused code
AnsonYeung 4b73be5
Merge branch 'hkmc2' into ir-handler-transform
AnsonYeung 235a6ec
Added codegen examples
AnsonYeung ed895eb
use SymbolSubst
CAG2Mark be37739
Update tests
CAG2Mark b8d0da8
fix whitespace
CAG2Mark 7da8101
Fix symbol map issues
CAG2Mark 21843b4
Fix overriding hack
LPTK 862bd6a
Address PR comments
CAG2Mark ac70aea
Address PR comments
CAG2Mark 051bc09
Fix inaccurate inheritance clause.
LPTK e4f4922
style change
AnsonYeung b89eb90
revert whitespace change
CAG2Mark b22ac0b
Merge branch 'ir-handler-transform' of github.com:CAG2Mark/mlscript i…
CAG2Mark 05a8623
Merge branch 'hkmc2' into ir-handler-transform
AnsonYeung 2b3e83e
Eliminate many tail calls to Lowering#term to reduce stack usage
LPTK e901993
Make Handle a statement, as it should be
LPTK c7ca7da
Merge branch 'hkmc2' into ir-handler-transform
LPTK de72285
fix merge
CAG2Mark 444e9b0
update tests
CAG2Mark 83eda13
Address PR comments
CAG2Mark 267c57c
rename
CAG2Mark 8d3ef9f
fix bad comment
CAG2Mark c8dad1e
move helpers to Block
CAG2Mark 0e19ba1
move extensions to class
CAG2Mark 2107ea8
Tiny JS fix
AnsonYeung 2241bb8
Add some tests, including problematic ones that need some fixes
LPTK d56a882
Fix for effectful constructor
AnsonYeung 1d54ec8
Style changes
AnsonYeung 0e285a1
Add binding test for non-resumptive handler
AnsonYeung 28a29bc
Small codegen improvements
AnsonYeung a42e2d3
Change test
AnsonYeung ad2dd67
Implement BlockTransformer
AnsonYeung f9f8a89
implement BlockTransformer
AnsonYeung 86a9b38
Fixed typo and translation of first pass
AnsonYeung 68ba0f0
Add missing case
AnsonYeung 8b7f167
refactor to use BlockTransformer
CAG2Mark cba1195
Fix formating
AnsonYeung 95d7a25
Merge branch 'hkmc2' into ir-handler-transform
AnsonYeung 10d6ebf
Fix error
AnsonYeung 80ba502
check instantiate for effects
CAG2Mark 938dd24
merge
CAG2Mark 438bb33
merge from hkmc2
CAG2Mark 1a01a7e
FIx
AnsonYeung File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please document what this function does.