packages feed

labeled-tree (empty) → 1.0.0.0

raw patch · 4 files changed

+136/−0 lines, 4 filesdep +basesetup-changed

Dependencies added: base

Files

+ Data/LabeledTree.hs view
@@ -0,0 +1,35 @@+{-# LANGUAGE TypeOperators #-}+module Data.LabeledTree where++import Data.Traversable+import Data.Foldable+import Control.Applicative++data Tree k a = Node  {+      rootLabel :: a, -- ^ label value+      subForest :: Forest k a -- ^ zero or more child trees+} deriving (Show, Eq, Read)++-- | label + value pair+data k ::> a = k ::> a+ deriving (Show, Eq, Read)++type Forest k a = [k ::> Tree k a]++instance Functor ((::>) k) where+    fmap = fmapDefault++instance Foldable ((::>) k) where+    foldMap = foldMapDefault++instance Traversable ((::>) k) where+    traverse f (k ::> v) = (::>) k <$> f v++instance Functor (Tree k) where+    fmap = fmapDefault++instance Foldable (Tree k) where+    foldMap = foldMapDefault++instance Traversable (Tree k) where   +    traverse f (Node l sf) = Node <$> f l <*> (traverse (traverse (traverse f)) sf)
+ LICENSE view
@@ -0,0 +1,83 @@+This library (libraries/containers) is derived from code from several+sources: ++  * Code from the GHC project which is largely (c) The University of+    Glasgow, and distributable under a BSD-style license (see below),++  * Code from the Haskell 98 Report which is (c) Simon Peyton Jones+    and freely redistributable (but see the full license for+    restrictions).++  * Code from the Haskell Foreign Function Interface specification,+    which is (c) Manuel M. T. Chakravarty and freely redistributable+    (but see the full license for restrictions).++The full text of these licenses is reproduced below.  All of the+licenses are BSD-style or compatible.++-----------------------------------------------------------------------------++The Glasgow Haskell Compiler License++Copyright 2004, The University Court of the University of Glasgow. +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 name of the University nor the names of its contributors may be+used to endorse or promote products derived from this software without+specific prior written permission. ++THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF+GLASGOW AND THE 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+UNIVERSITY COURT OF THE UNIVERSITY OF GLASGOW OR THE 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.++-----------------------------------------------------------------------------++Code derived from the document "Report on the Programming Language+Haskell 98", is distributed under the following license:++  Copyright (c) 2002 Simon Peyton Jones++  The authors intend this Report to belong to the entire Haskell+  community, and so we grant permission to copy and distribute it for+  any purpose, provided that it is reproduced in its entirety,+  including this Notice.  Modified versions of this Report may also be+  copied and distributed for any purpose, provided that the modified+  version is clearly presented as such, and that it does not claim to+  be a definition of the Haskell 98 Language.++-----------------------------------------------------------------------------++Code derived from the document "The Haskell 98 Foreign Function+Interface, An Addendum to the Haskell 98 Report" is distributed under+the following license:++  Copyright (c) 2002 Manuel M. T. Chakravarty++  The authors intend this Report to belong to the entire Haskell+  community, and so we grant permission to copy and distribute it for+  any purpose, provided that it is reproduced in its entirety,+  including this Notice.  Modified versions of this Report may also be+  copied and distributed for any purpose, provided that the modified+  version is clearly presented as such, and that it does not claim to+  be a definition of the Haskell 98 Foreign Function Interface.++-----------------------------------------------------------------------------
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
+ labeled-tree.cabal view
@@ -0,0 +1,16 @@+name:       labeled-tree+version:    1.0.0.0+license:    BSD3+license-file:    LICENSE+maintainer:    jeanphilippe.bernardy@gmail.com+synopsis:   Labeled tree structure+category:   Data Structures+description:+        Labeled tree structure, on the model of the standard Data.Tree+build-type: Simple+cabal-version:  >=1.6++Library + build-depends: base >= 1 && < 6+ exposed-modules:+  Data.LabeledTree