Size: a a a

2021 March 04

JS

Jerzy Syrowiecki in Haskell
Aleksei (astynax) Pirogov
Мне кажется, что лучше везде иметь предупреждение, чем помнить о разнице всё время
а мне кажется, do мог бы давать больше императивных иллюзий. в lean это работает же, я в Хаскеле тоже хочу
источник

AP

Aleksei (astynax) Pi... in Haskell
Это +1 штука, которая выглядит похоже, но которую нужно помнить новичкам.
источник

AP

Aleksei (astynax) Pi... in Haskell
Хорошо хоть, что = и <- достаточно отличимы друг от друга
источник

[

[BRM]White Rabbit in Haskell
всё, что ты видишь - лишь иллюзия императивности🤔
источник

JS

Jerzy Syrowiecki in Haskell
Ilya Kos
Интересно как это с mdo работает
никак: Conflicting definitions for ‘input’
источник

AP

Aleksei (astynax) Pi... in Haskell
Jerzy Syrowiecki
а мне кажется, do мог бы давать больше императивных иллюзий. в lean это работает же, я в Хаскеле тоже хочу
В императивном коде было бы присваивание, а значит вот это работало бы не так, как работает сейчас
do
 x <- pure 1
 _ <- do
   x <- 2
   pure ()
 print x
источник

JS

Jerzy Syrowiecki in Haskell
Aleksei (astynax) Pirogov
Хорошо хоть, что = и <- достаточно отличимы друг от друга
рядом с <- не может быть просто =, только монструозное let=
источник

AP

Aleksei (astynax) Pi... in Haskell
"Монструозность" — вкусовщина
источник

JS

Jerzy Syrowiecki in Haskell
[BRM]White Rabbit
всё, что ты видишь - лишь иллюзия императивности🤔
ну, зависит от того, что считать императивностью. например, IO не иллюзия, а императивщина в чистом виде
источник

JS

Jerzy Syrowiecki in Haskell
Aleksei (astynax) Pirogov
В императивном коде было бы присваивание, а значит вот это работало бы не так, как работает сейчас
do
 x <- pure 1
 _ <- do
   x <- 2
   pure ()
 print x
да, хочу!
источник

AP

Aleksei (astynax) Pi... in Haskell
Jerzy Syrowiecki
ну, зависит от того, что считать императивностью. например, IO не иллюзия, а императивщина в чистом виде
foo = print 123
main = pure()
"где мой принт!?" (возглас питониста)
источник

AP

Aleksei (astynax) Pi... in Haskell
Jerzy Syrowiecki
да, хочу!
Нет, не хочу
источник

JS

Jerzy Syrowiecki in Haskell
Aleksei (astynax) Pirogov
В императивном коде было бы присваивание, а значит вот это работало бы не так, как работает сейчас
do
 x <- pure 1
 _ <- do
   x <- 2
   pure ()
 print x
кстати, это хороший пример, почему не стоит отключать -Wname-shadowing, как я выше предлагал. лучше ввести новый синтаксис. или хз что
источник

[

[BRM]White Rabbit in Haskell
Jerzy Syrowiecki
ну, зависит от того, что считать императивностью. например, IO не иллюзия, а императивщина в чистом виде
весь наш мир - иллюзия императивности...
источник

AP

Aleksei (astynax) Pi... in Haskell
Jerzy Syrowiecki
кстати, это хороший пример, почему не стоит отключать -Wname-shadowing, как я выше предлагал. лучше ввести новый синтаксис. или хз что
Зачем новый синтаксис? Это решается библиотеками. IORef, STRef и так далее
источник

AP

Aleksei (astynax) Pi... in Haskell
Не нужен синтаксис деструктивного присваивания, я считаю
источник

JS

Jerzy Syrowiecki in Haskell
Aleksei (astynax) Pirogov
Зачем новый синтаксис? Это решается библиотеками. IORef, STRef и так далее
нет, это другое. я хочу не мутацию, а чистое переобозначение
источник

AP

Aleksei (astynax) Pi... in Haskell
Aleksei (astynax) Pirogov
В императивном коде было бы присваивание, а значит вот это работало бы не так, как работает сейчас
do
 x <- pure 1
 _ <- do
   x <- 2
   pure ()
 print x
Тут напичатается "1" в хаскеле и "2" в процедурном языке.
источник

AP

Aleksei (astynax) Pi... in Haskell
Потому что в хаскеле эти два x — разные
источник

AP

Aleksei (astynax) Pi... in Haskell
Ты хочешь, чтобы переобозначние переживало свой скоуп?
источник