Haskell中的这些方括号是什么?

Zna*_*atz 6 monads haskell ghc

我在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
    |]
Run Code Online (Sandbox Code Playgroud)

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

它是某种语法糖吗?

sha*_*haf 8

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