12 ms·
The Emacsen family, the design of an Emacs and the importance of Lisp (2023)
- wglb 3y agoOk, as a long-time emacs user (I think I started in 1985), I am officially nerdsniped. Building the sdl2 version, there is no luck finding libSDL2_ttf, so I'll be trying the ncurses version. Looks pretty snappy so far.
- taeric 3y agoSame. The live demo at the end was very effective at spiking more interest, as well.
- kleiba 3y agoReally? I find that the one really good design decision that survived in GNU emacs over all these years is that it does not have dialog windows. But it seems that that's pretty much what Lem does, at least when you find a file?!
- taeric 3y agoI'm assuming that is something you could get rid of, if you want. It was more the popping over to the repl of the editor that I found fun to watch. And the fact that it was working.
- tmtvl 3y agoTechnically GNU Emacs does have dialog windows (at least the GTK version): if you click File in the menu bar, followed by 'Visit New File...' it opens the GTK file picker. I only know that because when using Emacs on the Steam Deck using the menu bar is a little easier than doing input using Hacker Keyboard on my phone passed to the Deck using KDE Connect.
- deleted 3y ago[deleted]
- heinrichhartman 3y agoDirect Link to "Lem" the Common Lisp based "Emacs" discussed in the talk. https://lem-project.github.io/ https://lem-project.github.io/ https://github.com/lem-project/lem https://github.com/lem-project/lem
- globular-toast 3y agoSadly not licensed under the GPL.
- kyykky 3y agoIs there a benefit in using GPL for text editors?
- kleiba 3y agoOnly the same benefit as for any software.
- lupusreal 3y agoIt prevents the editor from (legally) becoming proprietary software which deprives users of their software freedoms.
- Jtsummers 3y agoI suspect that if someone is in a position where they are compelled to purchase and use the proprietary version and not the free (and available) version, they already lack most software freedoms. Probably several other, more important, freedoms as well.
- globular-toast 3y agoLicences like MIT optimise individual freedom: they give each user the freedom to do anything including restricting the freedom of others. Licences like GPL optimise community freedom: they give each user the freedom to do anything except restricting the freedom of others. Think of it like local vs global optimisation.
- account-5 3y agoCompletely off topic but this website is how it should be done. No JavaScript enabled and I can play the videos and see the text and images. Well done.
- moi2388 3y agoWell I can’t play any of the media, perhaps JavaScript isn’t that bad?
- ThinkBeat 3y agoThat is odd. It works on Edge and Firefox for me. They also give you the links to download each one to play it local.
- jocaal 3y agoI use chromium on linux without proprietary codecs. There have been many times where videos didn't play for me, but these all worked.
- lupusreal 3y agoSounds like a Safari/Apple issue, not a lack-of-javascript issue.
- GrumpySloth 3y agoYup. I’ve downloaded the Webm file and iOS doesn’t know what to do with it, which is odd, since Apple allegedly added support for Webm in iOS 15. I’m on iOS 17.
- cesarb 3y ago> which is odd, since Apple allegedly added support for Webm in iOS 15. I’m on iOS 17. Which video codec? Originally webm could contain only VP8, but nowadays it can also contain VP9 and AV1. It's possible that Apple only implemented VP8 (https://caniuse.com/webm https://caniuse.com/webm implies that it has implemented VP8 and VP9 but has VP9 disabled by default); if this video uses a newer codec, it won't work.
- federicotdn 3y agoTwo projects that may be of interest, related to this topic: - Rune (https://github.com/CeleritasCelery/rune https://github.com/CeleritasCelery/rune) - A re-implementation of Emacs but in Rust (like Remacs, but actively developed) - Pimacs (https://github.com/federicotdn/pimacs https://github.com/federicotdn/pimacs) - Same, but using Go (created by me, but developed in a very slow pace)
- rurban 3y agoRune, the language, came before. So we have now 2 rune projects, the language and the emacs vm
- jdougan 3y agoAnd Runestone, the open source editor framework for iOS [1]. It is also a text editor on the app store that uses the framework. [1] https://github.com/simonbs/Runestone https://github.com/simonbs/Runestone
- whacked_new 3y agoFor anyone running nix/nixos, looks like there isn't a nix-shell-able package but `nix run github:dariof4/lem-flake` starts the ncurses version
- Dariof4 3y agoThe flake is unfortunately stuck on an old version (v2.0.0), since they changed how it's built with v2.1.0 and I haven't gotten around to fixing the flake, I'll try to see if I can get an update for it soon.
- dleslie 3y agoIt's weird to be building an Emacs clone nowadays. It's fairly clear that Vim and Emacs _both_ lost the editor wars, and VSCode has come out on top. That's not to say either Vim or Emacs are dead or will disappear, but building a clone of a niche editor is risking dooming the project to being a niche within a niche. If it's just because hacking is fun, then by all means have a blast. But if the goal is to compete with Emacs, consider instead setting the target at something with far greater popularity than Emacs.
- LukeShu 3y agoI'm pretty sure I read this exact comment 10 years ago, but "Sublime Text" instead of "VSCode".
- tom_ 3y agoAnd Atom, as well.
- tom_ 3y agoI suppose TextMate was a bit more niche, being OS X only, but at one point it seemed to be everywhere.
- tom_ 3y agoHmm, while we're counting, what about BRIEF? At one point, widely enough used that Visual Studio even had BRIEF emulation! (When I was starting out in software development, almost all of my colleagues used this. Now just a footnote.)
- ericvsmith 3y agoBRIEF by UnderWare! I loved that editor. I particularly liked the “go to this line number, but use the line number before unsaved edits”. This let you compile a file, get the error log, then start making edits; but the line numbers in the error log were still useful. https://en.wikipedia.org/wiki/Brief_(text_editor) https://en.wikipedia.org/wiki/Brief_(text_editor)
- riddley 3y agoIt's so crazy to think the original emacs was a commercial product.
- widge 3y agoThe original emacs was a commercial product?
- lispm 3y agoIt wasn't. What he probably meant, that GNU Emacs (1984-...) was based on the code of another Emacs implementation, Gosling Emacs, which also had a commercial version. The original EMACS was developed at MIT, 1976, by Guy L. Steele Jr. and David Moon.
- deleted 3y ago[deleted]
- riddley 3y agoYea sorry for the misinformation. I'd read an earlier version of the Emacs wikipedia page that made it seem like Gosling Emacs was the original. The page is clearer now.
- DonaldFisk 3y agoThe original EMACS ran on ITS on PDP 10s in the MIT AI Lab. It definitely wasn't a commercial product.
- dctoedt 3y agoIn the mid-1980s there was a commercial Emacs workalike (on floppy disks) for the IBM PC, called The Final Word, later acquired by Borland and renamed Sprint. For printing, it featured a workalike of Scribe, an early text markup language and precursor to HTML by Brian Reid. In law school I'd used a TOPS-20 Emacs and Scribe for law-review work, so later I bought The Final Word and an early HP LaserJet printer to produce camera-ready copy for my first book. Good times (sort of). https://en.wikipedia.org/wiki/Sprint_(word_processor) https://en.wikipedia.org/wiki/Sprint_(word_processor)
- shadowgovt 3y agoI think I fell in love with emacs when I realized that individual key presses could be scripted. Or possibly when I wrapped my head around macro injection. Hard to say, this thing grew on me from being an absolute space alien of an architecture to the first tool in the toolbox I reach for if I've got a new project to tackle. My advice to people when editor wars come up is that going deep on something is more important than going deep on the right thing. emacs versus vi? No strong opinion. I happened to learn emacs first and would be repeating a lot of labor to go as deep on vi. (... But I do tend to give a slight nudge in the direction of something of that ilk because relative to say, VS code... Those editors have already stood the test of time, they aren't beholden to one owner, and while past performance is not proof of future expectations, there's a lot of people heavily invested in keeping both of them alive and thriving).
- dingnuts 3y ago> I happened to learn emacs first and would be repeating a lot of labor to go as deep on vi. Speaking as someone who used vim for 10 years before getting sniped by Emacs (ten years ago.. shit I'm getting old): vim isn't as deep as Emacs, it's not even close. vim is only as deep as evil-mode. In fact, vim has a UX paradigm that's out-of-the-ordinary, and that's it. That's why in Emacs, modal editing is just another minor mode..
- _fsql 3y ago[dead]
- PaulDavisThe1st 3y agoYes the day you find out that in GNU Emacs, the "u" key is actually bound to (self-insert-command) and thus can instead be made to do anything ... well,it's quite a day.
- EdwardCoffin 3y agoI really wish that Deuce [1] [2] got more attention as a source for ideas for Emacs alternatives. It sounds incredibly cool. [1] https://web.archive.org/web/20221002093520/https://groups.google.com/g/comp.lang.dylan/c/3uuUb3Z9pAc/m/6NbE9gYpeAIJ https://web.archive.org/web/20221002093520/https://groups.go... [2] https://web.archive.org/web/20210407151341/https://discuss.atom.io/t/the-deuce-editor-architecture/2218 https://web.archive.org/web/20210407151341/https://discuss.a...
- cylinder714 3y agoCould you do a separate HN post for this, so it'll come up in searches?
- EdwardCoffin 3y agohttps://news.ycombinator.com/item?id=39404903 https://news.ycombinator.com/item?id=39404903
- dang 2y agoWe invited a repost and it ended up getting a little more discussion here: The Deuce Editor Architecture (2014) - https://news.ycombinator.com/item?id=40117075 https://news.ycombinator.com/item?id=40117075 - April 2024 (6 comments)
- logicprog 3y agoI like the idea of a more modern Emacs that uses the full power of Common Lisp a lot, but I worry I'd miss a lot of features. Does Lem have org mode, a good LSP system, something like projectile, and the ability to display images and GUI buttons and such? And most importantly, does it have an evil mode with doom/spacemacs style leader key support?
- cmrdporcupine 3y agoIt has LSP, but not the other things, really, from what I saw. You'd miss a lot. No idea about the modal editing, not my thing. Of course, it could be a foundation to build on, I dunno. EDIT: yes after watching the presentation, it has a modal/vi type mode
- phforms 3y agoTake a look at the GitHub readme[1]: “Lem supports other programming languages thanks to its built-in LSP client. You can choose between an Emacs and a Vim mode.”. Although I wish they’d explore the Kakoune/Helix style of editing too, which I think will become a major competitor to Vim (and I personally prefer it myself). However, I am also worried that Lem won’t gain any traction because the Emacs ecosystem is just too vast and has too many killer apps (Magit, OrgMode, Dired, the amazing built-in Help/Documentation - to name a few). But it may very well become a modern Emacs alternative if they focus on better user experience, leave behind some idiosyncrasies of the past and create great alternatives or ports of Emacs’s most appreciated plugins. There is a great opportunity in starting from scratch, but I guess it is also a huge challenge to compete against decades of development, a huge community and a rich ecosystem. [1]: https://github.com/lem-project/lem https://github.com/lem-project/lem
- logicprog 3y agoThank you! I actually found my way to its website and then downloaded, compiled, and briefly tried it after I posted this comment and discovered things for myself. It looks like it doesn't support a leader key so that's a pretty big blocker to me using it for even basic editing, but you're correct the bigger reason I won't use it is because it doesn't have the truly incredible emacs ecosystem.
- cmrdporcupine 3y agoI tried out Lem a couple times, and I was impressed, but couldn't see myself moving to it. What was impressive is how starting it up just.. worked... with LSP type stuff... I was editing Rust and that all functioned. Not as featureful as my Emacs setup, but further along than I expected. And the keybindings were mostly familiar. But so many of the things I now rely on -- company mode, treemacs, vertico, etc. are not there. The value in Emacs is the huge community of things. Also I had some instability each time I tried it -- buffers filling up with Common Lisp backtraces, etc. Still I really want to see some advancement in this arena, because the actual implementation of GNU emacs leaves a lot to be desired in 2024. The packages overtop of it are nice, but the core editor blocks and pauses too much.
- vindarel 3y ago> treemacs try C-x d aka M-x filer?
- cmrdporcupine 3y agoThat's.. sort-of similar. Treemacs is more project based, not CWD based. That seems more like "dired in a left-panel." Useful though.
- LuciBb 3y ago[dead]
- mark_l_watson 3y agoAfter reading this article this morning I went down a very fun rabbit hole today: removed my SBCL installation, installed Roswell to install SBCL again, etc. The good things: editing works, slime works, access to all my Quicklisp based libraries and projects. The bad things mostly involve limited Lem functionality because I rely on many eLisp libraries like treemacs, etc. I really like the speed, and having everything in Common Lisp is fun. I was using Roswell to build Lem from source, and I really liked the project’s setup, build process.
- vindarel 3y ago> treemacs Try C-x d in Lem (Alt-x filer) https://lem-project.github.io/usage/usage/#filer---project-explorer https://lem-project.github.io/usage/usage/#filer---project-e...
- mark_l_watson 3y agoThanks!