505 Commits

Author SHA1 Message Date
4200f18f83 Rename test for invalid shebang. 2015-01-04 20:09:33 +01:00
6c549e0cc5 Use lexError() and add test for invalid shebang. 2015-01-04 19:56:16 +01:00
8a54ef9919 Add tests. 2015-01-03 20:53:17 +01:00
c25cfca18b Eliminate semicolons entirely. 2015-01-03 10:02:45 -08:00
d1ac8c314f Added test for whitespace in code 2015-01-03 15:10:04 +01:00
150ea237e9 Added test and fixed skipping whitespace 2015-01-03 14:57:34 +01:00
c967439ead Add Fiber.abort() method. 2015-01-01 10:40:14 -08:00
a94dfdac10 Add test for too many constants in one function. 2014-12-06 16:39:39 -08:00
f6cbb6ad75 Add Fiber.try(). 2014-10-15 06:36:42 -07:00
feb9f7cb53 Fix crash bug in closure capturing. 2014-04-24 17:52:53 -07:00
80a4eb8c9c Better error message on too many inherited fields. 2014-04-22 07:06:26 -07:00
3087daaece Add a closure test. 2014-04-19 17:48:06 -07:00
09c707e16a More tests for super calls. 2014-04-19 11:51:36 -07:00
48dab5323d A few small cleanups. 2014-04-19 11:44:51 -07:00
05717e763d Move tests to right directory. 2014-04-19 11:41:21 -07:00
f03895b17e Symmetric coroutines! 2014-04-14 07:23:05 -07:00
7393e12555 Allow multiple arguments to IO.print(). 2014-04-09 07:48:35 -07:00
b2941cbbb6 Docs for operators and some other stuff. 2014-04-08 21:18:17 -07:00
3a55acfe1a Test string concatenation. 2014-04-08 21:17:49 -07:00
dca58ff747 Require parentheses around operator and setter arguments. 2014-04-08 17:54:37 -07:00
f6dd88937b Support "new" on lists. 2014-04-08 07:31:23 -07:00
f41be80e5f Use a growable buffer for globals.
Also allows more than 256.
2014-04-06 16:16:15 -07:00
9a8f2edda4 List.addAll(). 2014-04-06 08:37:37 -07:00
2da8025cd4 Fiber.create -> new Fiber 2014-04-04 18:24:55 -07:00
f5a9f39568 Check argument type in new Fn. 2014-04-04 18:13:13 -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
a550d6cea4 Change how new operators are compiled.
Instead of an instruction that always instantiates an instance,
the "new" is compiled to a method call on the class, followed by a
method call on the (presumably) new instance.

The former lets built-in types like Fn do special stuff instead of
allocating an instance. In particular, it means:

  new Fn { ... }

can just return the block argument.
2014-04-02 17:42:30 -07:00
cc56ac4da7 Convert fiber tests to use block arguments. 2014-04-02 17:31:58 -07:00
9a959c9eb9 Error if argument to new is not a class. 2014-03-06 06:51:16 -08:00
44e68a5db9 Fix #31. Bitwise operators on numbers. 2014-02-24 07:27:43 -08:00
df4c1fa6b2 Changed phrasing, fixed and added a test. 2014-02-23 21:53:49 -06:00
d25504eb4e Put custom bitwise operator tests into existing operators test file. 2014-02-16 19:42:49 -06:00
c43dbe96d3 Make custom bitwise operators work, add tests 2014-02-16 12:01:40 -06: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
e535d7a9e7 Conditional operator. 2014-02-15 11:36:01 -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
b1bae8fc6c Fix #17. 2014-02-14 20:15:49 -08: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
edd360a934 More fiber tests. 2014-02-14 07:16:56 -08:00
ca4f4d6660 Test "this" in static methods. 2014-02-14 06:37:37 -08:00
59bb7eec7a Remove some outdated TODOs.
They’re TODONE!
2014-02-13 08:38:44 -08:00
756fe0d920 Make "this" the implicit receiver! 2014-02-12 17:33:35 -08:00
ec7e159017 Fix shrinking list capacity. 2014-02-10 07:55:14 -08:00