Hello!
I’ve been experimenting with gexps in all the contexts with it seemed
“obviously” useful and in some other places under gnu/{system,services}
(see the commits that say “Rewrite using gexps” in wip-gexp.)
It’s pretty cool: these patches remove ~200 lines (more than 5% of the
code in those directories!), and the resulting code is much more
readable IMO, and less error-prone.
For instance, the ‘inputs’ field of service definitions (info "(guix)
Defining Services") is no longer needed; instead we just use a gexp for
the start and stop expressions, and that carries all the necessary
dependency info.
I’ll write documentation and merge it real soon now.
Ludo’.