Результаты поиска по запросу "functional-programming"

9 ответов

Что касается хеш-таблиц в функциональных языках: поскольку ACL2 был упомянут выше, я отмечу, что для ACL2 существует библиотека «hash cons», которая обеспечивает логическую историю, в основном семантику списков ассоциаций, но имеет производительность хеш-таблицы (например, вы можете искать значение в таблице, используя hons-get). Если вам интересно, ознакомьтесь с темой "hons" в Руководствах пользователя ACL2.

льный мир Haskellесть раздел под названием «Жизнь без массивов или хеш-таблиц», где авторы предполагают, что список и деревья предпочтительнее в функциональном программировании, тогда как в императивной программе вместо них можно использовать ...

6 ответов

Помощь в проверке завершения Агды

Предположим, мы определили функцию f : N \to N f 0 = 0 f (s n) = f (n/2) -- this / operator is implemented as floored division.Агда будет рисовать f в лососе, потому что она не может сказать, если n / 2 меньше, чем n. Я не знаю, как сказать ...

5 ответов

Как вы определяете 2-й (или 3-й, 4-й,…) параметр в F # или любом другом функциональном языке?

Я только начинаю с F # и вижу, как вы можете использовать карри для предварительной загрузки 1-го параметра в функцию. Но как сделать это с помощью второго, третьего или любого другого параметра? Будут ли названные параметры сделать это проще? ...

ТОП публикаций

2 ответа

и избежать необходимости внутреннего метода. Но это не всегда возможно, и это не может быть красиво вызвано из кода Java, если вы беспокоитесь о взаимодействии.

ного новичок в том, что Скала пробует это, когда читает Дэвида Поллака «Начать Скала». Он определяет простую рекурсивную функцию, которая загружает все строки из файла: def allStrings(expr: => String): List[String] = expr match { case null => ...

3 ответа

учитывая функцию, которая возвращает все подмножества L-длины входного набора, найдите все подмножества L-длины от L = 2 до длины ввода набора данных

я есть реляционная схема с атрибутами (A B C D). У меня тоже есть набор функциональных зависимостей. Теперь мне нужно определить замыкание для всех возможных подмножеств атрибутов R. Вот где я застрял. Мне нужно научиться находить ...

2 ответа

, который именно то, что вы хотели.

ли способ использоватьlet,where или иным образом определить подвыражения в понимании списка, чтобы его можно было использовать как в терминах, так и в ограничениях? Из моих экспериментов следующие работы: [let x = i*i in x | i<-[1..10], i*i > ...

2 ответа

Работа с множествами как функциями

ИзFP [https://www.coursera.org/course/progfun]курс: type Set = Int => Boolean // Predicate /** * Indicates whether a set contains a given element. */ def contains(s: Set, elem: Int): Boolean = s(elem)Почему это имеет смысл? assert(contains(x => ...

6 ответов

Фильтр Scala в списке по индексу

Я хотел написать это функционально, и лучшее, что я мог сделать, было: list.zipWithIndex.filter((tt:Tuple2[Thing,Int])=>(tt._2%3==0)).unzip._1чтобы получить элементы 0, 3, 6, ... Для этого есть более читабельная идиома Scala?

2 ответа

Scala IO monad: какой смысл?

Недавно я смотрел видео о том, как можно придумать монаду IO, разговор был в скале. Мне действительно интересно, какой смысл иметь функции, возвращающие IO [A] из них. Лямбда-выражения, заключенные в объекте ввода-вывода, - это то, ...

2 ответа

Какой смысл использовать монады в переводчике?

Я недавно обнаружил это маленькоепример скалы [http://www.scala-lang.org/node/56]называетсяПростой интерпретатор с использованием монад: object simpleInterpreter { case class M[A](value: A) { def bind[B](k: A => M[B]): M[B] = k(value) def ...