New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The Plan for 1.0 #830
Comments
The automatic closure wrapper in loops that contain function definitions is now back on master. It includes the function hoisting that removes the closure from the body of the loop, speeding things up considerably. For example, this CoffeeScript:
Now compiles into this JavaScript:
|
is now at https://github.com/satyr/coco. It'll keep the look and feel, but have different approaches including more eagerness to adopt new ideas. |
Okay. So once ranges are back, is the plan to fix the issues? Such as the one satyr pointed out #746? |
I guess that means ECMAscript 5 sugar will come post-1.0? Makes sense to me, as Chrome 7 is the only released browser with support. |
What ECMA5 sugar are you proposing in particular? |
Jeremy, since it sounds like you're still on the fence about ranges, etc., I've opened a new issue on the subject, issue 835. I apologize for the repeated discussions, but I hope that having two concrete proposals on the table (satyr's and my own) will help you and the CoffeeScript community reach something resembling a consensus. |
Jeremy, I'm thinking of getters/setters and immutable values, but I haven't worked out specific syntax/translation in my head as of yet. |
Jeremy, another case to watch for will be
|
I've now got a first draft of the safe range comprehensions on master. |
(imo) CoffeeScript needs to pick a direction. Is it intended to be a lightweight sugar coating that melds YAML and JavaScript? This is a fine direction, where libraries can take care of any additional functionality, and already appear nicer because of the basic sugar. Or is it intended to support features like #835 and #827 that could make the language more pleasant, especially for people familiar with the languages that inspired those features? |
I don't know. I'd say coffeesript doesn't change much its intent by adding #835 and #827 tickets. It is already a sugar coat to javascript as much as Scala is a sugar to Java (maintained the proper dimensions, as java is vastly less powerful and concise than scala). I'd like it to be more aggressive on its approach in the future, eventually adding even more powerful features. For now, getting to 1.0 should prove to be good enough, while still being enough trouble. |
Alrighty ... 0.9.5 is now out, which can be considered an early release candidate for 1.0. Closing this ticket. |
Hey Team.
Over the past month, after 0.9.4 was released, CoffeeScript has been in a serious state of flux. satyr has contributed a number of cleanups/refactors/optimizations, as well as a number of ideas that add features to CoffeeScript's syntax, while simplifying the underlying semantics (some of which are currently on
master
, and some are onsatyr/coco
).The hard deadline for a CoffeeScript 1.0 is the first anniversary of the initial release: Christmas day, at the end of next month. I'd like to get a 0.9.9 out as soon as possible, so we can have at least a month for a shakedown cruise. The experimental features currently on master have been kicking around for long enough now, and debated enough, that I think we can move forward with decisions about them. So, here's the plan:
executable
branch. Try to get executable class bodies onto master, with static inheritance instead of the "extended" hook.... that's about all I think needs to be done before a 0.9.9. Hope that sounds good to everyone.
Edit (2): Had (another (another)) change of heart about the ranges...
Edit (3): Introduce executable class definitions, and static inheritance.
The text was updated successfully, but these errors were encountered: