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

CS2 Discussion: Project: Make it extensible or pluggable #4

Closed
aurium opened this issue Jul 12, 2016 · 6 comments
Closed

CS2 Discussion: Project: Make it extensible or pluggable #4

aurium opened this issue Jul 12, 2016 · 6 comments
Labels

Comments

@aurium
Copy link

aurium commented Jul 12, 2016

To make this transpiler pluggable, to be possible to plug parser extensions, and plug external AST to JS code generator.

With this, initiatives like IcedCoffee, ember-script, and ES(next) support could survive integrated to this CS ecosystem. Develop the support to the next ES will not hurt, and independent plugins will prove good ideas to make JS features CSish.

@carlsmith
Copy link

Sounds good. We should try and stick to a standard format for the AST. The de facto standard is ESTree, that grew out of work done at Mozilla. They have excellent contributors, and seem to be on top of their ES6-7 support.

We may have less work to do than we thought, especially if we fork Redux.

@rattrayalex
Copy link
Contributor

One thing to think about could be plugging directly into Babylon, and leaning on Babel to do provide the plugin support.

I haven't looked into this in-depth, and babylon itself isn't pluggable yet:

Significant diversions are expected to occur in the future such as streaming, EBNF definitions, sweet.js integration, interspacial parsing and more.

Since (IIRC) the grammar of CSRedux is EBNF or similar, this might not be terrible to implement.

@rdeforest
Copy link

I was lukewarm on this idea until I read #21, now I see it more like the modularity of XMPP (Jabber). I'd be happier still if modules also had a stability index akin to the Node stability index, designated by the core community and defaulting to experimental when no such designation has been given.

Maybe the index would look something like...

idx title description
-1 rejected incompatible with project tech or philosophy
0 deprecated not supported
1 experimental under development
2 testing stabilizing
3 stable official, stable, standard part of project
4 core critical bugs and security fixes only

@GeoffreyBooth
Copy link
Collaborator

This is only relevant if we have people willing to devote serious time to this project. See #27

@rattrayalex
Copy link
Contributor

Closing as this looks generally out-of-scope.

I know @carlsmith has begun work on a separate project which may allow this, however. See https://github.com/carlsmith/shalt/ for that.

@coffeescriptbot coffeescriptbot changed the title Make it extensible or pluggable CS2 Discussion: Project: Make it extensible or pluggable Feb 19, 2018
@coffeescriptbot
Copy link
Collaborator

This issue was moved to jashkenas/coffeescript#4903

# for free to subscribe to this conversation on GitHub. Already have an account? #.
Labels
Projects
None yet
Development

No branches or pull requests

6 participants