12345678910111213141516171819202122232425262728293031{-# OPTIONS --safe --without-K #-} module Meta.Prelude where open import Level renaming (_⊔_ to _⊔ˡ_; suc to sucˡ; zero to zeroˡ) publicopen import Function public open import Data.Bool hiding (_≟_; _≤_; _≤?_; _<_; _<?_) publicopen import Data.Empty publicopen import Data.List hiding (align; alignWith; fromMaybe; map; zip; zipWith) publicopen import Data.Maybe hiding (_>>=_; ap; align; alignWith; fromMaybe; map; zip; zipWith) publicopen import Data.Unit hiding (_≟_) publicopen import Data.Sum hiding (assocʳ; assocˡ; map; map₁; map₂; reduce; swap) publicopen import Data.Product hiding (assocʳ; assocˡ; map; map₁; map₂; swap; zip; zipWith) publicopen import Data.Nat hiding (_≟_; _≤_; _≤?_; _<_; _<?_; _≤ᵇ_; _≡ᵇ_) publicopen import Data.String using (String; _<+>_) public open import Relation.Binary.PropositionalEquality hiding (preorder; setoid; [_]; module ≡-Reasoning; decSetoid) public lookupᵇ : {A B : Set} → (A → A → Bool) → List (A × B) → A → Maybe Blookupᵇ f [] n = nothinglookupᵇ f ((k , v) ∷ l) n = if f k n then just v else lookupᵇ f l n open import Data.Finopen import Data.List zipWithIndex : {A B : Set} → (ℕ → A → B) → List A → List BzipWithIndex f l = zipWith f (upTo $ length l) l enumerate : {A : Set} → List A → List (ℕ × A)enumerate = zipWithIndex _,_