-
Notifications
You must be signed in to change notification settings - Fork 40
Implement Typed IR #504
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
Draft
Derppening
wants to merge
61
commits into
hkust-taco:hkmc2
Choose a base branch
from
Derppening:enhance/typed-ir
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.
Draft
Implement Typed IR #504
Changes from 21 commits
Commits
Show all changes
61 commits
Select commit
Hold shift + click to select a range
5dfa1b8
Add `PrimitiveType`, `ErasedType`, and refactor `Value.Lit`
Derppening 5dab8dd
Merge remote-tracking branch 'upstream/hkmc2' into enhance/typed-ir
Derppening e3509d7
codegen: Add ErasedType for Value.This
Derppening f0fe27c
codegen: Remove `Value.Lit.erasedType`
Derppening df6d065
codegen: Add `MemberRef` to erasedType
Derppening fbe4104
codegen: Add `erasedType` to `SimpleRef`
Derppening d389627
WIP: Remove `SimpleRef.erasedType`
Derppening 0379ae9
codegen: Implement `erasedType` in symbols
Derppening 5c358ee
codegen: Add `ErasedType.ObjectRef`
Derppening f3bfba1
codegen: Bubble `HasErasedType` up to `Result`
Derppening 7112f54
codegen: Tighten the erased type of some symbols
Derppening 6dc04ca
codegen/js: Fix comment alignment
Derppening ab03528
Merge remote-tracking branch 'upstream/hkmc2' into enhance/typed-ir
Derppening 1e0799c
semantics: Drop `using State` from `NoSymbol`
Derppening 2d6d283
codegen: Fold `ObjectRef` as `AnyRef(_, NoSymbol)`
Derppening 8ba7fe1
codegen: Implement printing of erased types
Derppening 0c271c9
codegen: Implement `HasRefinableErasedType`
Derppening 1620a30
codegen: Add erased type refinement to parameters
Derppening fe4b63b
codegen: Implement erased type refinement for class fields
Derppening 60d531b
difftest: Add more padding to test cases in `ErasedType.mls`
Derppening adfc743
[WIP] codegen/wasm: Implement `ErasedType.wasmType`
Derppening dd94b46
WIP: Fixup `refineErasedType` implementation and docstring
Derppening 197acde
codegen: Update printer to print type annotations on `let`
Derppening e3ff6ef
codegen: Do not show annotations for types
Derppening f518f15
Merge remote-tracking branch 'upstream/hkmc2' into enhance/typed-ir
Derppening df3b6ae
[WIP] codegen/wasm: Restrict type of local `$this`
Derppening b33b146
Revert dd94b46
Derppening 2838dad
Update binaryen.js
Derppening 52f6eb8
Merge remote-tracking branch 'upstream/hkmc2' into enhance/typed-ir
Derppening 178a339
WIP: Implement `FuncRef`, refine in `Lowering`
Derppening 4203e00
WIP: Add refinement of return types and operator types
Derppening 202ef1d
Lowering: Correctly guard population of function types
Derppening 4ddf252
codegen: Implement erased type relaxation
Derppening 4f63baf
codegen: Propagate call types
Derppening f3bca96
codegen: Propagate selections
Derppening 72a334b
codegen: Infer rest params
Derppening 5e49f52
codegen: Infer type of lifter capture symbols
Derppening ca6dd9d
Rename refine -> populate
Derppening eaa56a6
Merge remote-tracking branch 'upstream/hkmc2' into enhance/typed-ir
Derppening 4427c92
Rewrite Scaladoc, add TODOs
Derppening 68b8c9e
codegen: Split `HasMutableErasedType`
Derppening 8c380bd
codegen: Make `N: Opt[ErasedType]` mean an unknown type
Derppening 4085dff
codegen: Propagate erased types of capture fields
Derppening f03bba6
codegen: Propagate erased types of params-from-lifted locals
Derppening 7656e2b
codegen: Expand `FuncRef` and remove top-level optionality
Derppening 6aa62d6
semantics: Make `NoSymbol` a `case object`
Derppening 8fdc420
semantics: Make `NoSymbol` a plain `object`
Derppening fc5367d
semantics: Refactor and deprecate `State.noSymbol`
Derppening 098ef02
Fix more `State.noSymbol` deprecation warnings
Derppening 590e9a6
Merge remote-tracking branch 'upstream/hkmc2' into enhance/typed-ir
Derppening 59e902d
Merge remote-tracking branch 'upstream/hkmc2' into enhance/typed-ir
Derppening df99448
Merge remote-tracking branch 'upstream/hkmc2' into enhance/typed-ir
Derppening 23d6aaf
Merge remote-tracking branch 'upstream/hkmc2' into enhance/typed-ir
Derppening 52b2912
Merge remote-tracking branch 'upstream/hkmc2' into enhance/typed-ir
Derppening bcbc587
Merge remote-tracking branch 'upstream/hkmc2' into enhance/typed-ir
Derppening 3665ba2
WIP: Implement lowering of `Int` -> `i31ref`
Derppening 9155768
WIP: Implement lowering of classes to specific refs
Derppening 47e729c
wasm: Return concrete ref-type from constructors
Derppening 3697356
wasm: Further restrict types of locals
Derppening 084f7dd
wasm: Use more specific type for return type of `init` functions
Derppening 3b46617
wasm: Use `erasedType` for struct fields
Derppening 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
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
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.
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.