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

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

6
Полезна ли теория категорий для обучения функциональному программированию?
Я изучаю Haskell, и я очарован языком. Однако у меня нет серьезных знаний по математике или CS. Но я опытный программист. Я хочу изучить теорию категорий, чтобы стать лучше на Хаскеле. Какие темы в теории категорий я должен изучить, чтобы обеспечить хорошую основу для понимания Haskell?

3
Зависимые типы против типов уточнения
Может ли кто-нибудь объяснить разницу между зависимыми типами и типами уточнения? Насколько я понимаю, тип уточнения содержит все значения типа, выполняющего предикат. Есть ли особенность зависимых типов, которая их отличает? Если это поможет, я натолкнулся на уточненные типы через проект Liquid Haskell и зависимые типы через Coq и Agda. Тем …

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

3
Что такое краткое, но полное объяснение чисто / зависимой системы типов?
Если что-то простое, то это должно быть полностью объяснимо несколькими словами. Это можно сделать для λ-исчисления: Λ-исчисление - это синтаксическая грамматика (в основном, структура) с правилом редукции (что означает, что процедура поиска / замены неоднократно применяется к каждому вхождению определенного шаблона, пока такой шаблон не существует). Грамматика: Term = (Term …

2
Как функционально-реактивное программирование и модель актера связаны друг с другом?
FRP - это потоковая передача событий и поведения через чистые функции. Модель Actor - по крайней мере, как реализована в Akka - предназначена для потоковой передачи неизменяемых сообщений (которые можно считать дискретными событиями) через потенциально нечистые объекты, называемые акторами. Так что на первый взгляд они кажутся родственными. Что еще можно …

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

2
Как реализовать интерпретатор пролога на чисто функциональном языке?
Есть ли ясная ссылка с псевдокодом о том, как реализовать интерпретатор Пролога на чисто функциональном языке? То, что я обнаружил до сих пор, похоже, имеет дело только с императивными языками, является просто демонстрацией реализованного самого Пролога или не предлагает никакого конкретного алгоритма, который можно использовать для интерпретации. Я был бы …

3
Какова связь между функторами в SML и теории категорий?
Вдоль той же мысли, что и это высказывание Андрея Бауэра в этом ответе Сообщество Haskell разработало ряд методов, основанных на теории категорий, из которых монады наиболее известны, но их не следует путать с монадами . Какова связь между функторами в SML и функторами в теории категорий? Поскольку я не знаю …

2
Выражение вычислений такое же, как монада?
Этот вопрос был перенесен из переполнения стека, поскольку на него можно ответить в разделе «Информатика в стеке». Мигрировал 5 лет назад . Я все еще изучаю функциональное программирование (с помощью f #), и недавно я начал читать о вычислительных выражениях. Я до сих пор не до конца понимаю эту концепцию, …

4
Почему мы используем постоянные структуры данных в функциональном программировании?
Функциональное программирование использует постоянные структуры данных и неизменные объекты. Мой вопрос: почему важно иметь такие структуры данных здесь? Я хочу понять на низком уровне, что произойдет, если структура данных не является постоянной? Будет ли программа зависать чаще?

2
Что подразумевается под теорией категорий, еще не знает, как обращаться с функциями более высокого порядка?
Читая Удай Редди ответ на Что такое соотношение между функторов в SML и теории категорий? Удай заявляет Теория категорий еще не знает, как обращаться с функциями более высокого порядка. Когда-нибудь, это будет. Поскольку я думал, что теория категорий способна послужить основой для математики, то должна быть возможность вывести все математические …

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

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

1
Почему функциональное программирование не исследовало динамические деревья?
Динамические деревья играют важную роль в решении таких проблем, как сетевые потоки, динамические графы, комбинаторные задачи («Динамические деревья на практике» Тарьяна и Вернека) и недавно объединенные словари («Простой объединяемый словарь» Адама Карчмара), Под динамическими деревьями я ссылаюсь на определение, изложенное в статье Слеатора и Тарьяна «Структура данных для динамических деревьев» …

1
Какие классы структур данных можно сделать постоянными?
Постоянные структуры данных являются неизменными структурами данных. Операции над ними возвращают новую «копию» структуры данных, но измененную операцией; старая структура данных остается неизменной. Эффективность обычно достигается за счет совместного использования некоторых базовых данных и предотвращения полного копирования структуры данных. Вопросов: Есть ли результаты о классах структур данных, которые можно сделать …

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