[Grace-core] Type declarations

Marco Servetto marco.servetto at gmail.com
Thu Mar 20 18:34:39 PDT 2014


>> But the "type theorists" don't agree ...
Ok, since I feel like call into the discussion:
The main difference in nominal typing is that you have a hierarcical
organization of the meaning of the method names(selectors)
Lets do the following practical example:
Nominal system:
class Lib1:{
  class A { m(){...} }
  class B { m(){...} }
  //tons of private stuff here
  }
Is possible, and an IDE can do it automatically,
to rename Lib1.A.m in Lib1.A.someFreshName, while leaving
Lib1.B.m called Lib1.B.m.
If we was in a structural system
We can not do it, since may be there is a method in the private part
that takes an {m()}, no matter if it is an A or a B.
For the best of my understanding tags does not helps here.


More information about the Grace-core mailing list