twentefp-eventloop-trees (empty) → 0.0.0.1
raw patch · 4 files changed
+121/−0 lines, 4 filesdep +basedep +eventloopsetup-changed
Dependencies added: base, eventloop
Files
- LICENSE +30/−0
- Setup.hs +2/−0
- src/FPPrac/Trees.hs +69/−0
- twentefp-eventloop-trees.cabal +20/−0
+ LICENSE view
@@ -0,0 +1,30 @@+Copyright (c) 2014, Sebastiaan la Fleur + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + * Neither the name of Sebastiaan la Fleur nor the names of other + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple +main = defaultMain
+ src/FPPrac/Trees.hs view
@@ -0,0 +1,69 @@+module FPPrac.Trees + ( RoseTree + , ParseTree + , RBTree + , NodeColor + , parseExampleTree + , rbExampleTree + , roseExampleTree + , showRBTree + , showRBTreeList + , showParseTree + , showParseTreeList + , showRoseTree + , showRoseTreeList + ) where + + +import Prelude + +import Eventloop.EventloopCore +import Eventloop.Types.EventTypes +import Eventloop.DefaultConfiguration +import qualified Eventloop.Module.Websocket.Canvas as C +import Eventloop.Module.BasicShapes +import Eventloop.Module.DrawTrees + +data ProgramState = ProgramState + deriving (Eq, Show) + +beginProgramState = ProgramState + +eventloopConfig trees = defaultConfig { moduleConfigurations=[ defaultDrawTreesModuleConfiguration + , defaultBasicShapesModuleConfiguration + , C.defaultCanvasModuleConfiguration + ]} + where + defaultConfig = allModulesEventloopConfiguration beginProgramState (eventloop trees) + + + +eventloop :: [Tree] -> ProgramState -> In -> (ProgramState, [Out]) +eventloop trees state Start = (state, [ OutCanvas $ C.SetupCanvas 1 1 (1024, 1024) (C.CSSPercentage 0, C.CSSPercentage 0) + , OutDrawTrees $ DrawTrees 1 trees + , Stop + ] + ) + +showRBTree :: RBTree -> IO() +showRBTree tree = showRBTreeList [tree] + +showRBTreeList :: [RBTree] -> IO () +showRBTreeList trees = startMainloop (eventloopConfig (map TRBTree trees)) + + +showParseTree :: ParseTree -> IO() +showParseTree tree = showParseTreeList [tree] + +showParseTreeList :: [ParseTree] -> IO () +showParseTreeList trees = startMainloop (eventloopConfig (map TParseTree trees)) + + +showRoseTree :: RoseTree -> IO() +showRoseTree tree = showRoseTreeList [tree] + +showRoseTreeList :: [RoseTree] -> IO () +showRoseTreeList trees = startMainloop (eventloopConfig (map TRoseTree trees)) + + +
+ twentefp-eventloop-trees.cabal view
@@ -0,0 +1,20 @@+name: twentefp-eventloop-trees +version: 0.0.0.1 +synopsis: Tree type and show functions for lab assignment of University of Twente. Contains RoseTree and ParseTree +license: BSD3 +license-file: LICENSE +author: Sebastiaan la Fleur +maintainer: sebastiaan.la.fleur@gmail.com +build-type: Simple +cabal-version: >=1.10 + +library + exposed-modules: FPPrac.Trees + + + build-depends: + base >=4.6 && <5, + eventloop >= 0.2.1.1 && < 0.3.0.0 + + hs-source-dirs: src + default-language: Haskell2010