News for hackers. Stuff that matters.
Re:Fay: a subset of Haskell that compiles to JavaScript by kybernetikos on Monday December 31, 2012 @02:24PM (#4990487)
The compile-debug-refresh cycle is exactly the problem. Tools that watch the file system are no substitute for servers that can guarantee you get the latest version when you hit f5.

Quickly and reliably seeing your code in action is one of the more important things you do when coding, and anything that messes with that makes your life less fun, more painful and less productive.

Re:Fay: a subset of Haskell that compiles to JavaScript by snprbob86 on Monday December 31, 2012 @05:00PM (#4991066)
ClojureScript is not yet self-hosting. That is, the compiler does not run in the browser, although quite a few people want it to, so it's being worked on a bit.

That said, I haven't found it to have any serious impact on my development experience. There is no compile-debug-refresh cycle because I can evaluate forms against the browser REPL remotely. Compilation occurs server side and the JavaScript code is eval-ed on the client.

More details here: http://blog.fogus.me/tag/clj-compilation/

Re:Fay: a subset of Haskell that compiles to JavaScript by kybernetikos on Wednesday January 02, 2013 @02:58AM (#4995751)
Yes, when you can update parts of the code on the page with a streaming connection it's a little bit different. I guess I'll give ClojureScript a pass on that one, but it's not a feature that nonlisp systems seem very keen on integrating so far.
Re:Fay: a subset of Haskell that compiles to JavaScript by chimeracoder on Monday December 31, 2012 @02:58PM (#4990635)
> Tools that watch the file system are no substitute for servers that can guarantee you get the latest version when you hit f5.

How are these mutually exclusive? If you want a server that automatically runs the most recent (working) build of a piece of code, it's rather straightforward to implement.

Re:Fay: a subset of Haskell that compiles to JavaScript by kybernetikos on Wednesday January 02, 2013 @02:56AM (#4995747)
I don't want the most recent (working) build of a piece of code, I want to see in my browser exactly what I have on my disk, and I want to see it every time without worrying about caching or whether my build loop has finished or not.
Re:Fay: a subset of Haskell that compiles to JavaScript by chimeracoder on Thursday January 03, 2013 @11:40AM (#5003131)
Again, all problems that are pretty easy to solve with existing server-side build tools.
Re:Fay: a subset of Haskell that compiles to JavaScript by mikeash on Monday December 31, 2012 @10:46PM (#4991797)
Ought to be easy to serve the code from a script that compiles on demand. I assume you'd want a cache, but a simple modification date check will ensure that it's always up to date. Of course, having to build this is worse than not having to.
Re:Fay: a subset of Haskell that compiles to JavaScript by lucian303 on Tuesday January 01, 2013 @02:42AM (#4992120)
That is why debugging JS that was written in some ridiculous language that compiles to JS becomes quite difficult. The other problem is trying to figure out the fix in the original language which may not be obvious. But this is not a popular opinion. Not that I care that today's programmers would rather require that a web app be written in 10 languages rather than 4 (Serverside, JS, CSS, HTML).

Adding complexity is the opposite of the software development goal. Too bad most people don't get this. Other than shipping your software on time and sometimes even above that goal, is reducing complexity. Too bad most people go the other way because it's "cool."

They shall pay the price.

Re:Fay: a subset of Haskell that compiles to JavaScript by kybernetikos on Wednesday January 02, 2013 @03:02AM (#4995761)
Source maps go some way to making debugging code written in another language less painful. I more or less agree on the language side though. For real web development anything other than javascript should be providing you with a massive benefit to offset the disadvantages of adding a build step to your workflow and having to debug in a language different to the language you're coding in. I've not found anything that I think gives me a big enough benefit yet to make it worth it.