Talk:Lisp (programming language)

message: There are several places where someone has put the [citation needed] annotation,
but it's just a language feature being described.  For example, that symbols
may appear in more than one place, but refer to the same object.  I assert that
example, for instance, needs no citation.  Any of the language references will
back that up (as will anyone who knows Lisp).  I'd remove the silly ones myself,
but I am not a Wikipedian and don't know how or what the protocol is.  —Preceding unsigned comment added by 75.198.239.200 (talk) 08:24, 21 January 2009 (UTC)
replies: text: Hi, the protocol is to be WP:BOLD and just do it. --MarSch (talk) 17:13, 22 January 2009 (UTC)
thread_title:  Random "citations needed" are not 

message: Proprietary or not --Melab-1 21:12, 4 September 2008 (UTC)
replies: text: Some implementations of some Lisps are, some are not. --MarSch (talk) 17:17, 22 January 2009 (UTC)
thread_title:  License 

message: The Qi manual pages 18-31  has a good discussion of the history of Lisp in terms of creating an RS for discussing the why various things happened.  jbolden1517Talk 15:40, 12 April 2009 (UTC)
replies: text: I took a look at this.  Though I suppose it is an OK potted history for an introductory computer science book, it is not very good as history.  Besides ignoring all work in early programming languages other than Lisp, it also makes the completely incorrect claim that it was Lisp machines which introduced windowing, computer mice, and personal computing. And simply on technical grounds -- it is self-published by someone who is not a published expert in the history of computer languages -- it doesn't meet WP:RS criteria. --macrakis (talk) 20:39, 12 April 2009 (UTC)
replies: text:  OK thanks for taking the time to consider it.  I found the windowing claims odd as well, but wasn't sure since smalltalk did have those (several years later) and those two communities were friendly....  But if that claim is wrong then no reason to endorse the history of LISP aspects.  jbolden1517Talk 21:15, 12 April 2009 (UTC)
thread_title:  Qi manual 

message: The "influenced" list is getting rather long and vague. Some of these are not confirmed either in the article on the language referenced or in the timeline of programming languages. I think the list should be restricted to languages whose primary influence was Lisp where Lisp was specifically mentioned as a primary influence by the language designer(s). Otherwise, we may end up with a list containing nearly every post-Lisp language, which is hardly useful. Yworo (talk) 15:27, 2 August 2009 (UTC)
thread_title:  Influenced 

message: The main influence is the use of lists in Functional Languages. Other influential work in modern languages (mainly functional) is APL that influenced John Backus seminal FP and FFP, and P.Landing work.
Milner also influenced with ML.  Prolog also uses lists, but is based in predicate logic.
I think it is enough to say that Lisp is one of the more influential programming languages.
However we may say the same of Fortran, all programming languages with assignment an control structures.
Is this genealogy the main subject about programming languages?
It is not.
Procedural languages have a bottle-neck, the assignment. See John Backus, Can Programming Be Liberated From Von Neuman Style?, CACM, 1978.
I think it is more important to mention how Lisp evolved to a language based on Lambda-calculus, due to the work on denotational semantics (in the beginning of lisp it was not based on lambda-calculus).
Scheme is a good example of that, and how it can be used to implement many programming languages, knowing it's denotational semantics.
It could be included an example implementation of the while language from its denotational semantics.
This is to me a more influential role of this language, than a simple genealogy.  — Preceding unsigned comment added by Elias (talk • contribs) 04:58, 9 March 2011 (UTC)
thread_title:  Symbolic expressions, form a Recursive Functions system 

message: I think it would be nice to see a section on industrial uses of lisp. I.e., companies, etc which use Lisp in internal or for-sale software. Scheme (programming language) has such a section. 174.99.120.127 (talk) 20:30, 22 August 2009 (UTC)
thread_title:  Who uses Lisp? 

message: The term "object-oriented" has been morphed over the years.  Lisp did pioneer it.  It used to be more about the issue of objects being data structures referred to by pointers and having identity (not just being value copied all over the place), like the C# ref types, and less about how they were programmed.  In the old meaning of "object-oriented", even things like symbols were thought to be "object-oriented" things, I claim.  It wasn't until later that programming style and encapsulation came to use that term (and inappropriately, I think, but that's something we can debate elsewhere--for here all that matters is that there was an older usage and that it changed). I object to the recent change by Macrakis (22 Aug 2009 22:07) removing this reference, but didn't want to get into an edit war by changing it back, so am just noting my concern here:  Just because someone has repurposed the name doesn't mean Lisp should claim no credit here, at least not without highlighting the shift in terminology.  Articles that use "object-oriented" in the original way are not making up a false reality.  See my essay What's in a Name? -- Uses and Abuses of Lispy Terminology from Lisp Pointers, Volume VI, Number 1, January-March 1993, where I discussed the terminological shift as it was starting to gain a foothold. --Netsettler (talk) 16:58, 24 August 2009 (UTC)
thread_title:  Object-Oriented Language? 

message: I came here because the entry McCarthy Formalism has many mistakes and I propose to remove that article. It is about the relation between Recursive functions and symbolic expressions.
As I told there, since McCarthy wrote "Recursive Functions of Symbolic Expressions ...", he presented a system equivalent o recursive functions.
There is a correspondence between Zero an Nil, Succ and Cons, U and Car,Cdr, etc. McCarthy said in an article about Lisp circa 1980 in the CACM that he did not understood lambda-calculus at that time. Otherwise he did not had the error of dynamic binding the only thing that he would change if he could make time back.
This mistake should be fixed in this article (Lisp (programming language)).
Besides that choice of Lambda expressions by McCarthy. There is another reason that makes many people (I was one of those) who think Lisp is based in lambda calculus. Newer dialects, maybe Scheme is the more elegant in this aspect, are used to teach programing languages by implementing it's Denotational semantics. Friedman et-al Esentials of programming languages, is a very good book with that approach.
They show how to implement fixed point combinators in that strict language.
You can teach how to write the factorial function using fixed point combinators, as it is done in the lambda-calculus.
But that is another thing. I just say that such approach reinforces the myth that lisp was based in lambda calculus.
Anyway, I think both of you agree with me to correct this.
In general I think this article is fine. Although it is more biased to a practical programmer point of view.
That may introduce some resistance to make this correction.  — Preceding unsigned comment added by Elias (talk • contribs) 05:17, 14 February 2011 (UTC)
thread_title:  I also though that I have written this part :) 

message: Beware that anon users (194.154.66.35, 212.5.80.7, 212.5.80.7 again, others?) are adding BEE Lisp to various places in the article, including "Dialects" and "External links".
BEE Lisp is a commercial Lisp compiler, hence my worry that it's spam.  If it is indeed a notable dialect - my apologies.  75.45.97.117 (talk) 12:04, 27 January 2010 (UTC)
thread_title:  [[BEE Lisp]], possible spamming 

message: At the bottom of the History section, where Common Lisp is first mentioned, shouldn't "somehow compatible" be changed to "somewhat compatible"? Peter Delmonte (talk) 06:24, 20 February 2010 (UTC)
thread_title:  "somehow compatible" ? 

message: Why is there no information about muLisp? Why is it ommitted?  —Preceding unsigned comment added by 84.193.134.35 (talk) 10:59, 11 July 2010 (UTC)
replies: text: Probably just an oversight.  I agree mulisp is historically interesting.  muLisp is mentioned in three entries but not as a hyperlink.  It deserves its own page if someone has information on it.  Portable Standard Lisp (PSL) is not mentioned either, and should be.  --Netsettler (talk) 16:28, 12 July 2010 (UTC)
thread_title:  Lisp dialects 

message: The first line of the History section:
:"Lisp was invented by John McCarthy in 1958 while he was at the Massachusetts Institute of Technology (MIT)."
"At" is ambiguous – was McCarthy attending MIT, or teaching there?  Looking briefly over his article, it seems that it was the latter, but as I don't actually know, I thought I'd bring it up here and let someone with a bit more knowledge on the subject fix it. 69.105.38.18 (talk) 02:37, 4 August 2010 (UTC)
replies: text: McCarthy was a professor at MIT. --FOo (talk) 21:09, 6 November 2010 (UTC)
thread_title:  History -> "at"? 

message: The article states Originally specified in 1958, Lisp is the second-oldest high-level programming language in widespread use today; only Fortran is older.
Is Lisp really in "widespread use" today? I mean, the modern dialects (eg, Common Lisp) are, but the Lisp dialects in use today are entirely different beasts than the Lisp that was created in 1958 - one could argue that they are derived languages, rather than dialects (or is C an ALGOL dialect?). Thats like saying that ALGOL is still in widespread use because ALGOL-derived languages are in widespread use today.  —Preceding unsigned comment added by 89.101.42.6 (talk) 19:18, 10 September 2010 (UTC)
replies: text: The Lisp dialects used today are a rather closer descendant of the early ones than C is of Algol. There wasn't a single Lisp standard in the early days; rather, every university or research group that built a Lisp system had a slightly different one -- but all of these were mutually recognized as being "Lisp". It's probably worth noting that CL was considered an effort to find common ground among existing dialects, rather than to create a wholly new language. In any event, '60s Lisp is recognizable as a Lisp today, whereas Algol doesn't really look like C.  --FOo (talk) 21:08, 6 November 2010 (UTC)
thread_title:  Lisp is the second-oldest high-level language in use? 

message: Is the number 1178 in section "Historically significant dialects", link "IEEE Scheme – IEEE standard, 1178–1990 (R1995)" meant to be a year?  —Preceding unsigned comment added by 130.92.9.55 (talk) 12:36, 4 November 2010 (UTC)
replies: text: No, it really is 1178, not 1978. The number 1178 is part of the name of the standards document, the number after the dash denotes a specific revision (or the year, that revision was published). The IEEE Standards Association uses (mostly) numerical codes to identify the individual standards it publishes, like IEEE 754-2008 for the 2008 revision of the binary floating-point arithmetic standard, IEEE 1394 for FireWire, or IEEE 1541-2002 for the document defining standardized binary prefixes. Strictly speaking, I think, the number denotes the respective IEEE standards committee. — Tobias Bergemann (talk) 15:06, 4 November 2010 (UTC)
thread_title:  Spelling? 

message: I didn't want to change anything since all I know about lisp is what I've read so far in this article. But to me, it sounds fishy that the asymptotic complexity of appending two linked lists is O(n).  — Preceding unsigned comment added by Enisbayramoglu (talk • contribs) 16:48, 8 September 2011 (UTC)
replies: text: O(n) where n is the total length of all but the last list being appended.  Append is O(1) for the last list. It takes n cdr operations just to get to the end of a length-n list in the standard representation; also O(n) to copy it (which you have to do for 'append').  Of course, it's possible to use other representations (see CDR coding and unrolled linked lists), but they have worse performance characteristics when modifying lists (RPLACD). --Macrakis (talk) 17:30, 8 September 2011 (UTC)
thread_title:  Asymptotic complexity of appending two lists. 

message: What does the word 'recently' mean in the following sentence?
:"After having declined somewhat in the 1990s, Lisp has recently experienced a resurgence of interest."
Should not the word 'recently' be bannished from Wikipedia?  
Where is the 'recently-bot'?
Jack-cnv (talk) 14:18, 2 January 2013 (UTC)
thread_title:  When did "resurgence of interest" occur? 

message: The article does not distinguish reader macros and evaluation. The evaluator (eval) takes an expression such as (QUOTE FOO) and returns the atom FOO; the evaluator never sees a thing that looks like 'foo; that beast is not a s-expression. The s-expression reader (read) makes use of reader macros that transform the character stream 'foo into the s-expression (QUOTE FOO); sometime later eval may look at that expression and compute its value. In some sense, reader macros are outside of the language; when a Lisp program examines an s-expression, it never sees 'foo. Reader macros are examples of Moses' mud. Quasiquote is just a more powerful reader macro that makes an expression that builds the specified pattern.
The article also confuses the notion of operator and special form. Many languages treat + as an operator and use a different mechanism for functions such as atan(y, x). Lisp doesn't do that; + looks like an alphabetic character and it is used just like other (polymorphic) functions. A Lisp programmer can pass + as a functional argument; a FORTRAN programmer cannot do that (he must define his own ADD function). Lisp has special forms; it doesn't have operators in the sense of +.
Consequently, the article loses the clean notion of eval. Glrx (talk) 04:02, 30 April 2013 (UTC)
thread_title:  Lots of confusion 

message: I've reverted  change of the basic factorial implementation to the previous version that used a simple 'if' statement. There's nothing at the if sentence that makes it less functional;the = comparison expression is more direct than a zerop predicate, and both the base and recursive cases are easier to read than guarded clauses. Remember that this page is intended for people that doesn't know Lisp yet. Diego Moya (talk) 21:09, 5 August 2013 (UTC)
replies: text: The example as it is now is not clear to people who don't know Lisp -- or even to someone who studied it decades ago and has forgotten it.211.225.33.104 (talk) 07:05, 16 June 2014 (UTC)
thread_title:  Restored clearer factorial definition 

message: I deem the following links in the "dialects" slot being not dialects:
* Racket, is a Scheme implementation,
* T, is a Scheme implementation.
Rursus dixit. (mbork3!) 11:19, 10 January 2014 (UTC)
thread_title: Undialects in infobox

message: At least with regard to Common Lisp.  The C x++ operator has a side effect but the Lisp (1+ x) is exactly equivalent to (+ x 1).  incf would be a closer parallel to the C ++ operator.  — Preceding unsigned comment added by Wolfamade (talk • contribs) 10:08, 30 January 2015 (UTC)
thread_title:  The 1+ example is bogus 

message: The last sentence of the first paragraph in the section 2000-present reads "A new print edition of Practical Common Lisp by Peter Seibel, a tutorial for new Lisp programmers, was published in 2005." Aren't there many recently published books on Lisp? Why is this book mentioned specifically? The sentence doesn't connect with the previous and following text smoothly. This sentence should be removed. --Wickedjargon (talk) 00:15, 9 May 2015 (UTC)
replies: text:  I reverted [the book] as Wickedjargon suggested. The topic of the paragraph was the resurgence of Lisp, but the mere fact of publishing a book does not carry that implication. The implication is WP:SYN. Otherwise, it's a throw away sentence. Furthermore, WP is not meant to be an introductory book/tutorial to learn a language or a source of product or book reviews. Straw polls are not reliable secondary sources. WP uses sources to back up statements, so the book can be used to support statements about the language, but just stating publication in the body of the article is advertising. I have no qualms about listing it in EL or further reading -- and that is where it is mentioned already. Glrx (talk) 15:00, 19 May 2015 (UTC)
thread_title:  Why mention Peter Seibel's book in ''2000-present'' section 

message: Hello fellow Wikipedians,
I have just added archive links to  on Lisp (programming language). Please take a moment to review my edit. If necessary, add  after the link to keep me from modifying it. Alternatively, you can add  to keep me off the page altogether. I made the following changes:
*Added archive http://web.archive.org/web/20050617031004/http://www8.informatik.uni-erlangen.de:80/html/lisp-enter.html to http://www8.informatik.uni-erlangen.de/html/lisp-enter.html
When you have finished reviewing my changes, please set the checked parameter below to true to let others know.
Cheers.—cyberbot IITalk to my owner:Online 11:26, 27 February 2016 (UTC)
thread_title:  External links modified 

message: Decades ago I was told a story about a bug in the Lisp printer, but I don't remember the speaker was. I know I've talked to Whitfield Diffy about his Lisp pretty printer, so maybe it came from him. I'm not sure.
Anyway, the original Lisp focused on n-tuples, so the original printer was supposed to print them out using typical paren and comma notation: (A, B, C, D). The routine had a bug, so it printed the tuples without commas (or put an odd comma at the end). People preferred the result without commas, so the commas were dropped. Glrx (talk) 04:41, 26 March 2016 (UTC)
thread_title:  Anybody have a reference for a Lisp n-tuple story? 

message: The examples in the Examples section looked quite okay to me, but I thought it would better reflect Lisp as a collection of dialects if we would add the same examples in Scheme and perhaps several other dialects (Clojure or any of the other newer dialects, or maybe one of the defunct dialects?).
I've been experimenting with tables of syntaxhighlights (the other way around - syntaxhighlights with tables in them - doesn't work), but (especially with the indentation taught in "Structure and Interpretation of Computer Programs") the examples aren't all of equal height in different dialects, which looks wrong as the content of the tables is . Maybe there is some way to extend the syntaxhighlight for a few extra lines? Whitespace doesn't work.
As for now, I've resorted to borderless tables and would like anyone to improve - with respect to WP editing, I've no idea what I'm doing
--El-totsira (talk) 22:26, 22 June 2016 (UTC)
replies: text: I've reverted recent modifications to the Examples section to provide CL/Scheme comparisons as inappropriate. There is little reason to compare the syntactic differences among implementations: define v. defun is not interesting; some examples are identical save for that distinction. The Scheme version of factorial does not exploit a lexical accumulation; a CL version could exploit the same scoping. The comparisons do not show any fundamental distinctions in the language. Using an optional arg for the accumulation probably arose as a way of illustrating optional arguments, but it seems to be a poor method of computing a tail-recursive factorial. That macros exist and can create different syntax is not something to show by examples. Glrx (talk) 20:56, 27 June 2016 (UTC)
thread_title:  Add examples of Scheme (and other dialects) 

message: Hello fellow Wikipedians,
I have just modified 2 external links on Lisp (programming language). Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
*Added archive https://web.archive.org/web/20100717111134/http://history.siam.org/sup/Fox_1960_LISP.pdf to http://history.siam.org/sup/Fox_1960_LISP.pdf
*Corrected formatting/usage for http://www.cl-user.net/asp/erw/sdataQIvH87hu8NU%24DM%3D%3D/sdataQo5Y-1Mh9urk
When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.
Cheers.—InternetArchiveBot (Report bug) 21:29, 16 May 2017 (UTC)
thread_title:  External links modified 

message: Hello fellow Wikipedians,
I have just modified 2 external links on Lisp (programming language). Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
*Added archive https://web.archive.org/web/20160408134008/http://julia.readthedocs.org/en/latest/manual/introduction/ to http://julia.readthedocs.org/en/latest/manual/introduction/
*Added tag to https://quachquynh.com/wp-content/uploads/2023/05/AIM-349.pdf
*Added archive https://web.archive.org/web/20080905110332/http://cl-user.net/ to http://www.cl-user.net/
When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.
Cheers.—InternetArchiveBot (Report bug) 04:03, 24 December 2017 (UTC)
thread_title:  External links modified 

message: I don't have references for this assertion, but just browse many LISP courses.
A simple interpreter is very easy to write, because the eval function is the kernel of the interpreter. For that reason it became a tradition to learn LISP building the interpreter. Garbage collection is not always included in such courses, unless they are advanced.
Some times the LISP interpreter is written in some LISP dialect, other times the basic LISP functions are implemented in other programming language, in such case also an S-Expression parser is also build.
A programmer who learn to build a parser, represent data structures and even implement a garbage collection algorithm, acquire key knowledge for programmers.
That tradition in great part the reason that produced many LISP dialects.
It was great, because LISP also became an ideal language to experiment with. Adding other features like extending it with problem solving features and logic programming.
I know that from my experience, but can not cite some study about this particular feature which is absent in the learning of the major part of languages.
Although some languages express their semantics in a circular form, i.e. by a program in the same language that interpret it. That is a way to show that such language is like an Universal Turing Machine, a Turing Machine that can be programmed to work as a ny Turing Machine, the idea in which John von Neumann based the stored program machine architecture.
Unfortunately in now days, the semantics of many popular programming languages is only described in natural language, i.e. plain English.
I am tempted to add a section, maybe titled LISP training to describe the advantage of LISP to develop a more structured mind.  — Preceding unsigned comment added by 2806:107E:C:2568:218:DEFF:FE2B:1215 (talk) 09:31, 5 April 2018 (UTC)
thread_title:  It is a tradition to learn LISP writing a LISP interpreter, making it a formative language 

message: :Feel free to state your position on the renaming proposal by beginning a new line in this subsection with *Support or *Oppose, then sign your comment with ~~~~. Since polling is not a substitute for discussion, please explain your reasons, taking into account Wikipedia's policy on article titles.
* (I requested this move) Crlf0710 (talk) 17:11, 21 February 2019 (UTC)
thread_title: Survey

message: The article currently says, "The first complete Lisp compiler, written in Lisp, was implemented in 1962 by Tim Hart and Mike Levin at MIT," referencing AIM-39 written in 1962. However, the Lisp I Progammer's Manual published May 1960, section 4.2, clearly states that a compiler was already available by that time. Do we have any evidence that this compiler was somehow "incomplete"? Certainly there's no indication of that in L1PM.
Cjs (talk) 03:41, 9 September 2019 (UTC)
thread_title:  First LISP Compiler 

message: Two undefined constructs appear in examples: # and block. Can someone fix this?
(Footnote 54 explains one use of #, but doesn't seem to shed any light on other examples. An appropriate fix for block might be to delete the arcane example that uses it.)
I also suggest presenting a more straightforward example of mapcar, without #. Perhaps the existing example would make a good illustration for #. Mdmi (talk) 21:04, 15 December 2019 (UTC)
thread_title:  Undefined constructs