查看Haskell Servant 包,有一个将 Web 服务 API 定义为的初始示例:
-- GET /date
type MyAPI = "date" :> Get '[JSON] Date
-- GET /time/:tz
:<|> "time" :> Capture "tz" Timezone :> Get '[JSON] Time
我无法理解这意味着什么,希望能得到以下解释:
:>
并且:<|>
是中缀构造函数。这种类型声明是否意味着它们是在这里定义的还是在这里使用的?或者也许:>
在这里定义但:<|>
在其他地方定义?或者是其他东西?不知道如何阅读这种类型。是什么
'[JSON]
?这是某种类型级别的文字列表吗?报价单有什么作用?