Re: С чего начать?
От: BulatZiganshin  
Дата: 20.06.09 21:54
Оценка: 4 (1) :))) :))) :))
Здравствуйте, Yaevinn, Вы писали:

Y>Расскажите плз какая есть хорошая литература по математическому аппарату, который лежит в основе ФП


да, кстати:

Впервые понятие комбинатора и основанная на нём теория были сформулированы
М.И. Шейнфинкелем в работе Sch¨onfinkel (1924) ещё до появления λ-исчисления.
Вскоре после этого аналогичные результаты были получены Карри, независимо от
Шейнфинкеля и Чёрча. (Когда Карри ознакомился с работами Шейнфинкеля, он
предпринял попытку с ним связаться, но к этому времени Шейнфинкель оказался
в психиатрической лечебнице.)


так что подумай дважды — стоит ли начинать изучать ФП
Люди, я люблю вас! Будьте бдительны!!!
Re: С чего начать?
От: deniok Россия  
Дата: 19.06.09 20:48
Оценка: 10 (3) +3
Здравствуйте, Yaevinn, Вы писали:

Y>Расскажите плз какая есть хорошая литература по математическому аппарату, который лежит в основе ФП.


В основе ФП лежит лямбда-исчисление.

Фундаментальные монографии:
Барендрегт X. Ламбда-исчисление. Его синтаксис и семантика. — М.: Мир, 1985.
Филд А., Харрисон П. Функциональное программирование — М.: Мир, 1993.

Из более прикладных вещей можно отметить курс лекций Харрисона в Кэмбридже (англ.) (есть русский перевод).
Re[3]: С чего начать?
От: deniok Россия  
Дата: 20.06.09 13:53
Оценка: 64 (3)
Здравствуйте, Sergey Chadov, Вы писали:

SC>Здравствуйте, deniok, Вы писали:



D>>Фундаментальные монографии:

D>>Барендрегт X. Ламбда-исчисление. Его синтаксис и семантика. — М.: Мир, 1985.

SC>А от этого дяденьки у меня у одного мозг в лист Мёбиуса сворачивается?


Мой любимый автор! Относится к редкому типу: его читать не скучно. Я его перевожу на досуге
Re[4]: С чего начать?
От: deniok Россия  
Дата: 27.06.09 12:42
Оценка: 25 (3)
Здравствуйте, deniok, Вы писали:

D>Здравствуйте, Sergey Chadov, Вы писали:


SC>>А от этого дяденьки у меня у одного мозг в лист Мёбиуса сворачивается?


D>Мой любимый автор! Относится к редкому типу: его читать не скучно. Я его перевожу на досуге


Поскольку, как оказалось, у общественности есть интерес к барендрегтову LCWT, я выложил здесь всё, что перевел к настоящему моменту. Если кому интересно может присоединится к проекту — в плане вычитки или, возможно, помощи в переводе (а то у меня это дело периодически стопорится на несколько месяцев.)
Re: С чего начать?
От: thesz Россия http://thesz.livejournal.com
Дата: 20.06.09 20:02
Оценка: 8 (2) +1
Здравствуйте, Yaevinn, Вы писали:

Y>Привет!


Y>Расскажите плз какая есть хорошая литература по математическому аппарату, который лежит в основе ФП. Это ведь какой-то раздел дискретки? И об Эрланге почитать что посоветуете? Если книга хорошо будет описывать и Эрланг, и теорию — вообще хорошо.


Лямбда-куб уже порекомендовали, вот ещё: Programming in Martin-Lof type theory
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Re: С чего начать?
От: Курилка Россия http://kirya.narod.ru/
Дата: 20.06.09 07:01
Оценка: 3 (1) +1
Здравствуйте, Yaevinn, Вы писали:

Y>Привет!


Y>Расскажите плз какая есть хорошая литература по математическому аппарату, который лежит в основе ФП. Это ведь какой-то раздел дискретки? И об Эрланге почитать что посоветуете? Если книга хорошо будет описывать и Эрланг, и теорию — вообще хорошо.


Ещё из жёсткой теории — TAPL Бенджамина Пирса, Юра Бронников и сотоварищи делают перевод.
А эрланг делали инженеры-практики, поэтому особо с мат. точки зрения его не рассматривали (вроде), вспоминается только A Framework for Reasoning about ERLANG.
Re[3]: С чего начать?
От: Курилка Россия http://kirya.narod.ru/
Дата: 20.06.09 09:02
Оценка: 2 (1) +1
Здравствуйте, Yaevinn, Вы писали:

Y>Насчёт языка я ещё в поиске. Пока что в списке Эрланг и F#. Второй из-за того, что если уж МС начала что-то продвигать, то скорее всего продвинет. Эрланг же выбрал потому что он хорош для распределённых систем, процессо-ориентированный и, как пишут, проще чем другие функциональные языки -> меньше порог вхождения Скорее всего на нём и остановлюсь.


Порог вхождения там действительно небольшой, но вопрос в том, хочешь ли ты ФП по-хорошему разобрать. Если так, то я бы больше советовал взять тот же эфшарп (или другие мл, схему, хаскель), т.к. по-моему всёж, несмотря на свою функциональность, фокус внимания в эрланге больше на распределённости и связанными с этим вопросами.
Re: С чего начать?
От: BulatZiganshin  
Дата: 20.06.09 21:11
Оценка: 2 (1) +1
Здравствуйте, Yaevinn, Вы писали:

Y>Привет!


Y>Расскажите плз какая есть хорошая литература по математическому аппарату, который лежит в основе ФП. Это ведь какой-то раздел дискретки? И об Эрланге почитать что посоветуете? Если книга хорошо будет описывать и Эрланг, и теорию — вообще хорошо.


я бы не сказал, что для понимания ФП языков нужно изучать какой-то конкретный раздел математики. скорее, нужно просто развитое математическое, абстрактное мышление. чтобы без проблем понимать, к примеру, как всю программу можно представить одной функцией, как функции могут оперировать другими функциями, как можно собирать сложные алгоритмы путём композиции функций

так что, я бы сказал, основное требование — любовь к математике вообще, и разделам дискретки в особенности

и далее, не путать первый язык, который заложит основы твоего ФП-мышления, с прмышленным языком, на котором ты будешь в дальнейшем решать свои реальные задачи. для обучения нужно выбирать наиболее концептуальные, чистые, непрактичные языки. если учесть ещё и наличие халявной учебной литературы, то вероятно scheme+tapl будет лучшим вариантом

другой вариант — чистый хаскел (без императивности, и даже без type classes) + например, http://books.google.com/books?id=lQbth9j5j9oC&dq=paul+hudak+haskell+of+expression&printsec=frontcover&source=bn&hl=en&ei=nwv6SZj6IqPqsgPg5ujRAQ&sa=X&oi=book_result&ct=result&resnum=4

а потом уж посмотришь на эрланг или f#, что тебе там по работе нужно будет
Люди, я люблю вас! Будьте бдительны!!!
Re: С чего начать?
От: hexamino http://hexamino.blogspot.com/
Дата: 21.06.09 06:55
Оценка: 1 (1)
Здравствуйте, Yaevinn, Вы писали:

Y>Расскажите плз какая есть хорошая литература по математическому аппарату, который лежит в основе ФП.


Ключевые фразы: lambda calculus, type theory. Можно нагуглить кучу электронных книг и статей.
Основатели: Alonzo Church, Haskell Curry и другие.
Re[2]: С чего начать?
От: Sergey Chadov Россия  
Дата: 20.06.09 13:49
Оценка: :)
Здравствуйте, deniok, Вы писали:


D>Фундаментальные монографии:

D>Барендрегт X. Ламбда-исчисление. Его синтаксис и семантика. — М.: Мир, 1985.

А от этого дяденьки у меня у одного мозг в лист Мёбиуса сворачивается?
--
Sergey Chadov

... << RSDN@Home 1.2.0 alpha rev. 685>>
Re: С чего начать?
От: MasterZiv СССР  
Дата: 05.07.09 12:18
Оценка: -1
Yaevinn wrote:

> Расскажите плз какая есть хорошая литература по математическому

> аппарату, который лежит в основе ФП. Это ведь какой-то раздел дискретки?

А как это тебе практически поможет осваивать ФП ? мне кажется, там на
уровне средней шлолы всё, ну или курса вышки (анализа). Ничего особенно
сложного.
Posted via RSDN NNTP Server 2.1 beta
С чего начать?
От: Yaevinn  
Дата: 19.06.09 20:30
Оценка:
Привет!

Расскажите плз какая есть хорошая литература по математическому аппарату, который лежит в основе ФП. Это ведь какой-то раздел дискретки? И об Эрланге почитать что посоветуете? Если книга хорошо будет описывать и Эрланг, и теорию — вообще хорошо.

Спасибо.
Re[2]: С чего начать?
От: Yaevinn  
Дата: 20.06.09 08:55
Оценка:
Здравствуйте, Курилка, Вы писали:
К>Ещё из жёсткой теории — TAPL Бенджамина Пирса, Юра Бронников и сотоварищи делают перевод.
К>А эрланг делали инженеры-практики, поэтому особо с мат. точки зрения его не рассматривали (вроде), вспоминается только A Framework for Reasoning about ERLANG.

Насчёт языка я ещё в поиске. Пока что в списке Эрланг и F#. Второй из-за того, что если уж МС начала что-то продвигать, то скорее всего продвинет. Эрланг же выбрал потому что он хорош для распределённых систем, процессо-ориентированный и, как пишут, проще чем другие функциональные языки -> меньше порог вхождения Скорее всего на нём и остановлюсь.

Спасибо всем за ответы.
Re: С чего начать?
От: MigMit Россия http://migmit.vox.com
Дата: 20.06.09 20:21
Оценка:
Здравствуйте, Yaevinn, Вы писали:

Y>Расскажите плз какая есть хорошая литература по математическому аппарату, который лежит в основе ФП. Это ведь какой-то раздел дискретки? И об Эрланге почитать что посоветуете? Если книга хорошо будет описывать и Эрланг, и теорию — вообще хорошо.


Найти такую книгу проблематично, поскольку Эрланг к ФП имеет достаточно опосредованное отношение, не сказать ещё хужей.
Re[2]: С чего начать?
От: Yaevinn  
Дата: 21.06.09 12:41
Оценка:
Здравствуйте, hexamino, Вы писали:
H>Ключевые фразы: lambda calculus, type theory. Можно нагуглить кучу электронных книг и статей.
H>Основатели: Alonzo Church, Haskell Curry и другие.

Нагуглить-то можно, но как я, человек в этом не сведущий, узнаю хорошая статья/книга или нет? В любом случае спасибо
Re[3]: С чего начать?
От: Qbit86 Кипр
Дата: 22.06.09 06:47
Оценка:
Здравствуйте, Sergey Chadov, Вы писали:

SC>А от этого дяденьки у меня у одного мозг в лист Мёбиуса сворачивается?


Нет, не только у тебя :)
Глаза у меня добрые, но рубашка — смирительная!
Re[4]: С чего начать?
От: Qbit86 Кипр
Дата: 22.06.09 06:58
Оценка:
Здравствуйте, Курилка, Вы писали:

К>...я бы больше советовал взять тот же эфшарп (или другие мл, схему, хаскель)...


Схема вроде не МЛ.
Глаза у меня добрые, но рубашка — смирительная!
Re[5]: С чего начать?
От: Курилка Россия http://kirya.narod.ru/
Дата: 22.06.09 13:28
Оценка:
Здравствуйте, Qbit86, Вы писали:

Q>Здравствуйте, Курилка, Вы писали:


К>>...я бы больше советовал взять тот же эфшарп (или другие мл, схему, хаскель)...


Q>Схема вроде не МЛ.


Хаскель вроде тоже
Там запятая стоит между вариантами.
Re[2]: С чего начать?
От: Plague Россия  
Дата: 24.06.09 22:19
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>другой вариант — чистый хаскел (без императивности, и даже без type classes) + например, http://books.google.com/books?id=lQbth9j5j9oC&amp;dq=paul+hudak+haskell+of+expression&amp;printsec=frontcover&amp;source=bn&amp;hl=en&amp;ei=nwv6SZj6IqPqsgPg5ujRAQ&amp;sa=X&amp;oi=book_result&amp;ct=result&amp;resnum=4


Эта книга, вроде, очень не плохая, вот только в этом "превью" периодически не хватает страниц.
Re: С чего начать?
От: DmitryMe  
Дата: 27.06.09 12:31
Оценка:
Начать однозначно с Haskell, но монады можно и проскипать. Практику продолжить на Erlang.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.