Live data from Hacker News

Kickstarter: Make a Better CoffeeScript Compiler

kickstarter.com

41–50 of 56 posts

Re: Kickstarter: Make a Better CoffeeScript Compiler

#41

Earlier quoted context omitted.

What's really nice about the compiler being in JavaScript is that you can run JavaScript anywhere: in the browser, on any OS, embedded in any major web framework. If the compiler were written in any other language, you'd have to worry about dependencies. This applies to HTML and CSS preprocessors as well: I'd advocate Jade over Haml and Stylus or Less over Sass, simply because Jade and Stylus/Less aren't tied to the…

Isn't Less written in JS now?

Yes. I think he meant: I'd advocate (Jade over Haml) and ((Stylus or Less) over Sass)

Re: Kickstarter: Make a Better CoffeeScript Compiler

#42

Separate to the idea itself, this KS made me realise there's an art to choosing the right rewards and levels. Some KS are just irrestible to donate to partly because they get the rewards just right. Others, like this one IMHO, don't make the most of it.

Kickstarter allows me to add rewards after the project has started. What kind of rewards would you like to see?

I think GuiA gave a good response. Psychologically, I think the $1 level is a bad anchor but then you're also missing a lot between the $10-$100 range where I'd suspect most donations would come (by quantity, not $ total).

Also, you're offering a mention in the README as a bonus - which is a good idea. But IMHO you should consider also having a separate DONORS file (or similar) which will list the names of anyone who donated and still be part of the project. Even such a small gesture will help people bond to the project and feel like they're a part of it, beyond the Kickstarter. I bet there are people who would even donate $5 just to get into such a file on what might be a popular project :-) (sad but true!)

My real thinking behind this is because I might be including this in JavaScript Weekly next week. And if I do, I think it would be awesome if people felt motivated enough to throw you some money.

Re: Kickstarter: Make a Better CoffeeScript Compiler

#44
post #37

Earlier quoted context omitted.

The problem is that making a better JavaScript you can actually use is a lot harder than making a better CoffeeScript. If you make a better CoffeeScript, you just have to write one compiler for it, written in JavaScript. If you make a better JavaScript, you have to lobby all of the major browser vendors to accept it. And then you have to wait for the browser teams to write the compiler. And even if you write the comp…

What prevents "new" JavaScript from being compiled like CS is being compiled now?

This is an excellent idea, and is the goal of a project that Google announced at JSConf 2011 with much fanfare (some of it from Brendan Eich himself), Traceur: http://code.google.com/p/traceur-compiler/

However, Traceur has gained little traction. With the announcement of Dart, it's clear that Google's heart isn't really into the project.

See also: http://stackoverflow.com/questions/6506519/ecmascriptharmony...

Re: Kickstarter: Make a Better CoffeeScript Compiler

#45
Having poked around with Jeremy's compiler (I forget if I've sent in patches or not), I'm curious about some of the technical details behind the project. I've thought about this topic for a while and this is a rather disorganized brain dump Feel free to respond to as much or as little as you like.

The main complaint I have with the current compiler is the inability to control output either via compile time macros or compiler hooks. I would like to map Coffeescript's class construct onto the class system of a variety of frameworks. I understand most of Jeremy's rationale but I still have to patch my install to change the superclass name in order to map coffeescript classes onto yui3 (same pattern, different superclass names) and I'd really like to see the class syntax map to Ember's classes.

Any particular reason for PEGs over Parser Combinators?

From reading, looks like you plan to skip the rewriter pass. I started a PEG parser implementation in the 0.3 timeframe but ran into problems with the `x = a: 1, b, c` -> `x = {a: 1, b:'b', c:'c'}` and similar ambiguities. Do you have a plan for handling this? Will you drop language features if you can't do them without rewriting?

What sort of compile time hooks are you planning? Just (C)AST->(J)AST passes?

In the time since I've messed with coffeescript internals, I've run across two potentially useful things that I haven't really investigated:

* http://www.mirah.org/wiki/Macros * https://github.com/cgrand/parsley The latter is interesting because it'd potentially allow the actual compiler to be used as the starting point for language IDE support.

Good luck, I'll be following your progress with interest.

Re: Kickstarter: Make a Better CoffeeScript Compiler

#46

Earlier quoted context omitted.

You're completely missing the point. He's not proposing to write a compiler as a way to make money; he's trying to get his living expenses covered so he can write this compiler that he wants to write, and which he believes will be useful to others.

Thank you, you are exactly right. Working on CoffeeScript is my passion. I don't need any financial incentive to do it, I just need food, a place to live, and some cash to hold off my student loan creditors.

Kudos to you for having the stones to do this. I don't know much about CoffeeScript, but what you're doing is cool.

I think you might be selling yourself a bit low. The market value of someone at your level of skill is at least $8,000 per month, and I don't think you should be going down by 62.5% (as opposed to 20-30) just because it's a fun, open-source project. If it's genuinely commercially useful, you should be shooting for market salary.

I would set the same price but make the promise 2 months, if it were me.

Re: Kickstarter: Make a Better CoffeeScript Compiler

#47
post #37

Earlier quoted context omitted.

What prevents "new" JavaScript from being compiled like CS is being compiled now?

This is an excellent idea, and is the goal of a project that Google announced at JSConf 2011 with much fanfare (some of it from Brendan Eich himself), Traceur: http://code.google.com/p/traceur-compiler/ However, Traceur has gained little traction. With the announcement of Dart, it's clear that Google's heart isn't really into the project. See also: http://stackoverflow.com/questions/6506519/ecmascriptharmony...

Why don't we spend effort on building an ES:Harmony -> ES3 compiler rather then a CoffeeScript -> ES3 compiler.

It's more worthwhile future facing project.

Re: Kickstarter: Make a Better CoffeeScript Compiler

#48
I've made a some progress in this.

PEG didn't quite cut it for left-recursion so I created a new parser.

https://github.com/jaekwon/joeson

The grammar for CoffeeScript is getting there -- enough to parse the project files at least.

https://github.com/jaekwon/joeson/blob/master/joescript_gram...

Michael, we can collaborate on this. Send me a msg on github or email `jkwon.work` at gmail.

Re: Kickstarter: Make a Better CoffeeScript Compiler

#50

Separate to the idea itself, this KS made me realise there's an art to choosing the right rewards and levels. Some KS are just irrestible to donate to partly because they get the rewards just right. Others, like this one IMHO, don't make the most of it.

Kickstarter allows me to add rewards after the project has started. What kind of rewards would you like to see?

Hah, you could always go the Indy game route and name library functions after the big donators :).
Post reply on HN