Size: a a a

2020 April 23

G

Gymmasssorla in rust_offtopic
polunin.ai
херня, функция все равно делает ио а оно по определению непрозрачно
Если бы ты дочитал книгу по идрису то узнал бы что это не так
источник

p

polunin.ai in rust_offtopic
Doge Shibu
Тупо формально посмотреть удовлетворяет ли ему функция возвращающая IO
ну ок она возвращает ио и делает внутри себя вывод. возврат чистая операция, вывод - нет. вывод - функция нечситая (мне лень писать "ссылочно прохрачная")
источник

DS

Doge Shibu in rust_offtopic
polunin.ai
ну ок она возвращает ио и делает внутри себя вывод. возврат чистая операция, вывод - нет. вывод - функция нечситая (мне лень писать "ссылочно прохрачная")
Погоди, где вывод делается?
источник

DS

Doge Shibu in rust_offtopic
Вывод не делается при вызове этой функции
источник

p

polunin.ai in rust_offtopic
делается
источник

p

polunin.ai in rust_offtopic
foo = do
 _ <- print "a"

вот здесь выводится "a" когда я вызываю функцию
источник

DS

Doge Shibu in rust_offtopic
polunin.ai
foo = do
 _ <- print "a"

вот здесь выводится "a" когда я вызываю функцию
Нет, это же IO.

Когда ты вызовешь foo тебе вернется IO(st -> (print "a") st) и print при этом выполнен не будет.
источник

p

polunin.ai in rust_offtopic
ну я вызову функция через <- а не через (), какая разница
источник

DS

Doge Shibu in rust_offtopic
polunin.ai
ну я вызову функция через <- а не через (), какая разница
Большая разница, <- это не вызов функции.
источник

DS

Doge Shibu in rust_offtopic
Это flat_map
источник

p

polunin.ai in rust_offtopic
ну ты придумал другое имя для вызова функции
источник

AZ

Alex Zhukovsky in rust_offtopic
polunin.ai
ну ты придумал другое имя для вызова функции
а await блокирует асинхронную операцию, да-да
источник

DS

Doge Shibu in rust_offtopic
polunin.ai
ну ты придумал другое имя для вызова функции
Нет, <-  - это не вызов функции. Это сахар для фукнций, которые умеют комбинировать IO
источник

p

polunin.ai in rust_offtopic
Doge Shibu
Нет, <-  - это не вызов функции. Это сахар для фукнций, которые умеют комбинировать IO
это сахар для вызова функции, да
источник

DS

Doge Shibu in rust_offtopic
polunin.ai
это сахар для вызова функции, да
Но не функции print
источник

p

polunin.ai in rust_offtopic
Doge Shibu
Но не функции print
ну она вызовется
источник

DS

Doge Shibu in rust_offtopic
А сахар для вызова функций >> и >>=
источник

p

polunin.ai in rust_offtopic
все равно функция print вызовется, иначе вывода не будет
источник

DS

Doge Shibu in rust_offtopic
polunin.ai
ну она вызовется
И она точно так же возвращает IO и ничего не делает в этот момент.
источник

p

polunin.ai in rust_offtopic
Doge Shibu
И она точно так же возвращает IO и ничего не делает в этот момент.
ты ее вызовешь все равно когда-то
источник