05117f9ee3
Make sure that contextual type arguments are passed when resolving the target of a new
expression; Fix decoding of UTF8 strings with more than two code units in the Binaryen interface
2018-04-22 00:17:14 +02:00
bde13b12cf
Some final tweaks to the examples
...
I promise
2018-04-20 18:56:51 +02:00
4eade0f319
Make the mandelbrot example a bit more fun as well
2018-04-20 15:36:01 +02:00
b53b3e08ec
Add some smoothing to mandelbrot example
2018-04-20 05:06:05 +02:00
9cd3304e13
Make the game-of-life example a bit more interesting
...
This moves the entire image buffer to WASM that now also applies some fading.
2018-04-19 23:16:03 +02:00
18ef7c1932
Also link to the source from the demos
2018-04-19 18:53:01 +02:00
7d3fb86691
Add demo links to README
2018-04-19 17:49:44 +02:00
485c3fd9b2
Add mandelbrot example; Update game-of-life example
2018-04-19 17:32:23 +02:00
350befee9b
Also compile the constructor if a class is exported
2018-04-19 02:58:04 +02:00
9579086699
Add what we have for GC so far
...
Not functional yet, but might be good to have for discussing it.
2018-04-18 16:32:07 +02:00
a15457d8b9
Simplify isFinite & isNaN ( #78 )
2018-04-18 15:14:24 +02:00
5a2f834c0d
Fix game-of-life example inconsistencies; Fix ternary expression issues in void contexts and variable statements; Simplify HEAP_BASE handling
2018-04-18 15:12:33 +02:00
4026c087fd
Export the trampoline and provide a helper for functions that take optional arguments
2018-04-17 16:04:29 +02:00
4929fca363
Move some numeric builtins to stdlib; Minor refactoring
2018-04-17 02:50:38 +02:00
6d0b5d92c2
Minor string comparision optimizations ( #77 )
2018-04-16 23:02:55 +02:00
1013c21359
Remove type checking from load/store for portable ( #76 )
2018-04-16 23:02:12 +02:00
d66f9d205c
Add portable ctz, popcnt, rotl, rotr, nearest & copysign ( #75 )
...
Thank you!
2018-04-15 00:35:43 +02:00
990fa850ff
Add more Array#sort tests ( #73 )
2018-04-15 00:35:17 +02:00
81223977d0
Fix external names of class exports and similar; Support a few more kinds in TSDBuilder, see #74
2018-04-15 00:34:19 +02:00
78a679759a
Update dependencies
2018-04-13 15:31:23 +02:00
ee73a4d28f
Initial type parameter inference, see #61
...
This catches the most common cases but doesn't yet implement inference involving the return type because some prequesites are not yet in place (see test case).
2018-04-13 12:25:27 +02:00
748e811137
Proper isNaN/isFinite without a temp. local
2018-04-12 20:40:00 +02:00
1cea3c6f08
Improve Math#sign ( #72 )
2018-04-12 19:26:50 +02:00
2002e32c9c
Inline small stdlib functions ( #71 )
2018-04-12 14:17:29 +02:00
5b97427bfa
Update dist files
2018-04-11 23:37:33 +02:00
623597c23a
Make the transition to ArrayBuffer backed Arrays ( #70 )
...
* Traverse base classes when resolving overloads
* Implement preliminary TypedArray accessors
* Extract decorator flags from common flags to make space
* Add '**' overload
* Implement basic explicit inlining
* Support inlining of instance methods
* Reduce number of required locals when inlining
* Implement inlining of operator overloads
* Fix issues when inlining generic functions
2018-04-11 23:35:19 +02:00
0f49e054d2
Minor optimizations to array sorting
...
...to get a handle on the code
2018-04-08 01:53:22 +02:00
ac2281b14b
Improve memory usage for weakHeap sorting ( #68 )
2018-04-08 01:03:26 +02:00
9731958738
Implement a mechanism to realloc array buffers; Trap when trying to allocate more than max size; Test allocators in CI
2018-04-08 00:52:19 +02:00
dcc0e284fb
Make type checking builtins also accept just a type argument
2018-04-07 23:31:36 +02:00
8ffc7d463d
Fix invalid assertion when resolving element accesses
2018-04-07 21:58:22 +02:00
89e8de5d82
Enable open-in-browser in the Game Of Life example ( #69 )
2018-04-07 19:01:10 +02:00
b7ef21950b
Add String#repeat method ( #67 )
2018-04-07 18:59:26 +02:00
f1b00c90be
Fix browser asc
2018-04-07 16:37:39 +02:00
8770f7b548
New ArrayBuffer/TypedArray; Stdlib restructure; Fix importing stdlib in stdlib; Traverse constructors; Allow initialization of readonly instance fields in constructors
2018-04-07 03:27:22 +02:00
6268b92eba
Resolve string instances to the program's string class
2018-04-06 00:19:45 +02:00
70a0123554
Fix some cases in string comparision ( #66 )
2018-04-05 17:44:17 +02:00
26601dcfb1
Make '===' and '!==' ignore operator overloads
...
While not semantically equivalent with JS semantics, this appears to be the right thing to do in AS. Also avoids using changetype just for this purpose, which will eventually become considered unsafe.
2018-04-05 02:42:12 +02:00
7e90ab161d
Simplify resolve infrastructure; Fix handling of nested element and property accesses
2018-04-05 02:23:03 +02:00
e790eb757f
Add string comparison operator overloads ( #64 )
2018-04-04 21:50:40 +02:00
5e20bed09a
Unify / simplify asc API (in browsers)
2018-04-04 14:39:40 +02:00
acfef646ef
Update dist files; Also parse name and source mapping sections in lib/parse
2018-04-04 03:41:04 +02:00
c45a35b1c1
Implement Array#sort ( #57 )
2018-04-04 00:42:23 +02:00
37825fc84d
Implement comparision operator overloads ( #63 )
2018-04-04 00:01:59 +02:00
5823e35f37
Progress and a tiny WASM binary parser
2018-04-03 23:56:48 +02:00
06198a3723
Rename lib prefix to '~lib' (parens aren't valid); Add built-in alignof<T>; Prepare for ArrayBufferView
2018-04-02 19:05:26 +02:00
3b50720603
Also create an 'index.js' to load the module when running asinit
2018-04-02 02:42:42 +02:00
59a22c1842
A little 'asinit' CLI tool for quickly setting up a project; Minor refactoring
2018-04-01 23:46:41 +02:00
6ff69394f0
Minor cleanup
2018-03-31 18:18:55 +02:00
3d1f181961
Add Mathf missed defs ( #60 )
2018-03-31 17:15:59 +02:00