Size: a a a

2020 April 01

G

Gymmasssorla in rust_offtopic
polunin.ai
дебаг будет отсутсвовать в языках с формальной верификацией
Вряд ли отсутствовать, скорее сводиться к минимуму
источник

p

polunin.ai in rust_offtopic
Alex Zhukovsky
если не оперировать мутабельным стейтом то вероятность ошибитсья падает на порядки
но это неудобно - оперировать только иммутабельными данными
источник

p

polunin.ai in rust_offtopic
Gymmasssorla
Вряд ли отсутствовать, скорее сводиться к минимуму
ну я считаю что 0,01% это отсутсвие
источник

AZ

Alex Zhukovsky in rust_offtopic
polunin.ai
но это неудобно - оперировать только иммутабельными данными
почему неудобно?
источник

λ

λоλторт in rust_offtopic
Т-34 85
скажи, а почему взлетел алгол, а не лисп?
1. тогда были строже требования к перфомансу
2. объективно лисп примерно то же самое говно
источник

G

Gymmasssorla in rust_offtopic
polunin.ai
но это неудобно - оперировать только иммутабельными данными
В двенадцатой главе книжки по Idris тебе покажут как обращаться с изменяемым состоянием.
источник

r

red75prime in rust_offtopic
polunin.ai
дебаг будет отсутсвовать в языках с формальной верификацией
С формально верифицированным компилятором, работающем на формально верифицированном железе, работающим на формально верифицированной физике. (с большой вероятностью - шутка)
источник

p

polunin.ai in rust_offtopic
крч мне лень что-то доказывать адептам
источник

p

polunin.ai in rust_offtopic
пойду на пхп писать
источник

AZ

Alex Zhukovsky in rust_offtopic
polunin.ai
и формальная спецификация не требует функциональности языка
чтобы было понятно что я имею в виду:


декларативно: squareList = fmap (*2)
операционистски
fn square_list(xs: Vec<i32) -> Vec<i32> {
   let mut result = Vec::with_capacity(xs.len());
   for i in 0..xs.len() {
       result[i] = xs[i]*2;
   }
   result
}

вопрос - где проще допустить ошибку?
источник

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
когда начинаешь с байтиками возиться везде такое вылезает
источник

D

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

AZ

Alex Zhukovsky in rust_offtopic
Dika
да, честнее будет сделать сравнение с рекурсивной squareList
просто с рекурсией придется аргумент доставать, а я хочу бесточечно. Придумывать же бесточечный наивный пример мне лень
источник

p

polunin.ai in rust_offtopic
Alex Zhukovsky
чтобы было понятно что я имею в виду:


декларативно: squareList = fmap (*2)
операционистски
fn square_list(xs: Vec<i32) -> Vec<i32> {
   let mut result = Vec::with_capacity(xs.len());
   for i in 0..xs.len() {
       result[i] = xs[i]*2;
   }
   result
}

вопрос - где проще допустить ошибку?
юзай комбинаторы, на них трудно совершить ошибку
источник

AZ

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

AZ

Alex Zhukovsky in rust_offtopic
когда ты говоришь ЧТО а не КАК, манипулируя стейтом
источник