ef3aa07d84
Add API to get the type of object in a slot.
2016-02-19 07:18:00 -08:00
fa0a507b48
Error on jump distance overflow.
2016-02-19 06:57:38 -08:00
5b7cd12e76
Don't run the skynet example from the tests.
...
It's too slow on the Travis bots and times out.
2016-02-14 22:28:14 -08:00
b8e85c83a8
Fix test and add skynet example.
2016-02-14 22:21:50 -08:00
d823896136
Merge branch 'master' of https://github.com/munificent/wren
2016-02-14 22:18:53 -08:00
1a6d3703d2
Merge pull request #320 from 4d47/small-doc-update
...
Fix two small code samples in doc
2016-02-12 10:35:40 -08:00
edbffc9a95
Simplify method() and defineMethod().
...
Passing along a Variable lets us get rid of some duplicate code around
loading the class.
2016-02-12 07:43:44 -08:00
68f801a525
Unnecessary strncmp -> memcmp.
2016-02-12 07:27:42 -08:00
5b5c258f55
Make a little Variable struct.
...
Gets rid of the slightly ugly loadInstruction output parameter that
gets passed around. Now a reference to a variable is a first-class
concept in the compiler.
2016-02-12 07:16:41 -08:00
ff69b12c2c
Fix sample in doc/site/error-handling
...
Add missing constructor.
2016-02-11 18:06:51 -05:00
a2e03279e2
Fix abs code sample in doc/site/modules/core/num
...
-123.abs returns -123 because the dot has higher precedence so it's
really -(123.abs).
2016-02-11 17:58:09 -05:00
68ab4e88c0
Merge branch 'master' of https://github.com/munificent/wren
2016-02-09 07:24:55 -08:00
8b36e2f00b
Add sample(_) and sample(_,_) to Random.
2016-02-09 07:24:45 -08:00
895136b78c
Merge pull request #319 from 4d47/small-doc-update
...
Update wrenInterpret doc/site/embedding-api
2016-02-08 17:43:05 -08:00
82307232cc
Update wrenInterpret doc/site/embedding-api
2016-02-08 08:34:56 -05:00
d4a4b26203
Add Random.shuffle().
2016-02-07 10:38:39 -08:00
79558d95e5
Move File.stat() -> Stat.path().
...
Thanks, Michel!
2016-02-07 09:56:16 -08:00
ffb5ada9fb
Move the community docs to the wiki.
2016-01-24 15:39:35 -08:00
fde6cfc142
Generate wrenAllocateForeign() to match the other setSlot methods.
...
Thanks, Michel!
2016-01-24 09:25:04 -08:00
71e2458a6c
Add API for accessing command-line arguments.
...
- Add process module with Process class.
- Add "arguments" and "allArguments" methods.
- Docs for same.
- Support passing additional arguments to command line.
- Add "--help" support to command line.
2016-01-22 07:57:26 -08:00
860220869a
Oops. Completely disable lto.
2016-01-22 07:01:56 -08:00
f19888d328
Merge branch 'master' of https://github.com/munificent/wren
2016-01-22 06:42:16 -08:00
7e8bc2a89a
Disable link-time-optimization for now.
...
It's failing when building with clang on Travis. The underlying problem
seems to be something broken with how LLVM is looking for the gold
linker, and working around that is outside of my skillset.
To learn more, Google: "LLVMgold.so: error loading plugin" lto
2016-01-22 06:42:01 -08:00
056ae61493
Tweak some docs.
2016-01-21 21:38:27 -08:00
46a03e3a2d
Merge pull request #318 from pra85/patch-1
...
Update license year range to 2016
2016-01-21 15:20:58 -08:00
39b29ee07a
Enable link time optimization in the CLI.
...
One little compiler flag makes a surprisingly large difference:
api_call - wren 0.05s 0.0017 130.52% relative to baseline
api_foreign_method - wren 0.24s 0.0017 144.54% relative to baseline
binary_trees - wren 0.21s 0.0032 112.27% relative to baseline
binary_trees_gc - wren 0.75s 0.0288 115.02% relative to baseline
delta_blue - wren 0.13s 0.0031 103.24% relative to baseline
fib - wren 0.20s 0.0036 120.56% relative to baseline
fibers - wren 0.04s 0.0007 108.52% relative to baseline
for - wren 0.07s 0.0009 124.45% relative to baseline
method_call - wren 0.12s 0.0010 95.58% relative to baseline
map_numeric - wren 0.30s 0.0031 110.11% relative to baseline
map_string - wren 0.11s 0.0098 111.38% relative to baseline
string_equals - wren 0.19s 0.0064 115.49% relative to baseline
2016-01-20 07:47:00 -08:00
205661713a
Update license year range to 2016
2016-01-17 23:28:25 +05:30
f9d1e9954a
Make File.stat() directory test less file system sensitive.
2016-01-05 07:32:51 -08:00
94208647ab
Test File.stat() on a directory.
2016-01-01 10:05:31 -08:00
5cd8a06fa0
File.stat().
2016-01-01 09:58:44 -08:00
b054526df8
Add an optional offset to File.readBytes().
2015-12-30 08:13:19 -08:00
6e2ec92e0d
Fix parameter format in docs.
2015-12-29 22:35:14 -08:00
452cc88082
Fix a few typos in the docs.
2015-12-29 22:29:13 -08:00
8854dfb07e
Docs for the io module!
2015-12-29 21:56:44 -08:00
678251a00c
Fix type for fileFinalizer().
2015-12-29 21:07:26 -08:00
2c31985e54
Make Directory.list() create and return a list from C.
2015-12-29 08:37:47 -08:00
e0ac88c22a
Revamp wrenCall to work with slots.
...
Now, you call wrenEnsureSlots() and then wrenSetSlot___() to set up the
receiver and arguments before the call. Then wrenCall() is passed a
handle to the stub function that makes the call. After that, you can
get the result using wrenGetSlot___().
This is a little more verbose to use, but it's more flexible, simpler,
and much faster in the VM. The call benchmark is 185% of the previous
speed.
2015-12-29 07:58:47 -08:00
ed6fad6153
Get rid of fiber for finalizers.
...
Instead, finalizers just get access to the foreign object's raw bytes.
This is deliberately limiting, since it discourages the user from
interacting with the VM in the middle of a GC.
2015-12-28 08:06:29 -08:00
a447b66380
Make slots available to the API outside of foreign methods.
...
At any point in time, the user can call wrenEnsureSlots() which will
implicitly create a fiber and point to its stack if needed.
2015-12-28 07:49:47 -08:00
a09892de32
Use a fiber for a finalizer's foreign stack.
2015-12-27 21:43:08 -08:00
9512ce74c3
Merge branch 'master' into api
...
# Conflicts:
# src/module/io.c
2015-12-26 20:42:53 -08:00
fbc76cdc05
Fix C++ compile error in Directory.list().
2015-12-26 20:26:05 -08:00
5b90896fa8
Print object type for unknown object error.
...
Thanks, Michel!
2015-12-26 20:15:00 -08:00
a5dc5e8390
Sort cases alphabetically.
...
Thanks, Michel!
2015-12-26 20:13:39 -08:00
4ad4953196
Fix typo.
...
Thanks, Michel!
2015-12-26 20:12:35 -08:00
8ab329ff91
Make wren.mk log wren_to_c_string.
...
Thanks, Michel!
2015-12-26 20:11:48 -08:00
8203baf7bd
Initialize match in the test script.
...
Thanks, Michel!
2015-12-26 20:08:20 -08:00
1d16e85a85
Add an API to load a top-level variable into a slot.
2015-12-26 10:53:14 -08:00
0ac793d4f8
Add Directory.list() to io.
2015-12-24 10:12:12 -08:00
15043b897f
Add a benchmark for wrenCall().
2015-12-23 17:29:53 -08:00