Light Table: The strange and wonderful saga of a pure Clojure editor.
On a beautiful spring day in 2012, Chris Granger showed a new concept of an IDE which was simple like an editor but, was full-fledged like IDE. This was way before VSCode and Atom, it showed what Clojure/Script can do with less code and was a preferred editor for people coming to Clojure/Script ecosystem for many years. Now, the time has changed and Chris left the project and so did, other core developers who shaped Light Table-the killer Clojure App. Now, years have gone by, without significant improvement in Light Table, so, yours truly volunteered to revive Light Table. Light Table introduced some awesome ideas of BOT architecture(Behavior, Objects, Tag). Getting Clojure book has also used its code for example in its “State” Chapter. The different ideas of adding plugins, docs embedded into the editor,
eval feature inside the editor is cool and the code that powers it is in pure Clojure/script. And, this being written in the early days of ClojureScript i.e. before ClojureScript hit version 1.x.x, we can compare the ClojureScript as of today and can understand design changes it took from its early days. This talk will then, describe issues having tightly coupled a lot of functionalities with external libraries. Additionally, I would discuss using much better design to re-write Light Table, design inspired by a new-gen editor like Xi editor and the concepts behind toolings from clojure-emacs.
Lastly, I would like to give a (sneak peek)demo/ideas and (will release in a few days) a new Light Table based on new architectures mentioned earlier but, built on the foundation it stood on.
- Introduce Light Table.
- Concept, Ideas, Approach
- Clojure/Script ecosystem at that state.
- Light Table’s awesome features:
- Inline Eval, etc.
- Modern Editors and toolings
- Where did it get wrong?
- Learning from new ideas.
- Embracing already provided Clojure Toolings.
- A new dawn, bringing Light Table to new decade.
- Demo/Ideas of new Light Table based on new architectures embracing old foundations.
Hello, I’m Pratik Karki. I’m a programmer, a lifelong learner, Light Table maintainer, open-source contributor and GSoC‘18 student. I love to pop the hood of software and look inside, move a few things and close the hood,(80% of the time, I mess something up.) I’m a polyglot programmer(IOW: Jack of all trades). I love to talk about concurrency, optimizations, language design, editors and algorithms. I work as a Software Engineer at Leapfrog Technology Inc., Nepal. When I’m not programming, I read a lot, to be a better programmer and my favorite super-hero is Ken Thompson. BTW, I ❤ Clojure!