Commit Graph

1591 Commits

Author SHA1 Message Date
e3e1f7f3d4 Start working on string escapes. 2013-11-23 21:00:47 -08:00
acf9cc024f Remove some unneeded casts. 2013-11-23 17:35:11 -08:00
a5bbe81280 Start to get instance fields working. 2013-11-23 14:55:05 -08:00
ba676f1231 Work on docs a little bit. 2013-11-23 14:52:50 -08:00
e4b5613780 ASCII art graph of benchmark results! 2013-11-22 09:17:45 -08:00
b30c30e1e3 Get a basic benchmark runner going. 2013-11-22 08:55:22 -08:00
d19f9f1b9b Add a license. 2013-11-21 21:41:44 -08:00
d332eed048 Start hacking on web site. 2013-11-21 21:38:36 -08:00
359481f260 More thinking about calls. 2013-11-21 21:38:21 -08:00
3b0e962a05 Named, user-defined constructors. 2013-11-20 07:20:16 -08:00
32144dae20 Clean up compiler a bunch. 2013-11-19 20:54:47 -08:00
32d41e2d54 Simplify lexer a bit. 2013-11-19 20:19:02 -08:00
fe48113054 Logical "||" operator. 2013-11-19 18:24:58 -08:00
4266facfda Add IS_FALSE for non-NaN-tag values. 2013-11-19 07:36:59 -08:00
6b87a8400f "&&" operator. 2013-11-19 07:35:25 -08:00
e614e092ed Start getting block scope working. 2013-11-18 09:19:03 -08:00
4d23d58bf1 While statements. 2013-11-17 22:38:59 -08:00
64509a4f61 NaN tagging!
This plus moving some variables into locals in the interpreter loop
gets the fib benchmark within 25% of Lua!
2013-11-17 14:20:15 -08:00
0c1ce91e80 Make String#contains return a bool. 2013-11-17 10:04:02 -08:00
0181f69dfb Get rid of special handling for call methods. 2013-11-17 09:02:57 -08:00
ee504435f7 Real hello world example. 2013-11-17 08:55:04 -08:00
bc5415e486 Move value/object stuff to separate files. 2013-11-16 17:51:30 -08:00
37fdf88bbe Clean up a bunch of stuff. 2013-11-16 17:41:09 -08:00
2af4cb6169 Get rid of "no value" value type. 2013-11-16 11:54:42 -08:00
8f6f546ab3 Bump default heap size. 2013-11-16 11:43:40 -08:00
462ea3903a Unboxed numbers. 2013-11-16 11:41:29 -08:00
e6f085b7c4 Get rid of boxed null and bools. 2013-11-16 11:35:59 -08:00
01b61c83d7 First phase of changing object representation.
This code is full of hacks and isn't the right representation, but
it gets it so that Value is no longer just a raw Obj*.
2013-11-16 11:26:32 -08:00
1266578a4e Add trivial fib benchmark. 2013-11-14 20:57:56 -08:00
cfb5193ce8 Function parameters. 2013-11-14 18:25:28 -08:00
167e174480 User-defined operators. 2013-11-14 10:59:28 -08:00
f6eadbe3f4 Get rid of mixfix methods (for now at least). 2013-11-14 09:21:58 -08:00
a24f29002d Better parsing error messages. 2013-11-13 23:06:53 -08:00
5ac4087d0c Some design notes. 2013-11-13 17:09:55 -08:00
85d9bffa08 Block comments. 2013-11-13 17:09:47 -08:00
27a652e565 Start sketching out inheritance. 2013-11-13 11:05:03 -08:00
509f62fdad Ditch man file. 2013-11-13 07:15:10 -08:00
9d4599f6e6 Unary operators and variable assignment. 2013-11-13 07:10:52 -08:00
7e2c200e0d Garbage collection! 2013-11-12 08:32:35 -08:00
0339bcdeca Use object conversion macros consistently. 2013-11-10 14:21:14 -08:00
915ecb4e58 Static methods. 2013-11-10 11:46:13 -08:00
2f241e2225 Metrics for tests. 2013-11-10 11:12:38 -08:00
f19dd64f8b Floating point number literals. 2013-11-09 21:32:57 -08:00
3cdabcb8c7 "%" operator for numbers. 2013-11-09 21:01:18 -08:00
a1f10786ef "this" expressions. 2013-11-09 15:42:23 -08:00
0cc5524249 Generate correct code for locals. 2013-11-09 11:38:01 -08:00
a2f0e41bcb Method parameters. 2013-11-09 11:18:27 -08:00
166d74930f "is" operator. 2013-11-07 17:07:32 -08:00
55e433f980 Reorganize the compiler to be bottom-up.
Gets rid of a bunch of forward declarations and shortens the code.
Also makes points of recursion more explicit.
2013-11-07 07:04:25 -08:00
8f6881c6a8 Change syntax for blocks -> fns. 2013-11-06 07:47:47 -08:00