Size: a a a

2020 September 02

ΑZ

Αλεχ Zhukovsky in rust_offtopic
polunin.ai
Для хаскеля то же самое верно, не всегда можно узнать если делать unsafePerformIO
ну только за ансейфперформио можно сразу в табло давать, а ты предлагаешь это на полном серьезе юзать
источник

p

polunin.ai in rust_offtopic
Αλεχ Zhukovsky
ну только за ансейфперформио можно сразу в табло давать, а ты предлагаешь это на полном серьезе юзать
Я предлагаю сделать возможность задавать свои модификаторы бооков
источник

p

polunin.ai in rust_offtopic
#[required_explicit]
modifier IO;

IO fn print(some: String) { ... }

fn foo() { print("1"); // ошибка }
fn foo() { IO { print("1"); } // ошибка }
IO fn foo() { IO { print("1"); } // работает }
источник

p

polunin.ai in rust_offtopic
Сделать наследование модификаторов и появится возможность писать что-то Аля
modifier ConsoleIO: IO;
источник

H

Hirrolot in rust_offtopic
(это делается едслями на монадах в идрисе, и не нужно ничего велосипедить)
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
polunin.ai
#[required_explicit]
modifier IO;

IO fn print(some: String) { ... }

fn foo() { print("1"); // ошибка }
fn foo() { IO { print("1"); } // ошибка }
IO fn foo() { IO { print("1"); } // работает }
Чем IO fn foo() лучше fn foo() -> IO () ?
источник

p

polunin.ai in rust_offtopic
Αλεχ Zhukovsky
Чем IO fn foo() лучше fn foo() -> IO () ?
Тем что нет монад
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
polunin.ai
Тем что нет монад
это те же монады но в странной записи
источник

p

polunin.ai in rust_offtopic
Αλεχ Zhukovsky
это те же монады но в странной записи
unsafe - это монада?
источник

p

polunin.ai in rust_offtopic
В расте
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
polunin.ai
unsafe - это монада?
да
источник

p

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

ΑZ

Αλεχ Zhukovsky in rust_offtopic
ну она записана как ты предлагаешь "с контекстом"
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
но в виде монады она была бы лучше
источник

p

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

ΑZ

Αλεχ Zhukovsky in rust_offtopic
let res = unsafe {
 let x = unsafe_foo();
 let y = bar();
 let z = unsafe_baz();
}

против

let res: Unsafe () = do
 x <- unsafe_foo
 let y = bar
 z <- baz
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
во втором случае например сразу видно что реально ансейф только 1 и 3 строчка, а вторая - нет
источник

Т8

Т-34 85 in rust_offtopic
Constantine Drozdov
Дело не в системе, дело в людях
ну вот есть в США Трамп - ничего ,не рухнули. А потому что система выстроена правильно
источник

p

polunin.ai in rust_offtopic
Αλεχ Zhukovsky
во втором случае например сразу видно что реально ансейф только 1 и 3 строчка, а вторая - нет
Ну норм только в расте ансейф не монада
источник

p

polunin.ai in rust_offtopic
Так же как и async { } не монада
источник