lazy-evaluation

Odczyt pliku po jednej linii na raz w węźle.js?

Próbuję odczytać duży plik po jednej linijce na raz. Znalazłem pytanie na Quora , które dotyczyło tego tematu, ale brakuje m ... e sądzę, aby druga odpowiedź zadziałała, ponieważ plik jest znacznie większy niż serwer, na którym go uruchamiam, ma pamięć.

Jak działają zamknięcia leksykalne?

Gdy badałem problem z zamknięciami leksykalnymi w kodzie Javascript, wpadłem na ten problem w Pythonie: flist = [] for i i ... s an error for f in flist: print f(2) Jak pokazuje komentarz, i jest nieznany w tym momencie. Mimo to drukuje "4 4 4".

foldl kontra foldr z nieskończonymi listami

Kod funkcji myAny w to pytanie używa foldr. Przestaje przetwarzać nieskończoną listę, gdy predykat jest spełniony. Przepis ... se [3..]) True || (foldl step False [3..]) True Jednak nie jest to sposób, w jaki funkcja zachowuje się. Jak to jest złe?

Kiedy należy używać Lazy?

Znalazłem ten artykuł o Lazy: lenistwo w C # 4.0-lenistwo Jaka jest najlepsza praktyka, aby uzyskać najlepszą wydajność pr ... obiektów? Czy ktoś może wskazać mi praktyczne zastosowanie w prawdziwej aplikacji? Innymi słowy, kiedy powinienem go używać?

Czy Haskell ma optymalizację rekurencyjną?

Odkryłem dzisiaj polecenie" time " w Unixie i pomyślałem, że użyję go do sprawdzenia różnicy w czasie działania między funkcj ... ogonowej. Jest to sprzeczne z tym, co słyszałem w odniesieniu do optymalizacji rekurencyjnej w Lispie. Jaki jest tego powód?

Co robi leniwy val?

Zauważyłem, że Scala dostarcza lazy vals. Ale nie rozumiem, co oni robią. scala> val x = 15 x: Int = 15 scala> lazy v ... gt; x res0: Int = 15 scala> y res1: Int = 13 REPL pokazuje, że y jest lazy val, ale czym się różni od normalnego val?

Co oznacza wykrzyknik w deklaracji Haskella?

Natknąłem się na następującą definicję, gdy próbuję nauczyć się Haskella za pomocą prawdziwego projektu. Nie rozumiem, co oz ... a wykrzyknik przed każdym argumentem, a moje książki o tym nie wspominały. data MidiMessage = MidiMessage !Int !MidiMessage

Zipping streams using JDK8 with lambda (java.util.strumień.Strumienie.zip)

W JDK 8 z lambda b93 była klasa java.util.strumień.Strumienie.zip w b93 , który może być użyty do zapinania strumieni (jest t ... gt; c1, Collection<T> c2, BiPredicate<T, T> pred) Funkcje z dość obszernym kodem(który nie używa funkcji z b98).

Jaki jest (ukryty) koszt lazy val Scali?

Jedną z przydatnych funkcji Scali Jest lazy val, Gdzie ocena {[2] } jest opóźniona, dopóki nie jest to konieczne (przy pierws ... azy val (x, y) = { ... } } Czy to to samo, co posiadanie dwóch oddzielnych lazy val s x i y czy tylko raz, dla pary (x, y)?

Wyodrębnij kolumnę dplyr tbl jako wektor

Czy istnieje bardziej zwięzły sposób, aby uzyskać jedną kolumnę dplyr tbl jako wektor, z tbl z zapleczem bazy danych (tzn. ra ... t(select(iris2, Species))[, 1] # [1] "setosa" "setosa" "setosa" "setosa" etc. Ale wydaje się trochę niezdarny.

Leniwa ocena w C++

C++ nie ma natywnego wsparcia dla leniwej oceny (tak jak Haskell). Zastanawiam się, czy jest możliwe zaimplementowanie leniw ... t. Jedynym problemem jest przechowywanie argumentów i kodu operacji wewnątrz samego lazy ' a. Czy ktoś widzi jak to poprawić?

Dlaczego seq jest zły?

Haskell ma magiczną funkcję o nazwie seq, która pobiera argument dowolnego typu i redukuje go do słaba Głowa normalna forma ... ugerował, że dając seq, rnf, par i podobny typ jak funkcja id, a nie Funkcja const Jak jest teraz, byłby ulepszeniem. Jak to?

Dlaczego leniwa ocena jest przydatna?

Od dawna zastanawiam się, dlaczego leniwa ocena jest przydatna. Jeszcze nikt mi nie wyjaśnił w sposób, który ma sens; w większości kończy się to gotowaniem do "zaufaj mi". Uwaga: nie mam na myśli memoizacji.

Jak przekonwertować sekwencję lazy na non-lazy w Clojure

Próbowałem w Clojure, spodziewając się, że klasa nie-leniwej sekwencji zostanie zwrócona: (.getClass (doall (take 3 (repeat ... , ponieważ nadal jest przydatna do memoizacji. Więc jaki jest idiomatyczny sposób tworzenia nie-leniwej sekwencji z leniwej?

Haskell: czym różnią się niestrudzone i leniwe?

Często czytam, że leniwy to nie to samo co nie ścisły ale trudno mi zrozumieć różnicę. One wydają się być używane zamienni ... m bez bycia leniwym, czy też leniwym bez bycia nie-ścisłym? czy nieścisłość Haskella jest osiągana przez lenistwo? Dziękuję!

ocena " def " vs " val " vs "lazy val" w Scali

Czy mam rację rozumiejąc, że def jest oceniana za każdym razem, gdy jest dostępna lazy val jest oceniana po uzyskaniu dostępu val jest oceniany po wejściu w zakres wykonania?

Zrozumienie rekurencyjnie zdefiniowanej listy (fibs w kategoriach zipWith)

Uczę się Haskella i natknąłem się na następujący kod: fibs = 0 : 1 : zipWith (+) fibs (tail fibs) Mam mały problem z anal ... rzebne, ale chciałbym zrozumieć, jak Haskell udaje się "wypełnić" fibsy, gdy piszę: {]} take 50 fibs Jakaś pomoc? Dzięki!

Haskell: jak wykryć " leniwe wycieki pamięci"

Po kilku godzinach debugowania zdałem sobie sprawę, że bardzo prosty przykład zabawki nie był skuteczny z powodu braku ! w wy ... $ "Logging with Int: " ++ (show n) putStrLn $ (show $ log) t3 <- Time.getCurrentTime print (Time.diffUTCTime t3 t2)

Zwracanie błędów czystego formularza Django w JSON

Mam formularz Django, który sprawdzam w normalnym widoku Django. Staram się dowiedzieć, jak wyodrębnić czyste błędy (bez form ... ttpResponse(json.dumps(x, sort_keys=True, indent=2), content_type='application/json; charset=UTF-8')

Przekazywanie argumentów do funkcji dplyr

Chcę parametryzować następujące obliczenia używając dplyr, które wartości Sepal.Length są powiązane z więcej niż jedną wartoś ... Jednak to podejście powoduje błędy, ponieważ dplyr wykorzystuje niestandardową ocenę. Jak powinna być zapisana ta funkcja?