A Lisp REPL as my main shell

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
  • Scout APM - Less time debugging, more time building
  • SaaSHub - Software Alternatives and Reviews
  • Ammonite-Ops

    Scala Scripting

    I've never tested Ammonite, only read the https://ammonite.io/#Ammonite-Shell, so I'm only guessing here.

    From what I understand, Ammonite was designed as a "readline shell" as I wrote in the article. It perpetuates this approach that everything is a command.

    The thesis of my article suggests we do the opposite: I'm suggesting to rethink shells by starting from the interface (here the SLY REPL) and then implement the shell features.

    In particular, it seems that Ammonite does not support back-references and I'm not sure it has an interactive inspector.

    While Ammonite seems to be a definite improvement over the _syntax_ of Bash, etc., I'm not sure it brings much novelty in terms of user interface. But again, I know very little about it so I may have missed some features :)

  • xonsh

    :shell: Python-powered, cross-platform, Unix-gazing shell

  • SonarLint

    Deliver Cleaner and Safer Code - Right in Your IDE of Choice!. SonarLint is a free and open source IDE extension that identifies and catches bugs and vulnerabilities as you code, directly in the IDE. Install from your favorite IDE marketplace today.

  • pipeline

    While not as extreme as what is demonstrated here, I integrate things in my environment with Lisp in a way that is similar to this. I run StumpWM too so I can grab the content of the current X selection and do actions from it (e.g. the content matches a JIRA ticket regex, open it, the text matches a filename, edit it (fun fact, anything can be a filename), etc.).

    For processes, I wrote something that is not finished, not polished, but if anyone want to steal from it, go ahead:


    The `nmcli.lisp` example starts an nmcli process and filters its output to build Lisp objects representing connections:


  • cmd

    Utility for running external programs (by ruricolist)

    There is https://github.com/ruricolist/cmd in particular which is very helpful.

    I'm going to publish a few more libraries which should help with file manipulation (as I demoed it).

    Stay tuned!

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts