Size: a a a

2020 April 04

DS

Doge Shibu in rust_offtopic
polunin.ai
зачем Rc?
Чтобы копировать ссылки, а не значения
источник

PK

Pavel Kvasnikov in rust_offtopic
Doge Shibu
Чтобы копировать ссылки, а не значения
Ок ты в качестве конца списка копируешь Rc (указатель же это верно?) на хвост
источник

DS

Doge Shibu in rust_offtopic
Pavel Kvasnikov
Ок ты в качестве конца списка копируешь Rc (указатель же это верно?) на хвост
Да, и я копирую не все значения после данного, а только указатель на них. Поэтому это дико дешево
источник

G

Gymmasssorla in rust_offtopic
polunin.ai
больше всего меня в хаскеле умиляет вот эти вот x xs
Это соглашение такое
источник

DS

Doge Shibu in rust_offtopic
Полного копирования не происходит
источник

DS

Doge Shibu in rust_offtopic
Gymmasssorla
Это соглашение такое
+

xs - это список
x - элемент списка
источник

p

polunin.ai in rust_offtopic
red75prime
Если заранее создать все элементы, которые могут войти в список, то можно и ссылки.
Box::as_ref же
источник

p

polunin.ai in rust_offtopic
Gymmasssorla
Это соглашение такое
Чтобы никто кроме хаскелистов код не понял? Ок
источник

r

red75prime in rust_offtopic
polunin.ai
Box::as_ref же
Скорее Box::leak. Если мы хотим создать новый элемент, его время жизни не должно быть меньше времени жизни остальных элементов
источник

G

Gymmasssorla in rust_offtopic
polunin.ai
Чтобы никто кроме хаскелистов код не понял? Ок
И не нужно
источник

r

red75prime in rust_offtopic
red75prime
Скорее Box::leak. Если мы хотим создать новый элемент, его время жизни не должно быть меньше времени жизни остальных элементов
А оно будет меньше, если другие элементы были созданы в охватывающем scope
источник

p

polunin.ai in rust_offtopic
red75prime
Скорее Box::leak. Если мы хотим создать новый элемент, его время жизни не должно быть меньше времени жизни остальных элементов
let foo = Box::new(1);
list.push(foo);
let link = list.last().as_ref();
источник

p

polunin.ai in rust_offtopic
В итоге у нас ссылка на 1
источник

r

red75prime in rust_offtopic
Да, как я и говорил, можно ссылки, если все элементы списка создаются заранее.
источник

PK

Pavel Kvasnikov in rust_offtopic
Какая-то оторванная от жизни задача, связанный список почти никогда не используется, иммутабильный связанный список наверно только у хаскелистов и есть. Где это используется в реальных задачах?
источник

r

red75prime in rust_offtopic
Pavel Kvasnikov
Какая-то оторванная от жизни задача, связанный список почти никогда не используется, иммутабильный связанный список наверно только у хаскелистов и есть. Где это используется в реальных задачах?
В ядре линукса
источник

PK

Pavel Kvasnikov in rust_offtopic
red75prime
В ядре линукса
в менеджере памяти?
источник

PK

Pavel Kvasnikov in rust_offtopic
(я просто слышал что это чуть ли не единственный пример)
источник

r

red75prime in rust_offtopic
Надо вспоминать, давно это смотрел.
источник

G

Gymmasssorla in rust_offtopic
Pavel Kvasnikov
Какая-то оторванная от жизни задача, связанный список почти никогда не используется, иммутабильный связанный список наверно только у хаскелистов и есть. Где это используется в реальных задачах?
В функциональном программировании всюду
источник