packages feed

funcons-tools-0.1.0.0: cbs/Funcons/Core/Computations/DataFlow/Interacting/Print.hs

-- GeNeRaTeD fOr: ../../CBS/Funcons/Computations/Data flow/Interacting/print.aterm
{-# LANGUAGE OverloadedStrings #-}

module Funcons.Core.Computations.DataFlow.Interacting.Print where

import Funcons.EDSL

entities = []

types = typeEnvFromList
    []

funcons = libFromList
    [("print",StrictFuncon stepPrint)]

-- |
-- /print(E)/ evaluates /E/ and emits the resulting value
--   on the /standard-out/ .
print_ fargs = FApp "print" (FTuple fargs)
stepPrint fargs =
    evalRules [] [step1]
    where step1 = do
            let env = emptyEnv
            env <- lifted_vsMatch fargs [VPAnnotated (VPMetaVar "V") (TName "values")] env
            writeOutTerm "standard-out" (TList [TVar "V"]) env
            stepTo (FTuple [])