summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCsaba Hruska <csaba.hruska@gmail.com>2016-11-13 11:26:50 +0100
committerCsaba Hruska <csaba.hruska@gmail.com>2016-11-13 11:26:50 +0100
commitb4874356eb1c3f03dd3256aca94e20b158dcc8e6 (patch)
tree84caa74be53095bbde44d70edd175e1a1d8b466f
parent4425e2e44020239bbe227c0b499fdb2d902461bc (diff)
improve purescript json decode error message
-rw-r--r--ddl/out/LambdaCube.IR.purs94
-rw-r--r--ddl/out/LambdaCube.Mesh.purs12
-rw-r--r--ddl/out/LambdaCube.PipelineSchema.purs12
-rw-r--r--ddl/out/LambdaCube.TypeInfo.purs16
-rw-r--r--ddl/out/TestData.purs20
-rw-r--r--ddl/templates/data.purs.ede2
6 files changed, 78 insertions, 78 deletions
diff --git a/ddl/out/LambdaCube.IR.purs b/ddl/out/LambdaCube.IR.purs
index b7e7536..0c515ec 100644
--- a/ddl/out/LambdaCube.IR.purs
+++ b/ddl/out/LambdaCube.IR.purs
@@ -1,14 +1,15 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2-- 2016-11-11T11:17:02.701527000000Z 2-- 2016-11-12T13:21:48.334863000000Z
3 3
4module LambdaCube.IR where 4module LambdaCube.IR where
5import Prelude 5import Prelude
6import Data.Generic 6import Data.Generic
7import Data.Either (Either(..))
7import Data.Maybe (Maybe(..)) 8import Data.Maybe (Maybe(..))
8import Data.StrMap (StrMap(..)) 9import Data.StrMap (StrMap(..))
9import Data.Map (Map(..)) 10import Data.Map (Map(..))
10import Data.List (List(..)) 11import Data.List (List(..))
11import Linear 12import LinearBase
12 13
13import Data.Argonaut.Encode.Combinators ((~>), (:=)) 14import Data.Argonaut.Encode.Combinators ((~>), (:=))
14import Data.Argonaut.Decode.Combinators ((.?)) 15import Data.Argonaut.Decode.Combinators ((.?))
@@ -16,7 +17,6 @@ import Data.Argonaut.Core (jsonEmptyObject)
16import Data.Argonaut.Printer (printJson) 17import Data.Argonaut.Printer (printJson)
17import Data.Argonaut.Encode (class EncodeJson, encodeJson) 18import Data.Argonaut.Encode (class EncodeJson, encodeJson)
18import Data.Argonaut.Decode (class DecodeJson, decodeJson) 19import Data.Argonaut.Decode (class DecodeJson, decodeJson)
19import Partial.Unsafe (unsafeCrashWith)
20 20
21 21
22type StreamName = Int 22type StreamName = Int
@@ -498,7 +498,7 @@ instance decodeJsonArrayValue :: DecodeJson ArrayValue where
498 "VIntArray" -> VIntArray <$> obj .? "arg0" 498 "VIntArray" -> VIntArray <$> obj .? "arg0"
499 "VWordArray" -> VWordArray <$> obj .? "arg0" 499 "VWordArray" -> VWordArray <$> obj .? "arg0"
500 "VFloatArray" -> VFloatArray <$> obj .? "arg0" 500 "VFloatArray" -> VFloatArray <$> obj .? "arg0"
501 _ -> unsafeCrashWith "decodeJson @ ArrayValue" 501 _ -> Left ("decodeJsonArrayValue - unknown tag: " <> tag)
502 502
503instance encodeJsonValue :: EncodeJson Value where 503instance encodeJsonValue :: EncodeJson Value where
504 encodeJson v = case v of 504 encodeJson v = case v of
@@ -558,7 +558,7 @@ instance decodeJsonValue :: DecodeJson Value where
558 "VM42F" -> VM42F <$> obj .? "arg0" 558 "VM42F" -> VM42F <$> obj .? "arg0"
559 "VM43F" -> VM43F <$> obj .? "arg0" 559 "VM43F" -> VM43F <$> obj .? "arg0"
560 "VM44F" -> VM44F <$> obj .? "arg0" 560 "VM44F" -> VM44F <$> obj .? "arg0"
561 _ -> unsafeCrashWith "decodeJson @ Value" 561 _ -> Left ("decodeJsonValue - unknown tag: " <> tag)
562 562
563instance encodeJsonInputType :: EncodeJson InputType where 563instance encodeJsonInputType :: EncodeJson InputType where
564 encodeJson v = case v of 564 encodeJson v = case v of
@@ -690,7 +690,7 @@ instance decodeJsonInputType :: DecodeJson InputType where
690 "UTexture2DMSArray" -> pure UTexture2DMSArray 690 "UTexture2DMSArray" -> pure UTexture2DMSArray
691 "UTextureBuffer" -> pure UTextureBuffer 691 "UTextureBuffer" -> pure UTextureBuffer
692 "UTexture2DRect" -> pure UTexture2DRect 692 "UTexture2DRect" -> pure UTexture2DRect
693 _ -> unsafeCrashWith "decodeJson @ InputType" 693 _ -> Left ("decodeJsonInputType - unknown tag: " <> tag)
694 694
695instance encodeJsonPointSpriteCoordOrigin :: EncodeJson PointSpriteCoordOrigin where 695instance encodeJsonPointSpriteCoordOrigin :: EncodeJson PointSpriteCoordOrigin where
696 encodeJson v = case v of 696 encodeJson v = case v of
@@ -704,7 +704,7 @@ instance decodeJsonPointSpriteCoordOrigin :: DecodeJson PointSpriteCoordOrigin w
704 case tag of 704 case tag of
705 "LowerLeft" -> pure LowerLeft 705 "LowerLeft" -> pure LowerLeft
706 "UpperLeft" -> pure UpperLeft 706 "UpperLeft" -> pure UpperLeft
707 _ -> unsafeCrashWith "decodeJson @ PointSpriteCoordOrigin" 707 _ -> Left ("decodeJsonPointSpriteCoordOrigin - unknown tag: " <> tag)
708 708
709instance encodeJsonPointSize :: EncodeJson PointSize where 709instance encodeJsonPointSize :: EncodeJson PointSize where
710 encodeJson v = case v of 710 encodeJson v = case v of
@@ -718,7 +718,7 @@ instance decodeJsonPointSize :: DecodeJson PointSize where
718 case tag of 718 case tag of
719 "PointSize" -> PointSize <$> obj .? "arg0" 719 "PointSize" -> PointSize <$> obj .? "arg0"
720 "ProgramPointSize" -> pure ProgramPointSize 720 "ProgramPointSize" -> pure ProgramPointSize
721 _ -> unsafeCrashWith "decodeJson @ PointSize" 721 _ -> Left ("decodeJsonPointSize - unknown tag: " <> tag)
722 722
723instance encodeJsonPolygonOffset :: EncodeJson PolygonOffset where 723instance encodeJsonPolygonOffset :: EncodeJson PolygonOffset where
724 encodeJson v = case v of 724 encodeJson v = case v of
@@ -732,7 +732,7 @@ instance decodeJsonPolygonOffset :: DecodeJson PolygonOffset where
732 case tag of 732 case tag of
733 "NoOffset" -> pure NoOffset 733 "NoOffset" -> pure NoOffset
734 "Offset" -> Offset <$> obj .? "arg0" <*> obj .? "arg1" 734 "Offset" -> Offset <$> obj .? "arg0" <*> obj .? "arg1"
735 _ -> unsafeCrashWith "decodeJson @ PolygonOffset" 735 _ -> Left ("decodeJsonPolygonOffset - unknown tag: " <> tag)
736 736
737instance encodeJsonFrontFace :: EncodeJson FrontFace where 737instance encodeJsonFrontFace :: EncodeJson FrontFace where
738 encodeJson v = case v of 738 encodeJson v = case v of
@@ -746,7 +746,7 @@ instance decodeJsonFrontFace :: DecodeJson FrontFace where
746 case tag of 746 case tag of
747 "CCW" -> pure CCW 747 "CCW" -> pure CCW
748 "CW" -> pure CW 748 "CW" -> pure CW
749 _ -> unsafeCrashWith "decodeJson @ FrontFace" 749 _ -> Left ("decodeJsonFrontFace - unknown tag: " <> tag)
750 750
751instance encodeJsonPolygonMode :: EncodeJson PolygonMode where 751instance encodeJsonPolygonMode :: EncodeJson PolygonMode where
752 encodeJson v = case v of 752 encodeJson v = case v of
@@ -762,7 +762,7 @@ instance decodeJsonPolygonMode :: DecodeJson PolygonMode where
762 "PolygonPoint" -> PolygonPoint <$> obj .? "arg0" 762 "PolygonPoint" -> PolygonPoint <$> obj .? "arg0"
763 "PolygonLine" -> PolygonLine <$> obj .? "arg0" 763 "PolygonLine" -> PolygonLine <$> obj .? "arg0"
764 "PolygonFill" -> pure PolygonFill 764 "PolygonFill" -> pure PolygonFill
765 _ -> unsafeCrashWith "decodeJson @ PolygonMode" 765 _ -> Left ("decodeJsonPolygonMode - unknown tag: " <> tag)
766 766
767instance encodeJsonProvokingVertex :: EncodeJson ProvokingVertex where 767instance encodeJsonProvokingVertex :: EncodeJson ProvokingVertex where
768 encodeJson v = case v of 768 encodeJson v = case v of
@@ -776,7 +776,7 @@ instance decodeJsonProvokingVertex :: DecodeJson ProvokingVertex where
776 case tag of 776 case tag of
777 "FirstVertex" -> pure FirstVertex 777 "FirstVertex" -> pure FirstVertex
778 "LastVertex" -> pure LastVertex 778 "LastVertex" -> pure LastVertex
779 _ -> unsafeCrashWith "decodeJson @ ProvokingVertex" 779 _ -> Left ("decodeJsonProvokingVertex - unknown tag: " <> tag)
780 780
781instance encodeJsonCullMode :: EncodeJson CullMode where 781instance encodeJsonCullMode :: EncodeJson CullMode where
782 encodeJson v = case v of 782 encodeJson v = case v of
@@ -792,7 +792,7 @@ instance decodeJsonCullMode :: DecodeJson CullMode where
792 "CullNone" -> pure CullNone 792 "CullNone" -> pure CullNone
793 "CullFront" -> CullFront <$> obj .? "arg0" 793 "CullFront" -> CullFront <$> obj .? "arg0"
794 "CullBack" -> CullBack <$> obj .? "arg0" 794 "CullBack" -> CullBack <$> obj .? "arg0"
795 _ -> unsafeCrashWith "decodeJson @ CullMode" 795 _ -> Left ("decodeJsonCullMode - unknown tag: " <> tag)
796 796
797instance encodeJsonComparisonFunction :: EncodeJson ComparisonFunction where 797instance encodeJsonComparisonFunction :: EncodeJson ComparisonFunction where
798 encodeJson v = case v of 798 encodeJson v = case v of
@@ -818,7 +818,7 @@ instance decodeJsonComparisonFunction :: DecodeJson ComparisonFunction where
818 "Notequal" -> pure Notequal 818 "Notequal" -> pure Notequal
819 "Gequal" -> pure Gequal 819 "Gequal" -> pure Gequal
820 "Always" -> pure Always 820 "Always" -> pure Always
821 _ -> unsafeCrashWith "decodeJson @ ComparisonFunction" 821 _ -> Left ("decodeJsonComparisonFunction - unknown tag: " <> tag)
822 822
823instance encodeJsonStencilOperation :: EncodeJson StencilOperation where 823instance encodeJsonStencilOperation :: EncodeJson StencilOperation where
824 encodeJson v = case v of 824 encodeJson v = case v of
@@ -844,7 +844,7 @@ instance decodeJsonStencilOperation :: DecodeJson StencilOperation where
844 "OpDecr" -> pure OpDecr 844 "OpDecr" -> pure OpDecr
845 "OpDecrWrap" -> pure OpDecrWrap 845 "OpDecrWrap" -> pure OpDecrWrap
846 "OpInvert" -> pure OpInvert 846 "OpInvert" -> pure OpInvert
847 _ -> unsafeCrashWith "decodeJson @ StencilOperation" 847 _ -> Left ("decodeJsonStencilOperation - unknown tag: " <> tag)
848 848
849instance encodeJsonBlendEquation :: EncodeJson BlendEquation where 849instance encodeJsonBlendEquation :: EncodeJson BlendEquation where
850 encodeJson v = case v of 850 encodeJson v = case v of
@@ -864,7 +864,7 @@ instance decodeJsonBlendEquation :: DecodeJson BlendEquation where
864 "FuncReverseSubtract" -> pure FuncReverseSubtract 864 "FuncReverseSubtract" -> pure FuncReverseSubtract
865 "Min" -> pure Min 865 "Min" -> pure Min
866 "Max" -> pure Max 866 "Max" -> pure Max
867 _ -> unsafeCrashWith "decodeJson @ BlendEquation" 867 _ -> Left ("decodeJsonBlendEquation - unknown tag: " <> tag)
868 868
869instance encodeJsonBlendingFactor :: EncodeJson BlendingFactor where 869instance encodeJsonBlendingFactor :: EncodeJson BlendingFactor where
870 encodeJson v = case v of 870 encodeJson v = case v of
@@ -904,7 +904,7 @@ instance decodeJsonBlendingFactor :: DecodeJson BlendingFactor where
904 "ConstantAlpha" -> pure ConstantAlpha 904 "ConstantAlpha" -> pure ConstantAlpha
905 "OneMinusConstantAlpha" -> pure OneMinusConstantAlpha 905 "OneMinusConstantAlpha" -> pure OneMinusConstantAlpha
906 "SrcAlphaSaturate" -> pure SrcAlphaSaturate 906 "SrcAlphaSaturate" -> pure SrcAlphaSaturate
907 _ -> unsafeCrashWith "decodeJson @ BlendingFactor" 907 _ -> Left ("decodeJsonBlendingFactor - unknown tag: " <> tag)
908 908
909instance encodeJsonLogicOperation :: EncodeJson LogicOperation where 909instance encodeJsonLogicOperation :: EncodeJson LogicOperation where
910 encodeJson v = case v of 910 encodeJson v = case v of
@@ -946,7 +946,7 @@ instance decodeJsonLogicOperation :: DecodeJson LogicOperation where
946 "OrInverted" -> pure OrInverted 946 "OrInverted" -> pure OrInverted
947 "Nand" -> pure Nand 947 "Nand" -> pure Nand
948 "Set" -> pure Set 948 "Set" -> pure Set
949 _ -> unsafeCrashWith "decodeJson @ LogicOperation" 949 _ -> Left ("decodeJsonLogicOperation - unknown tag: " <> tag)
950 950
951instance encodeJsonStencilOps :: EncodeJson StencilOps where 951instance encodeJsonStencilOps :: EncodeJson StencilOps where
952 encodeJson v = case v of 952 encodeJson v = case v of
@@ -968,7 +968,7 @@ instance decodeJsonStencilOps :: DecodeJson StencilOps where
968 { frontStencilOp:frontStencilOp 968 { frontStencilOp:frontStencilOp
969 , backStencilOp:backStencilOp 969 , backStencilOp:backStencilOp
970 } 970 }
971 _ -> unsafeCrashWith "decodeJson @ StencilOps" 971 _ -> Left ("decodeJsonStencilOps - unknown tag: " <> tag)
972 972
973instance encodeJsonStencilTest :: EncodeJson StencilTest where 973instance encodeJsonStencilTest :: EncodeJson StencilTest where
974 encodeJson v = case v of 974 encodeJson v = case v of
@@ -993,7 +993,7 @@ instance decodeJsonStencilTest :: DecodeJson StencilTest where
993 , stencilReference:stencilReference 993 , stencilReference:stencilReference
994 , stencilMask:stencilMask 994 , stencilMask:stencilMask
995 } 995 }
996 _ -> unsafeCrashWith "decodeJson @ StencilTest" 996 _ -> Left ("decodeJsonStencilTest - unknown tag: " <> tag)
997 997
998instance encodeJsonStencilTests :: EncodeJson StencilTests where 998instance encodeJsonStencilTests :: EncodeJson StencilTests where
999 encodeJson v = case v of 999 encodeJson v = case v of
@@ -1005,7 +1005,7 @@ instance decodeJsonStencilTests :: DecodeJson StencilTests where
1005 tag <- obj .? "tag" 1005 tag <- obj .? "tag"
1006 case tag of 1006 case tag of
1007 "StencilTests" -> StencilTests <$> obj .? "arg0" <*> obj .? "arg1" 1007 "StencilTests" -> StencilTests <$> obj .? "arg0" <*> obj .? "arg1"
1008 _ -> unsafeCrashWith "decodeJson @ StencilTests" 1008 _ -> Left ("decodeJsonStencilTests - unknown tag: " <> tag)
1009 1009
1010instance encodeJsonFetchPrimitive :: EncodeJson FetchPrimitive where 1010instance encodeJsonFetchPrimitive :: EncodeJson FetchPrimitive where
1011 encodeJson v = case v of 1011 encodeJson v = case v of
@@ -1025,7 +1025,7 @@ instance decodeJsonFetchPrimitive :: DecodeJson FetchPrimitive where
1025 "Triangles" -> pure Triangles 1025 "Triangles" -> pure Triangles
1026 "LinesAdjacency" -> pure LinesAdjacency 1026 "LinesAdjacency" -> pure LinesAdjacency
1027 "TrianglesAdjacency" -> pure TrianglesAdjacency 1027 "TrianglesAdjacency" -> pure TrianglesAdjacency
1028 _ -> unsafeCrashWith "decodeJson @ FetchPrimitive" 1028 _ -> Left ("decodeJsonFetchPrimitive - unknown tag: " <> tag)
1029 1029
1030instance encodeJsonOutputPrimitive :: EncodeJson OutputPrimitive where 1030instance encodeJsonOutputPrimitive :: EncodeJson OutputPrimitive where
1031 encodeJson v = case v of 1031 encodeJson v = case v of
@@ -1041,7 +1041,7 @@ instance decodeJsonOutputPrimitive :: DecodeJson OutputPrimitive where
1041 "TrianglesOutput" -> pure TrianglesOutput 1041 "TrianglesOutput" -> pure TrianglesOutput
1042 "LinesOutput" -> pure LinesOutput 1042 "LinesOutput" -> pure LinesOutput
1043 "PointsOutput" -> pure PointsOutput 1043 "PointsOutput" -> pure PointsOutput
1044 _ -> unsafeCrashWith "decodeJson @ OutputPrimitive" 1044 _ -> Left ("decodeJsonOutputPrimitive - unknown tag: " <> tag)
1045 1045
1046instance encodeJsonColorArity :: EncodeJson ColorArity where 1046instance encodeJsonColorArity :: EncodeJson ColorArity where
1047 encodeJson v = case v of 1047 encodeJson v = case v of
@@ -1059,7 +1059,7 @@ instance decodeJsonColorArity :: DecodeJson ColorArity where
1059 "RG" -> pure RG 1059 "RG" -> pure RG
1060 "RGB" -> pure RGB 1060 "RGB" -> pure RGB
1061 "RGBA" -> pure RGBA 1061 "RGBA" -> pure RGBA
1062 _ -> unsafeCrashWith "decodeJson @ ColorArity" 1062 _ -> Left ("decodeJsonColorArity - unknown tag: " <> tag)
1063 1063
1064instance encodeJsonBlending :: EncodeJson Blending where 1064instance encodeJsonBlending :: EncodeJson Blending where
1065 encodeJson v = case v of 1065 encodeJson v = case v of
@@ -1100,7 +1100,7 @@ instance decodeJsonBlending :: DecodeJson Blending where
1100 , alphaFDst:alphaFDst 1100 , alphaFDst:alphaFDst
1101 , color:color 1101 , color:color
1102 } 1102 }
1103 _ -> unsafeCrashWith "decodeJson @ Blending" 1103 _ -> Left ("decodeJsonBlending - unknown tag: " <> tag)
1104 1104
1105instance encodeJsonRasterContext :: EncodeJson RasterContext where 1105instance encodeJsonRasterContext :: EncodeJson RasterContext where
1106 encodeJson v = case v of 1106 encodeJson v = case v of
@@ -1116,7 +1116,7 @@ instance decodeJsonRasterContext :: DecodeJson RasterContext where
1116 "PointCtx" -> PointCtx <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2" 1116 "PointCtx" -> PointCtx <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2"
1117 "LineCtx" -> LineCtx <$> obj .? "arg0" <*> obj .? "arg1" 1117 "LineCtx" -> LineCtx <$> obj .? "arg0" <*> obj .? "arg1"
1118 "TriangleCtx" -> TriangleCtx <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2" <*> obj .? "arg3" 1118 "TriangleCtx" -> TriangleCtx <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2" <*> obj .? "arg3"
1119 _ -> unsafeCrashWith "decodeJson @ RasterContext" 1119 _ -> Left ("decodeJsonRasterContext - unknown tag: " <> tag)
1120 1120
1121instance encodeJsonFragmentOperation :: EncodeJson FragmentOperation where 1121instance encodeJsonFragmentOperation :: EncodeJson FragmentOperation where
1122 encodeJson v = case v of 1122 encodeJson v = case v of
@@ -1132,7 +1132,7 @@ instance decodeJsonFragmentOperation :: DecodeJson FragmentOperation where
1132 "DepthOp" -> DepthOp <$> obj .? "arg0" <*> obj .? "arg1" 1132 "DepthOp" -> DepthOp <$> obj .? "arg0" <*> obj .? "arg1"
1133 "StencilOp" -> StencilOp <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2" 1133 "StencilOp" -> StencilOp <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2"
1134 "ColorOp" -> ColorOp <$> obj .? "arg0" <*> obj .? "arg1" 1134 "ColorOp" -> ColorOp <$> obj .? "arg0" <*> obj .? "arg1"
1135 _ -> unsafeCrashWith "decodeJson @ FragmentOperation" 1135 _ -> Left ("decodeJsonFragmentOperation - unknown tag: " <> tag)
1136 1136
1137instance encodeJsonAccumulationContext :: EncodeJson AccumulationContext where 1137instance encodeJsonAccumulationContext :: EncodeJson AccumulationContext where
1138 encodeJson v = case v of 1138 encodeJson v = case v of
@@ -1154,7 +1154,7 @@ instance decodeJsonAccumulationContext :: DecodeJson AccumulationContext where
1154 { accViewportName:accViewportName 1154 { accViewportName:accViewportName
1155 , accOperations:accOperations 1155 , accOperations:accOperations
1156 } 1156 }
1157 _ -> unsafeCrashWith "decodeJson @ AccumulationContext" 1157 _ -> Left ("decodeJsonAccumulationContext - unknown tag: " <> tag)
1158 1158
1159instance encodeJsonTextureDataType :: EncodeJson TextureDataType where 1159instance encodeJsonTextureDataType :: EncodeJson TextureDataType where
1160 encodeJson v = case v of 1160 encodeJson v = case v of
@@ -1172,7 +1172,7 @@ instance decodeJsonTextureDataType :: DecodeJson TextureDataType where
1172 "IntT" -> IntT <$> obj .? "arg0" 1172 "IntT" -> IntT <$> obj .? "arg0"
1173 "WordT" -> WordT <$> obj .? "arg0" 1173 "WordT" -> WordT <$> obj .? "arg0"
1174 "ShadowT" -> pure ShadowT 1174 "ShadowT" -> pure ShadowT
1175 _ -> unsafeCrashWith "decodeJson @ TextureDataType" 1175 _ -> Left ("decodeJsonTextureDataType - unknown tag: " <> tag)
1176 1176
1177instance encodeJsonTextureType :: EncodeJson TextureType where 1177instance encodeJsonTextureType :: EncodeJson TextureType where
1178 encodeJson v = case v of 1178 encodeJson v = case v of
@@ -1196,7 +1196,7 @@ instance decodeJsonTextureType :: DecodeJson TextureType where
1196 "TextureRect" -> TextureRect <$> obj .? "arg0" 1196 "TextureRect" -> TextureRect <$> obj .? "arg0"
1197 "Texture2DMS" -> Texture2DMS <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2" <*> obj .? "arg3" 1197 "Texture2DMS" -> Texture2DMS <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2" <*> obj .? "arg3"
1198 "TextureBuffer" -> TextureBuffer <$> obj .? "arg0" 1198 "TextureBuffer" -> TextureBuffer <$> obj .? "arg0"
1199 _ -> unsafeCrashWith "decodeJson @ TextureType" 1199 _ -> Left ("decodeJsonTextureType - unknown tag: " <> tag)
1200 1200
1201instance encodeJsonMipMap :: EncodeJson MipMap where 1201instance encodeJsonMipMap :: EncodeJson MipMap where
1202 encodeJson v = case v of 1202 encodeJson v = case v of
@@ -1212,7 +1212,7 @@ instance decodeJsonMipMap :: DecodeJson MipMap where
1212 "Mip" -> Mip <$> obj .? "arg0" <*> obj .? "arg1" 1212 "Mip" -> Mip <$> obj .? "arg0" <*> obj .? "arg1"
1213 "NoMip" -> pure NoMip 1213 "NoMip" -> pure NoMip
1214 "AutoMip" -> AutoMip <$> obj .? "arg0" <*> obj .? "arg1" 1214 "AutoMip" -> AutoMip <$> obj .? "arg0" <*> obj .? "arg1"
1215 _ -> unsafeCrashWith "decodeJson @ MipMap" 1215 _ -> Left ("decodeJsonMipMap - unknown tag: " <> tag)
1216 1216
1217instance encodeJsonFilter :: EncodeJson Filter where 1217instance encodeJsonFilter :: EncodeJson Filter where
1218 encodeJson v = case v of 1218 encodeJson v = case v of
@@ -1234,7 +1234,7 @@ instance decodeJsonFilter :: DecodeJson Filter where
1234 "NearestMipmapLinear" -> pure NearestMipmapLinear 1234 "NearestMipmapLinear" -> pure NearestMipmapLinear
1235 "LinearMipmapNearest" -> pure LinearMipmapNearest 1235 "LinearMipmapNearest" -> pure LinearMipmapNearest
1236 "LinearMipmapLinear" -> pure LinearMipmapLinear 1236 "LinearMipmapLinear" -> pure LinearMipmapLinear
1237 _ -> unsafeCrashWith "decodeJson @ Filter" 1237 _ -> Left ("decodeJsonFilter - unknown tag: " <> tag)
1238 1238
1239instance encodeJsonEdgeMode :: EncodeJson EdgeMode where 1239instance encodeJsonEdgeMode :: EncodeJson EdgeMode where
1240 encodeJson v = case v of 1240 encodeJson v = case v of
@@ -1252,7 +1252,7 @@ instance decodeJsonEdgeMode :: DecodeJson EdgeMode where
1252 "MirroredRepeat" -> pure MirroredRepeat 1252 "MirroredRepeat" -> pure MirroredRepeat
1253 "ClampToEdge" -> pure ClampToEdge 1253 "ClampToEdge" -> pure ClampToEdge
1254 "ClampToBorder" -> pure ClampToBorder 1254 "ClampToBorder" -> pure ClampToBorder
1255 _ -> unsafeCrashWith "decodeJson @ EdgeMode" 1255 _ -> Left ("decodeJsonEdgeMode - unknown tag: " <> tag)
1256 1256
1257instance encodeJsonImageSemantic :: EncodeJson ImageSemantic where 1257instance encodeJsonImageSemantic :: EncodeJson ImageSemantic where
1258 encodeJson v = case v of 1258 encodeJson v = case v of
@@ -1268,7 +1268,7 @@ instance decodeJsonImageSemantic :: DecodeJson ImageSemantic where
1268 "Depth" -> pure Depth 1268 "Depth" -> pure Depth
1269 "Stencil" -> pure Stencil 1269 "Stencil" -> pure Stencil
1270 "Color" -> pure Color 1270 "Color" -> pure Color
1271 _ -> unsafeCrashWith "decodeJson @ ImageSemantic" 1271 _ -> Left ("decodeJsonImageSemantic - unknown tag: " <> tag)
1272 1272
1273instance encodeJsonImageRef :: EncodeJson ImageRef where 1273instance encodeJsonImageRef :: EncodeJson ImageRef where
1274 encodeJson v = case v of 1274 encodeJson v = case v of
@@ -1282,7 +1282,7 @@ instance decodeJsonImageRef :: DecodeJson ImageRef where
1282 case tag of 1282 case tag of
1283 "TextureImage" -> TextureImage <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2" 1283 "TextureImage" -> TextureImage <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2"
1284 "Framebuffer" -> Framebuffer <$> obj .? "arg0" 1284 "Framebuffer" -> Framebuffer <$> obj .? "arg0"
1285 _ -> unsafeCrashWith "decodeJson @ ImageRef" 1285 _ -> Left ("decodeJsonImageRef - unknown tag: " <> tag)
1286 1286
1287instance encodeJsonClearImage :: EncodeJson ClearImage where 1287instance encodeJsonClearImage :: EncodeJson ClearImage where
1288 encodeJson v = case v of 1288 encodeJson v = case v of
@@ -1304,7 +1304,7 @@ instance decodeJsonClearImage :: DecodeJson ClearImage where
1304 { imageSemantic:imageSemantic 1304 { imageSemantic:imageSemantic
1305 , clearValue:clearValue 1305 , clearValue:clearValue
1306 } 1306 }
1307 _ -> unsafeCrashWith "decodeJson @ ClearImage" 1307 _ -> Left ("decodeJsonClearImage - unknown tag: " <> tag)
1308 1308
1309instance encodeJsonCommand :: EncodeJson Command where 1309instance encodeJsonCommand :: EncodeJson Command where
1310 encodeJson v = case v of 1310 encodeJson v = case v of
@@ -1340,7 +1340,7 @@ instance decodeJsonCommand :: DecodeJson Command where
1340 "GenerateMipMap" -> GenerateMipMap <$> obj .? "arg0" 1340 "GenerateMipMap" -> GenerateMipMap <$> obj .? "arg0"
1341 "SaveImage" -> SaveImage <$> obj .? "arg0" <*> obj .? "arg1" 1341 "SaveImage" -> SaveImage <$> obj .? "arg0" <*> obj .? "arg1"
1342 "LoadImage" -> LoadImage <$> obj .? "arg0" <*> obj .? "arg1" 1342 "LoadImage" -> LoadImage <$> obj .? "arg0" <*> obj .? "arg1"
1343 _ -> unsafeCrashWith "decodeJson @ Command" 1343 _ -> Left ("decodeJsonCommand - unknown tag: " <> tag)
1344 1344
1345instance encodeJsonSamplerDescriptor :: EncodeJson SamplerDescriptor where 1345instance encodeJsonSamplerDescriptor :: EncodeJson SamplerDescriptor where
1346 encodeJson v = case v of 1346 encodeJson v = case v of
@@ -1386,7 +1386,7 @@ instance decodeJsonSamplerDescriptor :: DecodeJson SamplerDescriptor where
1386 , samplerLodBias:samplerLodBias 1386 , samplerLodBias:samplerLodBias
1387 , samplerCompareFunc:samplerCompareFunc 1387 , samplerCompareFunc:samplerCompareFunc
1388 } 1388 }
1389 _ -> unsafeCrashWith "decodeJson @ SamplerDescriptor" 1389 _ -> Left ("decodeJsonSamplerDescriptor - unknown tag: " <> tag)
1390 1390
1391instance encodeJsonTextureDescriptor :: EncodeJson TextureDescriptor where 1391instance encodeJsonTextureDescriptor :: EncodeJson TextureDescriptor where
1392 encodeJson v = case v of 1392 encodeJson v = case v of
@@ -1420,7 +1420,7 @@ instance decodeJsonTextureDescriptor :: DecodeJson TextureDescriptor where
1420 , textureBaseLevel:textureBaseLevel 1420 , textureBaseLevel:textureBaseLevel
1421 , textureMaxLevel:textureMaxLevel 1421 , textureMaxLevel:textureMaxLevel
1422 } 1422 }
1423 _ -> unsafeCrashWith "decodeJson @ TextureDescriptor" 1423 _ -> Left ("decodeJsonTextureDescriptor - unknown tag: " <> tag)
1424 1424
1425instance encodeJsonParameter :: EncodeJson Parameter where 1425instance encodeJsonParameter :: EncodeJson Parameter where
1426 encodeJson v = case v of 1426 encodeJson v = case v of
@@ -1442,7 +1442,7 @@ instance decodeJsonParameter :: DecodeJson Parameter where
1442 { name:name 1442 { name:name
1443 , ty:ty 1443 , ty:ty
1444 } 1444 }
1445 _ -> unsafeCrashWith "decodeJson @ Parameter" 1445 _ -> Left ("decodeJsonParameter - unknown tag: " <> tag)
1446 1446
1447instance encodeJsonProgram :: EncodeJson Program where 1447instance encodeJsonProgram :: EncodeJson Program where
1448 encodeJson v = case v of 1448 encodeJson v = case v of
@@ -1479,7 +1479,7 @@ instance decodeJsonProgram :: DecodeJson Program where
1479 , geometryShader:geometryShader 1479 , geometryShader:geometryShader
1480 , fragmentShader:fragmentShader 1480 , fragmentShader:fragmentShader
1481 } 1481 }
1482 _ -> unsafeCrashWith "decodeJson @ Program" 1482 _ -> Left ("decodeJsonProgram - unknown tag: " <> tag)
1483 1483
1484instance encodeJsonSlot :: EncodeJson Slot where 1484instance encodeJsonSlot :: EncodeJson Slot where
1485 encodeJson v = case v of 1485 encodeJson v = case v of
@@ -1510,7 +1510,7 @@ instance decodeJsonSlot :: DecodeJson Slot where
1510 , slotPrimitive:slotPrimitive 1510 , slotPrimitive:slotPrimitive
1511 , slotPrograms:slotPrograms 1511 , slotPrograms:slotPrograms
1512 } 1512 }
1513 _ -> unsafeCrashWith "decodeJson @ Slot" 1513 _ -> Left ("decodeJsonSlot - unknown tag: " <> tag)
1514 1514
1515instance encodeJsonStreamData :: EncodeJson StreamData where 1515instance encodeJsonStreamData :: EncodeJson StreamData where
1516 encodeJson v = case v of 1516 encodeJson v = case v of
@@ -1538,7 +1538,7 @@ instance decodeJsonStreamData :: DecodeJson StreamData where
1538 , streamPrimitive:streamPrimitive 1538 , streamPrimitive:streamPrimitive
1539 , streamPrograms:streamPrograms 1539 , streamPrograms:streamPrograms
1540 } 1540 }
1541 _ -> unsafeCrashWith "decodeJson @ StreamData" 1541 _ -> Left ("decodeJsonStreamData - unknown tag: " <> tag)
1542 1542
1543instance encodeJsonTargetItem :: EncodeJson TargetItem where 1543instance encodeJsonTargetItem :: EncodeJson TargetItem where
1544 encodeJson v = case v of 1544 encodeJson v = case v of
@@ -1560,7 +1560,7 @@ instance decodeJsonTargetItem :: DecodeJson TargetItem where
1560 { targetSemantic:targetSemantic 1560 { targetSemantic:targetSemantic
1561 , targetRef:targetRef 1561 , targetRef:targetRef
1562 } 1562 }
1563 _ -> unsafeCrashWith "decodeJson @ TargetItem" 1563 _ -> Left ("decodeJsonTargetItem - unknown tag: " <> tag)
1564 1564
1565instance encodeJsonRenderTarget :: EncodeJson RenderTarget where 1565instance encodeJsonRenderTarget :: EncodeJson RenderTarget where
1566 encodeJson v = case v of 1566 encodeJson v = case v of
@@ -1579,7 +1579,7 @@ instance decodeJsonRenderTarget :: DecodeJson RenderTarget where
1579 pure $ RenderTarget 1579 pure $ RenderTarget
1580 { renderTargets:renderTargets 1580 { renderTargets:renderTargets
1581 } 1581 }
1582 _ -> unsafeCrashWith "decodeJson @ RenderTarget" 1582 _ -> Left ("decodeJsonRenderTarget - unknown tag: " <> tag)
1583 1583
1584instance encodeJsonBackend :: EncodeJson Backend where 1584instance encodeJsonBackend :: EncodeJson Backend where
1585 encodeJson v = case v of 1585 encodeJson v = case v of
@@ -1593,7 +1593,7 @@ instance decodeJsonBackend :: DecodeJson Backend where
1593 case tag of 1593 case tag of
1594 "WebGL1" -> pure WebGL1 1594 "WebGL1" -> pure WebGL1
1595 "OpenGL33" -> pure OpenGL33 1595 "OpenGL33" -> pure OpenGL33
1596 _ -> unsafeCrashWith "decodeJson @ Backend" 1596 _ -> Left ("decodeJsonBackend - unknown tag: " <> tag)
1597 1597
1598instance encodeJsonPipeline :: EncodeJson Pipeline where 1598instance encodeJsonPipeline :: EncodeJson Pipeline where
1599 encodeJson v = case v of 1599 encodeJson v = case v of
@@ -1636,5 +1636,5 @@ instance decodeJsonPipeline :: DecodeJson Pipeline where
1636 , streams:streams 1636 , streams:streams
1637 , commands:commands 1637 , commands:commands
1638 } 1638 }
1639 _ -> unsafeCrashWith "decodeJson @ Pipeline" 1639 _ -> Left ("decodeJsonPipeline - unknown tag: " <> tag)
1640 1640
diff --git a/ddl/out/LambdaCube.Mesh.purs b/ddl/out/LambdaCube.Mesh.purs
index bf6dfa7..7b39700 100644
--- a/ddl/out/LambdaCube.Mesh.purs
+++ b/ddl/out/LambdaCube.Mesh.purs
@@ -1,14 +1,15 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2-- 2016-11-11T11:17:03.517567000000Z 2-- 2016-11-12T12:48:59.903978000000Z
3 3
4module LambdaCube.Mesh where 4module LambdaCube.Mesh where
5import Prelude 5import Prelude
6import Data.Generic 6import Data.Generic
7import Data.Either (Either(..))
7import Data.Maybe (Maybe(..)) 8import Data.Maybe (Maybe(..))
8import Data.StrMap (StrMap(..)) 9import Data.StrMap (StrMap(..))
9import Data.Map (Map(..)) 10import Data.Map (Map(..))
10import Data.List (List(..)) 11import Data.List (List(..))
11import Linear 12import LinearBase
12 13
13import Data.Argonaut.Encode.Combinators ((~>), (:=)) 14import Data.Argonaut.Encode.Combinators ((~>), (:=))
14import Data.Argonaut.Decode.Combinators ((.?)) 15import Data.Argonaut.Decode.Combinators ((.?))
@@ -16,7 +17,6 @@ import Data.Argonaut.Core (jsonEmptyObject)
16import Data.Argonaut.Printer (printJson) 17import Data.Argonaut.Printer (printJson)
17import Data.Argonaut.Encode (class EncodeJson, encodeJson) 18import Data.Argonaut.Encode (class EncodeJson, encodeJson)
18import Data.Argonaut.Decode (class DecodeJson, decodeJson) 19import Data.Argonaut.Decode (class DecodeJson, decodeJson)
19import Partial.Unsafe (unsafeCrashWith)
20 20
21 21
22data MeshAttribute 22data MeshAttribute
@@ -72,7 +72,7 @@ instance decodeJsonMeshAttribute :: DecodeJson MeshAttribute where
72 "A_M44F" -> A_M44F <$> obj .? "arg0" 72 "A_M44F" -> A_M44F <$> obj .? "arg0"
73 "A_Int" -> A_Int <$> obj .? "arg0" 73 "A_Int" -> A_Int <$> obj .? "arg0"
74 "A_Word" -> A_Word <$> obj .? "arg0" 74 "A_Word" -> A_Word <$> obj .? "arg0"
75 _ -> unsafeCrashWith "decodeJson @ MeshAttribute" 75 _ -> Left ("decodeJsonMeshAttribute - unknown tag: " <> tag)
76 76
77instance encodeJsonMeshPrimitive :: EncodeJson MeshPrimitive where 77instance encodeJsonMeshPrimitive :: EncodeJson MeshPrimitive where
78 encodeJson v = case v of 78 encodeJson v = case v of
@@ -92,7 +92,7 @@ instance decodeJsonMeshPrimitive :: DecodeJson MeshPrimitive where
92 "P_Triangles" -> pure P_Triangles 92 "P_Triangles" -> pure P_Triangles
93 "P_TriangleStripI" -> P_TriangleStripI <$> obj .? "arg0" 93 "P_TriangleStripI" -> P_TriangleStripI <$> obj .? "arg0"
94 "P_TrianglesI" -> P_TrianglesI <$> obj .? "arg0" 94 "P_TrianglesI" -> P_TrianglesI <$> obj .? "arg0"
95 _ -> unsafeCrashWith "decodeJson @ MeshPrimitive" 95 _ -> Left ("decodeJsonMeshPrimitive - unknown tag: " <> tag)
96 96
97instance encodeJsonMesh :: EncodeJson Mesh where 97instance encodeJsonMesh :: EncodeJson Mesh where
98 encodeJson v = case v of 98 encodeJson v = case v of
@@ -114,5 +114,5 @@ instance decodeJsonMesh :: DecodeJson Mesh where
114 { mAttributes:mAttributes 114 { mAttributes:mAttributes
115 , mPrimitive:mPrimitive 115 , mPrimitive:mPrimitive
116 } 116 }
117 _ -> unsafeCrashWith "decodeJson @ Mesh" 117 _ -> Left ("decodeJsonMesh - unknown tag: " <> tag)
118 118
diff --git a/ddl/out/LambdaCube.PipelineSchema.purs b/ddl/out/LambdaCube.PipelineSchema.purs
index 7194b8c..2a40ce2 100644
--- a/ddl/out/LambdaCube.PipelineSchema.purs
+++ b/ddl/out/LambdaCube.PipelineSchema.purs
@@ -1,14 +1,15 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2-- 2016-11-11T11:17:03.470118000000Z 2-- 2016-11-12T12:48:59.849829000000Z
3 3
4module LambdaCube.PipelineSchema where 4module LambdaCube.PipelineSchema where
5import Prelude 5import Prelude
6import Data.Generic 6import Data.Generic
7import Data.Either (Either(..))
7import Data.Maybe (Maybe(..)) 8import Data.Maybe (Maybe(..))
8import Data.StrMap (StrMap(..)) 9import Data.StrMap (StrMap(..))
9import Data.Map (Map(..)) 10import Data.Map (Map(..))
10import Data.List (List(..)) 11import Data.List (List(..))
11import Linear 12import LinearBase
12 13
13import Data.Argonaut.Encode.Combinators ((~>), (:=)) 14import Data.Argonaut.Encode.Combinators ((~>), (:=))
14import Data.Argonaut.Decode.Combinators ((.?)) 15import Data.Argonaut.Decode.Combinators ((.?))
@@ -16,7 +17,6 @@ import Data.Argonaut.Core (jsonEmptyObject)
16import Data.Argonaut.Printer (printJson) 17import Data.Argonaut.Printer (printJson)
17import Data.Argonaut.Encode (class EncodeJson, encodeJson) 18import Data.Argonaut.Encode (class EncodeJson, encodeJson)
18import Data.Argonaut.Decode (class DecodeJson, decodeJson) 19import Data.Argonaut.Decode (class DecodeJson, decodeJson)
19import Partial.Unsafe (unsafeCrashWith)
20 20
21import LambdaCube.IR 21import LambdaCube.IR
22 22
@@ -109,7 +109,7 @@ instance decodeJsonStreamType :: DecodeJson StreamType where
109 "Attribute_M42F" -> pure Attribute_M42F 109 "Attribute_M42F" -> pure Attribute_M42F
110 "Attribute_M43F" -> pure Attribute_M43F 110 "Attribute_M43F" -> pure Attribute_M43F
111 "Attribute_M44F" -> pure Attribute_M44F 111 "Attribute_M44F" -> pure Attribute_M44F
112 _ -> unsafeCrashWith "decodeJson @ StreamType" 112 _ -> Left ("decodeJsonStreamType - unknown tag: " <> tag)
113 113
114instance encodeJsonObjectArraySchema :: EncodeJson ObjectArraySchema where 114instance encodeJsonObjectArraySchema :: EncodeJson ObjectArraySchema where
115 encodeJson v = case v of 115 encodeJson v = case v of
@@ -131,7 +131,7 @@ instance decodeJsonObjectArraySchema :: DecodeJson ObjectArraySchema where
131 { primitive:primitive 131 { primitive:primitive
132 , attributes:attributes 132 , attributes:attributes
133 } 133 }
134 _ -> unsafeCrashWith "decodeJson @ ObjectArraySchema" 134 _ -> Left ("decodeJsonObjectArraySchema - unknown tag: " <> tag)
135 135
136instance encodeJsonPipelineSchema :: EncodeJson PipelineSchema where 136instance encodeJsonPipelineSchema :: EncodeJson PipelineSchema where
137 encodeJson v = case v of 137 encodeJson v = case v of
@@ -153,5 +153,5 @@ instance decodeJsonPipelineSchema :: DecodeJson PipelineSchema where
153 { objectArrays:objectArrays 153 { objectArrays:objectArrays
154 , uniforms:uniforms 154 , uniforms:uniforms
155 } 155 }
156 _ -> unsafeCrashWith "decodeJson @ PipelineSchema" 156 _ -> Left ("decodeJsonPipelineSchema - unknown tag: " <> tag)
157 157
diff --git a/ddl/out/LambdaCube.TypeInfo.purs b/ddl/out/LambdaCube.TypeInfo.purs
index 28854e1..a7b5705 100644
--- a/ddl/out/LambdaCube.TypeInfo.purs
+++ b/ddl/out/LambdaCube.TypeInfo.purs
@@ -1,14 +1,15 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2-- 2016-11-11T11:17:03.605012000000Z 2-- 2016-11-12T12:48:59.998839000000Z
3 3
4module LambdaCube.TypeInfo where 4module LambdaCube.TypeInfo where
5import Prelude 5import Prelude
6import Data.Generic 6import Data.Generic
7import Data.Either (Either(..))
7import Data.Maybe (Maybe(..)) 8import Data.Maybe (Maybe(..))
8import Data.StrMap (StrMap(..)) 9import Data.StrMap (StrMap(..))
9import Data.Map (Map(..)) 10import Data.Map (Map(..))
10import Data.List (List(..)) 11import Data.List (List(..))
11import Linear 12import LinearBase
12 13
13import Data.Argonaut.Encode.Combinators ((~>), (:=)) 14import Data.Argonaut.Encode.Combinators ((~>), (:=))
14import Data.Argonaut.Decode.Combinators ((.?)) 15import Data.Argonaut.Decode.Combinators ((.?))
@@ -16,7 +17,6 @@ import Data.Argonaut.Core (jsonEmptyObject)
16import Data.Argonaut.Printer (printJson) 17import Data.Argonaut.Printer (printJson)
17import Data.Argonaut.Encode (class EncodeJson, encodeJson) 18import Data.Argonaut.Encode (class EncodeJson, encodeJson)
18import Data.Argonaut.Decode (class DecodeJson, decodeJson) 19import Data.Argonaut.Decode (class DecodeJson, decodeJson)
19import Partial.Unsafe (unsafeCrashWith)
20 20
21import LambdaCube.IR 21import LambdaCube.IR
22 22
@@ -82,7 +82,7 @@ instance decodeJsonRange :: DecodeJson Range where
82 , endLine:endLine 82 , endLine:endLine
83 , endColumn:endColumn 83 , endColumn:endColumn
84 } 84 }
85 _ -> unsafeCrashWith "decodeJson @ Range" 85 _ -> Left ("decodeJsonRange - unknown tag: " <> tag)
86 86
87instance encodeJsonTypeInfo :: EncodeJson TypeInfo where 87instance encodeJsonTypeInfo :: EncodeJson TypeInfo where
88 encodeJson v = case v of 88 encodeJson v = case v of
@@ -104,7 +104,7 @@ instance decodeJsonTypeInfo :: DecodeJson TypeInfo where
104 { range:range 104 { range:range
105 , text:text 105 , text:text
106 } 106 }
107 _ -> unsafeCrashWith "decodeJson @ TypeInfo" 107 _ -> Left ("decodeJsonTypeInfo - unknown tag: " <> tag)
108 108
109instance encodeJsonWarningInfo :: EncodeJson WarningInfo where 109instance encodeJsonWarningInfo :: EncodeJson WarningInfo where
110 encodeJson v = case v of 110 encodeJson v = case v of
@@ -126,7 +126,7 @@ instance decodeJsonWarningInfo :: DecodeJson WarningInfo where
126 { wRange:wRange 126 { wRange:wRange
127 , wText:wText 127 , wText:wText
128 } 128 }
129 _ -> unsafeCrashWith "decodeJson @ WarningInfo" 129 _ -> Left ("decodeJsonWarningInfo - unknown tag: " <> tag)
130 130
131instance encodeJsonErrorInfo :: EncodeJson ErrorInfo where 131instance encodeJsonErrorInfo :: EncodeJson ErrorInfo where
132 encodeJson v = case v of 132 encodeJson v = case v of
@@ -148,7 +148,7 @@ instance decodeJsonErrorInfo :: DecodeJson ErrorInfo where
148 { eRange:eRange 148 { eRange:eRange
149 , eText:eText 149 , eText:eText
150 } 150 }
151 _ -> unsafeCrashWith "decodeJson @ ErrorInfo" 151 _ -> Left ("decodeJsonErrorInfo - unknown tag: " <> tag)
152 152
153instance encodeJsonCompileResult :: EncodeJson CompileResult where 153instance encodeJsonCompileResult :: EncodeJson CompileResult where
154 encodeJson v = case v of 154 encodeJson v = case v of
@@ -162,5 +162,5 @@ instance decodeJsonCompileResult :: DecodeJson CompileResult where
162 case tag of 162 case tag of
163 "CompileError" -> CompileError <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2" <*> obj .? "arg3" 163 "CompileError" -> CompileError <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2" <*> obj .? "arg3"
164 "Compiled" -> Compiled <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2" <*> obj .? "arg3" <*> obj .? "arg4" 164 "Compiled" -> Compiled <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2" <*> obj .? "arg3" <*> obj .? "arg4"
165 _ -> unsafeCrashWith "decodeJson @ CompileResult" 165 _ -> Left ("decodeJsonCompileResult - unknown tag: " <> tag)
166 166
diff --git a/ddl/out/TestData.purs b/ddl/out/TestData.purs
index 8254f2e..c8af32b 100644
--- a/ddl/out/TestData.purs
+++ b/ddl/out/TestData.purs
@@ -1,14 +1,15 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2-- 2016-11-11T11:17:03.685172000000Z 2-- 2016-11-12T12:49:00.081060000000Z
3 3
4module TestData where 4module TestData where
5import Prelude 5import Prelude
6import Data.Generic 6import Data.Generic
7import Data.Either (Either(..))
7import Data.Maybe (Maybe(..)) 8import Data.Maybe (Maybe(..))
8import Data.StrMap (StrMap(..)) 9import Data.StrMap (StrMap(..))
9import Data.Map (Map(..)) 10import Data.Map (Map(..))
10import Data.List (List(..)) 11import Data.List (List(..))
11import Linear 12import LinearBase
12 13
13import Data.Argonaut.Encode.Combinators ((~>), (:=)) 14import Data.Argonaut.Encode.Combinators ((~>), (:=))
14import Data.Argonaut.Decode.Combinators ((.?)) 15import Data.Argonaut.Decode.Combinators ((.?))
@@ -16,7 +17,6 @@ import Data.Argonaut.Core (jsonEmptyObject)
16import Data.Argonaut.Printer (printJson) 17import Data.Argonaut.Printer (printJson)
17import Data.Argonaut.Encode (class EncodeJson, encodeJson) 18import Data.Argonaut.Encode (class EncodeJson, encodeJson)
18import Data.Argonaut.Decode (class DecodeJson, decodeJson) 19import Data.Argonaut.Decode (class DecodeJson, decodeJson)
19import Partial.Unsafe (unsafeCrashWith)
20 20
21import LambdaCube.IR 21import LambdaCube.IR
22import LambdaCube.Mesh 22import LambdaCube.Mesh
@@ -97,7 +97,7 @@ instance decodeJsonClientInfo :: DecodeJson ClientInfo where
97 { clientName:clientName 97 { clientName:clientName
98 , clientBackend:clientBackend 98 , clientBackend:clientBackend
99 } 99 }
100 _ -> unsafeCrashWith "decodeJson @ ClientInfo" 100 _ -> Left ("decodeJsonClientInfo - unknown tag: " <> tag)
101 101
102instance encodeJsonFrame :: EncodeJson Frame where 102instance encodeJsonFrame :: EncodeJson Frame where
103 encodeJson v = case v of 103 encodeJson v = case v of
@@ -122,7 +122,7 @@ instance decodeJsonFrame :: DecodeJson Frame where
122 , frameUniforms:frameUniforms 122 , frameUniforms:frameUniforms
123 , frameTextures:frameTextures 123 , frameTextures:frameTextures
124 } 124 }
125 _ -> unsafeCrashWith "decodeJson @ Frame" 125 _ -> Left ("decodeJsonFrame - unknown tag: " <> tag)
126 126
127instance encodeJsonScene :: EncodeJson Scene where 127instance encodeJsonScene :: EncodeJson Scene where
128 encodeJson v = case v of 128 encodeJson v = case v of
@@ -150,7 +150,7 @@ instance decodeJsonScene :: DecodeJson Scene where
150 , renderTargetHeight:renderTargetHeight 150 , renderTargetHeight:renderTargetHeight
151 , frames:frames 151 , frames:frames
152 } 152 }
153 _ -> unsafeCrashWith "decodeJson @ Scene" 153 _ -> Left ("decodeJsonScene - unknown tag: " <> tag)
154 154
155instance encodeJsonPipelineInfo :: EncodeJson PipelineInfo where 155instance encodeJsonPipelineInfo :: EncodeJson PipelineInfo where
156 encodeJson v = case v of 156 encodeJson v = case v of
@@ -172,7 +172,7 @@ instance decodeJsonPipelineInfo :: DecodeJson PipelineInfo where
172 { pipelineName:pipelineName 172 { pipelineName:pipelineName
173 , pipeline:pipeline 173 , pipeline:pipeline
174 } 174 }
175 _ -> unsafeCrashWith "decodeJson @ PipelineInfo" 175 _ -> Left ("decodeJsonPipelineInfo - unknown tag: " <> tag)
176 176
177instance encodeJsonRenderJob :: EncodeJson RenderJob where 177instance encodeJsonRenderJob :: EncodeJson RenderJob where
178 encodeJson v = case v of 178 encodeJson v = case v of
@@ -203,7 +203,7 @@ instance decodeJsonRenderJob :: DecodeJson RenderJob where
203 , scenes:scenes 203 , scenes:scenes
204 , pipelines:pipelines 204 , pipelines:pipelines
205 } 205 }
206 _ -> unsafeCrashWith "decodeJson @ RenderJob" 206 _ -> Left ("decodeJsonRenderJob - unknown tag: " <> tag)
207 207
208instance encodeJsonFrameResult :: EncodeJson FrameResult where 208instance encodeJsonFrameResult :: EncodeJson FrameResult where
209 encodeJson v = case v of 209 encodeJson v = case v of
@@ -228,7 +228,7 @@ instance decodeJsonFrameResult :: DecodeJson FrameResult where
228 , frImageWidth:frImageWidth 228 , frImageWidth:frImageWidth
229 , frImageHeight:frImageHeight 229 , frImageHeight:frImageHeight
230 } 230 }
231 _ -> unsafeCrashWith "decodeJson @ FrameResult" 231 _ -> Left ("decodeJsonFrameResult - unknown tag: " <> tag)
232 232
233instance encodeJsonRenderJobResult :: EncodeJson RenderJobResult where 233instance encodeJsonRenderJobResult :: EncodeJson RenderJobResult where
234 encodeJson v = case v of 234 encodeJson v = case v of
@@ -242,5 +242,5 @@ instance decodeJsonRenderJobResult :: DecodeJson RenderJobResult where
242 case tag of 242 case tag of
243 "RenderJobResult" -> RenderJobResult <$> obj .? "arg0" 243 "RenderJobResult" -> RenderJobResult <$> obj .? "arg0"
244 "RenderJobError" -> RenderJobError <$> obj .? "arg0" 244 "RenderJobError" -> RenderJobError <$> obj .? "arg0"
245 _ -> unsafeCrashWith "decodeJson @ RenderJobResult" 245 _ -> Left ("decodeJsonRenderJobResult - unknown tag: " <> tag)
246 246
diff --git a/ddl/templates/data.purs.ede b/ddl/templates/data.purs.ede
index f21a6bc..a411b32 100644
--- a/ddl/templates/data.purs.ede
+++ b/ddl/templates/data.purs.ede
@@ -39,7 +39,7 @@ type {{ t.value.aliasName }} = {{ t.value.aliasType | psType }}
39 39
40{% endcase %} 40{% endcase %}
41{% endfor %} 41{% endfor %}
42{% for t in definitions %}{% let l = t.value.instances | length %}{% if l < 0 %}{# FIXME!!! #} 42{% for t in definitions %}{% let l = t.value.instances | length %}{% if l > 0 %}{# FIXME!!! #}
43derive instance generic{{ t.value.dataName }} :: Generic {{ t.value.dataName }} 43derive instance generic{{ t.value.dataName }} :: Generic {{ t.value.dataName }}
44instance show{{ t.value.dataName }} :: Show {{ t.value.dataName }} where show = gShow 44instance show{{ t.value.dataName }} :: Show {{ t.value.dataName }} where show = gShow
45instance eq{{ t.value.dataName }} :: Eq {{ t.value.dataName }} where eq = gEq 45instance eq{{ t.value.dataName }} :: Eq {{ t.value.dataName }} where eq = gEq