-
Notifications
You must be signed in to change notification settings - Fork 326
Blog post on DOT #397
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
Blog post on DOT #397
Conversation
inconsistencies, at least not by a local analysis that does not need | ||
to look at the whole program. What's worse, once you have an | ||
inconsistent set of definitions you can use these definitions to | ||
"prove" their own consistency - much like an mathematical theory that |
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.
an -> a
trait Sub2 extends Base { type A = Int } | ||
|
||
Now, if you combine `Sub1` and `Sub2` in one class, you get a conflict, since the type `A` is supposed to be equal to both `String` and `Int`. If you do | ||
not detect the conflict and assume the equalities at face value you |
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.
"Now, if you combine Sub1 and Sub2 in one class" is a crucial step and I guess readers will want to know more precisely what you mean here, e.g. some Scala code like trait Bad extends Sub1 with Sub2
.
You might consider putting the "Why is This Important?" section first, not last, if you want that section to be widely read. In the current order, a lot of general/casual readers will bail during the calculus section. |
## Difficulties | ||
|
||
Formulating the precise soundness theorem and proving it was unexpectedly hard, | ||
because it uncovered a problem complex that had not been |
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.
"a problem complex" ? Do you mean "a complex problem" ?
@SethTisue It's a concern but it would be difficult to change the flow now. Let's leave it as it is. |
I believe it's ready to merge now, unless there are further change requests. |
Comments solicited, but not merge yet.