Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 29th, 2012  |  syntax: None  |  size: 0.42 KB  |  hits: 13  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. data ConsnoC a = Nil
  2.                | Cons a (ConsnoC a)
  3.                | Snoc (ConsnoC a) a
  4.  
  5. foldlC :: (a -> b -> a) -> a -> ConsnoC b -> a
  6. foldlC f u Nil         = u
  7. foldlC f u (Cons x xs) = foldlC f (f u x) xs
  8. foldlC f u (Snoc xs x) = f (foldlC f u xs) x
  9.  
  10. foldrC :: (a -> b -> b) -> b -> ConsnoC a -> b
  11. foldrC f u xs = go xs u
  12.   where
  13.     go Nil         = id
  14.     go (Cons x xs) = f x . go xs
  15.     go (Snoc xs x) = go xs . f x