-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Change HK types scheme #731
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
Closed
Closed
Changes from all commits
Commits
Show all changes
42 commits
Select commit
Hold shift + click to select a range
a3f1e56
Clean up of logic in typeDefSig
odersky b07727b
Avoid cyclic references in containsRefinedThis
odersky 2b75c95
Eta expand type arguments corresponding to lambdas
odersky c11e20d
Check argument lengths in typedAppliedTypeTree
odersky d02d383
Better diagnostics for failed sigName calls.
odersky 6b5ff03
Black hole detection for LazyRefs
odersky fc8e20a
Turn assertion into a test in etaExpandArgs.
odersky ce831f8
Fix argument eta expansion
odersky 6c992f0
Strenghten condition in EtaExpandIfLambda
odersky 43377ad
Adapt arguments in all type applications
odersky 35adb64
Avoid generating companion-methods for non-class types.
odersky 38ac13a
Add EtaReduce method.
odersky 8029f65
Add comment.
odersky c5958aa
Add a test that logs the classpath to pinpoint setup failures.
odersky 24e3403
Don't eta expand in appliedTo
odersky 5e45dc5
Always lambda abstract TempPolyTypes representing types.
odersky 968999a
Lambda abstract all TypeRefs when unpickling.
odersky d474100
A non-class typeref has type parameters only if subtype of a lambda c…
odersky accbed2
Drop parameterizeWith
odersky c2a124f
Allow to use safe substitution in LambdaAbstract
odersky 9bb3f52
Use EtaExpand instead of LambdaAbstract when unpickling typerefs
odersky 8610b4d
Avoid cycles when eliminating existentials in unpickling
odersky 7b751f8
Don't lambda abstract derived types
odersky 253adb0
Temporary fix to testLifted
odersky f679830
Follow alias types when computing type params.
odersky 484afef
Try to eta reduce type applications.
odersky 5f779f6
Project all high-kinded types with #Apply
odersky 7cb91c7
Better error reporting in TreePickler
odersky 8b1d320
Adapt type arguments in typedAppliedTypeTree
odersky 4b06dea
Add missing position to error
odersky e24d164
Rename Apply -> hkApply
odersky 7582c0e
Simplify EtaReduce
odersky 4a5bf98
Rename of hk args HK$x -> hk$x
odersky 974c503
Remove magic from derivedRefinedType.
odersky 7eaa515
Replace isLambda with ifHK
odersky ab55221
Rewrite compareHK to be kind-correct
odersky 03be249
Fix problem in typeParams
odersky 9c75b53
Generalize eta reduction to partially applied types.
odersky fecd591
Disallow wildcard arguments to higher-kinded types...
odersky 140eb10
Keep track of parameter bounds in LambdaAbstract and EtaReduce
odersky fd0fa8e
Avoid orphan RefinedThis types in glb/lub.
odersky 887f815
Move failing test to pending.
odersky 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
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.
Could you add a comment explaining why we need to deal with
CyclicReference
exceptions this way?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 should have noted the reason before. There was an CyclicReference error raised but I no longer remember under what circumstances.