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
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
matehat
5be437deb9
Added some inline docs
2010-03-18 00:08:34 -04:00
matehat
8d098194dd
Added the '<-' currying operator, as heavily discussed in #251 , along with tests.
2010-03-18 00:08:34 -04:00
matehat
256525bfa2
Fixed a small bug about flexible splats that occured when the leading array was a literal
2010-03-18 00:08:05 -04:00
Jeremy Ashkenas
884637468e
fixing off-by-one error in compile_splat_arguments
2010-03-17 22:07:11 -04:00
Jeremy Ashkenas
6fd7810d89
can't use indexing[] into strings cross-browser, use substr() instead.
2010-03-17 21:41:00 -04:00
matehat
7129f518a4
Added the ability for function declaration to have a splat at an arbitrary position, not just at the end. Still restrict their number to 1. Adjusted tests accordingly.
2010-03-17 15:00:19 -04:00
matehat
fa6f1c2fb1
Fixed a tiny slicing bug
2010-03-17 15:00:19 -04:00
matehat
2bd1c3acca
Added the ability to put as many splats in a function call as one wants. Also optimized the assembly into static arrays. Adjusted tests accordingly.
2010-03-17 15:00:19 -04:00
Jeremy Ashkenas
70cfc9500e
pushing docs to the site
2010-03-16 23:18:54 -04:00
Jeremy Ashkenas
3aeb8c6bdb
moving the contains-a-pure-statement-means-no-closure logic into ClosureNode.wrap itself.
2010-03-15 22:27:31 -07:00
Jeremy Ashkenas
745c635a55
fixing issue with break statements and for loops and closures and the value of 'this'
2010-03-15 22:20:29 -07:00
gfxmonk
b269884f8d
fixed non-recursive traverse() for CodeNode
2010-03-15 22:03:54 -07:00
Jeremy Ashkenas
73074daa07
removing arguments-to-array-conversion from coffee
2010-03-15 20:46:14 -07:00
Jeremy Ashkenas
119b80d449
removing fiddling with require.paths from CoffeeScript
2010-03-15 20:39:46 -07:00
Jeremy Ashkenas
60b3103314
using granular helper imports, for nicer within.
2010-03-14 14:58:32 -07:00
Jeremy Ashkenas
75ffb9dc84
stop mixing in helpers (t(ticket #250 ) -- with a test
2010-03-14 14:48:43 -07:00
gfxmonk
5809a1637f
fixed non-recursive traverse() for CodeNode
2010-03-14 00:05:51 +11:00
Jeremy Ashkenas
3c597dde72
no need to save the lookups
2010-03-10 22:32:00 -05:00
Jeremy Ashkenas
0379431812
tweaks
2010-03-10 21:53:33 -05:00
Jeremy Ashkenas
3f9fd85afb
removing the unused CallNode#push
2010-03-10 20:53:31 -05:00
Jeremy Ashkenas
7b0a235c71
removing the nearly-unused notion of 'operation sensitive'
2010-03-10 20:19:32 -05:00
Jeremy Ashkenas
f2d0aee656
added Stan's fix for try/finally without catch
2010-03-10 16:27:30 -05:00
Jeremy Ashkenas
3d14d362a8
first draft of CoffeeScript language extensions.
2010-03-09 23:04:16 -05:00
Jeremy Ashkenas
b297510d2b
big refactor -- pulled all helper functions into helpers.coffee to facilitate sharing.
2010-03-09 21:24:30 -05:00
Stan Angeloff
81af8f296e
Regular expression interpolations; fixed bug in string interpolations when all tokens were identifiers.
2010-03-08 20:06:51 +02:00
Jeremy Ashkenas
b0aec3cbe2
Finishing off the docs for nodes.coffee -- almost ready to roll.
2010-03-08 05:42:57 -05:00
Jeremy Ashkenas
5f5e0634dd
making ThrowNode not a pure_statement -- it can jump out of the closure just fine
2010-03-08 05:19:48 -05:00
Jeremy Ashkenas
6d74e223be
waypoint -- documented down to the ThrowNode
2010-03-08 04:58:39 -05:00
Jeremy Ashkenas
532464f7ae
waypoint -- docs halfway down through the OpNode
2010-03-07 22:47:34 -05:00
Jeremy Ashkenas
71ace9d8d0
allowing naked interpolation of dotted properties. .property
2010-03-07 22:26:25 -05:00
Jeremy Ashkenas
a3e1693a75
waypoint -- docc'd down to the SplatNode
2010-03-07 19:07:37 -05:00
Jeremy Ashkenas
c6d7a27848
waypoint on the documentation -- almost halfway through the nodes
2010-03-07 17:31:39 -05:00
Jeremy Ashkenas
094b198d5d
first little bit of commenting the nodes.coffee -- with some slight refactors
2010-03-07 16:41:06 -05:00
Jeremy Ashkenas
18e5f72a84
done converting nodes.coffee code generation to use string interpolation where appropriate
2010-03-06 00:23:54 -05:00
Jeremy Ashkenas
b4ea43cbd0
waypoint -- starting to implement nodes.coffee with interpolations, and fixing/shortening/combining the lexer implementation to allow identifier interpolations to be interleaved with expression interps
2010-03-05 22:52:28 -05:00
Jeremy Ashkenas
fec2eaef7e
removing the (now-unused) inherits helper, and adding a helper for creating LiteralNodes
2010-02-28 00:22:06 -05:00
Jeremy Ashkenas
56eb474bf3
If you don't specify a constructor, one will be provided for you by the state.
2010-02-28 00:13:17 -05:00
Jeremy Ashkenas
9f46c306e5
super is now possible in nodes/Expressions, where it wasn't possible before.
2010-02-27 19:42:10 -05:00
Jeremy Ashkenas
d2cb1f321e
making sure that the body of extends only gets defined once per file.
2010-02-27 19:29:34 -05:00
Jeremy Ashkenas
8f871a8218
converting the nodes.coffee AST to use the new class system
2010-02-27 19:19:53 -05:00
Jeremy Ashkenas
4ec7514d10
making inner comments work within class definitions
2010-02-27 19:03:23 -05:00
Jeremy Ashkenas
1c7e4c4203
first draft of adding classes to CoffeeScript
2010-02-27 18:57:45 -05:00
Jeremy Ashkenas
7d39fe1c56
fixing multiple evaluation of splat sources, when it's an invoked function
2010-02-27 15:15:26 -05:00