[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Brainstorming ideas for define-configuration
From: |
Attila Lendvai |
Subject: |
Re: Brainstorming ideas for define-configuration |
Date: |
Thu, 09 Mar 2023 08:13:10 +0000 |
> Record Validator
> ===============================================================================
>
> There is also a need to validate records. Matching fields alone do
> not actually ensure that the configuration is coherent and
> usable. For example, some fields may be mutually incompatible with
> others.
>
> We could provide procedures that validate each record type within
> define-configuration itself instead of validating the value at
> runtime (i.e. within the body of the service-type).
in my service i have a non-trivial logic regarding defaults (e.g. there are
cross-field dependencies while setting some defaults).
this means that all the entry points to my service code have a line like this
at the very beginning:
(set! config (apply-config-defaults config))
maybe this validator logic could be implemented so that the validator may
return a new config instance, and all entry points to the service's code would
be called with that new instance?
> Coalesced documentation
> ================================================================
it's a tangential here, but i think demanding a documentation for fields is
just wrong. all it does is annoy the programmer who puts an empty "", after
wasting some time on a failed compilation. especially in a phase where the code
is still in a prototype phase.
> Kind of a late realization, but couldn't many of the items above be satisfied
> by improvements to define-record-type* instead?
> (define-record-type* paired with a documentation literal is nearly equivalent
> to define-configuration,
> sans the serialization scaffolding)
even if so, i'd still maintain a thin layer of abstraction for communicating
the intention, and also for possible future extensions.
--
• attila lendvai
• PGP: 963F 5D5F 45C7 DFCD 0A39
--
“He who flatters a man is his enemy. He who tells him of his faults is his
maker.”
— Confucius (551–479 BC)
- Brainstorming ideas for define-configuration, Bruno Victal, 2023/03/08
- Re: Brainstorming ideas for define-configuration,
Attila Lendvai <=
- Re: Brainstorming ideas for define-configuration, Joshua Branson, 2023/03/09
- Re: Brainstorming ideas for define-configuration, Liliana Marie Prikler, 2023/03/09
- Re: Brainstorming ideas for define-configuration, Maxim Cournoyer, 2023/03/10
- Re: Brainstorming ideas for define-configuration, jbranso, 2023/03/10
- Re: Brainstorming ideas for define-configuration, Ludovic Courtès, 2023/03/15