Size: a a a

2020 June 22

AZ

Alex Zhukovsky in rust_offtopic
polunin.ai
Потому что в мейн у тебя возвращаемая функция нечистая, а Эвил сама нечистая
ну так ИО сделан для того, чтобы вся нечистота была ВНУТРИ него, а не снаружи, как в случае эвила
источник

AZ

Alex Zhukovsky in rust_offtopic
и одно это разделение уже полезно
источник

p

polunin.ai in rust_offtopic
Да ио полезно, никто не спорит
источник

AZ

Alex Zhukovsky in rust_offtopic
в итоге haskell_main - чистый, потому что он возвращает ЧИСТОЕ значение - структурку IO. То что интерпретация этого ИО через unsafe_perform - грязное, никто ж не спорит, но это происходит ВНЕ нашего кода, в haskell_runtime, который писали умные чуваки и которы можно
источник

AZ

Alex Zhukovsky in rust_offtopic
в НАШЕМ коде такого не происходит
источник

AZ

Alex Zhukovsky in rust_offtopic
поэтому мы и имеем право считать всё это чистым
источник

AZ

Alex Zhukovsky in rust_offtopic
а дальше - бинды, не бинды, <- или нет - haskell_main остаётся чистым
источник

AZ

Alex Zhukovsky in rust_offtopic
что с ним не делай
источник

AZ

Alex Zhukovsky in rust_offtopic
вся нечистота только в исполнении ИО которое делаем не мы
источник

p

polunin.ai in rust_offtopic
Неа, он грязный потому что возвращает грязную функциб
источник

AZ

Alex Zhukovsky in rust_offtopic
возврат описателя грязной функции - это чистая функция
источник

AZ

Alex Zhukovsky in rust_offtopic
точно так же как возврат строки foo :: "SELECT * FROM TABLE" это чистая функция
источник

AZ

Alex Zhukovsky in rust_offtopic
а её интерпретация возможно и не очень
источник

AZ

Alex Zhukovsky in rust_offtopic
просто ИО чутка сложнее чем движок БД, и ему нужны не строчки, а лямбды
источник

AZ

Alex Zhukovsky in rust_offtopic
но смысл остается
источник

AZ

Alex Zhukovsky in rust_offtopic
функция возвращает некоторый простойо писатель что делать
источник

AZ

Alex Zhukovsky in rust_offtopic
а как это интерпретировать решаешь ты
источник

AZ

Alex Zhukovsky in rust_offtopic
хаскель рантайм вот интерпретирует исполнением
источник

r

red75prime in rust_offtopic
Сколько месяцев это уже длится?
источник

AZ

Alex Zhukovsky in rust_offtopic
а другой рантайм может по-другому сделать, например проанализировать граф выполнения, ничего реально не выполняя
источник