Skip to content
This repository has been archived by the owner on Feb 19, 2018. It is now read-only.

CS2 Discussion: Project: Progress as of December 2016 #56

Closed
GeoffreyBooth opened this issue Dec 2, 2016 · 6 comments
Closed

CS2 Discussion: Project: Progress as of December 2016 #56

GeoffreyBooth opened this issue Dec 2, 2016 · 6 comments

Comments

@GeoffreyBooth
Copy link
Collaborator

We’re getting close. Since the last update, as of 2016-12-01 the following has been merged into the jashkenas/coffeescript 2 branch:

And as of November, we had accomplished:


We’re closer than ever on classes. jashkenas/coffeescript#4354, by @connec, implements CoffeeScript classes compiled into ES classes, preserving just about all backward compatibility and outputting via the class keyword, allowing CS classes to extend ES classes. All tests pass.

The PR is a hybrid, though, between the old 1.x output and idiomatic ES output. Classes to be extended are passed in via a wrapper and superClass; super is implemented via statements like a.__super__ = superClass.prototype, etc. @connec’s current plan is to finish reorganizing the code in the current PR, then use a separate PR for cleaning up super. Assistance with this effort is welcome. Once the current classes PR and follow-on super PR are merged in, we can release the first alpha of CoffeeScript 2.0.0. We shouldn’t release 2.0.0-alpha1 any sooner, though, in case the current approaches to classes need reworking that might break backward compatibility more than the current PR does (for example, if super ultimately can’t be used as is without changes).

Aside from that, we’ve crossed off most of the items on our features list. The only other item remaining is outputting ES2015 destructuring syntax, which should be along the lines of the already-completed ES2015 computed properties. Anyone up for this one?

Any day now CoffeeScript 1.12.0 will be released, which will bring tagged template literals, for…from and the triple-backtick operator to the 1.x branch. Let’s follow it up with 2.0.0-alpha1!

@taoeffect
Copy link

Hey, can I just say congrats?! I clicked on the happy emoticon buttons but it doesn't feel like enough. Thanks so much to all of you for your hard work on keeping CoffeeScript alive!! I'm super excited to see the ES2015 support coming along!

Also, while I don't know the backstory, it's also really really great to see not only a still-thriving community, but also @jashkenas back in action!!

@GeoffreyBooth
Copy link
Collaborator Author

Thanks @taoeffect 😄 Yes, I’m excited too! If I can theorize, I like to think that all the energy of the community has inspired @jashkenas 😄

Tiny winter solstice update:

  • [CS2] Compile class constructors to ES2015 classes jashkenas/coffeescript#4354 has had a lot of progress. We’re now working through super in its many permutations. As soon as this PR gets merged in, we will have our first alpha release of CoffeeScript 2. If you have any time to contribute, please consider writing some tests or testing this branch against existing code that uses classes.
  • I’ve been toiling away on v2 docs. You can see the latest here. Feedback can go in this thread, and PRs are welcome against my 2-docs branch.
  • We need to figure out destructuring. The plan is to compile to ES destructuring whenever possible, which raises the issue of how to handle this in destructuring (which isn’t supported by ES). That’s already resulted in this issue for the one place we’ve implemented ES destructuring so far (function parameters), and it will remain an issue when someone reimplements destructuring in general to output ES. Help wanted on that too.

@DomVinyard
Copy link

I would like to echo @taoeffect's comments. When this project first started I had taken the plunge into ES6 and, honestly, I had all but assigned Coffeescript - my all-time favourite language - to the history books of my career. It's only now that I realise that there's a good chance I'll do another CS project yet! That's the single best (professional) Christmas Present I could ask for.

Thanks guys, very very sincerely.

@jashkenas
Copy link

@GeoffreyBooth, @lydell and @connec are doing all of the work here, so 🎉 to them!

it's also really really great to see not only a still-thriving community, but also @jashkenas back in action!!

If I can theorize, I like to think that all the energy of the community has inspired @jashkenas

The truth is that your timing was good. It's rare to find new contributors with the stamina to push through the mountain of work that it takes to add new features to an existing project — so big props for that. And it's happening while I'm back at a desk and able to (marginally) participate.

@rattrayalex
Copy link
Contributor

Merry Christmas guys 😄 very proud of what's being accomplished here.

@coffeescriptbot
Copy link
Collaborator

Migrated to jashkenas/coffeescript#4948

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

6 participants