Bob Nystrom
5f0a2ba21c
Just use a normal relative path to import relative to the cwd.
2015-02-24 19:47:17 -08:00
Bob Nystrom
dc0dda3993
Merge branch 'wren_cpp_warnings' of git://github.com/MarcoLizza/wren into MarcoLizza-wren_cpp_warnings
2015-02-24 19:43:12 -08:00
Bob Nystrom
f296850242
Build all configurations on Travis.
2015-02-24 19:32:46 -08:00
Bob Nystrom
422801a64a
Allow executing multiple chunks of code in the same module.
...
This means successive calls to wrenInterpret() will run in
the same context. Allows variables to span calls in the REPL.
2015-02-23 07:02:27 -08:00
Bob Nystrom
a9d9362e29
Fix some typos in fn docs.
2015-02-22 12:34:32 -08:00
Bob Nystrom
0dda174855
A bit more compiler clean up.
2015-02-22 11:04:43 -08:00
Bob Nystrom
0f9e15833f
Unify argument parsing. Fix #24 .
2015-02-22 10:42:49 -08:00
Bob Nystrom
a8a5805895
Fix test script.
2015-02-22 10:42:21 -08:00
Bob Nystrom
bd97c244a5
Document removeAt() return value. Fix #176 .
2015-02-22 10:26:31 -08:00
Bob Nystrom
d6ec8c114e
Don't crash if script path has no path separator. Fix #181 .
2015-02-22 10:22:21 -08:00
Bob Nystrom
037a2bdb66
Massive Makefile clean up!
...
- "make all" builds all combinations of configurations
- Binaries are built to "bin"
- (For convenience, the release interpreter also goes in the top level dir)
- Libraries are built to "lib"
This will also make it easier to support building and testing other
configurations like Nan tagging versus union, computed goto, etc.
2015-02-22 10:19:23 -08:00
Bob Nystrom
3802609644
Store benchmark baseline file in benchmark/.
2015-02-21 13:49:02 -08:00
Bob Nystrom
b45d3689de
Clean up some comments.
2015-02-21 00:09:55 -08:00
Bob Nystrom
44c547176b
Fix quotes in module docs.
2015-02-20 06:54:03 -08:00
Bob Nystrom
a4fa3027c0
Fix cyclic import docs.
2015-02-19 06:38:13 -08:00
Bob Nystrom
bdb8634743
Tweak style.
2015-02-19 06:32:46 -08:00
Bob Nystrom
ae88ee539d
Merge branch 'master' of https://github.com/munificent/wren
2015-02-18 07:55:38 -08:00
Bob Nystrom
ca14dffab4
First pass at docs for modules.
2015-02-18 07:55:09 -08:00
Bob Nystrom
8ec89740c5
Merge pull request #172 from MarcoLizza/more_bitwise
...
More bitwise operands
2015-02-18 06:51:13 -08:00
Bob Nystrom
b2ca4c0381
Allow zero or multiple imported names.
2015-02-17 07:32:33 -08:00
Bob Nystrom
31304ac2bb
Merge branch 'master' into modules
2015-02-17 07:22:21 -08:00
Bob Nystrom
c6043d3c81
Use bytecode to import variable, instead of builtin function.
2015-02-17 07:21:51 -08:00
Bob Nystrom
314c39e430
Use a native bytecode to load a module, instead of a weird builtin function on String.
2015-02-16 22:45:58 -08:00
Bob Nystrom
c2c576b27c
Get rid of builtin function for importing.
2015-02-16 10:21:29 -08:00
Bob Nystrom
5b1447882b
Move running the module fiber into C.
2015-02-16 10:16:42 -08:00
Bob Nystrom
36d100b8e4
Move module load failure into C.
2015-02-16 10:12:41 -08:00
Bob Nystrom
cbd0217072
Merge pull request #174 from MarcoLizza/IO_time
...
IO.time
2015-02-16 10:01:56 -08:00
Bob Nystrom
032c650e1f
Get rid of hash constants for singleton values.
2015-02-16 09:33:07 -08:00
Bob Nystrom
a44d479643
Basic import syntax.
2015-02-14 16:46:00 -08:00
Bob Nystrom
ffc770b4a7
Also clean Mac .dylibs.
2015-02-12 09:07:41 -08:00
Bob Nystrom
6ada5e0b24
Merge branch 'patch-1' of git://github.com/Phyllostachys/wren into Phyllostachys-patch-1
2015-02-12 09:06:37 -08:00
Bob Nystrom
b7cd8c755f
Make map deletion not soul-crushingly slow.
...
In cases where the hashtable had a large cluster (which can happen with lots of sequential numeric keys),
deletion would regress to near O(n).
Instead, this deletes by leaving a tombstone entry, similar to what Python, Lua, et. al. do.
2015-02-11 22:43:39 -08:00
Bob Nystrom
911d5e374f
Add benchmark for string map keys.
2015-02-11 22:41:59 -08:00
Bob Nystrom
2bad33fbc8
Rename a couple of things in the benchmark script.
2015-02-11 19:48:39 -08:00
Bob Nystrom
bc5a793c41
Split out the core and main modules.
...
- Implicitly import everything in core into every imported module.
- Test cyclic imports.
2015-02-11 10:06:45 -08:00
Bob Nystrom
2005e1e0a2
Add ".wren" to modules in the embedder.
2015-02-06 11:52:05 -08:00
Bob Nystrom
bb647d4247
Start getting module loading working.
...
Right now, it uses a weird "import_" method on String which
should either be replaced or at least hidden behind some syntax.
But it does roughly the right thing. Still lots of corner cases to
clean up and stuff to fix. In particular:
- Need to handle compilation errors in imported modules.
- Need to implicitly import all core and IO types into imported module.
- Need to handle circular imports.
(Just need to give entry module the right name for this to work.)
2015-02-06 07:01:15 -08:00
Bob Nystrom
30a5284338
Merge branch 'master' into modules
...
Conflicts:
src/wren_debug.c
src/wren_value.c
src/wren_value.h
2015-02-05 12:07:25 -08:00
Bob Nystrom
02600e2cb1
Get rid of main module field in WrenVM.
...
Instead, the main module is stored in the module map.
2015-02-05 12:03:19 -08:00
Bob Nystrom
4a19050416
Merge branch 'uint32_string' of git://github.com/MarcoLizza/wren into MarcoLizza-uint32_string
2015-02-04 20:28:27 -08:00
Bob Nystrom
55caae343b
Add "." to comments. :)
2015-02-04 20:26:29 -08:00
Bob Nystrom
ddd20c687e
Merge branch 'master' into MarcoLizza-8_bit_strings_tests
2015-02-04 20:25:12 -08:00
Bob Nystrom
878be6fb6b
Clean up wrenStringFind() a bit.
2015-02-04 20:23:50 -08:00
Bob Nystrom
ba4760331e
Merge branch 'replacing_strstr' of git://github.com/MarcoLizza/wren into MarcoLizza-replacing_strstr
2015-02-04 17:56:29 -08:00
Bob Nystrom
aa9cfffb34
Keep code within 80 columns.
2015-02-04 08:15:35 -08:00
Bob Nystrom
8f313bf4ec
Merge branch 'fixing_string_concatenation' of git://github.com/MarcoLizza/wren into MarcoLizza-fixing_string_concatenation
2015-02-04 08:12:50 -08:00
Bob Nystrom
ef84995598
Merge branch '8_bit_strings_tests' of git://github.com/MarcoLizza/wren into MarcoLizza-8_bit_strings_tests
2015-02-04 06:59:57 -08:00
Bob Nystrom
ed534b8165
Merge pull request #159 from MarcoLizza/null_char_escape
...
Adding '\0' escape sequence for null characters.
2015-02-04 06:57:42 -08:00
Bob Nystrom
6f26f542ea
Merge pull request #163 from MarcoLizza/memcpy_for_strings
...
Getting rid of "strcpy()/strncpy()" in favour of "memcpy()".
2015-02-04 06:57:17 -08:00
Bob Nystrom
74289d8e7f
Merge pull request #165 from MarcoLizza/gcc_constant_warning
...
Getting rid of constant unsigned error when compiling for C++ on GCC.
2015-02-04 06:55:44 -08:00
Bob Nystrom
abc43f18bc
Merge branch 'master' into shared-lib-makefile
2015-02-01 21:47:43 -08:00
Bob Nystrom
9917c16876
Fix un-Nan-tagging mode. Thanks, Michel Hermier!
2015-02-01 15:26:33 -08:00
Bob Nystrom
593e5c8b35
Clean up how flex arrays are allocated.
2015-02-01 15:12:37 -08:00
Bob Nystrom
98df1b2bd1
Add cast.
2015-01-31 10:54:27 -08:00
Bob Nystrom
970093299a
Merge branch 'symbol_table_optimization' of git://github.com/MarcoLizza/wren into MarcoLizza-symbol_table_optimization
2015-01-31 10:49:41 -08:00
Bob Nystrom
2ba8da7418
Merge branch 'master' into modules
2015-01-30 07:21:41 -08:00
Bob Nystrom
8e25aa646e
Remove unneeded conversion. Fix #148 .
2015-01-29 20:44:46 -08:00
Bob Nystrom
3bed04e0b9
Support clang/OS X shared libraries in the Makefile.
2015-01-28 19:50:53 -08:00
Bob Nystrom
f10058a704
Merge branch 'master' of https://github.com/munificent/wren
2015-01-28 19:19:19 -08:00
Bob Nystrom
0aa4d7c2bd
Fix crash when doing a lookup on an empty map.
2015-01-28 19:19:04 -08:00
Bob Nystrom
1101823666
Turn Module into an Obj.
2015-01-27 07:11:45 -08:00
Bob Nystrom
81dd7a7412
Merge pull request #143 from MarcoLizza/dropped_bitfields_usage
...
Bitfields usage
2015-01-27 07:06:18 -08:00
Bob Nystrom
83ad9abd73
Merge branch 'master' into modules
...
Conflicts:
src/wren_core.c
2015-01-26 21:55:41 -08:00
Bob Nystrom
699b453805
Fix ambiguous sequence point in dup.
2015-01-26 21:23:54 -08:00
Bob Nystrom
b3f556adba
Move globals out of VM and into a Module struct.
...
Functions store a reference to the module where they were
defined and load "module" variables from there.
Right now there's only one "main" module, but this is a step
in the right direction. Perf is down, though. :(
binary_trees - wren .......... 3026 0.33s 88.28% relative to baseline
delta_blue - wren .......... 7248 0.14s 94.32% relative to baseline
fib - wren .......... 2414 0.41s 88.08% relative to baseline
for - wren .......... 6753 0.15s 78.79% relative to baseline
method_call - wren .......... 6624 0.15s 100.03% relative to baseline
2015-01-26 07:45:21 -08:00
Bob Nystrom
b93ad5fae4
Merge branch 'range-equality' of git://github.com/gsmaverick/wren into gsmaverick-range-equality
2015-01-26 07:01:15 -08:00
Bob Nystrom
ed8e595f54
Get rid of bytecodes for list literals.
...
Just compile them to:
new List
.add(...)
.add(...)
...
Gets rid of some code in the interpreter loop, which is always good.
Also addresses the old limitation where a list literal could only have
255 elements.
2015-01-25 22:49:30 -08:00
Bob Nystrom
a9bd864c6b
More docs for maps.
2015-01-25 21:39:22 -08:00
Bob Nystrom
44db50e7ef
Don't rely on fallthrough.
2015-01-25 17:51:50 -08:00
Bob Nystrom
41d9ba9b3d
Merge branch 'hex-literals' of git://github.com/gsmaverick/wren into gsmaverick-hex-literals
2015-01-25 17:49:05 -08:00
Bob Nystrom
4579171afa
Add remove() to Map.
2015-01-25 17:42:36 -08:00
Bob Nystrom
0e6a90443e
Add containsKey() to Map, and validate key types.
2015-01-25 12:39:19 -08:00
Bob Nystrom
3061bdde7f
Start documenting maps and work on some other docs a bit.
2015-01-25 11:08:13 -08:00
Bob Nystrom
492c730e6f
Key and value iteration for maps. Also toString.
2015-01-25 10:27:38 -08:00
Bob Nystrom
251b623c65
Map "clear" method.
2015-01-25 08:39:44 -08:00
Bob Nystrom
e740a4c95a
Map literals!
2015-01-24 23:21:50 -08:00
Bob Nystrom
abe80e6d4b
Initial map implementation.
...
Still lots of methods missing and clean up and tests to do.
Also still no literal syntax.
But the core hash table code is there and working. The supported
key types are all, uh, supported.
2015-01-24 22:27:35 -08:00
Bob Nystrom
cff08f989b
Rename a couple of tests.
2015-01-24 14:42:25 -08:00
Bob Nystrom
438e7bae3f
Merge branch 'list-join' of git://github.com/gsmaverick/wren into gsmaverick-list-join
2015-01-24 14:39:45 -08:00
Bob Nystrom
efd161cea2
Add "arity" getter to Fn.
2015-01-23 20:33:05 -08:00
Bob Nystrom
c3a858a2c7
Update doc on VS project.
2015-01-23 10:41:11 -08:00
Bob Nystrom
94080a0e96
Be a bit more explicit about uses of the struct hack.
2015-01-23 10:38:12 -08:00
Bob Nystrom
cda727a18d
Merge branch 'msvc-project-and-compatibility' of git://github.com/MarcoLizza/wren into MarcoLizza-msvc-project-and-compatibility
2015-01-23 10:12:12 -08:00
Bob Nystrom
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
Bob Nystrom
a5b00cebe7
Clarify how string subscripting handles UTF-8.
2015-01-22 16:38:03 -08:00
Bob Nystrom
a92e58c804
Add tests for string methods that support UTF-8 already.
2015-01-22 15:28:54 -08:00
Bob Nystrom
c5e67953b8
Allow non-ASCII UTF-8 characters in string literals.
2015-01-22 15:18:30 -08:00
Bob Nystrom
2cee4c83bd
Clean up and improve docs in embedder API. Fix #133 .
2015-01-22 07:05:55 -08:00
Bob Nystrom
8ce58ec3c4
Reorganize files in XCode project.
2015-01-22 07:05:32 -08:00
Bob Nystrom
b05e5f9c73
Merge pull request #132 from edsrzf/fix-mod-precedence
...
Fix precedence of % operator
2015-01-21 13:50:09 -08:00
Bob Nystrom
bdc3439a71
Remove old "pinned" terminology.
2015-01-21 08:02:18 -08:00
Bob Nystrom
1d0f6a5033
Get rid of totally broken WREN_PIN. Fix #128 .
2015-01-21 07:56:06 -08:00
Bob Nystrom
9453acf1e6
User-defined subscript operators.
2015-01-20 18:25:54 -08:00
Bob Nystrom
311bec5b03
Mention authors on the footer!
2015-01-20 17:47:17 -08:00
Bob Nystrom
879d9d725e
Add links to mailing list.
2015-01-20 17:46:52 -08:00
Bob Nystrom
b6443f0301
Move XCode project under project/.
2015-01-20 17:14:30 -08:00
Bob Nystrom
c63b027210
More explicit casting between Value and Obj* to satisfy 32-bit MinGW.
...
Fix #111 .
2015-01-20 17:06:39 -08:00
Bob Nystrom
d7ae2bbc4c
Turn CalculatedRange into output params.
2015-01-20 15:33:21 -08:00
Bob Nystrom
b55eb7de7a
Merge branch 'string-range-subscript' of git://github.com/gsmaverick/wren into gsmaverick-string-range-subscript
2015-01-20 15:01:14 -08:00
Bob Nystrom
d894fc3dec
Tighten numeric types in intepreter:
...
binary_trees - wren .......... 3563 0.28s 101.26% relative to baseline
delta_blue - wren .......... 8162 0.12s 106.05% relative to baseline
fib - wren .......... 3310 0.30s 103.39% relative to baseline
for - wren .......... 8576 0.12s 102.16% relative to baseline
method_call - wren .......... 6946 0.14s 107.08% relative to baseline
2015-01-20 14:41:09 -08:00