Commit Graph

294 Commits

Author SHA1 Message Date
Jeremy Ashkenas
5efaff506c more underscore 2010-01-04 01:43:45 -05:00
Jeremy Ashkenas
94bc7c1f92 putting in a special check for returns within array comprehensions -- not very nice 2010-01-04 01:06:31 -05:00
Jeremy Ashkenas
f75d98e447 pretty amazing -- fully functional draft of underscore.js 0.5.2, all in CoffeeScript 2010-01-04 00:28:52 -05:00
Jeremy Ashkenas
69283fcadd fixing a nasty little bug with not dup'ing a string in Scope.rb, causing later functions to start their free_variables where previous functions left off, because they shared their ancestor's @temp_variable string 2010-01-04 00:16:38 -05:00
Jeremy Ashkenas
672dd70bdb more underscore examples raised a slight bug with a lexing ambiguity between leading whens (in switches), and trailing whens (in comprehensions) -- made two different tokens to distinguish them 2010-01-03 22:25:38 -05:00
Jeremy Ashkenas
32cd15f038 mo' expression examples 2010-01-03 19:08:41 -05:00
Jeremy Ashkenas
ecdb47107b -- 2010-01-03 19:00:08 -05:00
Jeremy Ashkenas
cb1815885c adding a statement-as-expression test, and returning null from while loops, if asked 2010-01-03 18:58:34 -05:00
Jeremy Ashkenas
d53d85d03e updating fixtures -- all tests now pass -- back to master 2010-01-03 18:49:00 -05:00
Jeremy Ashkenas
8e6486a1d7 logic error in Expressions was causing over-compilation by a factor of the depth of the tree 2010-01-03 18:47:23 -05:00
Jeremy Ashkenas
97f16c0e9c fixing comment-within-objecta-and-array-literal printing for the new expression regime. 2010-01-03 18:35:03 -05:00
Jeremy Ashkenas
bd2597c6b8 change lexical scoping example to use var names that haven't been already defined 2010-01-03 18:27:26 -05:00
Jeremy Ashkenas
56015bd23f subtle call order bug was preventing variable declarations 2010-01-03 18:22:10 -05:00
Jeremy Ashkenas
3724778989 lowering the precedence of if/else/while 2010-01-03 18:11:53 -05:00
Jeremy Ashkenas
bb0dfa5cd4 removing the silly newlines from comments 2010-01-03 18:07:03 -05:00
Jeremy Ashkenas
6160fe3c17 beautiful -- all examples, tests, and docs are now compiling without JSLint warnings 2010-01-03 16:32:59 -05:00
Jeremy Ashkenas
099944e0aa All execution tests are now passing with statements everywhere 2010-01-03 15:59:33 -05:00
Jeremy Ashkenas
4814d5baa5 more progress -- you can wrap parentheses around statements now 2010-01-03 15:13:59 -05:00
Jeremy Ashkenas
78c4957ba8 first rough rough rough draft of kamatsu's closure suggestion -- test.coffee runs, but probably nothing else 2010-01-03 13:59:17 -05:00
Jeremy Ashkenas
de4eddcad4 bumping version numbers to 0.2.0 in anticipation of release soon-ish 2010-01-03 11:01:50 -05:00
Jeremy Ashkenas
ba3c5298f7 adding a block test and using PARAM_SPLAT to remove the last shift/reduce conflict 2010-01-03 10:46:37 -05:00
Jeremy Ashkenas
21a0cc83ae Adding kamatsu's proposed block literal syntax 2010-01-03 10:19:39 -05:00
Jeremy Ashkenas
7eff8786bc todo 2010-01-02 01:00:03 -05:00
Jeremy Ashkenas
7ee5be674d adding splice literals, with tests 2010-01-02 00:20:24 -05:00
Jeremy Ashkenas
38520bfece rebuilding narwhal uncovered a bug with named functions 2010-01-01 22:00:34 -05:00
Jeremy Ashkenas
c3d0e50e8f fixing the food/eat array comprehension in the docs to not pretend like there's a made-up method on String.prototype 2010-01-01 17:16:34 -05:00
Jeremy Ashkenas
34add7d7bf adding consistent highlighting to variable assignment, whether functions or values 2010-01-01 17:11:48 -05:00
Jeremy Ashkenas
75d9e23df4 better existence test, with tests 2010-01-01 12:41:55 -05:00
Jeremy Ashkenas
ff80f8d423 adding the notion of existence -- postfixing an expression with a question mark will check if to see if it's not null or undefined 2010-01-01 12:31:05 -05:00
Jeremy Ashkenas
3489eec6ee commenting the lexer a bit more 2010-01-01 12:11:35 -05:00
Jeremy Ashkenas
2f69bc1708 expanding the list of tokens that regexes may not follow, according to the Mozilla JS 2.0 docs 2010-01-01 12:08:36 -05:00
Jeremy Ashkenas
0f81dbe913 adding steps to range comprehensions 2010-01-01 11:54:59 -05:00
Jeremy Ashkenas
e30a267c9d fixing precedence order, so that you can nest range comprehensions 2010-01-01 11:19:57 -05:00
Jeremy Ashkenas
305f883eab making range comprehensions compile safely, even when you assign to the same variable as your endposts. 2010-01-01 10:55:43 -05:00
Jeremy Ashkenas
f622fc43bc -- 2010-01-01 10:40:29 -05:00
Jeremy Ashkenas
a93a570603 allowing indentation within function calls 2010-01-01 10:38:28 -05:00
Jeremy Ashkenas
02fbd28e58 adding a test for expressions in range comprehensions 2010-01-01 10:20:29 -05:00
Jeremy Ashkenas
2cef93b381 test for uminus 2010-01-01 10:17:33 -05:00
Jeremy Ashkenas
caf9d627cb allowing expressions within range literals 2010-01-01 10:15:22 -05:00
Jeremy Ashkenas
ad5b5fa458 fixing the regex lexer to make it less agressive when we know it can't possibly be a regex 2010-01-01 09:49:18 -05:00
Jeremy Ashkenas
41056ca2bd fix for multiple splats in a function call 2009-12-31 20:02:15 -05:00
Jeremy Ashkenas
409283a30f adding splats as arguments to function calls 2009-12-31 19:52:13 -05:00
Jeremy Ashkenas
abfc9f5a2d adding a note in the docs about how to build the parser and install the gem 2009-12-31 18:22:51 -05:00
Jeremy Ashkenas
43edd29d22 comment about test_execution being the most important 2009-12-31 18:09:48 -05:00
Jeremy Ashkenas
26c89cef06 reserving variables for splats the regular way, not through a custom 'var' declaration 2009-12-31 18:03:39 -05:00
Jeremy Ashkenas
1d2bb3b2be adding splats to function definitions 2009-12-31 17:50:12 -05:00
Jeremy Ashkenas
f299972713 expressions nested in expressions made for some indentation issues -- statements are now responsible for their own leading indentation 2009-12-31 16:50:46 -05:00
Jeremy Ashkenas
bfd7455db4 adding a test for multiline-array-comprehension-with-filter 2009-12-31 16:13:52 -05:00
Jeremy Ashkenas
7ec91a1ee5 enabling multi-line array and object comprehensions 2009-12-31 16:09:27 -05:00
Jeremy Ashkenas
44fec922a4 adding a filtered object comprehension test 2009-12-31 15:08:54 -05:00