Результаты поиска по запросу "lazy-evaluation"
Как оптимизировать эту короткую факториальную функцию в Scala? (Создание 50000 BigInts)
Я сравнил версию Scala (BigInt(1) to BigInt(50000)).reduce(_ * _)к версии Python reduce(lambda x,y: x*y, range(1,50000))и получается, что версия scala заняла примерно в 10 раз больше, чем версия python. Я предполагаю, большая разница в том, ...
Удаление синтаксического сахара: понимание списка в Haskell
Могу ли я осмыслить понимание списка в этом выражении: [(i,j) | i <- [1..4], j <- [i+1..4]]Это вывод: [(1,2),(1,3),(1,4),(2,3),(2,4),(3,4)]Как я могу с помощью карты, фильтра и так далее написать этот фрагмент кода? редактировать Вот ...
Haskell стиль / эффективность
Поэтому я работал над способом ленивого генерирования простых чисел и придумал эти три определения, которые все работают эквивалентным образом - просто проверяя, есть ли у каждого нового целого числа фактор среди всех предыдущих простых ...
Стоимость времени оператора Haskell `seq`
Этот FAQ [http://users.aber.ac.uk/afc/stricthaskell.html#seq]Говорит, что Оператор seq seq :: a -> b -> bx seq y оценит x, достаточно, чтобы проверить, что оно не снизу, затем отбросить результат и оценить y. Это может показаться ...
Избегайте или задерживайте оценку вещей, которые нельзя использовать
Как можно достичь ленивой оценки в Python? Пара простых примеров: >>> def foo(x): ... print(x) ... return x ... >>> random.choice((foo('spam'), foo('eggs'))) spam eggs 'eggs'Выше нам не нужно было оценивать все элементы этого кортежа, чтобы ...
Когда именно оценивается глава потока?
Обычно, если вы создаетеStream объект, голова будет жадно оценена: scala> Stream( {println("evaluating 1"); 1} , 2, 3) evaluating 1 res63: scala.collection.immutable.Stream[Int] = Stream(1, ?)Если мы создаем поток, к которому добавляем один и ...
Что означает восклицательный знак в декларации на Haskell?
Я натолкнулся на следующее определение, пытаясь изучить Haskell, используя для этого реальный проект. Я не понимаю, что означает восклицательный знак перед каждым аргументом, и мои книги, похоже, не упоминали об этом. data MidiMessage = ...
Последовательность против LazyList
Я не могу обернуть голову разницей между последовательностью иLazyList, Они оба ленивы и потенциально бесконечны. Покаseq<'T> являетсяIEnumerable<'T> из .NET Framework,LazyList входит вF # PowerPack [http://fsharppowerpack.codeplex.com/], На ...
как решить «переполнение стека пространства» в haskell
При запуске следующей программы будет напечатано «переполнение пространства: текущий размер 8388608 байт». я прочиталэто [http://www.haskell.org/haskellwiki/Stack_overflow]а ...
Как достигается отладка в ленивом функциональном языке программирования?
Я хотел бы знать, как отладка достигается на ленивом функциональном языке. Можете ли вы использовать контрольные точки, печатные выражения и традиционные методы? Это даже хорошая идея? Насколько я понимаю, чисто функциональное программирование не ...