monad-memo-0.4.1: Memoization monad transformer

Copyright(c) Eduard Sergeev 2013
LicenseBSD-style (see the file LICENSE)
Maintainereduard.sergeev@gmail.com
Stabilityexperimental
Portabilitynon-portable (multi-param classes, functional dependencies)
Safe HaskellSafe
LanguageHaskell98

Data.MaybeLike

Description

Defines MaybeLike typeclass - a generic way to look at some types as if they were Maybe

It is currently used to add maybe-ness to unboxed primitive types in cases when it isn't possuble to just use `Maybe a` (e.g. unboxed arrays)

Synopsis

Documentation

class MaybeLike a v | a -> v where #

An abstract interface to a type which may not have a value

Minimal complete definition

nothing, isNothing, just, fromJust

Methods

nothing :: a #

isNothing :: a -> Bool #

just :: v -> a #

fromJust :: a -> v #

Instances
MaybeLike Char Char # 
Instance details

Defined in Data.MaybeLike.Instances

MaybeLike Double Double # 
Instance details

Defined in Data.MaybeLike.Instances

MaybeLike Float Float # 
Instance details

Defined in Data.MaybeLike.Instances

MaybeLike Int Int # 
Instance details

Defined in Data.MaybeLike.Instances

Methods

nothing :: Int #

isNothing :: Int -> Bool #

just :: Int -> Int #

fromJust :: Int -> Int #

MaybeLike Int8 Int8 # 
Instance details

Defined in Data.MaybeLike.Instances

MaybeLike Int16 Int16 # 
Instance details

Defined in Data.MaybeLike.Instances

MaybeLike Int32 Int32 # 
Instance details

Defined in Data.MaybeLike.Instances

MaybeLike Int64 Int64 # 
Instance details

Defined in Data.MaybeLike.Instances

MaybeLike Word Word # 
Instance details

Defined in Data.MaybeLike.Instances

MaybeLike Word8 Word8 # 
Instance details

Defined in Data.MaybeLike.Instances

MaybeLike Word16 Word16 # 
Instance details

Defined in Data.MaybeLike.Instances

MaybeLike Word32 Word32 # 
Instance details

Defined in Data.MaybeLike.Instances

MaybeLike Word64 Word64 # 
Instance details

Defined in Data.MaybeLike.Instances

MaybeLike (Maybe a) a # 
Instance details

Defined in Data.MaybeLike.Instances

Methods

nothing :: Maybe a #

isNothing :: Maybe a -> Bool #

just :: a -> Maybe a #

fromJust :: Maybe a -> a #