Size: a a a

2020 April 23

AZ

Alex Zhukovsky in rust_offtopic
polunin.ai
но в хаскеле print возвращет IO () а не функцию
IO () это функция, просто в ньютайпе
источник

AZ

Alex Zhukovsky in rust_offtopic
буквально struct IO<T>(impl Fn() -> T)
источник

p

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

AZ

Alex Zhukovsky in rust_offtopic
верно. Ио чистое пока ты не вызовешь unsafePerformIO
источник

AZ

Alex Zhukovsky in rust_offtopic
(а его не надо вызывать)
источник

AZ

Alex Zhukovsky in rust_offtopic
unsafePerformIO вызывает функцию в ньютайпе
источник

p

polunin.ai in rust_offtopic
<- тоже вызов
в расте это было бы ()
разницы нет
источник

AZ

Alex Zhukovsky in rust_offtopic
polunin.ai
<- тоже вызов
в расте это было бы ()
разницы нет
нет, <- это and_then
источник

p

polunin.ai in rust_offtopic
Alex Zhukovsky
нет, <- это and_then
сахар над () для IO
источник

AZ

Alex Zhukovsky in rust_offtopic
fn foo() -> Fn() -> () {
 || {
   let _ = print("a");
 }
}
источник

AZ

Alex Zhukovsky in rust_offtopic
чистое или нет?
источник

p

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

p

polunin.ai in rust_offtopic
до тех пор пока не вызываешь возвращаемый результат foo
источник

AZ

Alex Zhukovsky in rust_offtopic
polunin.ai
до тех пор пока не вызываешь возвращаемый результат foo
ну а ты его никогда не вызываешь, а всю подобную композицию возвращаешь из мейна
источник

AZ

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

AZ

Alex Zhukovsky in rust_offtopic
на свойства программы оно не влияет
источник

AZ

Alex Zhukovsky in rust_offtopic
ты везде можешь два вызова foo() заменить на один и никакой код "вне мейна" который это исполняет поведение не поменяет
источник

p

polunin.ai in rust_offtopic
удобно, но это самообман все же.
источник

AZ

Alex Zhukovsky in rust_offtopic
polunin.ai
удобно, но это самообман все же.
на уровне хаскелля всё чистое. Рантайм не является частью языка
источник

AZ

Alex Zhukovsky in rust_offtopic
ну и если ты согласен что это "удобно", то оценка самообман это или нет это уже философствование из разряда "издает ли падающее дерево звук в лесу в котором никого нет"
источник