LINUX.ORG.RU

Курс «Функциональное программирование на языке Haskell»

 ,


3

7

21 сентября 2015 года на платформе stepic.org стартует совместный курс СПбАУ РАН и Computer Science Center по основам функционального программирования на языке Haskell.

В рамках курса мы рассмотрим ленивую и энергичную семантики, алгебраические типы данных и их использование для сопоставления с образцом. Знакомясь с богатой системой типов Haskell, мы обсудим параметрический и специальный полиморфизм и, в частности, механизм классов типов. Мы изучим основные классы типов из стандартной библиотеки Haskell, в том числе функторы и монады. Мы научимся программировать, используя стандартные монады, в частности обсудим проблему ввода-вывода в чистых языках и его реализацию в Haskell с помощью монады IO, а также работу с изменяемым состоянием с помощью монады State.

Подробности тут.

★★★★★

stepic.org

Уроки Stepic

Как установить Linux

Хорошая платформа.

sT331h0rs3 ★★★★★
()

Какие минимальные интеллектуалтные требования?

Если есть немного бэкграунда R можно будет въехать?)

Спасибо!

bookman900 ★★★★★
()

ленивую и энергичную семантики,

скажи своему учителю, что правильно говорить «нормальный и аппликативный порядок вычислений», никакой *настоящей* ленивой семантики в хаскеле нет, не надо вводить людей в заблуждение своей безграмотностью.

newKingOfTheBlock
()

noice, только я бы ещё про мандады Par и STM послушал, и про трансформеры мандад.

Deleted
()

Я в универе такой курс прошел на 5, но программировать на хацкеле не научился. ЧЯДНТ?

unt1tled ★★★★
()
Ответ на: комментарий от Myau

Если попроще, то, лень — это более широкое понятие. Настоящую лень реализуют лишь некоторые языки, в число которых фп-языки не входят. Вот пример лени, которую не может хаскель

m := method(
  args := call message arguments
  if(args at(0) name asString == "foo", doMessage(args at(0)))
)

foo := method(x, x + 10)
bar := method(x, x + 10)

m(foo(1)) print // 11
m(bar(2)) print // false
А в хаскеле, никакого контроля за выполнением выражений нет, там всего лишь санки, которые не выполняются если не требуются. Ничего с этими санками принимающая сторона сделать не может. Это ничего существенного в выразительность языка не вносит, только все запутывает. Если мы условимся, что всегда будем использовать подаваемые аргументы, никакой разницы с аппликативным порядком вообще не будет.

newKingOfTheBlock
()

Не знаю зачем, но подписался.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от unt1tled

Всё делаешь правильно. Пойди в церковь, поставь свечку, за то что тебя миновало это лихо.

Virtuos86 ★★★★★
()
Ответ на: комментарий от bookman900

лучше продолжать в R и статистику въезжать, гораздо более полезное дело чем комбинировать манатки

x4DA ★★★★★
()

Есть смысл это проходить после курса Мейера на edx?

anonymous
()
Ответ на: комментарий от newKingOfTheBlock

Барендрегт

Займет достойное место вместе с Бухенвальдом и Багратионом.

anonymous
()
Ответ на: комментарий от kalterfive

Не просто бесплатно. Я слышал, там еще билл гейтс будет бесплатные печеньки раздавать, и юесплатную десятку ставить всем желающим. Бери с собой палатку, там можно перезимовать запросто на майкрософтовских харчах.

newKingOfTheBlock
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.