Size: a a a

2020 March 05

p

polunin.ai in rust_offtopic
Doge Shibu
Разница в том, что у тебя весь твой код будет ссылочно прозрачным.

А раз он ссылочно прозрачный, то ты сможешь его рефакторить не боясь каких-то побочных эффектов, неявных зависимостей, глобальных переменных и т.п.

То, что делает за тебя рантайм - это уже не важно.
не весь
источник

p

polunin.ai in rust_offtopic
тот который с ио нет
источник

P

Pavel in rust_offtopic
Gymmasssorla
Нет, код не ссылочно прозрачный на большинстве яп
тогда почему я я могу писать моки через when/thenReturn?
источник

G

Gymmasssorla in rust_offtopic
polunin.ai
тот который с ио нет
Дубль 999: интерпретатор грязный
источник

G

Gymmasssorla in rust_offtopic
Наш код нет
источник

p

polunin.ai in rust_offtopic
Doge Shibu
Разница в том, что у тебя весь твой код будет ссылочно прозрачным.

А раз он ссылочно прозрачный, то ты сможешь его рефакторить не боясь каких-то побочных эффектов, неявных зависимостей, глобальных переменных и т.п.

То, что делает за тебя рантайм - это уже не важно.
ну тогда если что делает рантайм не важно, то print(1) - чистая функция
ведб неважно что рантайм делает
источник

p

polunin.ai in rust_offtopic
Gymmasssorla
Дубль 999: интерпретатор грязный
источник

p

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

G

Gymmasssorla in rust_offtopic
Pavel
тогда почему я я могу писать моки через when/thenReturn?
Потому что язык так позволяет. У тебя тем не менее метод может свободно делать System.out.println
источник

G

Gymmasssorla in rust_offtopic
Без объекта I/O
источник

P

Pavel in rust_offtopic
Gymmasssorla
Потому что язык так позволяет. У тебя тем не менее метод может свободно делать System.out.println
и что?
источник

G

Gymmasssorla in rust_offtopic
polunin.ai
если интепретатор грязный, то и функция с ио грязная
Нет
источник

G

Gymmasssorla in rust_offtopic
Pavel
и что?
И теперь твой код уже не ссылочно прозрачный, цепочка рушится
источник

P

Pavel in rust_offtopic
Gymmasssorla
И теперь твой код уже не ссылочно прозрачный, цепочка рушится
и что?
источник

G

Gymmasssorla in rust_offtopic
polunin.ai
по сути ты вместо:
"напечатай мне слово"
говоришь
"интерпретатор, напечатай мне слово"
а интепретатор говорит системе
"напечатай мне слово"
то есть все равно ио происходит, инициатором ИО являешься ты, просто кто-то другой выполнил эту функцию
Правильно
источник

G

Gymmasssorla in rust_offtopic
Pavel
и что?
Смысл ФП теряется
источник

P

Pavel in rust_offtopic
Gymmasssorla
Смысл ФП теряется
так у меня и нет его, а код работает
источник

p

polunin.ai in rust_offtopic
Gymmasssorla
Дубль 999: интерпретатор грязный
fn interpretator(some: IO) {
 io.execute();
}
fn main() {
 let some = interpreter(IO::new());
}
main() грязная или чистая? при условии что io.execute() грязная
источник

G

Gymmasssorla in rust_offtopic
Pavel
так у меня и нет его, а код работает
Ссылочной прозрачности нет?
источник

P

Pavel in rust_offtopic
Gymmasssorla
Ссылочной прозрачности нет?
фп нет
источник