{-# OPTIONS_GHC -fno-warn-orphans #-}
module Data.Validity.Tree where
import Data.Tree
import Data.Validity
instance (Validity a) => Validity (Tree a) where
validate :: Tree a -> Validation
validate (Node a
rl [Tree a]
sf) =
[Validation] -> Validation
forall a. Monoid a => [a] -> a
mconcat [a -> String -> Validation
forall a. Validity a => a -> String -> Validation
annotate a
rl String
"rootLabel", [Tree a] -> String -> Validation
forall a. Validity a => a -> String -> Validation
annotate [Tree a]
sf String
"subForest"]