як перейти до функціонального програмування вищого рівня [закрито]


12

спершу мої вибачення, якщо це не правильне місце для цього питання, але я думаю, що th.CS точно не є правильним місцем, а також StackOverflow.

Мені дуже подобається функціональне програмування, і я думаю, що я хлопець середнього рівня в F # і досить добре розумію основні поняття Haskell - і так, я думаю, що я знаю / впав, як я знаю, що таке Монада.

Тепер мені дуже хочеться підняти це на новий рівень і хочу зрозуміти, про що йдеться у розмові про функторів та ін. Я просто не знаю, з чого почати.

Читайте щось про обчислення лямбди? Теорія категорій? Обох я знаю трохи, і не думаю, що це правильний / швидкий спосіб задоволення.

Можливо, ви можете дати мені деякі підказки щодо цього.

PS: Я не боюся математики, і я не засмучуюся на вправах легко, але я вважаю за краще деякі вступи / текст, де можна відкласти якийсь код, оскільки таким чином ви отримуєте зворотній зв'язок відразу.

Відповіді:


6

F # - це гарний початок, вам слід продовжувати роботу з Haskell і обов'язково читати на обчислення лямбда і читати згадані вище документи Lambda .

Використання гібридної мови (Clojure, Scala, OCaml, ...) може допомогти полегшити її, якщо ви походите з фона OO, але я думаю, що якщо ви дійсно хочете зрозуміти функціональний настрій промахінг, вам варто скористатися справжня річ (Haskell, Lisp, ...).


дякую - звичайно, я буду дотримуватися F # (я можу використовувати це у виробничому коді ...) і спробую дізнатися більше haskell - але це складніше, тому що мені важко робити інші речі, ніж консольні програми в haskell (поки що). - Схема може бути приємною (колись був короткий епізод у Ліспі), але OCaml майже такий же, як F # (я думаю)
Карстен

@ CarstenKönig: Ви можете зробити дуже багато дуже цікавих проектів, не турбуючись про інтерфейс користувача. Відмінний варіант роботи над мовою програмування: написання простої схеми або інтерпретатора Prolog в Haskell - це дивовижна вправа і щасливо живе в командному рядку.
Тихон Єлвіс

4

Я рекомендую вам прочитати ці три книги, якщо час - це розкіш:

Ці три книги збагатять ваше розуміння функціонального програмування загалом.


Час банкоматів - це не проблема - і я забираю трохи часу, якщо все одно знайду енергію вечорами ... це може бути повільним, але нормально я вмію читати багато. Звичайно, з тими видами книг, я мою швидкість сповільнить до повзання ... дякую (на жаль, здається, що остання з них вийшла з друку ... не витримую читання з екрану)
Карстен

2

Дізнайся, що Haskell має чудове знайомство з функторами .

Про справді важкі речі ви можете прочитати чудовий сайт Олега Кисельова : обмежене продовження, блискавки, ітерайте, ...


дякую - я, звичайно, знаю ЛЯХ і люблю це (добре - там повинні бути деякі вправи) - але сайт дуже корисний - дякую!
Карстен
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.