-
Notifications
You must be signed in to change notification settings - Fork 23
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
Multiple Return Values #272
Draft
denhie
wants to merge
88
commits into
master
Choose a base branch
from
feature/multiple-return-values
base: master
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
Changes from all commits
Commits
Show all changes
88 commits
Select commit
Hold shift + click to select a range
6b823d1
old files
fritzladwig aa8b5cb
Factor out optimizations to separate file
b-studios 5395a8e
Update `Optimizer` for new core.
marzipankaiser 4d45049
Optimizer after Aggregate
marzipankaiser 694b51a
rewrite of functions complete. Tests pending
fritzladwig bafe3c4
dealiasing seems functional
fritzladwig 6eb700d
dealiasing should work now
fritzladwig c273ae5
Static Argument Transformation WIP
fritzladwig f8d0c29
Static Argument Transformation added
fritzladwig 4eaad1d
added inlining of unique and small functions
fritzladwig b591cff
deadcode elimination ignores exports now
fritzladwig 0eefbc2
constant propagation
fritzladwig d04faf5
beta reduction
fritzladwig 85978bf
renaming not yet added to inlining
fritzladwig 454532a
general inlining disabled
fritzladwig 451525a
small changes that appear to impact test results
fritzladwig 1d7377e
all inlining disabled
fritzladwig c0d2ce9
substitute didn't look into implementations and operations...
fritzladwig 5b02e20
inlining bugfix
fritzladwig 3a8f996
enabled renaming when inlining
fritzladwig c4cd529
some documentation and another bugfix
fritzladwig eb49413
another beta reduction pass, might fix tests
fritzladwig 7bf5ab8
bug fixes
fritzladwig 9074472
added benchmarks to branch
fritzladwig 5e11d28
added optimizer options to config
fritzladwig 8b6c5d0
added some more documentation
fritzladwig 48617d9
Remove tupleLiteral
denhie 76b5276
Remove tuple syntactic sugar from types
denhie 1d5b757
Modify tests to use explicit tuple constructor
denhie 8ef7dfc
Add simple test for multiple return values
denhie 6577958
old files
fritzladwig 84795af
Factor out optimizations to separate file
b-studios 60700c9
Optimizer after Aggregate
marzipankaiser 6fd6bd3
rewrite of functions complete. Tests pending
fritzladwig 3aea6b1
dealiasing seems functional
fritzladwig de0e898
dealiasing should work now
fritzladwig 16bd12f
Static Argument Transformation WIP
fritzladwig d6fac7c
Static Argument Transformation added
fritzladwig 736747b
added inlining of unique and small functions
fritzladwig 7cd2f30
deadcode elimination ignores exports now
fritzladwig 7e04e92
constant propagation
fritzladwig 3626576
beta reduction
fritzladwig dfbacb7
renaming not yet added to inlining
fritzladwig 3d947bf
general inlining disabled
fritzladwig d2cf0bd
small changes that appear to impact test results
fritzladwig 2cf8689
substitute didn't look into implementations and operations...
fritzladwig 29a05ef
inlining bugfix
fritzladwig 773d69c
enabled renaming when inlining
fritzladwig 7b57a89
some documentation and another bugfix
fritzladwig 7d474dd
bug fixes
fritzladwig e864867
added benchmarks to branch
fritzladwig 64f6516
added optimizer options to config
fritzladwig be558f1
added some more documentation
fritzladwig 81780fa
Remove tupleLiteral
denhie 49c376a
Remove tuple syntactic sugar from types
denhie 1c79967
Modify tests to use explicit tuple constructor
denhie ce3dd71
Add simple test for multiple return values
denhie a9b5fda
Return list of terms
denhie 35b9cd2
Return list of terms
denhie 45d1d1f
Merge branch 'feature/multiple-return-values' of github.com:effekt-la…
denhie 8e31679
make compilable
denhie 1b1d5b6
Make most tests work
denhie 3fa4202
Remove leftovers from optimization PR
denhie 9fcab70
Improve pretty printing
denhie be3c155
Functions return multiple values
denhie 21150b6
catch multiple return values in backend
denhie bf1886d
multiple return values in machine
denhie 2b4e4fe
multiple return values in ML
denhie 6456db7
infer type for expressions returning multiple values
denhie 86ddb95
stmts in lifted return multiple values
denhie 0f23b83
ids function for Definitions returning a list of ids.
denhie 0a66d8f
Definition.symbol now return a list of symbols corresponding to the l…
denhie f09152d
Remove TODOs
denhie 2f4e95f
pure in monadic js accepts multiple expressions.
denhie d7b7a32
Remove TODOs
denhie 50642f2
Pattern matching on multiple return values
denhie 2ccc64d
Valdef checks only against annotation, if an annotation for every val…
denhie 174f35c
break down big boolean expression
denhie 441c144
rename tpe to tpes to reflect type change
denhie 5038350
revert auto-formatting
denhie ea5dff5
remove unused code
denhie 831ea16
Try to maintain invariant that there is only one symbol per definition
phischu 47a0b3b
Add default field to ValDef
phischu d4bd084
Apply suggestions from review
phischu d2e089b
Merge pull request #312 from effekt-lang/feature/multiple-return-valu…
denhie 176fd62
Avoid class cast exception
phischu 7fea84e
Decide number of returns before pretty printing
phischu 74d1e9d
Insert bindings further down
phischu 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
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.
I don't like that DeclPrinter now takes a list... This feels wrong.