Size: a a a

2021 May 26

AN

Alex Noname in rust_offtopic
вообще философия Branded и того примера с Vec n похожая.
источник

AN

Alex Noname in rust_offtopic
The key idea is that'idis notused as a normal lifetime which defines the duration of a borrow, but instead is used as abrandthatuniquelyidentifies a runtime vector value. In other words, for every concrete brand'id, thetypeBrandedVec<'id, T>is a singleton type, inhabited only bythevector (call itbvec) of typeBrandedVec<'id, T>.
источник

KR

Kai Ren in rust_offtopic
источник

s

suhr in rust_offtopic
Мне было бы интересен аналог liquid haskell для раста.
источник

s

suhr in rust_offtopic
Сейчас из подобного есть только какая-то убогая логика Хоара.
источник

AN

Alex Noname in rust_offtopic
В завтипах n это тоже уникальный тип как и id, который привязан к вектору потом. Только отлчие в том что n это не убогий лайфтайм, а что то с ним можно делать. Я поэтому про него и вспомнил
источник

s

suhr in rust_offtopic
Которая даже на leftpad'е не работает.
источник

AN

Alex Noname in rust_offtopic
жопа. мои руки меня не слушают
источник

TK

Traveller Kolsky in rust_offtopic
Будет у тебя бренд-вектор и бренд-индекс, гарантия - индекс и вектор должны быть одного бренда, чтобы выполнять совместные операции над ними.
Будет у тебя Vec P, где P - натуральное, гарантия - возврат Vec N, где N - целое неотрицательное.
источник

TK

Traveller Kolsky in rust_offtopic
Плюс к завтипам - можно установить зависимость такую, что P = Succ N
источник

AN

Alex Noname in rust_offtopic
кароче для каждого рантайм значения нужно установить уникальный тип. Потом с ним что то делать. В случае с брандИндекс мало что можно сделать - только сравнить с другим. В случае с Nat (или как там оно) уже можно складывать / вычитать. Собственно делать то что можно делать с нормальными типами в расте. Прикол в том что в расте сделать уникальный тип можно только в домене лайфтаймов. В идрисе в домене обычных типов. Но завтипы не про это имхо.
источник

AN

Alex Noname in rust_offtopic
там на википедии просто Пи и Сигма нотация написано. И про рантайм ничего не сказано)
источник

TK

Traveller Kolsky in rust_offtopic
Завтипы да, шире гораздо, но даже на таком простом примере их сила видна для доказательств
источник

AN

Alex Noname in rust_offtopic
а ты смотре зис вик ов раст *предпоследний? там что то похожее пытались сделать. (я не смотрел)
источник

B

Börgar in rust_offtopic
так, а можно мне поинтер на начало про завтипы?
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
смысл не с типом
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
а с тем чтобы хранить предикаты
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
и автоматом их затягивать
источник

AN

Alex Noname in rust_offtopic
о раскажи. ты должен шарить
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
если ты в идрисе пишешь:

if (x != 0) {
 ...
}

то внутри ифа у тебя появляется пруф: x != 0
источник