The U.S. government has sponsored reseach in using category theory-based languages (e.g. https://www.kestrel.edu/home/projects/) with the hope specifying systems as the composition of theories using category theory to combine and refine these theories into executable robust code. The language used on some of the projects listed at the link above use the specification language Metaslang which has a subset which is executable. One side effect of this reseach led to our supporting the development of CYRPTOL (https://cryptol.netCRYPTOL), a good example of specifying a domain specific language using the functional language Haskell. In my use of Metaslang and the development environment (emacs/Specware), it is difficult to get "normal" programmers to use Algebraicalgebraic specification and functional programming. Despite being some of the nicest people I have met, Haskell programmers are definitely NOT normal. (;-)