6 ms·
Mine, an IDE for Coalton and Common Lisp
- mark_l_watson 6mo agoI live in Emacs, but I will give Mine a try when get a free hour. I read about Coalton in X and follow the author but I haven't invested time yet to try out.
- sctb 6mo agoInteresting! Looks like the IDE itself is written in Coalton (https://github.com/coalton-lang/coalton/tree/main/mine https://github.com/coalton-lang/coalton/tree/main/mine) and you can either bring your own terminal or use the standalone version which uses Tauri and Xterm.js.
- MarsIronPI 6mo agoHuh, I wonder why they made their own IDE instead of integrating with Sly/SLIME. Not trying to knock the project, just genuinely curious. Writing a whole editor sounds like a lot of work. I like the choice of Iosevka as a font, though. Edit: One value I do see myself getting from Mine is as an example Coalton project. Last time I tried Coalton I couldn't figure out how to get ASDF to load standalone Coalton files. Now I have a working example to copy.
- mepian 6mo agoThere is an explanation in the blog: https://coalton-lang.github.io/20260424-mine/ https://coalton-lang.github.io/20260424-mine/ > However, the above is a tall order for someone just wanting to dip their toes in, to see if they have any interest in Coalton or Common Lisp. A couple hours on the weekend is easily sunk into getting configurations right, and the right subsystems installed, and the right paths setup, just so the first line of code can be executed. > mine is not Emacs. It aims to eliminate all of that, and be a Coalton/Lisp-first development environment, whose only job is to be a Coalton/Lisp-first development environment. But more than that, it needs to be accessible. A non-programmer should find it easy to download, install, and run mine with nothing more than a download link.
- dajt 6mo agoWhy would a non-programmer want to download, install and run a CL IDE?
- aidenn0 6mo ago1. It is a potential first step on the way from non-programmer to programmer. 2. "Easy enough for a non-programmer" may also say something about how easy it is for a programmer.
- dajt 6mo agoI think the number of non-programmers who think 'I want to learn to program; I'll start with common lisp but emacs is too difficult!' is so small it is not a group worth considering. It's probably MIT & Stanford undergrads? It's their IDE and they can design it how they want, but that's a weird goal for a CL IDE.
- mepian 6mo agoYou haven't seen the Lisp subreddit then, there is a post complaining about having to learn Emacs at least once every week or so.
- aidenn0 6mo agoI personally suspect that the overwhelming majority of those complaining would find a different reason to not learn lisp if the Emacs barrier were removed, but I very much might be wrong.
- chiffaa 6mo agoI wanted to avoid Emacs so I discovered Lem (so now I live in a different Emacs when writing CL), so it's not always this way
- reikonomusha 6mo ago
- bitwize 6mo agoIosevka is the king of scalable terminal/programming fonts. I'm not sure why, maybe it's because the glyphs have lines and angles that look "terminal-y" in the same pleasing way Terminus and the 3270 font do whilst avoiding the problems that accompany trying to scale a pixel font.
- MarsIronPI 6mo agoI love Iosevka. I use it as my monospace, serif and sans-serif fonts and it's gorgeous, in its own unique way.
- reikonomusha 6mo agoCoalton is also a full-featured embedded language of Lisp that is sufficiently paradigmatically different than run-of-the-mill Lisp code you'd see in a Common Lisp textbook, since it has a complete, Haskell-like static type system and Lisp-1 naming. Coalton also sees active development because aspects of the language continue to evolve. The consequence is that an integration with SLIME would have to be a very extensive contrib [1] that is shipped with the Coalton version the user is using, and updated whenever Coalton is updated. No doubt the contrib would have to be very elaborate—it would have to hook in to basically every aspect of SLIME and SWANK if it should be "Coalton-native", from the display of type errors to how auto-complete is handled. Unless the contrib author is very meticulous about backward compatibility, then version mismatches would make everyone involved unhappy. The contrib author would get annoyed at constant bug reports about things not working (even if there's a nice "your Coalton or contrib are out-of-date" error), and users would get annoyed they have to keep a Lisp library in sync with an Emacs add-on. None of this gets to the matter that Emacs simply isn't a popular text editor, and it's not really the one people are rushing to learn, even if it has substantial merit. I don't know how trustworthy this source is [2], but it claims that Emacs represents a fraction of a percent of the developer community. Even if it's off by 10x, it's still 1-in-50 developers at best. [1] There's a basic one that shows Coalton type hints, but not much more: https://github.com/slime/slime/blob/master/contrib/slime-coalton.el https://github.com/slime/slime/blob/master/contrib/slime-coa... [2] https://pypl.github.io/IDE.html https://pypl.github.io/IDE.html
- Marcello222 6mo agoEverybody has its own preferences. I have tried it out (linux, command line version) and I can report: Mine is really fast and responsive compared to other Lisp IDEs like emacs which appears to be slow like a snail in comparison.
- armitron 6mo agoIf you're a power user, the sooner you learn Emacs the better as the synergies with any Lisp language (particularly Common Lisp) are simply too strong to be ignored and there is no contemporary alternative that rivals it. For new users, this looks like a welcome alternative to messy things like Lem that never really worked very well for me.
- vfclists 6mo agoLem doesn't claim to be a Lisp development environment or IDE. It describes itself as General-purpose editor/IDE with high expansibility in Common Lisp
- reikonomusha 6mo agoFor historical interest, Lem did used to advertise itself as a Common Lisp development tool specifically, but that has changed relatively recently (past year?). From my distant vantage point, it looks like general interest in it grew, and Lem itself evolved in general-purpose directions, so they pivoted the messaging to be about it serving as a general-purpose editor instead of one just for Common Lisp.
- Pay08 6mo agoProblem is, Emacs is really slow on Windows. If I can get a reasonably fast Lisp IDE on Windows, I'm all for it.
- iLemming 6mo ago> Emacs is really slow on Windows Emacs on native Windows has to go through the Win32 API for everything - file I/O, process spawning, subprocesses. Packages that shell out constantly (lsp-mode, magit, etc) will feel sluggish because spawning processes on Windows is genuinely slow compared to Unix. The more shell-heavy your config, the worse it gets. This isn't really Emacs' fault. I really don't understand devs still insisting on running Emacs on Windows natively. Come on, guys, WSL2 been around like forever. You get real fork/exec speeds, proper shell integration, the full Unix toolchain, etc. Why choose inflicting pain instead of a trodden, well-known, existing path?
- threethirtytwo 6mo ago[flagged]
- greggroth 6mo agoSame. It's an awkward time to develop a new IDE.
- threethirtytwo 6mo agoIt’s not awkward at all. It’s a fun project and neat. I support these types of projects. I guess I’m being voted down because people hate IDEs and text editors now. I think it’s wrong to trash this project just because it’s an older concept.
- eikenberry 6mo agoYou are being downvoted for calling IDEs and text editors legacy, which is seen as signalling and not contributing to the conversation.
- threethirtytwo 6mo agoOh one Adjective "legacy"? And that threw people off? Ok replace that with "cool" and I wouldn't get downvotes? Geeze
- satiric 6mo agoYes, you can expect people here to read your comments and judge them by their content. Were you expecting otherwise?
- threethirtytwo 6mo agoWhy don't you read my comment again and respond to the comment at hand rather then make some asinine response on how people respond to the "content" of a comment. No shit sherlock. To spell it out for you, my comment was mayhap a bit more sophisticated for you to comprehend. I was not talking about "content" but the nature of the "content" within my comment and how one irrelevant adjective "legacy" was taken out of hand because it offended you. Why did it offend you? Probably because it's true.
- bitwize 6mo agoI keep hoping the Common Lisp community will step up and deliver better Visual Studio Code support. Asking new devs to learn Emacs, alongside all of Lisp's idiosyncrasies, is too tall an order. I bro'd through it in the 90s but today's new devs have been spoiled by modern UIs (and that's a good thing) and shouldn't have to cope with Emacs and its stubborn retroness. Seeing something like this is a step in the right direction.
- vfclists 6mo agoIf Lisp developers want a better editor and IDE they can support Lem. VS Code doesn't provide the liveness and extensibility Emacs and Lisp developers enjoy in their environments.
- bitwize 6mo agoLem is still too Emacs-like. I'm talking about beginners, not seasoned Lisp hands, most of whom—until the great boomer dieoff occurs at least—are already comfortable in Emacs. If you're still just finding your feet in Lisp, you're not aware enough of its tremendous power to miss it from your IDE. You're just wondering why you have to Escape Meta Alt Control Shift to get anything done instead of, you know, just using the menu and mouse commands and keyboard shortcuts that literally everyone else uses.
- skydhash 6mo agoYou can always start the REPL on its own and start playing that way. Or use something like: sbcl --load <filename> Sly/Slime is not essential to play around with Lisp. Emacs just has the right architecture for an REPL workflow. You can do REPL development with Sql and various other programs in Emacs.
- reikonomusha 6mo agoSomething like SLIME isn't essential to execute Lisp code, you're right, but it is essential in order to understand the efficiencies afforded by interactive development, which may as well be one of the pillars of the language, since "garbage collection" and "an object system" aren't in and of themselves differentiators anymore*. Using something like SLIME also takes a lot of the pains that people have with Lisp away, namely balancing parens and indenting code correctly. People who do the "I'll use my own editor" approach to beginning Lisp usually write things that look like: (defun myfun(x) (let (x) (setq x 5) (when (eq x 6) (print "6") ) ) ) Which is absolutely not what Lisp code should look like. Emacs-and-kin don't outright stop that, but the defaults are such that it's less likely. ____ * Of course, technically, CLOS is something to behold. But you won't sell someone on Lisp because it can do "OOP".
- arikrahman 6mo agoVery cool project and welcome edition to the CL community!
- eggy 6mo agoI'm going to download and check out Mine and Coalton. Right now, I use Neovide and Lem interchangeably. However, I am in deep with Shen. I bought a hardcopy of The Book of Shen, 5th Edition, and I still have Peter Kogge's 1991 text, "The Architecture of Symbolic Computers". I suspect the Hindley-Milner type system in Coalton will be more familiar to the Haskellers out there, but it is not as strong as Shen's Sequent calculus type system. In Shen, computation is allowed in side-conditions (if, let, and, etc.), so you can compute over terms inside types. Shen wins for raw expressive power and programmable types. Shen is very portable, but being a DSL, Coalton must integrate nicely with Common Lisp. And you get native exe's. Glad to see a simple way for people to program in CL or Coalton without having to go through the decades I have done with Vim and Emacs. VS Code bores me, but it is practical, even if it seems like junkyard truck with everything bolted on or hanging off of it.