Re:I don’t buy “duplication is cheaper than the wrong abstra...
by consilient on Tuesday August 29, 2023 @02:27PM
(#37311863)
> I've never come across a name for this development style.
Libraries designed like this are sometimes called "combinator libraries".
Re:I don’t buy “duplication is cheaper than the wrong abstra...
by code_biologist on Tuesday August 29, 2023 @02:30PM
(#37311904)
Embedded DSLs is the term I’ve seen in the Haskell, Scheme and Ruby communities.
Re:I don’t buy “duplication is cheaper than the wrong abstra...
by fiddlerwoaroof on Tuesday August 29, 2023 @03:39PM
(#37312827)
This sounds like what lispers call something like “language driven design” or “growing a language”
Exactly. Is there a formal term for this?
Instead of one gigantic function with 50 parameters, you have 100 "template" functions, that all make use 60 different "helper" functions (what you're calling the DSL).
Instead of castles-of-logic abstraction, it's nuts-and-bolts or grass-roots abstractions. I've never come across a name for this development style.
But it generally works extremely well when building processes for tens/hundreds of data formats or customers or what have you.