Вопросы с тегом «functional-programming»

2
Какова постоянная структура данных для набора частично упорядоченных элементов?
Мне нужно хранить наборы элементов типа а. Тип a частично упорядочен, поэтому сравнение и может вернуть меньшее, большее, равное или несопоставимое.2a1a1a_1a2a2a_2 Одна проблема с хеш-таблицами состоит в том, что два равных элемента могут быть представлены по-разному, и у меня нет доступа к хеш-функции, соответствующей равенству. Сравнение двух элементов может быть …

2
Что такое молния и как она связана с древовидной структурой?
Я читал главу в LYAH, которая не имела для меня никакого смысла. Я понимаю, что молнии могут произвольно пересекать древовидную структуру, но мне нужно кое-что прояснить. Кроме того, могут ли молнии быть обобщены на любую структуру данных?

1
Почему функциональные языки программирования требуют сборки мусора?
Что мешает ghc перевести Haskell на конкатенативный язык программирования, такой как комбинаторная логика, а затем просто использовать выделение стека для всего? Согласно Википедии, перевод из лямбда-исчисления в комбинаторную логику тривиален, и конкатенативные языки программирования могут полагаться исключительно на стек при распределении памяти. Реально ли выполнить этот перевод и тем самым …

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

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

3
Ассоциативное смешивание хешей
Рассмотрим простой односвязный список в чисто функциональной обстановке. Его похвалы пели с горных вершин и будут продолжать петь. Здесь я расскажу об одной из его сильных сторон и о том, как ее можно распространить на более широкий класс чисто функциональных последовательностей, основанных на деревьях. Проблема заключается в следующем: вы хотите …

2
Теория категорий и парсеры - нужны ссылки
Поскольку мне интересны парсеры (в основном грамматики выражений парсеров), мне интересно, есть ли какая-то работа, которая дает категорический подход к анализу. Любая ссылка на приложения теории категорий к синтаксическому анализу высоко ценится. Лучший,

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

2
Списки различий в функциональном программировании
Вопрос Что нового в чисто функциональных структурах данных со времен Окасаки? и эпический ответ jbapple, упомянутый с использованием списков различий в функциональном программировании (в отличие от логического программирования), что меня недавно интересовало. Это привело меня к поиску реализации списка различий для Haskell. У меня есть два вопроса (простите / исправьте …

1
Что делает язык (и его систему типов) способным доказывать теоремы о своих собственных терминах?
Недавно я попытался реализовать Cedille-Core Аарона , минималистский язык программирования, способный доказывать математические теоремы о своих собственных терминах. Я также доказал индукцию для λ-кодированных типов данных на нем, что прояснило, почему его расширения были бы необходимы. Тем не менее, мне все еще интересно, откуда взялись эти расширения. Почему они такие, …

2
Каковы отношения между Альтернативой, MonadPlus (LeftCatch) и MonadPlus (LeftDistributive)?
В продолжение Каков пример Монады, которая является Альтернативой, но не МонадПлюс? : Предположим, является монадой. Каковы отношения betweem м будучи Alternative , а MonadPlusCatch и MonadPlusDistr ? mmmmmmДля каждой из шести возможных пар я хотел бы иметь либо доказательство того, что одно подразумевает другое, либо контрпример, что это не так. …

2
Простые сбалансированные деревья с O (1) concat?
В чисто функциональном худшем случае отсортированные списки с возможностью прокрутки по постоянному времени, Brodal et al. представить чисто функциональные сбалансированные деревья с O (1) сцеплением и O (lg n) вставкой, удалением и поиском. Структура данных несколько сложна. Существует ли более простое сбалансированное дерево поиска с O (1) сцепленным, функциональным или …

1
Что именно означает «семантически наблюдаемый» побочный эффект?
У меня есть вопрос относительно чистых функций. Согласно странице Википедии, один из необходимых компонентов для чистой функции: Оценка результата не вызывает какого-либо семантически наблюдаемого побочного эффекта или вывода, такого как мутация изменяемых объектов или вывод на устройства ввода-вывода. Теперь, что это действительно значит. Или, скорее, как я могу сделать побочный …

3
Какие алгоритмы могут быть выражены с использованием общего функционального языка с параллельными операторами данных?
Представьте себе функциональный язык программирования, единственными типами данных которого являются числовые скаляры и произвольные вложения массивов. В языке отсутствуют какие-либо средства неограниченной итерации, поэтому запрещено следующее: явные циклы (во всяком случае, без побочных эффектов) рекурсия произвольные функции первого класса (без y-комбинатора) Язык, однако, имеет: функции верхнего уровня лексически ограниченные пусть …

1
Как вы кодируете абстрактный алгоритм Лампинга, используя комбинаторы взаимодействия?
Комбинаторы взаимодействия были предложены в качестве цели компиляции для λ-исчисления ранее. Эта статья реализует полное λ-исчисление. Известно также, что можно оптимизировать кодировки сети взаимодействия λ-исчисления для подмножества λ-членов, которое можно типом EAL. Эта статья реализует это подмножество λ-исчисления, переводя λ-члены типа EAL в сети взаимодействия, которые, возможно, более сложны, чем …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.