В функциональном программировании свертка, также известная как сокращение, накопление или катаморфизм, представляет собой тип функции высшего порядка, которая рекурсивно применяет преобразование к структуре данных, "сворачивая" ее до итогового значения.
0 ответов

Функциональный стиль F# гораздо медленнее

Попытка выучить F#, решая некоторые задачи программирования. Я не хочу добавлять слишком много подробностей о проблеме, так как я не хочу портить удовольствие другим. По сути, проблема состоит в том, чтобы найти все 4-uples { (i,j,k,l) | i ^ j ^ k ^…
03 июн '16 в 10:26
0 ответов

Почему метод вставки никогда не вызывается?

Этот код компилируется но Environment.insert никогда не называется. Я уверен, что есть envrionmentForm там. //isauth version of save def save(SystemId: Long) = IsAuthenticated { username => implicit request => User.findByEmail(username).map { …
13 фев '14 в 21:26
0 ответов

Поиск матрицы данных ядра через ядро ​​Rbf

Я пытаюсь выяснить, как я могу найти параметры Rbf (сигма и параметр регуляризации) с помощью 10-кратной перекрестной проверки. Я имплантировал rbf, но мне сложно реализовать параметры. У меня есть матричные данные 5000 выборок (4000 тренировок и 10…
2 ответа

Эквивалент Хаскелла в Java 8

Мы привыкли к foldr в Haskell, где вы берете (например, используя синтаксис Java) List<T> и вы возвращаете любой тип, который вы хотите (<T>, List<T>, так далее.). Например, в Haskell, эта функция, которая принимает List<Integer…
13 ноя '15 в 15:51
1 ответ

Синтаксис Vim определен складным прозрачным цветом

Я написал синтаксис Vim с подсветкой кода определения, а также определил сворачивание. Теперь я могу использовать сворачивание, но когда у меня есть согнутая линия, я хочу по-разному раскрасить часть сворачивания функции и фактический код +-- 10 lin…
22 май '17 в 11:44
2 ответа

Почему передача Nil на foldLeft не работает?

Когда я строю список, используя foldLeft Меня часто раздражает необходимость явно вводить введенный параметр, и мне хотелось бы просто использовать вместо него `Nil'- вот надуманный пример: scala> List(1,2,3).foldLeft(List[Int]())((x,y) => y :…
20 мар '12 в 11:12
6 ответов

Свертывание кода не сохраняется в моем vimrc

Я добавил следующий код в мой.vimrc: " save and restore folds when a file is closed and re-opened autocmd BufWinLeave *.* mkview autocmd BufWinEnter *.* silent loadview Документы HTML и CSS сохраняют и восстанавливают свои сгибы, но сворачивание код…
26 янв '10 в 20:28
2 ответа

Haskell - подвести итоги списка вероятностей

Я прохожу через Learn You A Haskell и только что закончил часть "Еще на несколько монад". В этой части мы создали newtype Prob a = Prob { getProb :: [(a, Rational)] } и создал Monad пример для этого. Это позволяет нам вычислять вероятности результат…
05 июн '16 в 10:52
1 ответ

Ошибка с очень простой реализацией списка Max с использованием Fold

Я пытаюсь реализовать max' max' :: (Ord a) => [a] -> a с помощью foldl (К сожалению, у LYAH, похоже, нет упражнений, поэтому я их придумываю). Итак, я могу написать лямбду, беру два целых числа и возвращая максимум: (\x y -> if x > y the…
08 апр '16 в 18:58
3 ответа

Вернуть список кортежей внутри прямоугольного диапазона

Как новичок в OCaml, я пытаюсь написать функцию, которая принимает два аргумента int (a и b) и должна возвращать список, который содержит все кортежи (i,j), где i находится между 0 и a, а j - между 0 и b, порядок не имеет значения. Функция должна бы…
12 янв '19 в 22:16
1 ответ

Обобщенная функция складывания для деревьев?

Как я могу написать обобщенную функцию foldr для общих деревьев Haskell? data (Eq a, Show a) => Tree a = Void | Node a [Tree a] deriving (Eq, Show) treefold :: (Eq a, Show a) => (a -> [b] -> b) -> b -> Tree a -> b Я застрял в оп…
13 фев '11 в 01:19
4 ответа

Преобразование списка в карту с помощью foldLeft

Используя приведенный ниже код, я пытаюсь произвести Map(2017-06-03 09:25:30 -> List( ("c",2190.79) , ("d",24.11), ("d",24.11), ("d",24.11) ), 2017-06-03 09:25:40 -> List( ("b",24.62) , ("b",24.62)) , 2017-06-03 09:25:50 -> List( ("a",194.5…
11 июн '17 в 21:56
2 ответа

Скала - уменьшить / сложить

У меня есть вложенная карта m что похоже на: m = Map("email" -> "a@b.com", "background" -> Map("language" -> "english")) У меня есть массив arr = Array("background","language") Как мне сложить / уменьшить массив и найти строку "английский" …
11 окт '11 в 08:06
2 ответа

Реализация MyMap (функция высшего порядка) в Scala

myMap должен принимать две функции карри. 1) Общий список 2) Функция, которая оценивает каждый элемент списка. Возвращаемым значением myMap является List после применения Function к каждому элементу. def myMap (f: Int=>Int) ( L:List[Int]) : List[…
17 дек '15 в 17:08
1 ответ

Фьюзинг несколько раз в Haskell

Я пытаюсь прочитать и проанализировать огромный файл CSV. я использовал Data.Csv.Streaming из кассавы, а функции применяются в следующем порядке: Data.ByteString.Lazy.readFile -- Gives lazy stream Data.Csv.Streaming.decodeByname -- Gives Either Stri…
08 июн '18 в 12:05
1 ответ

Можно ли и как отключить всплывающее окно при наведении курсора мыши на значок "плюс (+)" в Eclipse?

Когда я использую Eclipse для кодирования программ Java, я могу сложить блок кодов, например: метод или комментарий. И когда я сверну блок, в Eclipse слева от редактора появится значок "плюс" (+). Если навести указатель мыши на метку, Eclipse отобра…
06 май '10 в 05:16
0 ответов

Почему сворачивание событий и поведения использует так много памяти?

В настоящее время я изучаю возможность использования базовых контейнеров, чтобы придать сетям FRP большую структуру и тем самым упростить создание более сложных сетей событий. Примечание: я использую ordrea, но у меня была такая же проблема с реакти…
20 ноя '14 в 12:55
2 ответа

Бинарное дерево складное

Мне дали следующее определение бинарного дерева abstract class Tree[+A] case class Leaf[A](value: A) extends Tree[A] case class Node[A](value: A, left: Tree[A], right: Tree[A]) extends Tree[A] и следующая функция def fold_tree[A,B](f1: A => B)(f2…
27 сен '16 в 06:35
1 ответ

Хаскель - фолдл и фолд?

Разница между foldl а также foldr только направление петли? Я думал, что есть разница в том, что они сделали, а не только в направлении?
07 ноя '12 в 23:34
4 ответа

Последовательность в F# складывающихся троек

Я гуглил и читал, и я пытаюсь найти "правильный" способ сделать это, но каждый вопрос, который я читаю на SO, кажется, имеет совершенно разные ответы. Вот суть моей проблемы. У файлов есть сигнатура типа seq тройки (a: строка, b: строка,c:Int64). Бу…
15 апр '11 в 15:32