Size: a a a

2021 May 31

[

[BRM]White Rabbit in rust_offtopic
index : Fin n -> Vect n a -> a
index n v = unsafeGetIndex ( FS (FS (coerence n))) v
источник

[

[BRM]White Rabbit in rust_offtopic
Конечный сет
источник

goldstein опять in rust_offtopic
Тебе не положено думать про рантайм
источник

AN

Alex Noname in rust_offtopic
источник

goldstein опять in rust_offtopic
Idris игрушечный, так что оптимизировали ли они хотя бы Nat в рантайме — хз
источник

[

[BRM]White Rabbit in rust_offtopic
У него в доке на первой страничке написано
источник

AN

Alex Noname in rust_offtopic
В хаскеле было бы struct Nat { Nat* succ }
источник

[

[BRM]White Rabbit in rust_offtopic
Настолько всех этот вопрос волнует
источник

[

[BRM]White Rabbit in rust_offtopic
Я не уверен если что
источник

AN

Alex Noname in rust_offtopic
Я тоже
источник

[

[BRM]White Rabbit in rust_offtopic
Например, те же листы хаскель умеет своить до массивов, а иногда даже до генераторов
источник

[

[BRM]White Rabbit in rust_offtopic
И какая-то хуйня типа [1..] получается O(1) по памяти
источник

r

red75prime in rust_offtopic
Nat оптимизируется. Унарное представление чисел это слишком тормозно даже для игрушечных примеров.
источник

goldstein опять in rust_offtopic
Или ещё до чего-нибудь
Тебе не положено думать о рантайме
источник

goldstein опять in rust_offtopic
Ну хоть так
Но интересно, захардкожен Nat или они придумали, как эту оптимизацию генерализовать
источник

[

[BRM]White Rabbit in rust_offtopic
Мы вчера тоже до этого вопроса дошли
источник

AN

Alex Noname in rust_offtopic
Значит если я сгенерировал Nat а потом пытаюсь сматчить его на S k, то он просто в рантайме сравнивает число с нулем.
источник

[

[BRM]White Rabbit in rust_offtopic
Если захардкочен, то мой Fin - хуйня жуткая
источник

[

[BRM]White Rabbit in rust_offtopic
Если нет, то норм тема
источник

AN

Alex Noname in rust_offtopic
Так а зачем вообще значение n из Fin n в рантайме.
источник