Commit Graph

106 Commits

Author SHA1 Message Date
Jeremy Ashkenas
a9f016e292 trying out new arrows for function literals -> is a function, => is a bound function 2010-01-26 10:52:05 -05:00
Jeremy Ashkenas
29e4043f26 tests passing with smarter block syntax with optional parens 2010-01-26 02:15:08 -05:00
Jeremy Ashkenas
460b3f6d8e first draft of mandatory parentheses around function definition param lists -- all tests pass 2010-01-26 00:40:58 -05:00
Jeremy Ashkenas
e6f010b983 adding more examples to the computer_science folder, and fiddling with operator precedence 2010-01-24 18:59:29 -05:00
Jeremy Ashkenas
d728c3d669 added existence chains with '?.' -- soaks up attempts to access undefined properties, returning 'undefined' 2010-01-23 23:30:55 -05:00
Jeremy Ashkenas
9160500e84 removing 'this' rewriting in favor of correctly calling generated closures 2010-01-23 21:11:27 -05:00
Jeremy Ashkenas
f6c8e81ea6 the existential operator can now be used infix as well 2010-01-16 23:03:54 -05:00
Jeremy Ashkenas
95b362499f added the conditional existence operator 2010-01-16 22:17:55 -05:00
Jeremy Ashkenas
8957feedb4 expression closure wrappers are now safer -- they won't be generated if there's a statement_only inside 2010-01-16 12:10:31 -05:00
Jeremy Ashkenas
1cd7fa8ebe added children macro to Node, using it so that all nodes now have a 'children' method -- used for safe references to 'this' within closure wrappers 2010-01-16 11:24:10 -05:00
Jeremy Ashkenas
bb9fdd3015 while loops can now be used as expressions -- they return an array containing the computed result of each iteration. 2010-01-13 21:27:22 -05:00
Jeremy Ashkenas
1e7d638435 adding bound functions, with test 2010-01-13 20:59:57 -05:00
Jeremy Ashkenas
0ceca0778c adding when clauses with multiple values 2010-01-13 19:56:35 -05:00
Jeremy Ashkenas
abd9ab5c71 unified ParamSplatNode and ArgSplatNode into SplatNode 2010-01-12 23:49:47 -05:00
Jeremy Ashkenas
914ba1c244 removing commented-out bit 2010-01-12 18:01:12 -05:00
Jeremy Ashkenas
844ea33274 mistaken commit 2010-01-12 17:45:06 -05:00
Jeremy Ashkenas
87e04e9952 nicer syntax error messages for newlines and indentation 2010-01-12 17:44:37 -05:00
Jeremy Ashkenas
cfa357cbc3 CoffeeScript 0.2.3, with 'of', not 'ino' 2010-01-11 00:01:16 -05:00
Jeremy Ashkenas
ad18378f7e adding '::' as shorthand for '.prototype.' 2010-01-10 16:16:59 -05:00
Jeremy Ashkenas
902febb43a big commit -- adding back object comprehensions, using 'ino', versus 'in' for array comprehensions, fixing bug with dollar signs in identifiers 2010-01-10 15:52:23 -05:00
Jeremy Ashkenas
8e3922b6c6 allowing comments in the middle of switch statements 2010-01-09 13:25:44 -05:00
Jeremy Ashkenas
ae58e2ec6c adding body-less while expressions 2010-01-09 11:51:32 -05:00
Jeremy Ashkenas
fbcdc12a9c adding empty return statements -- they return null 2010-01-06 21:21:42 -05:00
Jeremy Ashkenas
de49465dc6 comments 2010-01-06 01:27:58 -05:00
Jeremy Ashkenas
4fc40e4841 adding the 'in' operator 2010-01-05 23:29:43 -05:00
Jeremy Ashkenas
001e42b85c fixing range literals by making them values, not expressions, and adding tests 2010-01-05 22:49:51 -05:00
Jeremy Ashkenas
c2bb93b5f8 ellipsis is the new splat 2010-01-05 21:40:36 -05:00
Jeremy Ashkenas
5fe419b1ce automatic conversion of arguments into arrays 2010-01-05 09:10:45 -05:00
Jeremy Ashkenas
ae603749be adding the complete underscore.coffee example to the docs 2010-01-04 22:51:02 -05:00
Jeremy Ashkenas
6e63a18f86 first pass at 0.2.0 docs 2010-01-04 22:19:45 -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
3724778989 lowering the precedence of if/else/while 2010-01-03 18:11:53 -05:00
Jeremy Ashkenas
099944e0aa All execution tests are now passing with statements everywhere 2010-01-03 15:59:33 -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
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
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
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
a93a570603 allowing indentation within function calls 2010-01-01 10:38:28 -05:00
Jeremy Ashkenas
caf9d627cb allowing expressions within range literals 2010-01-01 10:15:22 -05:00
Jeremy Ashkenas
409283a30f adding splats as arguments to function calls 2009-12-31 19:52:13 -05:00
Jeremy Ashkenas
1d2bb3b2be adding splats to function definitions 2009-12-31 17:50:12 -05:00
Jeremy Ashkenas
dba8439425 the underscore example parses now -- added line number information to parenthetical nodes 2009-12-30 21:44:51 -05:00
Jeremy Ashkenas
cd68f02981 big milestone. examples/code.coffee now compiles correctly under the new whitespace regime 2009-12-30 18:59:33 -05:00
Jeremy Ashkenas
62c51006a1 removed the final shift/reduce errors -- back to zero for the first time in a long time 2009-12-30 17:45:47 -05:00
Jeremy Ashkenas
9a946d2ac5 execution tests still pass -- more lexer block insertion and 2 shift/reduces in the grammar now 2009-12-30 15:52:07 -05:00
Jeremy Ashkenas
f93e552cb3 fixin up narwhal factory and adding more implicit blocks to the lexer 2009-12-30 14:32:59 -05:00
Jeremy Ashkenas
6ddd808f74 removing dots from whitespace examples 2009-12-30 00:22:27 -05:00
Jeremy Ashkenas
541291e2f3 whitespace parser down to 4 shift/reduce errors -- good enough for me 2009-12-29 21:46:15 -05:00