KumiScript/interpreter/PrimitiveProcedure.cs
2024-01-25 23:37:51 -06:00

27 lines
No EOL
692 B
C#

namespace KumiScript.Interpreter
{
public class PrimitiveProcedure : Procedure
{
public delegate Expression PrimitiveDelegate(ListExpression args, Environment env);
readonly PrimitiveDelegate _function;
public PrimitiveProcedure(PrimitiveDelegate function)
{
_function = function;
}
public override Expression ApplyWithArgs(ListExpression args, Environment env)
{
return _function(args, env);
}
public override bool IsPrimitive()
{
return true;
}
public override string ToString()
{
return _function.ToString();
}
}
}