Запитання з тегом «functional-programming»

Функціональне програмування - парадигма, яка намагається вирішити обчислювальні задачі за допомогою ланцюгової оцінки функцій, вихід яких визначається їх введеннями, а не станом програми. У цьому стилі програмування побічні ефекти та дані, що змінюються, застаріли і зазвичай суворо відокремлені.

6
Яке саме балансування двійкового дерева ви б рекомендували?
Я вивчаю Хаскелл і як вправу роблю бінарні дерева. Склавши звичайне бінарне дерево, я хочу адаптувати його до самоврівноваження. Так: Що найефективніше? Що найпростіше здійснити? Що найчастіше використовується? Але важливо, що ви рекомендуєте? Я припускаю, що це належить тут, оскільки воно відкрите для дебатів.

2
Які функціональні програмісти використовують замість UML?
Я студент CS. Зараз я відвідую лекції, де ми викладаємо об'єктивний аналіз та дизайн. Він складається в основному з написання випадків використання, аналізу проблеми, з якою ми можемо зіткнутися під час написання якоїсь програми для клієнта, і як спроектувати проект таким чином, щоб він був розширюваним, зрозумілим для розробників, і …

4
Чи відповідність шаблонів проти типів ідіоматична чи поганий дизайн?
Схоже, що F # код часто узгоджується з типом. Звичайно match opt with | Some val -> Something(val) | None -> Different() здається загальним. Але з точки зору OOP, це виглядає надзвичайно багато, як контрольний потік на основі перевірки типу виконання, який, як правило, нахмуриться. Щоб прописати це, в OOP …

1
Чи дійсні функції генератора у функціональному програмуванні?
Питання: Чи порушують генератори парадигму функціонального програмування? Чому або чому ні? Якщо так, то чи можна використовувати генератори у функціональному програмуванні? Розглянемо наступне: function * downCounter(maxValue) { yield maxValue; yield * downCounter(maxValue > 0 ? maxValue - 1 : 0); } let counter = downCounter(26); counter.next().value; // 26 counter.next().value; // …

5
Чи функція негайно нечиста, якщо вона приймає функцію як параметр?
Оскільки чистота вхідного параметра до часу виконання невідома, чи функція негайно вважається нечистою, якщо вона приймає функцію як вхідний параметр? Пов’язано: якщо функція застосовує чисту функцію, яка визначена поза функцією, але не передається як параметр, чи вона все ще чиста, якщо вона відповідає критеріям відсутності побічних ефектів, і вихід залежить …

4
Чи користь схеми монад МО для лікування побічних ефектів суто академічна?
Вибачте за ще одне питання щодо FP + побічних ефектів, але я не зміг знайти існуючого, який цілком відповів би на мене. Моє (обмежене) розуміння функціонального програмування полягає в тому, що стан / побічні ефекти повинні бути мінімізовані і триматися окремо від логіки без стану. Я також збираю підхід Хаскелла …

5
Що робить функціональні мови програмування декларативними на відміну від імперативних?
У багатьох статтях, що описують переваги функціонального програмування, я бачив мови функціонального програмування, такі як Haskell, ML, Scala або Clojure, які називаються "декларативними мовами", відмінні від імперативних мов, таких як C / C ++ / C # / Java. Моє питання - що робить функціональні мови програмування декларативними, а не …

4
Чи додає функціональне програмування складність у коді? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 5 років тому . Протягом усього минулого року мені писали код Scala (походить з фону Java). Мені дуже …

4
Використання стійких структур даних нефункціональними мовами
Мови, які мають суто функціональний або майже чисто функціональний характер, виграють від стійких структур даних, оскільки вони незмінні і добре відповідають стилю функціонального програмування без громадянства. Але час від часу ми бачимо бібліотеки стійких структур даних для (державних, OOP) мов, таких як Java. Твердження, яке часто лунає на користь стійких …

7
Доступна книга з функціонального програмування [закрито]
Наразі це запитання не підходить для нашого формату запитань. Ми очікуємо, що відповіді будуть підкріплені фактами, посиланнями або експертними знаннями, але це питання, ймовірно, вимагатиме дискусій, аргументів, опитувань чи розширеної дискусії. Якщо ви вважаєте, що це питання можна вдосконалити та, можливо, знову відкрити, відвідайте довідковий центр для ознайомлення . Закрито …

3
Ur / Web нова суто функціональна мова для веб-програмування? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 4 роки тому . Я натрапив на проект Ur / Web під час пошуку веб-рамок для мов, схожих …

6
Мова, заснована на обмеженні кількості аргументів, переданих функціям
Ідея натхненна тим фактом, що оператори, такі як +, -,% тощо, можуть розглядатися як функції з одним або двома переданими аргументами і без побічних ефектів. Якщо припустити, що я або хтось інший пише мову, яка зупиняє передачу більше двох аргументів, а також працює лише через зворотне значення: а) чи призвела …

2
Що таке Comonad і чим вони корисні?
Нещодавно я запилю мої знання про те, як працюють Монади. Я також був введений в поняття «комонадой» , яка описується як зворотний подвійний монади . Однак мені неможливо обмотати голову навколо цього. Щоб зрозуміти Монади, я зробив власну аналогію для себе: Монади можна розглядати як «креслення для створення конвеєрних стрічок …

5
Чи є смисловий контракт інтерфейсу (OOP) більш інформативним, ніж підпис функції (FP)?
Деякі кажуть, що якщо ви доведете принципи SOLID до їхніх крайнощів, ви закінчите функціональне програмування . Я погоджуюся з цією статтею, але думаю, що деяка семантика втрачається при переході від інтерфейсу / об’єкта до функції / закриття, і я хочу знати, як функціональне програмування може зменшити втрати. Зі статті: Крім …

2
Чи корисний параметричний поліморфізм вищого рангу?
Я впевнений, що всі знайомі із загальними методами форми: T DoSomething<T>(T item) Цю функцію також називають параметрично поліморфною (ПП), конкретно ПП -1-го рангу . Скажімо, цей метод можна представити за допомогою об'єкта функції форми: <T> : T -> T Тобто <T>означає, що він приймає параметр одного типу і T -> …

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