Skip to content

Instantly share code, notes, and snippets.

@wz1000
Created June 2, 2018 11:11
Show Gist options
  • Save wz1000/f7879f1004c6b9a4bf9e1d52c4ed330b to your computer and use it in GitHub Desktop.
Save wz1000/f7879f1004c6b9a4bf9e1d52c4ed330b to your computer and use it in GitHub Desktop.
class C a where
f :: a -> Int
f = const 3
main :: IO ()
main = print $ fib 41 where
fib :: Int -> Int
fib 0 = 0
fib 1 = 1
fib n = fib (n-1) + fib (n-2)
Node SrcSpanPoint "" 1 1 NodeInfo {nodeAnnotations = [], nodeType = Nothing}
Node SrcSpanMultiLine 1 1 3 14 NodeInfo {nodeAnnotations = [("ClassDecl","TyClDecl")], nodeType = Nothing}
HieToken {htkSpan = SrcSpanOneLine 1 1 6, htkInfo = Just TkKeyword, htkDetails = Nothing}
HieToken {htkSpan = SrcSpanOneLine 1 7 8, htkInfo = Just TkIdentifier, htkDetails = Just (RtkVar $main$Main$C)}
Node SrcSpanOneLine 1 9 10 NodeInfo {nodeAnnotations = [("UserTyVar","HsTyVarBndr")], nodeType = Nothing}
HieToken {htkSpan = SrcSpanOneLine 1 9 10, htkInfo = Just TkIdentifier, htkDetails = Just (RtkBind $_in$a)}
HieToken {htkSpan = SrcSpanOneLine 1 11 16, htkInfo = Just TkKeyword, htkDetails = Nothing}
Node SrcSpanOneLine 2 3 16 NodeInfo {nodeAnnotations = [("ClassOpSig","Sig")], nodeType = Nothing}
HieToken {htkSpan = SrcSpanOneLine 2 3 4, htkInfo = Just TkIdentifier, htkDetails = Just (RtkVar $main$Main$f)}
HieToken {htkSpan = SrcSpanOneLine 2 5 7, htkInfo = Just TkGlyph, htkDetails = Nothing}
Node SrcSpanOneLine 2 8 16 NodeInfo {nodeAnnotations = [("HsFunTy","HsType")], nodeType = Nothing}
Node SrcSpanOneLine 2 8 9 NodeInfo {nodeAnnotations = [("HsTyVar","HsType")], nodeType = Nothing}
HieToken {htkSpan = SrcSpanOneLine 2 8 9, htkInfo = Just TkIdentifier, htkDetails = Just (RtkVar $_in$a)}
HieToken {htkSpan = SrcSpanOneLine 2 10 12, htkInfo = Just TkGlyph, htkDetails = Nothing}
Node SrcSpanOneLine 2 13 16 NodeInfo {nodeAnnotations = [("HsTyVar","HsType")], nodeType = Nothing}
HieToken {htkSpan = SrcSpanOneLine 2 13 16, htkInfo = Just TkIdentifier, htkDetails = Just (RtkVar $ghc-prim$GHC.Types$Int)}
Node SrcSpanOneLine 3 3 14 NodeInfo {nodeAnnotations = [("AbsBinds","HsBindLR"),("AbsBinds","HsBindLR"),("FunBind","HsBindLR"),("Match","Match"),("FunBind","HsBindLR"),("Match","Match")], nodeType = Just a -> Int}
HieToken {htkSpan = SrcSpanOneLine 3 3 4, htkInfo = Just TkIdentifier, htkDetails = Just (RtkVar $main$Main$f)}
Node SrcSpanOneLine 3 5 14 NodeInfo {nodeAnnotations = [("GRHS","GRHS"),("GRHS","GRHS")], nodeType = Nothing}
HieToken {htkSpan = SrcSpanOneLine 3 5 6, htkInfo = Just TkGlyph, htkDetails = Nothing}
Node SrcSpanOneLine 3 7 14 NodeInfo {nodeAnnotations = [("HsApp","HsExpr"),("HsApp","HsExpr")], nodeType = Just a -> Int}
Node SrcSpanOneLine 3 7 12 NodeInfo {nodeAnnotations = [("HsWrap","HsExpr"),("HsVar","HsExpr")], nodeType = Just Int -> a -> Int}
HieToken {htkSpan = SrcSpanOneLine 3 7 12, htkInfo = Just TkIdentifier, htkDetails = Just (RtkVar $base$GHC.Base$const)}
Node SrcSpanOneLine 3 13 14 NodeInfo {nodeAnnotations = [("HsOverLit","HsExpr"),("HsOverLit","HsExpr")], nodeType = Just Int}
HieToken {htkSpan = SrcSpanOneLine 3 13 14, htkInfo = Just TkNumber, htkDetails = Nothing}
Node SrcSpanOneLine 5 1 14 NodeInfo {nodeAnnotations = [("TypeSig","Sig")], nodeType = Nothing}
HieToken {htkSpan = SrcSpanOneLine 5 1 5, htkInfo = Just TkIdentifier, htkDetails = Just (RtkVar $main$Main$main)}
HieToken {htkSpan = SrcSpanOneLine 5 6 8, htkInfo = Just TkGlyph, htkDetails = Nothing}
Node SrcSpanOneLine 5 9 14 NodeInfo {nodeAnnotations = [("HsAppTy","HsType")], nodeType = Nothing}
Node SrcSpanOneLine 5 9 11 NodeInfo {nodeAnnotations = [("HsTyVar","HsType")], nodeType = Nothing}
HieToken {htkSpan = SrcSpanOneLine 5 9 11, htkInfo = Just TkIdentifier, htkDetails = Just (RtkVar $ghc-prim$GHC.Types$IO)}
Node SrcSpanOneLine 5 12 14 NodeInfo {nodeAnnotations = [("HsTupleTy","HsType")], nodeType = Nothing}
HieToken {htkSpan = SrcSpanOneLine 5 12 13, htkInfo = Just TkSpecial, htkDetails = Nothing}
HieToken {htkSpan = SrcSpanOneLine 5 13 14, htkInfo = Just TkSpecial, htkDetails = Nothing}
Node SrcSpanMultiLine 6 1 10 33 NodeInfo {nodeAnnotations = [("AbsBinds","HsBindLR"),("FunBind","HsBindLR"),("Match","Match"),("FunBind","HsBindLR"),("Match","Match")], nodeType = Just IO ()}
HieToken {htkSpan = SrcSpanOneLine 6 1 5, htkInfo = Just TkIdentifier, htkDetails = Just (RtkDecl $main$Main$main)}
Node SrcSpanMultiLine 6 6 10 33 NodeInfo {nodeAnnotations = [("GRHS","GRHS"),("GRHS","GRHS")], nodeType = Nothing}
HieToken {htkSpan = SrcSpanOneLine 6 6 7, htkInfo = Just TkGlyph, htkDetails = Nothing}
Node SrcSpanOneLine 6 8 22 NodeInfo {nodeAnnotations = [("OpApp","HsExpr"),("OpApp","HsExpr")], nodeType = Just IO ()}
Node SrcSpanOneLine 6 8 13 NodeInfo {nodeAnnotations = [("HsWrap","HsExpr"),("HsVar","HsExpr")], nodeType = Just Int -> IO ()}
HieToken {htkSpan = SrcSpanOneLine 6 8 13, htkInfo = Just TkIdentifier, htkDetails = Just (RtkVar $base$System.IO$print)}
Node SrcSpanOneLine 6 14 15 NodeInfo {nodeAnnotations = [("HsWrap","HsExpr"),("HsVar","HsExpr")], nodeType = Just (Int -> IO ()) -> Int -> IO ()}
HieToken {htkSpan = SrcSpanOneLine 6 14 15, htkInfo = Just TkOperator, htkDetails = Just (RtkVar $base$GHC.Base$$)}
Node SrcSpanOneLine 6 16 22 NodeInfo {nodeAnnotations = [("HsApp","HsExpr"),("HsApp","HsExpr")], nodeType = Just Int}
Node SrcSpanOneLine 6 16 19 NodeInfo {nodeAnnotations = [("HsVar","HsExpr"),("HsVar","HsExpr")], nodeType = Just Int -> Int}
HieToken {htkSpan = SrcSpanOneLine 6 16 19, htkInfo = Just TkIdentifier, htkDetails = Just (RtkVar $_in$fib)}
Node SrcSpanOneLine 6 20 22 NodeInfo {nodeAnnotations = [("HsOverLit","HsExpr"),("HsOverLit","HsExpr")], nodeType = Just Int}
HieToken {htkSpan = SrcSpanOneLine 6 20 22, htkInfo = Just TkNumber, htkDetails = Nothing}
HieToken {htkSpan = SrcSpanOneLine 6 23 28, htkInfo = Just TkKeyword, htkDetails = Nothing}
Node SrcSpanMultiLine 7 3 10 33 NodeInfo {nodeAnnotations = [("HsValBinds","HsLocalBindsLR"),("HsValBinds","HsLocalBindsLR")], nodeType = Nothing}
Node SrcSpanOneLine 7 3 20 NodeInfo {nodeAnnotations = [("TypeSig","Sig"),("TypeSig","Sig")], nodeType = Nothing}
HieToken {htkSpan = SrcSpanOneLine 7 3 6, htkInfo = Just TkIdentifier, htkDetails = Just (RtkVar $_in$fib)}
HieToken {htkSpan = SrcSpanOneLine 7 7 9, htkInfo = Just TkGlyph, htkDetails = Nothing}
Node SrcSpanOneLine 7 10 20 NodeInfo {nodeAnnotations = [("HsFunTy","HsType"),("HsFunTy","HsType")], nodeType = Nothing}
Node SrcSpanOneLine 7 10 13 NodeInfo {nodeAnnotations = [("HsTyVar","HsType"),("HsTyVar","HsType")], nodeType = Nothing}
HieToken {htkSpan = SrcSpanOneLine 7 10 13, htkInfo = Just TkIdentifier, htkDetails = Just (RtkVar $ghc-prim$GHC.Types$Int)}
HieToken {htkSpan = SrcSpanOneLine 7 14 16, htkInfo = Just TkGlyph, htkDetails = Nothing}
Node SrcSpanOneLine 7 17 20 NodeInfo {nodeAnnotations = [("HsTyVar","HsType"),("HsTyVar","HsType")], nodeType = Nothing}
HieToken {htkSpan = SrcSpanOneLine 7 17 20, htkInfo = Just TkIdentifier, htkDetails = Just (RtkVar $ghc-prim$GHC.Types$Int)}
Node SrcSpanMultiLine 8 3 10 33 NodeInfo {nodeAnnotations = [("FunBind","HsBindLR"),("AbsBinds","HsBindLR"),("FunBind","HsBindLR")], nodeType = Just Int -> Int}
Node SrcSpanOneLine 8 3 12 NodeInfo {nodeAnnotations = [("Match","Match"),("Match","Match")], nodeType = Nothing}
HieToken {htkSpan = SrcSpanOneLine 8 3 6, htkInfo = Just TkIdentifier, htkDetails = Just (RtkBind $_in$fib)}
Node SrcSpanOneLine 8 7 8 NodeInfo {nodeAnnotations = [("NPat","Pat"),("NPat","Pat")], nodeType = Just Int}
HieToken {htkSpan = SrcSpanOneLine 8 7 8, htkInfo = Just TkNumber, htkDetails = Nothing}
Node SrcSpanOneLine 8 9 12 NodeInfo {nodeAnnotations = [("GRHS","GRHS"),("GRHS","GRHS")], nodeType = Nothing}
HieToken {htkSpan = SrcSpanOneLine 8 9 10, htkInfo = Just TkGlyph, htkDetails = Nothing}
Node SrcSpanOneLine 8 11 12 NodeInfo {nodeAnnotations = [("HsOverLit","HsExpr"),("HsOverLit","HsExpr")], nodeType = Just Int}
HieToken {htkSpan = SrcSpanOneLine 8 11 12, htkInfo = Just TkNumber, htkDetails = Nothing}
Node SrcSpanOneLine 9 3 12 NodeInfo {nodeAnnotations = [("Match","Match"),("Match","Match")], nodeType = Nothing}
HieToken {htkSpan = SrcSpanOneLine 9 3 6, htkInfo = Just TkIdentifier, htkDetails = Nothing}
Node SrcSpanOneLine 9 7 8 NodeInfo {nodeAnnotations = [("NPat","Pat"),("NPat","Pat")], nodeType = Just Int}
HieToken {htkSpan = SrcSpanOneLine 9 7 8, htkInfo = Just TkNumber, htkDetails = Nothing}
Node SrcSpanOneLine 9 9 12 NodeInfo {nodeAnnotations = [("GRHS","GRHS"),("GRHS","GRHS")], nodeType = Nothing}
HieToken {htkSpan = SrcSpanOneLine 9 9 10, htkInfo = Just TkGlyph, htkDetails = Nothing}
Node SrcSpanOneLine 9 11 12 NodeInfo {nodeAnnotations = [("HsOverLit","HsExpr"),("HsOverLit","HsExpr")], nodeType = Just Int}
HieToken {htkSpan = SrcSpanOneLine 9 11 12, htkInfo = Just TkNumber, htkDetails = Nothing}
Node SrcSpanOneLine 10 3 33 NodeInfo {nodeAnnotations = [("Match","Match"),("Match","Match")], nodeType = Nothing}
HieToken {htkSpan = SrcSpanOneLine 10 3 6, htkInfo = Just TkIdentifier, htkDetails = Nothing}
Node SrcSpanOneLine 10 7 8 NodeInfo {nodeAnnotations = [("VarPat","Pat"),("VarPat","Pat")], nodeType = Just Int}
HieToken {htkSpan = SrcSpanOneLine 10 7 8, htkInfo = Just TkIdentifier, htkDetails = Just (RtkBind $_in$n)}
Node SrcSpanOneLine 10 9 33 NodeInfo {nodeAnnotations = [("GRHS","GRHS"),("GRHS","GRHS")], nodeType = Nothing}
HieToken {htkSpan = SrcSpanOneLine 10 9 10, htkInfo = Just TkGlyph, htkDetails = Nothing}
Node SrcSpanOneLine 10 11 33 NodeInfo {nodeAnnotations = [("OpApp","HsExpr"),("OpApp","HsExpr")], nodeType = Just Int}
Node SrcSpanOneLine 10 11 20 NodeInfo {nodeAnnotations = [("HsApp","HsExpr"),("HsApp","HsExpr")], nodeType = Just Int}
Node SrcSpanOneLine 10 11 14 NodeInfo {nodeAnnotations = [("HsVar","HsExpr"),("HsVar","HsExpr")], nodeType = Just Int -> Int}
HieToken {htkSpan = SrcSpanOneLine 10 11 14, htkInfo = Just TkIdentifier, htkDetails = Just (RtkVar $_in$fib)}
Node SrcSpanOneLine 10 15 20 NodeInfo {nodeAnnotations = [("HsPar","HsExpr"),("HsPar","HsExpr")], nodeType = Just Int}
HieToken {htkSpan = SrcSpanOneLine 10 15 16, htkInfo = Just TkSpecial, htkDetails = Nothing}
Node SrcSpanOneLine 10 16 19 NodeInfo {nodeAnnotations = [("OpApp","HsExpr"),("OpApp","HsExpr")], nodeType = Just Int}
Node SrcSpanOneLine 10 16 17 NodeInfo {nodeAnnotations = [("HsVar","HsExpr"),("HsVar","HsExpr")], nodeType = Just Int}
HieToken {htkSpan = SrcSpanOneLine 10 16 17, htkInfo = Just TkIdentifier, htkDetails = Just (RtkVar $_in$n)}
Node SrcSpanOneLine 10 17 18 NodeInfo {nodeAnnotations = [("HsWrap","HsExpr"),("HsVar","HsExpr")], nodeType = Just Int -> Int -> Int}
HieToken {htkSpan = SrcSpanOneLine 10 17 18, htkInfo = Just TkGlyph, htkDetails = Just (RtkVar $base$GHC.Num$-)}
Node SrcSpanOneLine 10 18 19 NodeInfo {nodeAnnotations = [("HsOverLit","HsExpr"),("HsOverLit","HsExpr")], nodeType = Just Int}
HieToken {htkSpan = SrcSpanOneLine 10 18 19, htkInfo = Just TkNumber, htkDetails = Nothing}
HieToken {htkSpan = SrcSpanOneLine 10 19 20, htkInfo = Just TkSpecial, htkDetails = Nothing}
Node SrcSpanOneLine 10 21 22 NodeInfo {nodeAnnotations = [("HsWrap","HsExpr"),("HsVar","HsExpr")], nodeType = Just Int -> Int -> Int}
HieToken {htkSpan = SrcSpanOneLine 10 21 22, htkInfo = Just TkOperator, htkDetails = Just (RtkVar $base$GHC.Num$+)}
Node SrcSpanOneLine 10 24 33 NodeInfo {nodeAnnotations = [("HsApp","HsExpr"),("HsApp","HsExpr")], nodeType = Just Int}
Node SrcSpanOneLine 10 24 27 NodeInfo {nodeAnnotations = [("HsVar","HsExpr"),("HsVar","HsExpr")], nodeType = Just Int -> Int}
HieToken {htkSpan = SrcSpanOneLine 10 24 27, htkInfo = Just TkIdentifier, htkDetails = Just (RtkVar $_in$fib)}
Node SrcSpanOneLine 10 28 33 NodeInfo {nodeAnnotations = [("HsPar","HsExpr"),("HsPar","HsExpr")], nodeType = Just Int}
HieToken {htkSpan = SrcSpanOneLine 10 28 29, htkInfo = Just TkSpecial, htkDetails = Nothing}
Node SrcSpanOneLine 10 29 32 NodeInfo {nodeAnnotations = [("OpApp","HsExpr"),("OpApp","HsExpr")], nodeType = Just Int}
Node SrcSpanOneLine 10 29 30 NodeInfo {nodeAnnotations = [("HsVar","HsExpr"),("HsVar","HsExpr")], nodeType = Just Int}
HieToken {htkSpan = SrcSpanOneLine 10 29 30, htkInfo = Just TkIdentifier, htkDetails = Just (RtkVar $_in$n)}
Node SrcSpanOneLine 10 30 31 NodeInfo {nodeAnnotations = [("HsVar","HsExpr"),("HsWrap","HsExpr")], nodeType = Just Int -> Int -> Int}
HieToken {htkSpan = SrcSpanOneLine 10 30 31, htkInfo = Just TkGlyph, htkDetails = Just (RtkVar $base$GHC.Num$-)}
Node SrcSpanOneLine 10 31 32 NodeInfo {nodeAnnotations = [("HsOverLit","HsExpr"),("HsOverLit","HsExpr")], nodeType = Just Int}
HieToken {htkSpan = SrcSpanOneLine 10 31 32, htkInfo = Just TkNumber, htkDetails = Nothing}
HieToken {htkSpan = SrcSpanOneLine 10 32 33, htkInfo = Just TkSpecial, htkDetails = Nothing}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment