> applySkip i f ls = (take i) ls ++ f (drop i ls)
> 
> But the following doesn't:
> 
> applySkip i f ls = (take i) ls ++ f $ drop i ls

The issue is with operator precedence. The above is equivalent to:

> applySkip i f ls = ((take i) ls ++ f) (drop i ls)

(++) binds more strongly than ($).

_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to