File: prelude1.hs

package info (click to toggle)
haskell-ormolu 0.1.2.0-1
  • links: PTS
  • area: main
  • in suites: bullseye
  • size: 3,392 kB
  • sloc: haskell: 11,134; makefile: 7
file content (17 lines) | stat: -rw-r--r-- 531 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{-# RULES
"map/map"    forall f g xs.  map f (map g xs) = map (f.g) xs
"map/append" forall f xs ys. map f (xs ++ ys) = map f xs ++ map f ys
  #-}

{-# RULES
"map"       [~1] forall f xs.   map f xs                = build (\c n -> foldr (mapFB c f) n xs)
"mapList"   [1]  forall f.      foldr (mapFB (:) f) []  = map f
"mapFB"     forall c f g.       mapFB (mapFB c f) g     = mapFB c (f.g)
  #-}

{-# RULES
  "map/map" [~2]  forall f g xs.
    map f (map g xs) = map (f.g) xs; "f" op True y = False;
    "g" op True y = False
#-}