Size: a a a

2021 February 15

T

The Lord of Hypercom... in Haskell Start
кана
<- это не "присваивание", это в данном случае выполнить дейстие типа "IO Int"  и поместить в x результат типа Int
Ух ты
Это со всеми IO X работает?
источник

к

кана in Haskell Start
да
источник

T

The Lord of Hypercom... in Haskell Start
кана
нет, аналогично твоему коду будет

do
 let x = read @Int <$> getLine
 putSTrLn $ lucky x

но тут x это все еще IO Int

нужно сделать

do
 let x = read @Int <$> getLine
 y <- x
 putSTrLn $ lucky y
блин, let
источник

12

1 2 in Haskell Start
кана
<- это не "присваивание", это в данном случае выполнить дейстие типа "IO Int"  и поместить в x результат типа Int
типа flatmap что ли?
источник

к

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

T

The Lord of Hypercom... in Haskell Start
Спасибо, постараюсь запомнить
источник

к

кана in Haskell Start
The Lord of Hypercomplex Numbers
Ух ты
Это со всеми IO X работает?
даже больше, это работает со всеми m a, если для m есть инстанс Monad
источник

12

1 2 in Haskell Start
The Lord of Hypercomplex Numbers
Ух ты
Это со всеми IO X работает?
кароче это то, что снимает магию IO и просто возвращает результат
источник

T

The Lord of Hypercom... in Haskell Start
1 2
кароче это то, что снимает магию IO и просто возвращает результат
о, ты и тут
источник

JS

Jerzy Syrowiecki in Haskell Start
The Lord of Hypercomplex Numbers
Обрезать морочно, извинити
скриншоть окно (Alt+PrScr или через приложение)
источник

JS

Jerzy Syrowiecki in Haskell Start
The Lord of Hypercomplex Numbers
Мы одинаково мыслим
Я тоже 10 вбил
42 уже не в чести
источник

T

The Lord of Hypercom... in Haskell Start
Jerzy Syrowiecki
42 уже не в чести
Увы
источник

JS

Jerzy Syrowiecki in Haskell Start
1 2
кароче это то, что снимает магию IO и просто возвращает результат
не снимает, а наоборот, втягивает следующий за ним код в IO
источник

T

The Lord of Hypercom... in Haskell Start
Jerzy Syrowiecki
не снимает, а наоборот, втягивает следующий за ним код в IO
Так, вы меня не путайте
источник

к

кана in Haskell Start
вот это рассахаривание должно помочь понять
источник

к

кана in Haskell Start
Переслано от кана
можно всегда считать, что

g = do
 x <- y
 f x

это то же самое что и

g = y >>= \x -> f x
источник

к

кана in Haskell Start
g = y >>= (\x -> f x)
источник

к

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

JS

Jerzy Syrowiecki in Haskell Start
The Lord of Hypercomplex Numbers
Так, вы меня не путайте
вы не обрайте внимания. лучше сначала научиться пользоваться do-блоками, а потом переходить к монадам
источник

T

The Lord of Hypercom... in Haskell Start
Синтаксический сахар влияет на скорость работы кода? Будет ли "рассахаренный" код работать быстрее? Или я неверно представляю себе его суть?
источник