haskell-src-exts

haskell-src-extsの関数の解析結果

perm [] = [[]] perm xs = concatMap f xs where f x = map (x :) (perm (delete x xs)) ----------------- FunBind [Match (SrcLoc {srcFilename = "<unknown>.hs", srcLine = 5, srcColumn = 1}) (Ident "perm") [PList []] Nothing (UnGuardedRhs (List [List []])</unknown>…

haskell-src-extsのdataの解析結果

data Hoge = Hoge ---------------------- DataDecl (SrcLoc {srcFilename = "<unknown>.hs", srcLine = 12, srcColumn = 1}) DataType [] (Ident "Hoge") [] [QualConDecl (SrcLoc {srcFilename = "<unknown>.hs", srcLine = 12, srcColumn = 13}) [] [] (ConDecl (Ident "Hog</unknown></unknown>…

haskell-src-extsのtypeの解析結果

type Cont = [Op] type Test = Hoge type Test1 a = [a] type Test2 = (Cont, String) type Test3 = (Cont, [String]) type Test4 = [(Cont, String)] type Test5 a = a TypeDecl (SrcLoc {srcFilename = "<unknown>.hs", srcLine = 4, srcColumn = 1}) (Ident "Cont"</unknown>…

Haskell-src-extsにおけるマイナスの扱い

マイナスはどうなってんのかなということで解析. 結果として別々である. x = -3 y = 5 - 6 Module (SrcLoc {srcFilename = "<unknown>.hs", srcLine = 1, srcColumn = 1}) (ModuleName "Main") [] Nothing (Just [EVar (UnQual (Ident "main"))]) [] [PatBind (SrcL</unknown>…

Language.Haskell.Exts.Syntaxでの型シグネチャ

isLower :: Char -> Bool TypeSig (SrcLoc {srcFilename = "<unknown>.hs", srcLine = 1, srcColumn = 1}) [Ident "isLower"] (TyFun (TyCon (UnQual (Ident "Char"))) (TyCon (UnQual (Ident "Bool")))) print :: IO () TypeSig (SrcLoc {srcFilename = "<unknown>.hs", srcLi</unknown></unknown>…

haskell-src-extsでの解析結果その1

以下をHaskell-src-extsで解析した. func = 1 以下のようになった. Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "n/a", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1}, srcInfoPoints = …