Source code for curry.utility.fmap
from . import visitation
import collections.abc
@visitation.dispatch.on('arg')
def fmap(f, arg):
return f(arg)
@fmap.when(collections.abc.Sequence, no=(str,))
def fmap(f, arg):
return type(arg)(fmap(f, x) for x in arg)
[docs]
@fmap.when(collections.abc.Mapping)
def fmap(f, arg):
return type(arg)((fmap(f, k), fmap(f, v)) for k,v in arg.items())