> Owl Lisp is a functional dialect of the Scheme programming language. It is mainly based on the applicative subset of the R7RS standard.
> Owl Lisp is a functional dialect of the Scheme programming language. It is mainly based on the applicative subset of the R7RS standard.
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.
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.
Believe it or not, yes it would. It would not be a conforming implementation of any ISO C++ dialect, but it would be recongizable as a C++ dialect and mutually intelligible. Someone who knows C++ would understand programs written in that dialect, and could write new ones in it.
Something which is not a conforming ISO C++ implementation probably has good company; most production compilers are likely not fully conforming. Just not in gaping ways like new and delete being absent.
Lisp is either a family of language families (Lisps, Scheme, Logo, ML, MDL, JavaScript, Dylan, Racket, R, ...)
or
a more narrowly defined family of languages (often recognizable because they identify as Lisp in their name) and based on the core from Lisp 1: Lisp 1, Lisp 1.5, BBN Lisp, Interlisp, Maclisp, Franz Lisp, ZetaLisp, Le_Lisp, EuLisp, muLisp, Common Lisp (a standardized language), Emacs Lisp, Standard Lisp, ISLISP (a standardized language), ...
You'll find often in the Scheme literature Lisp described as a different, but related/derived, language (more symbolic, less functional, more procedural, procedural macros, less clean, less systematic, more dynamic, ...). Scheme is seen more functional, more lexical binding, less procedural, more minimal, one namespace, cleaner, ...).
There are Scheme programs which the implementation handles, and programs developed with that incomplete implementation can be run by more complete implementations.
A Scheme programmer informed on the limits of the subset (what is not in it) implementation can jump in and start programming using what is in the subset.
A subset language can be useful to practitioners of the full language.
ThinLisp is an incomplete implementation of Common Lisp, but one which compiles to C that doesn't need garbage collection. You can develop ThinLisp programs as Common Lisp programs (with certain care). Then ThinLisp translates them to C. I think that (by default?) these translated programs don't need garbage collection.