Personally, in practice, I rarely feel that resumable exceptions are important. Typically I have a data literal as a kind of mock and push that through the function or function chain I'm tinkering with in the REPL until I'm satisfied with the result.
Might be that I spend a lot of time in PHP/Psysh, Elixir, Picolisp and so on rather than good old CL, maybe I'd have another opinion if I had ever been payed for CL work.
(also kuddos to anyone using Factor in production^^)
In work settings I've mainly used Factor for data exploration but I can see it fit neatly as a data transformer or combiner in a pipeline from one set of API:s or protocols to some other, since it's relatively easy to express such things and one can get a performant binary to deploy.
https://www.theregister.com/2023/11/23/medley_interlisp_revi...
I'd love to see some kind of shim to run Medley on top of SBCL, rather than its own VM.
If you are trying to attract people to your programming language in 2024, I'm afraid that Emacs is not tempting bait, no matter how good the integration. It appeals to very niche tastes.
2. I've been trying to learn Emacs on and off for about 25 years and I personally think it's horrible beyond belief. Vim is just as bad, but at least as someone who's been using vi for closer to 35 years now, I know how to open something, change a few characters and save it.
I'm not a programmer. I don't use code editors from choice. But I have done in the past and I have opinions about them.
It looks to me like you have a choice: a nice modern editor with poor integration, or a horrible crufty old editor which doesn't even know what the Alt key or windows are called but which has great integration.
IMHO, as expressed on HN before, Lisp ought to have a slick GUI system for newbies approaching it. The commercial ones do. For FOSS, the code is out there. It's a done thing, many decades ago. It just needs modernising.
> For FOSS, the code is out there. It's a done thing, many decades ago. It just needs modernising.
That one is an ancient code base dating back to the 60s, written in a Lisp dialect roughly ten people in the world can program with some competence (I can't, can you?). It's a nice project, but it is far far away from what GNU Emacs provides. GNU Emacs has many many thousand man years more work and polishing in it, ongoing.
If you would learn a complex and large Lisp like Interlisp or Common Lisp, then one would better use a development environment for it. I doubt Medley is easier to use&learn than something like GNU Emacs + Slime + SBCL. For Common Lisp, Medley is the worse development environment, since very few code has developed for and with it. People use other tools to write Lisp code (vim, GNU Emacs, ...). People are just trying to get Medley to somewhat support the state of Common Lisp from 34 years ago (CLtL2). It has, like, zero support for Scheme or other programming languages (Python, Java, JavaScript, C++, Rust, ...).
GNU Emacs is not my favorite Lisp IDE, but it's by far the most practical solution for average developers: it does not cost anything, it has good Lisp support for several Lisp dialects and all kinds of other programming languages, it runs good enough on almost all current operating systems, hopefully respects my data privacy, ...
Sure one can use a new editor with less support for Lisp. I've also known Lisp developers using vi in a terminal. People have different preferences for their tools.
Believe it, baby.
See my response immediately above. Or maybe immediately below, depending on HN.
P.S. A macOS version is cheating. That I can use... but it's not the standard Emacs UI.
There is no such thing as a single standard UI. In addition to the terminal version, GNU Emacs was ported to window systems loooooooong time ago.
It's perfectly normal to use them. I use the GTK version of GNU Emacs on Linux.
Yes, there is, and it is called CUA.
https://en.wikipedia.org/wiki/IBM_Common_User_Access
I learned about 20 different text editors before CUA came along. I refuse to learn any new ones unless they comply with CUA.
I write English, not code. Any one of dozens of CUA editors are perfectly fine and adequate for my needs.
> GNU Emacs was ported to window systems loooooooong time ago.
So its programmers have had decades to adapt it so that it conforms to the standards set in the 1980s and adopted by the entire computer industry, from Apple to Xerox.
If they can't be bothered to adapt it, I can't be bothered to learn their ugly pre-standardisation UI.
Some examples: a document is held in a window which can be split into panes to see more than one at a time. Those are the terms. Use them, or GTFO.
The keystrokes for file operations are always Ctrl + the first letter of the relevant English verb, e.g. Ctrl+O is Open, Ctrl+P is Print. The Control key is abbreviated Ctrl and nothing else.
The key next to Ctrl is called Alternate, abbreviated Alt. It is not called anything else on PC systems, although Macs call it Option, abbreviated Opt.
It is not called "Meta" and no hardware made in 40 years called it that. The software was ported to the hardware; now port its manual and its UI, or GTFO.
Incidentally, a second danger of using the wrong name is that because it's wrong, different teams use it for different things. The KDE team call the Super key "Meta".
https://docs.kde.org/stable5/en/khelpcenter/fundamentals/kbd...
They are wrong, too.
Ctrl, Alt, Win/Super. Deal with it. The world changes. Software must adapt.
None of those use CUA (-> the Apple UI guidelines for those are either older (Mac) or newer), keystroke for file applications don't use control, there are no win/super keys, there are no multiple documents using window "panes" (as you can see in any of Apple's applications, for example Apple Terminal uses Tabs, not panes), ...
See: https://en.wikipedia.org/wiki/Table_of_keyboard_shortcuts
Ugly...
Command is Super. Came key, same scancode, etc. Just a different name.
Very broadly, if one remaps the bottom left keyboard key on a Mac to Cmd, and the Super key to Ctrl, then CUA control keys all Just Work™ on Mac OS X.
This is in fact how I normally use Macs when using a PC keyboard on them.
So, no, I disagree on all points. (I don't really care about the phones. I don't own them or use them.) I've spent considerable time over decades studying this and I disagree with every point here.
Even for Microsoft: many users will now use something like the Microsoft Office suite in a web browser.
Take the current "Apple Pages" text editor / layout program.
It does not look and feel a bit like CUA. Not 10% of the UI works like in Microsoft Word...
For our entertainment: On my MacBook Pro keyboard I mapped the Lisp Machine keys:
control = control, meta = option, symbol = command, right super = right command, right hyper = right option
So I get from left to right: control, meta, option, super, hyper.
I use it, even though it is not CUA compatible. :-)
So then it does exist. Otherwise it wouldn't be called anything any more.
It's like bolting pedals on the sides of a huge car and saying "Look -- it's a bicycle now!"
CUA compliance needs a total rewrite of the UI and the manuals and the tutorial.
Fortunately, much of it has been done, but it's still incomplete and it's hard for non-Emacs-users to get working.
But it's here:
But I seem to remember after these 30 years that was something simple, like Ctrl-X Ctrl-S to save, and Ctrl-X Ctrl-C to quit.
Edit: I don't have Emacs installed absolutely anywhere; but I went to a machine provided by the GCC Farm project and tried it there. I remembered right.
The point being that I learned literally dozens of editors and UIs in the 1980s and early 1990s... and then CUA came along and swept it all away, and I never looked back.
I wrote much of the original Wikipedia article on CUA:
https://en.wikipedia.org/wiki/IBM_Common_User_Access
Much more recently I also wrote this:
https://www.theregister.com/2024/01/24/rise_and_fall_of_cua/
I never ran Emacs, never had any reason to learn Emacs, so I never did.
I did learn WordStar, WordStar 2000 (totally different), WordStar Express (totally different again), WordPerfect, MultiMate, DisplayWrite, MS Word 4.x and the different 5.x and the different 6.x, plus WinWord 1 and the different 2, and LocoScript, and The Last Word, and Edlin, and DOS EDIT, and many many more.
I am very much not unable to learn new editors. But for over 30 years now, I haven't had to. And that's wonderful and I am absolutely not learning another new different editor now, at over half a century old.
Any editor that wants me to try it must conform 100% to the CUA standard, or it can die in a fire. Weird editor keystrokes are 1970s/1980s stuff, and keeping them 40 years is inexcusable.
The core of vi is standardized in POSIX (IEEE 1003.1)
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/v...
The nice thing about standards ...
Maybe CL's flavor of image based development is just an example of good ergonomics, because the fundamental interactions (edit, compile, update image, test, repeat) are not really different from developing a C program inside a Docker container.
When coupled with hot reload, the experience comes close enough.
There's a new condition/restart package in the ecosystem, but this is currently of limited use because errors don't use it. However, one can use Rebugger to capture stacktraces and drop into an interactive debugger at the stack frame where the error is thrown (caveats mainly involve C 'builtins'), which is for REPL use the main advantage of condition/restart. I don't bother since I have InteractiveErrors installed, which lets me navigate to a stack frame in the error and open the editor at that line.
None of this is image-based, either, but on a level playing field the interactive programming experience Julia offers is exceptional.