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

2
Яка стійка структура даних для набору частково впорядкованих елементів?
Мені потрібно зберігати набори елементів типу a. Введіть a частково впорядковано, тому порівняння та може повернути менші, більші, рівні або незрівнянні.a1a1a_1a2a2a_2 Одна проблема хештелів полягає в тому, що два рівні елементи можуть бути представлені по-різному, і я не маю доступу до функції хешування, що відповідає рівності. Порівняння двох елементів може …

2
Що таке блискавка і як вона стосується деревоподібної структури?
Я читав главу в ЛЯХ, яка насправді не мала для мене сенсу. Я розумію, що блискавки можуть довільно перетинати деревоподібну структуру, але мені потрібно трохи уточнити це. Також чи можна узагальнювати блискавки до будь-якої структури даних?

1
Чому функціональні мови програмування вимагають збирання сміття?
Що зупиняє ghc від перекладу Haskell в конкатенативну мову програмування, таку як комбінаційна логіка, а потім просто використання розподілу стеків для всього? Згідно з Вікіпедією, переклад з обчислення лямбда в комбінаторну логіку є тривіальним, а також, конкатенативні мови програмування можуть покладатися виключно на стек для розподілу пам'яті. Чи можливо зробити …

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

2
Чисто функціональний еквівалент B-дерева?
Я досліджую ідею написання СУБД чисто функціональним способом. Традиційна структура даних, що використовується для індексації, - B-Tree. Я хотів би знати якийсь чисто функціональний еквівалент B-Tree, який був би оптимізований для мінімізації доступу до диска. Спасибі.

3
Асоціативне змішування хешу
Розгляньте низькоокремо пов'язаний список у суто функціональній обстановці. Його похвали співали з вершин гори і продовжують співати. Тут я торкнуся однієї з її численних сильних сторін і питання про те, як вона може бути поширена на ширший клас суто функціональних послідовностей на основі дерев. Проблема полягає в наступному: Ви хочете …

2
Переліки відмінностей у функціональному програмуванні
Питання Що нового в чисто функціональних структурах даних після Окасакі? , і епічна відповідь jbapple, згадана з використанням списків різниць у функціональному програмуванні (на відміну від логічного програмування), що мене нещодавно цікавило. Це змусило мене знайти реалізацію списку різниць для Haskell. У мене є два запитання (пробачте / виправте мене, …

2
Теорія категорій та аналізатори - потрібні посилання
Оскільки мене цікавлять парсери (в основному граматики вираження парсера), мені цікаво, чи є якась робота, яка дає категоричне трактування розбору. Будь-яка посилання на застосування теорії категорій для розбору високо оцінена. Найкраще,

2
Продовження, що проходить перетворення двійкових функцій
Нагадаємо продовжуючу передачу перетворення (CPS перетворення), яка приймає від до (де закріплено) і до визначено Насправді у нас є монада продовження з одиницею визначена і множення визначене β A : = R R A R f : A → B β f : β A → β B βАAAβA : …

1
Що робить мову (та її тип-систему) здатною доводити теореми про власні терміни?
Нещодавно я намагався реалізувати Седіл-Коре Аарона , мінімалістичну мову програмування, здатну доводити математичні теореми про власні умови. Я також довів індукцію для кодованих λ типів даних на ньому, завдяки чому стало зрозуміліше, чому його розширення будуть необхідними. Більше того, я все ще залишаюся цікавим, звідки взялися ці розширення. Чому вони …

2
Які відносини між Альтернативою, MonadPlus (LeftCatch) та MonadPlus (LeftDistributive)?
Слідування Що таке приклад Monad, який є Альтернативою, але не MonadPlus? : Припустимо, - монада. Які відносини betweem будучи Alternative , а MonadPlusCatch і MonadPlusDistr ? ммmmмmmДля кожної з шести можливих пар я хотів би мати доказ того, що одна має на увазі інше, або зустрічний приклад того, що це …

2
Прості врівноважені дерева з O (1) конкатом?
У сортованих списках з чисто функціональним найгіршим випадком , упорядкованим постійним часом , Brodal et al. представити чисто функціональні врівноважені дерева з O (1) з’єднувати та O (lg n) вставляти, видаляти та знаходити. Структура даних дещо складна. Чи є більш просте дерево збалансованого пошуку з O (1) об'єднаним, функціональним чи …

1
Що саме означає «семантично помітний» побічний ефект?
У мене питання щодо чистих функцій. За даними сторінки Вікіпедії, одним із реквізитів для чистої функції є: Оцінка результату не спричиняє жодних семантично помітних побічних ефектів або результатів, таких як мутація змінних об'єктів або вихід на пристрої вводу / виводу. Тепер, що це насправді означає. А точніше, як я можу …

3
Які алгоритми можна виразити за допомогою загальної функціональної мови з операторами паралельних даних?
Уявіть функціональну мову програмування, єдиним типом даних якої є чисельні скаляри та довільні вставки масивів. У мові відсутні будь-які засоби безмежної ітерації, тому заборонено наступне: явні петлі (не так багато використання без побічних ефектів) рекурсія довільні функції першого класу (без у-комбінатора) Однак мова має: функції верхнього рівня лексично охоплені нехай …

1
Як ви кодуєте абстрактний алгоритм Лампінга за допомогою комбінаторів взаємодії?
Раніше комбінатори взаємодії були запропоновані як ціль компіляції для λ-обчислення. Цей документ реалізує повне λ-числення. Відомо також, що можна оптимізувати мережеве кодування взаємодії λ-обчислення для підмножини λ-термінів, що може бути тип EAL. Цей документ реалізує цю підмножину λ-обчислення шляхом переведення λ-термінів типу EAL до мереж взаємодії, які, можливо, складніші, ніж …

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