{-# LANGUAGE OverloadedStrings #-}

module Funcons.Core.Values.Primitive.Atoms where

import Funcons.EDSL hiding (atom_)
import qualified Funcons.Operations as VAL

library :: FunconLibrary
library = [(Name, EvalFunction)] -> FunconLibrary
libFromList [
        (Name
"atom", ([Funcons] -> Funcons)
-> ([OpExpr Funcons] -> OpExpr Funcons) -> EvalFunction
fromValOp [Funcons] -> Funcons
atom_ [OpExpr Funcons] -> OpExpr Funcons
forall t. HasValues t => [OpExpr t] -> OpExpr t
VAL.atom_)
    ,   (Name
"atoms", ([Funcons] -> Funcons)
-> ([OpExpr Funcons] -> OpExpr Funcons) -> EvalFunction
fromValOp [Funcons] -> Funcons
atoms_ [OpExpr Funcons] -> OpExpr Funcons
forall t. HasValues t => [OpExpr t] -> OpExpr t
VAL.atoms_) 
    ]

atoms_ :: [Funcons] -> Funcons
atoms_ = Name -> [Funcons] -> Funcons
applyFuncon Name
"atoms"
atom_ :: [Funcons] -> Funcons
atom_ = Name -> [Funcons] -> Funcons
applyFuncon Name
"atom"