Size: a a a

2020 June 21

AZ

Alex Zhukovsky in rust_offtopic
нет ты не можешь её подменить, она уже реализованна каким-то образом
источник

SP

Stanislav Popov in rust_offtopic
хорошо. апплайнуть ее
источник

t

toriningen in rust_offtopic
но ты можешь реализовать перегрузку getCurrentTime 🙂
источник

AZ

Alex Zhukovsky in rust_offtopic
Stanislav Popov
хорошо. апплайнуть ее
аплайнуть это "выполнить" ио? Считай, что в хаскелле это запрещено
источник

AZ

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

t

toriningen in rust_offtopic
есть функция unsafePerformIO - слово unsafe в названии должно намекнуть, что функция не предназначена для вызова обычными людьми
источник

SP

Stanislav Popov in rust_offtopic
источник

AZ

Alex Zhukovsky in rust_offtopic
давай пример попроще
источник

AZ

Alex Zhukovsky in rust_offtopic
@enomad

#[derive(Debug, Clone)]
struct IO(String);

fn read_line() -> IO {
   IO("SELECT * FROM TABLE".into())
}

fn main() {
   let a = read_line();
   print!("{:?}", a);
}

Функция read_line - чистая или нет?
источник

SP

Stanislav Popov 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
а штука на которую можно однозначно ответить
источник

t

toriningen in rust_offtopic
для того, чтобы быть чистой, функция должна как минимум обладать ссылочной прозрачностью (referential transparency)
источник

t

toriningen in rust_offtopic
read_line ей обладает
источник

p

polunin.ai in rust_offtopic
Stanislav Popov
ну по вашей методичке что угодно чистое
+
источник

p

polunin.ai in rust_offtopic
ну функция чистая, да
источник

p

polunin.ai in rust_offtopic
сама программа - нет
источник

t

toriningen in rust_offtopic
если функцию можно заменить на результат ее выполнения, или если результат выполнения можно заменить на вызов функции, то все оки, функция чистая
источник