Sign in
Блог Василия Воронкова
О программировании и не только.
Translate This Page
Translate this page
Powered by
Microsoft® Translator
Tags
C#
Ela
F#
fprog
Haskell
OCaml
Алгебраические типы
Декларативный код
Императивный код
каррирование
Функциональное программирование
частичное применение
Чистота
Browse by Tags
MSDN Blogs
>
Блог Василия Воронкова
>
All Tags
>
fprog
Tagged Content List
Blog Post:
Алгебраические типы. Часть 3. Полиморфные варианты
Василий Воронков
Главный недостаток алгебраических типов явным образом следует из их главного преимущества перед классами в ООП. В прошлой заметке мы обсуждали тот факт, что алгебраические типы являются "закрытыми", и вы не можете добавить новый конструктор, не изменив само объявление алгебраического типа, что позволяет...
on
31 May 2011
Blog Post:
Алгебраические типы. Часть 2. ООП как путь к динамической типизации
Василий Воронков
Возможно, вам доводилось слышать такое утверждение о языке программирования Хаскелл - Хаскелл это полностью статически типизированный язык. Строго говоря, это, конечно же, не совсем так, но сейчас речь не об этом. Согласитесь, что это утверждение в каком-то плане интригует? Нам как бы намекают, что есть...
on
26 May 2011
Blog Post:
Алгебраические типы. Часть 1
Василий Воронков
В теории типов алгебраическим типом данных называют такой тип, который представляет собой объединение различных значений, причем каждое из этих значений является отдельным типом данных. C#-программисту на первый взгляд такая формулировка может показаться весьма туманной. (И не в последнюю очередь потому...
on
25 May 2011
Blog Post:
Чистые функции
Василий Воронков
На первый взгляд с чистыми функциями все просто. Функция называется чистой, если она удовлетворяет двум требованиям: Функция всегда возвращает одно и то же значение для одних и тех аргументов. Т.е. если мы один раз вызвали чистую функцию с аргументами, к примеру, 12 и 42, то когда нам потребуется...
on
26 Apr 2011
Blog Post:
Эти удивительные каррированные функции
Василий Воронков
Имея в языке только каррированные функции и левоассоциативный оператор вызова, вы можете с легкостью имитировать такие возможности как передача неограниченного количества параметров, при этом не вводя в язык какие-либо дополнительные механизмы. К примеру, сколько аргументов у такой функции: out...
on
20 Apr 2011
Blog Post:
Каррирование и частичное применение
Василий Воронков
Наверняка вы уже слышали такие термины как каррирование и частичное применение . Термины эти используются достаточно широко, однако несмотря на это существует определенная путаница, из-за которой некоторые даже считают, что каррирование и частичное применение - это одно и то же. Кто в этом виноват? Наверное...
on
19 Apr 2011
Blog Post:
Функциональный и императивный
Василий Воронков
А какой код, собственно, является императивным? Как ни странно, это не самый тривиальный вопрос. "Императивный" часто противопоставляется "функциональному", когда формально эти понятия не связаны. Правда в том, что функциональный код по идее не является императивным, но, согласитесь, что подобная формулировка...
on
18 Apr 2011
Page 1 of 1 (7 items)