7

我在Indexed Monad中阅读了以下代码

{-# LANGUAGE QuasiQuotes #-}
import Control.Monad.Indexed.State
import Control.Monad.Indexed
import Language.Haskell.IndexedDo

hoge :: IxState Int [Int] ()
hoge = [ido|do
    imodify (*10)
    imodify show
    imodify reverse
    imodify (++"123")
    imodify $ map fromEnum
    |]

这些符号的语法是什么[|....|]

它是某种语法糖吗?

4

1 回答 1

8

这是准引用语法。另请参阅wiki 页面[ido|和之间的文本|]逐字传递给 quasiquoter ido,它使用它在编译时生成一些 Haskell 代码。

于 2013-05-05T07:07:02.940 回答