- it is used to create an OS https://github.com/mirage
- it is used to create a transpiler https://melange.re/v2.2.0/
- it was used to create Rust first compiler
ocaml is surely a systems languageWriting a OS is more "system", and certainly those using the Mirage operating system use OCaml as a system language.
A colloquial definition of systems language seems close to: "exposes low level details and doesn't have garbage collection." By this definition c, c++, zig and rust are system languages, java and ocaml are not. Go is debatable (and people do debate this).
Personally though, I prefer to think of what types of _systems_ I can build with a language. I can design a framework in a high level language which then transpiles to, say, c. I consider this high level language to be a systems language because it facilitates a system (the framework). Others will disagree but it comes down essentially to a semantic question over what counts as a system language. That debate doesn't seem especially fruitful to me.