Last active
May 20, 2018 06:36
-
-
Save wz1000/84edd9fded9c91a6822f6696d96968e7 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 {nodeInfo = ["Module"], nodeSpan = SrcSpanPoint "" 1 1, nodeChildren = | |
[Leaf (HieToken {htkInfo = TkIdentifier, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 1 1 5, htkDetails = Nothing, htkType = Nothing}) | |
,Leaf (HieToken {htkInfo = TkSpace, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 1 5 6 , htkDetails = Nothing, htkType = Nothing}) | |
,Leaf (HieToken {htkInfo = TkGlyph, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 1 6 8, htkDetails = Nothing, htkType = Nothing}) | |
,Leaf (HieToken {htkInfo = TkSpace, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 1 8 9, htkDetails = Nothing, htkType = Nothing}) | |
,Leaf (HieToken {htkInfo = TkIdentifier, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 1 9 11, htkDetails = Nothing, htkType = Nothing}) | |
,Leaf (HieToken {htkInfo = TkSpace, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 1 11 12, htkDetails = Nothing, htkType = Nothing}) | |
,Leaf (HieToken {htkInfo = TkSpecial, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 1 12 13, htkDetails = Nothing, htkType = Nothing}) | |
,Leaf (HieToken {htkInfo = TkSpecial, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 1 13 14, htkDetails = Nothing, htkType = Nothing}) | |
,Leaf (HieToken {htkInfo = TkSpace, htkSpan = SrcSpanMultiLine "/home/zubin/Documents/Haskell/Fib.hs" 1 14 2 1, htkDetails = Nothing, htkType = Nothing}) | |
,Node {nodeInfo = ["FunBind","HsBindLR"], nodeSpan = SrcSpanMultiLine "/home/zubin/Documents/Haskell/Fib.hs" 2 1 6 33, nodeChildren = | |
[Node {nodeInfo = ["Alts","MatchGroup"], nodeSpan = SrcSpanMultiLine "/home/zubin/Documents/Haskell/Fib.hs" 2 1 6 33, nodeChildren = | |
[Node {nodeInfo = ["Match","Match"], nodeSpan = SrcSpanMultiLine "/home/zubin/Documents/Haskell/Fib.hs" 2 1 6 33, nodeChildren = | |
[Leaf (HieToken {htkInfo = TkIdentifier, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 2 1 5, htkDetails = Just (RtkDecl $main$Main$main), htkType = Nothing}) | |
,Leaf (HieToken {htkInfo = TkSpace, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 2 5 6, htkDetails = Nothing, htkType = Nothing}) | |
,Node {nodeInfo = ["GRHS","GRHS"], nodeSpan = SrcSpanMultiLine "/home/zubin/Documents/Haskell/Fib.hs" 2 6 6 33, nodeChildren = | |
[Leaf (HieToken {htkInfo = TkGlyph, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 2 6 7, htkDetails = Nothing, htkType = Nothing}) | |
,Leaf (HieToken {htkInfo = TkSpace, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 2 7 8, htkDetails = Nothing, htkType = Nothing}) | |
,Node {nodeInfo = ["OpApp","HsExpr"], nodeSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 2 8 22, nodeChildren = | |
[Node {nodeInfo = ["HsVar","HsExpr"], nodeSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 2 8 13, nodeChildren = | |
[Leaf (HieToken {htkInfo = TkIdentifier, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 2 8 13, htkDetails = Just (RtkVar $base$System.IO$print), htkType = Nothing})]} | |
,Leaf (HieToken {htkInfo = TkSpace, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 2 13 14, htkDetails = Nothing, htkType = Nothing}) | |
,Node {nodeInfo = ["HsVar","HsExpr"], nodeSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 2 14 15, nodeChildren = | |
[Leaf (HieToken {htkInfo = TkOperator, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 2 14 15, htkDetails = Just (RtkVar $base$GHC.Base$$), htkType = Nothing})]} | |
,Leaf (HieToken {htkInfo = TkSpace, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 2 15 16, htkDetails = Nothing, htkType = Nothing}) | |
,Node {nodeInfo = ["HsApp","HsExpr"], nodeSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 2 16 22, nodeChildren = | |
[Node {nodeInfo = ["HsVar","HsExpr"], nodeSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 2 16 19, nodeChildren = | |
[Leaf (HieToken {htkInfo = TkIdentifier, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 2 16 19, htkDetails = Just (RtkVar $_in$fib), htkType = Nothing})]} | |
,Leaf (HieToken {htkInfo = TkSpace, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 2 19 20, htkDetails = Nothing, htkType = Nothing}) | |
,Leaf (HieToken {htkInfo = TkNumber, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 2 20 22, htkDetails = Nothing, htkType = Nothing})]}]} | |
,Leaf (HieToken {htkInfo = TkSpace, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 2 22 23, htkDetails = Nothing, htkType = Nothing}) | |
,Leaf (HieToken {htkInfo = TkKeyword, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 2 23 28, htkDetails = Nothing, htkType = Nothing}) | |
,Leaf (HieToken {htkInfo = TkSpace, htkSpan = SrcSpanMultiLine "/home/zubin/Documents/Haskell/Fib.hs" 2 28 3 3, htkDetails = Nothing, htkType = Nothing}) | |
,Node {nodeInfo = ["HsValBinds","HsLocalBindsLR"], nodeSpan = SrcSpanMultiLine "/home/zubin/Documents/Haskell/Fib.hs" 3 3 6 33, nodeChildren = | |
[Leaf (HieToken {htkInfo = TkIdentifier, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 3 3 6, htkDetails = Nothing, htkType = Nothing}) | |
,Leaf (HieToken {htkInfo = TkSpace, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 3 6 7, htkDetails = Nothing, htkType = Nothing}) | |
,Leaf (HieToken {htkInfo = TkGlyph, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 3 7 9, htkDetails = Nothing, htkType = Nothing}) | |
,Leaf (HieToken {htkInfo = TkSpace, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 3 9 10, htkDetails = Nothing, htkType = Nothing}) | |
,Leaf (HieToken {htkInfo = TkIdentifier, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 3 10 13, htkDetails = Nothing, htkType = Nothing}) | |
,Leaf (HieToken {htkInfo = TkSpace, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 3 13 14, htkDetails = Nothing, htkType = Nothing}) | |
,Leaf (HieToken {htkInfo = TkGlyph, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 3 14 16, htkDetails = Nothing, htkType = Nothing}) | |
,Leaf (HieToken {htkInfo = TkSpace, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 3 16 17, htkDetails = Nothing, htkType = Nothing}) | |
,Leaf (HieToken {htkInfo = TkIdentifier, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 3 17 20, htkDetails = Nothing, htkType = Nothing}) | |
,Leaf (HieToken {htkInfo = TkSpace, htkSpan = SrcSpanMultiLine "/home/zubin/Documents/Haskell/Fib.hs" 3 20 4 3, htkDetails = Nothing, htkType = Nothing}) | |
,Node {nodeInfo = ["FunBind","HsBindLR"], nodeSpan = SrcSpanMultiLine "/home/zubin/Documents/Haskell/Fib.hs" 4 3 6 33, nodeChildren = | |
[Node {nodeInfo = ["Alts","MatchGroup"], nodeSpan = SrcSpanMultiLine "/home/zubin/Documents/Haskell/Fib.hs" 4 3 6 33, nodeChildren = | |
[Node {nodeInfo = ["Match","Match"], nodeSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 4 3 12, nodeChildren = | |
[Leaf (HieToken {htkInfo = TkIdentifier, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 4 3 6, htkDetails = Just (RtkBind $_in$fib), htkType = Nothing}) | |
,Leaf (HieToken {htkInfo = TkSpace, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 4 6 7, htkDetails = Nothing, htkType = Nothing}) | |
,Node {nodeInfo = ["NPat","Pat"], nodeSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 4 7 8, nodeChildren = | |
[Leaf (HieToken {htkInfo = TkNumber, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 4 7 8, htkDetails = Nothing, htkType = Nothing})]} | |
,Leaf (HieToken {htkInfo = TkSpace, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 4 8 9, htkDetails = Nothing, htkType = Nothing}) | |
,Node {nodeInfo = ["GRHS","GRHS"], nodeSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 4 9 12, nodeChildren = | |
[Leaf (HieToken {htkInfo = TkGlyph, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 4 9 10, htkDetails = Nothing, htkType = Nothing}) | |
,Leaf (HieToken {htkInfo = TkSpace, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 4 10 11, htkDetails = Nothing, htkType = Nothing}) | |
,Leaf (HieToken {htkInfo = TkNumber, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 4 11 12, htkDetails = Nothing, htkType = Nothing})]}]} | |
,Leaf (HieToken {htkInfo = TkSpace, htkSpan = SrcSpanMultiLine "/home/zubin/Documents/Haskell/Fib.hs" 4 12 5 3, htkDetails = Nothing, htkType = Nothing}) | |
,Node {nodeInfo = ["Match","Match"], nodeSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 5 3 12, nodeChildren = | |
[Leaf (HieToken {htkInfo = TkIdentifier, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 5 3 6, htkDetails = Nothing, htkType = Nothing}) | |
,Leaf (HieToken {htkInfo = TkSpace, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 5 6 7, htkDetails = Nothing, htkType = Nothing}) | |
,Node {nodeInfo = ["NPat","Pat"], nodeSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 5 7 8, nodeChildren = | |
[Leaf (HieToken {htkInfo = TkNumber, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 5 7 8 , htkDetails = Nothing, htkType = Nothing})]} | |
,Leaf (HieToken {htkInfo = TkSpace, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 5 8 9, htkDetails = Nothing, htkType = Nothing}) | |
,Node {nodeInfo = ["GRHS","GRHS"], nodeSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 5 9 12, nodeChildren = | |
[Leaf (HieToken {htkInfo = TkGlyph, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 5 9 10, htkDetails = Nothing, htkType = Nothing}) | |
,Leaf (HieToken {htkInfo = TkSpace, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 5 10 11, htkDetails = Nothing, htkType = Nothing}) | |
,Leaf (HieToken {htkInfo = TkNumber, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 5 11 12, htkDetails = Nothing, htkType = Nothing})]}]} | |
,Leaf (HieToken {htkInfo = TkSpace, htkSpan = SrcSpanMultiLine "/home/zubin/Documents/Haskell/Fib.hs" 5 12 6 3, htkDetails = Nothing, htkType = Nothing}) | |
,Node {nodeInfo = ["Match","Match"], nodeSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 3 33, nodeChildren = | |
[Leaf (HieToken {htkInfo = TkIdentifier, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 3 6, htkDetails = Nothing, htkType = Nothing}) | |
,Leaf (HieToken {htkInfo = TkSpace, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 6 7, htkDetails = Nothing, htkType = Nothing}) | |
,Node {nodeInfo = ["VarPat","Pat"], nodeSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 7 8, nodeChildren = | |
[Leaf (HieToken {htkInfo = TkIdentifier, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 7 8, htkDetails = Just (RtkBind $_in$n), htkType = Nothing})]} | |
,Leaf (HieToken {htkInfo = TkSpace, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 8 9, htkDetails = Nothing, htkType = Nothing}) | |
,Node {nodeInfo = ["GRHS","GRHS"], nodeSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 9 33, nodeChildren = | |
[Leaf (HieToken {htkInfo = TkGlyph, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 9 10, htkDetails = Nothing, htkType = Nothing}) | |
,Leaf (HieToken {htkInfo = TkSpace, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 10 11, htkDetails = Nothing, htkType = Nothing}) | |
,Node {nodeInfo = ["OpApp","HsExpr"], nodeSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 11 33, nodeChildren = | |
[Node {nodeInfo = ["HsApp","HsExpr"], nodeSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 11 20, nodeChildren = | |
[Node {nodeInfo = ["HsVar","HsExpr"], nodeSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 11 14, nodeChildren = | |
[Leaf (HieToken {htkInfo = TkIdentifier, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 11 14, htkDetails = Just (RtkVar $_in$fib), htkType = Nothing})]} | |
,Leaf (HieToken {htkInfo = TkSpace, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 14 15, htkDetails = Nothing, htkType = Nothing}) | |
,Node {nodeInfo = ["HsPar","HsExpr"], nodeSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 15 20, nodeChildren = | |
[Leaf (HieToken {htkInfo = TkSpecial, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 15 16, htkDetails = Nothing, htkType = Nothing}) | |
,Node {nodeInfo = ["OpApp","HsExpr"], nodeSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 16 19, nodeChildren = | |
[Node {nodeInfo = ["HsVar","HsExpr"], nodeSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 16 17, nodeChildren = | |
[Leaf (HieToken {htkInfo = TkIdentifier, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 16 17, htkDetails = Just (RtkVar $_in$n), htkType = Nothing})]} | |
,Node {nodeInfo = ["HsVar","HsExpr"], nodeSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 17 18, nodeChildren = | |
[Leaf (HieToken {htkInfo = TkGlyph, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 17 18, htkDetails = Just (RtkVar $base$GHC.Num$-), htkType = Nothing})]} | |
,Leaf (HieToken {htkInfo = TkNumber, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 18 19, htkDetails = Nothing, htkType = Nothing})]} | |
,Leaf (HieToken {htkInfo = TkSpecial, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 19 20, htkDetails = Nothing, htkType = Nothing})]}]} | |
,Leaf (HieToken {htkInfo = TkSpace, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 20 21, htkDetails = Nothing, htkType = Nothing}) | |
,Node {nodeInfo = ["HsVar","HsExpr"], nodeSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 21 22, nodeChildren = | |
[Leaf (HieToken {htkInfo = TkOperator, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 21 22, htkDetails = Just (RtkVar $base$GHC.Num$+), htkType = Nothing})]} | |
,Leaf (HieToken {htkInfo = TkSpace, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 22 24, htkDetails = Nothing, htkType = Nothing}) | |
,Node {nodeInfo = ["HsApp","HsExpr"], nodeSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 24 33, nodeChildren = | |
[Node {nodeInfo = ["HsVar","HsExpr"], nodeSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 24 27, nodeChildren = | |
[Leaf (HieToken {htkInfo = TkIdentifier, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 24 27, htkDetails = Just (RtkVar $_in$fib), htkType = Nothing})]} | |
,Leaf (HieToken {htkInfo = TkSpace, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 27 28, htkDetails = Nothing, htkType = Nothing}) | |
,Node {nodeInfo = ["HsPar","HsExpr"], nodeSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 28 33, nodeChildren = | |
[Leaf (HieToken {htkInfo = TkSpecial, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 28 29, htkDetails = Nothing, htkType = Nothing}) | |
,Node {nodeInfo = ["OpApp","HsExpr"], nodeSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 29 32, nodeChildren = | |
[Node {nodeInfo = ["HsVar","HsExpr"], nodeSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 29 30, nodeChildren = | |
[Leaf (HieToken {htkInfo = TkIdentifier, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 29 30, htkDetails = Just (RtkVar $_in$n), htkType = Nothing})]} | |
,Node {nodeInfo = ["HsVar","HsExpr"], nodeSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 30 31, nodeChildren = | |
[Leaf (HieToken {htkInfo = TkGlyph, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 30 31, htkDetails = Just (RtkVar $base$GHC.Num$-), htkType = Nothing})]} | |
,Leaf (HieToken {htkInfo = TkNumber, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 31 32, htkDetails = Nothing, htkType = Nothing})]} | |
,Leaf (HieToken {htkInfo = TkSpecial, htkSpan = SrcSpanOneLine "/home/zubin/Documents/Haskell/Fib.hs" 6 32 33, htkDetails = Nothing, htkType = Nothing})]}]}]}]}]}]}]}]}]}]}]}]}]} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment