#include "Function.hpp" #include "Value.hpp" namespace jk { /*explicit*/ Function::Function(foreign_t foreign) : m_foreign { foreign } { } /*explicit*/ Function::Function(std::shared_ptr program) : m_program { program } { } /*virtual*/ Function::~Function() { } value_t Function::call(std::vector const& args) { if (m_foreign) { return m_foreign(args); } return Value::make_nil(); } }