Light Table: The strange and wonderful saga of a pure Clojure editor.

Namaste!

Pratik Karki

Kathmandu, Nepal

Endorsement

SE @Leapfrog Technology Inc.

Sadly, no Clojure at work!

GSoC '18 student, worked on builtin `git- rebase` i.e. shellscript to C.

Volunteered to maintain Light Table on '19.

Why maintain?
Why revive?

 

Isn't it dead?

Free range talk.

1st time in India

2nd conference as a speaker 

1st International Conference 

1. About LT.
2. Learn new tricks.
3. Believe.

Interesting things were happening in 2012...

On Apr 12, 2012

First real release of Clojurescript...

Meanwhile in Kathmandu, Nepal...

October 1st, 2014

Meanwhile in Kathmandu...

Good Ol' Times.

Languages change, toolings change, API change, dependencies change.

Last Release

Clojure/Script doesn't have *alot of* breaking changes.

But, the JS ecosystem do.

ClojureScript is more reliable from v1.0.0

< 1.0.0, people frown.

LT has some awesome features and TODOs.

Watches

Inline Evaluation

Direct inspiration to VSCode

Inline Docs

Do I really need to hover the cursor?

BOT Architecture:

Behaviour 

Objects 

Tags

Some features which never got out there:

  • Drafting table view
  • LSP
  • Plugins? Better Plugin Manager?

We have to talk about JS Ecosystem.

Current Light Table depends heavily on:

  • Electron
  • CodeMirror
  • Multiple JS libraries: request, socketio, etc.

Fixing LT to accept each breaking changes everytime.

Feels more JS than Lisp.

Powerhouse of LT

Plugins:

We have to Learn and move on.

1. Xi editor
2. Cider/Orchard

3. Neovim & VSCode

1. Separate Core logic from front-ends: Xi-editor

2. Ride on the already provided toolings: Orchard

3. Do few things correctly: Anti VSCode

Decouple Everything

But, you have to maintain multiple things now.

Focus on one front-end and create good tooling help others' build and maintain

Exciting Times

Getting Last Electron-based release(features dropped) and letting it go...

OR?

Rewrite and release it...

More and more Clojure/Script libraries

Less JS libraries

Chaining Cider/Orchard

Build a neighbourhood Grape farm.

Because we are tired...

 Dent (n): a slight hollow in a hard even surface made by a blow or pressure.

No corporate backing, few developers 

Dent = Holes left unconvered. 

Learning from Xi-editor

REPL

What? 

What? ?
Text or Data?

Write plugin in the same language as the language plugin.

Async everything, job control,

API access...

Sneak Peek

Where's the REPL?

Where's the Inline Evaluation? 

We won't create anything like: InstaRepl or another cool new thing. 

We turn to a friend and help each other out... 

No more adding stuffs on provided toolings, help get it upstream too.  

When will this be released? Light Table v1?

But, the new codebase will be open-sourced, once, I've fixed Analyzing plugins.

Thank You! 

GitHub: @prertik 

Twitter: @theawesomekarki 

Email: prertik@outlook.com predatoramigo@gmail.com