3 ms·
If those features are supplied by libraries outside the core language, I don't think I'd count them. I use Clojure a fair bit, and that has a miniKanren implem
by weavejester 5y ago
If those features are supplied by libraries outside the core language, I don't think I'd count them.
I use Clojure a fair bit, and that has a miniKanren implementation in the form of core.logic. Would I say that makes Clojure a relational programming language? No, I don't think so, because it's not part of the core language.
Similarly, there exists an optional static typing library for Clojure called core.typed - does that make Clojure a statically typed language? Again, I don't believe so.
You can build a library to implement any feature, particularly in Lisps or other languages with support for AST transformations. Those features may even be counter to the core design of the language - you could write a library in Haskell to support dynamically typed, imperative programming, for example.