Commit Graph

41 Commits

Author SHA1 Message Date
cff08f989b Rename a couple of tests. 2015-01-24 14:42:25 -08:00
4977083904 Abstract List's toString method to a more general join method on Sequence. 2015-01-24 14:01:16 -08:00
eb424f5c1a Make strings iterable over their code points.
I'm not sure why, but this also regresses perf:

binary_trees - wren            ..........  3290  0.30s   96.68% relative to baseline
delta_blue - wren              ..........  7948  0.13s   99.06% relative to baseline
fib - wren                     ..........  3165  0.32s   95.90% relative to baseline
for - wren                     ..........  8242  0.12s   96.00% relative to baseline
method_call - wren             ..........  5417  0.18s   78.74% relative to baseline

Need to investigate.
2015-01-22 20:58:22 -08:00
9453acf1e6 User-defined subscript operators. 2015-01-20 18:25:54 -08:00
82740d2668 Add a test demonstrating folding order 2015-01-16 09:48:59 +01:00
d764581a3d Add test for empty reduce 2015-01-16 09:29:45 +01:00
5cfb638fd1 Use @munificent's single-argument reduce 2015-01-16 09:26:19 +01:00
4c6b819ed1 Add reduce function on Sequence 2015-01-16 09:24:59 +01:00
64c2bd7633 Make all types support "!" so "if (!foo)" works reliably for all objects. 2015-01-15 21:50:01 -08:00
2ddf0a9586 Fix some overlooked references to forall. 2015-01-15 19:05:58 -08:00
4249f92571 Rename tests. 2015-01-15 06:54:16 -08:00
b829ce67af Rename forall to all. 2015-01-14 23:19:31 -08:00
f2b334d7d2 Add more forall test cases. 2015-01-14 22:51:34 -08:00
7716ad6263 Adds forall method on Sequences. 2015-01-13 23:47:01 -08:00
f6dd88937b Support "new" on lists. 2014-04-08 07:31:23 -07:00
9a8f2edda4 List.addAll(). 2014-04-06 08:37:37 -07:00
4a8cf3a7bf Move newline handling down into parser.
This lets us make it a grammar feature and not a lexer trick.
Newlines are explicitly ignored in some parts of the grammar. This
lets, for example, things like "|" ignore the newline when used as
an operator, but not when used as a parameter delimiter in a block
argument.
2014-04-04 07:51:18 -07:00
da4cadf16b Unify body handling.
Blocks, functions, and methods now have the same code for handling
their bodies.

This means that single-line methods work like single-line functions:
they return the result of their expression.
2014-04-03 07:48:19 -07:00
d146018559 Convert all fns to block arg syntax. 2014-04-02 19:41:53 -07:00
f8a9d7f321 Make Sequence base class.
This lets us share functionality between List and Range (and
other user-defined sequence types).
2014-02-16 09:20:31 -08:00
4728687ca5 Merge branch 'feature/list-where' of git://github.com/zeckalpha/wren into zeckalpha-feature/list-where
Conflicts:
	builtin/core.wren
	src/wren_core.c
2014-02-15 11:21:24 -08:00
3409d588e5 Added List.where method and tests. 2014-02-15 00:42:14 -06:00
1d31c95872 Cleanups for merging map method 2014-02-15 00:34:30 -06:00
83ea5aaf45 Add List.map method and test 2014-02-14 23:06:29 -06:00
ea3cfa05bd Allow [0..-1] and [0...0] to work on empty lists. 2014-02-14 20:10:41 -08:00
ca7ff222fe Fix iterating over an empty list. 2014-02-14 17:24:06 -08:00
e519ecbc49 Third try. ;) Concat operator, tests. Now [1,2,3] + (4..6) works! Inlined helper functions to keep core lib small. 2014-02-14 11:16:57 -06:00
59bb7eec7a Remove some outdated TODOs.
They’re TODONE!
2014-02-13 08:38:44 -08:00
ec7e159017 Fix shrinking list capacity. 2014-02-10 07:55:14 -08:00
66f0b57bf3 Allow ranges in list subscript operator. 2014-01-30 09:12:44 -08:00
b979272305 Clean up text handling a bit:
- Rename IO.write -> IO.print.
- Make IO.write not print a newline.
- Support \u Unicode escapes in strings.
2014-01-05 12:27:12 -08:00
058c2606b0 Better argument validation for core methods. 2014-01-03 10:47:26 -08:00
a89386b4e8 Better argument validation for some list methods. 2014-01-02 07:32:00 -08:00
7868287f89 Make IO.write() call toString on its argument. 2013-12-22 11:50:00 -08:00
6c3aa85228 Make IO a static class instead of a singleton. 2013-12-21 19:25:09 -08:00
76ac818eaf Subscript setters. 2013-12-21 09:37:59 -08:00
f2b036420d Fix a bunch of test TODOs.
- Added a bunch of tests.
- Removed some TODOs for stuff that's already done.
- Made list literals handle newlines better.
2013-12-20 12:42:11 -08:00
7fe60499db Get rid of my name from TODOs. Anyone can do them. 2013-12-14 15:28:18 -08:00
1bfa252a70 List.removeAt(). 2013-11-27 10:20:32 -08:00
f8ded27376 List.clear and List.insert(). 2013-11-26 23:11:11 -08:00
56449cdbef Reorganize tests. 2013-11-26 22:52:00 -08:00