
On Fri, Feb 22, 2013 at 06:35:19PM +0100, Heinrich Ody wrote:
Hi,
I have a function Delta and two sets S and A. Delta maps some elements from (S x A) to S. How can I extend Delta to some Delta' such that it assigns to every pair in (S x A) that Delta is not defined for a value not occuring in S?
If your function delta is partial, then you should model this in Haskell by having it return a Maybe, i.e. delta :: S -> Maybe A Then you can define delta' like this: delta' s a = case delta s a of Nothing -> n Just x -> x If your function delta really is partial in Haskell (i.e. it sometimes crashes or returns 'undefined') then you cannot implement delta', because there is no way to check whether a function returns undefined. It is not a good idea to have partial functions in Haskell anyway. -Brent