In terms of “idiomatic” Ergonomica scripts, I’ve written up a few here, doing various system tasks in manipulating files and directories. In addition, I’ve also written pretty in-depth examples for each function. I’m continuously updating this list both as the language grows and in order to facilitate growth, due to the fact that many scripts have forced me to create some new functions. Unfortunately, the sheer volume of great Bash one-liners far exceeds those of Ergonomica , but as I grow the language those should also grow.
With regards to Lisp, it’s definitely a skill. Once you’ve gotten good at it, the structure of the code will be quite intuitive. I think that’s one definite strength of
xonsh versus Ergonomica–that more programmers will have some level of familiarity with Pythonic idioms than experience in Lisp. However, I think that functional programming, Lisp in specific, really lends itself to the same types of structures that you encounter in a typical shell environment (the POSIX standard of
function arg1 arg2...,
$() syntax, performing
filter operations and applying functions to lists of output of functions, etc.), making these a logical choice. In my opinion, this makes these constructs fit in with the rest of the language better.