Hi Alden,
thank you for your interest in this project.
Thanks also for the LogicBlox link, I wasn't aware of it. I haven't had to time to look into it yet, but at first glance it looks really interesting.
About JavaScript, a code generator for it is certainly coming at some point. JavaScript and web development in general are just to big to be ignored. There are however a number of issues here (quite apart from my complete lack of familiarity with front-end web development).
The first one is that if I were to implement it right now performance would almost certainly be inadequate. Even the generated C# code is probably too slow at the moment to be much use in practice, and I would be surprised if JS were any faster. Improving performance (by making use of type information during code generation) is going to be the focus of version 0.2 of the compiler, and I don't think it makes sense to try to implement the JS code generator until that's done.
The second problem is that there's a long list of things to be done (the current version of the language is barely a preview, there's a lot more to come in the future), and this is still a one-man project, so I have to be careful in how I choose my priorities. I've made enough mistakes in that regard in the past, and I can hardly afford to make more.
Another thing to consider is that there already seems to be a number of alternatives for web development for those interested in functional and reactive programming. Elm is the most obvious example of course, but there are also PureScript, ClosureScript and ReasonML. They are all more mature, better known, more focused, and have a lot more manpower (and brainpower) behind them.
So while I believe that combining functional programming and the relational model can yield a significantly more powerful language than, say, ML-style functional programming alone (or otherwise I wouldn't have bothered to create Cell at all), I'd rather focus on areas that are not well-served by existing tools and languages, rather then trying to duplicate what can already be done reasonably well with them.
An example of an area where I think there's a lot of room for improvement is in integrating the server and client parts of an application. What I would like to do at some point is to define some sort of "extended" version the Elm Architecture (or more than one, probably), designed to encompasses both the client and server side of an application, and have the Cell compiler generate code for both, in different languages, with the generated code managing all the communication between them. But that's nontrivial, and it will take some time to get there.
All that said, even though that's not imminent, I do plan to release a JS code generator eventually, and it would be great to have some help once I do.
In the meantime, remember that this project is open to design contributions, not just implementation ones. I'm going to add soon a "Getting involved" page to the website, where I'll be explaining in more detail what I'm looking for, but if you have ideas on how to improve the language, or examples of systems that feel like they could benefit from being implemented in a functional/relational/reactive paradigm, but that cannot be implemented satisfactorily (or at all) with the language in its current form, I would like to hear about it (you can either write on this mailing list or contact me directly at
cell.l...@gmail.com)
Regards,
Giovanni