Size: a a a

2021 June 28

[

[BRM]White Rabbit in Haskell
я почти дошёл
источник

IO

I O in Haskell
Я на фолде делал


replaceWithMin :: [Int] -> [Int]
replaceWithMin l = finalList
 where
   (finalMin, finalList) = foldl' (\(curMin, curList) x -> (curMin min x, finalMin:curList)) (maxBound, []) l
источник

к

кана in Haskell
есть какой-то императивный байткод, представлен в виде списка команд разной длины с лейблами (типа опиание лейбла, или прыжок на лейбл)

нужно красиво заменить все лейблы в операндах на реальные оффсеты, а лейблы выкинуть
источник

к

кана in Haskell
ну тут maxBound какие-то непонятные, зачем они вообще нужны
источник

t

toriningen in Haskell
и как тут поможет ретроактивный стейт?
источник

ДК

Дима Ковалев... in Haskell
Очень понравился в свое время факт про оптимизатор, что он редуцирует последовательные мапы, фильтры и фолды до единичных, применяя простое правило(похожее на гомоморфизм). Надеюсь когда-нибудь найти время, чтобы поизучать ghc
источник

L

Lierdakil in Haskell
Нуок, раз пошли варианты, то вот
repmin i = let f xss y = case xss of { [x] -> ([y], x); (x:xs) -> bimap (y:) (min x) (f xs y) } in fst (fix (f i . snd))
источник

к

кана in Haskell
можно заменять лейблы на оффсеты, которые мы еще даже не получили, потому что лейбл определяется где-то позже
источник

t

toriningen in Haskell
т.е. по сути это... промис?
источник

к

кана in Haskell
ну, промис похож на задумку в хаскеле. Мутабельная ячейка, в которую можно что-то положить в будущем, но использовать раньше
источник

DG

Denis Gabidullin in Haskell
А зачем строка:
replace_with_min m [] = (m, [])

?
источник

к

кана in Haskell
дык без нее на пустом списке упадет функция
источник

[

[BRM]White Rabbit in Haskell
крч, мы пихаем много раз в список указатель на null, а в конце вычисления назначаем ему значение
источник

[

[BRM]White Rabbit in Haskell
гениально
источник

[

[BRM]White Rabbit in Haskell
главное - не разыменовать до сроку
источник

DG

Denis Gabidullin in Haskell
Да, я что-то под вечер наркоман 🤣

Выше, когда писал свой однострочник, из-за лени написал без учета пустого списка.
А сейчас почему-то "неправильно вспомнил", что это и была изначальная постановка задачи(

Надо отдохнуть)
источник

L

Lierdakil in Haskell
не на null. если брать ассоциации с C# каким-нибудь, то там башня из тасков.
источник

к

кана in Haskell
тут тоже на пустом списке вроде упадает
источник

L

Lierdakil in Haskell
да, я поленился
источник

t

toriningen in Haskell
кстати, как тардис себя поведет, если зарезолвить его значение собой же?
источник