zhanzhenzhen / futurescript

A future-style language.
https://futurescript.org/
Other
43 stars 3 forks source link

Optional version line #9

Closed ghost closed 8 years ago

ghost commented 8 years ago

I think version line should be optional. If no version line, default settings will be used. Furthermore, version line should be a (special) comment, something like:

#fus 2.0.5

Something like encoding settings in ruby. Thank you for futurescript.

zhanzhenzhen commented 8 years ago

Thank you, but no, because it will encourge the thing I want to avoid. If it's optional, there will be no guarantee that your code will always work the same regardless of your FutureScript version.

I have a CoffeeScript use case: I had some CoffeeScript code, but when I upgraded CoffeeScript to 1.9.0, it didn't work, because of language incompatibility. I had to modify my code. See its changelog:

Changed strategy for the generation of internal compiler variable names. Note that this means that @example function parameters are no longer available as naked example variables within the function body.

On the other hand, because CoffeeScript must consider version compatibility very seriously to eliminate these things (at least as far as possible), this will make the language grammar very hard to improve later.