metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2009-10-11 10:17 am

Доизучался ФП

Кусок проги на C#

//фактически, мы делаем следующее: из конструктора/инициализатора с N параметрами мы
//делаем его же(хотя формально это уже не конструктор, а просто функция), но с нулем
//параметров, методом замыкания N параметров конструктора на локальные переменные
//в анонимном делегате.
public delegate T UIStateConstructor<T>() where T:UIStateBase;
public delegate T UIResourceConstructor<T>() where T:class;

Жаль, фреймворк не 3.5, там подобные штуки делать проще стало, менее многословно.

Re: Боюсь прослыть невежей, но всё же...

[identity profile] metaclass.livejournal.com 2009-10-11 08:59 am (UTC)(link)
Функциональное программирование. Всю эту пакость с параметрическими типами, замыканиями и функциями высшего порядка я нормально осилил только после изучения функциональной парадигмы, откуда оно заимствовано.

Re: Боюсь прослыть невежей, но всё же...

[identity profile] zelanton.livejournal.com 2009-10-11 09:19 am (UTC)(link)
Захотелось взглянуть. С чего начать ознакомление порекомендуете?

Re: Боюсь прослыть невежей, но всё же...

[identity profile] metaclass.livejournal.com 2009-10-11 09:30 am (UTC)(link)
Сначала отсюда, видимо:
http://www.rsdn.ru/article/funcprog/fp.xml
http://www.rsdn.ru/article/dotnet/LinqAsStapToFp.xml
http://www.rsdn.ru/summary/3857.xml

а потом наверно
http://www.rsdn.ru/article/haskell/haskell_part1.xml
http://www.rsdn.ru/article/haskell/haskell_part2.xml

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

Re: Боюсь прослыть невежей, но всё же...

[identity profile] alexott.livejournal.com 2009-10-11 12:38 pm (UTC)(link)
F# бери - там интеграция с .Net нормальная...

Re: Боюсь прослыть невежей, но всё же...

[identity profile] alexott.livejournal.com 2009-10-11 12:37 pm (UTC)(link)
http://code.google.com/p/funprog-ru/ - в качестве введения. а потом можно взять F#. Хотя хаскель более чистый ФЯ