Size: a a a

2021 May 31

SS

Steel Sword in rust_offtopic
Прикольно
источник

[

[BRM]White Rabbit in rust_offtopic
Переслано от [BRM]White Rabbit
Выглядит, как какой-то трюк
источник

SS

Steel Sword in rust_offtopic
Но что концептуально другого это дает?
источник

[

[BRM]White Rabbit in rust_offtopic
Завтипы могут выразить программу без крашей
источник

SS

Steel Sword in rust_offtopic
Вот тут gen - это и есть завтипы?
источник

[

[BRM]White Rabbit in rust_offtopic
Ага, и f
источник

SS

Steel Sword in rust_offtopic
При 0 одно поведение при чём то другом - другое
источник

[

[BRM]White Rabbit in rust_offtopic
Нет
источник

[

[BRM]White Rabbit in rust_offtopic
Это обычное сравнение с шаблоном
источник

goldstein опять in rust_offtopic
Ты можешь доказывать рантаймовые свойства.
Раст паникует, когда ты обращаешься по невалидному индексу, но зачем вообще компилировать программу с обращением по невалидному индексу.
источник

[

[BRM]White Rabbit in rust_offtopic
Смотри на сигнатуры
источник

SS

Steel Sword in rust_offtopic
Я вообще не понимаю синтаксис Хаскеля)
источник

[

[BRM]White Rabbit in rust_offtopic
Это не хаскель
источник

[

[BRM]White Rabbit in rust_offtopic
Это идрис
источник

goldstein опять in rust_offtopic
Кам он, как будто есть серьёзная синтаксическая разница
источник

[

[BRM]White Rabbit in rust_offtopic
В хаскеле нет завтипов😢
источник

[

[BRM]White Rabbit in rust_offtopic
В хаскеле два двоеточия!
источник

[

[BRM]White Rabbit in rust_offtopic
И Nat не выражен через числа пиано
источник

goldstein опять in rust_offtopic
enum Fin<N> {
   Z,
   S(Fin),
}

fn gen(x: Nat) -> Fin<x + 1> {
   match x {
        Nat::Z => Self::Z,
        Nat::S(prev) => Self::S(gen(prev)),
   }
}
источник

[

[BRM]White Rabbit in rust_offtopic
Вернее, это просто исправить
источник