相关疑难解决方法(0)

仅使用foldr定义zip时无限类型错误; 可以修复吗?

(对于上下文,请参阅最近的SO条目).

我试图想出的定义zip使用foldr唯一的:

zipp :: [a] -> [b] -> [(a,b)]
zipp xs ys = zip1 xs (zip2 ys)
  where
     -- zip1 :: [a] -> tq -> [(a,b)]          -- zip1 xs :: tr ~ tq -> [(a,b)]
     zip1 xs q = foldr (\ x r q -> q x r ) n xs q 
                       -------- c --------
     n    q  = []

     -- zip2 :: [b] -> a -> tr -> [(a,b)]     -- zip2 ys :: tq …
Run Code Online (Sandbox Code Playgroud)

haskell types fold

7
推荐指数
2
解决办法
573
查看次数

标签 统计

fold ×1

haskell ×1

types ×1