lazy-evaluation

я попробовал следующее в Clojure, ожидая, что будет возвращен класс не ленивой последовательности: (.getClass (doall (take 3 (repeatedly rand)))) однако, это все еще возвращает clojure.lang.LazySeq. Я предполагаю, что doall оценивает всю последовательность, но возвращает исходную последовательность, поско...

за все годы, что я разрабатывал php, я всегда слышал, что с помощью eval() это зло. учитывая следующий код, не имеет ли смысла использовать второй (и более элегантный) вариант? Если нет, то почему? // $type is the result of an SQL statement // e.g. SHOW COLUMNS FROM a_table LIKE 'a_column'; // hence you can...

я осматривал нетривиальную ленивую оценку stackoverflow, которая привела меня к презентации Keegan McAllister:зачем учить Хаскелл. На слайде 8 он показывает минимальную функцию, определенную как: minimum = head . sort и утверждает, что его сложность равна O(n). Я не понимаю, почему сложность называется лин...

эти две функции делают то же самое за кулисами? (в функции одного оператора) var evaluate = function(string) { return eval('(' + string + ')'); } var func = function(string) { return (new Function( 'return (' + string + ')' )()); } console.log(evaluate('2 + 1')); console.log(func('2 + 1')); ...

снова и снова я вижу ответы Bash на переполнение стека с помощью eval и ответы получают удар, каламбур, предназначенный для использования такой "злой" конструкции. Почему это eval так зло? Если eval не может использоваться безопасно, что я должен использовать вместо этого?...

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

Я читаю книгу Хэдли Уикхэмс о Github, в частности эта часть на ленивую оценку. Там он приводит пример последствий ленивой оценки, в части с add/adders функции. Позвольте мне процитировать этот кусочек: эта [ленивая оценка] важна при создании замыканий с помощью lapply или цикла: add <- function(x) { ...

правильно ли я понимаю, что def оценивается каждый раз, когда он получает доступ к lazy val оценивается как только он получает доступ val оценивается как только он попадает в сферу исполнения? ...

в пространстве имен MS.Internal есть класс с именем NamedObject. он имеет странный блок кода: public override string ToString() { if (_name[0] != '{') { // lazily add {} around the name, to avoid allocating a string // until it's actually needed _name = String.Format(CultureInfo.InvariantCu...

C++ не имеет собственной поддержки для ленивой оценки (как это делает Haskell). Мне интересно, можно ли реализовать ленивую оценку в C++ разумным образом. Если да, то как бы вы это сделали? EDIT: мне нравится ответ Конрада Рудольфа. Мне интересно, можно ли реализовать его более общим способом, например, ис...