diff options
author | Joe Crayne <joe@jerkface.net> | 2019-04-13 22:37:43 -0400 |
---|---|---|
committer | Joe Crayne <joe@jerkface.net> | 2019-04-13 22:57:54 -0400 |
commit | 52dd131bbcacaa2b7de795641ecf69a1a10b1494 (patch) | |
tree | 7d417099395c07fd48b60754c6f592ae805b46d7 | |
parent | 726223850bb3d10a6438ec3d192c4c3707ab90ee (diff) |
signatures
-rw-r--r-- | ddl/Definitions.hs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/ddl/Definitions.hs b/ddl/Definitions.hs index 4c3b026..56fb6ee 100644 --- a/ddl/Definitions.hs +++ b/ddl/Definitions.hs | |||
@@ -2,8 +2,10 @@ | |||
2 | module Definitions (modules) where | 2 | module Definitions (modules) where |
3 | 3 | ||
4 | import Control.Monad.Writer | 4 | import Control.Monad.Writer |
5 | import Data.Functor.Identity | ||
5 | import Language | 6 | import Language |
6 | 7 | ||
8 | ir :: WriterT ([DataDef], [String]) Identity () | ||
7 | ir = do | 9 | ir = do |
8 | -- type aliases | 10 | -- type aliases |
9 | "StreamName" #= Int | 11 | "StreamName" #= Int |
@@ -434,6 +436,7 @@ ir = do | |||
434 | ] | 436 | ] |
435 | deriving_ [Haskell] [Show] | 437 | deriving_ [Haskell] [Show] |
436 | 438 | ||
439 | mesh :: WriterT ([DataDef], [String]) Identity () | ||
437 | mesh = do | 440 | mesh = do |
438 | data_ "MeshAttribute" $ do | 441 | data_ "MeshAttribute" $ do |
439 | const_ "A_Float" [Array Float] | 442 | const_ "A_Float" [Array Float] |
@@ -459,6 +462,7 @@ mesh = do | |||
459 | , "mPrimitive" #:: "MeshPrimitive" | 462 | , "mPrimitive" #:: "MeshPrimitive" |
460 | ] | 463 | ] |
461 | 464 | ||
465 | typeInfo :: WriterT ([DataDef], [String]) Identity () | ||
462 | typeInfo = do | 466 | typeInfo = do |
463 | data_ "Range" $ do | 467 | data_ "Range" $ do |
464 | constR_ "Range" | 468 | constR_ "Range" |
@@ -490,6 +494,7 @@ typeInfo = do | |||
490 | const_ "CompileError" [String, Array "TypeInfo", Array "WarningInfo", Array "ErrorInfo"] | 494 | const_ "CompileError" [String, Array "TypeInfo", Array "WarningInfo", Array "ErrorInfo"] |
491 | const_ "Compiled" [String, String, "Pipeline", Array "TypeInfo", Array "WarningInfo"] | 495 | const_ "Compiled" [String, String, "Pipeline", Array "TypeInfo", Array "WarningInfo"] |
492 | 496 | ||
497 | pipelineSchema :: WriterT ([DataDef], [String]) Identity () | ||
493 | pipelineSchema = do | 498 | pipelineSchema = do |
494 | data_ "StreamType" $ do | 499 | data_ "StreamType" $ do |
495 | enum_ "Attribute_Word" | 500 | enum_ "Attribute_Word" |
@@ -527,6 +532,7 @@ pipelineSchema = do | |||
527 | , "uniforms" #:: Map String "InputType" | 532 | , "uniforms" #:: Map String "InputType" |
528 | ] | 533 | ] |
529 | 534 | ||
535 | testData :: WriterT ([DataDef], [String]) Identity () | ||
530 | testData = do | 536 | testData = do |
531 | -- client info | 537 | -- client info |
532 | data_ "ClientInfo" $ do | 538 | data_ "ClientInfo" $ do |
@@ -578,6 +584,7 @@ testData = do | |||
578 | const_ "RenderJobResult" ["FrameResult"] | 584 | const_ "RenderJobResult" ["FrameResult"] |
579 | const_ "RenderJobError" [String] | 585 | const_ "RenderJobError" [String] |
580 | 586 | ||
587 | modules :: WriterT [ModuleDef] Identity () | ||
581 | modules = do | 588 | modules = do |
582 | module_ "LambdaCube.IR" ir | 589 | module_ "LambdaCube.IR" ir |
583 | module_ "LambdaCube.PipelineSchema" $ do | 590 | module_ "LambdaCube.PipelineSchema" $ do |