Size: a a a

2021 February 15

к

кана in Haskell Start
нет, максимум будет компиляция быстрее
источник

к

кана in Haskell Start
но незначительно все равно, там ботлнек не в сахаре
источник
2021 February 16

[

[BRM]White Rabbit in Haskell Start
Ку
источник

AR

Aleksandr Ruin in Haskell Start
v1' <- readIORef v1
v2' <- readIORef v2
v3' <- readIORef v3
v4' <- readIORef v4
v5' <- readIORef v5
как можно сократить запись?
источник

E

Elijah in Haskell Start
map ((<-) readIORef) или что-то типа такого?
источник

к

кана in Haskell Start
Aleksandr Ruin
v1' <- readIORef v1
v2' <- readIORef v2
v3' <- readIORef v3
v4' <- readIORef v4
v5' <- readIORef v5
как можно сократить запись?
а типы одинаковые?
источник

к

кана in Haskell Start
если типы одинаковые:
[a, b, c] <- traverse readIORef [refA, refB, refC]

если типы разные:
(a, b, c) <- liftA3 (,,) refA refB refC
источник

AR

Aleksandr Ruin in Haskell Start
кана
а типы одинаковые?
да Int  у всех
источник

AR

Aleksandr Ruin in Haskell Start
k, думал через кейси, но это намного лучше
источник

JS

Jerzy Syrowiecki in Haskell Start
кана
если типы одинаковые:
[a, b, c] <- traverse readIORef [refA, refB, refC]

если типы разные:
(a, b, c) <- liftA3 (,,) refA refB refC
первый вариант опасный, лучше всегда второй брать
источник

к

кана in Haskell Start
хм, да вроде ничем не опасный
источник

к

кана in Haskell Start
если traverse возвращает список другого размера, то это баг и в любом случае нужно упасть
источник

JS

Jerzy Syrowiecki in Haskell Start
если надо добавить или убрать переменную, может шаблон не срастись
источник

к

кана in Haskell Start
а, ну да, есть такое
источник

JS

Jerzy Syrowiecki in Haskell Start
кана
если traverse возвращает список другого размера, то это баг и в любом случае нужно упасть
да, но в Хаскеле принято это делать во время компиляции
источник

JS

Jerzy Syrowiecki in Haskell Start
Elijah
map ((<-) readIORef) или что-то типа такого?
стрелка здесь не оператор, а форма синтаксиса, так что так не получится
источник

к

кана in Haskell Start
да так же опасно как и head, считаю это пуристическая чушь, тут явный ивариант, который ничуть не хуже типизированного инварианта

ничего в хаскеле подобного не принято
источник

IR

IC Rainbow in Haskell Start
кана
да так же опасно как и head, считаю это пуристическая чушь, тут явный ивариант, который ничуть не хуже типизированного инварианта

ничего в хаскеле подобного не принято
Компилятор отругает же
источник

IR

IC Rainbow in Haskell Start
Aleksandr Ruin
v1' <- readIORef v1
v2' <- readIORef v2
v3' <- readIORef v3
v4' <- readIORef v4
v5' <- readIORef v5
как можно сократить запись?
Можно не сокращать. Это понятная запись без лишних телодвижений.
источник

к

кана in Haskell Start
IC Rainbow
Компилятор отругает же
ничего не ругает, это нужно отдельно какие-то ворнинги включить, чтобы ругало
источник