diff --git a/src/ast.cpp b/src/ast.cpp index 1bc12a6..543fc92 100644 --- a/src/ast.cpp +++ b/src/ast.cpp @@ -30,18 +30,18 @@ ValuePtr Value::meta() const // ----------------------------------------- -Collection::Collection(const ValueList& nodes) +Collection::Collection(const ValueVector& nodes) : m_nodes(nodes) { } -Collection::Collection(ValueListIt begin, ValueListIt end) - : m_nodes(ValueList(begin, end)) +Collection::Collection(ValueVectorIt begin, ValueVectorIt end) + : m_nodes(ValueVector(begin, end)) { } -Collection::Collection(ValueListConstIt begin, ValueListConstIt end) - : m_nodes(ValueList(begin, end)) +Collection::Collection(ValueVectorConstIt begin, ValueVectorConstIt end) + : m_nodes(ValueVector(begin, end)) { } @@ -60,25 +60,25 @@ void Collection::add(ValuePtr node) m_nodes.push_back(node); } -ValueList Collection::rest() const +ValueVector Collection::rest() const { auto start = (m_nodes.size() > 0) ? m_nodes.begin() + 1 : m_nodes.end(); - return ValueList(start, m_nodes.end()); + return ValueVector(start, m_nodes.end()); } // ----------------------------------------- -List::List(const ValueList& nodes) +List::List(const ValueVector& nodes) : Collection(nodes) { } -List::List(ValueListIt begin, ValueListIt end) +List::List(ValueVectorIt begin, ValueVectorIt end) : Collection(begin, end) { } -List::List(ValueListConstIt begin, ValueListConstIt end) +List::List(ValueVectorConstIt begin, ValueVectorConstIt end) : Collection(begin, end) { } @@ -90,17 +90,17 @@ List::List(const List& that, ValuePtr meta) // ----------------------------------------- -Vector::Vector(const ValueList& nodes) +Vector::Vector(const ValueVector& nodes) : Collection(nodes) { } -Vector::Vector(ValueListIt begin, ValueListIt end) +Vector::Vector(ValueVectorIt begin, ValueVectorIt end) : Collection(begin, end) { } -Vector::Vector(ValueListConstIt begin, ValueListConstIt end) +Vector::Vector(ValueVectorConstIt begin, ValueVectorConstIt end) : Collection(begin, end) { } diff --git a/src/ast.h b/src/ast.h index a643812..1a61084 100644 --- a/src/ast.h +++ b/src/ast.h @@ -101,15 +101,15 @@ public: bool empty() const { return m_nodes.size() == 0; } ValuePtr front() const { return m_nodes.front(); } - ValueList rest() const; + ValueVector rest() const; - const ValueList& nodes() const { return m_nodes; } + const ValueVector& nodes() const { return m_nodes; } protected: Collection() = default; - Collection(const ValueList& nodes); - Collection(ValueListIt begin, ValueListIt end); - Collection(ValueListConstIt begin, ValueListConstIt end); + Collection(const ValueVector& nodes); + Collection(ValueVectorIt begin, ValueVectorIt end); + Collection(ValueVectorConstIt begin, ValueVectorConstIt end); Collection(const Collection& that, ValuePtr meta); template @@ -121,7 +121,7 @@ protected: private: virtual bool isCollection() const override { return true; } - ValueList m_nodes; + ValueVector m_nodes; }; // ----------------------------------------- @@ -130,9 +130,9 @@ private: class List final : public Collection { public: List() = default; - List(const ValueList& nodes); - List(ValueListIt begin, ValueListIt end); - List(ValueListConstIt begin, ValueListConstIt end); + List(const ValueVector& nodes); + List(ValueVectorIt begin, ValueVectorIt end); + List(ValueVectorConstIt begin, ValueVectorConstIt end); List(const List& that, ValuePtr meta); template @@ -155,9 +155,9 @@ private: class Vector final : public Collection { public: Vector() = default; - Vector(const ValueList& nodes); - Vector(ValueListIt begin, ValueListIt end); - Vector(ValueListConstIt begin, ValueListConstIt end); + Vector(const ValueVector& nodes); + Vector(ValueVectorIt begin, ValueVectorIt end); + Vector(ValueVectorConstIt begin, ValueVectorConstIt end); Vector(const Vector& that, ValuePtr meta); template @@ -324,7 +324,7 @@ private: // ----------------------------------------- -using FunctionType = std::function; +using FunctionType = std::function; class Function final : public Callable { public: diff --git a/src/environment.cpp b/src/environment.cpp index 2c66a07..3d48efa 100644 --- a/src/environment.cpp +++ b/src/environment.cpp @@ -29,7 +29,7 @@ EnvironmentPtr Environment::create(EnvironmentPtr outer) return env; } -EnvironmentPtr Environment::create(const ValuePtr lambda, const ValueList& arguments) +EnvironmentPtr Environment::create(const ValuePtr lambda, const ValueVector& arguments) { auto lambda_casted = std::static_pointer_cast(lambda); auto env = create(lambda_casted->env()); diff --git a/src/environment.h b/src/environment.h index bb57dc7..a2e3c2e 100644 --- a/src/environment.h +++ b/src/environment.h @@ -21,7 +21,7 @@ public: // Factory functions instead of constructors because it can fail in the bindings/arguments case static EnvironmentPtr create(); static EnvironmentPtr create(EnvironmentPtr outer); - static EnvironmentPtr create(const ValuePtr lambda, const ValueList& arguments); + static EnvironmentPtr create(const ValuePtr lambda, const ValueVector& arguments); bool exists(const std::string& symbol); ValuePtr set(const std::string& symbol, ValuePtr value); diff --git a/src/eval-special-form.cpp b/src/eval-special-form.cpp index 08d393d..ac4e186 100644 --- a/src/eval-special-form.cpp +++ b/src/eval-special-form.cpp @@ -22,7 +22,7 @@ namespace blaze { static ValuePtr evalQuasiQuoteImpl(ValuePtr ast); // (def! x 2) -ValuePtr Eval::evalDef(const ValueList& nodes, EnvironmentPtr env) +ValuePtr Eval::evalDef(const ValueVector& nodes, EnvironmentPtr env) { CHECK_ARG_COUNT_IS("def!", nodes.size(), 2); @@ -44,7 +44,7 @@ ValuePtr Eval::evalDef(const ValueList& nodes, EnvironmentPtr env) } // (defmacro! x (fn* (x) x)) -ValuePtr Eval::evalDefMacro(const ValueList& nodes, EnvironmentPtr env) +ValuePtr Eval::evalDefMacro(const ValueVector& nodes, EnvironmentPtr env) { CHECK_ARG_COUNT_IS("defmacro!", nodes.size(), 2); @@ -67,7 +67,7 @@ ValuePtr Eval::evalDefMacro(const ValueList& nodes, EnvironmentPtr env) } // (fn* (x) x) -ValuePtr Eval::evalFn(const ValueList& nodes, EnvironmentPtr env) +ValuePtr Eval::evalFn(const ValueVector& nodes, EnvironmentPtr env) { CHECK_ARG_COUNT_IS("fn*", nodes.size(), 2); @@ -88,7 +88,7 @@ ValuePtr Eval::evalFn(const ValueList& nodes, EnvironmentPtr env) return makePtr(bindings, *std::next(nodes.begin()), env); } -ValuePtr Eval::evalMacroExpand(const ValueList& nodes, EnvironmentPtr env) +ValuePtr Eval::evalMacroExpand(const ValueVector& nodes, EnvironmentPtr env) { CHECK_ARG_COUNT_IS("macroexpand", nodes.size(), 1); @@ -96,7 +96,7 @@ ValuePtr Eval::evalMacroExpand(const ValueList& nodes, EnvironmentPtr env) } // (quasiquoteexpand x) -ValuePtr Eval::evalQuasiQuoteExpand(const ValueList& nodes) +ValuePtr Eval::evalQuasiQuoteExpand(const ValueVector& nodes) { CHECK_ARG_COUNT_IS("quasiquoteexpand", nodes.size(), 1); @@ -104,7 +104,7 @@ ValuePtr Eval::evalQuasiQuoteExpand(const ValueList& nodes) } // (quote x) -ValuePtr Eval::evalQuote(const ValueList& nodes) +ValuePtr Eval::evalQuote(const ValueVector& nodes) { CHECK_ARG_COUNT_IS("quote", nodes.size(), 1); @@ -112,7 +112,7 @@ ValuePtr Eval::evalQuote(const ValueList& nodes) } // (do 1 2 3) -void Eval::evalDo(const ValueList& nodes, EnvironmentPtr env) +void Eval::evalDo(const ValueVector& nodes, EnvironmentPtr env) { CHECK_ARG_COUNT_AT_LEAST("do", nodes.size(), 1, void()); @@ -130,7 +130,7 @@ void Eval::evalDo(const ValueList& nodes, EnvironmentPtr env) } // (if x true false) -void Eval::evalIf(const ValueList& nodes, EnvironmentPtr env) +void Eval::evalIf(const ValueVector& nodes, EnvironmentPtr env) { CHECK_ARG_COUNT_BETWEEN("if", nodes.size(), 2, 3, void()); @@ -154,7 +154,7 @@ void Eval::evalIf(const ValueList& nodes, EnvironmentPtr env) } // (let* (x 1) x) -void Eval::evalLet(const ValueList& nodes, EnvironmentPtr env) +void Eval::evalLet(const ValueVector& nodes, EnvironmentPtr env) { CHECK_ARG_COUNT_IS("let*", nodes.size(), 2, void()); @@ -271,7 +271,7 @@ static ValuePtr evalQuasiQuoteImpl(ValuePtr ast) } // (quasiquote x) -void Eval::evalQuasiQuote(const ValueList& nodes, EnvironmentPtr env) +void Eval::evalQuasiQuote(const ValueVector& nodes, EnvironmentPtr env) { CHECK_ARG_COUNT_IS("quasiquote", nodes.size(), 1, void()); @@ -283,7 +283,7 @@ void Eval::evalQuasiQuote(const ValueList& nodes, EnvironmentPtr env) } // (try* x (catch* y z)) -void Eval::evalTry(const ValueList& nodes, EnvironmentPtr env) +void Eval::evalTry(const ValueVector& nodes, EnvironmentPtr env) { CHECK_ARG_COUNT_AT_LEAST("try*", nodes.size(), 1, void()); diff --git a/src/eval.h b/src/eval.h index 9c9a7e6..6acb657 100644 --- a/src/eval.h +++ b/src/eval.h @@ -32,17 +32,17 @@ private: bool isMacroCall(ValuePtr ast, EnvironmentPtr env); ValuePtr macroExpand(ValuePtr ast, EnvironmentPtr env); - ValuePtr evalDef(const ValueList& nodes, EnvironmentPtr env); - ValuePtr evalDefMacro(const ValueList& nodes, EnvironmentPtr env); - ValuePtr evalFn(const ValueList& nodes, EnvironmentPtr env); - ValuePtr evalMacroExpand(const ValueList& nodes, EnvironmentPtr env); - ValuePtr evalQuasiQuoteExpand(const ValueList& nodes); - ValuePtr evalQuote(const ValueList& nodes); - void evalDo(const ValueList& nodes, EnvironmentPtr env); - void evalIf(const ValueList& nodes, EnvironmentPtr env); - void evalLet(const ValueList& nodes, EnvironmentPtr env); - void evalQuasiQuote(const ValueList& nodes, EnvironmentPtr env); - void evalTry(const ValueList& nodes, EnvironmentPtr env); + ValuePtr evalDef(const ValueVector& nodes, EnvironmentPtr env); + ValuePtr evalDefMacro(const ValueVector& nodes, EnvironmentPtr env); + ValuePtr evalFn(const ValueVector& nodes, EnvironmentPtr env); + ValuePtr evalMacroExpand(const ValueVector& nodes, EnvironmentPtr env); + ValuePtr evalQuasiQuoteExpand(const ValueVector& nodes); + ValuePtr evalQuote(const ValueVector& nodes); + void evalDo(const ValueVector& nodes, EnvironmentPtr env); + void evalIf(const ValueVector& nodes, EnvironmentPtr env); + void evalLet(const ValueVector& nodes, EnvironmentPtr env); + void evalQuasiQuote(const ValueVector& nodes, EnvironmentPtr env); + void evalTry(const ValueVector& nodes, EnvironmentPtr env); ValuePtr apply(std::shared_ptr evaluated_list); diff --git a/src/forward.h b/src/forward.h index 209a7bd..9a01f49 100644 --- a/src/forward.h +++ b/src/forward.h @@ -16,9 +16,9 @@ namespace blaze { class Value; typedef std::shared_ptr ValuePtr; -typedef std::vector ValueList; -typedef ValueList::iterator ValueListIt; -typedef ValueList::const_iterator ValueListConstIt; +typedef std::vector ValueVector; +typedef ValueVector::iterator ValueVectorIt; +typedef ValueVector::const_iterator ValueVectorConstIt; class Environment; typedef std::shared_ptr EnvironmentPtr; diff --git a/src/functions.cpp b/src/functions.cpp index 4b9ab03..875ab98 100644 --- a/src/functions.cpp +++ b/src/functions.cpp @@ -39,7 +39,7 @@ static struct FUNCTION_STRUCT_NAME(unique) \ FUNCTION_STRUCT_NAME(unique)( \ symbol, \ - [](ValueListIt begin, ValueListIt end) -> ValuePtr lambda); + [](ValueVectorIt begin, ValueVectorIt end) -> ValuePtr lambda); #define ADD_FUNCTION(symbol, lambda) ADD_FUNCTION_IMPL(__LINE__, symbol, lambda); @@ -391,7 +391,7 @@ ADD_FUNCTION( // Remove atom and function from the argument list, add atom value begin += 2; - auto arguments = ValueList(end - begin + 1); + auto arguments = ValueVector(end - begin + 1); arguments[0] = atom->deref(); std::copy(begin, end, arguments.begin() + 1); @@ -420,7 +420,7 @@ ADD_FUNCTION( VALUE_CAST(collection, Collection, (*begin)); const auto& collection_nodes = collection->nodes(); - ValueList* result_nodes = new ValueList(collection_nodes.size() + 1); + ValueVector* result_nodes = new ValueVector(collection_nodes.size() + 1); result_nodes->at(0) = first; std::copy(collection_nodes.begin(), collection_nodes.end(), result_nodes->begin() + 1); @@ -437,7 +437,7 @@ ADD_FUNCTION( count += collection->size(); } - auto result_nodes = new ValueList(count); + auto result_nodes = new ValueVector(count); size_t offset = 0; for (auto it = begin; it != end; ++it) { const auto& collection_nodes = std::static_pointer_cast(*it)->nodes(); @@ -530,7 +530,7 @@ ADD_FUNCTION( VALUE_CAST(collection, Collection, (*std::prev(end))); - ValueList arguments(begin + 1, end - 1); + ValueVector arguments(begin + 1, end - 1); arguments.reserve(arguments.size() + collection->size()); // Append list nodes to the argument leftovers @@ -567,7 +567,7 @@ ADD_FUNCTION( if (is(callable.get())) { auto function = std::static_pointer_cast(callable)->function(); for (const auto& node : collection_nodes) { - auto arguments = ValueList { node }; + auto arguments = ValueVector { node }; result->add(function(arguments.begin(), arguments.end())); } } @@ -910,7 +910,7 @@ ADD_FUNCTION( size_t collection_count = collection_nodes.size(); size_t argument_count = SIZE(); - ValueList* nodes = new ValueList(argument_count + collection_count); + ValueVector* nodes = new ValueVector(argument_count + collection_count); if (is(collection.get())) { std::reverse_copy(begin, end, nodes->begin());