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

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

1
«Монадні трансформатори, потужніші за ефекти» - приклади?
Стаття "Програмування та міркування з алгебраїчними ефектами та залежними типами" Едвіна К. Брейді щодо ефектів в Ідрісі містить (без посилань) твердження, що: Хоча [ефекти та монадні трансформатори] не є еквівалентними за потужністю - монади та монадні трансформатори можуть виражати більше понять - зафіксовано багато загальних ефективних обчислень. Які приклади можна …

7
Чому я повинен використовувати аплікативні функтори у функціональному програмуванні?
Я новачок у Haskell, і я читаю про функтори та аплікативні функтори. Добре, я розумію функтори та те, як я можу ними користуватися, але я не розумію, чому аплікативні функтори корисні та як я можу використовувати їх у Haskell. Чи можете ви пояснити мені на простому прикладі, чому мені потрібні …

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

4
Що, якщо що, не так із цим алгоритмом перетасовки і як я можу це знати?
Подібно до передісторії, я знаю про ідеальне перетасовку Fisher-Yates . Це чудова перетасовка зі своєю складністю O (n) та гарантованою однорідністю, і я був би дурнем не використовувати її ... в середовищі, яке дозволяє оновлювати масиви на місці (тому в більшості, якщо не у всіх, імперативні середовища програмування). На жаль, …

2
Різниця між реактивним та функціонально-реактивним програмуванням
Нещодавно я проводив деякі дослідження реактивного програмування, і мені важко знайти хороший опис різниці між реактивним та функціонально- реактивним. Чи просто реактивне програмування реалізоване за допомогою функціональних методів / парадигм на відміну від використання декларативної або ОО-парадигм?

10
Чи ортогональні FP та OO?
Я чув це раз за разом, і намагаюся зрозуміти та підтвердити думку про те, що FP та OO є ортогональними. Перш за все, що означає для 2 понять бути ортогональними? FP максимально заохочує незмінність і чистоту, тоді як ОО, здається, створений для стану і мутації - трохи організована версія імперативного …

3
Значення ізоморфних функцій
Коротке запитання: Яке значення ізоморфних функцій у програмуванні (а саме у функціональному програмуванні)? Довге запитання: Я намагаюся зробити деякі аналоги між функціональним програмуванням та поняттями в теорії категорій, засновані на деяких мовах, які я час від часу чую. По суті, я намагаюся «розпакувати» цей жаргон у щось конкретне, що я …

1
Статистичні показники суто функціональних карт і наборів
Враховуючи специфікацію структури даних, таку як чисто функціональна карта з відомими межами складності, потрібно вибирати між кількома реалізаціями. Існує деякий фольклор про те, як вибрати правильний, наприклад, червоно-чорні дерева вважаються загалом швидшими, але дерева AVL мають кращі показники на робочих навантаженнях з великою кількістю пошуків. Чи існує систематична презентація (опублікована …

3
Що саме означає "часткова функція" у функціональному програмуванні?
На моє розуміння, часткові функції - це функції, які ми отримуємо, передаючи менші параметри функції, ніж очікувалося. Наприклад, якщо це було прямо дійсним у Python: >>> def add(x,y): ... return x+y ... >>> new_function = add(1) >>> new_function(2) 3 У фрагменті, наведеному вище, new_functionє часткова функція. Однак, згідно з Haskell …

2
Як зменшити дублювання коду при роботі з рекурсивними типами сум
Зараз я працюю над простим перекладачем мови програмування, і у мене є такий тип даних: data Expr = Variable String | Number Int | Add [Expr] | Sub Expr Expr І у мене є багато функцій, які виконують прості речі, такі як: -- Substitute a value for a variable substituteName …

2
Haskell: Typeclass проти передачі функції
Мені здається, що ви завжди можете передавати аргументи функцій, а не використовувати клас. Наприклад, замість визначення класу рівності: class Eq a where (==) :: a -> a -> Bool І використовувати його в інших функціях для вказівки аргументу типу повинно бути екземпляром Eq: elem :: (Eq a) => a -> …

2
Чи є різниця між підписами типів a -> b -> a і c -> a -> c?
Це питання є теоретичним питанням щодо функцій Haskell, яке може приймати аргументи будь-якого типу. Чи є різниця між способом функціонування з підписами типів a -> b -> a і c -> a -> c є примірниками? Будь-яка допомога вдячна.

1
Чи є представлення ван Лаарховена `Необов’язково '
Багато типів оптики мають представлення ван Лаарховена. Наприклад, Lensтип Lens s t a b може бути представлений у вигляді: Functor f => (a -> f b) -> s -> f t Аналогічно a Traversal, можна представити аналогічним чином, змінюючи Functorобмеження на Applicative: Applicative f => (a -> f b) -> …

3
Чи реалізація цієї функції слів можлива без кроку після обробки після складання?
Реальний світ Haskell, глава 4, сторінка 98 друку запитує, чи wordsможна реалізувати за допомогою складок, і це також моє питання: Це можливо? Якщо ні, то чому? Якщо так, то як? Я придумав наступне, що ґрунтується на ідеї, що кожне не пробіл має бути попередньо до останнього слова у списку виводу …

1
Як міркувати про безпеку стеків у Scala Cats / fs2?
Ось фрагмент коду з документації на fs2 . Функція goрекурсивна. Питання полягає в тому, як ми можемо знати, чи безпечний стек і як обґрунтувати, чи якась функція є безпечною? import fs2._ // import fs2._ def tk[F[_],O](n: Long): Pipe[F,O,O] = { def go(s: Stream[F,O], n: Long): Pull[F,O,Unit] = { s.pull.uncons.flatMap { …

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