2 ms·
What you are talking about is something along the line of OZ/Mozart or Alice ML. These type of languages are not usually used to program actual applications in.
by johntdaly 5y ago
What you are talking about is something along the line of OZ/Mozart or Alice ML. These type of languages are not usually used to program actual applications in. They are used to teach programming language concepts and how they relate and build on each other.
“Concepts, Techniques, and Models of Computer Programming” is a book that uses OZ because they thought it would be easier to teach the different concepts with one language in one semester.
It is more common to have books that try to teach different programming languages concepts by teaching them using languages that implement those concepts. But if you do that you will most likely also need to learn multiple different types of syntax.
Alice is another try to unify multiple programming concepts in one ML based language and there is at least one github repo out there trying to translate the code in “Concepts, Techniques, and Models of Computer Programming” from OZ to Alice.
The reason these types of languages are unusually academic only is because it is a bad idea to mix to many idioms in one language. Look at C++, some people think it is impossible to program in C++ but only in subsets of C++ because it has features that don’t really work well together. Other people have the same idea about Scala. Object-relational impedance mismatch mismatch is another subject where different idioms don’t quite mix.
- Axeryon 5y agoOZ is very similar to what I mean and would actually be a bit awkward to use in software development