← Back

Modules

Leios

  • Abstract
  • Base
  • Blocks
  • Config
  • Defaults
  • FFD
  • Foreign.BaseTypes
  • Foreign.HsTypes
  • Foreign.Types
  • Foreign.Util
  • KeyRegistration
  • Network
  • Prelude
  • Protocol
  • Short
  • Short.Decidable
  • Short.Trace.Verifier
  • Short.Trace.Verifier.Test
  • Simplified
  • Simplified.Deterministic
  • SpecStructure
  • Traces
  • Voting
  • VRF
12345678910111213141516171819202122
{-# OPTIONS --without-K #-}
module Class.Traversable.Instances where
 
open import Class.Prelude
open import Class.Functor
open import Class.Monad
open import Class.Traversable.Core
 
instance
Traversable-Maybe : Traversable Maybe
Traversable-Maybe .sequence = λ where
nothing → return nothing
(just x) → x >>= return ∘ just
 
Traversable-List : Traversable List
Traversable-List .sequence = go
where go = λ where
[] → return []
(m ∷ ms) → do x ← m; xs ← go ms; return (x ∷ xs)
 
Traversable-List⁺ : Traversable List⁺
Traversable-List⁺ .sequence (m ∷ ms) = do x ← m; xs ← sequence ms; return (x ∷ xs)