packages feed

funcons-tools-0.1.0.0: cbs/Funcons/Core/Computations/DataFlow/Generating/FreshBinder.hs

-- GeNeRaTeD fOr: ../../CBS/Funcons/Computations/Data flow/Generating/fresh-binder.aterm
{-# LANGUAGE OverloadedStrings #-}

module Funcons.Core.Computations.DataFlow.Generating.FreshBinder where

import Funcons.EDSL

entities = []

types = typeEnvFromList
    []

funcons = libFromList
    [("fresh-binder",NullaryFuncon stepFresh_binder)]

-- |
-- /fresh-binder/ generates a fresh binder, distinct from all identifiers and
--   any binders previously generated by other occurrences of /fresh-binder/ .
fresh_binder_ = FName "fresh-binder"
stepFresh_binder = evalRules [rewrite1] []
    where rewrite1 = do
            let env = emptyEnv
            rewriteTo (FApp "id-in-namespace" (FTuple [FValue (String "generated-binder"),FName "fresh-atom"]))