Здравствуйте, я столкнулся с такой ситуацией:
[Record]
class Foo[T,U]{public data : int;}
type IntFoo[U] = Foo[int, U];
type IntStrFoo = IntFoo[string];
static class Program
{
static Main() : void
{
_ = IntStrFoo(5);
_ = IntFoo.[string](5); //error
_ = Foo.[int, string](5);
def myFun = f : IntFoo.[string] => f.data;
_ = myFun(IntStrFoo(5));
_ = myFun(IntFoo.[string]()); //error
_ = myFun(Foo.[int, string](5));
}
}
В
статьеАвтор(ы): Сергей Туленцев, Владислав Чистяков
Дата: 23.05.2006
Производительность труда программиста в основном зависит от самого программиста. Однако даже самый опытный и знающий программист мало что может без подходящего инструмента. Эта статья открывает цикл статей об одном из таких инструментов, еще мало известном среди программистов, но очень многообещающем. Язык Nemerle, о котором пойдет речь в этих статьях, на первый взгляд очень похож на слегка улучшенный C#, но привносит многое из передовых исследовательских языков. Данная статья рассказывает об отличиях Nemerle от C# (как наиболее близкого языка)и является неформальным введением в язык.
достаточно расплывчато сказано, что
с помощью этой возможности можно объявлять даже открытые generic-типы. Собственно а subj вообще поддерживается? Вроде получается что частичная специализация есть, но не совсем