Post AVzZXb828AntPspGr2 by xgqt@fosstodon.org
 (DIR) More posts by xgqt@fosstodon.org
 (DIR) Post #AVzAZREbOErASJgAtc by amszmidt@mastodon.social
       2023-05-24T16:22:53Z
       
       0 likes, 2 repeats
       
       Scheme is not Lisp.  Bite me.
       
 (DIR) Post #AVzAZS40J7yP1jjE12 by louis@emacs.ch
       2023-05-24T16:33:40Z
       
       0 likes, 0 repeats
       
       @amszmidt Since you are obviously seeking the challenge. Scheme is a Lisp. Specifically a Lisp-1.Since there is no standardized definition of "Lisp“, even Scheme can be a Lisp.
       
 (DIR) Post #AVzAeeuFzB66J2eVAO by amszmidt@mastodon.social
       2023-05-24T16:34:39Z
       
       0 likes, 0 repeats
       
       @louis Nope, you cannot run a basic Lisp program in Scheme. There are plenty of standardized definitions of Lisp, we can start with .. Lisp 1.5.
       
 (DIR) Post #AVzBZMvDWZ0l2C8uo4 by amszmidt@mastodon.social
       2023-05-24T16:37:00Z
       
       0 likes, 0 repeats
       
       @louis Lisp is not just about how your variables, and functions are managed.  Given a Lisp 1.5, with a similar vocabulary, etc, which differentiates between variables and functions -- I'd call that a Lisp. Scheme though, it is not the same language, it has not the same vocabulary, syntax.Given  a non-trivial program in Scheme, you will need to rewrite it for it to work in Lisp.
       
 (DIR) Post #AVzBZNYZAGUF0EYL8i by amszmidt@mastodon.social
       2023-05-24T16:39:16Z
       
       0 likes, 0 repeats
       
       @louis If all that matters is symbolic expressions for a language to be another, PHP is a C, and C is a Javascript. Reductio ad absurdum...
       
 (DIR) Post #AVzBZO5XBgrGeTyfWi by louis@emacs.ch
       2023-05-24T16:44:53Z
       
       0 likes, 0 repeats
       
       @amszmidt A Python 3 program is still Python even though it will likely not run on Python 2, let alone Python 1.  Therefore I consider Scheme a Lisp because it is a dialect of LISP. It shares many of its traits, and also deviates in many other areas, i.e. single-value-names vs multi-value-names.Following your argument, even Common Lisp wouldn't be a Lisp.
       
 (DIR) Post #AVzBgK0mk6Ye2H3wp6 by amszmidt@mastodon.social
       2023-05-24T16:46:09Z
       
       0 likes, 0 repeats
       
       @louis Python 1, 2 and 3 have a similar vocabulary.  They have a similar syntax, and semantic.Lisp and Scheme are not compatible at all, in any shape or form.
       
 (DIR) Post #AVzBm8TyWLoS13ULIm by louis@emacs.ch
       2023-05-24T16:47:11Z
       
       0 likes, 0 repeats
       
       @amszmidt You definition of "a basic“ Lisp program, please 😀
       
 (DIR) Post #AVzBpa8m940gfHDQy8 by louis@emacs.ch
       2023-05-24T16:47:49Z
       
       0 likes, 0 repeats
       
       @amszmidt (+ 1 2) will be 3, in all Lisps.
       
 (DIR) Post #AVzBxYmv3deCmpnT7o by amszmidt@mastodon.social
       2023-05-24T16:49:16Z
       
       0 likes, 0 repeats
       
       @louis 1+1; in C and 1+1; in Javascript will also be the same, ergo Javascript is a C? C is a Javascript?There is slightly more to this than superficial syntax.
       
 (DIR) Post #AVzC2eNJiEvhYwFU5g by amszmidt@mastodon.social
       2023-05-24T16:50:11Z
       
       0 likes, 0 repeats
       
       @louis Want algorithm as it is implemented in the Lisp 1.5 manual.
       
 (DIR) Post #AVzC6Z3XQkUkDxrcUy by louis@emacs.ch
       2023-05-24T16:50:51Z
       
       0 likes, 0 repeats
       
       @amszmidt Ok then my question to you: beside some minor syntactic and implementation specific differences, what makes Scheme NOT a Lisp?
       
 (DIR) Post #AVzCC9loM7UpXTErXk by rml@functional.cafe
       2023-05-24T16:39:43Z
       
       0 likes, 0 repeats
       
       @amszmidt @louis i honestly don't know the answer, can you run a basic Maclisp program in common lisp? Will the same program run in elisp? What other lisps besides common lisp that are still in use qualify as lisp according to this definition?
       
 (DIR) Post #AVzCCAMKAMhfMiK1SK by amszmidt@mastodon.social
       2023-05-24T16:47:47Z
       
       0 likes, 0 repeats
       
       @rml @louis Yes, yes you can.  You can easily run 40 year old from MACLISP, from Lisp Machine in Common Lisp.  You can even run it in Emacs Lisp given very few hacks.Good luck doing any of that with Scheme.
       
 (DIR) Post #AVzCCBAf9Cy9spsDuy by rml@functional.cafe
       2023-05-24T16:50:39Z
       
       0 likes, 0 repeats
       
       @amszmidt @louis very interesting, I did not realize this. that might motivate me to get into common lisp beyond reading the gigamonkeys book years ago.
       
 (DIR) Post #AVzCCBtgRoyw8SwB5k by louis@emacs.ch
       2023-05-24T16:51:51Z
       
       0 likes, 0 repeats
       
       @rml @amszmidt I would not advise except you have a few months of your life to spare 😀 to realize that everything is the same.
       
 (DIR) Post #AVzCEaXrmH3z9wsMGu by amszmidt@mastodon.social
       2023-05-24T16:52:22Z
       
       0 likes, 0 repeats
       
       @louis But it isn't minor syntactic, and implementation differences... It is fundamental ones .... You're asking me to ignore everything that is different, which is everything.. and then somehow compare it.
       
 (DIR) Post #AVzCK8uRRLWJBa5FDc by louis@emacs.ch
       2023-05-24T16:53:20Z
       
       0 likes, 0 repeats
       
       @amszmidt No, my question was very specific: What makes Scheme NOT a Lisp?
       
 (DIR) Post #AVzCLdxrSmVxn7Omxc by amszmidt@mastodon.social
       2023-05-24T16:53:38Z
       
       0 likes, 0 repeats
       
       @louis What makes Javascript NOT a C?
       
 (DIR) Post #AVzCPu5nRRj4yB8qyu by amszmidt@mastodon.social
       2023-05-24T16:54:23Z
       
       0 likes, 0 repeats
       
       @louis What makes an apples NOT a tomato?
       
 (DIR) Post #AVzCQiF4zCrQVRryOO by louis@emacs.ch
       2023-05-24T16:54:30Z
       
       0 likes, 0 repeats
       
       @amszmidt I repeat: What makes Scheme NOT a Lisp? 🍿
       
 (DIR) Post #AVzCcCNtG6xzAxT3ya by amszmidt@mastodon.social
       2023-05-24T16:56:37Z
       
       0 likes, 0 repeats
       
       @louis And I am asking you what makes a tomato not an apples? An apples is a fruit, so is a tomato.  They both have similar properties .. they have their seeds within the fruit pulp.I hope we agree that apples and tomatoes are not the same fruit, so for me to answer your question is to answer what makes C not a Lisp, or why Lisp is not an apple!The question of "this language is this language" is just asine.  🙂
       
 (DIR) Post #AVzDPvqB2gSSLTPgau by ramin_hal9001@emacs.ch
       2023-05-24T17:05:35Z
       
       0 likes, 0 repeats
       
       @louis @rml @amszmidt If we are going to argue the semantics of the name "Lisp", the defining features of it are:Homoiconicity — data is code is dataMacro programmingModeled on lambda calculusImage-based rapid development with a REPLAll else are implementation details which exist in dozens if not hundred of other languages. I don't see a practical reason to restrict the definition of "Lisp" to those implementation details that were unique to some of the original Lisp implementations of the late 1950s and early 1960s which where amalgamated into Common Lisp.That is not to deride Common Lisp. If code written decades ago runs mostly without trouble even today, that is a testament to the design of the X3J13 standard. I know of no other language more resilient to bit rot. I just don't see the utility in restricting the definition of "Lisp" to that standard.
       
 (DIR) Post #AVzXsrvkendBhR61yK by mzan@qoto.org
       2023-05-24T18:40:45Z
       
       0 likes, 0 repeats
       
       @amszmidt @louis Scheme is *a Lisp* in the sense that it is a dialect of the "Lisp family" of programming language.Scheme is *not Lisp* in the sense that it is not a direct successor of Lisp 1.5, MacLisp, Interlisp, ..., Common Lisp. Obviously, the meaning of the word Lisp in "it is a Lisp" and "it is Lisp" is different.
       
 (DIR) Post #AVzXsscI6detpN00HI by amszmidt@mastodon.social
       2023-05-24T19:53:56Z
       
       0 likes, 0 repeats
       
       @mzan @louis for something to be a dialect, it had to be understood in its main language.  Scheme cannot be understood by a Lisp programmer or interpreter.  They are not dialects, they are not the same language,   Is JavaScript a C?  Is it a dialect if C?  The only programming languages who have this dumb ass discussion is Lisp and Scheme.
       
 (DIR) Post #AVzXstJXVqFlzVEXgm by amszmidt@mastodon.social
       2023-05-24T19:56:53Z
       
       0 likes, 0 repeats
       
       @mzan @louis is JavaScript part of the C family?
       
 (DIR) Post #AVzXstsdPMKHkLeZOK by louis@emacs.ch
       2023-05-24T20:54:53Z
       
       1 likes, 0 repeats
       
       @amszmidt @mzan Clearly, as an enlightened Lisper, you must be aware that JavaScript is a Lisp-1? 🥳Source: http://xahlee.info/emacs/emacs/lisp1_vs_lisp2.html
       
 (DIR) Post #AVzYhYIPPwfzZZrUVU by amszmidt@mastodon.social
       2023-05-24T17:13:17Z
       
       0 likes, 0 repeats
       
       @ramin_hal9001 @louis @rml Now you are just redefining the term to fit your plot.1. Fails for Common Lisp, Lisp 1.5, and many other what would be considered Lisps by anyone.2. Fails for Scheme, since well .. you did not have macros in the first versions.  Lisp as defined by JMC also lacks macros.3. None was modeled on Lambda calculus.  It was on Kleene's work.4.  Most implementations are not imaged based.So by all that, Lisp is not Lisp.
       
 (DIR) Post #AVzYhYvP4xrtWW6dHs by ramin_hal9001@emacs.ch
       2023-05-24T17:30:51Z
       
       0 likes, 0 repeats
       
       @amszmidt @louis @rml Now you are just redefining the term to fit your plot.Guilty as charged, this is a debate over semantics after all. I would argue it is not just "my plot" though, but that there is a consensus around "my" definition.I am curious: why do you think Common Lisp is not homoiconic? It does have eval and apply after all."Fails for Scheme," but this isn't 1975 anymore, so this isn't true nowadays.This is true of McCarthy't original Lisp implementation for the IBM 704, but this isn't1959 anymore. The use of the keyword lambda is attributed to Church by McCarthy himself, albeit after he understood the relationship between Lisp and Lambda calculus.Without image based development, your Lisp implementation does not have many interesting features to compete with the likes of Python or Ruby or JavaScript. The fact that the notable Lisp family languages do have image based development set them apart from other languages that merely provide REPLs.
       
 (DIR) Post #AVzYhZVCvqVZJYrE5w by rml@functional.cafe
       2023-05-24T17:38:53Z
       
       0 likes, 0 repeats
       
       @ramin_hal9001 @louis @amszmidtwhat defines image based development for you? there is nothing about persistent images in any of the Scheme standards AFAIK, and I can't think of a Scheme implementation that offers a `save-lisp-and-die` style feature.
       
 (DIR) Post #AVzYhZwVIMLIgDd1do by amszmidt@mastodon.social
       2023-05-24T17:18:30Z
       
       0 likes, 0 repeats
       
       @ramin_hal9001 @louis @rml Instead of making up your own definition of what is Lisp, to fit your own narrative.   We really need to take the definition of JMC in Recursive Functions of Symbolic Expressions and Their Computation by Machine.  Anything else is just beyond dumb and stupid.This doesn't diminish Scheme in any way, it is heavily influenced by Lisp, just like Lisp is also influenced by Scheme.And given the definition in JMC's paper, Scheme is not a Lisp. It is entirely different.
       
 (DIR) Post #AVzYhaDAIPfbVtQKbw by dani@mathstodon.xyz
       2023-05-24T19:19:53Z
       
       0 likes, 0 repeats
       
       @rml @ramin_hal9001 @louis @amszmidt MIT-Scheme has a disk-save (or save-disk) function. It is similar to save-lisp-and-die . disk-save doesn't "die", like save-lisp-and-die.I am still new to Lisp
       
 (DIR) Post #AVzYhawXZhxxmceZKy by amszmidt@mastodon.social
       2023-05-24T19:55:51Z
       
       0 likes, 0 repeats
       
       @dani @rml @ramin_hal9001 @louis you have the same in C - they call them core dumps, and it is mostly how unexec() works.
       
 (DIR) Post #AVzYhbXlLJjxe44IM4 by louis@emacs.ch
       2023-05-24T21:03:59Z
       
       0 likes, 0 repeats
       
       @amszmidt @dani @rml @ramin_hal9001 AI doesn’t lie. Scheme IS a Lisp.  And we all knew it.  Only one did not want to admit it.  But now we know. 🍿
       
 (DIR) Post #AVzYhbax9SIBnxYqKO by amszmidt@mastodon.social
       2023-05-24T17:19:49Z
       
       0 likes, 0 repeats
       
       @ramin_hal9001 @louis @rml And it is also probably why there is so much asine nonsense on the topic.
       
 (DIR) Post #AVzYtX9DVpnjUEH8pk by mzan@qoto.org
       2023-05-24T21:06:16Z
       
       0 likes, 0 repeats
       
       @louis @amszmidt > Clearly, as an enlightened Lisper, you must be aware that JavaScript is a Lisp-1? It starts to become a too much enlarged family for my taste. Now I suspect that JavaScript has Lisp as parent-1 and Java has parent-2 😃
       
 (DIR) Post #AVzZXb828AntPspGr2 by xgqt@fosstodon.org
       2023-05-24T21:13:28Z
       
       0 likes, 0 repeats
       
       @louis @amszmidt @dani @rml @ramin_hal9001 > Writes a Lisp interpreter in RacketHeh, nothing personal.(It's called Arc BTW)https://gitlab.com/xgqt/s-exp/-/raw/master/extras/images/lisp_dialects_alignment.jpg
       
 (DIR) Post #AVzqfwScOw6H781EnI by hayley@social.applied-langua.ge
       2023-05-25T00:25:31.307823Z
       
       0 likes, 0 repeats
       
       @amszmidt @mzan @louis Agreed with all but Lisp being a language. I dislike the dialect framing for that reason, but have no issues calling Scheme a Lisp descendent.Someone got very mad in r/common_lisp once about SBCL 1.5 not being able to run m-expressions from the Lisp 1.5 manual. So be careful what one wishes for.
       
 (DIR) Post #AVzqwoyLUmzgoQuLT6 by hayley@social.applied-langua.ge
       2023-05-25T00:28:34.437584Z
       
       0 likes, 0 repeats
       
       @amszmidt @louis @mzan But indeed "Lisp descendent" is a weak property and no one says "English is a PIE". (But "English is a Germanic language" is fine.)
       
 (DIR) Post #AVzr3CwxGDB4unIpHM by hayley@social.applied-langua.ge
       2023-05-25T00:29:43.915311Z
       
       0 likes, 0 repeats
       
       @louis @amszmidt @dani @rml @ramin_hal9001 ISWIM was the first dialect with lexical scoping :landin:
       
 (DIR) Post #AVzrj1Wi7dtreHxys4 by rml@functional.cafe
       2023-05-25T00:36:40Z
       
       0 likes, 0 repeats
       
       @hayley @louis @ramin_hal9001 @amszmidt @dani You would consider ISWIM a lisp, but not Scheme?? 🤔
       
 (DIR) Post #AVzrj2bM7rD4yz9Cka by hayley@social.applied-langua.ge
       2023-05-25T00:37:16.267533Z
       
       0 likes, 0 repeats
       
       @rml @louis @ramin_hal9001 @amszmidt @dani I never said the latter part; I just said ISWIM was first.
       
 (DIR) Post #AVzrx34n9oVSVday8m by rml@functional.cafe
       2023-05-25T00:37:19Z
       
       0 likes, 0 repeats
       
       @hayley @louis @ramin_hal9001 @amszmidt @dani iirc ISWIM was more like ML
       
 (DIR) Post #AVzrx3hmophMSZq6vA by hayley@social.applied-langua.ge
       2023-05-25T00:39:48.684961Z
       
       0 likes, 0 repeats
       
       @rml @louis @ramin_hal9001 @amszmidt @dani It had no type system, nor pattern matching. But some call ML "Lisp with types", which makes Lisp with types without types just Lisp again.
       
 (DIR) Post #AVzsCp9ufZiHyjVru4 by rml@functional.cafe
       2023-05-25T00:39:23Z
       
       1 likes, 0 repeats
       
       @hayley @louis @ramin_hal9001 @amszmidt @dani sorry I guess it's the "dialect" part that tripped me up.
       
 (DIR) Post #AVzsiQOsG0gUSQZyhU by hayley@social.applied-langua.ge
       2023-05-25T00:48:22.853422Z
       
       0 likes, 0 repeats
       
       @ramin_hal9001 @louis @rml @amszmidt 1. fails for anything with closures as the closed-over environment is not code, 3. requires some kind of automatic memory management (there's no malloc and free in lambda calculus). But I've been told that's subjective and C is Lisp if you put parens in the right places, so.
       
 (DIR) Post #AVzztD96ZmqEDMIHGi by screwtape@mastodon.sdf.org
       2023-05-25T02:08:42Z
       
       0 likes, 0 repeats
       
       @louis @amszmidt @dani @rml @ramin_hal9001 > AI doesn't liewhat
       
 (DIR) Post #AW0BBzBrml5jvjjyfQ by ramin_hal9001@emacs.ch
       2023-05-25T04:15:19Z
       
       0 likes, 0 repeats
       
       @louis @amszmidt @dani @rml  AI doesn’t lie. Scheme IS a Lisp.  And we all knew it.LOL! Good one!Although, since AI is going to output what the statistically most common belief about Lisp is, this is some good evidence that there may actually some kind of consensus about Scheme being a kind of Lisp.
       
 (DIR) Post #AW0Ft5GrSAtP3cso8u by ksaj@infosec.exchange
       2023-05-25T05:07:58Z
       
       0 likes, 0 repeats
       
       @louis @amszmidt @dani @rml @ramin_hal9001 I'm mostly convinced by the word "indeed."Just kidding. Keep on. If you can find my response elsewhere in this thread, referencing phylogenetic trees, it explains my position on this in a much simpler and shorter way.The argument is silly because the definition of "Lisp" and "Common Lisp" are getting muddled, and there is a lot of goal post movement.
       
 (DIR) Post #AW0VqGX0jHQgNZ7BPk by PaniczGodek@functional.cafe
       2023-05-24T22:39:56Z
       
       0 likes, 0 repeats
       
       @amszmidt @louis So, I just opened ecl and typed the following definition from Lisp 1.5 programmer's manual (page 62):copy[x] = [null[x] -> NIL; atom[x] -> x; T -> cons[copy[car[x]]; copy[cdr[x]]]]That didn't work.So, should we conclude that Common Lisp is not a Lisp?
       
 (DIR) Post #AW0VqHPxQzNj7yp43k by screwtape@mastodon.sdf.org
       2023-05-25T02:05:36Z
       
       0 likes, 0 repeats
       
       @PaniczGodek @amszmidt @louis [working on a McCarthy themed response no-one will agree with]though this is an ok argument that scheme is a lisp. Obviously it syntactically renders in common lisp as(defun copy (x) (cond  ((null x) nil)  ((atom x) x)  (t (cons (copy (car x)) (copy (cdr x)))))A lisp being cons, cdr, car, eq and a handful of predicates. However @amszmidt is right that when we say scheme we are not talking about lisp and when we say lisp we are not talking about scheme.
       
 (DIR) Post #AW0VqI0TFEaYxDuDyK by PaniczGodek@functional.cafe
       2023-05-25T02:54:24Z
       
       0 likes, 0 repeats
       
       @screwtape @amszmidt @louis Why I think this discussion is completely off the grid is that we might mean different things when we say that Scheme is a Lisp.McCarthy's idea of Lisp wasn't about using the word 'defun' or identifying NIL with '() or having separate namespaces for functions and variables.It was about creating algebraic (Fortran-like) syntax for linked lists/symbolic computations based on recursive functions, and so in McCarthy's sense, Scheme is exactly the same sort of Lisp as Common Lisp.The only reason anyone would say that "Scheme is not a Lisp" I can think of is to generate a flame war, because the question is vague and meaningless.
       
 (DIR) Post #AW0VqIhMfktr6FyTpY by PaniczGodek@functional.cafe
       2023-05-25T03:03:50Z
       
       0 likes, 0 repeats
       
       @screwtape @amszmidt @louis Also, the translation that McCarthy proposes in the Lisp 1.5 programmer manual is different than the one you gave:
       
 (DIR) Post #AW0VqJUdiYJbZ51pdQ by PaniczGodek@functional.cafe
       2023-05-25T07:52:55Z
       
       0 likes, 0 repeats
       
       @screwtape @amszmidt @louis My point was that Lisp 1.5 manual did specify how M-expressions are meant to be mapped to S-expressions, and it didn't contain any "defun".According to the manual, it would look like this:DEFINE (((COPY (LAMBDA (X)  (COND    ((NULL X) NIL)    ((ATOM X) X)    (T (CONS (COPY (CAR X)) (COPY (CDR X))))))))which clearly won't work in Common Lisp (which is why we must conclude that Common Lisp is not Lisp)
       
 (DIR) Post #AW0VqK6vQCwLTowPJI by amszmidt@mastodon.social
       2023-05-25T07:59:36Z
       
       0 likes, 0 repeats
       
       @PaniczGodek @screwtape @louis the above works very well in Common Lisp — http://informatimago.free.fr/i/develop/lisp/com/informatimago/small-cl-pgms/wang.html. But by this silly logic, Lisp 1.5 is not a Lisp, since you cannot input m-expressions to it.  So nothing is a Lisp now?
       
 (DIR) Post #AW0VqKpElSNxhFfnNY by louis@emacs.ch
       2023-05-25T08:06:42Z
       
       0 likes, 0 repeats
       
       @amszmidt @PaniczGodek @screwtape Nothing is a Lisp since you brought in apples and tomatoes into the game… 😀
       
 (DIR) Post #AW0XCIr0sH7VuKXivA by amszmidt@mastodon.social
       2023-05-24T17:37:48Z
       
       0 likes, 0 repeats
       
       @ramin_hal9001 @louis @rml 1.  CL has objects, objects return #<...>, that is a form that cannot be read back.2.3: Literally ignoring everything that the person who created the language wrote in favor for who knows what.  LAMBDA was also a relatively LATE thing.4, Emacs is not imaged based, you do not save your world, you do not load it up.  Emacs is very much interesting.  There are plenty of Common Lisp implementations that do not have images, did they cease to be Lisps?
       
 (DIR) Post #AW0XCJZgCCqi8rROXg by ksaj@infosec.exchange
       2023-05-25T05:00:14Z
       
       0 likes, 0 repeats
       
       @amszmidt @ramin_hal9001 @louis @rml I thought you were talking about Lisp in general, but you keep talking about CL, which is Common Lisp. But you know the history, so I can only guess you already know that.Scheme most definitely isn't a Common Lisp.I'm a CL coder, but this thread is exasperating for all its moving targets.
       
 (DIR) Post #AW0XCKa4SEkxGMdDn6 by ramin_hal9001@emacs.ch
       2023-05-25T05:13:30Z
       
       0 likes, 0 repeats
       
       @ksaj @amszmidt @louis @rml I'm a CL coder, but this thread is exasperating for all its moving targets.That's fair. Maybe I should just say that I am using the word Lisp as a shorthand for the "Lisp family of languages," and that is why Scheme gets pulled in under the "Lisp" umbrella. There are others who insist that "Lisp" exclusively refers to "Common Lisp," and we end up arguing across purposes.
       
 (DIR) Post #AW0XCLINnUCZTnMbrM by amszmidt@mastodon.social
       2023-05-25T05:52:49Z
       
       0 likes, 0 repeats
       
       @ramin_hal9001 @ksaj @louis @rml there are more Lisps than Common Lisp,  Emacs Lisp being a wonderful example ….
       
 (DIR) Post #AW0XCLtbZ5yZLEmKsS by ksaj@infosec.exchange
       2023-05-25T05:58:52Z
       
       0 likes, 0 repeats
       
       @amszmidt @ramin_hal9001 @louis @rml common lisps? Or just Lisps? That's the subject.
       
 (DIR) Post #AW0XCMRzVFTv3srnTU by amszmidt@mastodon.social
       2023-05-25T06:03:33Z
       
       0 likes, 0 repeats
       
       @ksaj @ramin_hal9001 @louis @rml CL is a Lisp.
       
 (DIR) Post #AW0XCN4zAGfp0p6wFs by ksaj@infosec.exchange
       2023-05-25T06:06:14Z
       
       0 likes, 0 repeats
       
       @amszmidt @ramin_hal9001 @louis @rml Yes, thankfully. I've been using it since the 90's (with a huge gap in the middle), and only saw Scheme within the past handful of years.It's totally not my thing. I am terrible at math and use Common Lisp to make math bearable. But I don't agree with your argument because of the trees I keep mentioning.
       
 (DIR) Post #AW0XCO2tZWb00d8mdU by ramin_hal9001@emacs.ch
       2023-05-25T06:06:46Z
       
       0 likes, 0 repeats
       
       @ksaj @amszmidt @louis @rml CL is a Lisp.I realized I never properly asked you @amszmidt@mastodon.social  how you define "Lisp." 
       
 (DIR) Post #AW0XCOftEXmtxZNvPs by amszmidt@mastodon.social
       2023-05-25T06:07:51Z
       
       0 likes, 0 repeats
       
       @ramin_hal9001 @ksaj @louis @rml I did, partially up-thread -- something having some resemblance of Lisp.  Nobody has properly defined what being "a" means yet though.
       
 (DIR) Post #AW0XCPMQgNoc5VHtiq by ksaj@infosec.exchange
       2023-05-25T06:14:01Z
       
       0 likes, 0 repeats
       
       @amszmidt @ramin_hal9001 @louis @rml This reminds me of the on-TV investigation into Bill Clintons cumsplat on the dress. I think the word being argued was "the" in that one.
       
 (DIR) Post #AW0XCQA3hrVwZQVX4y by amszmidt@mastodon.social
       2023-05-25T06:15:22Z
       
       0 likes, 0 repeats
       
       @ksaj @ramin_hal9001 @louis @rml That is sorta the nature of the discussion of "Scheme is or isn't a Lisp" -- it is asine.
       
 (DIR) Post #AW0XCQqb9hXehMPVNw by ksaj@infosec.exchange
       2023-05-25T06:26:29Z
       
       0 likes, 0 repeats
       
       @amszmidt @ramin_hal9001 @louis @rml In that case, I think Clinton was clearly a Lisper. He simply redefined the function. 😅
       
 (DIR) Post #AW0XCRXUaDqwqOTlFA by larsbrinkhoff@mastodon.sdf.org
       2023-05-25T07:36:39Z
       
       0 likes, 0 repeats
       
       @ksaj @amszmidt @ramin_hal9001 @louis @rml He did have a Symbolics machine running the White House web server with cl-http.
       
 (DIR) Post #AW0XCSaMh1kG5apZMO by ksaj@infosec.exchange
       2023-05-25T07:53:07Z
       
       0 likes, 0 repeats
       
       @larsbrinkhoff @amszmidt @ramin_hal9001 @louis @rml 😮 I did not know that, but it makes me respect the institution just a little more.
       
 (DIR) Post #AW0XCTEQI5mu5pZYnY by louis@emacs.ch
       2023-05-25T08:21:51Z
       
       0 likes, 0 repeats
       
       @ksaj @larsbrinkhoff @amszmidt @ramin_hal9001 @rml Ok, since we all struggle to define what "Lisp" actually means, I have compiled a list we can all agree on:The use and manipulation of symbols to represent values/objects in the programThe list a the primary data structure to manipulate code an dataPrefix notationHomoiconicitySupport for functional programming with focus on higher-order functionsS-expressionsGarbage collectionREPL-driven developmentA macro systemIf we could agree on these characteristics as Lisp-defining, the we can easily sort out what is a Lisp an what is not.
       
 (DIR) Post #AW0XLaPGz3BCx5zheS by amszmidt@mastodon.social
       2023-05-25T08:23:37Z
       
       0 likes, 0 repeats
       
       @louis @ksaj @larsbrinkhoff @ramin_hal9001 @rml That excludes Common Lisp, it excludes Maclisp and it excludes _Lisp_!
       
 (DIR) Post #AW0XtCDzOkQjnak7Oa by amszmidt@mastodon.social
       2023-05-25T08:28:10Z
       
       0 likes, 0 repeats
       
       @louis @ksaj @larsbrinkhoff @ramin_hal9001 @rml 'Original' Lisp is what JMC defined in his paper, it then was further developed as Lisp 1.5, and to some extent Lisp 2.  That then was again further worked on into MACLISP, which begat Lisp Machine Lisp, which begat Common Lisp, Interlisp, and what not.  Lisp is not a "set of criterias"!The bullets you list exclude many of Lisps. And to me, none of those actually define why Lisp as such is such a amazing language.
       
 (DIR) Post #AW0XtCuAruAruQTo9I by louis@emacs.ch
       2023-05-25T08:29:38Z
       
       0 likes, 0 repeats
       
       @amszmidt @ksaj @larsbrinkhoff @ramin_hal9001 @rml Ok, what does then?
       
 (DIR) Post #AW0XuYmd0k383Lay36 by amszmidt@mastodon.social
       2023-05-25T08:29:57Z
       
       0 likes, 0 repeats
       
       @louis @ksaj @larsbrinkhoff @ramin_hal9001 @rml What does what?
       
 (DIR) Post #AW0Y51TbBZS5wGgQzY by louis@emacs.ch
       2023-05-25T08:31:49Z
       
       0 likes, 0 repeats
       
       @amszmidt @ksaj @larsbrinkhoff @ramin_hal9001 @rml So for your the only "Lisp" is the „Original Lisp“ from JMC? Yes, then there is only one Lisp I guess and this whole discussion is for nothing, really.
       
 (DIR) Post #AW0YF4YQb4UUNejaVs by amszmidt@mastodon.social
       2023-05-25T08:33:39Z
       
       0 likes, 0 repeats
       
       @louis @ksaj @larsbrinkhoff @ramin_hal9001 @rml What else would it be?  What is C if not the original K&R C, and its direct descendant developed versions?Is C, something that uses curlies, semi-colons, has a #foo like macros, does not have GC, ... ?
       
 (DIR) Post #AW0YVo5b4CBqEpEDgW by screwtape@mastodon.sdf.org
       2023-05-25T08:36:39Z
       
       0 likes, 0 repeats
       
       @louis @amszmidt @ksaj @larsbrinkhoff @ramin_hal9001 @rml hmm."Inspired by ACTORS [Greif and Hewitt][1] [Smith and Hewitt][2], we have implemented an interpreter for a LISP-like language, SCHEME, based on the lambda calculus [Church][3], but extended for side effects, multiprocessing, and process synchronization."https://en.wikisource.org/wiki/Scheme:_An_Interpreter_for_Extended_Lambda_Calculus/Whole_text
       
 (DIR) Post #AW0YiaUouuxVqP7XxQ by louis@emacs.ch
       2023-05-25T08:38:57Z
       
       0 likes, 0 repeats
       
       @amszmidt @ksaj @larsbrinkhoff @ramin_hal9001 @rml Yeah, then the steam machine really is the only thing that we can call „a car“.  Now you try to redirect by using „direct descendant". Languages do not have descendants, because they do not reproduce on their own. Every version or variant of Lisp stands for itself.
       
 (DIR) Post #AW0YtsG9DJ9M7bdiGu by amszmidt@mastodon.social
       2023-05-25T08:41:02Z
       
       0 likes, 0 repeats
       
       @louis @ksaj @larsbrinkhoff @ramin_hal9001 @rml But the definition of a "car" is not "steam engine".   It is something with four wheels, that can shuffle a small amount of people.  Now you're just grasping for straws ...
       
 (DIR) Post #AW0ZwgXnKMgubsnXcG by ksaj@infosec.exchange
       2023-05-25T08:52:44Z
       
       0 likes, 0 repeats
       
       @louis @larsbrinkhoff @amszmidt @ramin_hal9001 @rml Do they all compile to bytecode? I don't know Scheme, so I don't know if it uses that strategy or not.
       
 (DIR) Post #AW0aEfJ8fATtzJW54a by amszmidt@mastodon.social
       2023-05-25T08:37:47Z
       
       0 likes, 0 repeats
       
       @louis @ksaj @larsbrinkhoff @ramin_hal9001 @rml See, the only group of programmers who insist on calling "FOO a BAR" / "FOO is a dialect of BAR" is Scheme / Lisp programmers!  It is the only group that tries to define the language not by its actual definition, but by random characteristics that they think are important.
       
 (DIR) Post #AW0aEfycAxes3wvCim by ramin_hal9001@emacs.ch
       2023-05-25T08:40:08Z
       
       0 likes, 0 repeats
       
       @amszmidt @louis @ksaj @larsbrinkhoff @rml  It is the only group that tries to define the language not by its actual definitionThat is because not everyone agrees with the definition that you are calling "[Lisp's] actual definition." In all honesty, I think "the actual definition" you posit is a bit archaic.
       
 (DIR) Post #AW0aEgVwB4JTjIVof2 by amszmidt@mastodon.social
       2023-05-25T08:41:52Z
       
       0 likes, 0 repeats
       
       @ramin_hal9001 @louis @ksaj @larsbrinkhoff @rml There is nothing really archaic about it, it is a relatively common definition by people hacking on Lisp at that.
       
 (DIR) Post #AW0aEhALkodhkdQ5eS by amszmidt@mastodon.social
       2023-05-25T08:44:38Z
       
       0 likes, 0 repeats
       
       @ramin_hal9001 @louis @ksaj @larsbrinkhoff @rml If we cannot even let the people who make a language decide what it is, then we might as well forgo all logic and just make up words with random definitions.  People arguing that Lisp 1.5 is not Lisp, since it lacks MANY of the things people consider Lisp is the pinnacle of silliness (no macros!).
       
 (DIR) Post #AW0aEhrbA1EZuled3w by amszmidt@mastodon.social
       2023-05-25T08:45:05Z
       
       0 likes, 0 repeats
       
       @ramin_hal9001 @louis @ksaj @larsbrinkhoff @rml Even on the Lisp Machines, you did not use the garbage collector! It was mostly disabled, since it was slow, cumbersome, and prone to crashing ... You ran your programs until you ran out of memory, then you restarted the machine.
       
 (DIR) Post #AW0aEiTsrfrJpVZCjo by ramin_hal9001@emacs.ch
       2023-05-25T08:49:23Z
       
       0 likes, 0 repeats
       
       @amszmidt @louis @ksaj @larsbrinkhoff @rml If we cannot even let the people who make a language decide what it is, then we might as well forgo all logic and just make up words with random definitions.I accept the definition of Lisp as you posited, but it is too exclusive. I think the definition of Lisp should be a bit more broad. A dictionary is not an authority on the definition of words, it merely describes how words are used with example usages as evidence.Here is an example usage that I was just about to post: The Spring Lisp Game Jam 2023. In the rules of the competition, at the very top it is clearly stated:Must be written in any dialect of Lisp. This includes, but is not limited to Common Lisp, Racket/Scheme, Emacs Lisp, Fennel, Clojure, or even your own new custom lisp you've made just for this game! 
       
 (DIR) Post #AW0aEih04uLoUBhgBM by amszmidt@mastodon.social
       2023-05-25T08:49:36Z
       
       0 likes, 0 repeats
       
       @ramin_hal9001 @louis @ksaj @larsbrinkhoff @rml And most of these "lists" only scratch the actual interesting features of Lisp, one of the earliest -- might even be earlier than macros was objects, and object oriented programming.  Something Scheme lacks.
       
 (DIR) Post #AW0aEjCCCvIw2wIao4 by amszmidt@mastodon.social
       2023-05-25T08:53:46Z
       
       0 likes, 0 repeats
       
       @ramin_hal9001 @louis @ksaj @larsbrinkhoff @rml It is exclusive, anything else makes little sense.  You cannot go around saying that Algol is a C.   We can find plenty better words to describe language similarity than to declare them being the same.  Breeed, inspired, S-EXP based....
       
 (DIR) Post #AW0aEjmM2UEBr5DTAO by louis@emacs.ch
       2023-05-25T08:55:57Z
       
       0 likes, 0 repeats
       
       @amszmidt Can you elaborate a bit more on how you define a language A being a "direct descendant" of language B?@ramin_hal9001 @ksaj @larsbrinkhoff @rml
       
 (DIR) Post #AW0aOpTBjer4Ov40Ce by amszmidt@mastodon.social
       2023-05-25T08:57:49Z
       
       0 likes, 0 repeats
       
       @louis @ramin_hal9001 @ksaj @larsbrinkhoff @rml Well, the easiest one is that you copy the implementation from A, and then work on B.Consider MACLISP and Lisp Machine Lisp -- definition where literally copied from one to the other.Similar, Lisp 1.5 was picked up by the MIT people, and then continued hacking on the same source code.Another way of doing it is to implement the specification of the language.
       
 (DIR) Post #AW0acX2J4GPJHh1XJQ by louis@emacs.ch
       2023-05-25T09:00:16Z
       
       0 likes, 0 repeats
       
       @amszmidt By „copy the implementation" you mean copy the original source code and work on that? What percentage of the code needs to remain unchanged for you to still consider it a "direct descendant“?@ramin_hal9001 @ksaj @larsbrinkhoff @rml
       
 (DIR) Post #AW0ako1JnzQsHBVUUi by amszmidt@mastodon.social
       2023-05-25T09:01:47Z
       
       0 likes, 0 repeats
       
       @louis @ramin_hal9001 @ksaj @larsbrinkhoff @rml It is not about percentage.  It is about linage.  Scheme broke that, on purpose.
       
 (DIR) Post #AW0b5RYWWSx8gXsZJw by louis@emacs.ch
       2023-05-25T09:05:30Z
       
       0 likes, 0 repeats
       
       @amszmidt Ok so first you say it needs to be "a copy" of an implementation. Then you say it is not about the source code or how much of it gets changed. Now it is about "lineage“. Back to square one. This is what I asked about you in the first place. What exactly do you consider as "lineage“?@ramin_hal9001 @ksaj @larsbrinkhoff @rml
       
 (DIR) Post #AW0bMAuheRrTzdEQMa by amszmidt@mastodon.social
       2023-05-25T09:08:32Z
       
       0 likes, 0 repeats
       
       @louis @ramin_hal9001 @ksaj @larsbrinkhoff @rml I didn't say that it NEEDS to be a copy.  I said that is one way to define it, that is simple.It is about similarity between the languages at the end of the day.  Maclisp is similar to Lisp 1.5, which is similar to Common Lisp, which is similar to Interlisp-D.In many cases, they are direct descendants, in that they literally took the code base and just ran with it .. in some, it is a re-implementation, say Emacs Lisp.Scheme? Not so.
       
 (DIR) Post #AW0bfOBuVgIUftRU2K by amszmidt@mastodon.social
       2023-05-25T09:12:01Z
       
       0 likes, 0 repeats
       
       @louis @ramin_hal9001 @ksaj @larsbrinkhoff @rml Also slightly unfair to ask for an "exact" definition of something that is fluffy as it is, it isn't like you have an "exact definition of what Lisp" is.
       
 (DIR) Post #AW0bx9WBnniINcOj0C by louis@emacs.ch
       2023-05-25T09:15:12Z
       
       0 likes, 0 repeats
       
       @amszmidt You seem to crave on fluffy things. Seems to be your strategy to make the bites you constantly ask for not hurt so much 😃  But for the macros, I'll pass. I need to resume my life.   @ramin_hal9001 @ksaj @larsbrinkhoff @rml
       
 (DIR) Post #AW0byrgT52v1eC1Qjw by ksaj@infosec.exchange
       2023-05-25T09:15:34Z
       
       0 likes, 0 repeats
       
       @louis @amszmidt @ramin_hal9001 @larsbrinkhoff @rml Aaand we're back to philology and trees again.
       
 (DIR) Post #AW0c2WbLPIhRQ2N2lk by amszmidt@mastodon.social
       2023-05-25T09:16:11Z
       
       0 likes, 0 repeats
       
       @louis @ramin_hal9001 @ksaj @larsbrinkhoff @rml :-) What is most funny is that people think I'm very serious about it .. I just think the whole topic is really nonsense of "This is That".
       
 (DIR) Post #AW0crzR3xhVncD6OGW by rml@functional.cafe
       2023-05-25T02:50:39Z
       
       0 likes, 0 repeats
       
       @screwtape @PaniczGodek @amszmidt @louis so where does Lisp Flavored Erlang fit into this picture? Or femptolisp? Or Chialisp? Or picolisp? Or all the other lisps that look like look, feel and claim to be lisps but aren't in direct continuity with the early standardization ideas?The common lisp effort was hastened in part by frankness on behalf of DARPA that they wouldn't continue to fund countless lisp dialects. Are we really going to let the US military set the break point where lisp begins and ends?
       
 (DIR) Post #AW0cs09jHdEzqk03t2 by louis@emacs.ch
       2023-05-25T09:25:28Z
       
       0 likes, 0 repeats
       
       @rml Unfortunately the US military sets the break point even where whole nations begin and end. @screwtape @PaniczGodek @amszmidt
       
 (DIR) Post #AW0pQCUX7q01P4nwoa by phenlix@mastodon.online
       2023-05-25T11:46:07Z
       
       0 likes, 0 repeats
       
       @louis @amszmidt @ksaj @larsbrinkhoff @ramin_hal9001 @rml See https://hachyderm.io/@lispegistus/110428797171924732
       
 (DIR) Post #AW0qQIiq3l2qgL6jcu by llewelly@sauropods.win
       2023-05-25T11:57:21Z
       
       0 likes, 0 repeats
       
       @louis @amszmidt @dani @rml @ramin_hal9001 ShatGPT, cribbing from wikipedia again: https://en.wikipedia.org/wiki/Scheme_(programming_language)
       
 (DIR) Post #AW0qxht3WClmHkodZw by glitzersachen@hachyderm.io
       2023-05-25T12:03:23Z
       
       0 likes, 0 repeats
       
       @louis @amszmidt @ksaj @larsbrinkhoff @ramin_hal9001 @rml No, that cannot be. The language that JMC implemented/invented was called LISP.I can understand the confusion arising from this for CL users, though.
       
 (DIR) Post #AW0r9BMkFzywtjAt4C by larsbrinkhoff@mastodon.sdf.org
       2023-05-25T12:05:27Z
       
       0 likes, 0 repeats
       
       @louis @amszmidt @ksaj @ramin_hal9001 @rml The whole discussion is really for nothing, but possibly amusement.  There will be no shared conclusion.  No one will be moved by any argument.  Just have fun!
       
 (DIR) Post #AW0ruHnIAuEKRe3JqK by louis@emacs.ch
       2023-05-25T12:13:58Z
       
       0 likes, 0 repeats
       
       @larsbrinkhoff There are those who want to be bitten and those who want to bite. We met here in this giant bitefest to amuse each other consensually and sharpen our senses. And although we shared many opinions (of which only mine was... nah strike that) we stayed civil and joyful. This not Twitter after all! ♥️ @amszmidt @ksaj @ramin_hal9001 @rml
       
 (DIR) Post #AW13aT7FZNOXDXhjzk by larsbrinkhoff@mastodon.sdf.org
       2023-05-25T14:24:51Z
       
       0 likes, 0 repeats
       
       @louis @amszmidt @ksaj @ramin_hal9001 @rml Narrator: "and maybe *that* is the real Lisp spirit".  Close to credits.