Jeremy Ashkenas
|
38520bfece
|
rebuilding narwhal uncovered a bug with named functions
|
2010-01-01 22:00:34 -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
|
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
|
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
|
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
|
7ec91a1ee5
|
enabling multi-line array and object comprehensions
|
2009-12-31 16:09:27 -05:00 |
|
Jeremy Ashkenas
|
07d0044718
|
using push for comprehension results so that it works with object keys, and adding a test for object comprehensions
|
2009-12-31 15:03:32 -05:00 |
|
Jeremy Ashkenas
|
00538bd62c
|
adding weepy's suggestion to use (for .. in) for array comprehensions, which means that they're now object comprehensions as well
|
2009-12-31 14:52:14 -05:00 |
|
Jeremy Ashkenas
|
e481a39a0d
|
making all functions named functions, if children of an immediate assignment
|
2009-12-30 23:13:22 -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
|
c8711b419e
|
fixed up the comment/assignment interleaving in nodes.rb
|
2009-12-30 20:24:24 -05:00 |
|
Jeremy Ashkenas
|
dc821f2e4c
|
be more vigorous about removing mid-expression newlines, 'when' closes implicit blocks, a better comment-detecting regex lexer that doesn't eat outdents
|
2009-12-30 19:26:37 -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
|
f93e552cb3
|
fixin up narwhal factory and adding more implicit blocks to the lexer
|
2009-12-30 14:32:59 -05:00 |
|
Jeremy Ashkenas
|
ea58be2838
|
patched up lexer to add indentation to single-line flavors of statements -- let's expand this idea
|
2009-12-30 13:58:00 -05:00 |
|
Jeremy Ashkenas
|
ce0e71f796
|
fixing the double-printing bug with coffee -r
|
2009-12-30 13:34:25 -05:00 |
|
Jeremy Ashkenas
|
aa45456d7d
|
part of the way to supporting multiline array comprehensions -- the grammar and parsing is there -- the code generation is tricky
|
2009-12-27 21:50:02 -08:00 |
|
Jeremy Ashkenas
|
3ee4e98ccc
|
more underscore and bugfix edits to code generation
|
2009-12-26 22:24:21 -08:00 |
|
Jeremy Ashkenas
|
d7dd18b476
|
more underscore, and removing custom_assign and return from conditional compilation
|
2009-12-26 21:55:56 -08:00 |
|
Jeremy Ashkenas
|
eeef8d3612
|
got negative ranges working with (much, much) uglier compiled code
|
2009-12-26 20:35:43 -08:00 |
|
Jeremy Ashkenas
|
694833dbd0
|
removing no_paren -- it was optimizing away order of operations
|
2009-12-26 11:55:34 -08:00 |
|
Jeremy Ashkenas
|
3c67d54bbe
|
changed bin/coffee-script to bin/coffee
|
2009-12-26 08:57:13 -08:00 |
|
Jeremy Ashkenas
|
6a30d48ced
|
fixed range comprehension indexing
|
2009-12-26 00:27:49 -08:00 |
|
Jeremy Ashkenas
|
ff78546465
|
added array comprehensions over ranges
|
2009-12-26 00:16:40 -08:00 |
|
Jeremy Ashkenas
|
adaae0ccae
|
major internal reworking -- all variable declarations have been pushed up to the first line of the block scope -- all assignment is now an inherent expression
|
2009-12-25 22:57:33 -08:00 |
|
Jeremy Ashkenas
|
7c132d65dc
|
started raising syntax errors for parens wrapped around expressions (they used to silently be ignored)
|
2009-12-25 20:36:22 -08:00 |
|
Jeremy Ashkenas
|
52700ca922
|
comment
|
2009-12-25 19:34:40 -08:00 |
|
Jeremy Ashkenas
|
1ba7c77136
|
reorganizing test fixtures and adding range literals for array slices
|
2009-12-25 16:20:28 -08:00 |
|
Jeremy Ashkenas
|
d46bf8ee71
|
moved the coffeescript extension over from .cs to .coffee -- let's leave C# in peace. Changed array comprehensions to always return their mapped result, even when unassigned
|
2009-12-25 14:18:05 -08:00 |
|
Jeremy Ashkenas
|
e494d520ea
|
stopped using __proto__, instead, using a variant of goog.inherits for extends and super()
|
2009-12-25 13:57:47 -08:00 |
|
Jeremy Ashkenas
|
55bf0a2c61
|
going back to familiar operators +: is just too strange
|
2009-12-25 07:31:51 -08:00 |
|
Jeremy Ashkenas
|
2d57ee693b
|
the narwhal integration written in JavaScript has been replaced with CoffeeScript, and compiler-generated variable names now start with '__'
|
2009-12-24 23:09:24 -08:00 |
|
Jeremy Ashkenas
|
beae912a91
|
making all assignment-y operators use a colon -- now it's +: -: *: /:, and friends
|
2009-12-24 22:25:29 -08:00 |
|
Jeremy Ashkenas
|
9b2326492b
|
the --no-wrap option now disables top-level var declarations
|
2009-12-24 17:37:24 -08:00 |
|
Jeremy Ashkenas
|
985e0a080b
|
trading aint for isnt -- let's be serious
|
2009-12-24 17:21:20 -08:00 |
|
Jeremy Ashkenas
|
1c83e68292
|
got extends back in the language -- use it together with super
|
2009-12-24 16:49:23 -08:00 |
|
Jeremy Ashkenas
|
47812d9ea6
|
fixing super() calls, thanks to tolmasky
|
2009-12-24 16:23:23 -08:00 |
|
Jeremy Ashkenas
|
e27756cee8
|
with a working -n --no-wrap option to disable the top-level function safety wrapper
|
2009-12-24 15:31:00 -08:00 |
|
Jeremy Ashkenas
|
7f502543d2
|
added the typeof operater as an OpNode
|
2009-12-24 11:50:44 -08:00 |
|
Jeremy Ashkenas
|
8d76f4bd3f
|
changing switch/case to switch/when -- it's a better word
|
2009-12-24 01:33:59 -08:00 |
|
Jeremy Ashkenas
|
fb13a303f2
|
with a more comprehensive execution test that uncovered some missing spots
|
2009-12-24 00:41:12 -08:00 |
|
Jeremy Ashkenas
|
b743e3219a
|
added some execution test
|
2009-12-24 00:12:07 -08:00 |
|
Jeremy Ashkenas
|
705b293982
|
first draft of docs are done
|
2009-12-23 23:01:39 -08:00 |
|
Jeremy Ashkenas
|
5f9a190683
|
...
|
2009-12-23 20:57:35 -05:00 |
|