假设我有两个函数f :: [a] -> b和g :: [a] -> c.我有以下两个问题:
如果我执行(f &&& g) xs,其中xs :: [a],如果都f和g涉及循环,有可能是编译器这两个循环优化成一个?(请注意,我不是在问一些特定的Haskell编译器是否实现了这一点.我想知道这样的事情是否可行.)
类型类中的traverse函数可以Traverse帮助我进行这样的优化,包括以下几行:
traverse (someCombinator f g) xs
Run Code Online (Sandbox Code Playgroud)