Talk:Common Lisp

message: I am no lisp expert but I seem to remember there are lisps that compile programs to fortran - so a fortran compiler can translate them into assembler. The article seems only to mention C as an intermediate language.
--Peterpall (talk) 19:14, 22 July 2014 (UTC)
thread_title:  Compiling 

message: It is not true that Scheme introduced static scoping, and it is very unlikely to be true that ZetaLisp was dynamically scoped.
Before Scheme, you had two behaviors; an implementation's interpreter usually used dynamically scoped variables, while its compiler used statically scoped variables. This is the case in Lisp 1.5 (I have the manual which documents that), MACLisp, and very probably ZetaLisp (though I haven't tried in this last one).
Since ZetaLisp was basically MACLisp with some additions, and both have greatly contributed to the design of Common Lisp, the statement "Most of the Lisp systems whose designs contributed to Common Lisp [...] used only dynamically-scoped variables" is incorrect. I have therefore corrected the article. --Sam 01:48, 17 Feb 2005 (UTC)
replies: text: Well, MACLISP documented what the implementation did, it didn't begin with a description and then try to implement it.  Had it begun with a specification, I doubt anyone would have said "Let's make it do different things compiled and interpreted."  Also, the lexicality it offered was not as grand as what one thinks of today as lexical scoping.  Mostly all it got you was the "compiling away of the name" so it didn't confuse EVAL or collide with SPECIAL variables.  Lexicality, such as it was in MACLISP, was quite impoverished.  It did not extend to the offering of closures.  Joel Moses, if I recall correctly, wrote a paper about this issue--something like The Function of FUNCTION in Lisp or some such.  And MACLISP had a *FUNCTION operator that tried to be a feeble workaround to a subset of the problems caused by the lack of lexical closures.  Zetalisp had a LET-CLOSED operator that did something even weirder.  People knew there was a problem but they hadn't articulated what needed to be fixed, I think.  Scheme helped the Lisp community sort that out, drawing on ideas from ALGOL and the Lambda Calculus.  And CL re-integrated the Scheme ideas into the MACLISP family. -- Netsettler 07:53, 14 November 2007 (UTC)
thread_title:  Dynamic scoping in pre-Common Lisps 

message: The article contains a paragraph which tells us how to use a macro but it does not tell how to create a function.
*You do it with defun, as explained in the Syntax section. Or you can use lambda expression as explained in the main LISP article.  Grue  18:12, 12 Jun 2005 (UTC)
thread_title:  How do I define a function 

message: For anyone interested there is a Common Lisp Wikibook. So far I'm the only one who's editing it. I'd like some more collaboration...  Grue  13:56, 10 January 2006 (UTC)
thread_title: Wikibook

message: I fixed some minor factual errors.  Or, not so minor from an implementor's point of view, e.g., mine.
Neither DO nor DEFUN are special operators, and conditions aren't necessarily special types.  Conditions could be special types, but implementors can use defstruct or defclass much more easily. Klodolph 07:33, 17 January 2006 (UTC)
replies: text: Great! It's good to have an implementor's input on this article, by the way. What implementation do you work on? --FOo 08:44, 17 January 2006 (UTC)
thread_title: Special Operators

message: I removed the following text from the "Scalar types" section because it's confused, conflating symbols as data (which are not variables) and symbols in code (which are):
:Symbols in Lisp are similar to identifiers in other languages, in that they are used as variables to hold values; however, they are more general and can be used for themselves as well. Normally, when a symbol is evaluated, its value as a variable is returned. Exceptions exist: keyword symbols such as <TT>:foo</TT> evaluate to themselves, and Boolean values in Common Lisp are represented by the reserved symbols <TT>T</TT> and <TT>NIL</TT>.
Also, I don't like this "Class instances are similar to structures, but created by the object system, CLOS."  Structs are as much a part of CLOS as anything else; they're just a different metaclass (structure-class rather than standard-class per default)
Tacitus Prime 11:44, 2 November 2006 (UTC)
thread_title: Confusion

message: This article says "imperative, functional and object-oriented", but only the latter 2 are given at Multi-paradigm_programming_language. I'm too lisp-newbie to fix it. Hope this helps, "alyosha" (talk) 18:06, 23 June 2007 (UTC)
replies: text: Multi-paradigm_programming_language is wrong. CL supports all three of those.  Grue  22:00, 23 June 2007 (UTC)
replies: text: Well, now it says meta, which is also not in the list of paradigms.  Shouldn't the term "reflective programming" be used (examples: the symbol-function, symbol-value, find-class, find-restart, do-symbols, macroexpand), or shouldn't "meta programming" be added to the other entry to encourage side-by-side comparison of languages with common terminology? Personally, I think reflective is more interesting than meta, because reflection suggests the relationship between two meta-domains and a vocabulary for bridging that gap with interesting results. --Netsettler (talk) 21:24, 14 June 2009 (UTC)
thread_title:  paradigms? 

message: There is none. When was ANSI Common LISP first established as a standard? What revisions has it gone through? Why do we need a standard for LISP? I think answers to these questions belong in the article.
Bunnymittens 15:27, 16 November 2007 (UTC)
replies: text: I concur.  See my remarks above (somewhat buried in the Talk:Common_Lisp#Kyoto_CL section) about how I think the problem is structural in this document, not separating legit dialects into separate articles so that something can be said about ANSI CL separate from about CLTL, for example.  If that were fixed, I'd certainly be willing to lace in some appropriate remarks about the standard's history and status. -- Netsettler (talk) 00:07, 17 November 2007 (UTC)
thread_title:  Information on the Standard Itself 

message: The add example is a terrible example, since string concatenation doesn't have the same algebraic properties as numeric addition.  People should not be defining methods that do utterly different things.  Unlike the "overloaded funtions" found in other languages, generic functions are intended for use for use where the different implementations follow the same abstract description, and this example blurs that.  Couldn't we please think up an example that does something properly generic, such as a user-defined walk generic function that works like CL's mapc but works not just on lists and vectors but also arrays of any arity, and maybe even hash tables, packages, etc? If one was going to keep the add concept, it should be used to show a user-defined numeric datatype, such as, perhaps, a polar complex form, an irrational number, a symbolic name, a repeated decimal, etc. -- Netsettler (talk) 02:51, 28 January 2008 (UTC)
replies: text: I agree. Ideally the example should be: short, executable, use at least one user defined class, the methods should implement a semantically related operation and it should involve more than one argument. -RJ  —Preceding unsigned comment added by Joswig (talk • contribs) 15:40, 31 January 2008 (UTC)

text: As inappropriate as the example usage would be, it seems to communicate the language feature very clearly.  Now that the 'syntax' is communicated, perhaps an additional example and explanation could show something properly generic.  —Preceding unsigned comment added by Steve Meacham (talk • contribs) 18:39, 7 May 2008 (UTC)
thread_title:  Generic functions 

message: I've rewritten the Scheme article mainly from the point of view of the contrast between Scheme and Common Lisp.  I'd be grateful for any help from someone with extensive working experience of programming or writing about Common Lisp, in proofing it and correcting any errors.  --TS 20:28, 19 October 2009 (UTC)
thread_title: Scheme

message: There was a recent edit removing a large block of discussion text, saying it removed 2+ year stale discussion.  At a quick glance one or more of my own comments from last year were archived with that, so I'm not sure how careful that removal was.  But either way, I felt the removal was not helpful.  Can someone cross-reference the authority by which such archiving was done and tell me if there is an appeal procedure for bringing it back?  I'd personally rather we have a rich tree of discussion of known issues on this page than have that discussion restarted and almost surely doomed to repeat itself.  I see no reason to believe that those issues went away simply by removing the text.  It seems to me more likely that if there are unresolved issues, it's because of either the complexity of Wikipedia policies for editing or the lack of understanding by individuals, causing a cautiousness or an impasse that keeps the items from being promptly addressed. --Kent Pitman, Project Editor for and technical contributor to the 1994 ANSI Common Lisp standard (Netsettler (talk) 16:37, 16 September 2010 (UTC)
replies: text: It's a fair point. I just moved them back. --Pnm (talk) 03:07, 29 December 2010 (UTC)
thread_title:  Archived Discussion? 

message: I have seen the following text in the article and have been wondering what it really meant:
Function bindings cannot be dynamically scoped (but, in recognition of the usefulness of dynamically scoped function bindings, a portable library exists now which provides them).
Considering that functions are first class objects in Common Lisp, they can easily be assigned to dynamically scoped variables, rebound dynamically using LET and called using FUNCALL or APPLY.  Also, it claims that a portable Common Lisp library provides the functionality, which also implies that the language somehow allows it.
I would propose the following sentence instead, if others agree:
Function bindings cannot be dynamically scoped using FLET (which only provides lexically scoped function bindings), but function objects (a first-level object in Common Lisp) can be assigned to dynamically scoped variables, bound using LET in dynamic scope, then called using FUNCALL or APPLY.
66.11.179.30 (talk) 12:58, 7 January 2011 (UTC)
replies: text: On closer inspection i see my revert was wrong. Sorry. You can go ahead revert me. Someone65 (talk) 01:16, 8 January 2011 (UTC)
replies: text:  Edits restored, thanks!  66.11.179.30 (talk) 01:22, 8 January 2011 (UTC)
thread_title:  Dynamic scoping of functions 

message: Looks like the banner was added as part of an automated tool. When I checked the user page for the editor who added it, I found an older unanswered comment asking why it was added. I'm leaving the inline citations tag as it looks like there are basically none. Cmccormick8 (talk) 12:42, 24 November 2011 (UTC)
replies: text: Hi, I'm the guy who added the neutrality check. I don't remember why (I had a reason at the time, I'm sure). Sorry :(. I usually don't have time to do much more than tag articles and add briefly to talk pages. In this instance, I forgot to add to the talk page. Sorry! Blelbach (talk) 13:13, 10 December 2012 (UTC)
thread_title:  Neutrality check 

message: An anonymous editor (78.0.193.224, 93.136.81.79, 93.136.64.173, 93.139.90.188  - all from Croatia, see Whois) claims that Newlisp is influenced by Common Lisp. As evidence he presented a link to a forum post http://newlispfanclub.alh.net/forum/viewtopic.php?p=8360#p8360 (a 'newLISP Fan Club').
The forum post is neither a credible source nor does it give any detail.
Compare that to Common Lisp itself, which has listed and described its influences in Common Lisp the Language by Guy Steele (1984) in Chapter 1: 'COMMON LISP is a new dialect of LISP, a successor to Maclisp, influenced strongly by ZetaLisp and also to some extent by Scheme and Interlisp.'. The book also decribes for many Lisp functionality its compatibility to earlier dialects. It is further described in the ANSI Common Lisp standard. See chapter 1.1: 'The primary influences on Common Lisp were Lisp Machine Lisp, MacLisp, NIL, S-1 Lisp, Spice Lisp and Scheme.' Additionally a mail archive describes the discussions of the designers of Common Lisp in detail.
There are no such sources for Newlisp which describe its influences. The Newlisp website (http://www.newlisp.org/index.cgi?FAQ)  states: 'Books about Common LISP or Scheme, two different, older standards of LISP, teach you concepts, you don't need to know for learning newLISP. Many times newLISP expresses things differently from traditional LISPs, and in ways more applicable to today's programming tasks and on a higher level closer to the problem at hand.' The newLISP manual does not even mention Common Lisp: http://www.newlisp.org/downloads/newlisp_manual.html 
Lutz Mueller, the designer of newLISP in an interview (http://www.softwarebyrob.com/2007/04/19/interview-with-lutz-mueller-creator-of-newlisp/) :
'Traditional books on Common LISP or Scheme are not recommended for learning newLISP, because they emphasize a style of programming not suited for newLISP.'.
He explicitly discourages newLISP users to use Common Lisp or Scheme books, because they are useless for newLISP.
Thus we can conclude that newLISP is not related to Common Lisp. -- Joswig (talk) 20:38, 30 March 2013 (UTC)
replies: text: Actually, forum posts are never reliable sources. And SELFSOURCE would only apply in an article about newLisp, cannot be used in an article on another subject, Common Lisp. Yworo (talk) 20:04, 31 March 2013 (UTC)
thread_title:  Newlisp influenced by Common Lisp ? 

message: Hello fellow Wikipedians,
I have just modified 3 external links on Common Lisp. 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/20120808032049/http://ccs.mit.edu/papers/CCSWP150.html to http://ccs.mit.edu/papers/CCSWP150.html
*Added archive https://web.archive.org/web/20091212141726/http://www.prenhall.com/divisions/bp/app/alter/student/useful/ch9amex.html to http://www.prenhall.com/divisions/bp/app/alter/student/useful/ch9amex.html
*Added archive https://archive.is/19981205110924/http://www.cse.buffalo.edu/pub/WWW/faculty/shapiro/Commonlisp/ to http://www.cse.buffalo.edu/pub/WWW/faculty/shapiro/Commonlisp/
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) 10:26, 11 August 2017 (UTC)
thread_title:  External links modified 

message: Corman Common Lisp is not free!31.48.245.90 (talk) 11:31, 4 November 2017 (UTC)
thread_title:  Corman Common Lisp 

message: Might want to add SISCOG as another company using CL to schedule trains and their staff for the London Underground and several other major train systems across Europe. Won several AAAI awards - see Wikipedia article for those. On CL, see:
* 
-- Paulscrawl (talk) 04:52, 27 September 2018 (UTC)
thread_title:  major commercial app - SISCOG 

message: I know that the original author probably added them as a service for readers, but in my opinion, large parts of the article should be moved to Wikibooks (WP:NOTMANUAL), including most Code examples and a few too-detailed explanations of the condition system, macros and the CLOS.
Opinions?
—Tuxman (talk) 10:35, 26 November 2020 (UTC)
thread_title:  I would like to remove a few parts of this article