They’re out of date, but it was a decent opinion before eat.
They’re out of date, but it was a decent opinion before eat.
You want your primary interface to a computer to be a programmable programming environment, which provides extremely proficient interfaces for programming itself, as a force multiplier for automating things that require a varied composition of off-the-shelf and bootstrap-level integrations.
These days, prompting chat GPT is the way to go for generating small examples and asking about things with little background.
M-x elisp-index-search. The Elisp manual is not bad, almost pretty good. There’s some examples in shortdocs, but I think shortdocs use case is dead because of generative AI’s and will only get more dead.
Sometimes we write Elisp examples: https://github.com/positron-solutions/transient-showcase I have to update that because transient got some upgrades.
Use ielm and eval-last-sexp as well as eval-region.
Install the helpful package for useful commands like helpful-symbol.
I think once I got familiar with all of the various flavors of let binding and mapc and mapcar, even if what I was doing didn’t seem like mind-blowing code, it also is pretty straightforward to read and write.
Now it should be pretty easy. You just need this configuration to avoid mispelling lambdas:
(defun pmx-greek-lambda ()
(font-lock-add-keywords
nil
`(("\\"
(0 (progn (compose-region (match-beginning 0) (match-end 0)
,(make-char 'greek-iso8859-7 107))
nil))))))
(add-hook 'emacs-lisp-mode-hook 'pmx-greek-lambda)
(add-hook 'inferior-emacs-lisp-mode-hook 'pmx-greek-lambda)
Emacs is at least on the surface orthogonal to the Unix philosophy. It’s a programmable interface to a computer. Instead of remixing a bunch of fixed tools using bash pipes and arguments, you do most of your lightweight automation and integrations in Emacs Lisp.