Fork channel

Create a new channel as a copy of main.

Rename channel

Rename main to:

Delete channel

Delete main? This cannot be undone.

Fold.idr
module Control.Fold

import Data.Vect
import Data.Nat

dfoldl : {b : Nat -> Type} -> ((0 m : Nat) -> b m -> a -> b (S m)) -> b m -> Vect n a -> b (n + m)
dfoldl f z [] = z
dfoldl {n=S n} f z (x::xs) = rewrite plusSuccRightSucc n m in dfoldl f (f m z x) xs