(Idea) Functional Domain Modeling using DSL
Published on
Scott Wlaschin talks a lot of functional domain modeling. E.g. here: https://www.youtube.com/watch?v=2JB1_e5wZmU
He uses F#. But I don’t think you need any functional programming language. You need to write in a way domain experts can understand, help and contribute. Thus, write the sealed types, etc. in a DSL, that is optimized for this. But don’t stop there. Behavior-Description is already done in Cucumber. Is it possible to create a DSL for specs that allow code generation and validation?
Domain-Experts, Programmers, AIs working together.
By the Way, you can do the exact things Scott Wlaschin is doing with F# in Protobuf + gRPC. This may be even better, as it defines the interface of a service. Interfaces should be stable and the domain already is (see the argument in Bob Martins Clean Architecture). Implementing the gRPC services is then an implementation detail the domain expert does not have to care about! Also, this is a great combination with BDD, which can use this level of abstraction (domain-level-abstraction) for the tests. You don’t have to use the gRPC services via the network, but use them between monolith modules.