Commit Graph

7 Commits

Author SHA1 Message Date
46a33a412d String templates (i.e. interpolation).
Still need to do:

- Tagged templates so users can control interpolation.
- Optional format strings.

But basic string interpolation is working now:

System.print("Hi, %(name)! You are %(birth - today) years old.")
2015-09-19 10:07:41 -07:00
58e4d26648 "IO" -> "System".
Get rid of the separate opt-in IO class and replace it with a core
System class.

- Remove wren_io.c, wren_io.h, and io.wren.
- Remove the flags that disable it.
- Remove the overloads for print() with different arity. (It was an
  experiment, but I don't think it's that useful.)
- Remove IO.read(). That will reappear using libuv in the CLI at some
  point.
- Remove IO.time. Doesn't seem to have been used.
- Update all of the tests, docs, etc.

I'm sorry for all the breakage this causes, but I think "System" is a
better name for this class (it makes it natural to add things like
"System.gc()") and frees up "IO" for referring to the CLI's IO module.
2015-09-15 07:46:09 -07:00
71ab3ca887 Use "construct" instead of "this" to define constructors. 2015-07-21 07:24:53 -07:00
5fb6186d7d Make constructors just methods.
* Eliminate "new" reserved word.
* Allow "this" before a method definition to define a constructor.
* Only create a default constructor for classes that don't define one.
2015-07-10 09:18:22 -07:00
3196735f39 Add block arguments and operators to syntax example. 2015-06-26 22:14:32 -07:00
fc7612c843 Run examples as tests. Would have prevented #266 2015-05-20 10:10:40 -05:00
f132f59649 Add syntax example file 2015-04-25 18:10:17 +02:00