[ add ] Data.Vec.Recursive.Relation.Binary.Pointwise - #3110
Conversation
Recently I've came across `Data.Vec.Recursive` which seemed interesting enough for me to play with it. However there is lackluster support for it. So I thought this would be some grunt work that I could contribute to the library. Everything here is pretty mechanical translation from `Data.Vec.Relation.Binary.Pointwise.Inductive` with only `splitAt` being included for completeness. I couldn't get `append` because of the indices `_+ 0`. Perhaps when I add `cast` next this would budge.
|
In lieu of an actual review, two quick observations
Eg. I think there is a reason that |
|
Indeed I've found infix 8 _^_
_^_ : Set a → (n : ℕ) → Set (lconst n a)
A ^ n = HomoProduct n Aand all the operations with more generic ones from the lookup : ∀ {n} → A ^ n → (k : Fin n) → Projₙ _ k
lookup {n = n} as k = projₙ n k as? If that is the case I followed your suggestion and try to tackle the assoc but It seems I'm failing at the very first step of even stating the type of it: assocʳ : ∀ m n {lsa lsb} {as : Sets m lsa} {bs : Sets n lsb} →
Product (m + n) (sappend m n as bs) → {!(Product m as) × (Product n bs)!}the Anyway it seems I should define all the different functions for Sets/Levels accordingly. btw. There is really no other point to this comment just that: "I'm looking into what you have said" and it's probably gonna take a while :) |
Recently I've came across
Data.Vec.Recursivewhich seemed interesting enough for me to play with it. However there is lackluster support for it. So I thought this would be some grunt work that I could contribute to the library. Everything here is pretty mechanical translation fromData.Vec.Relation.Binary.Pointwise.Inductivewith onlysplitAtbeing included for completeness. I couldn't getappendbecause of the indices_+ 0. Perhaps when I addcastnext this would budge.