diff --git a/include/chaiscript/language/chaiscript_parser.hpp b/include/chaiscript/language/chaiscript_parser.hpp index 797bb35..f8452ff 100644 --- a/include/chaiscript/language/chaiscript_parser.hpp +++ b/include/chaiscript/language/chaiscript_parser.hpp @@ -1597,10 +1597,10 @@ namespace chaiscript size_t prev_stack_top = m_match_stack.size(); - if (Char('[')) { + if (Char('{')) { retval = true; Container_Arg_List(); - if (!Char(']')) { + if (!Char('}')) { throw exception::eval_error("Missing closing square bracket", File_Position(m_line, m_col), *m_filename); } if ((prev_stack_top != m_match_stack.size()) && (m_match_stack.back()->children.size() > 0)) { diff --git a/include/chaiscript/language/chaiscript_prelude.hpp b/include/chaiscript/language/chaiscript_prelude.hpp index 86cb6d2..ca0a585 100644 --- a/include/chaiscript/language/chaiscript_prelude.hpp +++ b/include/chaiscript/language/chaiscript_prelude.hpp @@ -7,7 +7,7 @@ #ifndef CHAISCRIPT_PRELUDE_HPP_ #define CHAISCRIPT_PRELUDE_HPP_ -//Note, the expression "[x,y]" in "collate" is parsed as two separate expressions +//Note, the expression "{x,y}" in "collate" is parsed as two separate expressions //by C++, so CODE_STRING, takes two expressions and adds in the missing comma #define CODE_STRING(x, y) #x ", " #y @@ -23,7 +23,7 @@ def to_string(x) : call_exists(first, x) && call_exists(second, x) { \n\ }\n\ # to_string for containers\n\ def to_string(x) : call_exists(range, x) && !x.is_type("string"){ \n\ - "[" + x.join(", ") + "]"; \n\ + "{" + x.join(", ") + "}"; \n\ }\n\ # Basic to_string function\n\ def to_string(x) { \n\ @@ -259,7 +259,7 @@ def generate_range(x, y) { \n\ }\n\ # Returns a new Vector with the first value to the second value as its elements\n\ def collate(x, y) { \n\ - [x, y]; \n\ + {x, y}; \n\ } \n\ def zip_with(f, x, y, inserter) : call_exists(range, x) && call_exists(range, y) { \n\ auto r_x = range(x); \n\ diff --git a/unittests/bind.chai b/unittests/bind.chai index a3af300..d89d66d 100644 --- a/unittests/bind.chai +++ b/unittests/bind.chai @@ -1,2 +1,2 @@ auto prod = bind(foldl, _, `*`, 1.0) -assert_equal(60, prod([3, 4, 5])) +assert_equal(60, prod({3, 4, 5})) diff --git a/unittests/concat.chai b/unittests/concat.chai index 53950a6..4b897b7 100644 --- a/unittests/concat.chai +++ b/unittests/concat.chai @@ -1,4 +1,4 @@ -auto v = concat([1, 2], [3, 4]); +auto v = concat({1, 2}, {3, 4}); assert_equal(4, v.size()); assert_equal(1, v[0]); diff --git a/unittests/deep_array_lookup.chai b/unittests/deep_array_lookup.chai index 8a86eaa..d94cb8f 100644 --- a/unittests/deep_array_lookup.chai +++ b/unittests/deep_array_lookup.chai @@ -1,9 +1,9 @@ -auto a = [1,2,3, [4,5,6] ] +auto a = {1,2,3, {4,5,6} } assert_equal(a[3][0], 4) -def Test::Test() { this.a = [1,2,3]; } +def Test::Test() { this.a = {1,2,3}; } attr Test::a; auto t = Test(); diff --git a/unittests/drop.chai b/unittests/drop.chai index c64b431..9758c8f 100644 --- a/unittests/drop.chai +++ b/unittests/drop.chai @@ -1 +1 @@ -assert_equal([3,4], drop([1, 2, 3, 4], 2)) +assert_equal({3,4}, drop({1, 2, 3, 4}, 2)) diff --git a/unittests/drop_while.chai b/unittests/drop_while.chai index 08e19f2..6912cf2 100644 --- a/unittests/drop_while.chai +++ b/unittests/drop_while.chai @@ -1 +1 @@ -assert_equal([2, 3], drop_while([1, 2, 3], odd)) +assert_equal({2, 3}, drop_while({1, 2, 3}, odd)) diff --git a/unittests/exception_guards.chai b/unittests/exception_guards.chai index 1279298..2c2ec09 100644 --- a/unittests/exception_guards.chai +++ b/unittests/exception_guards.chai @@ -1,4 +1,4 @@ -auto results = []; +auto results = {}; for (auto i = 2; i < 6; ++i) { try { @@ -31,4 +31,4 @@ catch { results.push_back("defaultcatch"); } -assert_equal(["c2: 2", "c2: 3", "c3: 4", "c3: 5", "defaultcatch"], results); +assert_equal({"c2: 2", "c2: 3", "c3: 4", "c3: 5", "defaultcatch"}, results); diff --git a/unittests/filter.chai b/unittests/filter.chai index 6d805fe..2b8b43a 100644 --- a/unittests/filter.chai +++ b/unittests/filter.chai @@ -1 +1 @@ -assert_equal([1,3], filter([1, 2, 3, 4], odd)) +assert_equal({1,3}, filter({1, 2, 3, 4}, odd)) diff --git a/unittests/foldl.chai b/unittests/foldl.chai index 7e9db51..25de4f3 100644 --- a/unittests/foldl.chai +++ b/unittests/foldl.chai @@ -1 +1 @@ -assert_equal(10, foldl([1, 2, 3, 4], `+`, 0)) +assert_equal(10, foldl({1, 2, 3, 4}, `+`, 0)) diff --git a/unittests/for.chai b/unittests/for.chai index c576999..e4ae118 100644 --- a/unittests/for.chai +++ b/unittests/for.chai @@ -1,7 +1,7 @@ -auto ret = [] +auto ret = {} for (auto i = 0; i < 5; ++i) { ret.push_back(i); } -assert_equal([0,1,2,3,4], ret); +assert_equal({0,1,2,3,4}, ret); diff --git a/unittests/for_each.chai b/unittests/for_each.chai index 242a1ba..0a8d737 100644 --- a/unittests/for_each.chai +++ b/unittests/for_each.chai @@ -1 +1 @@ -for_each([1, 2, 3], print) +for_each({1, 2, 3}, print) diff --git a/unittests/for_each_range.chai b/unittests/for_each_range.chai index 3a92641..3a31fc0 100644 --- a/unittests/for_each_range.chai +++ b/unittests/for_each_range.chai @@ -1,3 +1,3 @@ -auto v = [1,2,3]; +auto v = {1,2,3}; auto r = range(v); for_each(r, fun(x) { assert_equal(true, x>0); } ) diff --git a/unittests/for_each_retro.chai b/unittests/for_each_retro.chai index 4cd0ff5..816d30f 100644 --- a/unittests/for_each_retro.chai +++ b/unittests/for_each_retro.chai @@ -1,4 +1,4 @@ // Don't bother checking the output from this one, just makes sure it executes -auto v = [1,2,3]; +auto v = {1,2,3}; auto r = retro(range(v)); for_each(r, print) diff --git a/unittests/function_introspection.chai b/unittests/function_introspection.chai index 6d808df..335dc1a 100644 --- a/unittests/function_introspection.chai +++ b/unittests/function_introspection.chai @@ -18,7 +18,7 @@ assert_equal(test_function, test_function); assert_not_equal(test_function, `+`); -assert_equal(test_function.call([1]), 1); +assert_equal(test_function.call({1}), 1); // dynamic object function tests diff --git a/unittests/generate_range.chai b/unittests/generate_range.chai index 9e25970..9f729ed 100644 --- a/unittests/generate_range.chai +++ b/unittests/generate_range.chai @@ -1 +1 @@ -assert_equal([1,2,3,4,5,6,7,8,9,10], generate_range(1, 10)) +assert_equal({1,2,3,4,5,6,7,8,9,10}, generate_range(1, 10)) diff --git a/unittests/index_operator.chai b/unittests/index_operator.chai index f807404..0b7d770 100644 --- a/unittests/index_operator.chai +++ b/unittests/index_operator.chai @@ -1,7 +1,7 @@ // tests more complex parses of the index operator -def Bob::bob3() { return [1,2,3]; } +def Bob::bob3() { return {1,2,3}; } def Bob::Bob() {} auto b = Bob(); diff --git a/unittests/join.chai b/unittests/join.chai index 1891c46..4ae6665 100644 --- a/unittests/join.chai +++ b/unittests/join.chai @@ -1 +1 @@ -assert_equal("1*2*3", join([1, 2, 3], "*")) +assert_equal("1*2*3", join({1, 2, 3}, "*")) diff --git a/unittests/malformed_inline_map.chai b/unittests/malformed_inline_map.chai index d267bcf..618033d 100644 --- a/unittests/malformed_inline_map.chai +++ b/unittests/malformed_inline_map.chai @@ -1,2 +1,2 @@ -assert_throws("Parse failure", fun() { eval("[\"hello\":5,\"j\",\"k\"]") } ); +assert_throws("Parse failure", fun() { eval("{\"hello\":5,\"j\",\"k\"}") } ); diff --git a/unittests/map.chai b/unittests/map.chai index a0a31ee..7344f80 100644 --- a/unittests/map.chai +++ b/unittests/map.chai @@ -1 +1 @@ -assert_equal([true, false, true], map([1,2,3], odd)) +assert_equal({true, false, true}, map({1,2,3}, odd)) diff --git a/unittests/map_access.chai b/unittests/map_access.chai index d544036..1d29123 100644 --- a/unittests/map_access.chai +++ b/unittests/map_access.chai @@ -1,2 +1,2 @@ -auto x = ["bob":2, "fred":3] +auto x = {"bob":2, "fred":3} assert_equal(3, x["fred"]) diff --git a/unittests/map_inplace_init.chai b/unittests/map_inplace_init.chai index 1d88494..5806292 100644 --- a/unittests/map_inplace_init.chai +++ b/unittests/map_inplace_init.chai @@ -1,3 +1,3 @@ -auto x = ["bob":1, "fred":2] +auto x = {"bob":1, "fred":2} assert_equal(2, x.size()); diff --git a/unittests/method_sugar.chai b/unittests/method_sugar.chai index 521400b..97598f9 100644 --- a/unittests/method_sugar.chai +++ b/unittests/method_sugar.chai @@ -1 +1 @@ -assert_equal(6, [1, 2, 3].sum()) +assert_equal(6, {1, 2, 3}.sum()) diff --git a/unittests/multiline.chai b/unittests/multiline.chai index dfa213c..0676d0c 100644 --- a/unittests/multiline.chai +++ b/unittests/multiline.chai @@ -1,5 +1,5 @@ -auto x = [1, 2, - 3, 4] +auto x = {1, 2, + 3, 4} assert_equal(1, x[0]) diff --git a/unittests/product.chai b/unittests/product.chai index 03ba3cf..f0b9d0a 100644 --- a/unittests/product.chai +++ b/unittests/product.chai @@ -1 +1 @@ -assert_equal(24, product([1, 2, 3, 4])) +assert_equal(24, product({1, 2, 3, 4})) diff --git a/unittests/range.chai b/unittests/range.chai index 97a430b..cdc5689 100644 --- a/unittests/range.chai +++ b/unittests/range.chai @@ -1,4 +1,4 @@ -auto x = [1, 2, 3, 4] +auto x = {1, 2, 3, 4} auto r = range(x) r.pop_front() assert_equal(2, r.front()); diff --git a/unittests/range_back.chai b/unittests/range_back.chai index b572f94..a493655 100644 --- a/unittests/range_back.chai +++ b/unittests/range_back.chai @@ -1,4 +1,4 @@ -auto x = [1, 2, 3, 4] +auto x = {1, 2, 3, 4} auto r = range(x) r.pop_back() assert_equal(3, r.back()) diff --git a/unittests/range_contains.chai b/unittests/range_contains.chai index e79051e..a5b7705 100644 --- a/unittests/range_contains.chai +++ b/unittests/range_contains.chai @@ -1,4 +1,4 @@ -auto v = [1,2,"hi", "world", 5.5] +auto v = {1,2,"hi", "world", 5.5} assert_equal(true, v.contains(5.5)) assert_equal(false, v.contains(0)) assert_equal(false, v.contains(1, lt)) diff --git a/unittests/range_find.chai b/unittests/range_find.chai index 1bdb1ba..e51bc71 100644 --- a/unittests/range_find.chai +++ b/unittests/range_find.chai @@ -1,4 +1,4 @@ -auto v = [2, 1, "Hi", 5.5] +auto v = {2, 1, "Hi", 5.5} auto r = v.find("Hi"); assert_equal("Hi", r.front()) diff --git a/unittests/range_inplace.chai b/unittests/range_inplace.chai index d661f5d..ff90a0e 100644 --- a/unittests/range_inplace.chai +++ b/unittests/range_inplace.chai @@ -1 +1 @@ -assert_equal([3,4,5,6], [3..6]) +assert_equal({3,4,5,6}, {3..6}) diff --git a/unittests/reduce.chai b/unittests/reduce.chai index 3b255b3..fb347e8 100644 --- a/unittests/reduce.chai +++ b/unittests/reduce.chai @@ -1 +1 @@ -assert_equal(10, reduce([1, 2, 3, 4], `+`)) +assert_equal(10, reduce({1, 2, 3, 4}, `+`)) diff --git a/unittests/retro.chai b/unittests/retro.chai index 780a06d..1e8359f 100644 --- a/unittests/retro.chai +++ b/unittests/retro.chai @@ -1,4 +1,4 @@ -auto x = [1, 2, 3, 4] +auto x = {1, 2, 3, 4} auto r = retro(range(x)) r.pop_front() assert_equal(3, r.front()) diff --git a/unittests/retroretro.chai b/unittests/retroretro.chai index 36c568c..8e203cb 100644 --- a/unittests/retroretro.chai +++ b/unittests/retroretro.chai @@ -1,4 +1,4 @@ -auto x = [1, 2, 3, 4] +auto x = {1, 2, 3, 4} auto r = retro(range(x)) r.pop_back() auto r2 = retro(r) diff --git a/unittests/sum.chai b/unittests/sum.chai index 7502ae7..5588593 100644 --- a/unittests/sum.chai +++ b/unittests/sum.chai @@ -1 +1 @@ -assert_equal(10, sum([1, 2, 3, 4])) +assert_equal(10, sum({1, 2, 3, 4})) diff --git a/unittests/take.chai b/unittests/take.chai index 5110392..06df1cb 100644 --- a/unittests/take.chai +++ b/unittests/take.chai @@ -1 +1 @@ -assert_equal(2, take([1, 2, 3, 4], 2).back()) +assert_equal(2, take({1, 2, 3, 4}, 2).back()) diff --git a/unittests/take_while.chai b/unittests/take_while.chai index 56a4ba2..3bfc1b0 100644 --- a/unittests/take_while.chai +++ b/unittests/take_while.chai @@ -1 +1 @@ -assert_equal([1], take_while([1, 2, 3, 4], odd)) +assert_equal({1}, take_while({1, 2, 3, 4}, odd)) diff --git a/unittests/vector_access.chai b/unittests/vector_access.chai index 58269a2..7eaa494 100644 --- a/unittests/vector_access.chai +++ b/unittests/vector_access.chai @@ -1,2 +1,2 @@ -auto x = [1, 2, 3] +auto x = {1, 2, 3} assert_equal(3, x[2]) diff --git a/unittests/vector_erase_at.chai b/unittests/vector_erase_at.chai index 348cd81..3bb77b6 100644 --- a/unittests/vector_erase_at.chai +++ b/unittests/vector_erase_at.chai @@ -1,3 +1,3 @@ -auto x = [1, 2, 3] +auto x = {1, 2, 3} x.erase_at(1) -assert_equal([1,3], x); +assert_equal({1,3}, x); diff --git a/unittests/vector_inplace_init.chai b/unittests/vector_inplace_init.chai index 7b01cb9..04e0593 100644 --- a/unittests/vector_inplace_init.chai +++ b/unittests/vector_inplace_init.chai @@ -1,2 +1,2 @@ -auto x = [1, 2, 3] +auto x = {1, 2, 3} assert_equal(3, x.size()) diff --git a/unittests/vector_insert_at.chai b/unittests/vector_insert_at.chai index 1b42e1c..9a7fd2b 100644 --- a/unittests/vector_insert_at.chai +++ b/unittests/vector_insert_at.chai @@ -1,3 +1,3 @@ -auto x = [1, 2, 3] +auto x = {1, 2, 3} x.insert_at(1, 6) -assert_equal([1,6,2,3], x); +assert_equal({1,6,2,3}, x); diff --git a/unittests/vector_literal_acccess.chai b/unittests/vector_literal_acccess.chai index 29a7c05..a33a552 100644 --- a/unittests/vector_literal_acccess.chai +++ b/unittests/vector_literal_acccess.chai @@ -1 +1 @@ -assert_equal(1, [1,2,3][0]) +assert_equal(1, {1,2,3}[0]) diff --git a/unittests/vector_of_one.chai b/unittests/vector_of_one.chai index 2763fc1..a046e31 100644 --- a/unittests/vector_of_one.chai +++ b/unittests/vector_of_one.chai @@ -1,2 +1,2 @@ -auto x = [1] +auto x = {1} assert_equal(1, x[0]) diff --git a/unittests/vector_paren_literal_access.chai b/unittests/vector_paren_literal_access.chai index a0c6b96..f96194e 100644 --- a/unittests/vector_paren_literal_access.chai +++ b/unittests/vector_paren_literal_access.chai @@ -1 +1 @@ -assert_equal(1, ([1,2,3])[0]) +assert_equal(1, ({1,2,3})[0]) diff --git a/unittests/vector_push_back.chai b/unittests/vector_push_back.chai index 82ba4b4..f5d81bf 100644 --- a/unittests/vector_push_back.chai +++ b/unittests/vector_push_back.chai @@ -1,4 +1,4 @@ -auto x = [1, 2] +auto x = {1, 2} x.push_back(3) assert_equal(3, x.size()) assert_equal(3, x.back()) diff --git a/unittests/vector_push_empty.chai b/unittests/vector_push_empty.chai index 4cb7afe..a279eea 100644 --- a/unittests/vector_push_empty.chai +++ b/unittests/vector_push_empty.chai @@ -1,4 +1,4 @@ -auto bob = [] +auto bob = {} bob.push_back(3) assert_equal(1, bob.size()) assert_equal(3, bob.front()) diff --git a/unittests/zip.chai b/unittests/zip.chai index 6aa5b36..a6a8327 100644 --- a/unittests/zip.chai +++ b/unittests/zip.chai @@ -1,5 +1,5 @@ -auto z = zip([1, 2, 3], [4, 5, 6]) +auto z = zip({1, 2, 3}, {4, 5, 6}) -assert_equal([1,4], z[0]) -assert_equal([2,5], z[1]) -assert_equal([3,6], z[2]) +assert_equal({1,4}, z[0]) +assert_equal({2,5}, z[1]) +assert_equal({3,6}, z[2]) diff --git a/unittests/zip_with.chai b/unittests/zip_with.chai index ca2665a..9b23222 100644 --- a/unittests/zip_with.chai +++ b/unittests/zip_with.chai @@ -1,3 +1,3 @@ -auto z = zip_with(`+`, [1, 2, 3], [4, 5, 6]) +auto z = zip_with(`+`, {1, 2, 3}, {4, 5, 6}) -assert_equal([5,7,9], z) +assert_equal({5,7,9}, z)