dmzlj -
dmzlj — 19.05.2010 Хиндли-Миллнер, модифициованный для языков с классами и наследованием должен выглядеть забавно. Вместо равенства типов в унификации надо будет использовать операцию проверки, не является ли тип A наследником B или наоборот. Если внутри языка иерархия классов представлена лесом (это еще если нет множественного наследования, а оно ведь есть даже в джаве: интерфейсы), то это все будет давать очень приличный множитель к сложности унификации, а оно и так ведь достаточно сложное.Плюс казусы
class Core { // нету someMethod(); } class A : Core { public void someMethod(); } class B : Core { public void someMethod(); } /// ///auto x = someFactory().create(); auto x = null; x.someMethod(); // Ну и какого класса у нас x ?