@haskellru

Страница 1026 из 1551
Alexander
28.03.2018
14:43:25
Prelude GHC.HeapView> getClosureRaw y (0x00007f98351c84a0,[140291702817968,283476979897,62,283489526080],[0x00000042014ae140])

kana
28.03.2018
14:43:46


фишка в том, что вызвать head_ не имея Partial констейта нельзя

Google
Denis
28.03.2018
14:45:19
HasError Error как-то так?

Denis
28.03.2018
14:46:56
надо IO иметь, чтобы у списка взять голову ?

Yuriy
28.03.2018
14:48:00
надо IO иметь, чтобы у списка взять голову ?
нет, здесь IO, чтобы обойти Partial

Alexander
28.03.2018
14:48:17
for some definition of обойти

где оно до WHNF

Denis
28.03.2018
14:48:34
нет, здесь IO, чтобы обойти Partial
как это меняет то что я сказал?

Alexander
28.03.2018
14:49:22
head_ [error "Hallo!", 2::Int]

Yuriy
28.03.2018
14:49:30
как это меняет то что я сказал?
предполагается, что ты в большинстве не захочешь обманывать типы, то есть для получения головы IO не нужен

Denis
28.03.2018
14:49:53
Alexander
28.03.2018
14:50:49
вообще типы/теги/аннотиции для expected failures и exceptions я бы хоел

а идеально как ликвид хаскеле, чтобы они могли убираться в каких-то случаях

Александр
28.03.2018
14:51:13
PureScript?

Там именно так

Google
kana
28.03.2018
14:51:39
да, идея оттуда, я просто только что узнал что в хаскеле тоже можно 0-арные классы

Yuriy
28.03.2018
14:53:33
headNote :: Partial => String -> [a] -> a headNote note x = withFrozenCallStack $ fromNote note "headNote []" $ headMay x https://www.stackage.org/haddock/lts-11.2/safe-0.3.17/Safe.html#v:headNote

правда, там Partial автоматически удовлетворяется, его не надо соблюдать

хм, кажется, withFrozenCallStack делает противоположное тому, что хотел автор

Alexander
28.03.2018
14:58:43
кстати о safe

очень странно что его не снойман написал

тот ещё хтонический ужас

Denis
28.03.2018
15:00:48
кстати о safe
бывает очень полезной)

Alexander
28.03.2018
15:01:14
зачем?

Denis
28.03.2018
15:02:22
а safe кто-то юзает вообще?

Alexander
28.03.2018
15:07:02
уверен что да

кстати покажите его кто-нить кложуристам

Leonid
28.03.2018
15:10:42
я его через errors использую

Alexander
28.03.2018
15:19:45
в errors hoist-ы хорошие

Leonid
28.03.2018
15:42:06
там еще note noteT, hush, hushT

A64m
28.03.2018
15:55:19
safe это ужас от которого нас спасли линзы

Denis
28.03.2018
15:57:41
Alexander
28.03.2018
16:02:14
ну это несколько факультативные функции имхо

A64m
28.03.2018
16:07:33
ну всякие readMay, readEither
так есть соотв. призма

Denis
28.03.2018
16:07:41
Google
A64m
28.03.2018
16:07:55
_Show

Denis
28.03.2018
16:10:20
а пример?

A64m
28.03.2018
16:13:46
а пример?
Prelude Control.Lens> "42" ^? _Show @Int Just 42

Denis
28.03.2018
16:14:32
Prelude Control.Lens> "42" ^? _Show @Int Just 42
ну как бы линзы очень большой пакет, тащить ради только этого

Imants
28.03.2018
16:14:33
а что у нас сэры, пэры и прочие господа для графов юзают?
Мусье нужна база графов? https://hackage.haskell.org/package/fgl

Denis
28.03.2018
16:15:15
я либу видел, интересно что кто юзает и зачем

A64m
28.03.2018
16:15:24
ну как бы линзы очень большой пакет, тащить ради только этого
все разно уже ради чего-то затащено, а вот сейф больше ни для чего не нужен

kana
28.03.2018
16:16:14


A64m
28.03.2018
16:17:00
вероятно нет, а что ghc говорит?

kana
28.03.2018
16:17:30


в принципе это логично, что без AllowAmbiguousTypes нельзя

A64m
28.03.2018
16:18:23
вообще если что-то собираетесь юзать через TA, а без него непонятно как то это просто должно требовать включения AAT потому что весь смысл AAT чтоб по ошибке не написали код, который без TA использовать нельзя

Imants
28.03.2018
16:23:01
я либу видел, интересно что кто юзает и зачем
topsort https://hackage.haskell.org/package/fgl-5.6.0.0/docs/Data-Graph-Inductive-Query-DFS.html кратчайший путь https://hackage.haskell.org/package/fgl-5.6.0.0/docs/Data-Graph-Inductive-Query-SP.html BFS https://hackage.haskell.org/package/fgl-5.6.0.0/docs/Data-Graph-Inductive-Query-BFS.html

kana
28.03.2018
16:30:07




не знаю, зачем это, когда есть линзы захотелось просто

Imants
28.03.2018
16:34:29
Да, с малым объёмом данных. Про память ничего плохого не скажу. Работает хорошо. Когда выбирал несколько лет назад, ничего удобнее не нашёл. Может, уже появились хорошие альтернативы. Кажется, популярная: https://www.stackage.org/nightly-2018-01-27/package/fgl-5.6.0.0/revdeps

Denis
28.03.2018
16:38:30
гуд

тоже смотрел на неё

Google
A64m
28.03.2018
16:40:06
с малым объемом данных я просто containers использовал

kana
28.03.2018
16:40:31


Yuriy
28.03.2018
16:44:02
вроде algebraic-graphs хорошо работает с графами

(ну, автор так утверждал)

A64m
28.03.2018
16:45:41
это же язык какой-то

Yuriy
28.03.2018
16:46:17
простите, я имел в виду https://hackage.haskell.org/package/algebraic-graphs

A64m
28.03.2018
16:48:19
там работа с графами теперь появилась? Это же был файнл таглесс едсл, которому какой-то бекенд требовался типа контейнеров или фгл-а

в generic-lens, кстати, траверсалы сделали (но вроде не зарелизили еще)

kana
28.03.2018
17:03:37
заменил пары на массивы





Aminion
28.03.2018
17:43:15
Лист компрехеншн, если ему скормить 0,0 .. 0, генерит бесконечно нули, это баг или фича?

Denis
28.03.2018
17:48:57
Фича: пока меньше или равно - генерит, как станет больше - останавливается.

A64m
28.03.2018
17:51:03
это не лист компрехеншон, а Enum, и Enum, наверное половина всех хаскельных стандартных втф-ов

Denis
28.03.2018
17:55:09
[0 .. 0] то конечный
The sequence enumFromThenTo e1 e2 e3 is the list [e1,e1 + i,e1 + 2i,…e3], where the increment, i, is e2 − e1. If the increment is positive or zero, the list terminates when the next element would be greater than e3; the list is empty if e1 > e3. If the increment is negative, the list terminates when the next element would be less than e3; the list is empty if e1 < e3. https://www.haskell.org/onlinereport/haskell2010/haskellch6.html#x13-1310006.3.4

分解物質
28.03.2018
17:55:30
как так получилось что System.IO функции разбрасываются ексцепшенами на каждый случай вреде "нет файла"?

分解物質
28.03.2018
17:56:26
а как должно быть?
информация об ошибке в Either

A64m
28.03.2018
17:56:49
Google
? animufag ?
28.03.2018
17:58:44
информация об ошибке в Either
ну да в целом неприятная шелупонь в base сложилась

было бы удобно в типе видеть что может произойти

ещё функции над хендлерами как в сишечке

分解物質
28.03.2018
17:59:19
почему?
1. потому что случаи вроде "нет файла" это ожидаемая, частая ситуация, которую в нужно нормально обработать 2. более канонично?

Aminion
28.03.2018
18:00:23
Фича: пока меньше или равно - генерит, как станет больше - останавливается.
И как заменеджить это лучше, кроме как предварительной проверкой инкримента?

? animufag ?
28.03.2018
18:00:36
выразительности суммы типов недостаточно?

分解物質
28.03.2018
18:01:12
ну так обрабатывайте, вы ж в IO, никто не мешает
я к тому что это не кейс для броска ексцепшена

A64m
28.03.2018
18:01:29
вполне кейс

Alexander
28.03.2018
18:01:35
@A64m_qb0 а для такого Applicative m => Maybe a -> e -> ExceptT e m a в линзах что есть?

A64m
28.03.2018
18:02:25
так сразу не могу сказать

Leonid
28.03.2018
18:02:53
tryIO

分解物質
28.03.2018
18:03:02
вполне кейс
почему? разве не правильнее ошибки держать в результате и заставлять их обрабатывать?

в хаскеле для этого всё есть под рукой

A64m
28.03.2018
18:04:16
нет, нету

? animufag ?
28.03.2018
18:04:34
да поясни

A64m
28.03.2018
18:04:36
в хаскеле проверяемые экспешены невозможны

Alexander
28.03.2018
18:05:42
было бы удобно в типе видеть что может произойти
везде может произойти вообще что угодн

чего там выше очередные генерогенные рекорды?

Страница 1026 из 1551