<commit_before>{-# OPTIONS -Wall #-}

-- | A monadic library to build dataflow graphs for OM. 
module Language.Paraiso.OM.Builder
    (
     Builder(..)
    ) where

import qualified Algebra.Ring as Ring
import Control.Monad.State 
import qualified Data.Graph.Inductive as G
import Language.Paraiso.OM.Graph
import Language.Paraiso.OM.Realm
import Language.Paraiso.OM.Value as Val
import Language.Paraiso.OM.Value as DVal
import Language.Paraiso.OM.Expr as E
import Language.Paraiso.Tensor

data BuilderState = BuilderState ()

type Builder vector gauge a val = 
  State (Graph vector gauge a) val
  <commit_msg>BuilderState Implemented<commit_after>{-# OPTIONS -Wall #-}

-- | A monadic library to build dataflow graphs for OM. 
-- Builder is only for Graph vector gauge () . 
-- Graphs with other annotation types can be created by fmap.
module Language.Paraiso.OM.Builder
    (
     Builder(..)
    ) where

import qualified Algebra.Ring as Ring
import Control.Monad.State 
import qualified Data.Graph.Inductive as G
import Language.Paraiso.OM.Graph
import Language.Paraiso.OM.Realm
import Language.Paraiso.OM.Value as Val
import Language.Paraiso.OM.Value as DVal
import Language.Paraiso.OM.Expr as E
import Language.Paraiso.Tensor

data BuilderState vector gauge = BuilderState 
    { setup :: Setup, 
      target :: Graph vector gauge ()} 

type Builder vector gauge val = 
  State (BuilderState vector gauge) val
  
{'fraction_non_alphanumeric': 0.08227848101265822, 'fraction_numerical': 0.0, 'mean_word_length': 3.6809210526315788, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7294856', 'n_tokens_mistral': 443, 'n_tokens_neox': 424, 'n_words': 146}