EmacsConf 2019 - 15 - Emacs as my Go To Script Language - Howard Abrams (partial)
Channel: EmacsConf and Emacs hangouts
Date: 2019-11-25

Note: there was a technical issue which lead to frozen video in the middle of Howard's presentation. If we receive a recording from Howard, we will make it available here.

You can watch this video with free sofware at: https://media.emacsconf.org/2019/15.html
Download (720p): https://mirror.csclub.uwaterloo.ca/emacsconf/2019/emacsconf-2019-15-emacs-as-my-go-to-script-language--piper--howard-abrams.webm
Slides and transcript: http://www.howardism.org/Technical/Emacs/piper-presentation-transcript.html

Description:
Recently, a reddit poster asked others their default scripting language. While Perl and Ruby have often sparred for that position, for me, the Shell has always been that comfortable old shoe to get things done. At least, until a few years ago when I realize that since I’m always in Emacs, why shouldn’t I just write my transient helper scripts in Lisp?

Didn’t take long to realize why I didn’t jump on that idea earlier. It isn’t very scripty. However, Lisp is moldable, and it doesn’t take much to become the scripting language of your dreams.

But I’m not talking about some fancy new functions, I also have to talk about the required paradigm shift: From invisibly piping text from executable to executable, to visibly transforming a buffer with calls to multiple functions. So let’s change our workflow from script arguments with completion to function calls with completing read from Helm/Ivy. I daresay, this workflow can be much better.

Notes from pad:
  • @howardabrams http://www.howardism.org
  • love/hate-relationship with the shell
    • https://github.com/akermu/emacs-libvterm
  • interactive vs. scripts
  • demo: [Piper] (https://gitlab.com/howardabrams/emacs-piper)
  • scripts
  • (video outage for 5 minutes approximately)
  • Q&A
    • sharing workflow with non-emacs persons: no, mostly for himself in private life
    • (further video issues; audio worked)
    • working with huge buffers
    • how does piper work for you on large files (10k lines or so?)
      • haven't checked
    • is the key to thinking about the workflow is to convert stuff to buffer and operating on it?
      • the emacs/lisp way of doing things
    • Name suggestion: husk

  related:
  • https://github.com/howardabrams
  • https://github.com/junegunn/fzf
  • https://docs.racket-lang.org/rash/index.html
  • https://gitlab.com/howardabrams/emacs-piper
  • (was he mentioning that?) Land of Lisp http://landoflisp.com/
  • https://www.emacswiki.org/emacs/rx
    • https://gist.github.com/aterweele/11bdefcac0255baa3a8a71d498236d0d
    • https://francismurillo.github.io/2017-03-30-Exploring-Emacs-rx-Macro/