summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPéter Diviánszky <divipp@gmail.com>2016-09-15 22:54:25 +0200
committerPéter Diviánszky <divipp@gmail.com>2016-09-15 22:54:49 +0200
commitf4af737a0d4a1fd3b3c6babc2c119129df34f77d (patch)
tree1cb8f9b845df02e7dec7bd1c3c8e2eb4ece0016a
parente2386c8a0feea845e89022c6a919b01c87c6c17a (diff)
update dependencies & generate purescript code for psc v0.9.3
-rw-r--r--ddl/ddl.cabal9
-rw-r--r--ddl/out/LambdaCube.IR.cpp2
-rw-r--r--ddl/out/LambdaCube.IR.cs2
-rw-r--r--ddl/out/LambdaCube.IR.hpp2
-rw-r--r--ddl/out/LambdaCube.IR.hs2
-rw-r--r--ddl/out/LambdaCube.IR.purs54
-rw-r--r--ddl/out/LambdaCube.IR.swift2
-rw-r--r--ddl/out/LambdaCube.IR2.hpp2
-rw-r--r--ddl/out/LambdaCube.Mesh.cpp2
-rw-r--r--ddl/out/LambdaCube.Mesh.cs2
-rw-r--r--ddl/out/LambdaCube.Mesh.hpp2
-rw-r--r--ddl/out/LambdaCube.Mesh.hs2
-rw-r--r--ddl/out/LambdaCube.Mesh.purs13
-rw-r--r--ddl/out/LambdaCube.Mesh.swift2
-rw-r--r--ddl/out/LambdaCube.Mesh2.hpp2
-rw-r--r--ddl/out/LambdaCube.PipelineSchema.cpp2
-rw-r--r--ddl/out/LambdaCube.PipelineSchema.cs2
-rw-r--r--ddl/out/LambdaCube.PipelineSchema.hpp2
-rw-r--r--ddl/out/LambdaCube.PipelineSchema.hs2
-rw-r--r--ddl/out/LambdaCube.PipelineSchema.purs13
-rw-r--r--ddl/out/LambdaCube.PipelineSchema.swift2
-rw-r--r--ddl/out/LambdaCube.PipelineSchema2.hpp2
-rw-r--r--ddl/out/LambdaCube.TypeInfo.cpp2
-rw-r--r--ddl/out/LambdaCube.TypeInfo.cs2
-rw-r--r--ddl/out/LambdaCube.TypeInfo.hpp2
-rw-r--r--ddl/out/LambdaCube.TypeInfo.hs2
-rw-r--r--ddl/out/LambdaCube.TypeInfo.purs13
-rw-r--r--ddl/out/LambdaCube.TypeInfo.swift2
-rw-r--r--ddl/out/LambdaCube.TypeInfo2.hpp2
-rw-r--r--ddl/out/TestData.cpp2
-rw-r--r--ddl/out/TestData.cs2
-rw-r--r--ddl/out/TestData.hpp2
-rw-r--r--ddl/out/TestData.hs2
-rw-r--r--ddl/out/TestData.purs17
-rw-r--r--ddl/out/TestData.swift2
-rw-r--r--ddl/out/TestData2.hpp2
-rw-r--r--ddl/out/java/LambdaCube/IR/AccumulationContext.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/ArrayValue.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/Backend.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/BlendEquation.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/Blending.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/BlendingFactor.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/ClearImage.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/ColorArity.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/Command.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/ComparisonFunction.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/CullMode.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/EdgeMode.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/FetchPrimitive.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/Filter.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/FragmentOperation.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/FrontFace.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/ImageRef.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/ImageSemantic.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/InputType.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/JSON.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/LogicOperation.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/MipMap.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/OutputPrimitive.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/Parameter.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/Pipeline.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/PointSize.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/PointSpriteCoordOrigin.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/PolygonMode.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/PolygonOffset.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/Program.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/ProvokingVertex.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/RasterContext.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/RenderTarget.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/SamplerDescriptor.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/Slot.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/StencilOperation.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/StencilOps.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/StencilTest.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/StencilTests.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/StreamData.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/TargetItem.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/TextureDataType.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/TextureDescriptor.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/TextureType.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/Value.java2
-rw-r--r--ddl/out/java/LambdaCube/Mesh/JSON.java2
-rw-r--r--ddl/out/java/LambdaCube/Mesh/Mesh.java2
-rw-r--r--ddl/out/java/LambdaCube/Mesh/MeshAttribute.java2
-rw-r--r--ddl/out/java/LambdaCube/Mesh/MeshPrimitive.java2
-rw-r--r--ddl/out/java/LambdaCube/PipelineSchema/JSON.java2
-rw-r--r--ddl/out/java/LambdaCube/PipelineSchema/ObjectArraySchema.java2
-rw-r--r--ddl/out/java/LambdaCube/PipelineSchema/PipelineSchema.java2
-rw-r--r--ddl/out/java/LambdaCube/PipelineSchema/StreamType.java2
-rw-r--r--ddl/out/java/LambdaCube/TypeInfo/CompileResult.java2
-rw-r--r--ddl/out/java/LambdaCube/TypeInfo/JSON.java2
-rw-r--r--ddl/out/java/LambdaCube/TypeInfo/Range.java2
-rw-r--r--ddl/out/java/LambdaCube/TypeInfo/TypeInfo.java2
-rw-r--r--ddl/out/java/TestData/ClientInfo.java2
-rw-r--r--ddl/out/java/TestData/Frame.java2
-rw-r--r--ddl/out/java/TestData/FrameResult.java2
-rw-r--r--ddl/out/java/TestData/JSON.java2
-rw-r--r--ddl/out/java/TestData/PipelineInfo.java2
-rw-r--r--ddl/out/java/TestData/RenderJob.java2
-rw-r--r--ddl/out/java/TestData/RenderJobResult.java2
-rw-r--r--ddl/out/java/TestData/Scene.java2
-rw-r--r--ddl/templates/data.purs.ede11
-rw-r--r--lambdacube-ir.haskell/lambdacube-ir.cabal2
103 files changed, 198 insertions, 124 deletions
diff --git a/ddl/ddl.cabal b/ddl/ddl.cabal
index 2e4a210..5a59010 100644
--- a/ddl/ddl.cabal
+++ b/ddl/ddl.cabal
@@ -2,7 +2,7 @@
2-- see http://haskell.org/cabal/users-guide/ 2-- see http://haskell.org/cabal/users-guide/
3 3
4name: ddl 4name: ddl
5version: 0.1.0.0 5version: 0.1.1.0
6synopsis: data definition language with ADT support 6synopsis: data definition language with ADT support
7-- description: 7-- description:
8license: BSD3 8license: BSD3
@@ -20,14 +20,15 @@ executable ddl-generate
20 other-modules: Language, Definitions 20 other-modules: Language, Definitions
21 other-extensions: RankNTypes, OverloadedStrings, DeriveGeneric, LambdaCase, FlexibleInstances 21 other-extensions: RankNTypes, OverloadedStrings, DeriveGeneric, LambdaCase, FlexibleInstances
22 build-depends: 22 build-depends:
23 base >=4.8 && <4.9 23 base >=4.8 && <4.10
24 , aeson >=0.9 && <0.10 24 , aeson == 0.11.*
25 , mtl >=2.2 && <2.3 25 , mtl >=2.2 && <2.3
26 , containers >=0.5 && <0.6 26 , containers >=0.5 && <0.6
27 , text >=1.2 && <1.3 27 , text >=1.2 && <1.3
28 , unordered-containers >=0.2 && <0.3 28 , unordered-containers >=0.2 && <0.3
29 , directory >=1.2 && <1.3 29 , directory >=1.2 && <1.3
30 , time >=1.5 && <1.6 30 , time >=1.5 && <1.7
31 , filepath >= 1.4 && <1.5
31 , ede 32 , ede
32 -- hs-source-dirs: 33 -- hs-source-dirs:
33 default-language: Haskell2010 34 default-language: Haskell2010
diff --git a/ddl/out/LambdaCube.IR.cpp b/ddl/out/LambdaCube.IR.cpp
index 6fd1c1d..9504b00 100644
--- a/ddl/out/LambdaCube.IR.cpp
+++ b/ddl/out/LambdaCube.IR.cpp
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4#include "LambdaCube.IR.hpp" 4#include "LambdaCube.IR.hpp"
5template<> json toJSON<std::shared_ptr<ArrayValue>>(std::shared_ptr<ArrayValue> &v) { 5template<> json toJSON<std::shared_ptr<ArrayValue>>(std::shared_ptr<ArrayValue> &v) {
diff --git a/ddl/out/LambdaCube.IR.cs b/ddl/out/LambdaCube.IR.cs
index 2ae4f62..1edf01f 100644
--- a/ddl/out/LambdaCube.IR.cs
+++ b/ddl/out/LambdaCube.IR.cs
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4using System; 4using System;
5using System.Linq; 5using System.Linq;
diff --git a/ddl/out/LambdaCube.IR.hpp b/ddl/out/LambdaCube.IR.hpp
index 53d411e..f1c548b 100644
--- a/ddl/out/LambdaCube.IR.hpp
+++ b/ddl/out/LambdaCube.IR.hpp
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4#ifndef HEADER_LambdaCube.IR_H 4#ifndef HEADER_LambdaCube.IR_H
5#define HEADER_LambdaCube.IR_H 5#define HEADER_LambdaCube.IR_H
diff --git a/ddl/out/LambdaCube.IR.hs b/ddl/out/LambdaCube.IR.hs
index cb22f67..a69131c 100644
--- a/ddl/out/LambdaCube.IR.hs
+++ b/ddl/out/LambdaCube.IR.hs
@@ -1,5 +1,5 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2-- 2016-04-01T16:25:34.381854000000Z 2-- 2016-09-15T19:44:47.624123918Z
3 3
4{-# LANGUAGE OverloadedStrings, RecordWildCards #-} 4{-# LANGUAGE OverloadedStrings, RecordWildCards #-}
5module LambdaCube.IR where 5module LambdaCube.IR where
diff --git a/ddl/out/LambdaCube.IR.purs b/ddl/out/LambdaCube.IR.purs
index 8b2a76e..644bd3a 100644
--- a/ddl/out/LambdaCube.IR.purs
+++ b/ddl/out/LambdaCube.IR.purs
@@ -1,5 +1,5 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2-- 2016-04-01T16:25:34.381854000000Z 2-- 2016-09-15T19:44:47.624123918Z
3 3
4module LambdaCube.IR where 4module LambdaCube.IR where
5import Prelude 5import Prelude
@@ -10,11 +10,13 @@ import Data.Map (Map(..))
10import Data.List (List(..)) 10import Data.List (List(..))
11import Linear 11import Linear
12 12
13import Data.Argonaut.Combinators ((~>), (:=), (.?)) 13import Data.Argonaut.Encode.Combinators ((~>), (:=))
14import Data.Argonaut.Decode.Combinators ((.?))
14import Data.Argonaut.Core (jsonEmptyObject) 15import Data.Argonaut.Core (jsonEmptyObject)
15import Data.Argonaut.Printer (printJson) 16import Data.Argonaut.Printer (printJson)
16import Data.Argonaut.Encode (EncodeJson, encodeJson) 17import Data.Argonaut.Encode (class EncodeJson, encodeJson)
17import Data.Argonaut.Decode (DecodeJson, decodeJson) 18import Data.Argonaut.Decode (class DecodeJson, decodeJson)
19import Partial.Unsafe (unsafeCrashWith)
18 20
19 21
20type StreamName = Int 22type StreamName = Int
@@ -497,6 +499,7 @@ instance decodeJsonArrayValue :: DecodeJson ArrayValue where
497 "VIntArray" -> VIntArray <$> obj .? "arg0" 499 "VIntArray" -> VIntArray <$> obj .? "arg0"
498 "VWordArray" -> VWordArray <$> obj .? "arg0" 500 "VWordArray" -> VWordArray <$> obj .? "arg0"
499 "VFloatArray" -> VFloatArray <$> obj .? "arg0" 501 "VFloatArray" -> VFloatArray <$> obj .? "arg0"
502 _ -> unsafeCrashWith "decodeJson @ ArrayValue"
500 503
501instance encodeJsonValue :: EncodeJson Value where 504instance encodeJsonValue :: EncodeJson Value where
502 encodeJson v = case v of 505 encodeJson v = case v of
@@ -556,6 +559,7 @@ instance decodeJsonValue :: DecodeJson Value where
556 "VM42F" -> VM42F <$> obj .? "arg0" 559 "VM42F" -> VM42F <$> obj .? "arg0"
557 "VM43F" -> VM43F <$> obj .? "arg0" 560 "VM43F" -> VM43F <$> obj .? "arg0"
558 "VM44F" -> VM44F <$> obj .? "arg0" 561 "VM44F" -> VM44F <$> obj .? "arg0"
562 _ -> unsafeCrashWith "decodeJson @ Value"
559 563
560instance encodeJsonInputType :: EncodeJson InputType where 564instance encodeJsonInputType :: EncodeJson InputType where
561 encodeJson v = case v of 565 encodeJson v = case v of
@@ -687,6 +691,7 @@ instance decodeJsonInputType :: DecodeJson InputType where
687 "UTexture2DMSArray" -> pure UTexture2DMSArray 691 "UTexture2DMSArray" -> pure UTexture2DMSArray
688 "UTextureBuffer" -> pure UTextureBuffer 692 "UTextureBuffer" -> pure UTextureBuffer
689 "UTexture2DRect" -> pure UTexture2DRect 693 "UTexture2DRect" -> pure UTexture2DRect
694 _ -> unsafeCrashWith "decodeJson @ InputType"
690 695
691instance encodeJsonPointSpriteCoordOrigin :: EncodeJson PointSpriteCoordOrigin where 696instance encodeJsonPointSpriteCoordOrigin :: EncodeJson PointSpriteCoordOrigin where
692 encodeJson v = case v of 697 encodeJson v = case v of
@@ -700,6 +705,7 @@ instance decodeJsonPointSpriteCoordOrigin :: DecodeJson PointSpriteCoordOrigin w
700 case tag of 705 case tag of
701 "LowerLeft" -> pure LowerLeft 706 "LowerLeft" -> pure LowerLeft
702 "UpperLeft" -> pure UpperLeft 707 "UpperLeft" -> pure UpperLeft
708 _ -> unsafeCrashWith "decodeJson @ PointSpriteCoordOrigin"
703 709
704instance encodeJsonPointSize :: EncodeJson PointSize where 710instance encodeJsonPointSize :: EncodeJson PointSize where
705 encodeJson v = case v of 711 encodeJson v = case v of
@@ -713,6 +719,7 @@ instance decodeJsonPointSize :: DecodeJson PointSize where
713 case tag of 719 case tag of
714 "PointSize" -> PointSize <$> obj .? "arg0" 720 "PointSize" -> PointSize <$> obj .? "arg0"
715 "ProgramPointSize" -> pure ProgramPointSize 721 "ProgramPointSize" -> pure ProgramPointSize
722 _ -> unsafeCrashWith "decodeJson @ PointSize"
716 723
717instance encodeJsonPolygonOffset :: EncodeJson PolygonOffset where 724instance encodeJsonPolygonOffset :: EncodeJson PolygonOffset where
718 encodeJson v = case v of 725 encodeJson v = case v of
@@ -726,6 +733,7 @@ instance decodeJsonPolygonOffset :: DecodeJson PolygonOffset where
726 case tag of 733 case tag of
727 "NoOffset" -> pure NoOffset 734 "NoOffset" -> pure NoOffset
728 "Offset" -> Offset <$> obj .? "arg0" <*> obj .? "arg1" 735 "Offset" -> Offset <$> obj .? "arg0" <*> obj .? "arg1"
736 _ -> unsafeCrashWith "decodeJson @ PolygonOffset"
729 737
730instance encodeJsonFrontFace :: EncodeJson FrontFace where 738instance encodeJsonFrontFace :: EncodeJson FrontFace where
731 encodeJson v = case v of 739 encodeJson v = case v of
@@ -739,6 +747,7 @@ instance decodeJsonFrontFace :: DecodeJson FrontFace where
739 case tag of 747 case tag of
740 "CCW" -> pure CCW 748 "CCW" -> pure CCW
741 "CW" -> pure CW 749 "CW" -> pure CW
750 _ -> unsafeCrashWith "decodeJson @ FrontFace"
742 751
743instance encodeJsonPolygonMode :: EncodeJson PolygonMode where 752instance encodeJsonPolygonMode :: EncodeJson PolygonMode where
744 encodeJson v = case v of 753 encodeJson v = case v of
@@ -754,6 +763,7 @@ instance decodeJsonPolygonMode :: DecodeJson PolygonMode where
754 "PolygonPoint" -> PolygonPoint <$> obj .? "arg0" 763 "PolygonPoint" -> PolygonPoint <$> obj .? "arg0"
755 "PolygonLine" -> PolygonLine <$> obj .? "arg0" 764 "PolygonLine" -> PolygonLine <$> obj .? "arg0"
756 "PolygonFill" -> pure PolygonFill 765 "PolygonFill" -> pure PolygonFill
766 _ -> unsafeCrashWith "decodeJson @ PolygonMode"
757 767
758instance encodeJsonProvokingVertex :: EncodeJson ProvokingVertex where 768instance encodeJsonProvokingVertex :: EncodeJson ProvokingVertex where
759 encodeJson v = case v of 769 encodeJson v = case v of
@@ -767,6 +777,7 @@ instance decodeJsonProvokingVertex :: DecodeJson ProvokingVertex where
767 case tag of 777 case tag of
768 "FirstVertex" -> pure FirstVertex 778 "FirstVertex" -> pure FirstVertex
769 "LastVertex" -> pure LastVertex 779 "LastVertex" -> pure LastVertex
780 _ -> unsafeCrashWith "decodeJson @ ProvokingVertex"
770 781
771instance encodeJsonCullMode :: EncodeJson CullMode where 782instance encodeJsonCullMode :: EncodeJson CullMode where
772 encodeJson v = case v of 783 encodeJson v = case v of
@@ -782,6 +793,7 @@ instance decodeJsonCullMode :: DecodeJson CullMode where
782 "CullNone" -> pure CullNone 793 "CullNone" -> pure CullNone
783 "CullFront" -> CullFront <$> obj .? "arg0" 794 "CullFront" -> CullFront <$> obj .? "arg0"
784 "CullBack" -> CullBack <$> obj .? "arg0" 795 "CullBack" -> CullBack <$> obj .? "arg0"
796 _ -> unsafeCrashWith "decodeJson @ CullMode"
785 797
786instance encodeJsonComparisonFunction :: EncodeJson ComparisonFunction where 798instance encodeJsonComparisonFunction :: EncodeJson ComparisonFunction where
787 encodeJson v = case v of 799 encodeJson v = case v of
@@ -807,6 +819,7 @@ instance decodeJsonComparisonFunction :: DecodeJson ComparisonFunction where
807 "Notequal" -> pure Notequal 819 "Notequal" -> pure Notequal
808 "Gequal" -> pure Gequal 820 "Gequal" -> pure Gequal
809 "Always" -> pure Always 821 "Always" -> pure Always
822 _ -> unsafeCrashWith "decodeJson @ ComparisonFunction"
810 823
811instance encodeJsonStencilOperation :: EncodeJson StencilOperation where 824instance encodeJsonStencilOperation :: EncodeJson StencilOperation where
812 encodeJson v = case v of 825 encodeJson v = case v of
@@ -832,6 +845,7 @@ instance decodeJsonStencilOperation :: DecodeJson StencilOperation where
832 "OpDecr" -> pure OpDecr 845 "OpDecr" -> pure OpDecr
833 "OpDecrWrap" -> pure OpDecrWrap 846 "OpDecrWrap" -> pure OpDecrWrap
834 "OpInvert" -> pure OpInvert 847 "OpInvert" -> pure OpInvert
848 _ -> unsafeCrashWith "decodeJson @ StencilOperation"
835 849
836instance encodeJsonBlendEquation :: EncodeJson BlendEquation where 850instance encodeJsonBlendEquation :: EncodeJson BlendEquation where
837 encodeJson v = case v of 851 encodeJson v = case v of
@@ -851,6 +865,7 @@ instance decodeJsonBlendEquation :: DecodeJson BlendEquation where
851 "FuncReverseSubtract" -> pure FuncReverseSubtract 865 "FuncReverseSubtract" -> pure FuncReverseSubtract
852 "Min" -> pure Min 866 "Min" -> pure Min
853 "Max" -> pure Max 867 "Max" -> pure Max
868 _ -> unsafeCrashWith "decodeJson @ BlendEquation"
854 869
855instance encodeJsonBlendingFactor :: EncodeJson BlendingFactor where 870instance encodeJsonBlendingFactor :: EncodeJson BlendingFactor where
856 encodeJson v = case v of 871 encodeJson v = case v of
@@ -890,6 +905,7 @@ instance decodeJsonBlendingFactor :: DecodeJson BlendingFactor where
890 "ConstantAlpha" -> pure ConstantAlpha 905 "ConstantAlpha" -> pure ConstantAlpha
891 "OneMinusConstantAlpha" -> pure OneMinusConstantAlpha 906 "OneMinusConstantAlpha" -> pure OneMinusConstantAlpha
892 "SrcAlphaSaturate" -> pure SrcAlphaSaturate 907 "SrcAlphaSaturate" -> pure SrcAlphaSaturate
908 _ -> unsafeCrashWith "decodeJson @ BlendingFactor"
893 909
894instance encodeJsonLogicOperation :: EncodeJson LogicOperation where 910instance encodeJsonLogicOperation :: EncodeJson LogicOperation where
895 encodeJson v = case v of 911 encodeJson v = case v of
@@ -931,6 +947,7 @@ instance decodeJsonLogicOperation :: DecodeJson LogicOperation where
931 "OrInverted" -> pure OrInverted 947 "OrInverted" -> pure OrInverted
932 "Nand" -> pure Nand 948 "Nand" -> pure Nand
933 "Set" -> pure Set 949 "Set" -> pure Set
950 _ -> unsafeCrashWith "decodeJson @ LogicOperation"
934 951
935instance encodeJsonStencilOps :: EncodeJson StencilOps where 952instance encodeJsonStencilOps :: EncodeJson StencilOps where
936 encodeJson v = case v of 953 encodeJson v = case v of
@@ -952,6 +969,7 @@ instance decodeJsonStencilOps :: DecodeJson StencilOps where
952 { frontStencilOp:frontStencilOp 969 { frontStencilOp:frontStencilOp
953 , backStencilOp:backStencilOp 970 , backStencilOp:backStencilOp
954 } 971 }
972 _ -> unsafeCrashWith "decodeJson @ StencilOps"
955 973
956instance encodeJsonStencilTest :: EncodeJson StencilTest where 974instance encodeJsonStencilTest :: EncodeJson StencilTest where
957 encodeJson v = case v of 975 encodeJson v = case v of
@@ -976,6 +994,7 @@ instance decodeJsonStencilTest :: DecodeJson StencilTest where
976 , stencilReference:stencilReference 994 , stencilReference:stencilReference
977 , stencilMask:stencilMask 995 , stencilMask:stencilMask
978 } 996 }
997 _ -> unsafeCrashWith "decodeJson @ StencilTest"
979 998
980instance encodeJsonStencilTests :: EncodeJson StencilTests where 999instance encodeJsonStencilTests :: EncodeJson StencilTests where
981 encodeJson v = case v of 1000 encodeJson v = case v of
@@ -987,6 +1006,7 @@ instance decodeJsonStencilTests :: DecodeJson StencilTests where
987 tag <- obj .? "tag" 1006 tag <- obj .? "tag"
988 case tag of 1007 case tag of
989 "StencilTests" -> StencilTests <$> obj .? "arg0" <*> obj .? "arg1" 1008 "StencilTests" -> StencilTests <$> obj .? "arg0" <*> obj .? "arg1"
1009 _ -> unsafeCrashWith "decodeJson @ StencilTests"
990 1010
991instance encodeJsonFetchPrimitive :: EncodeJson FetchPrimitive where 1011instance encodeJsonFetchPrimitive :: EncodeJson FetchPrimitive where
992 encodeJson v = case v of 1012 encodeJson v = case v of
@@ -1006,6 +1026,7 @@ instance decodeJsonFetchPrimitive :: DecodeJson FetchPrimitive where
1006 "Triangles" -> pure Triangles 1026 "Triangles" -> pure Triangles
1007 "LinesAdjacency" -> pure LinesAdjacency 1027 "LinesAdjacency" -> pure LinesAdjacency
1008 "TrianglesAdjacency" -> pure TrianglesAdjacency 1028 "TrianglesAdjacency" -> pure TrianglesAdjacency
1029 _ -> unsafeCrashWith "decodeJson @ FetchPrimitive"
1009 1030
1010instance encodeJsonOutputPrimitive :: EncodeJson OutputPrimitive where 1031instance encodeJsonOutputPrimitive :: EncodeJson OutputPrimitive where
1011 encodeJson v = case v of 1032 encodeJson v = case v of
@@ -1021,6 +1042,7 @@ instance decodeJsonOutputPrimitive :: DecodeJson OutputPrimitive where
1021 "TrianglesOutput" -> pure TrianglesOutput 1042 "TrianglesOutput" -> pure TrianglesOutput
1022 "LinesOutput" -> pure LinesOutput 1043 "LinesOutput" -> pure LinesOutput
1023 "PointsOutput" -> pure PointsOutput 1044 "PointsOutput" -> pure PointsOutput
1045 _ -> unsafeCrashWith "decodeJson @ OutputPrimitive"
1024 1046
1025instance encodeJsonColorArity :: EncodeJson ColorArity where 1047instance encodeJsonColorArity :: EncodeJson ColorArity where
1026 encodeJson v = case v of 1048 encodeJson v = case v of
@@ -1038,6 +1060,7 @@ instance decodeJsonColorArity :: DecodeJson ColorArity where
1038 "RG" -> pure RG 1060 "RG" -> pure RG
1039 "RGB" -> pure RGB 1061 "RGB" -> pure RGB
1040 "RGBA" -> pure RGBA 1062 "RGBA" -> pure RGBA
1063 _ -> unsafeCrashWith "decodeJson @ ColorArity"
1041 1064
1042instance encodeJsonBlending :: EncodeJson Blending where 1065instance encodeJsonBlending :: EncodeJson Blending where
1043 encodeJson v = case v of 1066 encodeJson v = case v of
@@ -1078,6 +1101,7 @@ instance decodeJsonBlending :: DecodeJson Blending where
1078 , alphaFDst:alphaFDst 1101 , alphaFDst:alphaFDst
1079 , color:color 1102 , color:color
1080 } 1103 }
1104 _ -> unsafeCrashWith "decodeJson @ Blending"
1081 1105
1082instance encodeJsonRasterContext :: EncodeJson RasterContext where 1106instance encodeJsonRasterContext :: EncodeJson RasterContext where
1083 encodeJson v = case v of 1107 encodeJson v = case v of
@@ -1093,6 +1117,7 @@ instance decodeJsonRasterContext :: DecodeJson RasterContext where
1093 "PointCtx" -> PointCtx <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2" 1117 "PointCtx" -> PointCtx <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2"
1094 "LineCtx" -> LineCtx <$> obj .? "arg0" <*> obj .? "arg1" 1118 "LineCtx" -> LineCtx <$> obj .? "arg0" <*> obj .? "arg1"
1095 "TriangleCtx" -> TriangleCtx <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2" <*> obj .? "arg3" 1119 "TriangleCtx" -> TriangleCtx <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2" <*> obj .? "arg3"
1120 _ -> unsafeCrashWith "decodeJson @ RasterContext"
1096 1121
1097instance encodeJsonFragmentOperation :: EncodeJson FragmentOperation where 1122instance encodeJsonFragmentOperation :: EncodeJson FragmentOperation where
1098 encodeJson v = case v of 1123 encodeJson v = case v of
@@ -1108,6 +1133,7 @@ instance decodeJsonFragmentOperation :: DecodeJson FragmentOperation where
1108 "DepthOp" -> DepthOp <$> obj .? "arg0" <*> obj .? "arg1" 1133 "DepthOp" -> DepthOp <$> obj .? "arg0" <*> obj .? "arg1"
1109 "StencilOp" -> StencilOp <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2" 1134 "StencilOp" -> StencilOp <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2"
1110 "ColorOp" -> ColorOp <$> obj .? "arg0" <*> obj .? "arg1" 1135 "ColorOp" -> ColorOp <$> obj .? "arg0" <*> obj .? "arg1"
1136 _ -> unsafeCrashWith "decodeJson @ FragmentOperation"
1111 1137
1112instance encodeJsonAccumulationContext :: EncodeJson AccumulationContext where 1138instance encodeJsonAccumulationContext :: EncodeJson AccumulationContext where
1113 encodeJson v = case v of 1139 encodeJson v = case v of
@@ -1129,6 +1155,7 @@ instance decodeJsonAccumulationContext :: DecodeJson AccumulationContext where
1129 { accViewportName:accViewportName 1155 { accViewportName:accViewportName
1130 , accOperations:accOperations 1156 , accOperations:accOperations
1131 } 1157 }
1158 _ -> unsafeCrashWith "decodeJson @ AccumulationContext"
1132 1159
1133instance encodeJsonTextureDataType :: EncodeJson TextureDataType where 1160instance encodeJsonTextureDataType :: EncodeJson TextureDataType where
1134 encodeJson v = case v of 1161 encodeJson v = case v of
@@ -1146,6 +1173,7 @@ instance decodeJsonTextureDataType :: DecodeJson TextureDataType where
1146 "IntT" -> IntT <$> obj .? "arg0" 1173 "IntT" -> IntT <$> obj .? "arg0"
1147 "WordT" -> WordT <$> obj .? "arg0" 1174 "WordT" -> WordT <$> obj .? "arg0"
1148 "ShadowT" -> pure ShadowT 1175 "ShadowT" -> pure ShadowT
1176 _ -> unsafeCrashWith "decodeJson @ TextureDataType"
1149 1177
1150instance encodeJsonTextureType :: EncodeJson TextureType where 1178instance encodeJsonTextureType :: EncodeJson TextureType where
1151 encodeJson v = case v of 1179 encodeJson v = case v of
@@ -1169,6 +1197,7 @@ instance decodeJsonTextureType :: DecodeJson TextureType where
1169 "TextureRect" -> TextureRect <$> obj .? "arg0" 1197 "TextureRect" -> TextureRect <$> obj .? "arg0"
1170 "Texture2DMS" -> Texture2DMS <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2" <*> obj .? "arg3" 1198 "Texture2DMS" -> Texture2DMS <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2" <*> obj .? "arg3"
1171 "TextureBuffer" -> TextureBuffer <$> obj .? "arg0" 1199 "TextureBuffer" -> TextureBuffer <$> obj .? "arg0"
1200 _ -> unsafeCrashWith "decodeJson @ TextureType"
1172 1201
1173instance encodeJsonMipMap :: EncodeJson MipMap where 1202instance encodeJsonMipMap :: EncodeJson MipMap where
1174 encodeJson v = case v of 1203 encodeJson v = case v of
@@ -1184,6 +1213,7 @@ instance decodeJsonMipMap :: DecodeJson MipMap where
1184 "Mip" -> Mip <$> obj .? "arg0" <*> obj .? "arg1" 1213 "Mip" -> Mip <$> obj .? "arg0" <*> obj .? "arg1"
1185 "NoMip" -> pure NoMip 1214 "NoMip" -> pure NoMip
1186 "AutoMip" -> AutoMip <$> obj .? "arg0" <*> obj .? "arg1" 1215 "AutoMip" -> AutoMip <$> obj .? "arg0" <*> obj .? "arg1"
1216 _ -> unsafeCrashWith "decodeJson @ MipMap"
1187 1217
1188instance encodeJsonFilter :: EncodeJson Filter where 1218instance encodeJsonFilter :: EncodeJson Filter where
1189 encodeJson v = case v of 1219 encodeJson v = case v of
@@ -1205,6 +1235,7 @@ instance decodeJsonFilter :: DecodeJson Filter where
1205 "NearestMipmapLinear" -> pure NearestMipmapLinear 1235 "NearestMipmapLinear" -> pure NearestMipmapLinear
1206 "LinearMipmapNearest" -> pure LinearMipmapNearest 1236 "LinearMipmapNearest" -> pure LinearMipmapNearest
1207 "LinearMipmapLinear" -> pure LinearMipmapLinear 1237 "LinearMipmapLinear" -> pure LinearMipmapLinear
1238 _ -> unsafeCrashWith "decodeJson @ Filter"
1208 1239
1209instance encodeJsonEdgeMode :: EncodeJson EdgeMode where 1240instance encodeJsonEdgeMode :: EncodeJson EdgeMode where
1210 encodeJson v = case v of 1241 encodeJson v = case v of
@@ -1222,6 +1253,7 @@ instance decodeJsonEdgeMode :: DecodeJson EdgeMode where
1222 "MirroredRepeat" -> pure MirroredRepeat 1253 "MirroredRepeat" -> pure MirroredRepeat
1223 "ClampToEdge" -> pure ClampToEdge 1254 "ClampToEdge" -> pure ClampToEdge
1224 "ClampToBorder" -> pure ClampToBorder 1255 "ClampToBorder" -> pure ClampToBorder
1256 _ -> unsafeCrashWith "decodeJson @ EdgeMode"
1225 1257
1226instance encodeJsonImageSemantic :: EncodeJson ImageSemantic where 1258instance encodeJsonImageSemantic :: EncodeJson ImageSemantic where
1227 encodeJson v = case v of 1259 encodeJson v = case v of
@@ -1237,6 +1269,7 @@ instance decodeJsonImageSemantic :: DecodeJson ImageSemantic where
1237 "Depth" -> pure Depth 1269 "Depth" -> pure Depth
1238 "Stencil" -> pure Stencil 1270 "Stencil" -> pure Stencil
1239 "Color" -> pure Color 1271 "Color" -> pure Color
1272 _ -> unsafeCrashWith "decodeJson @ ImageSemantic"
1240 1273
1241instance encodeJsonImageRef :: EncodeJson ImageRef where 1274instance encodeJsonImageRef :: EncodeJson ImageRef where
1242 encodeJson v = case v of 1275 encodeJson v = case v of
@@ -1250,6 +1283,7 @@ instance decodeJsonImageRef :: DecodeJson ImageRef where
1250 case tag of 1283 case tag of
1251 "TextureImage" -> TextureImage <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2" 1284 "TextureImage" -> TextureImage <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2"
1252 "Framebuffer" -> Framebuffer <$> obj .? "arg0" 1285 "Framebuffer" -> Framebuffer <$> obj .? "arg0"
1286 _ -> unsafeCrashWith "decodeJson @ ImageRef"
1253 1287
1254instance encodeJsonClearImage :: EncodeJson ClearImage where 1288instance encodeJsonClearImage :: EncodeJson ClearImage where
1255 encodeJson v = case v of 1289 encodeJson v = case v of
@@ -1271,6 +1305,7 @@ instance decodeJsonClearImage :: DecodeJson ClearImage where
1271 { imageSemantic:imageSemantic 1305 { imageSemantic:imageSemantic
1272 , clearValue:clearValue 1306 , clearValue:clearValue
1273 } 1307 }
1308 _ -> unsafeCrashWith "decodeJson @ ClearImage"
1274 1309
1275instance encodeJsonCommand :: EncodeJson Command where 1310instance encodeJsonCommand :: EncodeJson Command where
1276 encodeJson v = case v of 1311 encodeJson v = case v of
@@ -1306,6 +1341,7 @@ instance decodeJsonCommand :: DecodeJson Command where
1306 "GenerateMipMap" -> GenerateMipMap <$> obj .? "arg0" 1341 "GenerateMipMap" -> GenerateMipMap <$> obj .? "arg0"
1307 "SaveImage" -> SaveImage <$> obj .? "arg0" <*> obj .? "arg1" 1342 "SaveImage" -> SaveImage <$> obj .? "arg0" <*> obj .? "arg1"
1308 "LoadImage" -> LoadImage <$> obj .? "arg0" <*> obj .? "arg1" 1343 "LoadImage" -> LoadImage <$> obj .? "arg0" <*> obj .? "arg1"
1344 _ -> unsafeCrashWith "decodeJson @ Command"
1309 1345
1310instance encodeJsonSamplerDescriptor :: EncodeJson SamplerDescriptor where 1346instance encodeJsonSamplerDescriptor :: EncodeJson SamplerDescriptor where
1311 encodeJson v = case v of 1347 encodeJson v = case v of
@@ -1351,6 +1387,7 @@ instance decodeJsonSamplerDescriptor :: DecodeJson SamplerDescriptor where
1351 , samplerLodBias:samplerLodBias 1387 , samplerLodBias:samplerLodBias
1352 , samplerCompareFunc:samplerCompareFunc 1388 , samplerCompareFunc:samplerCompareFunc
1353 } 1389 }
1390 _ -> unsafeCrashWith "decodeJson @ SamplerDescriptor"
1354 1391
1355instance encodeJsonTextureDescriptor :: EncodeJson TextureDescriptor where 1392instance encodeJsonTextureDescriptor :: EncodeJson TextureDescriptor where
1356 encodeJson v = case v of 1393 encodeJson v = case v of
@@ -1384,6 +1421,7 @@ instance decodeJsonTextureDescriptor :: DecodeJson TextureDescriptor where
1384 , textureBaseLevel:textureBaseLevel 1421 , textureBaseLevel:textureBaseLevel
1385 , textureMaxLevel:textureMaxLevel 1422 , textureMaxLevel:textureMaxLevel
1386 } 1423 }
1424 _ -> unsafeCrashWith "decodeJson @ TextureDescriptor"
1387 1425
1388instance encodeJsonParameter :: EncodeJson Parameter where 1426instance encodeJsonParameter :: EncodeJson Parameter where
1389 encodeJson v = case v of 1427 encodeJson v = case v of
@@ -1405,6 +1443,7 @@ instance decodeJsonParameter :: DecodeJson Parameter where
1405 { name:name 1443 { name:name
1406 , ty:ty 1444 , ty:ty
1407 } 1445 }
1446 _ -> unsafeCrashWith "decodeJson @ Parameter"
1408 1447
1409instance encodeJsonProgram :: EncodeJson Program where 1448instance encodeJsonProgram :: EncodeJson Program where
1410 encodeJson v = case v of 1449 encodeJson v = case v of
@@ -1441,6 +1480,7 @@ instance decodeJsonProgram :: DecodeJson Program where
1441 , geometryShader:geometryShader 1480 , geometryShader:geometryShader
1442 , fragmentShader:fragmentShader 1481 , fragmentShader:fragmentShader
1443 } 1482 }
1483 _ -> unsafeCrashWith "decodeJson @ Program"
1444 1484
1445instance encodeJsonSlot :: EncodeJson Slot where 1485instance encodeJsonSlot :: EncodeJson Slot where
1446 encodeJson v = case v of 1486 encodeJson v = case v of
@@ -1471,6 +1511,7 @@ instance decodeJsonSlot :: DecodeJson Slot where
1471 , slotPrimitive:slotPrimitive 1511 , slotPrimitive:slotPrimitive
1472 , slotPrograms:slotPrograms 1512 , slotPrograms:slotPrograms
1473 } 1513 }
1514 _ -> unsafeCrashWith "decodeJson @ Slot"
1474 1515
1475instance encodeJsonStreamData :: EncodeJson StreamData where 1516instance encodeJsonStreamData :: EncodeJson StreamData where
1476 encodeJson v = case v of 1517 encodeJson v = case v of
@@ -1498,6 +1539,7 @@ instance decodeJsonStreamData :: DecodeJson StreamData where
1498 , streamPrimitive:streamPrimitive 1539 , streamPrimitive:streamPrimitive
1499 , streamPrograms:streamPrograms 1540 , streamPrograms:streamPrograms
1500 } 1541 }
1542 _ -> unsafeCrashWith "decodeJson @ StreamData"
1501 1543
1502instance encodeJsonTargetItem :: EncodeJson TargetItem where 1544instance encodeJsonTargetItem :: EncodeJson TargetItem where
1503 encodeJson v = case v of 1545 encodeJson v = case v of
@@ -1519,6 +1561,7 @@ instance decodeJsonTargetItem :: DecodeJson TargetItem where
1519 { targetSemantic:targetSemantic 1561 { targetSemantic:targetSemantic
1520 , targetRef:targetRef 1562 , targetRef:targetRef
1521 } 1563 }
1564 _ -> unsafeCrashWith "decodeJson @ TargetItem"
1522 1565
1523instance encodeJsonRenderTarget :: EncodeJson RenderTarget where 1566instance encodeJsonRenderTarget :: EncodeJson RenderTarget where
1524 encodeJson v = case v of 1567 encodeJson v = case v of
@@ -1537,6 +1580,7 @@ instance decodeJsonRenderTarget :: DecodeJson RenderTarget where
1537 pure $ RenderTarget 1580 pure $ RenderTarget
1538 { renderTargets:renderTargets 1581 { renderTargets:renderTargets
1539 } 1582 }
1583 _ -> unsafeCrashWith "decodeJson @ RenderTarget"
1540 1584
1541instance encodeJsonBackend :: EncodeJson Backend where 1585instance encodeJsonBackend :: EncodeJson Backend where
1542 encodeJson v = case v of 1586 encodeJson v = case v of
@@ -1552,6 +1596,7 @@ instance decodeJsonBackend :: DecodeJson Backend where
1552 "WebGL1" -> pure WebGL1 1596 "WebGL1" -> pure WebGL1
1553 "OpenGL33" -> pure OpenGL33 1597 "OpenGL33" -> pure OpenGL33
1554 "DirectX11" -> pure DirectX11 1598 "DirectX11" -> pure DirectX11
1599 _ -> unsafeCrashWith "decodeJson @ Backend"
1555 1600
1556instance encodeJsonPipeline :: EncodeJson Pipeline where 1601instance encodeJsonPipeline :: EncodeJson Pipeline where
1557 encodeJson v = case v of 1602 encodeJson v = case v of
@@ -1594,4 +1639,5 @@ instance decodeJsonPipeline :: DecodeJson Pipeline where
1594 , streams:streams 1639 , streams:streams
1595 , commands:commands 1640 , commands:commands
1596 } 1641 }
1642 _ -> unsafeCrashWith "decodeJson @ Pipeline"
1597 1643
diff --git a/ddl/out/LambdaCube.IR.swift b/ddl/out/LambdaCube.IR.swift
index f2c4fb9..9c4063d 100644
--- a/ddl/out/LambdaCube.IR.swift
+++ b/ddl/out/LambdaCube.IR.swift
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4typealias StreamName = Int 4typealias StreamName = Int
5 5
diff --git a/ddl/out/LambdaCube.IR2.hpp b/ddl/out/LambdaCube.IR2.hpp
index d56a99a..2acaffa 100644
--- a/ddl/out/LambdaCube.IR2.hpp
+++ b/ddl/out/LambdaCube.IR2.hpp
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4#ifndef HEADER_LambdaCube.IR_H 4#ifndef HEADER_LambdaCube.IR_H
5#define HEADER_LambdaCube.IR_H 5#define HEADER_LambdaCube.IR_H
diff --git a/ddl/out/LambdaCube.Mesh.cpp b/ddl/out/LambdaCube.Mesh.cpp
index b5f889c..12ed2d5 100644
--- a/ddl/out/LambdaCube.Mesh.cpp
+++ b/ddl/out/LambdaCube.Mesh.cpp
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.222504000000Z 2// 2016-09-15T19:44:48.078244539Z
3 3
4#include "LambdaCube.Mesh.hpp" 4#include "LambdaCube.Mesh.hpp"
5template<> json toJSON<std::shared_ptr<MeshAttribute>>(std::shared_ptr<MeshAttribute> &v) { 5template<> json toJSON<std::shared_ptr<MeshAttribute>>(std::shared_ptr<MeshAttribute> &v) {
diff --git a/ddl/out/LambdaCube.Mesh.cs b/ddl/out/LambdaCube.Mesh.cs
index dd9ae75..c535e9e 100644
--- a/ddl/out/LambdaCube.Mesh.cs
+++ b/ddl/out/LambdaCube.Mesh.cs
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.222504000000Z 2// 2016-09-15T19:44:48.078244539Z
3 3
4using System; 4using System;
5using System.Linq; 5using System.Linq;
diff --git a/ddl/out/LambdaCube.Mesh.hpp b/ddl/out/LambdaCube.Mesh.hpp
index bc88710..d2671ef 100644
--- a/ddl/out/LambdaCube.Mesh.hpp
+++ b/ddl/out/LambdaCube.Mesh.hpp
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.222504000000Z 2// 2016-09-15T19:44:48.078244539Z
3 3
4#ifndef HEADER_LambdaCube.Mesh_H 4#ifndef HEADER_LambdaCube.Mesh_H
5#define HEADER_LambdaCube.Mesh_H 5#define HEADER_LambdaCube.Mesh_H
diff --git a/ddl/out/LambdaCube.Mesh.hs b/ddl/out/LambdaCube.Mesh.hs
index 722cbd3..bc49bb0 100644
--- a/ddl/out/LambdaCube.Mesh.hs
+++ b/ddl/out/LambdaCube.Mesh.hs
@@ -1,5 +1,5 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2-- 2016-04-01T16:25:35.222504000000Z 2-- 2016-09-15T19:44:48.078244539Z
3 3
4{-# LANGUAGE OverloadedStrings, RecordWildCards #-} 4{-# LANGUAGE OverloadedStrings, RecordWildCards #-}
5module LambdaCube.Mesh where 5module LambdaCube.Mesh where
diff --git a/ddl/out/LambdaCube.Mesh.purs b/ddl/out/LambdaCube.Mesh.purs
index 7919fa7..696cdb3 100644
--- a/ddl/out/LambdaCube.Mesh.purs
+++ b/ddl/out/LambdaCube.Mesh.purs
@@ -1,5 +1,5 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2-- 2016-04-01T16:25:35.222504000000Z 2-- 2016-09-15T19:44:48.078244539Z
3 3
4module LambdaCube.Mesh where 4module LambdaCube.Mesh where
5import Prelude 5import Prelude
@@ -10,11 +10,13 @@ import Data.Map (Map(..))
10import Data.List (List(..)) 10import Data.List (List(..))
11import Linear 11import Linear
12 12
13import Data.Argonaut.Combinators ((~>), (:=), (.?)) 13import Data.Argonaut.Encode.Combinators ((~>), (:=))
14import Data.Argonaut.Decode.Combinators ((.?))
14import Data.Argonaut.Core (jsonEmptyObject) 15import Data.Argonaut.Core (jsonEmptyObject)
15import Data.Argonaut.Printer (printJson) 16import Data.Argonaut.Printer (printJson)
16import Data.Argonaut.Encode (EncodeJson, encodeJson) 17import Data.Argonaut.Encode (class EncodeJson, encodeJson)
17import Data.Argonaut.Decode (DecodeJson, decodeJson) 18import Data.Argonaut.Decode (class DecodeJson, decodeJson)
19import Partial.Unsafe (unsafeCrashWith)
18 20
19 21
20data MeshAttribute 22data MeshAttribute
@@ -70,6 +72,7 @@ instance decodeJsonMeshAttribute :: DecodeJson MeshAttribute where
70 "A_M44F" -> A_M44F <$> obj .? "arg0" 72 "A_M44F" -> A_M44F <$> obj .? "arg0"
71 "A_Int" -> A_Int <$> obj .? "arg0" 73 "A_Int" -> A_Int <$> obj .? "arg0"
72 "A_Word" -> A_Word <$> obj .? "arg0" 74 "A_Word" -> A_Word <$> obj .? "arg0"
75 _ -> unsafeCrashWith "decodeJson @ MeshAttribute"
73 76
74instance encodeJsonMeshPrimitive :: EncodeJson MeshPrimitive where 77instance encodeJsonMeshPrimitive :: EncodeJson MeshPrimitive where
75 encodeJson v = case v of 78 encodeJson v = case v of
@@ -89,6 +92,7 @@ instance decodeJsonMeshPrimitive :: DecodeJson MeshPrimitive where
89 "P_Triangles" -> pure P_Triangles 92 "P_Triangles" -> pure P_Triangles
90 "P_TriangleStripI" -> P_TriangleStripI <$> obj .? "arg0" 93 "P_TriangleStripI" -> P_TriangleStripI <$> obj .? "arg0"
91 "P_TrianglesI" -> P_TrianglesI <$> obj .? "arg0" 94 "P_TrianglesI" -> P_TrianglesI <$> obj .? "arg0"
95 _ -> unsafeCrashWith "decodeJson @ MeshPrimitive"
92 96
93instance encodeJsonMesh :: EncodeJson Mesh where 97instance encodeJsonMesh :: EncodeJson Mesh where
94 encodeJson v = case v of 98 encodeJson v = case v of
@@ -110,4 +114,5 @@ instance decodeJsonMesh :: DecodeJson Mesh where
110 { mAttributes:mAttributes 114 { mAttributes:mAttributes
111 , mPrimitive:mPrimitive 115 , mPrimitive:mPrimitive
112 } 116 }
117 _ -> unsafeCrashWith "decodeJson @ Mesh"
113 118
diff --git a/ddl/out/LambdaCube.Mesh.swift b/ddl/out/LambdaCube.Mesh.swift
index 4fef6d0..d54e9f0 100644
--- a/ddl/out/LambdaCube.Mesh.swift
+++ b/ddl/out/LambdaCube.Mesh.swift
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.222504000000Z 2// 2016-09-15T19:44:48.078244539Z
3 3
4enum MeshAttribute { 4enum MeshAttribute {
5 case A_Float(Array<Float>) 5 case A_Float(Array<Float>)
diff --git a/ddl/out/LambdaCube.Mesh2.hpp b/ddl/out/LambdaCube.Mesh2.hpp
index 55190e8..9ad0e46 100644
--- a/ddl/out/LambdaCube.Mesh2.hpp
+++ b/ddl/out/LambdaCube.Mesh2.hpp
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.222504000000Z 2// 2016-09-15T19:44:48.078244539Z
3 3
4#ifndef HEADER_LambdaCube.Mesh_H 4#ifndef HEADER_LambdaCube.Mesh_H
5#define HEADER_LambdaCube.Mesh_H 5#define HEADER_LambdaCube.Mesh_H
diff --git a/ddl/out/LambdaCube.PipelineSchema.cpp b/ddl/out/LambdaCube.PipelineSchema.cpp
index a655981..857c910 100644
--- a/ddl/out/LambdaCube.PipelineSchema.cpp
+++ b/ddl/out/LambdaCube.PipelineSchema.cpp
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.172905000000Z 2// 2016-09-15T19:44:48.052942639Z
3 3
4#include "LambdaCube.PipelineSchema.hpp" 4#include "LambdaCube.PipelineSchema.hpp"
5template<> json toJSON<std::shared_ptr<StreamType>>(std::shared_ptr<StreamType> &v) { 5template<> json toJSON<std::shared_ptr<StreamType>>(std::shared_ptr<StreamType> &v) {
diff --git a/ddl/out/LambdaCube.PipelineSchema.cs b/ddl/out/LambdaCube.PipelineSchema.cs
index a089a85..c75d548 100644
--- a/ddl/out/LambdaCube.PipelineSchema.cs
+++ b/ddl/out/LambdaCube.PipelineSchema.cs
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.172905000000Z 2// 2016-09-15T19:44:48.052942639Z
3 3
4using System; 4using System;
5using System.Linq; 5using System.Linq;
diff --git a/ddl/out/LambdaCube.PipelineSchema.hpp b/ddl/out/LambdaCube.PipelineSchema.hpp
index fc24770..2242eb4 100644
--- a/ddl/out/LambdaCube.PipelineSchema.hpp
+++ b/ddl/out/LambdaCube.PipelineSchema.hpp
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.172905000000Z 2// 2016-09-15T19:44:48.052942639Z
3 3
4#ifndef HEADER_LambdaCube.PipelineSchema_H 4#ifndef HEADER_LambdaCube.PipelineSchema_H
5#define HEADER_LambdaCube.PipelineSchema_H 5#define HEADER_LambdaCube.PipelineSchema_H
diff --git a/ddl/out/LambdaCube.PipelineSchema.hs b/ddl/out/LambdaCube.PipelineSchema.hs
index 1a5178b..ef3c40d 100644
--- a/ddl/out/LambdaCube.PipelineSchema.hs
+++ b/ddl/out/LambdaCube.PipelineSchema.hs
@@ -1,5 +1,5 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2-- 2016-04-01T16:25:35.172905000000Z 2-- 2016-09-15T19:44:48.052942639Z
3 3
4{-# LANGUAGE OverloadedStrings, RecordWildCards #-} 4{-# LANGUAGE OverloadedStrings, RecordWildCards #-}
5module LambdaCube.PipelineSchema where 5module LambdaCube.PipelineSchema where
diff --git a/ddl/out/LambdaCube.PipelineSchema.purs b/ddl/out/LambdaCube.PipelineSchema.purs
index 315cc31..167193e 100644
--- a/ddl/out/LambdaCube.PipelineSchema.purs
+++ b/ddl/out/LambdaCube.PipelineSchema.purs
@@ -1,5 +1,5 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2-- 2016-04-01T16:25:35.172905000000Z 2-- 2016-09-15T19:44:48.052942639Z
3 3
4module LambdaCube.PipelineSchema where 4module LambdaCube.PipelineSchema where
5import Prelude 5import Prelude
@@ -10,11 +10,13 @@ import Data.Map (Map(..))
10import Data.List (List(..)) 10import Data.List (List(..))
11import Linear 11import Linear
12 12
13import Data.Argonaut.Combinators ((~>), (:=), (.?)) 13import Data.Argonaut.Encode.Combinators ((~>), (:=))
14import Data.Argonaut.Decode.Combinators ((.?))
14import Data.Argonaut.Core (jsonEmptyObject) 15import Data.Argonaut.Core (jsonEmptyObject)
15import Data.Argonaut.Printer (printJson) 16import Data.Argonaut.Printer (printJson)
16import Data.Argonaut.Encode (EncodeJson, encodeJson) 17import Data.Argonaut.Encode (class EncodeJson, encodeJson)
17import Data.Argonaut.Decode (DecodeJson, decodeJson) 18import Data.Argonaut.Decode (class DecodeJson, decodeJson)
19import Partial.Unsafe (unsafeCrashWith)
18 20
19import LambdaCube.IR 21import LambdaCube.IR
20 22
@@ -107,6 +109,7 @@ instance decodeJsonStreamType :: DecodeJson StreamType where
107 "Attribute_M42F" -> pure Attribute_M42F 109 "Attribute_M42F" -> pure Attribute_M42F
108 "Attribute_M43F" -> pure Attribute_M43F 110 "Attribute_M43F" -> pure Attribute_M43F
109 "Attribute_M44F" -> pure Attribute_M44F 111 "Attribute_M44F" -> pure Attribute_M44F
112 _ -> unsafeCrashWith "decodeJson @ StreamType"
110 113
111instance encodeJsonObjectArraySchema :: EncodeJson ObjectArraySchema where 114instance encodeJsonObjectArraySchema :: EncodeJson ObjectArraySchema where
112 encodeJson v = case v of 115 encodeJson v = case v of
@@ -128,6 +131,7 @@ instance decodeJsonObjectArraySchema :: DecodeJson ObjectArraySchema where
128 { primitive:primitive 131 { primitive:primitive
129 , attributes:attributes 132 , attributes:attributes
130 } 133 }
134 _ -> unsafeCrashWith "decodeJson @ ObjectArraySchema"
131 135
132instance encodeJsonPipelineSchema :: EncodeJson PipelineSchema where 136instance encodeJsonPipelineSchema :: EncodeJson PipelineSchema where
133 encodeJson v = case v of 137 encodeJson v = case v of
@@ -149,4 +153,5 @@ instance decodeJsonPipelineSchema :: DecodeJson PipelineSchema where
149 { objectArrays:objectArrays 153 { objectArrays:objectArrays
150 , uniforms:uniforms 154 , uniforms:uniforms
151 } 155 }
156 _ -> unsafeCrashWith "decodeJson @ PipelineSchema"
152 157
diff --git a/ddl/out/LambdaCube.PipelineSchema.swift b/ddl/out/LambdaCube.PipelineSchema.swift
index 7ce6ac6..36575bc 100644
--- a/ddl/out/LambdaCube.PipelineSchema.swift
+++ b/ddl/out/LambdaCube.PipelineSchema.swift
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.172905000000Z 2// 2016-09-15T19:44:48.052942639Z
3 3
4enum StreamType { 4enum StreamType {
5 case Attribute_Word 5 case Attribute_Word
diff --git a/ddl/out/LambdaCube.PipelineSchema2.hpp b/ddl/out/LambdaCube.PipelineSchema2.hpp
index cb6b0f6..2ace7d9 100644
--- a/ddl/out/LambdaCube.PipelineSchema2.hpp
+++ b/ddl/out/LambdaCube.PipelineSchema2.hpp
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.172905000000Z 2// 2016-09-15T19:44:48.052942639Z
3 3
4#ifndef HEADER_LambdaCube.PipelineSchema_H 4#ifndef HEADER_LambdaCube.PipelineSchema_H
5#define HEADER_LambdaCube.PipelineSchema_H 5#define HEADER_LambdaCube.PipelineSchema_H
diff --git a/ddl/out/LambdaCube.TypeInfo.cpp b/ddl/out/LambdaCube.TypeInfo.cpp
index 291d823..51c897d 100644
--- a/ddl/out/LambdaCube.TypeInfo.cpp
+++ b/ddl/out/LambdaCube.TypeInfo.cpp
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.327304000000Z 2// 2016-09-15T19:44:48.120020034Z
3 3
4#include "LambdaCube.TypeInfo.hpp" 4#include "LambdaCube.TypeInfo.hpp"
5template<> json toJSON<std::shared_ptr<Range>>(std::shared_ptr<Range> &v) { 5template<> json toJSON<std::shared_ptr<Range>>(std::shared_ptr<Range> &v) {
diff --git a/ddl/out/LambdaCube.TypeInfo.cs b/ddl/out/LambdaCube.TypeInfo.cs
index 6ba57c6..f0a6253 100644
--- a/ddl/out/LambdaCube.TypeInfo.cs
+++ b/ddl/out/LambdaCube.TypeInfo.cs
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.327304000000Z 2// 2016-09-15T19:44:48.120020034Z
3 3
4using System; 4using System;
5using System.Linq; 5using System.Linq;
diff --git a/ddl/out/LambdaCube.TypeInfo.hpp b/ddl/out/LambdaCube.TypeInfo.hpp
index fbe45f6..28bc52f 100644
--- a/ddl/out/LambdaCube.TypeInfo.hpp
+++ b/ddl/out/LambdaCube.TypeInfo.hpp
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.327304000000Z 2// 2016-09-15T19:44:48.120020034Z
3 3
4#ifndef HEADER_LambdaCube.TypeInfo_H 4#ifndef HEADER_LambdaCube.TypeInfo_H
5#define HEADER_LambdaCube.TypeInfo_H 5#define HEADER_LambdaCube.TypeInfo_H
diff --git a/ddl/out/LambdaCube.TypeInfo.hs b/ddl/out/LambdaCube.TypeInfo.hs
index 9629231..03346b6 100644
--- a/ddl/out/LambdaCube.TypeInfo.hs
+++ b/ddl/out/LambdaCube.TypeInfo.hs
@@ -1,5 +1,5 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2-- 2016-04-01T16:25:35.327304000000Z 2-- 2016-09-15T19:44:48.120020034Z
3 3
4{-# LANGUAGE OverloadedStrings, RecordWildCards #-} 4{-# LANGUAGE OverloadedStrings, RecordWildCards #-}
5module LambdaCube.TypeInfo where 5module LambdaCube.TypeInfo where
diff --git a/ddl/out/LambdaCube.TypeInfo.purs b/ddl/out/LambdaCube.TypeInfo.purs
index 2e357af..eee3d0c 100644
--- a/ddl/out/LambdaCube.TypeInfo.purs
+++ b/ddl/out/LambdaCube.TypeInfo.purs
@@ -1,5 +1,5 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2-- 2016-04-01T16:25:35.327304000000Z 2-- 2016-09-15T19:44:48.120020034Z
3 3
4module LambdaCube.TypeInfo where 4module LambdaCube.TypeInfo where
5import Prelude 5import Prelude
@@ -10,11 +10,13 @@ import Data.Map (Map(..))
10import Data.List (List(..)) 10import Data.List (List(..))
11import Linear 11import Linear
12 12
13import Data.Argonaut.Combinators ((~>), (:=), (.?)) 13import Data.Argonaut.Encode.Combinators ((~>), (:=))
14import Data.Argonaut.Decode.Combinators ((.?))
14import Data.Argonaut.Core (jsonEmptyObject) 15import Data.Argonaut.Core (jsonEmptyObject)
15import Data.Argonaut.Printer (printJson) 16import Data.Argonaut.Printer (printJson)
16import Data.Argonaut.Encode (EncodeJson, encodeJson) 17import Data.Argonaut.Encode (class EncodeJson, encodeJson)
17import Data.Argonaut.Decode (DecodeJson, decodeJson) 18import Data.Argonaut.Decode (class DecodeJson, decodeJson)
19import Partial.Unsafe (unsafeCrashWith)
18 20
19import LambdaCube.IR 21import LambdaCube.IR
20 22
@@ -66,6 +68,7 @@ instance decodeJsonRange :: DecodeJson Range where
66 , endLine:endLine 68 , endLine:endLine
67 , endColumn:endColumn 69 , endColumn:endColumn
68 } 70 }
71 _ -> unsafeCrashWith "decodeJson @ Range"
69 72
70instance encodeJsonTypeInfo :: EncodeJson TypeInfo where 73instance encodeJsonTypeInfo :: EncodeJson TypeInfo where
71 encodeJson v = case v of 74 encodeJson v = case v of
@@ -87,6 +90,7 @@ instance decodeJsonTypeInfo :: DecodeJson TypeInfo where
87 { range:range 90 { range:range
88 , text:text 91 , text:text
89 } 92 }
93 _ -> unsafeCrashWith "decodeJson @ TypeInfo"
90 94
91instance encodeJsonCompileResult :: EncodeJson CompileResult where 95instance encodeJsonCompileResult :: EncodeJson CompileResult where
92 encodeJson v = case v of 96 encodeJson v = case v of
@@ -100,4 +104,5 @@ instance decodeJsonCompileResult :: DecodeJson CompileResult where
100 case tag of 104 case tag of
101 "CompileError" -> CompileError <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2" 105 "CompileError" -> CompileError <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2"
102 "Compiled" -> Compiled <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2" <*> obj .? "arg3" 106 "Compiled" -> Compiled <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2" <*> obj .? "arg3"
107 _ -> unsafeCrashWith "decodeJson @ CompileResult"
103 108
diff --git a/ddl/out/LambdaCube.TypeInfo.swift b/ddl/out/LambdaCube.TypeInfo.swift
index 378c534..9304b97 100644
--- a/ddl/out/LambdaCube.TypeInfo.swift
+++ b/ddl/out/LambdaCube.TypeInfo.swift
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.327304000000Z 2// 2016-09-15T19:44:48.120020034Z
3 3
4enum Range { 4enum Range {
5 case Range(Range_Data) 5 case Range(Range_Data)
diff --git a/ddl/out/LambdaCube.TypeInfo2.hpp b/ddl/out/LambdaCube.TypeInfo2.hpp
index ec91fc1..ba80ca0 100644
--- a/ddl/out/LambdaCube.TypeInfo2.hpp
+++ b/ddl/out/LambdaCube.TypeInfo2.hpp
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.327304000000Z 2// 2016-09-15T19:44:48.120020034Z
3 3
4#ifndef HEADER_LambdaCube.TypeInfo_H 4#ifndef HEADER_LambdaCube.TypeInfo_H
5#define HEADER_LambdaCube.TypeInfo_H 5#define HEADER_LambdaCube.TypeInfo_H
diff --git a/ddl/out/TestData.cpp b/ddl/out/TestData.cpp
index dbf2a6b..6a686a9 100644
--- a/ddl/out/TestData.cpp
+++ b/ddl/out/TestData.cpp
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.381981000000Z 2// 2016-09-15T19:44:48.147167874Z
3 3
4#include "TestData.hpp" 4#include "TestData.hpp"
5template<> json toJSON<std::shared_ptr<ClientInfo>>(std::shared_ptr<ClientInfo> &v) { 5template<> json toJSON<std::shared_ptr<ClientInfo>>(std::shared_ptr<ClientInfo> &v) {
diff --git a/ddl/out/TestData.cs b/ddl/out/TestData.cs
index f8fc336..3c4b2bf 100644
--- a/ddl/out/TestData.cs
+++ b/ddl/out/TestData.cs
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.381981000000Z 2// 2016-09-15T19:44:48.147167874Z
3 3
4using System; 4using System;
5using System.Linq; 5using System.Linq;
diff --git a/ddl/out/TestData.hpp b/ddl/out/TestData.hpp
index d8ed663..c66e828 100644
--- a/ddl/out/TestData.hpp
+++ b/ddl/out/TestData.hpp
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.381981000000Z 2// 2016-09-15T19:44:48.147167874Z
3 3
4#ifndef HEADER_TestData_H 4#ifndef HEADER_TestData_H
5#define HEADER_TestData_H 5#define HEADER_TestData_H
diff --git a/ddl/out/TestData.hs b/ddl/out/TestData.hs
index 97642bc..e2a85a3 100644
--- a/ddl/out/TestData.hs
+++ b/ddl/out/TestData.hs
@@ -1,5 +1,5 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2-- 2016-04-01T16:25:35.381981000000Z 2-- 2016-09-15T19:44:48.147167874Z
3 3
4{-# LANGUAGE OverloadedStrings, RecordWildCards #-} 4{-# LANGUAGE OverloadedStrings, RecordWildCards #-}
5module TestData where 5module TestData where
diff --git a/ddl/out/TestData.purs b/ddl/out/TestData.purs
index b30d329..2ac59b8 100644
--- a/ddl/out/TestData.purs
+++ b/ddl/out/TestData.purs
@@ -1,5 +1,5 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2-- 2016-04-01T16:25:35.381981000000Z 2-- 2016-09-15T19:44:48.147167874Z
3 3
4module TestData where 4module TestData where
5import Prelude 5import Prelude
@@ -10,11 +10,13 @@ import Data.Map (Map(..))
10import Data.List (List(..)) 10import Data.List (List(..))
11import Linear 11import Linear
12 12
13import Data.Argonaut.Combinators ((~>), (:=), (.?)) 13import Data.Argonaut.Encode.Combinators ((~>), (:=))
14import Data.Argonaut.Decode.Combinators ((.?))
14import Data.Argonaut.Core (jsonEmptyObject) 15import Data.Argonaut.Core (jsonEmptyObject)
15import Data.Argonaut.Printer (printJson) 16import Data.Argonaut.Printer (printJson)
16import Data.Argonaut.Encode (EncodeJson, encodeJson) 17import Data.Argonaut.Encode (class EncodeJson, encodeJson)
17import Data.Argonaut.Decode (DecodeJson, decodeJson) 18import Data.Argonaut.Decode (class DecodeJson, decodeJson)
19import Partial.Unsafe (unsafeCrashWith)
18 20
19import LambdaCube.IR 21import LambdaCube.IR
20import LambdaCube.Mesh 22import LambdaCube.Mesh
@@ -95,6 +97,7 @@ instance decodeJsonClientInfo :: DecodeJson ClientInfo where
95 { clientName:clientName 97 { clientName:clientName
96 , clientBackend:clientBackend 98 , clientBackend:clientBackend
97 } 99 }
100 _ -> unsafeCrashWith "decodeJson @ ClientInfo"
98 101
99instance encodeJsonFrame :: EncodeJson Frame where 102instance encodeJsonFrame :: EncodeJson Frame where
100 encodeJson v = case v of 103 encodeJson v = case v of
@@ -119,6 +122,7 @@ instance decodeJsonFrame :: DecodeJson Frame where
119 , frameUniforms:frameUniforms 122 , frameUniforms:frameUniforms
120 , frameTextures:frameTextures 123 , frameTextures:frameTextures
121 } 124 }
125 _ -> unsafeCrashWith "decodeJson @ Frame"
122 126
123instance encodeJsonScene :: EncodeJson Scene where 127instance encodeJsonScene :: EncodeJson Scene where
124 encodeJson v = case v of 128 encodeJson v = case v of
@@ -146,6 +150,7 @@ instance decodeJsonScene :: DecodeJson Scene where
146 , renderTargetHeight:renderTargetHeight 150 , renderTargetHeight:renderTargetHeight
147 , frames:frames 151 , frames:frames
148 } 152 }
153 _ -> unsafeCrashWith "decodeJson @ Scene"
149 154
150instance encodeJsonPipelineInfo :: EncodeJson PipelineInfo where 155instance encodeJsonPipelineInfo :: EncodeJson PipelineInfo where
151 encodeJson v = case v of 156 encodeJson v = case v of
@@ -167,6 +172,7 @@ instance decodeJsonPipelineInfo :: DecodeJson PipelineInfo where
167 { pipelineName:pipelineName 172 { pipelineName:pipelineName
168 , pipeline:pipeline 173 , pipeline:pipeline
169 } 174 }
175 _ -> unsafeCrashWith "decodeJson @ PipelineInfo"
170 176
171instance encodeJsonRenderJob :: EncodeJson RenderJob where 177instance encodeJsonRenderJob :: EncodeJson RenderJob where
172 encodeJson v = case v of 178 encodeJson v = case v of
@@ -197,6 +203,7 @@ instance decodeJsonRenderJob :: DecodeJson RenderJob where
197 , scenes:scenes 203 , scenes:scenes
198 , pipelines:pipelines 204 , pipelines:pipelines
199 } 205 }
206 _ -> unsafeCrashWith "decodeJson @ RenderJob"
200 207
201instance encodeJsonFrameResult :: EncodeJson FrameResult where 208instance encodeJsonFrameResult :: EncodeJson FrameResult where
202 encodeJson v = case v of 209 encodeJson v = case v of
@@ -221,6 +228,7 @@ instance decodeJsonFrameResult :: DecodeJson FrameResult where
221 , frImageWidth:frImageWidth 228 , frImageWidth:frImageWidth
222 , frImageHeight:frImageHeight 229 , frImageHeight:frImageHeight
223 } 230 }
231 _ -> unsafeCrashWith "decodeJson @ FrameResult"
224 232
225instance encodeJsonRenderJobResult :: EncodeJson RenderJobResult where 233instance encodeJsonRenderJobResult :: EncodeJson RenderJobResult where
226 encodeJson v = case v of 234 encodeJson v = case v of
@@ -234,4 +242,5 @@ instance decodeJsonRenderJobResult :: DecodeJson RenderJobResult where
234 case tag of 242 case tag of
235 "RenderJobResult" -> RenderJobResult <$> obj .? "arg0" 243 "RenderJobResult" -> RenderJobResult <$> obj .? "arg0"
236 "RenderJobError" -> RenderJobError <$> obj .? "arg0" 244 "RenderJobError" -> RenderJobError <$> obj .? "arg0"
245 _ -> unsafeCrashWith "decodeJson @ RenderJobResult"
237 246
diff --git a/ddl/out/TestData.swift b/ddl/out/TestData.swift
index 6b33b59..3fe771a 100644
--- a/ddl/out/TestData.swift
+++ b/ddl/out/TestData.swift
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.381981000000Z 2// 2016-09-15T19:44:48.147167874Z
3 3
4enum ClientInfo { 4enum ClientInfo {
5 case ClientInfo(ClientInfo_Data) 5 case ClientInfo(ClientInfo_Data)
diff --git a/ddl/out/TestData2.hpp b/ddl/out/TestData2.hpp
index 2cc8089..d39d5fa 100644
--- a/ddl/out/TestData2.hpp
+++ b/ddl/out/TestData2.hpp
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.381981000000Z 2// 2016-09-15T19:44:48.147167874Z
3 3
4#ifndef HEADER_TestData_H 4#ifndef HEADER_TestData_H
5#define HEADER_TestData_H 5#define HEADER_TestData_H
diff --git a/ddl/out/java/LambdaCube/IR/AccumulationContext.java b/ddl/out/java/LambdaCube/IR/AccumulationContext.java
index 22d1e22..5f788e2 100644
--- a/ddl/out/java/LambdaCube/IR/AccumulationContext.java
+++ b/ddl/out/java/LambdaCube/IR/AccumulationContext.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/ArrayValue.java b/ddl/out/java/LambdaCube/IR/ArrayValue.java
index 5c607e5..d21bd4f 100644
--- a/ddl/out/java/LambdaCube/IR/ArrayValue.java
+++ b/ddl/out/java/LambdaCube/IR/ArrayValue.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/Backend.java b/ddl/out/java/LambdaCube/IR/Backend.java
index b938596..513f8c0 100644
--- a/ddl/out/java/LambdaCube/IR/Backend.java
+++ b/ddl/out/java/LambdaCube/IR/Backend.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/BlendEquation.java b/ddl/out/java/LambdaCube/IR/BlendEquation.java
index d846193..3f9ee93 100644
--- a/ddl/out/java/LambdaCube/IR/BlendEquation.java
+++ b/ddl/out/java/LambdaCube/IR/BlendEquation.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/Blending.java b/ddl/out/java/LambdaCube/IR/Blending.java
index 57d4e27..aee35f5 100644
--- a/ddl/out/java/LambdaCube/IR/Blending.java
+++ b/ddl/out/java/LambdaCube/IR/Blending.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/BlendingFactor.java b/ddl/out/java/LambdaCube/IR/BlendingFactor.java
index 86b6360..d7bdefb 100644
--- a/ddl/out/java/LambdaCube/IR/BlendingFactor.java
+++ b/ddl/out/java/LambdaCube/IR/BlendingFactor.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/ClearImage.java b/ddl/out/java/LambdaCube/IR/ClearImage.java
index 7c9579b..d3a55e0 100644
--- a/ddl/out/java/LambdaCube/IR/ClearImage.java
+++ b/ddl/out/java/LambdaCube/IR/ClearImage.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/ColorArity.java b/ddl/out/java/LambdaCube/IR/ColorArity.java
index 4566db2..be2380b 100644
--- a/ddl/out/java/LambdaCube/IR/ColorArity.java
+++ b/ddl/out/java/LambdaCube/IR/ColorArity.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/Command.java b/ddl/out/java/LambdaCube/IR/Command.java
index b073a1b..7a3947a 100644
--- a/ddl/out/java/LambdaCube/IR/Command.java
+++ b/ddl/out/java/LambdaCube/IR/Command.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/ComparisonFunction.java b/ddl/out/java/LambdaCube/IR/ComparisonFunction.java
index be3bfbe..6040a6a 100644
--- a/ddl/out/java/LambdaCube/IR/ComparisonFunction.java
+++ b/ddl/out/java/LambdaCube/IR/ComparisonFunction.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/CullMode.java b/ddl/out/java/LambdaCube/IR/CullMode.java
index 711057d..ac060b7 100644
--- a/ddl/out/java/LambdaCube/IR/CullMode.java
+++ b/ddl/out/java/LambdaCube/IR/CullMode.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/EdgeMode.java b/ddl/out/java/LambdaCube/IR/EdgeMode.java
index dc1112b..40418c1 100644
--- a/ddl/out/java/LambdaCube/IR/EdgeMode.java
+++ b/ddl/out/java/LambdaCube/IR/EdgeMode.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/FetchPrimitive.java b/ddl/out/java/LambdaCube/IR/FetchPrimitive.java
index c078d9a..d7fc693 100644
--- a/ddl/out/java/LambdaCube/IR/FetchPrimitive.java
+++ b/ddl/out/java/LambdaCube/IR/FetchPrimitive.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/Filter.java b/ddl/out/java/LambdaCube/IR/Filter.java
index b532891..2333f6b 100644
--- a/ddl/out/java/LambdaCube/IR/Filter.java
+++ b/ddl/out/java/LambdaCube/IR/Filter.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/FragmentOperation.java b/ddl/out/java/LambdaCube/IR/FragmentOperation.java
index 961659c..885e2be 100644
--- a/ddl/out/java/LambdaCube/IR/FragmentOperation.java
+++ b/ddl/out/java/LambdaCube/IR/FragmentOperation.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/FrontFace.java b/ddl/out/java/LambdaCube/IR/FrontFace.java
index 6fea9cd..da9347b 100644
--- a/ddl/out/java/LambdaCube/IR/FrontFace.java
+++ b/ddl/out/java/LambdaCube/IR/FrontFace.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/ImageRef.java b/ddl/out/java/LambdaCube/IR/ImageRef.java
index 33978e2..0173d9c 100644
--- a/ddl/out/java/LambdaCube/IR/ImageRef.java
+++ b/ddl/out/java/LambdaCube/IR/ImageRef.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/ImageSemantic.java b/ddl/out/java/LambdaCube/IR/ImageSemantic.java
index 595d17e..4706288 100644
--- a/ddl/out/java/LambdaCube/IR/ImageSemantic.java
+++ b/ddl/out/java/LambdaCube/IR/ImageSemantic.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/InputType.java b/ddl/out/java/LambdaCube/IR/InputType.java
index 423453e..f66a1d5 100644
--- a/ddl/out/java/LambdaCube/IR/InputType.java
+++ b/ddl/out/java/LambdaCube/IR/InputType.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/JSON.java b/ddl/out/java/LambdaCube/IR/JSON.java
index d3d5e4e..89ec1ef 100644
--- a/ddl/out/java/LambdaCube/IR/JSON.java
+++ b/ddl/out/java/LambdaCube/IR/JSON.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/LogicOperation.java b/ddl/out/java/LambdaCube/IR/LogicOperation.java
index 505aa61..568c08c 100644
--- a/ddl/out/java/LambdaCube/IR/LogicOperation.java
+++ b/ddl/out/java/LambdaCube/IR/LogicOperation.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/MipMap.java b/ddl/out/java/LambdaCube/IR/MipMap.java
index 03469f6..24be83e 100644
--- a/ddl/out/java/LambdaCube/IR/MipMap.java
+++ b/ddl/out/java/LambdaCube/IR/MipMap.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/OutputPrimitive.java b/ddl/out/java/LambdaCube/IR/OutputPrimitive.java
index 710e612..d5f88d2 100644
--- a/ddl/out/java/LambdaCube/IR/OutputPrimitive.java
+++ b/ddl/out/java/LambdaCube/IR/OutputPrimitive.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/Parameter.java b/ddl/out/java/LambdaCube/IR/Parameter.java
index e1aa0e1..6a74e24 100644
--- a/ddl/out/java/LambdaCube/IR/Parameter.java
+++ b/ddl/out/java/LambdaCube/IR/Parameter.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/Pipeline.java b/ddl/out/java/LambdaCube/IR/Pipeline.java
index ee00e23..e0c06ba 100644
--- a/ddl/out/java/LambdaCube/IR/Pipeline.java
+++ b/ddl/out/java/LambdaCube/IR/Pipeline.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/PointSize.java b/ddl/out/java/LambdaCube/IR/PointSize.java
index d7c8551..2231d43 100644
--- a/ddl/out/java/LambdaCube/IR/PointSize.java
+++ b/ddl/out/java/LambdaCube/IR/PointSize.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/PointSpriteCoordOrigin.java b/ddl/out/java/LambdaCube/IR/PointSpriteCoordOrigin.java
index 28d408a..b4983f5 100644
--- a/ddl/out/java/LambdaCube/IR/PointSpriteCoordOrigin.java
+++ b/ddl/out/java/LambdaCube/IR/PointSpriteCoordOrigin.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/PolygonMode.java b/ddl/out/java/LambdaCube/IR/PolygonMode.java
index 504604d..e341e7f 100644
--- a/ddl/out/java/LambdaCube/IR/PolygonMode.java
+++ b/ddl/out/java/LambdaCube/IR/PolygonMode.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/PolygonOffset.java b/ddl/out/java/LambdaCube/IR/PolygonOffset.java
index 4e66be8..4a7d12d 100644
--- a/ddl/out/java/LambdaCube/IR/PolygonOffset.java
+++ b/ddl/out/java/LambdaCube/IR/PolygonOffset.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/Program.java b/ddl/out/java/LambdaCube/IR/Program.java
index 680e8be..b64d543 100644
--- a/ddl/out/java/LambdaCube/IR/Program.java
+++ b/ddl/out/java/LambdaCube/IR/Program.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/ProvokingVertex.java b/ddl/out/java/LambdaCube/IR/ProvokingVertex.java
index 9224932..946cb1a 100644
--- a/ddl/out/java/LambdaCube/IR/ProvokingVertex.java
+++ b/ddl/out/java/LambdaCube/IR/ProvokingVertex.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/RasterContext.java b/ddl/out/java/LambdaCube/IR/RasterContext.java
index 3510d82..4a131cb 100644
--- a/ddl/out/java/LambdaCube/IR/RasterContext.java
+++ b/ddl/out/java/LambdaCube/IR/RasterContext.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/RenderTarget.java b/ddl/out/java/LambdaCube/IR/RenderTarget.java
index e6fa397..c2b4d78 100644
--- a/ddl/out/java/LambdaCube/IR/RenderTarget.java
+++ b/ddl/out/java/LambdaCube/IR/RenderTarget.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/SamplerDescriptor.java b/ddl/out/java/LambdaCube/IR/SamplerDescriptor.java
index 1bf46b0..4649eee 100644
--- a/ddl/out/java/LambdaCube/IR/SamplerDescriptor.java
+++ b/ddl/out/java/LambdaCube/IR/SamplerDescriptor.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/Slot.java b/ddl/out/java/LambdaCube/IR/Slot.java
index 462ec2a..a881be7 100644
--- a/ddl/out/java/LambdaCube/IR/Slot.java
+++ b/ddl/out/java/LambdaCube/IR/Slot.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/StencilOperation.java b/ddl/out/java/LambdaCube/IR/StencilOperation.java
index 974062a..1c270dd 100644
--- a/ddl/out/java/LambdaCube/IR/StencilOperation.java
+++ b/ddl/out/java/LambdaCube/IR/StencilOperation.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/StencilOps.java b/ddl/out/java/LambdaCube/IR/StencilOps.java
index fd2f166..8408016 100644
--- a/ddl/out/java/LambdaCube/IR/StencilOps.java
+++ b/ddl/out/java/LambdaCube/IR/StencilOps.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/StencilTest.java b/ddl/out/java/LambdaCube/IR/StencilTest.java
index 08c87a2..3adddc2 100644
--- a/ddl/out/java/LambdaCube/IR/StencilTest.java
+++ b/ddl/out/java/LambdaCube/IR/StencilTest.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/StencilTests.java b/ddl/out/java/LambdaCube/IR/StencilTests.java
index 8467dc8..e08a07f 100644
--- a/ddl/out/java/LambdaCube/IR/StencilTests.java
+++ b/ddl/out/java/LambdaCube/IR/StencilTests.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/StreamData.java b/ddl/out/java/LambdaCube/IR/StreamData.java
index cdee011..2e821a5 100644
--- a/ddl/out/java/LambdaCube/IR/StreamData.java
+++ b/ddl/out/java/LambdaCube/IR/StreamData.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/TargetItem.java b/ddl/out/java/LambdaCube/IR/TargetItem.java
index baa38dc..b602b56 100644
--- a/ddl/out/java/LambdaCube/IR/TargetItem.java
+++ b/ddl/out/java/LambdaCube/IR/TargetItem.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/TextureDataType.java b/ddl/out/java/LambdaCube/IR/TextureDataType.java
index b6b55d7..0d889d8 100644
--- a/ddl/out/java/LambdaCube/IR/TextureDataType.java
+++ b/ddl/out/java/LambdaCube/IR/TextureDataType.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/TextureDescriptor.java b/ddl/out/java/LambdaCube/IR/TextureDescriptor.java
index f2d6323..368e8f0 100644
--- a/ddl/out/java/LambdaCube/IR/TextureDescriptor.java
+++ b/ddl/out/java/LambdaCube/IR/TextureDescriptor.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/TextureType.java b/ddl/out/java/LambdaCube/IR/TextureType.java
index 7fa1d8f..451ad52 100644
--- a/ddl/out/java/LambdaCube/IR/TextureType.java
+++ b/ddl/out/java/LambdaCube/IR/TextureType.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/Value.java b/ddl/out/java/LambdaCube/IR/Value.java
index 8d3e45d..294a4db 100644
--- a/ddl/out/java/LambdaCube/IR/Value.java
+++ b/ddl/out/java/LambdaCube/IR/Value.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:34.381854000000Z 2// 2016-09-15T19:44:47.624123918Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/Mesh/JSON.java b/ddl/out/java/LambdaCube/Mesh/JSON.java
index b19b4e2..a52ea1f 100644
--- a/ddl/out/java/LambdaCube/Mesh/JSON.java
+++ b/ddl/out/java/LambdaCube/Mesh/JSON.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.222504000000Z 2// 2016-09-15T19:44:48.078244539Z
3 3
4package LambdaCube.Mesh; 4package LambdaCube.Mesh;
5 5
diff --git a/ddl/out/java/LambdaCube/Mesh/Mesh.java b/ddl/out/java/LambdaCube/Mesh/Mesh.java
index db5fc0a..d5a649f 100644
--- a/ddl/out/java/LambdaCube/Mesh/Mesh.java
+++ b/ddl/out/java/LambdaCube/Mesh/Mesh.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.222504000000Z 2// 2016-09-15T19:44:48.078244539Z
3 3
4package LambdaCube.Mesh; 4package LambdaCube.Mesh;
5 5
diff --git a/ddl/out/java/LambdaCube/Mesh/MeshAttribute.java b/ddl/out/java/LambdaCube/Mesh/MeshAttribute.java
index a2982b3..68fa1bc 100644
--- a/ddl/out/java/LambdaCube/Mesh/MeshAttribute.java
+++ b/ddl/out/java/LambdaCube/Mesh/MeshAttribute.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.222504000000Z 2// 2016-09-15T19:44:48.078244539Z
3 3
4package LambdaCube.Mesh; 4package LambdaCube.Mesh;
5 5
diff --git a/ddl/out/java/LambdaCube/Mesh/MeshPrimitive.java b/ddl/out/java/LambdaCube/Mesh/MeshPrimitive.java
index 909e9bd..116cf4a 100644
--- a/ddl/out/java/LambdaCube/Mesh/MeshPrimitive.java
+++ b/ddl/out/java/LambdaCube/Mesh/MeshPrimitive.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.222504000000Z 2// 2016-09-15T19:44:48.078244539Z
3 3
4package LambdaCube.Mesh; 4package LambdaCube.Mesh;
5 5
diff --git a/ddl/out/java/LambdaCube/PipelineSchema/JSON.java b/ddl/out/java/LambdaCube/PipelineSchema/JSON.java
index 7e06c4e..fd2a905 100644
--- a/ddl/out/java/LambdaCube/PipelineSchema/JSON.java
+++ b/ddl/out/java/LambdaCube/PipelineSchema/JSON.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.172905000000Z 2// 2016-09-15T19:44:48.052942639Z
3 3
4package LambdaCube.PipelineSchema; 4package LambdaCube.PipelineSchema;
5 5
diff --git a/ddl/out/java/LambdaCube/PipelineSchema/ObjectArraySchema.java b/ddl/out/java/LambdaCube/PipelineSchema/ObjectArraySchema.java
index 13ff8c2..6ed3627 100644
--- a/ddl/out/java/LambdaCube/PipelineSchema/ObjectArraySchema.java
+++ b/ddl/out/java/LambdaCube/PipelineSchema/ObjectArraySchema.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.172905000000Z 2// 2016-09-15T19:44:48.052942639Z
3 3
4package LambdaCube.PipelineSchema; 4package LambdaCube.PipelineSchema;
5 5
diff --git a/ddl/out/java/LambdaCube/PipelineSchema/PipelineSchema.java b/ddl/out/java/LambdaCube/PipelineSchema/PipelineSchema.java
index 631b01c..39fb6eb 100644
--- a/ddl/out/java/LambdaCube/PipelineSchema/PipelineSchema.java
+++ b/ddl/out/java/LambdaCube/PipelineSchema/PipelineSchema.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.172905000000Z 2// 2016-09-15T19:44:48.052942639Z
3 3
4package LambdaCube.PipelineSchema; 4package LambdaCube.PipelineSchema;
5 5
diff --git a/ddl/out/java/LambdaCube/PipelineSchema/StreamType.java b/ddl/out/java/LambdaCube/PipelineSchema/StreamType.java
index 41cef93..debbb01 100644
--- a/ddl/out/java/LambdaCube/PipelineSchema/StreamType.java
+++ b/ddl/out/java/LambdaCube/PipelineSchema/StreamType.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.172905000000Z 2// 2016-09-15T19:44:48.052942639Z
3 3
4package LambdaCube.PipelineSchema; 4package LambdaCube.PipelineSchema;
5 5
diff --git a/ddl/out/java/LambdaCube/TypeInfo/CompileResult.java b/ddl/out/java/LambdaCube/TypeInfo/CompileResult.java
index 36bba0d..91653b5 100644
--- a/ddl/out/java/LambdaCube/TypeInfo/CompileResult.java
+++ b/ddl/out/java/LambdaCube/TypeInfo/CompileResult.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.327304000000Z 2// 2016-09-15T19:44:48.120020034Z
3 3
4package LambdaCube.TypeInfo; 4package LambdaCube.TypeInfo;
5 5
diff --git a/ddl/out/java/LambdaCube/TypeInfo/JSON.java b/ddl/out/java/LambdaCube/TypeInfo/JSON.java
index 6491702..e13fa63 100644
--- a/ddl/out/java/LambdaCube/TypeInfo/JSON.java
+++ b/ddl/out/java/LambdaCube/TypeInfo/JSON.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.327304000000Z 2// 2016-09-15T19:44:48.120020034Z
3 3
4package LambdaCube.TypeInfo; 4package LambdaCube.TypeInfo;
5 5
diff --git a/ddl/out/java/LambdaCube/TypeInfo/Range.java b/ddl/out/java/LambdaCube/TypeInfo/Range.java
index c5de275..8c63d75 100644
--- a/ddl/out/java/LambdaCube/TypeInfo/Range.java
+++ b/ddl/out/java/LambdaCube/TypeInfo/Range.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.327304000000Z 2// 2016-09-15T19:44:48.120020034Z
3 3
4package LambdaCube.TypeInfo; 4package LambdaCube.TypeInfo;
5 5
diff --git a/ddl/out/java/LambdaCube/TypeInfo/TypeInfo.java b/ddl/out/java/LambdaCube/TypeInfo/TypeInfo.java
index 2e966f7..8e86f07 100644
--- a/ddl/out/java/LambdaCube/TypeInfo/TypeInfo.java
+++ b/ddl/out/java/LambdaCube/TypeInfo/TypeInfo.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.327304000000Z 2// 2016-09-15T19:44:48.120020034Z
3 3
4package LambdaCube.TypeInfo; 4package LambdaCube.TypeInfo;
5 5
diff --git a/ddl/out/java/TestData/ClientInfo.java b/ddl/out/java/TestData/ClientInfo.java
index b2c4cf8..0b78ff0 100644
--- a/ddl/out/java/TestData/ClientInfo.java
+++ b/ddl/out/java/TestData/ClientInfo.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.381981000000Z 2// 2016-09-15T19:44:48.147167874Z
3 3
4package TestData; 4package TestData;
5 5
diff --git a/ddl/out/java/TestData/Frame.java b/ddl/out/java/TestData/Frame.java
index b9a0d6a..1fe44d9 100644
--- a/ddl/out/java/TestData/Frame.java
+++ b/ddl/out/java/TestData/Frame.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.381981000000Z 2// 2016-09-15T19:44:48.147167874Z
3 3
4package TestData; 4package TestData;
5 5
diff --git a/ddl/out/java/TestData/FrameResult.java b/ddl/out/java/TestData/FrameResult.java
index 45d3e9d..03f6eca 100644
--- a/ddl/out/java/TestData/FrameResult.java
+++ b/ddl/out/java/TestData/FrameResult.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.381981000000Z 2// 2016-09-15T19:44:48.147167874Z
3 3
4package TestData; 4package TestData;
5 5
diff --git a/ddl/out/java/TestData/JSON.java b/ddl/out/java/TestData/JSON.java
index 61b5c21..ce9772c 100644
--- a/ddl/out/java/TestData/JSON.java
+++ b/ddl/out/java/TestData/JSON.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.381981000000Z 2// 2016-09-15T19:44:48.147167874Z
3 3
4package TestData; 4package TestData;
5 5
diff --git a/ddl/out/java/TestData/PipelineInfo.java b/ddl/out/java/TestData/PipelineInfo.java
index 20033ce..4b0f537 100644
--- a/ddl/out/java/TestData/PipelineInfo.java
+++ b/ddl/out/java/TestData/PipelineInfo.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.381981000000Z 2// 2016-09-15T19:44:48.147167874Z
3 3
4package TestData; 4package TestData;
5 5
diff --git a/ddl/out/java/TestData/RenderJob.java b/ddl/out/java/TestData/RenderJob.java
index 076ae55..dfcb76c 100644
--- a/ddl/out/java/TestData/RenderJob.java
+++ b/ddl/out/java/TestData/RenderJob.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.381981000000Z 2// 2016-09-15T19:44:48.147167874Z
3 3
4package TestData; 4package TestData;
5 5
diff --git a/ddl/out/java/TestData/RenderJobResult.java b/ddl/out/java/TestData/RenderJobResult.java
index e04afa2..e9b0352 100644
--- a/ddl/out/java/TestData/RenderJobResult.java
+++ b/ddl/out/java/TestData/RenderJobResult.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.381981000000Z 2// 2016-09-15T19:44:48.147167874Z
3 3
4package TestData; 4package TestData;
5 5
diff --git a/ddl/out/java/TestData/Scene.java b/ddl/out/java/TestData/Scene.java
index 363915a..1a37243 100644
--- a/ddl/out/java/TestData/Scene.java
+++ b/ddl/out/java/TestData/Scene.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-04-01T16:25:35.381981000000Z 2// 2016-09-15T19:44:48.147167874Z
3 3
4package TestData; 4package TestData;
5 5
diff --git a/ddl/templates/data.purs.ede b/ddl/templates/data.purs.ede
index 0474931..490050a 100644
--- a/ddl/templates/data.purs.ede
+++ b/ddl/templates/data.purs.ede
@@ -10,11 +10,13 @@ import Data.Map (Map(..))
10import Data.List (List(..)) 10import Data.List (List(..))
11import Linear 11import Linear
12 12
13import Data.Argonaut.Combinators ((~>), (:=), (.?)) 13import Data.Argonaut.Encode.Combinators ((~>), (:=))
14import Data.Argonaut.Decode.Combinators ((.?))
14import Data.Argonaut.Core (jsonEmptyObject) 15import Data.Argonaut.Core (jsonEmptyObject)
15import Data.Argonaut.Printer (printJson) 16import Data.Argonaut.Printer (printJson)
16import Data.Argonaut.Encode (EncodeJson, encodeJson) 17import Data.Argonaut.Encode (class EncodeJson, encodeJson)
17import Data.Argonaut.Decode (DecodeJson, decodeJson) 18import Data.Argonaut.Decode (class DecodeJson, decodeJson)
19import Partial.Unsafe (unsafeCrashWith)
18 20
19{% for m in imports %} 21{% for m in imports %}
20import {{ m.value }} 22import {{ m.value }}
@@ -64,5 +66,6 @@ instance decodeJson{{ t.value.dataName }} :: DecodeJson {{ t.value.dataName }} w
64 {% if f.first %}{ {% else %}, {%endif%}{{ f.value.fieldName }}:{{ f.value.fieldName }}{% endfor %} 66 {% if f.first %}{ {% else %}, {%endif%}{{ f.value.fieldName }}:{{ f.value.fieldName }}{% endfor %}
65 } {% else %} 67 } {% else %}
66 "{{ c.value.name }}" -> {% for f in c.value.fields %}{% if f.first %}{{ c.value.name }} <$>{% else %} <*>{% endif %} obj .? "arg{{ f.index0 }}"{%else%}pure {{ c.value.name }}{% endfor %}{% endif %}{% endfor %} 68 "{{ c.value.name }}" -> {% for f in c.value.fields %}{% if f.first %}{{ c.value.name }} <$>{% else %} <*>{% endif %} obj .? "arg{{ f.index0 }}"{%else%}pure {{ c.value.name }}{% endfor %}{% endif %}{% endfor %}
69 _ -> unsafeCrashWith "decodeJson @ {{ t.value.dataName }}"
67 70
68{% endfor %} \ No newline at end of file 71{% endfor %}
diff --git a/lambdacube-ir.haskell/lambdacube-ir.cabal b/lambdacube-ir.haskell/lambdacube-ir.cabal
index eef6c4d..97085e8 100644
--- a/lambdacube-ir.haskell/lambdacube-ir.cabal
+++ b/lambdacube-ir.haskell/lambdacube-ir.cabal
@@ -28,7 +28,7 @@ library
28 containers >=0.5 && <0.6, 28 containers >=0.5 && <0.6,
29 vector >=0.11 && <0.12, 29 vector >=0.11 && <0.12,
30 text >=1.2 && <1.3, 30 text >=1.2 && <1.3,
31 aeson >=0.9 && <1, 31 aeson >=0.9 && <0.12,
32 mtl >=2.2 && <2.3 32 mtl >=2.2 && <2.3
33 hs-source-dirs: src 33 hs-source-dirs: src
34 default-language: Haskell2010 34 default-language: Haskell2010