Tech Mesh, the alternative programming conference,focuses on promoting useful non-mainstream technologies to the software industry. The underlying theme is "the right tool for the job", as opposed to automatically choosing the tool at hand. By bringing together users and inventors of different languages and technologies new and old), speakers will get the opportunity to inspire, to share experience, and to increase insight.
Hi, I’m a developer at the New York Times, I do a lot of front development there, but I also do a lot of open source work heavily in the Clojure community. And I’m also a musician, I play in a band, in Brooklyn and I also run this thing called Kitchen Table Coders which we run on weekends in Brooklyn, where we get a very small group of people who are interested in learning some new technology and we sort of sit around the kitchen table and teach ourselves something new.
So what’s actually kind of cool about Kitchen Table Coders is that we sort of started off as just a way to help pay for our rent, it was a very modest thing what we were doing but it since has taken off and other people seem to join the idea, I actually want to say that somebody in London wants to start a Kitchen Table Coders here, one of our Kitchen Table Coder guys was in Japan at a conference and I hear that somebody in Japan wants to start one, so we sort of have this notion that it's kind of an open source idea and we happen to do it in Brooklyn but we really are excited about this idea of learning things in an environment that is conducive to learning, I think that requires four or five people and one or two people leading the discussion.
Yes, like ultra mini.
Oh sure, well that’s the fun thing about ClojureScript I haven’t heard anybody just doing monads, you could just do monads and you have macros, so sure, you could totally create very sequential looking code via monads.
9. We're at a functional programming language conference, I’m contractually obliged to ask about monads. So I seem to remember that ClojureScript didn’t have a parser or a compiler for Clojure, can I write ClojureScript in my Chrome shell, can I just type it in and I have it evaluated?
12. An interactive shell, does this work with the Clojure[Script] model, because I seem to remember that ClojureScript was designed to write applications, locked off applications that are then run through the Google Closure optimizer and are shipped as one component, if you want to have an interactive shell, do you have to script the whole ClojureScript library? Is that a problem at all?
Yes, there are some people who really don’t like it, again there are many reasons why you wouldn’t want it.
Werner: And particularly, if you’re on your tablet, on your phone and there’s no Java there and it’s only the browser really.
Yes. That’s further out there, we just want to get Source Mapping, again, there are very large ClojureScript applications in production now, thousands of lines of ClojureScript, and I think, just to be able to step through code and see the call stack, that would solve a large number of problems for a lot of people, even if they can’t eval ClojureScript yet.
Light Table, when it first came out, it was written, from what I understand, mostly in Clojure, Chris Granger has since then re-written all the JVM parts in ClojureScript, so Light Table is actually all ClojureScript. The only thing that I think Clojure is there for is just to compile the code, again this is why we want self hosting to just eliminate that step, but yes, Light Table is all written in ClojureScript, which is pretty amazing, I think right now it’s like six thousand lines of ClojureScript.
To me it’s so awesome that we can leverage, WebKit is a truly great open source resource so Light Table I believe is built of Node WebKit, it’s WebKit with bindings into Node, so from the application you can query the file system and do all the sorts of unique things that Node lets you to do.
A very long way and there’s a lot more to go, when I gave my talk yesterday, I really looked forward for the day that ClojureScript isn’t really weird, people should be programming their browsers in whatever language they want.
Werner: That’s extremely interesting and I think our audience will now look at ClojureScript. Thank you, David!