Commit Graph

689 Commits

Author SHA1 Message Date
4260a10983 add simple example for importing a module 2015-02-18 11:39:31 -05:00
ae88ee539d Merge branch 'master' of https://github.com/munificent/wren 2015-02-18 07:55:38 -08:00
ca14dffab4 First pass at docs for modules. 2015-02-18 07:55:09 -08:00
8ec89740c5 Merge pull request #172 from MarcoLizza/more_bitwise
More bitwise operands
2015-02-18 06:51:13 -08:00
b2ca4c0381 Allow zero or multiple imported names. 2015-02-17 07:32:33 -08:00
31304ac2bb Merge branch 'master' into modules 2015-02-17 07:22:21 -08:00
c6043d3c81 Use bytecode to import variable, instead of builtin function. 2015-02-17 07:21:51 -08:00
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
269bf90ec8 More explicit naming bitwise operand implementations. 2015-02-16 22:29:30 +01:00
c45d70ac4e Fixed token name for '<<' and '>>'. 2015-02-16 22:26:54 +01:00
c2c576b27c Get rid of builtin function for importing. 2015-02-16 10:21:29 -08:00
5b1447882b Move running the module fiber into C. 2015-02-16 10:16:42 -08:00
36d100b8e4 Move module load failure into C. 2015-02-16 10:12:41 -08:00
cbd0217072 Merge pull request #174 from MarcoLizza/IO_time
IO.time
2015-02-16 10:01:56 -08:00
032c650e1f Get rid of hash constants for singleton values. 2015-02-16 09:33:07 -08:00
c9400a2c81 Adding 'IO.time' static method. 2015-02-16 12:04:56 +01:00
00cdef303c Adding new bitwise operands tests. 2015-02-16 11:30:15 +01:00
5280bf6c28 Adding '^', '<<', and '>>' operands implementation for numbers. 2015-02-16 11:29:14 +01:00
71fb636c94 Compiler now recognizes '^', '<<', and '>>' operands. 2015-02-16 11:28:34 +01:00
a44d479643 Basic import syntax. 2015-02-14 16:46:00 -08:00
ffc770b4a7 Also clean Mac .dylibs. 2015-02-12 09:07:41 -08:00
6ada5e0b24 Merge branch 'patch-1' of git://github.com/Phyllostachys/wren into Phyllostachys-patch-1 2015-02-12 09:06:37 -08:00
e4caeb2a7c made ``make clean`` more explicit 2015-02-12 10:23:13 -05:00
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
911d5e374f Add benchmark for string map keys. 2015-02-11 22:41:59 -08:00
2bad33fbc8 Rename a couple of things in the benchmark script. 2015-02-11 19:48:39 -08:00
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
0d9095baf9 Adding map benchmark scripts. 2015-02-09 11:51:09 +01:00
b11f6e24e6 Moving the "run_bench" script to the "script" folder. 2015-02-09 11:49:06 +01:00
5b348e61d7 ``make clean`` now removes the libraries
```make clean``` now removes ```libwren.a``` and ```libwren.so``` where it only removed ```build```` and ```wren```
2015-02-06 15:15:41 -05:00
2005e1e0a2 Add ".wren" to modules in the embedder. 2015-02-06 11:52:05 -08:00
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
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
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
4a19050416 Merge branch 'uint32_string' of git://github.com/MarcoLizza/wren into MarcoLizza-uint32_string 2015-02-04 20:28:27 -08:00
55caae343b Add "." to comments. :) 2015-02-04 20:26:29 -08:00
ddd20c687e Merge branch 'master' into MarcoLizza-8_bit_strings_tests 2015-02-04 20:25:12 -08:00
878be6fb6b Clean up wrenStringFind() a bit. 2015-02-04 20:23:50 -08:00
ba4760331e Merge branch 'replacing_strstr' of git://github.com/MarcoLizza/wren into MarcoLizza-replacing_strstr 2015-02-04 17:56:29 -08:00
aa9cfffb34 Keep code within 80 columns. 2015-02-04 08:15:35 -08:00
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
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
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
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
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
8af1a787e2 Getting rid of constant unsigned error when compiling for C++ on GCC. 2015-02-04 13:59:53 +01:00
d73b19967d Adding 8-bit strings test cases. 2015-02-04 13:58:16 +01:00
096e5cf33c Fixing empty search string corner case. 2015-02-04 13:53:59 +01:00
4d1e0833fb Getting rid of "strcpy()/strncpy()" in favour of "memcpy()". 2015-02-04 13:51:54 +01:00
4c58830684 Fixing minor string length comparison warning. 2015-02-04 13:47:09 +01:00