---
title: S-expressions
---

```{pipe="cat > emacs_screenshot.png"}
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
```

[S-expressions](https://en.wikipedia.org/wiki/S-expression) are a serialisation
format. Their simplicity makes it easy to write parsers, pretty-printers,
translators, preprocessors, editor plugins, graphical editors, etc. so you don't
have to inspect the serialised form if you don't want to. Similar to how there
are loads of ways to make a Web site which don't involve hand-editing HTML,
e.g. we can convert from something like markdown/asciidoc/mediawiki/bbcode/etc.,
we can generate pages programmatically via Haskell/PHP/Python/etc., we can use a
WYSIWYG editor, etc. Since s-expressions are much simpler than HTML, using such
abstractions is nowhere near as "leaky" (s-expressions just use `(` and `)`
rather than arbitrary XML tags, there's no tag/attribute redundancy, all text is
double-quoted, there are no abbreviations to expand (like namespaces), etc.).

If you want to, it's pretty easy to make your own alternative 'interface' to
such data. There are already loads out there too, e.g.

 - [Readable](http://readable.sourceforge.net)
 - [Sweet](https://www.dwheeler.com/readable/sweet-expressions.html)
   [expressions](https://srfi.schemers.org/srfi-110/srfi-110.html)
 - [I-expressions](https://srfi.schemers.org/srfi-49/srfi-49.html)
 - [Wisp](https://srfi.schemers.org/srfi-119/srfi-119.html)
   ([see also](http://www.draketo.de/english/wisp))
 - [Various editors](https://github.com/shaunlebron/history-of-lisp-editing)

Whilst the parenthesis-heavy format of s-expressions is not *necessary*, it
usually crops up in anything discussing Lisp and its derivatives, simply because
it's *much* more popular than these alternatives. To me, that mostly indicates
that concerns about "too many parentheses" are really a non-issue, despite being
made by many who are new to the format.

## My Approach ##

I'm a heavy [Emacs](https://www.gnu.org/software/emacs/) user, so I use Emacs to
edit everything. My 'solution' to the parentheses 'problem' is to set their
colour to a very low contrast whenever the buffer contains an s-expression
language; here's the relevant Emacs config (written in s-expressions!):

```
;; Make parentheses dimmer when editing LISP
(defface paren-face
  '((((class color) (background dark))
     (:foreground "grey30"))
    (((class color) (background light))
     (:foreground "grey30")))
  "Face used to dim parentheses.")

(mapcar (lambda (mode)
          (add-hook mode
                    (lambda ()
                      (font-lock-add-keywords nil
                                              '(("(\\|)" . 'paren-face))))))
        '(emacs-lisp-mode-hook scheme-mode-hook racket-mode-hook))
```

I use show-paren-mode to highlight matching parentheses which are next to the
cursor, but otherwise just "tune out" the parentheses in favour of indentation
(the way Emacs indents s-expressions is nice enough that I seldom fiddle with
it):

```{.unwrap pipe="sh | pandoc -f html -t json"}
printf '<img alt="Emacs screenshot" src="data:image/png;base64,'
tr -d '\n' < emacs_screenshot.png
printf '" />'
```

For particular s-expressions-based languages, like Racket, we can get syntax
colouring for symbols, etc. by using the corresponding Emacs mode; this also
lets us trigger flycheck syntax checking, and so on.

One of the payoffs of editing a serialised format like s-expressions is that we
can use tools like paredit and smartparens to avoid having to care about the
textual representation at all: they make navigating and manipulating the syntax
tree structure and content relatively nice, they ensure that parentheses and
quoted strings always remain balanced, they automatically escape characters when
written inside strings, etc.

Whilst we could, in theory, make similar tree navigators for languages with more
complicated textual representations like, say, Haskell, in practice these aren't
as useful since these files are mostly in an unparseable state during editing;
for example we might have written a `let` but not yet written an `in`, or a
`case` without an `of`, or an `=` without a right-hand-side, etc.

In principle we can solve these in the same way as paredit: insert the whole
language construct at once, and let the user fill in the gaps; yet this requires
a whole raft of language-specific constructs, whilst paredit can get away with
`(`/`)`, `[`/`]`, `{`/`}` and `"`/`"` for basically any language. It also
requires custom keybindings to avoid ambiguity: whilst paredit can take over the
`(` key to insert a balanced `()` pair, there is no `let` key; the best we could
do would be hooking into the spacebar and checking if we've just opened a `let`.
In any case, our files would *still* be unparseable until the user's filled in
all of the gaps: for example `let in` is invalid; `let x in` is invalid;
`let x = in` is invalid; `let x = 42 in` is invalid; only when we reach
`let x = 42 in y` will the parser not choke. We could put in placeholders like
`let _ = _ in _`, but then we'd need to decide whether the user wants to insert
a character or overwrite a placeholder; and so on.

Far nicer to expose the tree structure separately, which can be managed without
knowing anything about the syntax of our language.
