[HN Gopher] A curated list of Emacs Lisp development resources
___________________________________________________________________
A curated list of Emacs Lisp development resources
Author : andsoitis
Score : 96 points
Date : 2023-07-02 14:41 UTC (8 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| tra3 wrote:
| I found that learning lisp development follows logically from
| using emacs. To configure emacs you have to use elisp, so you
| naturally become proficient in it.
|
| That also finally elucidated the staying power of emacs. I don't
| know of any other software system that has the same introspective
| capabilities as emacs. That makes learning and modifying emacs a
| natural extension of whatever you're doing.
| otterpro wrote:
| Obligatory video "Interview with an Emacs Enthusiast in 2023
| Colorized" https://www.youtube.com/watch?v=urcL86UpqZc. "Emacs is
| a part-time job". I agree.
| npsimons wrote:
| You _do_ realize that 's satire, right? I'd hope the channel
| name ("Programmers are Also Human") would have given it away,
| but . . .
| ReneFroger wrote:
| I found this overview of https://emacs.zeef.com better to find
| quickly Emacs resource you might need.
| Theizestooke wrote:
| Every link just reloads the site. For me, at least.
| NeutralForest wrote:
| For the uninitiated, writing Emacs Lisp is pretty easy. The only
| thing that requires some getting used to is all the existing
| functions to work with Emacs. There are thousands of them, acting
| on different facets of the editor, like for receiving user input,
| manipulating text and interacting with "modes" ; Emacs'
| abstraction that specifies behavior based on which file is
| currently being edited.
| LanternLight83 wrote:
| I've been down this rabbit hole, to the level of reading
| disassembled bytecode to optimize preformance. Elisp is alright
| for what it is, but Emacs itself contains so many hacks and
| subsystems at the C level that elisp isn't allowed the
| comprehensive level of access that it would need to make me happy
| highly performant extensions.
|
| To be clear, these limitations in reasonable package scope come
| with positive trade-offs in the broader ecosystem such as
| promoting stability, inter-operability within emacs, and the
| insulatory disuse of FFI. I just feel like Emacs promised me I
| could do anything with elisp, and then denied me the low-level
| control that a lisp like Guile or Common Lisp _is_ capable of.
| Helix does this better by not having extensions making any
| promises.
| sourcepluck wrote:
| Thank you for sharing this! I don't know how I'd missed this
| resource until now. Brilliant stuff, cheers, I'll be going
| through some of these tutorials.
| lavventura wrote:
| I can code code in C, Python, and Java. But I don't have courage
| to learn Lisp.
| andsoitis wrote:
| > But I don't have courage to learn Lisp.
|
| Give it a shot! What have you got to lose?
| [deleted]
| linguae wrote:
| Lisp isn't too difficult to learn. The syntax is off-putting to
| some people, but what helped me adapt to Lisp syntax quickly
| was my familiarity with RPN calculators; I used an HP graphing
| calculator in college and I regularly use dc in Unix. In my
| opinion, the best way to start is to learn Scheme and work
| through The Structure and Interpretation of Computer Programs,
| which is a very nice read even for experienced programmers.
| Scheme is a nice small language, and many undergraduates have
| written Scheme interpreters in Scheme. After mastering Scheme I
| recommend moving on to Common Lisp, which is a large language
| with many features that are not common in more popular
| languages, such as conditions for error handling, the Common
| Lisp Object System and its support for multiple dispatch, the
| metaobject protocol, support for image-based development, and
| support for REPL-based development and debugging.
| nvy wrote:
| It's really not as weird or as esoteric as the memes would lead
| you to believe.
|
| (Common) Lisp is multi paradigm so you can write code that
| looks very much like "C with the parenthesis in the wrong spot"
| and it'll work just fine until you evolve a more
| idiomatic/"lispy" style.
|
| If you're proficient in C, Java, and Python you already have
| everything you need to be proficient in lisp. It's honestly not
| that difficult to learn.
| sourcepluck wrote:
| I can't code in anything, and I'm using Emacs since a couple of
| years, know some basic Elisp, and have recently started doing
| Common Lisp. Still baby steps, but it's really very fun, and I
| don't find it so hard.
|
| Doing the book "Gentle Introduction to Symbolic Computation" at
| the moment, it's lovely.
|
| So that's all I wanted to say - there's no courage required.
| Just doing. Emacs is a joy, and there's no rush on these
| things.
| abdullahkhalids wrote:
| Last month, after about 10 years, I decided to write a small
| package for emacs [1]. I decided to use chatgpt to help me do it,
| as I had completely forgotten common functions and what not.
| While, it got the syntax always right, it kept hallucinating
| function names, or was completely wrong about function arguments.
|
| Quite annoying, because all I was asking for it was to move the
| point around or search backward or forward for specific strings.
| Eventually, I had to reference stackoverflow and rewrite most of
| what chatgpt produced to get something working. Some of these
| resources would have been quite useful last month.
|
| The package itself is a markdown-notebook minor mode. If you
| trying to write a readme for your github python package, the mode
| allows you to add codeblocks, execute them and put the results
| just below them in the document. Works well for text right now,
| but need to figure out how to make it put images.
|
| [1]
| https://gist.github.com/abdullahkhalids/83055b1abbd2cdf2416a...
| nemoniac wrote:
| You might like Org Mode
|
| https://orgmode.org/
| abdullahkhalids wrote:
| I use org mode quite a bit.
|
| But github readmes should ideally be in markdown, and it
| makes no sense to write in org-mode and export to markdown.
| nequo wrote:
| I'm sure you know that GitHub handles README.org files too.
| What's the downside of using org for readmes?
| npsimons wrote:
| > What's the downside of using org for readmes?
|
| Popularity.
|
| That's it. orgmode format was around long before
| Markdown, then all of a sudden Markdown got pushed _hard_
| for some reason.
| Jtsummers wrote:
| > orgmode format was around long before Markdown
|
| That's not really true. org-mode (2003) and markdown
| (2004) only have a year between them. Markdown was pushed
| more broadly (versus org-mode) because it was not tied to
| a specific implementation in a specific editor and was
| _just_ for marking up text whereas org-mode was meant to
| tie in with more of emacs ' other packages and
| capabilities.
|
| If you weren't already using emacs, you likely wouldn't
| have known of org-mode in the late '00s. Markdown had
| already been incorporated into a lot of static blogging
| systems and forum comment systems by then with many
| independent implementations. Additionally, org-mode
| wasn't made a default element of emacs until 2006, two
| years after markdown was publicly documented.
|
| All that said, I still prefer org-mode and use it for my
| own readmes outside of actual work where I stick to
| markdown.
| abdullahkhalids wrote:
| I have yet to have a collaborator who uses emacs, let
| alone org more. Best to provide people open source stuff
| in the format they are familiar with. I wouldn't want
| learning the org format be an impediment to contributing
| to a project.
___________________________________________________________________
(page generated 2023-07-02 23:01 UTC)