Size: a a a

2020 May 18

A

Alexander in haskell_blah
ну ты из поликлиники или инвитровцев?
источник

A

Andrey in haskell_blah
но это не инвитра, и не хеликс
источник

A

Alexander in haskell_blah
а, ну т.е. не поликлиника, тогда им можно и на мозги покапать наверное телефоном
источник

A

Alexander in haskell_blah
ну как минимум узнать
источник

A

Andrey in haskell_blah
Alexander
ну ты из поликлиники или инвитровцев?
я действовал по инструкции в постановлении..
источник

A

Andrey in haskell_blah
выйдет срок постановления - но останутся ко мне вопросы - буду добиваться выезда независимых, платных на дом
источник

A

Andrey in haskell_blah
если не останется вопросов - что ж, это будет идеальный исход
источник

A

Andrey in haskell_blah
это совсем другая история будет, неэффективность и неработоспособность предлагаемой мне системы
источник

A

Andrey in haskell_blah
текущая история с багами, но работает худо-бедно
источник
2020 May 19

AZ

Alex Zhukovsky in haskell_blah
A64m AL256m qn I0
особенно если человек фп где-то подхватил он потом регулярно пишет код, который на стримах без материализации (ну итераторах из дотнета каких-нибудь)
постоянно будет влетать на непредвиденную квадратичную сложность и искать потом куда ручную материализацию вставлять
Не будет, там на это ворнинги есть
источник

AA

A64m AL256m qn<co... in haskell_blah
Alex Zhukovsky
Не будет, там на это ворнинги есть
когда я писал, из не было
источник

AZ

Alex Zhukovsky in haskell_blah
ну щас есть
источник

AZ

Alex Zhukovsky in haskell_blah
хотя с иде проблемы, особенно у жыдбрейнов, пишешь код, он компилируется, а иде подсвечивает всё красным потому что её не научили
источник

AZ

Alex Zhukovsky in haskell_blah
использовать ланг сервер? Нахер надо, напишем свою реализацию
источник

R

Roman in haskell_blah
A64m AL256m qn I0
из-за отсутствия мемоизации разница будет как между стримингом (есть) и стримли (нет)
а можно поподробнее про разницу между стримингом и стримли?
источник

AA

A64m AL256m qn<co... in haskell_blah
Roman
а можно поподробнее про разницу между стримингом и стримли?
стриминг материализуется, так что может течь и потормознее стримли, в смысле константы похуже
стримли не материализуется, так что может быть асимтотически тормознее стриминга
вот такой код со стримнгом выполняется секунд 20
import Streaming
import Control.Monad.Identity
import qualified Streaming.Prelude as S

primes :: Stream (Of Int) Identity ()
primes = S.yield 2 >> S.yield 3 >> S.filter isPrime (S.enumFromThen 5 7)
isPrime x = runIdentity . S.all_ (/= 0) . S.map (rem x) . S.takeWhile ((<= x) . (^2)) $ primes
main = print . runIdentity . S.length_ . S.takeWhile (<= 16777216) $ primes
а вот такой со стримли -
import Streamly
import Control.Monad.Identity
import qualified Streamly.Prelude as S
import Streamly.Prelude ((.:))

primes :: SerialT Identity Int
primes = 2 .: 3 .: S.filter isPrime (S.iterate (+2) 5)
isPrime x = runIdentity . S.all (/= 0) . fmap (rem x) . S.takeWhile ((<= x) . (^2)) $ primes
main = print . runIdentity . S.length . S.takeWhile (<= 16777216) $ primes
где-то 2000 сек
примерно то же в случае списков (да) и стримов на которых вектор построен (нет)
источник

R

Roman in haskell_blah
A64m AL256m qn I0
стриминг материализуется, так что может течь и потормознее стримли, в смысле константы похуже
стримли не материализуется, так что может быть асимтотически тормознее стриминга
вот такой код со стримнгом выполняется секунд 20
import Streaming
import Control.Monad.Identity
import qualified Streaming.Prelude as S

primes :: Stream (Of Int) Identity ()
primes = S.yield 2 >> S.yield 3 >> S.filter isPrime (S.enumFromThen 5 7)
isPrime x = runIdentity . S.all_ (/= 0) . S.map (rem x) . S.takeWhile ((<= x) . (^2)) $ primes
main = print . runIdentity . S.length_ . S.takeWhile (<= 16777216) $ primes
а вот такой со стримли -
import Streamly
import Control.Monad.Identity
import qualified Streamly.Prelude as S
import Streamly.Prelude ((.:))

primes :: SerialT Identity Int
primes = 2 .: 3 .: S.filter isPrime (S.iterate (+2) 5)
isPrime x = runIdentity . S.all (/= 0) . fmap (rem x) . S.takeWhile ((<= x) . (^2)) $ primes
main = print . runIdentity . S.length . S.takeWhile (<= 16777216) $ primes
где-то 2000 сек
примерно то же в случае списков (да) и стримов на которых вектор построен (нет)
ясно, спасибо. Ну собственно в случае, когда надо стримить данные, я бы ожидал от библиотеки поведения стримли. Если мне надо данные хранить и переиспользовать, я их в структуру положу
источник

AA

A64m AL256m qn<co... in haskell_blah
ну так-то в случае чтения данных последствия будут сильно хуже чем для вычислений
источник

AA

A64m AL256m qn<co... in haskell_blah
типа накомбинировал комбинаторов где группируются элемнты n и n+1 а он все запросы по два раза  послал или файлы по два раза прочел
источник

R

Roman in haskell_blah
A64m AL256m qn I0
типа накомбинировал комбинаторов где группируются элемнты n и n+1 а он все запросы по два раза  послал или файлы по два раза прочел
fair enough. Но это если комбинировать `zip`ом, а не руками функцию написать, правильно? Что `zip` так себя будет вести я бы заподозрил
источник