S-expressions, S-expressions, S-expressions

Yeah, the title may be a reference to Dr. Mike… But I keep saying it in my head, so I think it fits.


(define (main args)
  (let ((arguments (cdr args)))
    (cond ((not (equal? (length arguments) 2))
           (display "Need More Arguments!"))
          ((not (file-exists? (car arguments)))
           (format #t "ERROR: ~a does not exist!~%" (car arguments)))
          (else (push-all-git-repos (car arguments) (cadr arguments))))))

I've been slowly working to subsume all of my work into some form of Symbolic Expression for the last little while, and I think I've nearly done it! My OS of choice is GNU Guix, my scripting language is GNU Guile, and my programming language(s) of choice all fall under the Lisp Family. I'm very happy with it; I might dabble in other languages from time to time (APL2, Bash, and Forthcome to mind there.) but I always have this comfortable and welcoming home filled with parentheses to come back to.

I've recently added to the first list above, too: This blog (and a lot of my future data documents) is written using SXML, which is an alternate syntax for writing XML Infosets. It lets me write these posts entirely in the same syntax I use for writing scripts, with only a few caveats (specific expectations for metadata tags, and all double-quotes in content need escaping). And that means that it is easier to write posts more consistently, because I won't need to look up syntax for things I use rarely.

And, because it is XML, I don't need to worry about whether or not something is implemented in the markup language I choose! Regardless, it gets inserted into the HTML as though it were literal XML, and so I can just writeand not have to worry about the structure underneath being what I expect.