ansible/dhall/Prelude/List/replicate.dhall
2024-11-26 00:55:56 -05:00

18 lines
540 B
Text

--| Build a list by copying the given element the specified number of times
let replicate
: Natural → ∀(a : Type) → a → List a
= λ(n : Natural) →
λ(a : Type) →
λ(x : a) →
List/build
a
( λ(list : Type) →
λ(cons : a → list → list) →
Natural/fold n list (cons x)
)
let example0 = assert : replicate 9 Natural 1 ≡ [ 1, 1, 1, 1, 1, 1, 1, 1, 1 ]
let example1 = assert : replicate 0 Natural 1 ≡ ([] : List Natural)
in replicate