9 ms·
Emacs-like editors written in Common Lisp
- tmtvl 4y agoIt's nice to see more Emacsen, though without something like eglot or lsp-mode I don't think they'll really take off. That said, I am very fond of the undo-tree package for Emacs and I doubt I could switch to any editor that doesn't have something similar.
- susam 4y agoThe good news is that Eglot is very likely going to be included with Emacs 29.1. See https://lists.gnu.org/archive/html/emacs-devel/2022-09/msg01583.html https://lists.gnu.org/archive/html/emacs-devel/2022-09/msg01... for a discussion on this topic.
- BaculumMeumEst 4y agoUnless I'm mistaken that means it won't be included out of the box but will instead be available to download and install from ELPA, right?
- tmtvl 4y agoEglot already is available from ELPA, I think they actually are planning on including it in the box of batteries that Emacs ships with.
- BaculumMeumEst 4y agoOh wow, that’s awesome. I had thought LSP mode was more popular but I prefer eglot so that works for me.
- vindarel 4y agoLem uses its LSP mode. https://github.com/lem-project/lem/ https://github.com/lem-project/lem/ (don't know much more, maybe it is that one (same author) https://github.com/cxxxr/cl-lsp https://github.com/cxxxr/cl-lsp) (edit: there's also https://github.com/nobody-famous/alive-lsp/ https://github.com/nobody-famous/alive-lsp/ that is built for the Alive extension that brings great CL support to VSCode (usable but in the works right now).
- tmtvl 4y agoNeat, I'll keep an eye on Lem, thank you for bringing it to my attention!
- jes 4y agoI have used Emacs for decades and TIL about undo-tree. Thank you!
- daptaq 4y agoYou might also be interested in vundo: https://elpa.gnu.org/packages/vundo.html https://elpa.gnu.org/packages/vundo.html. It is a newer alternative that is to my knowledge more robust, but depends on Emacs 28.
- BaculumMeumEst 4y agoCould you elaborate on "more robust"? I use undo tree currently and the readme suggests it has less features- does undo tree have problems that vundo solves? I don't mind undo tree needing to be enabled all the time or replacing undo commands.
- daptaq 4y agoI don't recall the implementation details, but I have heard of undo-tree landing in invalid states that can break the history. It might just be that vundo is newer, but I haven't heard of these kinds of stories for that package. In my eyes it is the more idiomatic implementation.
- BaculumMeumEst 4y agoI’ve heard the same about undo-tree, was wondering if that was what you were referring to. I haven’t experienced it myself but maybe I’ll check out vundo before I do..
- b3morales 4y agoI have not used vundo, but it seems to be just a visualizer for the buffer undo list, whereas undo-tree takes over the undo system, replacing not just the commands but the data structure (https://github.com/apchamberlain/undo-tree.el/blob/help-in-visualizer-frame/undo-tree.el#L1677-L1726 https://github.com/apchamberlain/undo-tree.el/blob/help-in-v...). In other words, I think there's simply less surface area for vundo to have or cause problems.
- OrderlyTiamat 4y agois there a tldr on undo-tree's capabilities? I really like emacs' default undo behaviour, especially it's region bound behavior. undo-tree is kind of like vim right? Ive actually never really grokked that one either. I even remove undo-tree after installing evil as its an unwanted change for me, and evil has no option not to use it.
- tmtvl 4y agoUndo tree stores the changes you make in a tree, like Emacs does by default, but its undo function is undo only and its redo function is redo only. When there are multiple different changes you can redo you can select which one you want. Vundo offers that functionality with Emacs' default undo tree, making it an objectively better package as it preserves undo-in-region, which undo-tree lacks.
- OrderlyTiamat 4y agoI might take a look at vundo then, that sounds great. Thank you both for the explanations!
- nequo 4y agoWalking the tree of changes has proven very useful to me several times. Undo-tree can also display the diff for each change. Useful when an operation induced changes in different parts of a long document (for example rerunning source code blocks with org-babel).
- pvinis 4y agoI'm really curious: do people consider common lisp to be the go-to lisp today? if yes, that's awesome, I'll look into it. if no, what is the go-to? and is there an emacs-like using that lisp?
- creepycrawler 4y agoAs a rule whenever the question starts with "do people consider", the answer is going to be: some do, others don't. If you wish to "look into" Lisp, do the work: look at a bunch of resources, skim them, pick the ones that look intersting. Asking whether to look into something is sometimes just a way to procrastinate. Questions like yours (not just about Lisp, but definitely about Lisp as well) are asked every day, and answers are (i) repetitive and (ii) abound. Just do the work.
- pvinis 4y agoslightly more aggressive answer than I expected but ok. so first, yea bad phrasing, but that question usually implies "majority of people". second, I have done work. I have coded even stuff in clj and cljs. little elisp. but I am not in contact with anyone doing lisp so I am disconnected from the "lisp community". hence my question. in any case, my question still stands, but this time as "I'd love to get some opinions about lisps being used nowadays, and if there are emacsen in those".
- creepycrawler 4y agoI did not mean to be aggressive, just direct. There is no "Lisp community". In this family of languages, there are a bunch of individuals that sometimes form communities around areas of interest or particular fora. If you looked into Clojure and Elisp, looking into Common Lisp or some Schemes could still be valuable, sure. All of them are in use. You can visit the relevant subreddits or chat channels or mailing lists to "get connected". Maybe even find some meetups or submit pull requests. As far as I know there are no Emacsen in popular use today except GNU Emacs. There are some editors "inspired" by Emacs that are developed and possibly used by a few. These may be interesting and you may find them usable, but I'm not sure their authors would consider them part of the family of Emacsen just yet.
- mhd 4y agoWasn't Erik Naggum doing something like this, too?
- lisper 4y agoIf he did he never published it. In fact, AFAIK Erik never published any code at all.
- creepycrawler 4y agoHe did publish some elisp code, which you can see traces of in GNU Emacs and SLIME.
- lisper 4y agoRes ipsa loquitur.
- creepycrawler 4y agoNemo judex in causa sua.
- hanche 4y agoHe was working on a conversion of emacs from elisp to common lisp, but I don’t think he got very far on the project before he fell ill. He never shared many details about it, that I know of.
- mark_l_watson 4y agoEmacs is awesome because it nicely handles every programming language I use. There was no mention in the article of the LispWorks editor, that was derived from Hemlock. A really nice editor to use when I need the features of the LispWorks IDE, otherwise my favorite is just Emacs configured for LispWorks and SBCL. For the discussion topic: I am not sure if the LispWorks editor is faster, snappier, etc. than Emacs because it is compiled Common Lisp.
- lispm 4y agoCLIKI is about free and open source software. From the homepage: "CLiki contains resources for learning about and using the programming language Common Lisp, and information about DFSG-compliant free software implemented in Common Lisp." LispWorks is proprietary commercial software and thus out-of-scope for CLIKI. Btw., that's a reason I don't contribute to CLIKI, as I'm not interested in only "DFSG-compliant free software implemented in Common Lisp".
- math-dev 4y agoThe performance sensitive parts of Emacs are written in C, which would explain why you don’t see a huge difference between Emacs and LW imo
- vindarel 4y agoIt is missing the Lem editor, that works for CL out of the box but also for more languages (Python, Rust, Go, Java, Dart, Nim, HTML… and a directory, markdown, SQL, shell… mode). https://github.com/lem-project/lem/ https://github.com/lem-project/lem/ It works on the terminal and in an experimental Electron front-end. More are in the works. It lacks docstrings and documentation, but its gitter chat is somewhat active and different people showed interest in helping. It has a Vim layer. It is an easy to install CL editor and REPL, so it's worth checking out for newcomers, it can help. https://lispcookbook.github.io/cl-cookbook/editor-support.html#lem https://lispcookbook.github.io/cl-cookbook/editor-support.ht...
- worthless-trash 4y agoWhat tooling are people using to write UI's in common lisp? Is it difficult to distribute ? I've been using croatoan for a ncurses text interface, but I fear that i'll need to write something more "guish" in the next few months for the terminal afraid.