Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

1. There's a compiler validation phase, it guess types from definitions and assignments, and will caught typos in object properties, saving hours of debugging subtle bugs. 2. No callback hell while keeping async programming ("yield until", node.js --harmony)


Does this depend on using --harmony? Or are you faking the generators?


today it depends on --harmony (only for "yield"), but it is trivial to add an option to use node-fibers instead (same functionality of ES6-generators for node>=v0.8).

See https://github.com/luciotato/waitfor ,node-fibers, and the same with generators: https://github.com/luciotato/waitfor-ES6


It's good that it's not faking generators though, stick with harmony. Fakes slow to a crawl after a while.


How does the type guessing and the type system in general work?


1. Type guessing:

- if you have a "class Token" and later do "var token", the type is guessed by name affinity.

- if you do:

    token = .getToken()
    other = token
the type of "other" is guessed from assignment (:Token)

2. Type annotations: you directly state type

          var other:Token
          var read: Token array
The compiler does a "pseudo-execution" of the AST, guessing types and validating property access.




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

Search: