Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This is pretty much how Emacs has worked for almost 40 years and it doesn't even have namespaces. As far as stability Emacs is definitely competitive with the many editors / IDEs I've tried in the past so I'd wager Light Table will do just fine with this model.


(Complaining about emacs, which I feel I am "addicted" to, on HN is my hobby, so allow me to jump in. :)

Maybe emacs' level of brokenness is comparable to other editors, but it's far short of the ideal of problem-free software -- it suffers from all kinds of little bugs because of weird package interactions.

E.g., there's a mode to edit grep results, and a mode to edit multiple occurrences of a symbol inline, but using these two modes together doesn't work, for some reason. There's a mode to highlight the current line, and a mode to run a shell inside emacs, but highlighting the current line doesn't work on the most-recent line of the shell, for some reason. Highlighting the current line also doesn't work when jumping to compile errors (for me, anyway) -- that last one particularly frustrating since jumping to a compile error is one of the times you want line-highlighting most...

Etc etc etc.


Another interesting part of this is the use of behavior diffs, which means the user can at any point easily remove a behavior that is causing a conflict. Unlike in most situations where multiple plugins may add functionality and you're stuck with whatever the mixture is, it's very easy to take just what you want with LT plugins. One of the key goals of BOT was to enable people to handle conflicts downstream without needing to touch the source.


That sounds great, and will definitely help alleviate headaches when the clashes occur.

Have you started playing with strategies to proactively identify potential clashes?


As an avid Emacs user and having debugged unintended side-effects in minor-modes[1] I definitely know that this is possible there. At the same time though I would hope we learn from what works and doesn't work in Emacs and apply it to new tools.

I think one of the big challenges will be establishing the best practices for plug-ins to avoid user-experience-ruining clashes.

[1] - I help maintain the smooth-scrolling minor-mode and diagnosing and solving some of the interactions with evil-mode and macros has been... fun. Thankfully the Emacs community is populated by people who provide excellent bug reports!


Good point. I wonder if LightTable could become the new Emacs, which is basically a Lisp interpreter. Clojure should offer a significant performance improvement over elisp.


and being based on Dom/Css might open new ideas.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: