6 ms·
The Emacs Package Developer's Handbook (2017)
- anon27893889356 8y agoI just started reading the geiser.el elisp code with the long-term objective of obtaining evaluation support for kawa scheme. I don't feel I master elisp yet but I'm at the point where I'm not afraid of hacking together some dirty elisp code. Even so, I didn't think there were so many relevant topics I didn't even hear about. Great resource for my objective and skill level I guess.
- cnasc 8y agoInteresting, I was just starting to dig into geiser as well! (But for Gerbil scheme, though Kawa is interesting to me as well)
- anon27893889356 8y agoI'm interested in kawa for scripting an application I'm trying to make in java/scala. Scala's Ammonite somehow works too and I just wrote one of those dirty hacks to wrap an ammonite repl running in a term window so I could use ammonite's completion and execution in an org-mode buffer to explore/script things. However, sometimes lisps make interactive exploring a little simpler and that's why I initially embedded clojure. Clojure's emacs tooling is spectacular, so much that it feels like I'm actually extending emacs with java libraries. But with clojure I had 2 problems: - embedding a clojure repl the usual way after the update to java 11 started giving some error I couldn't solve. Sure, I could just juse java 8. Or use my project as a jar dependency, but doing java -jar ... and already having a nRepl server running is simpler than adding a jar to the classpath from a repl - licensing: I still don't know which license to use between bsd/apache and gpl, but in case I go with the gpl there is that epl/gpl incompatibility for distribution. However, even for this I think there are workarounds that would be ok for my case The point is that kawa doesn't have these last 2 problems at all, and writing geiser support is a good elisp practice that also produces something that may reveal itself useful later. And that's why I'm interested in continuing the geiser-kawa attempt that https://gitlab.com/mthl https://gitlab.com/mthl posted at https://gitlab.com/jaor/geiser/issues/55 https://gitlab.com/jaor/geiser/issues/55. I evaluated several other languages/platforms before choosing java, but eventually only java and javascript had the killer library. I went java.
- eadmund 8y agoOooh, https://gitlab.com/ambrevar/emacs-gif-screencast https://gitlab.com/ambrevar/emacs-gif-screencast looks interesting. There's a ton of good stuff in here … there goes my weekend. The organisation is a bit idiosyncratic, but I think it works.
- Jugurtha 8y agohttps://asciinema.org/ https://asciinema.org/ I sometimes record deployments, bug fixes, refactoring, etc...
- celeritascelery 8y agoI am always amazed at how many libraries and tools there are for programming in Elisp. One of the things that make it so fun.
- m463 8y agoI suspect because statistically programmers are in their editor, they're just a distraction away from playing with elisp.
- celeritascelery 8y agoI have shaved many elisp yaks in my day.
- outworlder 8y ago> I suspect because statistically programmers are in their editor, they're just a distraction away from playing with elisp. I think that's one reason, but not the only one. But they all fall in the 'barrier of entry' theme. You are literally two keystrokes away from being able to replace any running elisp code in your editor (C-x C-e). You have a default scratch buffer every time you start the editor. You don't have to create packages or do anything else to start coding. You can inspect everything, even ask which function is run when you type a character, which will take you right to the source code, which allows you to copy, modify, eval, and then paste it right into your .emacs when you are done. After that, you just uploaded the file somewhere for other people to use, if you are so inclined. Historically, they would just plop the file right on their .emacs.d. Now, you can go the extra mile and make a package. Which is comparatively easy as you already have the code written and it just needs a home. One time, I created a few commands to query Jira (grab issues assigned to me and stuff like that). It took me more time reading Atlassian's spec than it took to code the whole thing. I've also reproduced the entire ending of Portal (the game) in Emacs, complete with synchronized lyrics, the ascii art and the color scheme (before color-themes was a thing). That was pretty easy to do. Compare with other editors, even some of the 'cooler' ones (like VS Code). It is not obvious what to do if you want to change something, or where it even is. The config file is not programmable. You need to figure out how to create a package first, and only then start writing code. And that's VSCode. Some don't even allow you that much flexibility, other than maybe invoking shell commands. And don't get me started on "IDEs" like Eclipse. Last time I extended it, I required two running copies of the environment and a full blown 'project' in order to add a lowly menu entry.
- TeMPOraL 8y agoI'm in the middle of bundling some of my Elisp code into a production-quality package, so this will come in handy. Thanks 'rauhl for posting it!