File: Splice.hs-boot

package info (click to toggle)
cloc 2.08-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 8,304 kB
  • sloc: perl: 30,693; cpp: 1,219; python: 623; ansic: 334; asm: 267; makefile: 244; sh: 186; sql: 144; java: 136; ruby: 111; cs: 104; xml: 61; pascal: 52; lisp: 50; cobol: 35; haskell: 35; f90: 35; objc: 25; php: 22; javascript: 15; fortran: 9; ml: 8; tcl: 2
file content (52 lines) | stat: -rw-r--r-- 1,738 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
-- https://gitlab.haskell.org/ghc/ghc.git
-- ghc/compiler/GHC/Tc/Gen/Splice.hs-boot

{-# LANGUAGE TypeFamilies #-}

module GHC.Tc.Gen.Splice where

import GHC.Prelude
import GHC.Types.Name
import GHC.Hs.Expr ( PendingRnSplice, DelayedSplice )
import GHC.Tc.Types( TcM , SpliceType )
import GHC.Tc.Utils.TcType   ( ExpRhoType )
import GHC.Types.Annotations ( Annotation, CoreAnnTarget )
import GHC.Hs.Extension ( GhcRn, GhcPs, GhcTc )

import GHC.Hs ( HsQuote, HsExpr, LHsExpr, LHsType, LPat, LHsDecl, ThModFinalizers, HsUntypedSpliceResult, HsTypedSpliceResult, HsTypedSplice )
import qualified GHC.Boot.TH.Syntax as TH
import qualified GHC.Boot.TH.Monad as TH

tcTypedSplice :: HsTypedSpliceResult
              -> HsTypedSplice GhcRn
              -> ExpRhoType
              -> TcM (HsExpr GhcTc)

tcTypedBracket :: HsExpr GhcRn
               -> LHsExpr GhcRn
               -> ExpRhoType
               -> TcM (HsExpr GhcTc)
tcUntypedBracket :: HsExpr GhcRn
                 -> HsQuote GhcRn
                 -> [PendingRnSplice]
                 -> ExpRhoType

                 -> TcM (HsExpr GhcTc)


runTopSplice :: DelayedSplice -> TcM (HsExpr GhcTc)

runAnnotation        :: CoreAnnTarget -> LHsExpr GhcRn -> TcM Annotation
getUntypedSpliceBody :: HsUntypedSpliceResult (HsExpr GhcRn) -> TcM (HsExpr GhcRn)

tcTopSpliceExpr :: SpliceType -> TcM (LHsExpr GhcTc) -> TcM (LHsExpr GhcTc)

runMetaE :: LHsExpr GhcTc -> TcM (LHsExpr GhcPs)
runMetaP :: LHsExpr GhcTc -> TcM (LPat GhcPs)
runMetaT :: LHsExpr GhcTc -> TcM (LHsType GhcPs)
runMetaD :: LHsExpr GhcTc -> TcM [LHsDecl GhcPs]

lookupThName_maybe :: TH.Name -> TcM (Maybe Name)
runQuasi :: TH.Q a -> TcM a
runRemoteModFinalizers :: ThModFinalizers -> TcM ()
finishTH :: TcM ()