1
0
forked from Mirror/wren
Commit Graph

1318 Commits

Author SHA1 Message Date
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
6dc4286ffa Always wrap functions in closures.
This has a couple of pros:

- It simplifies some code that used to have to check whether a called
  thing is a bare function or a closure.
- It's faster because we don't need to do the above checks every time
  something is called.
- It lets us more precisely type some fields that used to be Obj*
  because they could hold an ObjClosure* or ObjFn*.

The cost is that we allocate a closure every time a function is
declared, even if it has no upvalues. Since functions are called way
more often than they are declared, this is still a net win.

On my Mac laptop:

api_call - wren            0.06s 0.0020 104.73%
api_foreign_method - wren  0.32s 0.0040 101.89%
binary_trees - wren        0.23s 0.0057  98.82%
binary_trees_gc - wren     0.79s 0.0170  98.46%
delta_blue - wren          0.13s 0.0031 101.36%
fib - wren                 0.23s 0.0038 103.15%
fibers - wren              0.04s 0.0017  98.97%
for - wren                 0.08s 0.0017 107.81%
method_call - wren         0.12s 0.0024  98.60%
map_numeric - wren         0.31s 0.0052 103.93%
map_string - wren          0.11s 0.0113  97.97%
string_equals - wren       0.20s 0.0023 107.75%
2016-03-26 14:00:17 -07:00
a5f95b90e9 Lazy load optional libraries and let the host override them. 2016-03-17 07:49:43 -07:00
984fa1ddd1 Use errorFn for runtime errors. 2016-03-17 07:17:03 -07:00
66b7acd862 Remove unneeded includes. 2016-03-17 07:04:09 -07:00
c5855a6fe9 Squashed commit of the following:
commit f93ec6430f9629b5a28765a3961379d1e8296e50
Author: Bob Nystrom <robert@stuffwithstuff.com>
Date:   Wed Mar 16 08:03:25 2016 -0700

    Tiny tweaks.

commit 332a08fe33cddffec82dbd377ee0c941a0066f64
Merge: a673981 14b7a08
Author: Bob Nystrom <robert@stuffwithstuff.com>
Date:   Wed Mar 16 08:01:00 2016 -0700

    Merge branch 'errorFn' of https://github.com/ppvk/wren into ppvk-errorFn

commit 14b7a086ce
Author: Paul VanKeuren <paul.vankeuren@gmail.com>
Date:   Tue Mar 15 11:33:37 2016 -0500

    missing semicolon, accessing vm through parser in

commit 924eaa1f9d
Author: Paul VanKeuren <paul.vankeuren@gmail.com>
Date:   Tue Mar 15 11:25:32 2016 -0500

    fixed missing errorFn in wren.h

commit 3761df111f
Author: Paul VanKeuren <paul.vankeuren@gmail.com>
Date:   Tue Mar 15 11:23:51 2016 -0500

    Added an errorFn to the CLI

commit d51137b4ab
Author: Paul VanKeuren <paul.vankeuren@gmail.com>
Date:   Tue Mar 15 11:21:16 2016 -0500

    Added a WrenErrorFn typedef, an errorFn slot in WrenConfiguration.  exits early if  is not defined, otherwise it runs the errorFn .
2016-03-16 08:04:03 -07:00
a6739819b2 Report undefined variable errors on the line where they are used.
This also more importantly ensures the error message for one has a
bounded length even if the variable name is pathologically long.
2016-03-16 08:00:28 -07:00
1478d6b7e2 Add a few comments. 2016-03-16 07:27:03 -07:00
6f0ee7e52b Merge branch 'master' of https://github.com/RallyTronics/wren into RallyTronics-master 2016-03-16 07:23:24 -07:00
678051c5e1 Tweak makefile formatting. 2016-03-16 07:22:18 -07:00
676f4e1037 io.c fixes to build in Visual Studio 2016-03-15 14:52:09 -06:00
8c79501738 Fix windows build 2016-03-16 00:37:23 +09:00
38699e3a81 Rearrange the code a bit for duplicate method detections. 2016-03-15 07:15:55 -07:00
c1cea30131 Merge branch 'no-duplicate-methods' of https://github.com/Qard/wren into Qard-no-duplicate-methods 2016-03-15 06:54:49 -07:00
001db02c81 Remove unused DUP opcode. 2016-03-13 22:11:21 -07:00
6dfbea1ea4 Don't use generic function for finding method duplicates and add tests 2016-03-12 19:14:19 -08:00
4cc3afd38b Fix and optimize duplicate method check 2016-03-12 18:29:44 -08:00
3fd151036c Forbid duplicate methods 2016-03-12 18:29:43 -08:00
22a95265f2 Simplify the formatting used to print compile errors.
Avoids using multiple calls to fprintf() to print a single compile
error. This should make it easier to allow the host to provide a
callback function to print errors.
2016-03-11 21:30:54 -08:00
5be9377d93 Simplify shebang parsing. 2016-03-11 17:23:31 -08:00
485e91ab05 Redo metrics script. 2016-03-07 07:56:44 -08:00
fb0e01bfe9 Fix some nits in the FAQ. 2016-03-07 07:41:00 -08:00
139b447898 Compile functions in place instead of copying when done.
The compiler used to maintain all of the data that defines a function,
which it incrementally built up. Then, when it was done, it copied all
of that to a new ObjFn. In theory, that was to trim down some memory
and avoid unneeded fields in ObjFn.

In practice, the performance benefit is negligible and the memory saving
is nullified by the fact that it copies anyway.

This moves all of that mutable state directly into ObjFn. The compiler
creates a new empty ObjFn at the beginning and then just fills it in
in place.

This shaves off about 40 lines of code, is simpler, and doesn't seem to
impact perf.
2016-03-04 07:49:34 -08:00
f2f779d3b8 Fix bug with the compiler root not being popped. 2016-03-03 17:48:47 -08:00
a3505fa060 Simplify runtime error reporting. 2016-03-03 17:11:52 -08:00
9fda7cb526 Unify Fiber.try() with the other methods to execute fibers. 2016-03-03 17:00:33 -08:00
d717ddf817 Simplify how assignment expressions are compiled. 2016-03-03 16:30:48 -08:00
84bcb5801c Add a test for creating a VM without a config. 2016-03-03 14:31:47 -08:00