{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE PatternSynonyms #-} module Dhall.JSON.Util ( pattern V , pattern FA ) where import Data.Text (Text) import Dhall.Core (Expr, FieldSelection) import qualified Dhall.Core as Core pattern V :: Int -> Expr s a pattern $mV :: forall {r} {s} {a}. Expr s a -> (Int -> r) -> ((# #) -> r) -> r $bV :: forall s a. Int -> Expr s a V n = Core.Var (Core.V "_" n) pattern FA :: Text -> FieldSelection s pattern $mFA :: forall {r} {s}. FieldSelection s -> (Text -> r) -> ((# #) -> r) -> r $bFA :: forall s. Text -> FieldSelection s FA t <- Core.FieldSelection _ t _ where FA = Text -> FieldSelection s forall s. Text -> FieldSelection s Core.makeFieldSelection