Jeremy Ashkenas
065bf54094
generated closures should only call() or apply() when necessary.
2010-04-10 14:40:05 -04:00
Jeremy Ashkenas
f36acc27e5
safely preserving the arguments object through generated closure wrappers.
2010-04-10 14:20:32 -04:00
Chris Lloyd
19ed63129e
Interpolated strings are expressions.
2010-04-04 17:05:52 +10:00
Jeremy Ashkenas
ad1c5e1884
merging non-func-constructor-fix, but a little more forgiving.
2010-04-03 14:53:26 -04:00
Stan Angeloff
9958cedd89
Throwing proper error when "constructor" is not a function within a class body.
2010-04-03 21:43:42 +03:00
Jeremy Ashkenas
44765907b3
tiny tweak
2010-04-03 11:16:49 -04:00
Jeremy Ashkenas
3605168e85
fixing single evaluation of functions used in chained comparisons wrapped in parentheses.
2010-03-31 22:48:47 -04:00
Jeremy Ashkenas
aae2405de4
removing all of the 'type' tags from the Nodes. Simply using constructor.name instead.
2010-03-31 00:04:14 -04:00
Jeremy Ashkenas
f9b028b78c
__extend back to __extends, as is the correct name.
2010-03-30 20:15:51 -04:00
Jeremy Ashkenas
864275f07e
removing __range, and all the slice behavior it enabled. If you can't do array[-1], then you shouldn't be able to do array[0..-1] -- it's just too inconsistent.
2010-03-30 20:06:44 -04:00
Jeremy Ashkenas
998a7c8cb0
more cleanups, added a utility helper function to the codegen
2010-03-30 19:48:37 -04:00
Jeremy Ashkenas
6d7a04228f
another reshuffle ... removed utilities.coffee entirely.
2010-03-30 19:42:09 -04:00
Jeremy Ashkenas
4a8c2e8a13
more refactors to utilities ... removing dependencies and the namespacing
2010-03-30 19:27:38 -04:00
Jeremy Ashkenas
4936211a9c
modified shorter imlementation of bind
2010-03-30 18:49:55 -04:00
Jeremy Ashkenas
f0d731009f
merged matehat's utility branch, arraySlice -> slice, removed dead dependency...
2010-03-30 18:27:53 -04:00
matehat
c498b7090e
Removed __splice in the same manner
2010-03-30 18:14:51 -04:00
matehat
ca9e45e8af
Removed the __slice method, in favor of the native array slice method
2010-03-30 17:57:23 -04:00
matehat
97096696a2
Put back every utility functions on the global scope, automatically prefixed with __ and set them dynamically as reserved on the lexer.
2010-03-30 16:48:43 -04:00
matehat
27fb3763b4
A set of improvements on previous code
2010-03-30 16:14:07 -04:00
matehat
da43c70488
Merged in StanAngeloff excellent slice branch, applying recent factoring of utility functions
2010-03-30 15:43:30 -04:00
Stan Angeloff
09e1526bca
Removing commented code in compile_splice -- this is working correctly now.
2010-03-30 14:33:57 -04:00
Stan Angeloff
7d1fbeb708
Re-compiling the core using the new __slice and __splice functions.
2010-03-30 14:32:37 -04:00
Stan Angeloff
15217c705e
Allowing for negative indices in slice literals.
2010-03-30 14:30:15 -04:00
matehat
9f108e87eb
Removed unused __hasProp assignment and declared Coffeescript a reserved name
2010-03-30 11:20:53 -04:00
matehat
241f6f3068
Applied the utility factoring into a "Coffeescript" object to the core. All tests pass fast.
2010-03-30 09:02:51 -04:00
Jeremy Ashkenas
326656245a
using the new static properties of class definitions in the CoffeeScript compiler -- it's hardly used.
2010-03-29 21:49:20 -04:00
Jeremy Ashkenas
177ec92c39
adding class methods to class definition syntax, using '@'
2010-03-29 21:43:12 -04:00
Jeremy Ashkenas
7de5253318
removing unused reserved variable 'source var' from range comprehensions
2010-03-27 16:04:47 -04:00
Jeremy Ashkenas
eaf4a71d32
Revert "Added Unix-like piping. Allows chaining of function calls where every succeeding call receives as first argument the result of all preceding expressions."
...
This reverts commit 7ee10e06be .
2010-03-27 15:25:34 -04:00
Jeremy Ashkenas
4dd40034ed
Revert "removing the special case for | or"
...
This reverts commit 9763839ed1 .
2010-03-27 15:25:27 -04:00
Jeremy Ashkenas
030476d335
Revert "typo for @compile_bitwise_or"
...
This reverts commit 45aae5e322 .
2010-03-27 15:25:19 -04:00
Jeremy Ashkenas
45aae5e322
typo for @compile_bitwise_or
2010-03-27 12:13:24 -04:00
Jeremy Ashkenas
9763839ed1
removing the special case for | or
2010-03-27 10:28:08 -04:00
Stan Angeloff
7ee10e06be
Added Unix-like piping. Allows chaining of function calls where every succeeding call receives as first argument the result of all preceding expressions.
2010-03-27 15:49:33 +02:00
Jeremy Ashkenas
ecd1c77f48
fixing explicit returns of comprehensions (and probably other things as well)
2010-03-25 18:51:24 -04:00
Jeremy Ashkenas
590c069158
CoffeeScript 0.5.6
2010-03-23 00:18:50 -04:00
matehat
74bcd898e7
improving readability a bit
2010-03-22 02:02:04 -04:00
matehat
296808d4d3
Added splats positional flexibility to pattern matching
2010-03-22 01:52:47 -04:00
Jeremy Ashkenas
4f8ae3ccbe
one more step
2010-03-21 21:46:53 -04:00
Jeremy Ashkenas
ddf18ae34c
nothing much
2010-03-21 21:26:12 -04:00
Jeremy Ashkenas
80230414a2
merging in gfxmonk's major refactor to the way that returns are pushed down into the interior of expressions
2010-03-21 11:28:05 -04:00
Jeremy Ashkenas
4ec79732f1
merging gfxmonk's cleanups
2010-03-21 10:11:02 -04:00
gfxmonk
cc3c314988
Cleaned up return logic
...
- ReturnNodes are explicitly added during compilation
- ReturnNode is used instead of scattering "return" throughout
code compilation snippets
- nodes gain a make_return method in order to do the most useful
thing when a return is requested
2010-03-21 22:21:55 +11:00
Jeremy Ashkenas
566321d67a
fixing infinite recursion when compiling if statements containing pure_statements
2010-03-20 10:36:06 -04:00
Jeremy Ashkenas
92688c89ef
merging in matehat's nice refactor to splats (in arrays and otherwise)
2010-03-19 22:41:23 -04:00
matehat
fe04f8ce6b
Added function call's flexibility with splats to array literals, factoring out splat compiling, and adjusted tests
2010-03-18 09:31:40 -04:00
Jeremy Ashkenas
b72641693d
fixing doubled semis
2010-03-18 08:45:26 -04:00
Jeremy Ashkenas
0c6ee52cfc
merging in matehat's curry branch. cleaning some loose ends up. adding some tests.
2010-03-18 00:42:26 -04:00
matehat
1f87094628
Slightly altered syntax, similar to Underscore's Function#bind form, highly simplified lexing and parsing and no polluted scope. Passing tests included.
2010-03-18 00:19:32 -04:00
matehat
3b22018296
Applied the new splat flexibility to function currying operator
2010-03-18 00:08:34 -04:00