------------------------------------------------------------------------ -- The Agda standard library -- -- Strictness combinators ------------------------------------------------------------------------ {-# OPTIONS --without-K --safe #-} module Strict where open import Level open import Agda.Builtin.Equality open import Agda.Builtin.Strict renaming ( primForce to force ; primForceLemma to force-≡) public -- Derived combinators module _ {ℓ ℓ′ : Level} {A : Set ℓ} {B : Set ℓ′} where force′ : A → (A → B) → B force′ = force force′-≡ : (a : A) (f : A → B) → force′ a f ≡ f a force′-≡ = force-≡ seq : A → B → B seq a b = force a (λ _ → b) seq-≡ : (a : A) (b : B) → seq a b ≡ b seq-≡ a b = force-≡ a (λ _ → b)