![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Во всякого рода иммутабельной функциональщине на C#, кроме собственно вариантных типов данных, не хватает еще фичи в синтаксисе: взять запись и создать ее копию, изменив 1-2 поля. В F# вроде такое есть.
И еще структурных типов (или расширяемых на ходу записей) не хватает, чтобы можно было их из методов возвращать - а то на каждый чих именнованных типов не напишешься, а туплы нечитабельны.
В кложурях разных можно мапы использовать и на ходу полями расширять, но оно не проверямо никак статически, блин.
И еще структурных типов (или расширяемых на ходу записей) не хватает, чтобы можно было их из методов возвращать - а то на каждый чих именнованных типов не напишешься, а туплы нечитабельны.
В кложурях разных можно мапы использовать и на ходу полями расширять, но оно не проверямо никак статически, блин.
no subject
Date: 2015-06-18 05:05 pm (UTC)no subject
Date: 2015-06-18 05:38 pm (UTC)no subject
Date: 2015-06-18 05:09 pm (UTC)no subject
Date: 2015-06-18 05:14 pm (UTC)no subject
Date: 2015-06-18 05:44 pm (UTC)no subject
Date: 2015-06-18 05:37 pm (UTC)no subject
Date: 2015-06-18 05:12 pm (UTC)http://elm-lang.org/docs/records
Вот где сделали правильно.
no subject
Date: 2015-06-18 05:35 pm (UTC)А вообще у C# есть реальные бонусы по сравнению с F#, или всё сводится к экономии пары тактов процессора за счёт нагромождения монки-кода?
no subject
Date: 2015-06-18 08:52 pm (UTC)no subject
Date: 2015-06-19 06:28 am (UTC)dynamic вызывает у меня боль своей непроверяемостью статической, которой он заражает рядом лежащий код.
Т.е. косые ошибки вида "вызвал метод инстанса от класса" - валятся в рантайме с ужасными стек-трейсами.