CINXE.COM
Lisp from FOLDOC
<!DOCTYPE html> <html lang="en"> <head> <title>Lisp from FOLDOC</title> <meta http-equiv="Content-Security-Policy" content="default-src 'unsafe-inline' http: https:"> <meta name="verify-v1" content="siAI0ZOMn41hao0E/T76D1I2L3MtFjzE48P3ctCjRNU="> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="msapplication-TileColor" content="#da532c"> <meta name="theme-color" content="#ffffff"> <meta name="google-translate-customization" content="828219db36930e1e-c51d915bf2ea717c-g9b503f9a85d5b5a7-a"> <!-- Google Analytics Global site tag (gtag.js) --> <script src="https://www.googletagmanager.com/gtag/js?id=UA-9715943-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-9715943-1'); </script> <!-- End Google Analytics --> <link href="//fonts.googleapis.com/css?family=Duru+Sans%7CBelgrano%7CInconsolata%7CAlef%7CArmata" rel="stylesheet" type="text/css"> <link rel="stylesheet" type="text/css" href="/css/layout.css?2"> <!-- realfavicongenerator.net --> <link rel="apple-touch-icon" sizes="152x152" href="/im/apple-touch-icon.png"> <link rel="icon" type="image/png" sizes="32x32" href="/im/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="/im/favicon-16x16.png"> <link rel="manifest" href="/im/site.webmanifest"> <link rel="mask-icon" href="/im/safari-pinned-tab.svg" color="#5bbad5"> <link rel="canonical" href="https://foldoc.org/Lisp"> <link rel="alternate" type="application/rss+xml" title="FOLDOC" href="/rss.xml"> <link rel="search" title="FOLDOC" type="application/opensearchdescription+xml" href="//foldoc.org/search.xml"> <!-- AdSense --> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5521724329338202" crossorigin="anonymous"></script> <!-- AdSense end --> </head> <body> <div id="fb-root"></div> <script> (function (d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); </script> <div id="container"> <div id="left"> <a href="/"> <img src="/foldoc.gif" width="300" height="98" alt="Free On-line Dictionary of Computing" class="logo"> </a> <div id="nav"> <a href="/contents.html" class="button">Contents</a> <a href="/help.html" class="button">Help</a> <a href="/random-entry" class="button">Random</a> </div> <form action="/"> <input type="text" name="query" id="query" autofocus="autofocus"> <input type="submit" name="action" value="Search" class="button"> </form> <div id="content"> <h2>Lisp</h2> <p></p> <p><<i><a href="contents/language.html">language</a></i>></p> <p> LISt Processing language. <p></p> (Or mythically "Lots of Irritating Superfluous Parentheses"). <a href="/Artificial+Intelligence">Artificial Intelligence</a>'s mother tongue, a symbolic, <a href="/functional">functional</a>, <a href="/recursive">recursive</a> language based on the ideas of <a href="/lambda-calculus">lambda-calculus</a>, variable-length lists and trees as fundamental data types and the interpretation of code as data and vice-versa. <p></p> Data objects in Lisp are lists and <a href="/atoms">atoms</a>. Lists may contain lists and atoms. Atoms are either numbers or symbols. Programs in Lisp are themselves lists of symbols which can be treated as data. Most implementations of Lisp allow functions with <a href="/side-effects">side-effects</a> but there is a core of Lisp which is <a href="/purely+functional">purely functional</a>. <p></p> All Lisp functions and programs are expressions that return values; this, together with the high memory use of Lisp, gave rise to <a href="/Alan+Perlis">Alan Perlis</a>'s famous quip (itself a take on an Oscar Wilde quote) that "Lisp programmers know the value of everything and the cost of nothing". <p></p> The original version was <a href="/LISP+1">LISP 1</a>, invented by <a href="/John+McCarthy">John McCarthy</a> <em><a href="/cdn-cgi/l/email-protection#94fef9f7d4e7f5fdf8bae7e0f5faf2fbe6f0baf1f0e1"><<span class="__cf_email__" data-cfemail="b7dddad4f7c4d6dedb99c4c3d6d9d1d8c5d399d2d3c2">[email protected]</span>></a></em> at <a href="/MIT">MIT</a> in the late 1950s. Lisp is actually older than any other <a href="/high+level+language">high level language</a> still in use except <a href="/Fortran">Fortran</a>. Accordingly, it has undergone considerable change over the years. Modern variants are quite different in detail. The dominant <a href="/HLL">HLL</a> among hackers until the early 1980s, Lisp now shares the throne with <a href="/C">C</a>. See <a href="/languages+of+choice">languages of choice</a>. <p></p> One significant application for Lisp has been as a proof by example that most newer languages, such as <a href="/COBOL">COBOL</a> and <a href="/Ada">Ada</a>, are full of unnecessary <a href="/crocks">crocks</a>. When the <a href="/Right+Thing">Right Thing</a> has already been done once, there is no justification for <a href="/bogosity">bogosity</a> in newer languages. <p></p> See also <a href="/Association+of+Lisp+Users">Association of Lisp Users</a>, <a href="/Common+Lisp">Common Lisp</a>, <a href="/Franz+Lisp">Franz Lisp</a>, <a href="/MacLisp">MacLisp</a>, <a href="/Portable+Standard+Lisp">Portable Standard Lisp</a>, <a href="/Interlisp">Interlisp</a>, <a href="/Scheme">Scheme</a>, <a href="/ELisp">ELisp</a>, <a href="/Kamin's+interpreters">Kamin's interpreters</a>. <p></p> [<a href="/Jargon+File">Jargon File</a>] <p></p> <p class="updated">Last updated: <a href="/new.html">1995-04-16</a></p> <p></p> <p class="vertical-space"></p><h3>Nearby terms:</h3> <p class="neighbours"> <a href="/Liskov,+Barbara">Liskov, Barbara</a> ♦ <a href="/Liskov+substitution+principle">Liskov substitution principle</a> ♦ <b><a href="/Lisp">Lisp</a></b> ♦ <a href="/LISP+1">LISP 1</a> ♦ <a href="/LISP+1.5">LISP 1.5</a> </p> <p> Try this search on <a href="https://www.wikipedia.org/wiki/Special:Search?search=Lisp">Wikipedia</a>, <a href="https://www.wiktionary.org/wiki/Lisp">Wiktionary</a>, <a href="https://www.google.com/search?q=define:Lisp">Google</a>, <a href="https://www.onelook.com/?w=Lisp">OneLook</a>. </p> <p class="vertical-space"></p> <hr> <div></div> <hr> <!-- if HTMLCOMMENTBOX --> <div id="HCB_comment_box">Loading</div> <link rel="stylesheet" type="text/css" href="//www.htmlcommentbox.com/static/skins/bootstrap/twitter-bootstrap.css?v=0"> <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script language="javascript" id="hcb"> hcb_user = { PAGE: 'https://foldoc.org/Lisp', comments_header: ' ', no_comments_msg: ' ', err_comment_empty: 'Your comment was not posted because it was empty!', rss: '', }; var s = document.createElement("script"); s.setAttribute("type", "text/javascript"); s.setAttribute("src", "//www.htmlcommentbox.com/jread?page=" + escape(hcb_user.PAGE).replace(/\+/g, "%2B") + "&mod=%241%24wq1rdBcg%24.0y2uzvjA2bsnhzpXVq9F." + "&opts=17374&num=10"); // No e-mail field: 16846 if (typeof s != "undefined") document.getElementsByTagName("head")[0].appendChild(s); </script> <script> setTimeout(function () { document.getElementById('hcb_form_content').rows = 1 }, 1000); </script> <hr> <!-- end HTMLCOMMENTBOX --> </div> <!-- content --> </div> <!-- left --> <div id="right"> <div id="google_translate_element"> <script> function googleTranslateElementInit() { new google.translate.TranslateElement({ pageLanguage: 'en' }, 'google_translate_element'); } </script> <script src="https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script> </div> <p><br></p> <hr> <div id="social"> <div class="fb-like" data-href="http://foldoc.org/" data-layout="button_count" data-action="like" data-show-faces="false" data-share="true"> </div> <a href="https://twitter.com/share" class="twitter-share-button" data-via="foldoc"> Tweet </a> <script> if (!document.getElementById('twitter-wjs')) { var fjs = document.getElementsByTagName('script')[0], js = document.createElement('script'); js.id = 'twitter-wjs'; js.src = 'https://platform.twitter.com/widgets.js'; fjs.parentNode.insertBefore(js, fjs); } </script> </div> <hr> <div> <p></p> </div> <p> <a href="/rss.xml"> <img src="/orangerss.gif" width="14" height="14" alt="RSS feed of new items"> </a> <a href="/new.html">Recent Updates</a> | <a href="/missing.html">Missing Terms</a> </p> <p>Updated: Sat, 05 Apr 2025 21:25:49 GMT</p> <p>15282 entries</p> <p><em><a href="/Free+On-line+Dictionary">Copyright Denis Howe 1985</a></em></p> </div> <!-- right --> </div> <!-- container --> <!-- Start Quantcast --> <script type="text/javascript"> window._qevents = window._qevents || []; (function() { var elem = document.createElement('script'); elem.src = 'https://secure.quantserve.com/quant.js'; elem.async = true; elem.type = 'text/javascript'; var scpt = document.getElementsByTagName('script')[0]; scpt.parentNode.insertBefore(elem, scpt); })(); window._qevents.push({ qacct: 'p-48Rosdvs3EiOc', uid: '__INSERT_EMAIL_HERE__' }); </script> <noscript> <div style="display:none;"> <img src="https//pixel.quantserve.com/pixel/p-48Rosdvs3EiOc.gif" border="0" height="1" width="1" alt="Quantcast"/> </div> </noscript> <!-- End Quantcast --> </body> </html>