Hi, On Fri, Apr 23 2021, Xinglu Chen wrote: >> Wouldn’t it be nicer to write: >> >> (define-configuration foo >> (bar (integer 123) "doc" no-serializer) >> (baz (string "") "doc")) >> >> where ‘bar’ wouldn’t have a serializer and ‘baz’ would? >> >> It’s also probably easier to implement correctly. > > I think that would be a good idea, maybe it could also make having a > default value be optional, like this: > > #+begin_src scheme > (define-configuration foo > (bar (integer) "doc" no-serializer) ;no default > (baz (string "default") "doc")) > #+end_src Since nobody seemed to show any objections, I went ahead and did something like this myself (see the attached patches). My macros skills aren’t that good so I hope I didn’t make any obvious mistakes. :) I haven’t tested it thoroughly, but at least it didn’t break anything when I ran ‘./pre-inst-env guix home build ...’. :)