▲ | Pet_Ant 7 months ago | |||||||||||||
I can't tell if you are joking or not. If a platypus lays eggs, but it meets other criteria of being a mammal, it's still called a mammal. Owl may not be a full conforming Scheme implementation, but it seems to be member of the Scheme sub-family. I'd say if you are a Lisp-1 (ie one namespace for variables and functions) and generally use the function names used by the Scheme standard then you are a Scheme (or Scheme-like-Lisp if you are very taxonomically retentive). However, if you are a Lisp-2 and use the function names of Common Lisp you're a Lisp. Maybe if one were doing a deep dive on the history of Lisp and are into S-expressions vs M-expressions then it might be too loose, but I believe what is above is what most people would agree with in this context. | ||||||||||||||
▲ | binary132 7 months ago | parent [-] | |||||||||||||
Lisp is a very general category (I would consider Clojure a Lisp, with some extras) while Scheme is not, it is defined by a specification. If some implementation does not implement the entire specification of a given protocol, it doesn't implement that protocol, right? Would a C++ compiler that doesn't accept "new" and "delete" be C++? No, it's some subset of C++, not C++. And some implementation of HTTP that doesn't have any verbs wouldn't be HTTP. An implementation of a Scheme specification that doesn't implement the full specification is not a Scheme. No? A mammal is a creature that has X, Y, and Z characteristics. A creature having only X and Y characteristics is therefore not a mammal. | ||||||||||||||
|