Commit Graph
100 Commits
Author SHA1 Message Date
Bob Nystrom 48163087de Merge pull request #215 from gsmaverick/spelling-fix
Fix spelling on error.
2015-03-12 07:26:29 -07:00
Bob Nystrom b4e029fbf3 Pass char* to error(). 2015-03-11 07:31:18 -07:00
Bob Nystrom 72baefe497 Clean up some outdated TODOs. 2015-03-07 14:10:34 -08:00
Bob Nystrom b36b71d3c6 Merge pull request #212 from soveran/io-read-eof
Change IO.read to return null on EOF
2015-03-07 13:47:07 -08:00
Bob Nystrom 98c5e04f9a Clean up internal Map API.
Thanks, Michel!
2015-03-07 12:41:18 -08:00
Bob Nystrom 05ba7d9fbf Add fiber features needed for to write an external scheduler:
- Allow yielding the main fiber. This exits the interpreter. The
  host can resume it by calling a method.
- Allow getting a reference to the current fiber.
2015-03-07 12:32:11 -08:00
Bob Nystrom 7aacf02a00 Tweak num methods a bit. 2015-03-06 22:52:42 -08:00
Bob Nystrom 632a01d584 Merge branch 'num_methods' of git://github.com/MarcoLizza/wren into MarcoLizza-num_methods 2015-03-06 22:43:02 -08:00
Bob Nystrom d35e3c917c Add count to Sequence. 2015-03-06 07:01:02 -08:00
Bob Nystrom d722adddff Use more idiomatic loops in delta_blue. 2015-03-04 07:16:56 -08:00
Bob Nystrom 2b66880bb3 Simplify marking. 2015-03-04 07:08:48 -08:00
Bob Nystrom 90aa43450b Merge branch 'master' of git://github.com/bjorn/wren into bjorn-master 2015-03-03 07:23:47 -08:00
Bob Nystrom 87739e8730 Merge branch 'master' into mingw-fix 2015-03-03 07:20:43 -08:00
Bob Nystrom 28005ed47a Refactor number parsing a bit. 2015-03-03 07:17:56 -08:00
Bob Nystrom 794d09ef15 Fix typo. 2015-03-02 07:32:09 -08:00
Bob Nystrom de80f1fd65 Add DEALLOCATE() macro. 2015-03-02 07:31:46 -08:00
Bob Nystrom 4cf23218f9 "Native" -> "primitive". Yay consistency! 2015-03-02 07:24:04 -08:00
Bob Nystrom 208ae9f7f2 Handle cc not being defined by MSYS for MinGW. 2015-03-01 09:25:48 -08:00
Bob Nystrom 20b0188125 Merge branch 'master' of https://github.com/munificent/wren 2015-03-01 08:40:17 -08:00
Bob Nystrom ff9091cf63 Tweak static field docs a bit. 2015-03-01 08:39:53 -08:00
Bob Nystrom b2a7c5737c Merge branch 'static-fields-doc' of git://github.com/hachibu/wren into hachibu-static-fields-doc 2015-03-01 08:34:11 -08:00
Bob Nystrom 3168d240a6 Merge pull request #203 from hachibu/authors
authors: add myself to authors
2015-03-01 08:33:06 -08:00
Bob Nystrom 537cce1caa Merge branch 'master' of https://github.com/munificent/wren 2015-03-01 08:20:55 -08:00
Bob Nystrom e72eedc6f5 Merge pull request #202 from bjorn/fib
Made the fib benchmark a bit faster
2015-02-28 16:51:41 -08:00
Bob Nystrom a025e01971 Clean up some dumb mistakes. 2015-02-28 13:51:19 -08:00
Bob Nystrom 876c2d9208 Add API to call Wren method from C code.
This gives you a simple, efficient way to invoke a method on
some Wren object from C code, passing in arguments.

The basic API is in place and works, but there's still lots to do:

- Lots of error handling.
- Documentation.
- Tests!
2015-02-28 13:31:15 -08:00
Bob Nystrom 6b05610c6a Correctly count range size in GC. 2015-02-28 09:09:57 -08:00
Bob Nystrom f472a301a2 Don't trigger GC on deallocation. 2015-02-27 21:41:59 -08:00
Bob Nystrom 59796bcf5d Document benchmark runner. 2015-02-27 21:34:07 -08:00
Bob Nystrom c27a094882 Reorganize superclass validation a bit. 2015-02-27 08:08:27 -08:00
Bob Nystrom 46713a5bb3 Merge branch 'issue-70' of git://github.com/verpeteren/wren into verpeteren-issue-70 2015-02-27 07:41:25 -08:00
Bob Nystrom effa69f64e Tweak docs a bit. 2015-02-27 07:37:58 -08:00
Bob Nystrom 7cb5de388d Merge branch 'doc-site-core-num' of git://github.com/hachibu/wren into hachibu-doc-site-core-num 2015-02-27 07:30:58 -08:00
Bob Nystrom 8408e862a3 Clean up the test script a bit. 2015-02-27 07:22:27 -08:00
Bob Nystrom 07c7b49681 Use full signature in method debug name. 2015-02-27 07:10:44 -08:00
Bob Nystrom 5d116153dd Simplify parameterList(). 2015-02-27 06:51:37 -08:00
Bob Nystrom 96ceaa528b Allow empty argument list methods.
- Compile them as calls and definitions.
- Use them for call(), clear(), run(), try(), and yield().
- Update the docs.
2015-02-26 23:08:36 -08:00
Bob Nystrom 1aaa8cff52 Use more comprehensive signature strings for methods. 2015-02-26 21:56:15 -08:00
Bob Nystrom e007bb7f11 Make embedding API provide full method signature. 2015-02-26 07:44:45 -08:00
Bob Nystrom 22edfd7e7f Add note to comment. 2015-02-26 07:37:10 -08:00
Bob Nystrom 6a10d9740c Merge pull request #187 from MarcoLizza/bitwise_precedence
Bitwise precedence
2015-02-25 07:14:31 -08:00
Bob Nystrom fc2ed6f6e1 Don't allow trailing non-number characters when parsing a string to a number. 2015-02-25 07:07:54 -08:00
Bob Nystrom 4b88292ec1 Merge branch 'num-from-string' of git://github.com/gsmaverick/wren into gsmaverick-num-from-string 2015-02-25 06:53:12 -08:00
Bob Nystrom 516808f6d2 Fix typo in docs. 2015-02-25 06:49:42 -08:00
Bob Nystrom 6e680f89bf Merge branch 'master' of https://github.com/munificent/wren 2015-02-24 22:08:57 -08:00
Bob Nystrom b5e5f80d8c Fix some signed-unsigned mismatches. 2015-02-24 21:56:33 -08:00
Bob Nystrom 0242e43ed5 Make sure UINT32_MAX is available even in gcc C++ builds. 2015-02-24 21:09:04 -08:00
Bob Nystrom d0923f8fe1 Make sure UINT32_MAX is defined. 2015-02-24 20:26:39 -08:00
Bob Nystrom 963ebb237d Install gcc-multilib so 32-bit C libraries are available on 64-bit Travis VMs. 2015-02-24 20:26:24 -08:00
Bob Nystrom 03595703e2 Merge pull request #185 from MarcoLizza/baseline_in_benchmark_dir
Fixed benchmark baseline-file creation path.
2015-02-24 19:49:29 -08:00
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