Hacker News new | past | comments | ask | show | jobs | submit login

Alright, this is bugging me. Why are you using colons for assignment?



I am not the author, but I assume because it's nice-looking, and JavaScript already uses it for assignment (inconsistently). Consider:

   var foo = 42;

   { foo: 42 }
Why make the two concepts different?

Also, it's "binding", not assignment.


    a: 1
    b: 2

    obj: {
      a: 1
      b: 2
    }
Quite right, and internally, both kinds of assignment compile into a CoffeeScript AssignNode. The latter is just tagged as occurring within an object literal. Having the commas be optional in multiline objects also helps make both kinds of assignment look identical.

(And I'm calling it assignment because saying "binding" in JavaScript usually means that you're binding a function to a "this" context object)


Any chance you'll allow equal sign as well as colon? For all of us coders conditioned by years of programming to automatically use "="...

Looks beautiful, in any case.


Sure, why not. They can be interchangeable. It's in the latest commit, and will go out with the next release.


Cool, thanks!


Erm... no, it's assignment. At least according to the documentation: http://jashkenas.github.com/coffee-script/#assignment

At any rate, I was just curious. To me,

    x = 1
looks more intuitive than:

    x: 1
But that's just my personal preference.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: