------------------------------------------------------------------------
-- INCREMENTAL λ-CALCULUS
--
-- Reexport Data.List.All from the standard library.
--
-- At one point, we reinvented Data.List.All from the Agda
-- standard library, under the name dependent list. We later
-- replaced our reinvention by this adapter module that just
-- exports the standard library's version with partly different
-- names.
------------------------------------------------------------------------

module Base.Data.DependentList where

open import Data.List.All public
  using
    ( head
    ; tail
    ; map
    ; tabulate
    )
  renaming
    ( All to DependentList
    ; _∷_ to _•_
    ; [] to)

-- Maps a binary function over two dependent lists.
-- Should this be in the Agda standard library?
zipWith :  {a p q r} {A : Set a} {P : A  Set p} {Q : A  Set q} {R : A  Set r} 
  (f : {a : A}  P a  Q a  R a) 
   {xs}  DependentList P xs  DependentList Q xs  DependentList R xs
zipWith f   = 
zipWith f (p  ps) (q  qs) = f p q  zipWith f ps qs