Ami libjansson
![ami libjansson ami libjansson](https://images.radio-canada.ca/q_auto,w_960/v1/ici-info/16x9/alanis-obomsawin.jpg)
#Ami libjansson code#
Refactoring the cursor code to add in things like multiple cursors to the core emacs without hacky (though impressive) solutions like the existing package, and moving towards modern defaults like allowing the primary cursor to be off screen, and cleaning the default menus and toolbars for a more modern out of the box UX would all be on my wish list.Putting an Audio Video Chat on your application has become imperative these days. This would provide a much more competitive experience than what modern browser based editors are providing in terms of polished rendering, at a much lower cost (since it's not DOM based). In other words, toolbars, and scrollbars appear the same on all platforms, style to match the emacs theme, scrollbars are pixel perfect, and everything is hardware accelerated with optional hardware accelerated animations. I think my long term preference though, would be to rewrite the majority of the GUI rendering to function more like a game. In my case I want to implement smooth scrolling as a time capped "animation" in the rendering code, rather than some of the current approaches which require special elisp scrolling functions and wasteful forced redisplay (which redraws everything, creating very high CPU). I've been playing around trying to figure out how it works. The code for that is really rather dated, and complicated. I think for emacs, the most dated thing is actually going to be the GUI. I think in both cases the rewrite was largely a mistake, and time would have been better spent improving the original code base.
#Ami libjansson professional#
I've done several ground up rewrites in my life of some fairly large code bases, tens of thousands of lines personally, and many more as part of a professional rewrite of a million line application. I gave a talk on this vision for Emacs at FOSDEM 2020 in case you're interested in that. Plus, the impedance mismatches between Emacs Lisp and Scheme are just not elegantly solveable. Emacs core is already difficult to hack on but Guile's code is even more difficult to understand.
![ami libjansson ami libjansson](https://static.tildacdn.com/tild3838-3363-4666-a531-636636323538/-/resize/504x/image.png)
I'm reasonably a fan of Guile (and especially of the Guile developers), but again I don't think it's a good choice for Emacs. Emacs doesn't have the problems that Rust solves. I'm a big fan of Rust, but I don't think it really provides many benefits for Emacs. Personally I think a MIR-based JIT would be a better choice, but the native compilation approach is probably a good stepping stone. (Look up widget-put for a particularly sad example.) Work is being done in this area for native compilation. the only reason no-one has done so is performance. The main reason to take this approach is that we've seen, since the advent of package.el, that Emacs Lisp is just a lot simpler to hack on than the C core.īecause much of Emacs' core is already lispy, some parts can be converted quite easily. In the ultimate end goal, the only C code used in Emacs would come from 3rd party libraries. Second, I think the best way forward for Emacs is to slowly rewrite the core in Emacs Lisp. There's a lot I love about Emacs, and one of the main things is the existing body of Emacs Lisp preserving this is a must-have. This approach - which is how Emacs has always operated - preserves the good things about Emacs. Let's get this out of the way first: a big no to a rewrite! It's fine to replace parts incrementally, but the system as a whole has to keep working while doing so.