Alternative,的扩展Applicative,声明empty,<|>这两个功能:
一个或多个:
Run Code Online (Sandbox Code Playgroud)some :: f a -> f [a]零或更多:
Run Code Online (Sandbox Code Playgroud)many :: f a -> f [a]如果定义,
some并且many应该是方程的最小解:Run Code Online (Sandbox Code Playgroud)some v = (:) <$> v <*> many v many v = some v <|> pure []
我找不到一个实例some和many定义的实例.它们的含义和实际用途是什么?他们一直在使用吗?我只是从这个定义中无法理解他们的目的.
更新:我不是在问什么是什么Alternative,只是什么some和many