How the case-of-known-constructor optimization (along with the worker-wrapper transformation) can optimize away the passing of records as function arguments.
Even after enabling the DuplicateRecordFields, NoFieldSelectors and OverloadedRecordDot triad, record update for ambiguous fields remains a pain, often alleviated with lens libraries like "generic-lens".
I generally prefer package-by-feature. But: I also like #API-first development (generating controller interfaces using #OpenAPI Generator for example) and I feel it clashes a little with the package-by-feature approach, because you generate an entire "layer" (the controllers) in one go, and all the results tend to be put in the same package. https://openapi-generator.tech/docs/generators/spring/
How to resolve this apparent tension?
ResourceT has a MonadFix instance, yet ContT and Codensity (two transformers that can be used to handle the nesting of multiple bracket-like operations) don't 🤔
"The architect planned the construction [of the Sagrada Família] in phases because he believed that this would make it more difficult to abandon the project."
So, if I'm reading this correctly, Gaudí planned to complete the Nativity Facade before continuing with other parts of the building, to avoid a "everything started, nothing completed, project ultimately abandoned" kind of situation.
He tackled the project using a (literal) "vertical slice" strategy!
I might be splitting hairs about the semantics of #HTTP PUT, but there seems to be a slight contradiction in #rfc9110
On one hand, a GET after a PUT should return the exact representation that was set by the PUT.
On the other hand, a PUT "might also cause links to be added between the related resources" which seems to say that the representation might be enriched with extra links.
"By default, an element that causes a request will include its value if it has one. If the element is a form it will include the values of all inputs within it." https://htmx.org/docs/#parameters
"DON'T return arrays as top level responses" seems like a worthy candidate for the list of "YAGNI exceptions", among classics like "You might as well timestamp it".