-
Notifications
You must be signed in to change notification settings - Fork 40
Instrumentation into Block IR #355
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
Open
ChingLongTin
wants to merge
262
commits into
hkust-taco:hkmc2
Choose a base branch
from
ChingLongTin:instrument
base: hkmc2
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 4 commits
Commits
Show all changes
262 commits
Select commit
Hold shift + click to select a range
1ff0f5a
Merge pull request #2 from ChingLongTin/block-mls
ChingLongTin ac3a2f3
Merge pull request #3 from hkust-taco/hkmc2
ChingLongTin 539bca3
Instrumentation progress following formalization
ChingLongTin 3d43c81
Merge branch 'hkmc2' into instrument
ChingLongTin 9298f36
add Block.mls
ChingLongTin 4796cad
Add Block.mls into DiffMaker and prepare the function for lowering
yeungsinchun b072e4a
add block.mjs also in MLsCompiler
yeungsinchun 35106c0
lower 'staged' annotations to Block and add display of 'staged' anno…
yeungsinchun 4efccdf
amend! Add Block.mls into DiffMaker and prepare the function for lowe…
ChingLongTin f9ad612
clean up Syntax.mls
ChingLongTin f763b03
fiddle with printing staged keyword in FunDefn
ChingLongTin 85f86c3
revert whitespace
ChingLongTin a39765e
revert change to printing
ChingLongTin ee681c9
move isStaged inside Fun
ChingLongTin f77c44c
more formatting fixes
ChingLongTin 9c4c754
add new symbols to Elaborator
ChingLongTin 4e5b281
remove Shape and Pattern
ChingLongTin d3aa471
rework function signatures
ChingLongTin b251526
clean up Block.mls
ChingLongTin 84730bf
add Shape.mls
ChingLongTin f44b167
copy over more rules
ChingLongTin dcb0ed6
remove import of block inside MLsCompiler
yeungsinchun bfac96d
update diff test result (for the staged annotation)
yeungsinchun a81c0e9
fix importing for Block.mls
ChingLongTin 4b0fa45
draft ruleInst
ChingLongTin 3761d19
generalize recursion
ChingLongTin 3ca8a98
add more rules
ChingLongTin 71d5df3
remove length parameter from Shape.Arr
ChingLongTin cca32c6
stub all current rules
ChingLongTin ea13fe3
change transform* signature
ChingLongTin 47919c4
change staged* to mls*
ChingLongTin 217fb90
simplify getShape, getCode
ChingLongTin 3827db5
reword transformArgs
ChingLongTin 2d9c3d2
remove extractResult
ChingLongTin c5be8ec
introduce StagedPath
ChingLongTin b4eaf5c
introduce Shape
ChingLongTin 2563eca
link to functions in Shape.mls
ChingLongTin edd7436
move function
ChingLongTin c17c3e1
implement more rules
ChingLongTin 369195f
add stubs for function instrumentation
ChingLongTin ded7260
add instrumentation context
ChingLongTin 5e08d17
refactor transformArgs
ChingLongTin 3de4643
add Context to some functions
ChingLongTin c3a1f5c
dedup Pattern with Block.Case
ChingLongTin d1170e9
rename mls{Block, Shape, Symbol} helpers
ChingLongTin 36107df
amend! link to functions in Shape.mls
ChingLongTin ed393fc
flesh out {Block, Shape}.mls
ChingLongTin 1c5fc1a
formatting
ChingLongTin 38069b7
implement ruleMatch
ChingLongTin f1a209b
remove Label from Block.mls
ChingLongTin 55f4fa1
rename helpers
ChingLongTin 124232f
update Block.mls
ChingLongTin 7c8f3d9
adapt NeilKleistGao's example code
ChingLongTin 6997e89
rename helpers
ChingLongTin 36abad1
refactor ruleMatch
ChingLongTin 64960a8
fix ruleTup
ChingLongTin a264406
reduce supported cases to make mvp
ChingLongTin 4ae8897
Update Syntax.mls
ChingLongTin 88c3a5e
move detecting staged annotation to ClsLikeDefn
ChingLongTin 17701b9
move importing to diff testing compiler flag
ChingLongTin 5ccb64c
revert formatting changes
ChingLongTin 980d89c
Update Printer.scala
ChingLongTin ce1e38c
Update Lowering.scala
ChingLongTin ec3e7b8
Merge branch 'hkmc2' into staged-syntax
ChingLongTin 317c6f6
remove redundant :pt
ChingLongTin 9023eec
fix syntax error
ChingLongTin 9fc83dc
fix type hint for arms in Match
ChingLongTin 7b702f3
add preliminary printCode function
yeungsinchun e4d7b22
move instrumentation to JSBackendDiffMaker
ChingLongTin 6576f28
rename compiler flag to :staging
ChingLongTin 4191464
Revert "remove redundant :pt"
ChingLongTin 817e828
combine import statements to list
ChingLongTin e4f947d
Merge branch 'staged-syntax' into instrument
ChingLongTin 33a3749
reword function
ChingLongTin b10e975
Revert "move instrumentation to JSBackendDiffMaker"
ChingLongTin b93b5eb
Merge branch 'staged-syntax' into instrument-simple
ChingLongTin 791b5b4
prune implementation for mvp
ChingLongTin 578dfd1
implement rudimentary instrumentation logic
ChingLongTin 27bf507
implement printing for DynSelect
ChingLongTin 9c975f6
only stage functions in staged modules
ChingLongTin ff6b121
update Syntax.mls
ChingLongTin 068fd37
remove bugs in pretty printing
yeungsinchun f70f346
Merge branch 'pretty-print' into instrument-simple
yeungsinchun 3f32b39
formatting
ChingLongTin d3bd300
add back Symbol class
ChingLongTin 8ef91e9
reuse original function name
ChingLongTin 3c7f58d
update test cases
ChingLongTin 2ecda34
fix ruleVal
ChingLongTin 9ebf26b
add some debug symbol names
ChingLongTin 0198eb9
rename PathLike to ArgWrappable
ChingLongTin 8fa331b
fix applyBlock impl
ChingLongTin e167b20
refactor transformFunDefn
ChingLongTin 0e08e07
remove spread from Arg
ChingLongTin 827f6af
clean up outdated comments and helpers
ChingLongTin 57b45fd
implement ruleTup
ChingLongTin 37eb7a1
formatting
ChingLongTin 69f5997
implement ruleSel and ruleInst
ChingLongTin 6831c61
remove outdated comment
ChingLongTin ab92537
clean up symName printing
ChingLongTin 29c1109
formatting
ChingLongTin 55fdf26
Add shape in diff testing
yeungsinchun 1e0eb65
update note
ChingLongTin b93a91c
update PrintCode printout
ChingLongTin 772c93a
update Shape constructors
ChingLongTin fbe45ea
add context
ChingLongTin 873c8cc
remove outdated comments
ChingLongTin 31809c7
correc comment
yeungsinchun 91e5197
fix pretty print to print mlscript
yeungsinchun f1886ec
refactor
ChingLongTin d99eda9
follow JSBuilder pretty printing for DynSelect in Printer
ChingLongTin 02303a3
remove Field from Case
ChingLongTin d6dc21e
change transformBlock signature
ChingLongTin cde7a68
implement more rules
ChingLongTin 1f3ee7c
remove import Option from Shape.mls
ChingLongTin 0499166
replace Multiple with ShapeSet
ChingLongTin fbb869c
misc fixes to Shape.mls
ChingLongTin adf5590
patch showLiteral for null and undefined
ChingLongTin ada9c3a
replace ruleVal
ChingLongTin 9f6b1ab
clean up
ChingLongTin ba80ea4
add symbol to Class Shape for matching
ChingLongTin 8efd61d
add spread field to Arg
ChingLongTin e19dbd6
update PrintCode.mls
ChingLongTin 146a198
add ruleCls
ChingLongTin e1aedc7
formatting
ChingLongTin ed85e75
progress on rest of the rules
ChingLongTin 53a0aa4
replace Block.Case with Pattern
ChingLongTin 3a992ad
implement ShapeSet and ShapeMap
ChingLongTin 5840db4
fix equality checks for Symbol
ChingLongTin bc2f624
implement Shape{Map, Set}
ChingLongTin e2454b4
fill out ShapeSet functionailty
ChingLongTin 746cbd3
link ShapeSet symbols for instrumentation
ChingLongTin 9915656
fix Shape, ShapeSet implementations
ChingLongTin 4930252
remove TrivialResult
ChingLongTin b3c707f
replace Shape with ShapeSet during instrumentation
ChingLongTin e76c1fd
add message to assertions
ChingLongTin d792553
refactor match rules
ChingLongTin 1020d38
add debug print Shape
ChingLongTin eece7ac
print more information for ClsLikeDefn
ChingLongTin df68b1d
combine Pattern with Case
ChingLongTin aa3b19a
fill out more match instrumentation
ChingLongTin 4af5839
update comments
ChingLongTin 2c67c8e
update PrintCode.mls
ChingLongTin c90118c
move optionNme inside stageCode scope
ChingLongTin f149026
Merge remote-tracking branch 'mlscript/hkmc2' into instrument
ChingLongTin aae0086
Revert "move optionNme inside stageCode scope"
ChingLongTin 986ace7
use more meaningful names in Functions.mls
ChingLongTin f0456e1
refactor collectApply
ChingLongTin d510452
formatting
ChingLongTin 0b2b7ea
update comments and debug info
ChingLongTin b6c86e1
remove redundant import
ChingLongTin 869c519
match pretty printing syntax for DynSelect with formalization
ChingLongTin cff8896
fix mkClass
ChingLongTin 0d95197
Merge branch 'hkmc2' into instrument
ChingLongTin 8853371
formatting
ChingLongTin 60c777c
Merge branch 'instrument' of https://github.com/ChingLongTin/mlscript…
ChingLongTin a343c36
fix syntax errors
ChingLongTin 3c4faec
patch in instrumentation
ChingLongTin b7c3698
unreserve Option in Elaborator
ChingLongTin c149a11
remove argument names from class shape
ChingLongTin 1f5c8d7
move functions
ChingLongTin a6b0162
add ClassSymbol
ChingLongTin c9f3c6a
formatting
ChingLongTin db7395d
clean up
ChingLongTin af3f436
Revert "move functions"
ChingLongTin 89f414c
update diff output
yeungsinchun 6db62ea
pass staged annotation in lowering
yeungsinchun c1f00e8
Revert "patch in instrumentation"
ChingLongTin 143ce9b
rename functions
ChingLongTin fcbe8c9
add debug information to rules
ChingLongTin 87b5457
move paramsOpt into ClassSymbol
ChingLongTin 67a099c
implement pruning of bad arms from Match statement
ChingLongTin 9f148af
add debug name to transformSymbol
ChingLongTin cd26ae1
remove code duplication from ruleBranch
ChingLongTin 2b5b30a
fix typo
ChingLongTin 8b459b3
Merge branch 'fix-pretty-print' into instrument
yeungsinchun 5d63091
update pretty printing to print actual mlscript
yeungsinchun cc24cae
only pass the "staged" annotation for non-companion module
yeungsinchun 2b1d157
Merge remote-tracking branch 'origin/instrument' into instrument
yeungsinchun bcafb98
reduce test cases
yeungsinchun b9eee38
fix class definition printing
yeungsinchun 50f07ca
add match error on pretty printing
yeungsinchun 678dbc9
fix test cases
yeungsinchun 71a8918
some unimportant change
yeungsinchun 7151735
some more unimportant change
yeungsinchun 2548c78
Merge branch 'instrument-with-pretty-print' into instrument
yeungsinchun f582fa5
printed correctly now
yeungsinchun 0a6087f
Revert "printed correctly now"
yeungsinchun cd7f7bc
Revert "Merge branch 'instrument-with-pretty-print' into instrument"
yeungsinchun 34d0914
Revert "some more unimportant change"
yeungsinchun a3925e5
Revert "Merge remote-tracking branch 'origin/instrument' into instrum…
yeungsinchun 79c90ee
Revert "update pretty printing to print actual mlscript"
yeungsinchun 430d941
Merge branch 'hkmc2' into instrument
ChingLongTin ff58a1a
Reapply "Merge remote-tracking branch 'origin/instrument' into instru…
ChingLongTin 50b6fd5
fix static impl
ChingLongTin 087c960
add inf back to Tup
ChingLongTin 302e310
fix showArg printing
ChingLongTin 4d8e46c
add more Tup test cases
ChingLongTin f3ee1c6
formatting
ChingLongTin c703795
fix params type in FunDefn
ChingLongTin c124135
add Context to ruleEnd
ChingLongTin 45b7b5e
uppdate Match rules
ChingLongTin 408733a
mark pretty printing equality as fixme
ChingLongTin 06312fb
Merge branch 'hkmc2' into instrument
ChingLongTin 0e2fec8
progress: deprecate ShapeSet from StagedPath
ChingLongTin 97ede40
progress: strip shape logic from rules
ChingLongTin d507d3f
remove inferring shape from Instrumentation
ChingLongTin ff7385d
progress: add StagedPath to ArgWrappable
ChingLongTin 6db1ee7
progress: simplify impl
ChingLongTin 977433a
progress: formatting
ChingLongTin b79613a
Merge branch 'hkmc2' into instrument
ChingLongTin f58ecc5
Merge remote-tracking branch 'mlscript/hkmc2' into instrument
ChingLongTin e21bff2
fix printCode syntax
ChingLongTin 55e1075
remove equality hack in Shape.mls
ChingLongTin aa72ded
switch from ValDefn to Scoped
ChingLongTin 326ac69
fix: make new dSym when cloning FunDefn
ChingLongTin 77acb04
remove context from ruleEnd
ChingLongTin ccc950d
add staging for functions with arguments
ChingLongTin dee92b1
progress: simplify StagedPath
ChingLongTin e6fd90a
progress: Make blockCtor produce StagedPath
ChingLongTin 59a4af2
use ClassSymbol for ruleApp
ChingLongTin 5adcfa3
formatting
ChingLongTin a4c8df0
update tests
ChingLongTin 7abddf9
remove StagedPath
ChingLongTin f0c6f52
formatting
ChingLongTin a407e01
inline functions
ChingLongTin e40a1e6
formatting
ChingLongTin 69a142f
formatting
ChingLongTin 6b012b2
remove Shape{Map, Set} definitions
ChingLongTin 8a713b5
Merge branch 'hkmc2' into instrument
ChingLongTin 51e5513
formatting
ChingLongTin 0cc778e
imrpove symbol information for select
ChingLongTin e3f052b
simplify applyRuleBranch
ChingLongTin ed36c03
import option file during MLsDiffMaker init
ChingLongTin b18776f
remove import statement for option in MLsDiffMaker
ChingLongTin 3df66e2
fixup! remove import statement for option in MLsDiffMaker
ChingLongTin 9212c53
include staging tests in diff tests
ChingLongTin 9f2ca50
remove redundant codegen
ChingLongTin 504d21a
Merge branch 'hkmc2' into instrument
ChingLongTin 247a4c9
Merge branch 'hkmc2' into instrument
ChingLongTin 7da3eea
add Block symbol following pr #375
ChingLongTin 7e115d7
formatting
ChingLongTin 9bcdf99
add Scoped, Loop, Break nodes to Block IR
ChingLongTin 8585c5e
Merge branch 'hkmc2' into instrument
ChingLongTin 6f456bb
Merge branch 'hkmc2' into instrument
ChingLongTin b16fdf4
replace parameters of functions with its symbol instead of undefined
ChingLongTin b516237
retain scoped symbols after instrumentation
ChingLongTin 0b968ed
update test
ChingLongTin 78e754f
replace calls to staged functions
ChingLongTin fe08c3b
Wrap function body
ChingLongTin efb6ae8
move printing into constructor
ChingLongTin 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 hidden or 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 hidden or 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 hidden or 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.
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.
Uh oh!
There was an error while loading. Please reload this page.