use*_*010 3 haskell types inverse
它的倒数似乎有可能.因为我想象列表是产品并且->是取幂,
(a*a*a...)^r = (a^r)*(a^r)....
既然我们可以定义逆,[a->r] -> a -> [r]那么不应该定义它吗?
[a] ? a*a*...仅适用于无限列表.对于这些,您所请求的功能实际上非常简单,尽管天真的实现效率不高:
type InfiList = []
unwind :: (r -> InfiList a) -> InfiList(r -> a)
unwind f = [ \x -> f x !! n | n <- [0..] ]
Run Code Online (Sandbox Code Playgroud)
实际上,[a] ? 1 + a * (1 + a * (1 + ...)); 这里的幂律不起作用.