Safe Haskell | Safe |
---|---|

Language | Haskell2010 |

- class Boolish b where
- module Prelude
- module Control.Monad
- module Data.Foldable
- liftf1 :: (b -> b) -> (a -> b) -> a -> b
- liftf2 :: (b -> b -> b) -> (a -> b) -> (a -> b) -> a -> b
- class Enumerable e where

# Documentation

class Boolish b where Source #

Boolish things are things which you can do boolean operations on.

module Prelude

module Control.Monad

module Data.Foldable

liftf1 :: (b -> b) -> (a -> b) -> a -> b Source #

I really don't quite now how to describe this in words yet.

liftf2 :: (b -> b -> b) -> (a -> b) -> (a -> b) -> a -> b Source #

Same as liftf1... Seems like a pretty general thing for inductive definitions.

class Enumerable e where Source #

A class which supplies you with a (possibly infinite) enumeration of all of the types which instantiate it.

enumeration :: [e] Source #

(Bounded e, Enum e) => Enumerable e Source # | Bounded e, Enum e gives us a natural way to enumerate e, where enumeration = [minBound..maxBound] |

# Orphan instances

Floating f => Floating (a -> f) Source # | Finally, I've lifted the Floating interface. |

Fractional f => Fractional (a -> f) Source # | The same applies for Fractional things as Boolish and Num. |

Num n => Num (a -> n) Source # | The same thing that is done to Boolish things, this lifting | of abstractions, can be done for Num instances. |