maxtaco/coffee-script — Issue #6: library language features/extensions...
Author: flynx
Created: 2012-01-30 10:21:39+00:00
State: open

This is just a suggestion of a possible direction for coffee-script extension.

Make language extensions (like *iced*) live in a library instead of parallel forks/branches of the compiler.

benefits:
* will make extending the language and experimenting simpler
* will eventually make the core clean and more modular
* let people experiment more with different ideas
* keep the ecosystem united (people wanting to experiment will not move away from the upstream and most changes will make it upstream faster and in a cleaner manner)

the considerations that need to be made to make this worth while / convenient:
* standardize a set of *stable* of *official* extensions that will be available by default
* auto-install on first use (optional -- can be an extension in itself)
* clear context rules (to avoid conflicts) -- I'd make this *affect only the file containing the declaration*
* clear style/syntax guide-lines (to avoid conflicts)
* clear syntax (IMO this has to be syntax), and I'd make it verbose-ish to be more noticeable by the person reading the code

// beginning of file...
CoffeeScript extension ICED

// user code...
...