[Haskell-cafe] Laziness and Either
John Goerzen
jgoerzen at complete.org
Mon Apr 21 16:42:39 EDT 2008
On Mon April 21 2008 3:26:04 pm Magnus Therning wrote:
> In order to allow lazy decoding I ended up exporting decode' as well:
>
> decode' :: String -> [Maybe Word8]
I take it that in a situation like this, you'd have either:
[] -- success with empty result
a list full of Just x
-- success with valid results
a list with 0 or more Just x, followed by one Nothing
-- an error
Makes sense to me. What impact does this have on performance?
Also, I wonder if there is some call for tools in Data.Either to support this
type of usage? For example:
type EitherList a b = [Either a b]
then some functions such as, say, mapEither or foldEither that act like
try/catch: a special function to use for an exception, and otherwise
they "unwrap" the Right side passing it along to others.
-- John
More information about the Haskell-Cafe
mailing list