Skip to content

Change/simplify tasty #638

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

Merged
merged 3 commits into from
Jun 19, 2015
Merged

Conversation

odersky
Copy link
Contributor

@odersky odersky commented Jun 9, 2015

Drops SkolemTypes and ABSOVERRIDE. Based on #599. Review by @VladimirNik, @DarkDimius

@odersky
Copy link
Contributor Author

odersky commented Jun 10, 2015

@xeno-by. No SkolemTypes are too limited to encode existentials. A SkolemType(T) represents the type
x.type forSome { val x: T }. General existential types need to be encoded by creating definitions of skolem types or vals. E.g. for a type T forSome { type X <: B } create a TypeDef with a synthetic name like type $X <: B that represents the existential variable and use the type [X := $X]T instead.

odersky added 3 commits June 19, 2015 10:36
SkolemTypes are no longer needed when Pickling because they exist only
for checking type-safety. After the typer, we can safely eliminate them.
Not having skolem types in TASTY simplifies the format and avoids having
to explain a difficult concept.
Replace by ABSTRACT and OVERRIDE. No need to expose the representation detail
that they are a single flag.
@odersky odersky force-pushed the change/simplify-tasty branch from 9741a8b to 815209e Compare June 19, 2015 08:37
@odersky
Copy link
Contributor Author

odersky commented Jun 19, 2015

Rebased to master; three commits remaining. @VladimirNik can you review, please?

@VladimirNik
Copy link
Contributor

LGTM

odersky added a commit that referenced this pull request Jun 19, 2015
@odersky odersky merged commit 9ee21cf into scala:master Jun 19, 2015
@allanrenucci allanrenucci deleted the change/simplify-tasty branch December 14, 2017 16:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants