Earlier quoted context omitted.
> Use Common Lisp instead of Emacs Lisp. Interesting, why not a scheme? Is it because the popularity in the industry? I don't know much about Emacs or lisps and looking to understand better
elisp is more like CL than it is like Scheme; RMS was aware of CL when he was working on emacs, but was suspicious of some of its new features (like lexical binding).
Ask HN: If you were rewriting Emacs from scratch, what would you do differently?
181–190 of 340 posts
Re: Ask HN: If you were rewriting Emacs from scratch, what would you do differently?
#182Re: Ask HN: If you were rewriting Emacs from scratch, what would you do differently?
#183Re: Ask HN: If you were rewriting Emacs from scratch, what would you do differently?
#184Almost all the comments here are about things that really possible to do in current Emacs i.e. 'feature-requests' and not "fundamental pitfalls of this foundational application". For me, it would be just: - Redesigned with concurrency in mind. - Common Lisp, Scheme, or anything else other than Elisp. [Just the same way Neovim adapted Lua instead of VimScript] - More sane defaults for new users.
Someone created lem [0] which is basically an Emacs in Common Lisp. I don't know for concurrency but I hope it is designed to do so. Also there isn't org-mode. [0] : https://github.com/lem-project/lem
All that said, it seems like Emacs has been improving rapidly the last few years: native compilation of Elisp, LSP support, good integrations with LLMs.
Re: Ask HN: If you were rewriting Emacs from scratch, what would you do differently?
#185Biggest issue w/ emacs is once you start adding packages everything is half-broken. Ideal emacs replacement would preserve the ease of extension and flexibility but have more of a static time verification systems (types and ...?) to prevent bugs (and bonus, make easier to achieve speed too).
A few years ago I very much shortened my .emacs file using the Straight package manager and I have been happier.
Re: Ask HN: If you were rewriting Emacs from scratch, what would you do differently?
#186Disclaimer: my experience with Emacs is limited. I've only used it because it's the path of least resistence to learn Lisp. So for me it would be: everything that makes Lisp programming easier, like: - Use a Lisp implementation that's not tied to the editor. - Slime/Sly + Quicklisp functionality out of the box. - Integrated syntax awareness, preferably "syntax directed" for programming. There is more, but it'll be ob…
Re: Ask HN: If you were rewriting Emacs from scratch, what would you do differently?
#187Earlier quoted context omitted.
> Crazy side of me would like to see it fully written in a safe(r) language like rust, swift or zig. Emacs Lisp is a very safe language. Even though the Emacs core is written in C, that is immaterial and impalpable to Emacs users as they only interact with Emacs Lisp. What benefits would Rust / Swift / Zig bring to an average Emacs user? > Basically your config would be a recompiled subsystem, loaded at runtime, or y…
> elisp -> bytecode compilation in Emacs… predates humanity? Actually, I believe it was developed by HackerNews hater Jamie Zawinsky.
Re: Ask HN: If you were rewriting Emacs from scratch, what would you do differently?
#188Make it Programming Language Macros, PLMACS. Kind of life a POSIXs standard. Or the Truffle framework.
Re: Ask HN: If you were rewriting Emacs from scratch, what would you do differently?
#189I'd make cursors be positioned within the document instead of on the screen. Currently, Emacs does not support off-screen cursors. If you attempt to scroll a cursor off screen, it will move within the document to stay on screen. This behavior is contrary to all modern text editors, and there is no good workaround. I once made a serious effort to start using Emacs, but ultimately stopped because of the annoying cursor…
Re: Ask HN: If you were rewriting Emacs from scratch, what would you do differently?
#190Instead of making it just an elisp interpreter, make it a generic platform where you can interpret any language and have them with together. Make it Programming Language Macros, PLMACS. Kind of life a POSIXs standard. Or the Truffle framework.