以下表达的意图有何不同?我很惊讶他们实际上在下面的示例中键入检查并产生不同的结果。
(./) ::
Plated a =>
Traversal s t a a -> Traversal a a u v -> Traversal s t u v
-- Defined in âText.XML.Lensâ
infixr 9 ./
和
(.) :: (b -> c) -> (a -> b) -> a -> c -- Defined in âGHC.Baseâ
infixr 9 .
以及它们如何使用典型的 pom.xml 文件:
*Main> x ^.. root ./ ell "version" . text
["1.0-SNAPSHOT"]
*Main> x ^.. root ./ ell "version" ./ text
[]
在哪里
text ::
Control.Applicative.Applicative f =>
(Data.Text.Internal.Text -> f Data.Text.Internal.Text)
-> Element -> f Element
-- Defined in âText.XML.Lensâ
和
data Element
= Element {elementName :: Name,
elementAttributes :: containers-0.5.5.1:Data.Map.Base.Map
Name Data.Text.Internal.Text,
elementNodes :: [Node]}
-- Defined in âText.XMLâ
instance Plated Element -- Defined in âText.XML.Lensâ