On May 16, 2011, at 7:55 PM, Peter Michaux wrote:

> On Mon, May 9, 2011 at 6:02 PM, Brendan Eich <[email protected]> wrote:
> 
>> Yes, and we could add call/cc to make (some) compiler writers even happier. 
>> But users would shoot off all their toes with this footgun, and some 
>> implementors would be hard-pressed to support it. The point is *not * to do 
>> any one change that maximizes benefits to some parties while harming others.
> 
> By the nature of their task and its complexity, compiler writers
> targeting JavaScript need JavaScript to have features that make it
> possible to generate efficient compiled code. Without the big features
> like call/cc there are many things that just cannot be compiled well
> enough...which ultimately means all the languages that compile to
> JavaScript are just thin sugar layers that really aren't even worth
> the bother. Those languages, like Coffeescript, are obscure and known
> by only a few people.

Rails 3.1 is obscure and known by only a few people?

Seriously, check your attitude. There are many languages in the world. 
Asserting that Python implemented via Skulpt is not "worth the bother" is 
insulting to people working on that project and using it. If you don't think 
it's worth the bother, feel free not to bother. Your opinion does not become an 
imperative to add arbitrary compiler-target wishlist items.

Here's a list of languages that compile to JS:

https://github.com/jashkenas/coffee-script/wiki/List-of-languages-that-compile-to-JS

I'm sure it's not complete.


> The goal of pleasing compiler writers should be
> to make it possible to compile existing languages like Perl, Ruby,
> Python and Scheme to JavaScript. These languages are the ones that
> people know and really want to use and target their compilers to
> JavaScript.

This is not a straight-up discussion. You ignore safety, never mind usability. 
Compiler writers want unsafe interfaces to machine-level abstractions. Should 
we expose them? Certainly not, even though not exposing them hurts efforts to 
compile (not transpile, as you note) other languages to JS.

Too bad -- the first order of business is JS as a source language. Being a 
better target for compilers is secondary. It is among the goals, but not 
super-ordinate.

http://wiki.ecmascript.org/doku.php?id=harmony:harmony

Compiler-writers don't seem to be having such a bad time of it, and we can 
proceed on a more concrete requirements proposal basis than taking 
absolute-sounding philosophical stances.

/be

_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to