FWIW there are several Haskell and OCaml shell projects on this wiki page, which is editable:
Internal DSLs for Shell - https://github.com/oils-for-unix/oils/wiki/Internal-DSLs-for...
and ones in many other languages like Scheme and Lisp
e.g.
https://github.com/jgoerzen/hsh/wiki
https://github.com/luke-clifton/shh/tree/master/shh
And also a page of alternative shells:
https://github.com/oils-for-unix/oils/wiki/Alternative-Shell...