我在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
|]这些符号[|....|]的语法是什么?
它是一种语法糖吗?
发布于 2013-05-05 15:07:03
这是quasiquotation语法。另请参阅wiki page。[ido|和|]之间的文本被逐字传递给准引用器ido,后者在编译时使用它来生成一些Haskell代码。
https://stackoverflow.com/questions/16382191
复制相似问题