haskelm 0.0.2 → 0.0.3
raw patch · 2 files changed
+280/−1 lines, 2 files
Files
- haskelm.cabal +2/−1
- src/Language/Elm/TH/BaseDecs.hs +278/−0
haskelm.cabal view
@@ -1,5 +1,5 @@ Name: haskelm-Version: 0.0.2+Version: 0.0.3 Synopsis: Elm to Haskell translation Description: Library and binary to translate Haskell code into Elm code Homepage: http://github.com/JoeyEremondi/haskelm@@ -35,6 +35,7 @@ Language.Elm.TH.HToE Language.Elm.TH.Json Language.Elm.TH.Util+ Language.Elm.TH.BaseDecs Build-depends: aeson, base >=4.2 && <5,
+ src/Language/Elm/TH/BaseDecs.hs view
@@ -0,0 +1,278 @@+module Language.Elm.TH.BaseDecs where++import SourceSyntax.Location+import SourceSyntax.Expression+import SourceSyntax.Declaration+import SourceSyntax.Literal+import SourceSyntax.Pattern+import SourceSyntax.Location+++baseDecs = [SourceSyntax.Declaration.Definition+ (SourceSyntax.Expression.Definition+ (SourceSyntax.Pattern.PVar "getType")+ (SourceSyntax.Location.L+ (SourceSyntax.Location.Span+ (SourceSyntax.Location.Pos (1) (1))+ (SourceSyntax.Location.Pos (1) (1)) (""))+ (SourceSyntax.Expression.Lambda+ (SourceSyntax.Pattern.PData+ "Object" [SourceSyntax.Pattern.PVar "d"])+ (SourceSyntax.Location.L+ (SourceSyntax.Location.Span+ (SourceSyntax.Location.Pos (1) (1))+ (SourceSyntax.Location.Pos (1) (1)) (""))+ (SourceSyntax.Expression.Case+ (SourceSyntax.Location.L+ (SourceSyntax.Location.NoSpan "")+ (SourceSyntax.Expression.App+ (SourceSyntax.Location.L+ (SourceSyntax.Location.NoSpan "")+ (SourceSyntax.Expression.App+ (SourceSyntax.Location.L+ (SourceSyntax.Location.Span+ (SourceSyntax.Location.Pos (1) (1))+ (SourceSyntax.Location.Pos (1) (1))+ (""))+ (SourceSyntax.Expression.Var "Dict.lookup"))+ (SourceSyntax.Location.L+ (SourceSyntax.Location.Span+ (SourceSyntax.Location.Pos (1) (1))+ (SourceSyntax.Location.Pos (1) (1))+ (""))+ (SourceSyntax.Expression.Literal+ (SourceSyntax.Literal.Str "__type")))))+ (SourceSyntax.Location.L+ (SourceSyntax.Location.Span+ (SourceSyntax.Location.Pos (1) (1))+ (SourceSyntax.Location.Pos (1) (1))+ (""))+ (SourceSyntax.Expression.Var "d"))))+ [(SourceSyntax.Pattern.PData+ "Just"+ [SourceSyntax.Pattern.PData+ "Json.String"+ [SourceSyntax.Pattern.PVar "t"]],SourceSyntax.Location.L+ (SourceSyntax.Location.Span+ (SourceSyntax.Location.Pos+ (1) (1))+ (SourceSyntax.Location.Pos+ (1) (1))+ (""))+ (SourceSyntax.Expression.Var+ "t"))]))))+ Nothing),+ SourceSyntax.Declaration.Definition+ (SourceSyntax.Expression.Definition+ (SourceSyntax.Pattern.PVar "getCtor")+ (SourceSyntax.Location.L+ (SourceSyntax.Location.Span+ (SourceSyntax.Location.Pos (1) (1))+ (SourceSyntax.Location.Pos (1) (1)) (""))+ (SourceSyntax.Expression.Lambda+ (SourceSyntax.Pattern.PData+ "Object" [SourceSyntax.Pattern.PVar "d"])+ (SourceSyntax.Location.L+ (SourceSyntax.Location.Span+ (SourceSyntax.Location.Pos (1) (1))+ (SourceSyntax.Location.Pos (1) (1)) (""))+ (SourceSyntax.Expression.Case+ (SourceSyntax.Location.L+ (SourceSyntax.Location.NoSpan "")+ (SourceSyntax.Expression.App+ (SourceSyntax.Location.L+ (SourceSyntax.Location.NoSpan "")+ (SourceSyntax.Expression.App+ (SourceSyntax.Location.L+ (SourceSyntax.Location.Span+ (SourceSyntax.Location.Pos (1) (1))+ (SourceSyntax.Location.Pos (1) (1))+ (""))+ (SourceSyntax.Expression.Var "Dict.lookup"))+ (SourceSyntax.Location.L+ (SourceSyntax.Location.Span+ (SourceSyntax.Location.Pos (1) (1))+ (SourceSyntax.Location.Pos (1) (1))+ (""))+ (SourceSyntax.Expression.Literal+ (SourceSyntax.Literal.Str "__ctor")))))+ (SourceSyntax.Location.L+ (SourceSyntax.Location.Span+ (SourceSyntax.Location.Pos (1) (1))+ (SourceSyntax.Location.Pos (1) (1))+ (""))+ (SourceSyntax.Expression.Var "d"))))+ [(SourceSyntax.Pattern.PData+ "Just"+ [SourceSyntax.Pattern.PData+ "Json.String"+ [SourceSyntax.Pattern.PVar "c"]],SourceSyntax.Location.L+ (SourceSyntax.Location.Span+ (SourceSyntax.Location.Pos+ (1) (1))+ (SourceSyntax.Location.Pos+ (1) (1))+ (""))+ (SourceSyntax.Expression.Var+ "c"))]))))+ Nothing),+ SourceSyntax.Declaration.Definition+ (SourceSyntax.Expression.Definition+ (SourceSyntax.Pattern.PVar "varNamed")+ (SourceSyntax.Location.L+ (SourceSyntax.Location.Span+ (SourceSyntax.Location.Pos (1) (1))+ (SourceSyntax.Location.Pos (1) (1)) (""))+ (SourceSyntax.Expression.Lambda+ (SourceSyntax.Pattern.PData+ "Object" [SourceSyntax.Pattern.PVar "d"])+ (SourceSyntax.Location.L+ (SourceSyntax.Location.Span+ (SourceSyntax.Location.Pos (1) (1))+ (SourceSyntax.Location.Pos (1) (1)) (""))+ (SourceSyntax.Expression.Lambda+ (SourceSyntax.Pattern.PVar "n")+ (SourceSyntax.Location.L+ (SourceSyntax.Location.Span+ (SourceSyntax.Location.Pos (1) (1))+ (SourceSyntax.Location.Pos (1) (1)) (""))+ (SourceSyntax.Expression.Case+ (SourceSyntax.Location.L+ (SourceSyntax.Location.NoSpan "")+ (SourceSyntax.Expression.App+ (SourceSyntax.Location.L+ (SourceSyntax.Location.NoSpan "")+ (SourceSyntax.Expression.App+ (SourceSyntax.Location.L+ (SourceSyntax.Location.Span+ (SourceSyntax.Location.Pos (1) (1))+ (SourceSyntax.Location.Pos (1) (1))+ (""))+ (SourceSyntax.Expression.Var "Dict.lookup"))+ (SourceSyntax.Location.L+ (SourceSyntax.Location.NoSpan "")+ (SourceSyntax.Expression.App+ (SourceSyntax.Location.L+ (SourceSyntax.Location.Span+ (SourceSyntax.Location.Pos+ (1) (1))+ (SourceSyntax.Location.Pos+ (1) (1))+ (""))+ (SourceSyntax.Expression.Var "show"))+ (SourceSyntax.Location.L+ (SourceSyntax.Location.Span+ (SourceSyntax.Location.Pos+ (1) (1))+ (SourceSyntax.Location.Pos+ (1) (1))+ (""))+ (SourceSyntax.Expression.Var "n"))))))+ (SourceSyntax.Location.L+ (SourceSyntax.Location.Span+ (SourceSyntax.Location.Pos (1) (1))+ (SourceSyntax.Location.Pos (1) (1))+ (""))+ (SourceSyntax.Expression.Var "d"))))+ [(SourceSyntax.Pattern.PData+ "Just" [SourceSyntax.Pattern.PVar "val"],SourceSyntax.Location.L+ (SourceSyntax.Location.Span+ (SourceSyntax.Location.Pos+ (1)+ (1))+ (SourceSyntax.Location.Pos+ (1)+ (1))+ (""))+ (SourceSyntax.Expression.Var+ "val"))]))))))+ Nothing),+ SourceSyntax.Declaration.Definition+ (SourceSyntax.Expression.Definition+ (SourceSyntax.Pattern.PVar "mapJson")+ (SourceSyntax.Location.L+ (SourceSyntax.Location.NoSpan "")+ (SourceSyntax.Expression.Lambda+ (SourceSyntax.Pattern.PVar "f")+ (SourceSyntax.Location.L+ (SourceSyntax.Location.NoSpan "")+ (SourceSyntax.Expression.Lambda+ (SourceSyntax.Pattern.PData+ "Array" [SourceSyntax.Pattern.PVar "l"])+ (SourceSyntax.Location.L+ (SourceSyntax.Location.NoSpan "")+ (SourceSyntax.Expression.App+ (SourceSyntax.Location.L+ (SourceSyntax.Location.NoSpan "")+ (SourceSyntax.Expression.App+ (SourceSyntax.Location.L+ (SourceSyntax.Location.Span+ (SourceSyntax.Location.Pos (1) (1))+ (SourceSyntax.Location.Pos (1) (1))+ (""))+ (SourceSyntax.Expression.Var "map"))+ (SourceSyntax.Location.L+ (SourceSyntax.Location.Span+ (SourceSyntax.Location.Pos (1) (1))+ (SourceSyntax.Location.Pos (1) (1))+ (""))+ (SourceSyntax.Expression.Var "f"))))+ (SourceSyntax.Location.L+ (SourceSyntax.Location.Span+ (SourceSyntax.Location.Pos (1) (1))+ (SourceSyntax.Location.Pos (1) (1))+ (""))+ (SourceSyntax.Expression.Var "l"))))))))+ Nothing),+ SourceSyntax.Declaration.Definition+ (SourceSyntax.Expression.Definition+ (SourceSyntax.Pattern.PVar "makeList")+ (SourceSyntax.Location.L+ (SourceSyntax.Location.Span+ (SourceSyntax.Location.Pos (1) (1))+ (SourceSyntax.Location.Pos (1) (1))+ (""))+ (SourceSyntax.Expression.Lambda+ (SourceSyntax.Pattern.PData+ "Array" [SourceSyntax.Pattern.PVar "l"])+ (SourceSyntax.Location.L+ (SourceSyntax.Location.Span+ (SourceSyntax.Location.Pos (1) (1))+ (SourceSyntax.Location.Pos (1) (1))+ (""))+ (SourceSyntax.Expression.Var "l"))))+ Nothing),+ SourceSyntax.Declaration.Definition+ (SourceSyntax.Expression.Definition+ (SourceSyntax.Pattern.PVar "error")+ (SourceSyntax.Location.L+ (SourceSyntax.Location.Span+ (SourceSyntax.Location.Pos (1) (1))+ (SourceSyntax.Location.Pos (1) (1))+ (""))+ (SourceSyntax.Expression.Lambda+ (SourceSyntax.Pattern.PVar "s")+ (SourceSyntax.Location.L+ (SourceSyntax.Location.Span+ (SourceSyntax.Location.Pos (1) (1))+ (SourceSyntax.Location.Pos (1) (1))+ (""))+ (SourceSyntax.Expression.Case+ (SourceSyntax.Location.L+ (SourceSyntax.Location.Span+ (SourceSyntax.Location.Pos (1) (1))+ (SourceSyntax.Location.Pos (1) (1))+ (""))+ (SourceSyntax.Expression.Literal+ (SourceSyntax.Literal.Boolean True)))+ [(SourceSyntax.Pattern.PLiteral+ (SourceSyntax.Literal.Boolean False),SourceSyntax.Location.L+ (SourceSyntax.Location.Span+ (SourceSyntax.Location.Pos+ (1) (1))+ (SourceSyntax.Location.Pos+ (1) (1))+ (""))+ (SourceSyntax.Expression.Var+ "s"))]))))+ Nothing)]