Size: a a a

2021 March 04

JS

Jerzy Syrowiecki in Haskell
IO = монада для ловли исключений
источник

[

[BRM]White Rabbit in Haskell
кана
щас бы при вызове каждой функции на всякие мелкие ошибки превращать код в лапшу
Возможно, мы говорим про разные исключения, но я говорю про плюсовые/шарповые/джавовые.
Которые, как говорил Торвальдс, bullshit, и к тому же замедляют код
источник

JS

Jerzy Syrowiecki in Haskell
многие другие считают, что исключения ускоряют код
источник

A

Andrey in Haskell
и это ещё не беря во внимание асинхронные исключения, которые могут быть брошены куда угодно
источник

[

[BRM]White Rabbit in Haskell
Jerzy Syrowiecki
многие другие считают, что исключения ускоряют код
например?
источник

JS

Jerzy Syrowiecki in Haskell
[BRM]White Rabbit
например?
json-парсер на Го и на Хаскеле в случае ошибки бросают исключение, потом ловят и оборачивают в красивое значение
источник

JS

Jerzy Syrowiecki in Haskell
кажется, это было сделано для скорости
источник

MK

Maxim Koltsov in Haskell
Какие исключения в аесоне? Там unsafePerformIO что ли?
источник

A

Andrey in Haskell
Jerzy Syrowiecki
json-парсер на Го и на Хаскеле в случае ошибки бросают исключение, потом ловят и оборачивают в красивое значение
надо будет посмотреть..
источник

[

[BRM]White Rabbit in Haskell
Я возможно дурак, но...
источник

A

Aleksandr Khristenko in Haskell
[BRM]White Rabbit
Я возможно дурак, но...
В го можно кидать и ловить паники.
источник

[

[BRM]White Rabbit in Haskell
Звучит странно, но ладно
источник

A

Aleksandr Khristenko in Haskell
[BRM]White Rabbit
Звучит странно, но ладно
Some Golang official packages use panic/defer+recover as throw/catch, but only when they need to unwind a large call stack.
источник

JS

Jerzy Syrowiecki in Haskell
Maxim Koltsov
Какие исключения в аесоне? Там unsafePerformIO что ли?
нет, throw, но я спутал с чем-то другим, наверно. там есть throw, но не для всех ошибок
источник

JS

Jerzy Syrowiecki in Haskell
Aleksandr Khristenko
Some Golang official packages use panic/defer+recover as throw/catch, but only when they need to unwind a large call stack.
this
источник

JS

Jerzy Syrowiecki in Haskell
Maxim Koltsov
Какие исключения в аесоне? Там unsafePerformIO что ли?
unescapeText = unsafeDupablePerformIO . try . evaluate . unescapeText'
источник

MK

Maxim Koltsov in Haskell
Прикольно!
источник

K

Kir in Haskell
Я видел код людей, которые на всё Either WhatEverError возвращают. Мне там на полном серьёзе предложили m (Either DBError (Either ParseError r)) вернуть
источник

K

Kir in Haskell
Тут надо системы эффектов, если нужны гарантии обработки.
источник

[

[BRM]White Rabbit in Haskell
Kir
Я видел код людей, которые на всё Either WhatEverError возвращают. Мне там на полном серьёзе предложили m (Either DBError (Either ParseError r)) вернуть
А эти люди на полном серьёзе потом пишут километры обработчиков?..
В хаскеле, конечно, всё не так печально, как в шарпах, но всё же...
источник