Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also .

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also .
...
Commits on Feb 08, 2010
@jashkenas allowing numbers to be used as object keys 78a4974
@jashkenas bumping up the existential operator to the highest precedence level 135620b
Commits on Feb 09, 2010
@jashkenas nodes.coffee is continuing to roll along -- maybe a tenth implemented aabfba9
@jashkenas trying out a new organizational scheme, with a quickie 'inherits' hel…
…per function
69808ba
@jashkenas finished up the CoffeeScript version of the Scope object b8d22bc
@jashkenas removed an old now-impossible branch of execution from ReturnNode d5c9816
@jashkenas CoffeeScript-in-CoffeeScript just had it's first self-compiled snippet. 0b5b611
@jashkenas CoffeeScript-in-CoffeeScript is compiling function calls 210d673
@jashkenas CoffeeScript-in-CoffeeScript is now able to compile subClass extends …
…superClass
32098e5
@jashkenas CoffeeScript-in-CoffeeScript can compile dotted accessors cb57a1c
@jashkenas CoffeeScript-in-CoffeeScript can compile object[indexes] 863de88
@jashkenas CoffeeScript-in-CoffeeScript can compile @property references. 522df2a
@jashkenas removing the constructor safety check -- it wasn't safe enough (Issue…
… 36)
c6a6788
@jashkenas upgrading the test harness a451e90
Commits on Feb 10, 2010
@jashkenas Self-compiler: array slice literals. 91a7102
@jashkenas Self-compiler: object literals. 001c915
@jashkenas Self-compiler: array literals c466537
@jashkenas Self-compiler: can now compile functions. ae4f630
@jashkenas Self-compiler can compile splats. fd80d78
@jashkenas Self-compiler: now does while loops 8e3e06a
@jashkenas raising the precedence level of delete, instanceof, and typeof 9339058
@jashkenas got about as far as I think I can with operator nodes for now, withou…
…t zach's optimizations
76dac9c
@jashkenas self-compiler: handles try/catch/finally blocks 4e7408d
Commits on Feb 11, 2010
@jashkenas self-compiler handles throws, the existential operator, and parenthet…
…icals.
0c2a13b
@jashkenas now self-compiling array/object/range comprehensions. 13d3b3a
@jashkenas and now with if/else statements, CoffeeScript-in-CoffeeScript is lang…
…uage-complete -- now for the shakedown cruise
38e1991
@jashkenas It's beginning to come alive. f761c25
@jashkenas things are in motion -- bin/node_coffee is the new JS-only command li…
…ne ... it can pass some of the tests
872b36c
@jashkenas done for now 713f6f3
@jashkenas uncomment test e883a55
@jashkenas still not there e19b67c
@jashkenas disabling traces in the jison parser fixes the performance problems -…
…- ahh, much better
a379530
@jashkenas got pattern matching working 98f15d0
Commits on Feb 12, 2010
@jashkenas self-compiling pattern matching correctly 38d1381
@jashkenas self-compiling ranges and expressions 950d119
@jashkenas added the ability to print the parse tree 7c01bba
@jashkenas waypoint -- jison has a reverse order of operations from yacc 13c49ad
@jashkenas updated to latest jison, rebuilt parser df386a3
@jashkenas empty functions are legal code 04f07f4
@jashkenas test_functions.coffee compiles and runs successfully. 12685aa
@jashkenas test_operations.coffee is now compiling successfully 1e74805
@jashkenas fixed heredoc lexing regex for JS, now passing test_heredocs.coffee 2926759
@jashkenas upgrading to latest jison, rebuilding the parser fd8b540
@jashkenas Revert "upgrading to latest jison, rebuilding the parser"
This reverts commit fd8b540.
3f765c3
@jashkenas recompiling with latest jison (modified) and passing codenode generation 12859e5
@jashkenas range comprehensions are working smooth c0f9058
@jashkenas Array comprehensions are alive and well on the self-compiler e2ad119
@jashkenas correctly self-compiling @references dbcb9df
@jashkenas self-compiling the existential operator 61a7f7a
@jashkenas self-compiling closures as expressions 156a0b1
@jashkenas self-compiling switch statements 1a6194e
@jashkenas passing the funky comment test 4deabf5
@jashkenas self-compiling the arguments test 19c44c9
@jashkenas little further d61aaf3
Commits on Feb 13, 2010
@jashkenas waypoint ... somethings still a little off with the parser 207ec81
@jashkenas safer lexing at the start of the files b21780b
@jashkenas safer lexing for ruby, too b361962
@jashkenas fixing if/else rules 249bd99
@jashkenas fix prototype_access lexing e2f3c22
@jashkenas Happy Birthday, CoffeeScript-in-CoffeeScript, you just passed the ent…
…ire test suite.
1552470
@jashkenas adding the ability to write out compiled coffeescript to the command …
…line
e02bedc
@jashkenas added coffee --lint to the self-compiler's resume d9fba94
@jashkenas typo ee1c9b2
@jashkenas one more bit to pass -- futzing with the if/else chains 066ee52
@jashkenas Revert "one more bit to pass -- futzing with the if/else chains"
This reverts commit 066ee52.
094c268
@jashkenas pulling the lexer and rewriter updates without the grammar change c9aeae7
@jashkenas fixing object/comment printing dc9cec2
@jashkenas alright, really fixing the comments this time 0f26072
@jashkenas finally, think we have this if/else/if/else/else thing licke 3dc4565
@jashkenas use parseInt to make octal numbers to keep JSLint happy 126f6c2
@jashkenas The moment of truth: CoffeeScript has now compiled itself ten times o…
…ver.
b965fcf
@jashkenas adding an if/else/chain test 506ea8a
@jashkenas updating underscore.coffee to 0.5.8 89cac40
@jashkenas moving Underscore.coffee from /examples to /src b983b3f
@jashkenas fixing the lexer for indented files e6a53bd
@jashkenas Using underscore for an any() function. 1ab3b18
@jashkenas using Underscore's compact in the code generation, insstead of our ho…
…me-rolled one.
2c4c4cc
@jashkenas using underscore's clone() for code generation 8c077f0
@jashkenas Use _.extend instead of the hand-rolled merge dd6be80
@jashkenas use Underscore's flatten -- start to make a nicer tree printer a62923f
@jashkenas subtle bug in the order of the rewriter rules was causing some if/els…
…e chains to get confused by implicit indentation
13b2dc8
@jashkenas recording else_body as a child of IfNode, when added after the face 785c4fb
@jashkenas after correctly recording objectnode's children, bin/node_coffee --tr…
…ee is working pretty nicely
8147ef5
@jashkenas nicer --tree printing, with values inlines to the right 4bad3e0
@jashkenas Nicer-looking --tokenize, more in line with what Ruby's doing 02ac3ed
@jashkenas display the usage message when called without arguments 7d348b5
@jashkenas don't make the command-line so OOP-y -- it's just a script b224d58
@jashkenas got the CoffeeScript-in-CoffeeScript REPL running, and boy is she fast c88b1f6
@jashkenas add a -- to let us parse our own flags 79bb0da
@jashkenas got coffeescript compiling in the browser a90bf75
@jashkenas working 'Try CoffeeScript' in the docs 844c756
@jashkenas the improved error messages are still-to-be-improved 97fd126
@jashkenas updating Jison ecfa212
Commits on Feb 14, 2010
@jashkenas that's max-height c39c2e3
@jashkenas enabling the --eval option for the self-compiler 9de729e
@jashkenas removing the vendored optparse in favor of a pure-coffeescript optpar…
…se library
e77f4f6
@jashkenas rename the repl id to try_coffe 20d105b
@jashkenas update the highlighted underscore to 0.5.8 06677b0
@jashkenas updated the rewriter to use @prop instead of this.prop -- compiled JS…
… doesn't change
e110042
@jashkenas implementing grayrest's suggested cleanup for object comprehensions 7667e16
Commits on Feb 15, 2010
@jashkenas fixing long-flag-with-optional-part in optparse.coffee, and hiding bi…
…n/node_coffee --watch until we implement it
3e518e3
@jashkenas added hugs' webserver example ff8e0c9
@jashkenas updating the readme with a warning about the self-compiler 3092d74
@jashkenas adding a note to the docs about colon/equals equality ba7a454
@jashkenas whoops, screwed up the definition order in the inheritance example 3f6ecea
@jashkenas fixing allowing empty functions like () -> e7291f5
@jashkenas moving print_tokens into the actual coffee-script module, so we can u…
…se it separately from the command-line
9c3040b
@jashkenas updating docs with #coffeescript channel 8b1b3ea
Commits on Feb 16, 2010
@jashkenas updating for Node.js' change from 'posix' to 'fs' 639be2f
@jashkenas adding paren wrappers for property accesses directly on object literals 63c2b2b
@jashkenas print_tokens should acutally, y'know, print 48c501a
@jashkenas switched from alphabetical __a __b temporary variables, to numeric _1…
…, _2, which will be shorter in most cases
4ea8be8
@jashkenas fixed the while-loop-condition-with-implicit-function-call bug fa63288
@olsonjeffery olsonjeffery adding updated coffee.vim syntax file 85e5dff
@jashkenas beginnings of a build script 2f389f1
@jashkenas allowing keywords as identifiers, when used as identifiers, because w…
…e've got more keywords than JavaScript does.
a3c8c0b
@jashkenas use a temp var for range expansion, instead of 'i' 79fa472
@jashkenas fixing an overzealous access in the rewriter 51e8048
@jashkenas updating rewrite rules for jots multiline function case 561a02c
@jashkenas adding the list of javascript reserved words as syntax errors in Coff…
…eeScript, so that no one uses them accidentally.
e4bb6c9
@jashkenas Implementing sethaurus' suggestion for better temp variable names -- …
…getting rid of the numbers.
db6bc0b
@jashkenas Merge branch 'master' of git://github.com/olsonjeffery/coffee-script f6a1f16
@jashkenas using node's process.compile for better filename reporting on errors 0f2cf55
@jashkenas removing underscore as a dependency for nodes.coffee -- let's be minimal 495ca64
@jashkenas removing underscore.js from lib, and from the docs page c4d19cd
Commits on Feb 17, 2010
@jashkenas got a build script for rebuilding the compiler, too 448ed36
@jashkenas removed ruby tests, and started the process of converting the CoffeeS…
…cript tests over to use Node's assert() module
b41afe7
@jashkenas finished converting the test suite, to run it, do: bin/node_coffee -r…
… tasks.coffee -- test
a8a4625
@jashkenas Adding a CoffeeScript equivalent to Rake/Make/Jake (Cake, naturally),…
… and implementing all of our build and test tasks in the Cakefile. Run bin/cake to see the tasks.
bedc005
@jashkenas fixing the extends keyword when the expressions are complex, and shou…
…ld only be run once -- not that it's good style -- ticket #143
0610e20
@jashkenas got a really nice --watch flag for bin/node_coffee going, thanks to N…
…ode.js' process.watchFile. Can be used with --print, --lint, --tokens, --run, or whatever your needs may be
9f2badb
@jashkenas adding build:ultraviolet and build:underscore tasks to the Cakefile b674163
@jashkenas removing all tasks from the Rakefile except for 'doc' ... we might ne…
…ed to keep that around for a while
edf5f49
@jashkenas The Great Purge. Removing the Ruby compiler, and all of its accoutrem…
…ents. bin/coffee is now CoffeeScript-in-CoffeeScript
6446e00
@jashkenas we don't need relative require's because the paths are set up correct…
…ly -- removing the unused runner.coffee script
5a81fcd
@jashkenas reorganizing lib/coffee_script to plain ol' lib 2d0ad73
@jashkenas added experimental (but working) method to install CoffeeScript: 'sud…
…o bin/cake install' -- once you've done that, you can take cake and coffee out of their bin/
0490cb2
@jashkenas Updating fs module to the latest Node.js -- that's fs.readFile, not f…
…s.cat, with string flags for fs.open
dfa6383
@jashkenas add a note about installing Node.js first 807e0b4
Commits on Feb 18, 2010
@jashkenas removing the '--' from /usr/bin/env node, until we can find a workaro…
…und for linux.
e2a71d3
@jashkenas allowing parenthetical nodes to wrap statements without necessarily e…
…xpression-izing them -- tests are passing ... we'll see how this works in practice.
2b5d596
@jashkenas adding a test for parenthesized throws 6a45d25
@jashkenas moving 'throw' to a slightly higher level of precedence fbfa12c
@jashkenas making 'no such task' errors a little nicer 8ff977d
@jashkenas starting to cache fancy switch values -- fixing issue #171 87e60dc
@jashkenas removing traces of Ruby from coffee-script.coffee, redoing narwhal su…
…pport to use the new compiler (but untested)
ff1fd97
@jashkenas namespacing CoffeeScript in the browser, and sniffing the 'require' f…
…unction instead of the 'exports' object
2f6b69b
@jashkenas Revert "namespacing CoffeeScript in the browser, and sniffing the 're…
…quire' function instead of the 'exports' object"

This reverts commit 2f6b69b.
dec9950
@jashkenas just namespacing the coffeescript compiler 95f3e2f
@jashkenas removing the 'remote' parameter from Scope::find -- it wasn't used an…
…ymore
1386921
@jashkenas light refactors to scope.coffee 879b3d7
@jashkenas light refactor for repl.coffee 28a8c05
Commits on Feb 19, 2010
@jashkenas carefully categorizing JS keywords from JS reserved words from Coffee…
… keywords, so that we can throw syntax errors at compile time if JS keywords are getting assigned to.
d4a180c
@jashkenas adding an extra pair of braces to the code produced by object compreh…
…ensions, so as to squeak by in JSLint's good graces
a278d8f
@jashkenas using '== null' to check for soaked accessor chains instead of '== un…
…defined' -- shorter, and slightly safer
0270e48
@jashkenas adding syntax highlighting for standalone @ts 4f89f90
@jashkenas fixing standalone @ references 45c0d4c
@jashkenas Removing the notion of a ThisNode so that we don't have to worry abou…
…t the special cases. Fixes Issue 180
dd753d3
@cehoffman cehoffman No need to recompile the script for writing e213964
@cehoffman cehoffman Simpler write method that assumes utf8 output like input reading does 2c461f6
@jashkenas using the new fs.writeFile API instead of fs.open -- much, much nicer c39415d
@jashkenas removing redundant compile from command_line.coffee b183b09
@jashkenas merging cehoffman/master 08539a1
Commits on Feb 20, 2010
alunny fixing api changes (no more promises) for node v.0.1.29 9503ea3
@jashkenas Revert "fixing api changes (no more promises) for node v.0.1.29"
This reverts commit 9503ea3.
2d3f6b8
@jashkenas fixing an off-by-one error in Splat compilation a93229b
Commits on Feb 21, 2010
@jashkenas Improving soaks to avoid uncessesary parentheses. 0f2a2ee
@jashkenas Allowing @[property] syntax. b027b5c
@jashkenas removing commented-out parseerror 08dcc7e
@jashkenas removing the build:parser -> build dependency in the Cakefile -- the …
…asynchrony was breaking it anyway
ff25361
@jashkenas regenerating documentation bd61131
@jashkenas rengenerating documentation f679590
@jashkenas re-enabling the --no-wrap flag, and cleaning up an unused method in c…
…ommand_line
bea40a7
@jashkenas updating to latest Node (0.1.3) API -- callbacks, not promises 1f2c8df
@jashkenas first working draft of the new documentation fc51f0e
@jashkenas waypoint on new coffeescript docs --they're coming along nicely 6e15a4d
@jashkenas removing the 'var' declaration from arguments-to-array conversions dbe5328
@jashkenas one more documentation waypoint, now with running for Try CoffeeScrip…
…t, and a recompiled Underscore.coffee -- wordsmithing next
535cf28
@jashkenas new version of the docs for 0.5.0 is done, or close to it. 5d89394
@jashkenas list padding for the docs aded80c
@jashkenas documentation for Cake and Cakefiles 07513ba
Commits on Feb 22, 2010
@jashkenas adding /usr/local/lib hardcoded versions of coffee and cake for the i…
…nstall script
5d54123
@jashkenas wrapping up loose ends for 0.5.0 e795f41
@cehoffman cehoffman Keep the correct state for watching files so the appropriate one is r…
…ecompiled
f582b73