Commit Graph
100 Commits
Author SHA1 Message Date
Bob Nystrom 2abeb9ad2e Make first example correct (!). Fix #47. 2015-01-02 20:07:43 -08:00
Bob Nystrom 6b510da872 Get Travis set up. 2015-01-02 08:13:51 -08:00
Bob Nystrom 526a84c4d6 Remove pointless newline. 2015-01-02 07:59:31 -08:00
Bob Nystrom 99f0bf09c3 Add README and move metrics script. 2015-01-02 07:42:08 -08:00
Bob Nystrom a1b02a04bb Clarify license. 2015-01-02 07:38:00 -08:00
Bob Nystrom f028544b53 CamelCase. 2015-01-02 07:31:02 -08:00
Bob Nystrom 50be5971a4 Fix link to embedding API. 2015-01-01 22:59:38 -08:00
Bob Nystrom 3640c66bfb Fix range in docs. 2015-01-01 22:48:43 -08:00
Bob Nystrom d65bd1382b Add gh-pages build step. 2015-01-01 20:58:36 -08:00
Bob Nystrom b876f4a51a More hacking on docs. 2015-01-01 20:45:15 -08:00
Bob Nystrom 42816c46ee Add TODO for arity getter. 2015-01-01 18:49:10 -08:00
Bob Nystrom 8ab91bf6c2 Fill in some more docs. 2015-01-01 18:48:59 -08:00
Bob Nystrom 0882897c6b Write doc for error-handling. 2015-01-01 16:02:02 -08:00
Bob Nystrom c967439ead Add Fiber.abort() method. 2015-01-01 10:40:14 -08:00
Bob Nystrom 93ced56a7a Clean up corner case for empty list range. 2014-12-31 10:34:44 -08:00
Bob Nystrom 46733391c1 User pointer for stack top instead of array index.
Cleans up a bunch of stack calculation.
2014-12-31 10:34:27 -08:00
Bob Nystrom 2656487f71 Store the start of the current frame's stack in a local.
binary_trees - wren           ..........  3337  0.30s   99.03% relative to baseline
delta_blue - wren             ..........  6989  0.14s   97.90% relative to baseline
fib - wren                    ..........  2985  0.33s  121.72% relative to baseline
for - wren                    ..........  8530  0.12s   99.06% relative to baseline
method_call - wren            ..........  5047  0.20s   98.74% relative to baseline
2014-12-08 06:57:36 -08:00
Bob Nystrom d903ba0cbe Update benchmark chart in docs. 2014-12-07 14:34:17 -08:00
Bob Nystrom 8417fadc2f Make all heap objects store a reference to their class and inline class lookup.
This is redundant, but significantly optimizes method dispatch:

binary_trees - wren           ..........  3347  0.30s  110.30% relative to baseline
delta_blue - wren             ..........  7161  0.14s  110.39% relative to baseline
fib - wren                    ..........  2445  0.41s  112.78% relative to baseline
for - wren                    ..........  8600  0.12s  143.00% relative to baseline
method_call - wren            ..........  5112  0.20s  114.15% relative to baseline
2014-12-07 14:29:50 -08:00
Bob Nystrom ac67386208 Add specialized instructions for loading some locals.
Not having to decode a separate arg byte improves some benchmarks:

binary_trees - wren           ..........  3094  0.32s  101.95% relative to baseline
delta_blue - wren             ..........  6555  0.15s  101.05% relative to baseline
fib - wren                    ..........  2326  0.43s  107.32% relative to baseline
for - wren                    ..........  6183  0.16s  102.81% relative to baseline
method_call - wren            ..........  4746  0.21s  105.97% relative to baseline
2014-12-06 19:59:11 -08:00
Bob Nystrom a94dfdac10 Add test for too many constants in one function. 2014-12-06 16:39:39 -08:00
Bob Nystrom da7aca5dd2 Don't create uninitialized string objects from "" string literals. 2014-12-06 10:04:46 -08:00
Bob Nystrom e3cf80127b Ensure functions always have a return even in release builds. 2014-12-01 21:36:06 -08:00
Bob Nystrom c001042276 More tweaks to hopefully please GCC. 2014-11-28 11:21:01 -08:00
Bob Nystrom d1a07460c9 Fix compiling break statements.
Had the wrong instruction size, which caused later code walking to wander into arguments.
2014-11-26 18:33:54 -08:00
Bob Nystrom 83c2013dfb Fixes to make GCC happier. 2014-11-26 14:03:05 -08:00
Bob Nystrom f6cbb6ad75 Add Fiber.try(). 2014-10-15 06:36:42 -07:00
Bob Nystrom 24967ed4eb Endless site tweaking... 2014-10-04 09:57:40 -07:00
Bob Nystrom de59809b86 Tweak colors. 2014-09-14 09:39:44 -07:00
Bob Nystrom 4dcb68d9b9 More work on the site.
- Tweaked the design a bunch.
- Started filling in core library docs.
- Fixed some other prose.
2014-08-24 09:09:10 -07:00
Bob Nystrom d5f68d70f0 Restyle site. 2014-08-19 07:35:20 -07:00
Bob Nystrom acceea2206 Clean up makefile a bit. 2014-04-26 08:07:03 -07:00
Bob Nystrom feb9f7cb53 Fix crash bug in closure capturing. 2014-04-24 17:52:53 -07:00
Bob Nystrom 80a4eb8c9c Better error message on too many inherited fields. 2014-04-22 07:06:26 -07:00
Bob Nystrom f1c3bb0f37 Work on responsive CSS. 2014-04-20 21:42:17 -07:00
Bob Nystrom 767e47bbf6 Benchmark chart. 2014-04-20 21:04:41 -07:00
Bob Nystrom d338ef2f07 Finish fiber docs. 2014-04-19 20:33:49 -07:00
Bob Nystrom 3087daaece Add a closure test. 2014-04-19 17:48:06 -07:00
Bob Nystrom 09c707e16a More tests for super calls. 2014-04-19 11:51:36 -07:00
Bob Nystrom 48dab5323d A few small cleanups. 2014-04-19 11:44:51 -07:00
Bob Nystrom 05717e763d Move tests to right directory. 2014-04-19 11:41:21 -07:00
Bob Nystrom c21821e161 Merge branch 'redesign' 2014-04-16 08:00:42 -07:00
Bob Nystrom 2567c4846e Redesign site. 2014-04-16 08:00:15 -07:00
Bob Nystrom 6677bde98c Tweak fiber docs a bit. 2014-04-15 06:47:16 -07:00
Bob Nystrom f03895b17e Symmetric coroutines! 2014-04-14 07:23:05 -07:00
Bob Nystrom cd75e17f0d Docs docs docs. 2014-04-11 10:45:20 -07:00
Bob Nystrom 634e4396cb Start working on a responsive design for the site. 2014-04-11 10:44:33 -07:00
Bob Nystrom 1cd73e60da Write "Getting Started" page. 2014-04-09 07:53:30 -07:00
Bob Nystrom 7393e12555 Allow multiple arguments to IO.print(). 2014-04-09 07:48:35 -07:00
Bob Nystrom dfe65305c3 Update delta_blue benchmark to new setter syntax. 2014-04-08 21:40:31 -07:00
Bob Nystrom b2941cbbb6 Docs for operators and some other stuff. 2014-04-08 21:18:17 -07:00
Bob Nystrom 3a55acfe1a Test string concatenation. 2014-04-08 21:17:49 -07:00
Bob Nystrom dca58ff747 Require parentheses around operator and setter arguments. 2014-04-08 17:54:37 -07:00
Bob Nystrom 45701692af Bring some more blue back into the stylesheet. 2014-04-08 07:46:47 -07:00
Bob Nystrom f6dd88937b Support "new" on lists. 2014-04-08 07:31:23 -07:00
Bob Nystrom 49feeae99c Inline wrenIsBool and wrenObjectType.
Gives a significant perf boost:

binary_trees  3411  0.29s  107.72%
delta_blue    6762  0.15s  103.54%
fib           3061  0.33s  113.44%
for           6516  0.15s  106.76%
method_call   4564  0.22s   99.64%
2014-04-08 07:17:25 -07:00
Bob Nystrom 6b1b1083c9 Recolor doc site. 2014-04-07 21:03:16 -07:00
Bob Nystrom 57fa694c36 Give PinnedObject a public name.
It needs to be public since the macros expand to stack allocations
of it.
2014-04-07 07:47:58 -07:00
Bob Nystrom 289e70ed38 Reorganize the defines a bit. 2014-04-07 07:45:09 -07:00
Bob Nystrom db082967f4 Minor cleanup and refactoring. 2014-04-06 18:59:53 -07:00
Bob Nystrom aab02bcded Tweak docs a bit. 2014-04-06 16:16:24 -07:00
Bob Nystrom f41be80e5f Use a growable buffer for globals.
Also allows more than 256.
2014-04-06 16:16:15 -07:00
Bob Nystrom a1118c332c IO.write -> IO.print in docs. 2014-04-06 08:38:00 -07:00
Bob Nystrom 9a8f2edda4 List.addAll(). 2014-04-06 08:37:37 -07:00
Bob Nystrom 28021dc63e Redo site design. 2014-04-05 15:39:02 -07:00
Bob Nystrom bffb0e5d93 Start documenting functions. 2014-04-04 20:45:12 -07:00
Bob Nystrom 2da8025cd4 Fiber.create -> new Fiber 2014-04-04 18:24:55 -07:00
Bob Nystrom f5a9f39568 Check argument type in new Fn. 2014-04-04 18:13:13 -07:00
Bob Nystrom 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
Bob Nystrom 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
Bob Nystrom 55c2c6ffb0 Remove old function syntax. 2014-04-02 20:22:36 -07:00
Bob Nystrom d146018559 Convert all fns to block arg syntax. 2014-04-02 19:41:53 -07:00
Bob Nystrom 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
Bob Nystrom cc56ac4da7 Convert fiber tests to use block arguments. 2014-04-02 17:31:58 -07:00
Bob Nystrom dc366185bd Add support for block arguments in method calls. 2014-04-02 17:26:39 -07:00
Bob Nystrom 48a36adf4f Clean up runtime error handling.
This is prep work for being able to catch a runtime error from
another fiber.
2014-03-30 08:39:28 -07:00
Bob Nystrom 9a959c9eb9 Error if argument to new is not a class. 2014-03-06 06:51:16 -08:00
Bob Nystrom 44e68a5db9 Fix #31. Bitwise operators on numbers. 2014-02-24 07:27:43 -08:00
Bob Nystrom 161075affe Merge pull request #39 from zeckalpha/feature/methodNotFound-receiver
Include the receiver name in methodNotFound error messages.
2014-02-24 07:03:56 -08:00
Bob Nystrom 97235caf9c Reword code size limit. 2014-02-19 07:14:46 -08:00
Bob Nystrom a3086a0306 Merge pull request #38 from zeckalpha/feature/corelib-spaces
Remove spaces before arguments in core.wren
2014-02-19 07:13:03 -08:00
Bob Nystrom 001a8fe54f Merge pull request #37 from zeckalpha/feature/docs-todos
Feature/docs todos
2014-02-19 07:12:33 -08:00
Bob Nystrom 60613c486f Merge pull request #33 from zeckalpha/feature/docs-punctuation
Punctuation choices
2014-02-19 07:10:38 -08:00
Bob Nystrom b59f33fa6f Merge pull request #36 from zeckalpha/feature/docs-title-in-template
Move title to left side for when there are many tabs open.
2014-02-17 10:27:27 -08:00
Bob Nystrom 177ba58c61 Merge pull request #32 from zeckalpha/feature/docs-indentation
Change indentation to match 2 space indents seen elsewhere
2014-02-17 10:20:33 -08:00
Bob Nystrom 6d9842b148 Merge pull request #27 from zeckalpha/feature/bitwise-operators
Make custom bitwise operators work, add tests
2014-02-16 17:43:40 -08:00
Bob Nystrom 681ec5aa13 Merge pull request #26 from zeckalpha/feature/docs-io
Update a bunch of `io` to `IO` in docs.
2014-02-16 17:37:45 -08:00
Bob Nystrom 719139a446 Merge branch 'master' of https://github.com/munificent/wren 2014-02-16 09:20:43 -08:00
Bob Nystrom 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
Bob Nystrom 46de1ec1ea Merge pull request #22 from zeckalpha/master
Spelling typos in docs: "rivaling", "carnival"
2014-02-16 08:51:34 -08:00
Bob Nystrom 4d8bf4bc8e Update benchmark to use ? and .where(). 2014-02-15 11:59:56 -08:00
Bob Nystrom e535d7a9e7 Conditional operator. 2014-02-15 11:36:01 -08:00
Bob Nystrom 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
Bob Nystrom b672be8443 Merge pull request #18 from zeckalpha/feature/list-map
Add List.map method and test
2014-02-15 09:12:04 -08:00
Bob Nystrom c67b239d06 Merge pull request #19 from zeckalpha/feature/c-small-fixes
Two very unimportant changes: a typo and dead code.
2014-02-14 22:22:15 -08:00
Bob Nystrom b1bae8fc6c Fix #17. 2014-02-14 20:15:49 -08:00
Bob Nystrom ea3cfa05bd Allow [0..-1] and [0...0] to work on empty lists. 2014-02-14 20:10:41 -08:00
Bob Nystrom ca7ff222fe Fix iterating over an empty list. 2014-02-14 17:24:06 -08:00
Bob Nystrom edd360a934 More fiber tests. 2014-02-14 07:16:56 -08:00
Bob Nystrom ca4f4d6660 Test "this" in static methods. 2014-02-14 06:37:37 -08:00