This is a very nice web site describing a programming language with unparalleled expressiveness, power and permanence.<p>I am heavily invested in Common Lisp. We are developing a programming environment for designing new materials and molecules called Cando (<a href="https://github.com/drmeister/cando" rel="nofollow">https://github.com/drmeister/cando</a>) using Common Lisp as a scripting language. Cando is running on Clasp (<a href="https://github.com/clasp-developers/clasp" rel="nofollow">https://github.com/clasp-developers/clasp</a>), a new Common Lisp implementation that interoperates with C++ and is based on LLVM.<p>What attracted me to the language, after 35 years programming in almost everything else, was how organically it lets one write software and how I don't have to worry about it fading like the next programming fad.
Lisp is quite popular at my current workplace. A few popular open source projects published by our organization have been written in Clojure (a dialect of Lisp that runs on JVM and CLR). A few domain specific languages used internally in our organization are also inspired by Lisp.<p>On a more personal front, I find Lisp to be simple, elegant, and expressive. I use Common Lisp (SBCL) for personal use. Working with Lisp induces a sense of wonder: how simple concepts can be composed elegantly to build complex functions and complex software. It's the same kind of sense of wonder one feels when one learns how the simple concepts of Euclid's postulates can be used to prove complex concepts in Geometry or how the Newton's laws of motion can be used to derive intricate and complex concepts in classical physics.<p>I sometimes wonder why Lisp has not been more popular in the technology industry. Is it the lack of sufficient marketing? Is it the lack of an extensive library ecosystem? I hope Quicklisp will address the concern about library ecosystem for Common Lisp.<p>I encourage everyone to learn Lisp and, if feasible, write a rudimentary interpreter or compiler for Lisp s-expressions. It's one of those things that can broaden's one horizon in the field of computing.
I highly recommend Eitaro Fukamachi's caveman2 for <i>very</i> quickly setting up a very fast lisp web server including very easy to configure ssl. Fukamachi's Dexador library is also fantastic for very quick and easy ssl http functionality. <a href="https://github.com/fukamachi/caveman" rel="nofollow">https://github.com/fukamachi/caveman</a> <a href="https://github.com/fukamachi/dexador" rel="nofollow">https://github.com/fukamachi/dexador</a>
What exactly is meant by the line "Design patterns disappear as you adapt the language to your problem domain."<p>The word "disappear" is a hyperlink to a pdf, which refers to domain-specific design-patterns. I don't quite seem to grasp what is being implied on the home-page.<p>Is it something like Lisp is very customizable and allows you to easily overload operators? (I am primarily a Java programmer and have never used Lisp).<p><i>EDIT:</i> I mean, e.g. this page asks "Are Design Patterns Missing Language Features" <a href="http://wiki.c2.com/?AreDesignPatternsMissingLanguageFeatures" rel="nofollow">http://wiki.c2.com/?AreDesignPatternsMissingLanguageFeatures</a><p>Is this what's being referred to, and if so, what makes Lisp especially good for adding language features?
What's with the full-page splash that just says "Common Lisp" with no indication that you need to scroll to get to the content. This is worse than the 1990's "Click here to enter the site" silliness.
If you fancy giving Lisp a try, look into Portacle [0]. I've not used this exactly but I did install all the components myself over time and they play together nicely.<p>[0]: <a href="https://portacle.github.io/" rel="nofollow">https://portacle.github.io/</a>
Nice web site! I have been using Common Lisp since 1983 when I updated my Xerox 1108 Lisp Nachine.<p>In the last 35 years I have probably only averaged using Commin Lisp for about 10% of my development but still love the language.<p>One problem the Lisp world has is too many fine implementations of dialects of different Lisp languages. I find it impossible to not experiment with most of them.
Any advantage to learning Lisp instead of something like Elixir today? I find Elixir to be modern, a large amount of libraries, larger and active community, BEAM VM, has macros also... Can`t think of a reason to invest time in Lisp at the cost of mastering something Elixir, but maybe I am wrong.
Often those who are curious to try Lisp are faced with a number of choices: Which dialect to choose? Which implementation to choose? Which book or tutorial should one follow? Is it necessary use Emacs? SLIME?<p>Here are my recommendations:<p>- Choose Common Lisp because it has been the most popular dialect of Lisp in the overall history of Lisp. It is more convenient than Scheme if one decides to develop serious software in Lisp. Clojure appears to be more popular in the technology industry than Common Lisp among organizations (my workplace included) that use Lisp. I still recommend Common Lisp because I believe that it is more likely that one would work on an independent open source or hobby Lisp project than one would encounter one of the rare organizations who use Clojure at work.<p>- Choose SBCL (Steel Bank Common Lisp) as the implementation.[1][2] It is the most popular Common Lisp implementation and is recommended in many online discussions. CCL (Clozure CL, not to be confused with Clojure which is a separate dialect) is also another very good implementation. I still recommend SBCL because as a result of its greater popularity, it is readily available via package managers such as brew and apt-get as well IDE packages such as Portacle, Lisp in a Box, etc. CCL is currently missing from both brew and apt-get.<p>- Work through this book: Practical Common Lisp: <a href="http://www.gigamonkeys.com/book/" rel="nofollow">http://www.gigamonkeys.com/book/</a> (available in print too if you search online). Skip the sections about Emacs and SLIME if you don't use Emacs.<p>- There is no need to use Emacs if you are not an Emacs user. Any good editor would do.<p>- A Vim user may consider installing Slimv[3][4]. Superior Lisp Interaction Mode for Vim ("SLIME for Vim") or Slimv is similar to Emacs/SLIME, displays the REPL in a Vim buffer, and comes with Paredit mode that makes typing and executing Lisp code quite convenient.<p>- Emacs with SLIME or Vim with Slimv are quite useful but not necessary. To get started quickly without being bogged down by the details of an editor, just execute the Lisp source code file on shell.[5]<p>- Optionally, keep another implementation of Common Lisp. Common Lisp is a standard that is implemented by various implementations. Each implementation may have its own extensions or implementation-specific behaviour regarding error handling, command line options, FASL format, unspecified behaviour, etc. Experimenting with concepts with another implementation of Lisp occasionally may offer some perspective about how some things could be different in different implementations. I keep CLISP around for this purpose.[6][7][8]<p>[1]: Install SBCL on macOS: brew install sbcl<p>[2]: Install SBCL on Debian-based distro: apt-get install sbcl<p>[3]: Slimv in a ZIP file: <a href="https://www.vim.org/scripts/script.php?script_id=2531" rel="nofollow">https://www.vim.org/scripts/script.php?script_id=2531</a><p>[4]: Slimv as a Git repo: <a href="https://github.com/kovisoft/slimv/" rel="nofollow">https://github.com/kovisoft/slimv/</a><p>[5]: Load (execute) code in a file and exit: sbcl --script foo.lisp<p>[6]: Install CLISP on macOS: brew install clisp<p>[7]: Install CLISP on Debian-based distro: apt-get install clisp<p>[8]: Unfortunately CLISP is missing from Debian's <i>stretch</i> (stable) repository but it is available in its <i>buster</i> (testing) and <i>sid</i> (unstable) repositories. Hopefully this will be addressed when <i>buster</i> becomes stable. CLISP is available on Ubuntu.
I know the article is about Common Lisp, but I have a question about Racket, Typed Racket specifically. Can anyone say if types and Lisp play well together? Are there any success stories?
Great site, seems to have a good collection of lisp resources. I am waiting for the documentation to go online, it says it is still parsing the TeX sources of the commonlisp hyperspec.<p>As a side note, I downloaded the Lispworks Common Lisp Hyperspec, but I could only find the HTML version.<p>I see that the project is on Github, maybe someone will parse the Hyperspec and generate the documentation pages.<p>I am adding a reminder to my org-agenda for next month, maybe I will attempt to do it :).
This is <i>not good</i>, the info density for the screen area is too low. This could have been one maybe two screens worth. Is this the credits to Friends? Am I consuming Lisp Content while chillin in my penthouse on my 20k couch using a gold plated IPad X Tablet?<p>Millennials are Killing Common Lisp.<p>one page, <a href="https://www.rust-lang.org/en-US/" rel="nofollow">https://www.rust-lang.org/en-US/</a>
Is there any official (other than any ANSI standard site) or quasi-official or unofficial main site for Lisp or Common Lisp?<p>I had seen a couple of other sites which <i>seemed</i> like they might be that earlier, like <a href="https://common-lisp.net/" rel="nofollow">https://common-lisp.net/</a> and the site of the Association of Lisp Users, which I vaguely remember as being at <a href="http://alu.org" rel="nofollow">http://alu.org</a> , but now a Google search shows some other sites instead (from the first few hits I looked at). And now there is this one mentioned in the OP. I looked at its About page, <a href="http://lisp-lang.org/about/" rel="nofollow">http://lisp-lang.org/about/</a> , but it does not seem to show any such info.<p>Update: I saw this on the common-lisp.net site:<p>"This site is one among many gateways to Common Lisp."<p>which seems to indicate that there was/is no single "(un)official" one.
For those who want to use Lisp on the JVM, there is ABCL:<p><a href="https://abcl.org" rel="nofollow">https://abcl.org</a><p>ABCL was originally used to write and extend an editor called J - but then morphed into a full implementation of Common Lisp.<p>One can also develop with SBCL - since it has a great compiler - and then move the code to ABCL.
At the request of John McCarthy, Lisp’s creator, no single language that is a member of the Lisp family is to be intended to be the definitive dialect; that is, none is to be called just “LISP.”<p>So much innovation has happened since the CLHS that to put up a fluff site feels like an effort of "resurrection". When in reality the Lisp family has continued to evolve since then. To limit yourself to just CL, as I did, for a long time, results a bit of a 'losing my religion'. You'll be confounded by things long since solved, and in the end perhaps write all of "Lisp" off. Do yourself a favor and keep and open mind to the family, and not one common incarnation that predates some developers.
Is there a way to find well-maintained non-broken preferably-actively-maintained libraries or those that the community considers to be the de facto solution? Like where would I start with doing data science or web dev (and related subjects like encryption and auth etc) or things like async or parallel programming?
Why the "Fast" section (or graphs on <a href="https://github.com/fukamachi/woo" rel="nofollow">https://github.com/fukamachi/woo</a>) don't contain any JVM based solutions? Anyone has idea how do they compare?
(mapcar #'string-downcase
(list "Hello" "world!"))<p>This is a great example of why I don't want to use Common Lisp.<p>Compare with Python:<p>[word.lower() for word in ("Hello", "world!")]<p>Beating Node and Ruby in terms of speed is also a big non-argument, with so many attractive programming languages to choose from that are both fast and good looking.