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

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

6
Чи корисна теорія категорій для вивчення функціонального програмування?
Я вивчаю Haskell і мене захоплює мова. Однак у мене немає серйозного математичного або CS курсу. Але я досвідчений програмний програміст. Я хочу вивчити теорію категорій, щоб я міг стати кращим у Haskell. Які теми в теорії категорій я повинен навчитися, щоб забезпечити хорошу основу для розуміння Хаскелла?

3
Залежні типи від типів уточнення
Чи може хтось пояснити різницю між залежними типами та типами уточнення? Як я розумію, тип уточнення містить усі значення типу, що виконують присудок. Чи є особливість залежних типів, яка їх відрізняє? Якщо це допомагає, я натрапив на вдосконалені типи через проект Liquid Haskell, та залежні типи через Coq та Agda. …

3
Як моделюється складність алгоритму для функціональних мов?
Складність алгоритму розроблена таким чином, щоб він не залежав від деталей нижчого рівня, але він заснований на імперативній моделі, наприклад, доступ до масиву та модифікація вузла в дереві займають час O (1). Це не так у чисто функціональних мовах. Список Haskell потребує лінійного часу для доступу. Модифікація вузла на дереві …

3
Що таке коротке, але повне пояснення системи чистого / залежного типу?
Якщо щось просто, то це повинно бути повністю зрозумілим за допомогою кількох слів. Це можна зробити для λ-обчислення: Λ-обчислення - це синтаксична граматика (в основному, структура) з правилом скорочення (що означає, що процедура пошуку / заміни повторно застосовується до кожного виникнення конкретного шаблону, поки такого шаблону не існує). Граматика: Term …

2
Як функціональне реактивне програмування та модель актора співвідносяться один з одним?
FRP - це передача подій та поведінки через чисті функції. Модель Actor - принаймні, як це реалізовано в Akka - стосується потокової передачі незмінних повідомлень (які можна вважати дискретними подіями) через потенційно нечисті об'єкти, звані акторами. Тож на поверхні вони здаються спорідненими. Що ще можна сказати про те, як вони …

2
Чи є обчислення лямбда чисто синтаксичним?
Я читав кілька тижнів про обчислення Ламбди, але ще не бачив нічого, що суттєво відрізняється від існуючих математичних функцій, і хочу знати, чи це лише питання нотації, чи є якісь нові властивості або правила, створені аксіомами обчислення лямбда, які не стосуються кожної математичної функції. Так, наприклад, я прочитав це: "Можуть …

2
Як реалізувати інтерпретатора prolog чисто функціональною мовою?
Чи є чітка довідка з псевдокодом про те, як реалізувати інтерпретатор Prolog чисто функціональною мовою? Те, що я виявив поки що, мабуть, стосується лише імперативних мов, є лише демонстрацією Prolog, реалізованого саме по собі, або не пропонує конкретного алгоритму, який би використовувався для інтерпретації. Я б дуже вдячний за відповідь.

3
Яке співвідношення між функторами в SML та теорії категорій?
З тієї ж думки , як ця заява по Andrej Bauer в цьому відповіді Громада Хаскелла розробила низку методик, натхнених теорією категорій, з яких монади найбільш відомі, але не повинні плутати їх з монадами . Яке співвідношення між функторами в SML та функторами в теорії категорій? Оскільки я не знаю …

2
Чи виразок обчислень такий самий, як монада?
Це питання було переміщено із переповнення стека, оскільки на нього можна відповісти на інформаційній стеці. Мігрували 5 років тому . Я все ще вивчаю функціональне програмування (з f #), і я нещодавно почав читати про вирази обчислень. Я все ще не повністю розумію концепцію, і одне, що не дає мені …

2
Що означає теорія категорій, ще не знає, як поводитися з функціями вищого порядку?
Читаючи Удай Редді відповідь на Що таке співвідношення між функторів в SML і теорії категорій? Удай штати Теорія категорій ще не знає, як поводитися з функціями вищого порядку. Якогось дня, буде. Як я вважав, теорія категорій може слугувати основою математики, тоді слід мати можливість отримати всі математичні функції та вищі …

4
Чому ми використовуємо стійкі структури даних у функціональному програмуванні?
Функціональне програмування використовує стійкі структури даних та незмінні об'єкти. Моє запитання, чому важливо мати такі структури даних тут? Я хочу на низькому рівні зрозуміти, що буде, якщо структура даних не буде стійкою? Чи буде програма збоїв частіше?

2
Теорія категорій (не) для програмування?
Вивчивши Haskell та інші не такі чисті мови FP, я вирішив прочитати про теорію категорій. Отримавши гарне розуміння теорії категорій, я почав думати про те, як поняття теорії категорій можна використовувати для роздуму над розробкою програм, але як би я не намагався, здається, це не шлях. Провівши багато невдалих спроб …

5
Обчислення лямбда поза функціональним програмуванням?
Я студент університету, і зараз ми вивчаємо обчислення Ламбди. Однак мені ще важко зрозуміти, чому це корисно для мене. Я усвідомлюю, що якщо ви робите багато функціонального програмування, це може бути корисним, але я вважаю, що це не дуже потрібно для вивчення функціонального програмування, як ви думаєте? По-друге, чи є …

1
Чому функціональне програмування не досліджувало динамічні дерева?
Динамічні дерева відіграють важливу роль у вирішенні таких задач, як мережеві потоки, динамічні графіки, комбінаторні проблеми ("Динамічні дерева на практиці" Таряна та Вернека) та словники, що нещодавно зливаються ("Простий об'єднаний словник" Адама Карчмарца), Під динамічними деревами я маю на увазі визначення, викладене в статті Sleator & Tarjan "Структура даних для …

4
Чому для обчислення лямбда важливо, щоб функції були анонімними?
Я дивився лекцію Джима Вейріха під назвою « Пригоди у функціональному програмуванні ». У цій лекції він вводить концепцію Y-комбінаторів, яка по суті знаходить фіксовану точку для функцій вищого порядку. Один із мотивів, як він згадує, - це вміти виражати рекурсивні функції за допомогою обчислення лямбда, щоб теорія Церквою (все, …

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