-
Notifications
You must be signed in to change notification settings - Fork 1.1k
[WIP] Change HK encoding #1282
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
+1,206
−719
Closed
[WIP] Change HK encoding #1282
Changes from 1 commit
Commits
Show all changes
86 commits
Select commit
Hold shift + click to select a range
468b499
Record binding kind in TypeBounds
odersky 2d8d291
Allow refinements of new types
odersky 10ef004
Allow general recursion in refined types.
odersky 3c99610
Refinements to refinement types
odersky 461fe3d
Add type lambdas
odersky 3960710
Better printing of skolems
odersky a3a6108
New type lambda scheme for hk types
odersky e768331
Add mapInfo method to Denotations
odersky c7fa021
Introduce recursive types
odersky 7d3b4de
Use recursive types also when unpickling from Scala 2.x
odersky 96f6bc6
Abstract type parameters out from type symbols
odersky 4b912db
Fix toVariance in MemberBinding
odersky 6b9e7d8
Disable checkInst in RecType
odersky 67b4917
Simplify RecType.closeOver
odersky 7c59785
Rename MemberInfo -> MemberBinding
odersky 7a92cd5
Add printing of type lambda trees
odersky c9daca0
Replace MemberBinding # memberInfo by memberBounds
odersky ddc3a81
Fix printing of type lambdas
odersky eb3f1a6
Remove special case in parser
odersky b6f9305
[WIP] Tenantive new HK scheme.
odersky 444e182
Avoid crasher in derivedTypeParams
odersky bc51e63
Fix printing of type lambdas
odersky b1ee403
Remove printlns
odersky fed3150
Revise logic in type comparer for new HK scheme
odersky 56d2dd3
Rmove over-zealous check
odersky 828b231
Turn on new hk scheme
odersky ec0ce3a
Swap order of tests in lookupRefined
odersky e17ca87
Change joins of BindingKinds
odersky a7fb8a7
Fix printing of type lambdas under new hk scheme
odersky cd51707
refine isRef for hk type
odersky 88f4272
Fix withBindingKind for type aliases
odersky df73535
Multiple fixes to BetaReduce
odersky a0afd49
Fix logic for hk subtype tests
odersky cbf52d1
Make isHK more precise
odersky e433fe9
Beta-reduce when simplifying
odersky 0de8705
Make etaExpandIfHk work for non-symbol type params
odersky 7d8457d
Avoid stackoverflows for `Rep[T] = T`.
odersky 06f916e
Refinement of cycle avoidance
odersky 194f5d3
Don't map info of SkolemTypes in type maps
odersky 1a656a1
Handle LazyRefs in BetaReduce
odersky c4fc98b
Fix^2 of asMemberOf
odersky 5ea78e4
Try to beta-reduce bounds before adding to a constraint.
odersky 8fd0e0f
More subtle handling of LazyRefs in BetaReduce
odersky 8eb98a8
Another refinement to asMemberOf
odersky 6068e7a
Drop isSafe test from BetaReduce
odersky 20ebc13
Normalize RecTypes on creation to avoid cycles.
odersky 6afe257
Add a second betaReduce
odersky 1255fb8
Adapt widenForMatchSelector to new HK scheme
odersky bdf7f3e
Fix typeParams for abstract types under completion
odersky d5771da
Swap subtype tests
odersky 9e14d74
Make underlyingClassRef work for hk types under new scheme.
odersky 76f7563
Esnure that toAvoid does not creat hk from * types
odersky 2b70615
Let getClass return a * type
odersky 757f117
Generalize typeParamSymbols
odersky 55ff0b5
Eta-expand unapplied types that have type parameters
odersky ec11b0b
Check kinds of type parameters
odersky de29cd1
Restrict betaReduce to hk applications
odersky 9b21b46
Handle LazyRefs conservatively in isReferredTo
odersky 226cdb9
Optionally, check kinds match for & and |
odersky 7329957
Avoid infinite recursion when comparing recursive types.
odersky 6fac433
Remove debug println
odersky 6ed6857
Make typeParams more defensive
odersky 7dc3135
Fix condition for lambda abstracting in Namer
odersky c896a83
Refinement for knownHK for PolyParams
odersky e38541b
Remove debug println
odersky db4d934
Make TypeAccumulators follow LazyRefs
odersky 3560e56
Add normalizeHkApply to homogenize
odersky 1844c1d
Avoid creating dependent function types for closures
odersky a6caf1c
Generalize compareHkApply to types other than PolyParams
odersky 392090a
Homogenize skolem types
odersky 5182a58
Change test to make it pass
odersky 5e448ff
Disable named parameter tests
odersky 5a20984
Fix merge errors
odersky 9887c43
Revert "Generalize compareHkApply to types other than PolyParams"
odersky b4f21d0
Deal with nested findMember calls over the same RecType
odersky 7cc0308
Add explanation why generizing compreHkApply is not needed.
odersky b88cfec
Fix comments
odersky 7abd0cc
Add TODO comment in TreePickler
odersky 794bb02
Swap order of subtype tests
odersky 7c99c8a
Cleanups
odersky 4c51505
Smarter handling of LazyRefs in betaReduce
odersky eb6cfb4
Optimize RecType/RecType comparisons
odersky 6d6afbf
Fi compareHkLambda
odersky 745a718
Remove old hk scheme
odersky 79a7976
Simoplify RefinedType
odersky 57bf237
Simplify typeParams
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 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
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.
So why isn't this needed anymore? Does this mean that the
TypeParamsCompleter
class can be deleted?