Trying Out LightTable

Most of my co-workers use LightTable to write Clojure code. My editor of choice is Emacs. Pairing at someone else’s computer often ended with me fumbling at the keyboard. Since I only had a brief look at LT in the past, I knew only one keyboard shortcut (CTRL+SPACE). I decided it’s time to fix that and spend some mandatory time with LT.

One of the first things I recommend everyone to do is to add

:editor.keys.normal {"tab" [:smart-indent-selection]}

to your user.keymap. I don’t think it’s productive to be “creative” with indentation. Personally, I also add this:

:editor {"alt-m" [:editor.line-start-smart]}
:editor.keys.hinting.active {"tab" [:auto-complete]}

First one replicates ALT+m from emacs (go to first char on line); second one still allows you to use TAB for autocompletion after enabling :smart-indent-selection.

For Emacs users: there are a couple paredit plugins available. I tried one or two but I think they require some extra config and I wasn’t in the mood. I’ll get to it eventually.

One of the main selling points of LT was the Instarepl. I’ve read comments that the visual noise may actually be more distracting than helpful, so I expected to be mildly disappointed. I wasn’t. I spent around half of last week coding in LT’s instarepl and really liked the experience. I’ll even be brave and say it was better than plain Emacs repl. The immediate feedback saved me some time. There were times where I clicked the “Live” button to turn it off, but I can’t really hold it against the software. “Too much noise” is a very subjective thing to say, so I don’t think there ‘s a definitive way to solve it (though I expect someone to finally find a better visual language for interactive development). A simple toggle for instant feedback is fine with me.