4 ms·
This is wonderful. Consider decoupling the core from Emacs, or packaging in a way that doesn’t require it as heavily. I’ve been doing my own exploration of ter
by brimtown 8mo ago
This is wonderful. Consider decoupling the core from Emacs, or packaging in a way that doesn’t require it as heavily.
I’ve been doing my own exploration of terminal ASCII games via Dwarf Fortress instead of SimCity. I’ve learned that letting a coding agent play is an interesting way to get feedback as well :)
https://github.com/brimtown/claude-fortress https://github.com/brimtown/claude-fortress
- hrmtst93837 8mo ago[flagged]
- larsbrinkhoff 8mo agoHow would it be run without Emacs? You might point out that there are things like elisp.lisp that purports to run Emacs Lisp in Common Lisp, but I'm not sure that's viable for anything but trivial programs. There's also something for Guile, but I remain unconvinced.
- notpushkin 8mo agoMaybe a Common Lisp core with an Emacs frontend running it in https://www.gnu.org/software/emacs/manual/html_mono/cl.html https://www.gnu.org/software/emacs/manual/html_mono/cl.html?
- mickeyp 8mo agoWhy not just use the best known emacs lisp core, then? Like say emacs.
- notpushkin 8mo agoTo allow it to run on other lisp dialects as well. (I’m just trying to defend GP’s point – I’m not a heavy lisp user myself, tbh.)
- larsbrinkhoff 8mo agoPortability across Lisp dialects is usually not a thing. Even Emacs Lisp and Common Lisp which are arguably pretty close rarely if ever share code. You could make a frontend for dialect A to run code from dialect B. Those things have been toyed with, but never really took off. E.g. cl in Emacs can not accept real Common Lisp code. I'm not arguing against the idea, I'm just curious how it would work because I see no realistic way to do it.
- notpushkin 8mo agoGotcha. Too bad – I was hoping there was at least some (non-trivial) subset you can run on both :( Any idea why is it not a thing? Is this level of interop not practical for some reason?
- larsbrinkhoff 8mo agoLisp dialects have diverged quite a bit, and it would be a lot of work to bridge the differences to a degree approaching 100%. 90% is easy, but only works for small trivial programs. I say this, having written a "95%" Common Lisp for Emacs (still a toy), and successfully ran an old Maclisp compiler and assembler in Common Lisp. https://github.com/larsbrinkhoff/emacs-cl https://github.com/larsbrinkhoff/emacs-cl https://github.com/PDP-6/ITS-138/blob/master/tools/maclisp.lisp https://github.com/PDP-6/ITS-138/blob/master/tools/maclisp.l...
- agumonkey 8mo agostill in their main doc https://www.gnu.org/software/guile/manual/html_node/Emacs-Lisp.html https://www.gnu.org/software/guile/manual/html_node/Emacs-Li...
- larsbrinkhoff 8mo agoHaving read that, I'm even less convinced it's not more than a toy.
- convolvatron 8mo agoyou could probably use the unexec tooling
- larsbrinkhoff 8mo agoI don't see how unexec would help with "decoupling the core from Emacs" since the core is written in Emacs Lisp.
- convolvatron 8mo agoyou could make a standalone executable. I was assuming that people didn't want to start emacs to run it. if its just because...emacs is just morally offensive and one doesn't even want it running under the covers, I dont how to help you.
- larsbrinkhoff 8mo agoEmacs is needed because it provides Emacs Lisp.
- DonHopkins 8mo agoIf you used Emacs as a stand-alone game engine, at least it could make it claim it was "Reticulating Splines..." for a few minutes while it started up. I kid, I kid! I love Emacs. I named my cat Emacs!
- internet_points 8mo ago> Consider decoupling the core from Emacs, or packaging in a way that doesn’t require it as heavily. but then we'd have to write an interface package to run it from emacs
- vkazanov 8mo agoI mean, i dont mind it but having a client/server architecture is a very different story to just 2 elisp modules. Here, the point was to have everything in emacs completely, and also see if the architectural contraints make sense for elisp (and they do) And have some fun, of course.