module Prelude where

open import Agda.Primitive          public using () renaming (Set to Type)

open import Data.Bool.Base          public using (Bool; true; false; if_then_else_)
open import Data.Char.Base          public using (Char; isSpace)
open import Data.Empty              public using ()
open import Data.Unit.Base          public using (; tt)
open import Data.List.Base          public using (List; []; _∷_; [_]; _++_; concat; reverse; head)
open import Data.List.NonEmpty.Base public using (List⁺; _∷_; _∷⁺_) hiding (module List⁺)
open import Data.Maybe.Base         public using (Maybe; nothing; just)
open import Data.Product.Base       public using (; _,_)
open import Data.String.Base        public using (String)
open import Data.Nat.Base           public using (; zero; suc) hiding (module )

open import Function                public using (id; _∘_; _$_; _|>_; case_of_; flip)

open import Relation.Binary.PropositionalEquality public using (_≡_; refl)
open import Relation.Nullary                      public using (Dec; yes; no)

module String where
  open Data.String.Base public using (_++_; concat; fromList; toList)
  open import Data.String public using (_≟_)

module List⁺ where
  open import Data.List.NonEmpty.Base public using (toList)

module All where
  open import Data.List.Relation.Unary.All public

module  where
  open import Data.Nat.GeneralisedArithmetic public using (fold)
  open import Data.Nat.Show public using (show)