====== Учебные материалы ====== ===== λ-исчисление и типы ===== === Литература === * Ламбда-исчисление, его синтаксис и семантика, Барендрегт Х., Изд: Мир, (1985) * Introduction to Lambda Calculus. Henk Barendregt, Erik Barendsen * [[https://github.com/funprog-ru/funprog-ru/releases/download/v20150915/intro2fp-20150915.pdf| Введение в функциональное программирование. Харрисон Дж.]] * Lambda-Calculus and Combinators An Introduction(2nd Edition). J. Roger Hindley Jonathan P. Seldin (2008) * Типы в языках программирования, Пирс Б., Изд: Лямбда пресс, Добросвет (2012) === Видео === * [[https://www.youtube.com/watch?v=7BPQ-gpXKt4&list=PLlb7e2G7aSpRDR44HMNqDHYgrAOPp7QLr|CSCenter. Функциональное программирование. Москвин Д.Н.]] * [[http://www.mathnet.ru/php/presentation.phtml?option_lang=rus&presentid=18231|ЛШСМ-2017.Соответствие Карри–Ховарда: от математической логики к программированию. Брагилевский В. (Занятие 2)]] * [[https://www.youtube.com/playlist?list=PL6ZCZFyULOwcrPT_Dui26bZqaIX023zde|МИАН. Спецкурс «Лямбда-исчисление или вычислительная теория доказательств». Кузнецов С.Л.]] ===== Haskell ===== === Литература === * Изучай Haskell во имя добра!, Липовача М., Изд: ДМК Пресс (2012) * [[https://www.ohaskell.guide/|О Haskell по-человечески (небольшое введение в язык для практиков)]] * [[https://medium.com/@_bravit/%D0%BA%D0%BD%D0%B8%D0%B3%D0%B8-%D0%BF%D0%BE-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8E-%D0%BD%D0%B0-haskell-%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4%D1%8B-712c1f5b7749|Обзор свежих англоязычных книг по Haskell. Брагилевский В.]] * [[https://github.com/ruHaskell/ruhaskell/wiki/Translation|Перевод терминов, имён и названий]] * [[https://wiki.haskell.org/Typeclassopedia | Typeclassopedia (немного устарела)]] * {{ :courses:functional_programming:Type_Classes_in_Haskell_Tom_Schrijvers.pdf| Презентация о классах типов в Haskell и внутренней реализации через словари}} * {{ :courses:functional_programming:fold_Hutton.pdf| A tutorial on the universality and expressiveness of fold (Hutton)}} * [[https://www.schoolofhaskell.com/user/mgsloan/monoids-tour| Monoids Tour (немного устарела, но объяснение доступное с примерами)]] * {{ :courses:functional_programming:theory_and_practice_of_fusion.pdf| Theory and Practice of Fusion (Ralf Hinze, Thomas Harper, and Daniel W. H. James)}} * [[http://fprog.ru/2009/issue1/dan-piponi-haskell-monoids-and-their-uses/ | Моноиды в Haskell и их использование (немного устарела, но объяснение доступное с примерами) ]] * [[https://wiki.haskell.org/Monoid | Monoid (Haskell wiki)]] * [[https://eli.thegreenplace.net/2018/haskell-functions-as-functors-applicatives-and-monads|Haskell functions as functors, applicatives and monads]] * [[https://habr.com/post/183150|Функторы, аппликативные функторы и монады в картинках]] === Видео === * [[https://www.youtube.com/watch?v=7BPQ-gpXKt4&list=PLlb7e2G7aSpRDR44HMNqDHYgrAOPp7QLr|CSCenter. Функциональное программирование. Москвин Д.Н.]] * [[https://stepik.org/course/75|Stepik. Функциональное программирование на языке Haskell. Москвин Д.Н.]] * [[https://stepik.org/course/693|Stepik. Функциональное программирование на языке Haskell (часть 2). Москвин Д.Н.]] === Код с пар === * {{ :courses:functional_programming:2018_haskell_2_datatypes.zip |Типы данных, ленивость, списки}} * {{ :courses:functional_programming:2018_haskell_3_typeClasses.zip|Классы типов}} * {{ :courses:functional_programming:2018_haskell_4_folds.zip|Свертки, моноиды}} * {{ :courses:functional_programming:2018_haskell_5_functors.zip|Функторы}} ===== Scala, Java, Python... ===== * [[https://www.coursera.org/learn/progfun1|Coursera. Functional Programming Principles in Scala. Odersky M.]] * [[https://stepik.org/course/1595|Stepik. Java. Functional programming]] * [[https://stepik.org/course/2057|Stepik. Python. Functional Programming]] ===== LaTeX ===== > Может пригодиться при оформлении решений ДЗ по λ-исчислению * [[https://www.overleaf.com/|Overleaf. Онлайн-редактор]] * [[http://www.ccas.ru/voron/download/voron05latex.pdf|LaTeX в примерах, Воронцов К.В.]] * [[http://www.mccme.ru/free-books/llang/newllang.pdf|Набор и вёрстка в системе LaTeX, Львовский С.М.]] * [[https://en.wikibooks.org/wiki/LaTeX|Wiki-книга о LaTeX c кучей примеров(англ.)]] * [[https://iq.hse.ru/latex/|Видео курса по LaTeX от ВШЭ.]] * [[https://cremeronline.com/LaTeX/minimaltikz.pdf|A very minimal introduction to TikZ]] ===== Для повышения уровня математической культуры и общего развития ===== > Темы, затронутые на лекциях, но не относящиеся напрямую к предмету курса(или относящие, но этого пока нет в курсе) * [[https://www.youtube.com/watch?v=QfDtuDjDHG8|Аксиоматический метод. Беклемишев Л.Д.]] * [[https://www.youtube.com/watch?v=c_S_bAdv4A0|Компьютерные доказательства. Беклемишев Л.Д.]] * [[https://stepik.org/course/104/syllabus|Stepik. Введение в теоретическую информатику. Шень А.Х.]] * [[https://compsciclub.ru/courses/codes/2017-autumn/classes/|CSClub. Ликбез: коды, исправляющие ошибки. Шень А.Х.]] * [[https://compsciclub.ru/courses/codes/2017-autumn/classes/|CSClub. Десятая проблема Гильберта. Решение и применения в информатике. Матиясевич Ю.В.]] * [[https://www.youtube.com/watch?v=p2r0OiQlhg0&list=PLGKCrWr6FQjBbIyfEFVwZKI0CSBktRXsx&t=0s&index=30|Математика для всех. Алексей Савватеев. Лекция 4.2. Теорема Брауэра]] * [[https://www.youtube.com/watch?v=cVbfjKqRR5A|Неподвижные точки(Vsauce)]]