Jeremy Ashkenas
|
4609ad78c2
|
added the first chapter of beautiful code as a coffeescript example
|
2010-01-17 15:36:46 -05:00 |
|
Jeremy Ashkenas
|
8e1f3c0eca
|
generating multiple calls to the same function should use compile_double_reference to ensure a single evaluation of the call itself.
|
2010-01-17 14:23:41 -05:00 |
|
Jeremy Ashkenas
|
c4d0903e6a
|
fixing assignment-in-condition
|
2010-01-17 10:40:59 -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
|
0bc4da2b51
|
ensure that functions are only called once, when chaining comparators
|
2010-01-16 22:04:08 -05:00 |
|
Jeremy Ashkenas
|
9cb0564972
|
added Python's chainable comparisons, like: 10 > 5 > 1
|
2010-01-16 16:37:49 -05:00 |
|
Jeremy Ashkenas
|
c6c0c7d059
|
simplification of function and prototype naming -- last_assign, immediate_assign, and proto_assign are gone, in favor of 'name' and 'proto' properties on CodeNodes
|
2010-01-16 15:44:07 -05:00 |
|
Jeremy Ashkenas
|
62e946b8ce
|
purely empty functions at the top level should be wrapped in parens, so as not to cause a JS syntax error
|
2010-01-16 15:02:04 -05:00 |
|
Jeremy Ashkenas
|
9eff443032
|
arguments no longer is just a find-and-replace -- it'll fix the arguments variable at the top of scope if you use it in a function body
|
2010-01-16 12:52:26 -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
|
ed8a54995d
|
with splats allowed in destructuring assignment
|
2010-01-13 22:25:58 -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
|
f0d5db7e66
|
fixing heredocs to use the left-most indent as the indentation guide -- not just the first line of the heredoc
|
2010-01-12 23:06:12 -05:00 |
|
Jeremy Ashkenas
|
c19647ad33
|
adding and fixing test for empty strings
|
2010-01-12 08:52:44 -05:00 |
|
Jeremy Ashkenas
|
c8d505e85d
|
heredoc docs
|
2010-01-12 00:00:38 -05:00 |
|
Jeremy Ashkenas
|
477c510345
|
adding heredocs, with tests
|
2010-01-11 23:53:50 -05:00 |
|
Jeremy Ashkenas
|
5e1e949bf6
|
a passing test for destructuring assignment (it needs a better name)
|
2010-01-11 22:04:25 -05:00 |
|
Jeremy Ashkenas
|
9cc7d6af27
|
little lexer tweak
|
2010-01-11 08:46:50 -05:00 |
|
Jeremy Ashkenas
|
cfa357cbc3
|
CoffeeScript 0.2.3, with 'of', not 'ino'
|
2010-01-11 00:01:16 -05:00 |
|
Jeremy Ashkenas
|
d1ddeacbe3
|
more refactors to nodes
|
2010-01-10 22:35:55 -05:00 |
|
Jeremy Ashkenas
|
24408c785a
|
caught a close call bug with object comprehensions and not specifying the value
|
2010-01-10 17:44:19 -05:00 |
|
Jeremy Ashkenas
|
bb5bf7f94f
|
more docs, more tests
|
2010-01-10 17:36:06 -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
|
13fc8aea04
|
removing object comprehensions from CoffeeScript, they were necessitating the generation of too much ugly JS
|
2010-01-10 14:45:44 -05:00 |
|
Jeremy Ashkenas
|
8e3922b6c6
|
allowing comments in the middle of switch statements
|
2010-01-09 13:25:44 -05:00 |
|
Jeremy Ashkenas
|
2319affa61
|
allowing chained calls broken up over multiple lines with periods at the front (jQuery-style)
|
2010-01-09 12:12:38 -05:00 |
|
Jeremy Ashkenas
|
7befbddae2
|
adding test for body-less while, using null as the body so JSLint doesn't get in a tizzy
|
2010-01-09 11:58:50 -05:00 |
|
Jeremy Ashkenas
|
4c3f00cf77
|
fixing calling super from constructors
|
2010-01-08 10:54:44 -05:00 |
|
Jeremy Ashkenas
|
c70b6f39b1
|
weepy's new speedy comprehensions
|
2010-01-07 20:27:26 -05:00 |
|
Jeremy Ashkenas
|
9ed8020b84
|
added the constructor fix for capitalized functions
|
2010-01-06 23:34:56 -05:00 |
|
Jeremy Ashkenas
|
cf7079a379
|
fixing the lexer to handle strings that end with a backslash character
|
2010-01-06 23:15:13 -05:00 |
|
Jeremy Ashkenas
|
fbcdc12a9c
|
adding empty return statements -- they return null
|
2010-01-06 21:21:42 -05:00 |
|
Jeremy Ashkenas
|
4fc40e4841
|
adding the 'in' operator
|
2010-01-05 23:29:43 -05:00 |
|
Jeremy Ashkenas
|
0275e7775f
|
fixing weepy's comment scenario
|
2010-01-05 23:15:32 -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
|
2c1033f5da
|
removed the whole messy notions of looking downwards for returns or children -- ForNodes now peek at top-level status, and if they're being asked to return a value from the outside
|
2010-01-04 18:57:10 -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
|
6160fe3c17
|
beautiful -- all examples, tests, and docs are now compiling without JSLint warnings
|
2010-01-03 16:32:59 -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
|
7ee5be674d
|
adding splice literals, with tests
|
2010-01-02 00:20:24 -05:00 |
|