Util.agda 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. {-- Util.agda - random small useful function
  2. -- Copyright (C) 2019 caryoscelus
  3. --
  4. -- This program is free software: you can redistribute it and/or modify
  5. -- it under the terms of the GNU General Public License as published by
  6. -- the Free Software Foundation, either version 3 of the License, or
  7. -- (at your option) any later version.
  8. --
  9. -- This program is distributed in the hope that it will be useful,
  10. -- but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. -- GNU General Public License for more details.
  13. --
  14. -- You should have received a copy of the GNU General Public License
  15. -- along with this program. If not, see <http://www.gnu.org/licenses/>.
  16. --}
  17. {-# OPTIONS --safe --without-K #-}
  18. module Util where
  19. open import Data.Bool
  20. open import Function
  21. infixl 10 _⟫_
  22. _⟫_ : ∀ {ℓ} {A B C : Set ℓ} (F : A → B) (G : B → C) → (A → C)
  23. _⟫_ = flip _∘′_
  24. when′ : ∀ {ℓ} {A : Set ℓ} (cond : Bool) → (A → A) → (A → A)
  25. when′ false _ = id
  26. when′ true f = f