1
0
forked from Mirror/wren
Commit Graph

1345 Commits

Author SHA1 Message Date
45d9794476 added extra arguments to list constructors for default size/ value 2016-07-17 12:01:50 +10:00
5418e4f8f3 Add MapEntry to core to let maps be directly iterated.
Fix #372.
2016-07-06 07:17:07 -07:00
fcfb053dc1 Merge branch 'verbose-make' of https://github.com/bfontaine/wren into bfontaine-verbose-make 2016-07-06 06:51:12 -07:00
d7524898dc Merge pull request #376 from paulsapps/master
Fix build, return false instead of NULL
2016-07-06 06:46:35 -07:00
5468d6d033 Fix build, return false instead of NULL 2016-07-02 12:40:00 +01:00
b41a0f7c07 Allow builds to be verbose
It’s impossible to disable @s in Makefiles to get a verbose build.
Adding them conditionally using a variable lets users choose if they
want a verbose build by using the VERBOSE variable.

Normal build:

    make

Verbose build:

    make VERBOSE=1
2016-07-02 11:21:47 +02:00
0837917307 Use a hash function for numbers that doesn't tend to zero low bits.
Just pulling the raw words out of a double means integers often map to
hashes with zero low bits. Then when we map that to an entry in the map,
all small integers end up in entry zero, leading to tons of collisions.

This mixes the bits around some like Java does to fix that.

Makes the map_numeric benchmark about 18% faster on my machine. On a
contrived benchmark that just uses keys up to 1000, this makes it 52x
(yes, *times) faster.
2016-06-27 08:13:45 -07:00
4e94195f26 Properly handle tombstones when inserting items into a map.
Previously, you could get into a state where a key was present in the
map, but after a tombstone in the probe sequence. If they key was added
again, it stopped at the first tombstone and added it there, resulting
in the key being in the map multiple times.

Fix #373.
2016-06-27 07:14:52 -07:00
bc29f43bbd Allow hosts with no module loader to still load optional modules.
If the host doesn't set a loadModuleFn at all in the config, it should
still be able to load random, meta, etc.
2016-06-27 07:08:08 -07:00
9c3163d533 Only reset the TTY if we created the stdin stream. 2016-06-09 19:16:41 -07:00
6ece314863 Reset the TTY before closing the underlying stdin stream. 2016-06-09 19:16:41 -07:00
33cf8f7b31 Fall back to a simpler REPL if it seems like ANSI escapes won't work. 2016-06-09 19:16:41 -07:00
f47e128978 Tab-completion in REPL based on module variables. 2016-06-09 19:16:41 -07:00
98514188b0 More shortcuts:
- Ctrl-B: Move cursor left.
- Ctrl-F: Move cursor right.
- Ctrl-K: Delete everything after cursor.
- Ctrl-L: Clear screen.
- Ctrl-U: Clear line.
- Ctrl-N: Next in history.
- Ctrl-P: Previous in history.
2016-06-09 19:16:41 -07:00
2ba264bc29 Add history to REPL. 2016-06-09 19:16:41 -07:00
bc7f1de758 Execute input in the REPL.
Guesses whether the input is an expression or statement and handles it
appropriately. Finally, after over a year, the Wren REPL automatically
prints "3" if you type in "1 + 2". \o/
2016-06-09 19:16:41 -07:00
689cd42269 Start writing the REPL in Wren.
It doesn't actually execute code yet, but it:

- Supports left and right arrow keys for moving the cursor.
- Ctrl-C, Ctrl-D, Ctrl-A, and Ctrl-E for navigating.
- Syntax highlights the line (!).

The next step is to do a rough parse so that we can tell if the line
is an expression, statement, or needs more input. That will tell us
whether we need to interpret it at the top level (statement) and not
worry about a result, evaluate it as an expression and print the result,
or read more lines.
2016-06-09 19:16:41 -07:00
59e9eb127e Add wrenAbortFiber().
Thanks, @underscorediscovery!
2016-06-09 19:14:21 -07:00
8657a42c21 Merge pull request #366 from underscorediscovery/patch-2
fix range docs to introduction
2016-05-27 07:23:41 -07:00
78deace9a4 Merge pull request #365 from underscorediscovery/patch-1
docs; iterator protocol link relative to core/ not modules/
2016-05-27 07:23:07 -07:00
2b0878ec6d Platform.isWindows. 2016-05-21 12:53:21 -07:00
6002cc4d65 Add Stdin.isTerminal. 2016-05-21 12:51:11 -07:00
06731f66d4 Add a Platform class.
- Rename the "process" module to "os".
- Add Platform to it.
- Static "name" method.
- Static "isPosix" method.
- Docs and tests!
2016-05-21 12:44:17 -07:00
6bcc64eb61 Wren 0.1.0!
There's nothing new in this "release", but now is as good a time as any
to start versioning. Going forward, I plan to do periodic releases and
update the changelog so users can see what's going on.
0.1.0
2016-05-21 10:53:05 -07:00
0a060a9678 WrenValue -> WrenHandle. 2016-05-20 20:55:28 -07:00
5a8cacfbe4 fix range docs to introduction
Is that the link that was intended?
2016-05-21 00:24:41 -02:30
b57fd6431a iterator protocol relative to core/ not modules/ 2016-05-21 00:21:47 -02:30
5d98d20175 Add Stdin.isRaw. 2016-05-20 15:19:18 -07:00
500dd41ccd Add Stdin.readByte(). 2016-05-20 11:50:14 -07:00
872cfdcd42 Mention the subreddit on the community docs.
Fix #360.
2016-05-20 10:02:57 -07:00
1d252d1970 First draft of docs for calling Wren from C. 2016-05-19 16:01:54 -07:00
d64af5d6a5 Fix output formatting in Firefox. 2016-05-19 09:30:38 -07:00
befe90501b Start writing comprensive embedding docs.
- Break embedding out into a separate section with multiple pages.
- Document the constraints on the API.
- Document the slot array and WrenValue.

Still lots more to do, but getting there...
2016-05-16 08:09:14 -07:00
856390c3fa Merge pull request #357 from hoop33/master
Fix typo
2016-05-04 13:29:59 -07:00
23b5dc25de Fix typo 2016-05-04 13:17:20 -04:00
2ce5913501 Correctly count subscript parameters in wrenMakeCallHandle().
Fixes #351.
2016-05-04 06:29:44 -07:00
3b7446738c Merge pull request #354 from ElFeesho/master
Fix typos and re-word explanation of gc heapGrowthPercentage
2016-05-03 12:27:16 -07:00
2f066f0b66 Merge pull request #355 from hoop33/master
Fix typo
2016-05-03 12:26:39 -07:00
d4662ebdfc Fix typo 2016-05-03 14:43:59 -04:00
0c1fc15e3c Fix typos and re-word explanation of gc heapGrowthPercentage 2016-05-03 18:48:08 +01:00
33ce3677f3 Merge pull request #353 from radarhere/patch-1
Fixed typo
2016-05-03 10:19:10 -07:00
05cc248b00 Fixed typo 2016-05-04 00:16:02 +10:00
94eb22cd9d Merge pull request #348 from crimsun/patch-1
Clarified grammatical inversion
2016-05-02 21:54:42 -07:00
020b1b7661 Merge branch 'master' of https://github.com/munificent/wren 2016-05-02 16:23:56 -07:00
66e7def128 Style nits. 2016-05-02 16:23:52 -07:00
1f37068b39 Oops, correct year that C++ was standardized. 2016-05-02 16:23:08 -07:00
2132f15f9e Clarified grammatical inversion 2016-05-02 02:39:11 +04:30
18b638b797 Merge pull request #347 from ianmackenzie/patch-1
Fix small typo in method call documentation
2016-04-15 10:13:54 -04:00
95da4f90b9 Fix small typo in method call documentation 2016-04-15 15:16:24 +10:00
694186810b Test that multiple closures of the same code are unequal. 2016-03-26 14:22:38 -07:00