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
Bob Nystrom
721db7564b
Remove unused return value from consume() and consumeLine().
2015-01-20 14:40:34 -08:00
Bob Nystrom
363dff2ffd
Reorganize a bit.
2015-01-20 14:00:03 -08:00
Bob Nystrom
8c3759a457
Merge branch 'feature-wrenGetArgumentBool' of git://github.com/hazbo/wren into hazbo-feature-wrenGetArgumentBool
2015-01-20 13:58:36 -08:00
Bob Nystrom
eb4e50a500
Don't use -fPIC on Windows (cygwin, mingw32).
2015-01-20 13:42:46 -08:00
Bob Nystrom
2a4804bbc9
Reorganize core library docs.
2015-01-18 15:36:36 -08:00
Bob Nystrom
50c0cbe8c3
Merge branch 'master' of https://github.com/munificent/wren
2015-01-18 10:20:29 -08:00
Bob Nystrom
d8b678356e
Raise precedence of "is". Fix #119 .
2015-01-18 10:20:13 -08:00
Bob Nystrom
8a292fac9e
Merge pull request #121 from zeckalpha/phony-prep
...
Make prep Phony
2015-01-18 10:03:13 -08:00
Bob Nystrom
ea32ba5f55
Merge pull request #118 from hazbo/feature-wrenReturnBool
...
Feature wren return bool
2015-01-17 08:45:45 -08:00
Bob Nystrom
ae97e9c3a4
Remove Linux-specific libc stuff.
2015-01-16 23:32:20 -08:00
Bob Nystrom
f79f1d2b63
Show benchmarks are time, not scores.
2015-01-16 17:51:10 -08:00
Bob Nystrom
fe71ddd520
Update benchmark table.
2015-01-16 07:52:51 -08:00
Bob Nystrom
eece4ee926
Inline callFunction():
...
binary_trees - wren .......... 3400 0.29s 97.79% relative to baseline
delta_blue - wren .......... 7565 0.13s 102.23% relative to baseline
fib - wren .......... 3039 0.33s 98.93% relative to baseline
for - wren .......... 8265 0.12s 92.49% relative to baseline
method_call - wren .......... 6759 0.15s 131.21% relative to baseline
2015-01-16 07:45:42 -08:00
Bob Nystrom
2a37110bd1
Don't use designated initializer.
2015-01-16 07:10:33 -08:00
Bob Nystrom
096578cc92
Reorganize docs a bit.
2015-01-16 07:04:01 -08:00
Bob Nystrom
64c2bd7633
Make all types support "!" so "if (!foo)" works reliably for all objects.
2015-01-15 21:50:01 -08:00
Bob Nystrom
94259fac8a
Merge branch 'master' of https://github.com/munificent/wren
2015-01-15 21:17:45 -08:00
Bob Nystrom
8651d9c12a
Merge branch 'cpp'
...
Conflicts:
src/wren_vm.c
2015-01-15 21:17:08 -08:00
Bob Nystrom
93a4dd1b64
Update docs to mention compiling as C++.
2015-01-15 21:15:21 -08:00
Bob Nystrom
6e369fc639
Finish making Wren compile as C++98.
...
- Get Value, the hard part, compiling as C++.
- Add some rudimentary C++ support to the makefile, mainly for testing.
2015-01-15 21:12:51 -08:00
Bob Nystrom
4bd2c949e1
Merge pull request #113 from gsmaverick/fix-all-docs
...
Fix all docs
2015-01-15 20:38:00 -08:00
Bob Nystrom
0dec887a2f
Fix interpreter loop when computed gotos are disabled.
2015-01-15 16:22:55 -08:00
Bob Nystrom
3a2432eef7
Get value compiling as C++.
2015-01-15 16:21:14 -08:00
Bob Nystrom
89a6ed9687
Get vm compiling as C++.
2015-01-15 16:02:38 -08:00
Bob Nystrom
08263e3676
Get debug and utils compiling as C++.
2015-01-15 16:00:51 -08:00
Bob Nystrom
e3ccb68c79
Get main.c and compiler compiling as C++.
2015-01-15 15:59:14 -08:00
Bob Nystrom
4249f92571
Rename tests.
2015-01-15 06:54:16 -08:00
Bob Nystrom
78e99c6c99
Merge branch 'list-forall' of git://github.com/gsmaverick/wren into gsmaverick-list-forall
2015-01-15 06:52:43 -08:00
Bob Nystrom
7ce4f20533
Merge branch 'nonlocal-names'
2015-01-14 23:08:34 -08:00
Bob Nystrom
c50e46725f
Implicitly define nonlocal names.
...
If a capitalized name cannot be resolved, a new top-level
variable with its name is implicitly declared. If a real
definition is not found later, a compile time error is raised.
Mutual recursion at the top level works now!
Fix #101 . Fix #106 .
2015-01-14 23:08:25 -08:00
Bob Nystrom
74a7ac6b95
Update DeltaBlue to use nonlocal name.
2015-01-14 23:03:17 -08:00
Bob Nystrom
15561be89b
Don't check against other keywords once we find a match. Fix #110 .
2015-01-14 06:46:02 -08:00
Bob Nystrom
a8e2ba233c
Add support for "nonlocal" (capitalized) names, and change how variable lookup works.
...
Inside a method, all local variable lookup stops at the method boundary. In other
words, methods, do not close over outer local variables.
If a name is not found inside a method and is lowercase, it's a method on this.
If it's capitalized, it's a global variable.
2015-01-13 21:36:42 -08:00
Bob Nystrom
9cb414d63b
Merge branch 'master' of https://github.com/munificent/wren
2015-01-13 06:42:35 -08:00
Bob Nystrom
39e5aea77c
Merge pull request #104 from zeckalpha/typos
...
Typos
2015-01-12 16:58:05 -08:00