metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2015-06-18 07:20 pm

Частичная модификация иммутабельных записей

Во всякого рода иммутабельной функциональщине на C#, кроме собственно вариантных типов данных, не хватает еще фичи в синтаксисе: взять запись и создать ее копию, изменив 1-2 поля. В F# вроде такое есть.
И еще структурных типов (или расширяемых на ходу записей) не хватает, чтобы можно было их из методов возвращать - а то на каждый чих именнованных типов не напишешься, а туплы нечитабельны.

В кложурях разных можно мапы использовать и на ходу полями расширять, но оно не проверямо никак статически, блин.

[identity profile] besm6.livejournal.com 2015-06-18 05:09 pm (UTC)(link)
Эээ... А как предлагается проверять статически тип, про который компилятору ничего не сказали?

[identity profile] prepor.livejournal.com 2015-06-18 05:14 pm (UTC)(link)
как этот же компилятор туплы проверяет?

[identity profile] besm6.livejournal.com 2015-06-18 05:44 pm (UTC)(link)
Типа туплы с именованными полями? Идея небессмысленная, но чреватая засиранием глобального пространства имен.

[identity profile] binf.livejournal.com 2015-06-18 05:37 pm (UTC)(link)
Предлагается компилятору вывести тип по выражениям