Hi Jocob
I would recommend you to go through the LYH ( http://learnyouahaskell.com/making-our-own-types-and-typeclasses ) .
data Either a b = Left a | Right b deriving (EqOrdReadShow

Lets say you have a division function and you want to avoid division by zero so this simple function
simpleDiv :: Int -> Int -> Int
simpleDiv m n = div m n

will through error and stop executing rest of you code ( See more on error handling ) so you can write your function which can handle this
 
division :: Int -> Int -> Either String Int
division m n
   | n == 0 = Left "Division by zero"
   | otherwise = Right  $ div m n

You can extend this solution as you wish and lets say you want both , some times integer division and some times floating point division based on flag. You set you flag true for floating division and false for integer division.

data Either' a b c = Left a | Mid b | Right c  deriving ( Show , Eq )

tempFunction :: Int -> Int -> Bool -> EIther' String Double Int
tempFunction m n f
   | n == 0 = Left "Division by zero"
   | f = Mid $ m / n  
   | otherwise = Right $ div m n

    
I haven't tested this code but the idea is if you want to return different  results then you use this. Also see Use of Either ( http://book.realworldhaskell.org/read/error-handling.html  ). Hopefully I have explained it correctly.

--Mukesh

On Thu, Feb 7, 2013 at 8:07 AM, Jacob Thomas <jthomas7@ucsc.edu> wrote:

Hello 

I'm new to Haskell, and need help with figuring out the Either type...
Any example to show how this works?

Jacob


_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe