Common Lisp homepage
lisp-lang.org
Common Lisp homepage
1–10 of 313 posts
Re: Common Lisp homepage
#2As a side note, I downloaded the Lispworks Common Lisp Hyperspec, but I could only find the HTML version.
I see that the project is on Github, maybe someone will parse the Hyperspec and generate the documentation pages.
I am adding a reminder to my org-agenda for next month, maybe I will attempt to do it :).
Re: Common Lisp homepage
#3Great 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. As a side note, I downloaded the Lispworks Common Lisp Hyperspec, but I could only find the HTML version. I see that the project is on Github, maybe someone will parse the Hyperspec and generate the documentation pages. I am adding a r…
> Permission to make partial copies is expressly NOT granted, EXCEPT that limited permission is granted to transmit and display a partial copy the Common Lisp HyperSpec for the ordinary purpose of direct viewing by a human being in the usual manner that hypertext browsers permit the viewing of such a complete document, provided that no recopying, redistribution, redisplay, or retransmission is made of any such partial copy.
Source: http://www.lispworks.com/documentation/HyperSpec/Front/Help....
But I guess you could distribute a script that does the processing.
Re: Common Lisp homepage
#4The 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.
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).
EDIT: I mean, e.g. this page asks "Are Design Patterns Missing Language Features" http://wiki.c2.com/?AreDesignPatternsMissingLanguageFeatures
Is this what's being referred to, and if so, what makes Lisp especially good for adding language features?
Re: Common Lisp homepage
#5What exactly is meant by the line "Design patterns disappear as you adapt the language to your problem domain." 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. 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…
If you are interested in Lisp on the JVM check out Clojure.
Re: Common Lisp homepage
#6Great 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. As a side note, I downloaded the Lispworks Common Lisp Hyperspec, but I could only find the HTML version. I see that the project is on Github, maybe someone will parse the Hyperspec and generate the documentation pages. I am adding a r…
It looks like the Hyperspec license doesn't permit distributing documentation pages: > Permission to make partial copies is expressly NOT granted, EXCEPT that limited permission is granted to transmit and display a partial copy the Common Lisp HyperSpec for the ordinary purpose of direct viewing by a human being in the usual manner that hypertext browsers permit the viewing of such a complete document, provided that…
There's this: https://github.com/LispLang/ansi-spec
Working from the TeX sources seem to be the right way to go especially if the information can get extracted into a generic representation so there could be a HTML / epub / whatever version
Re: Common Lisp homepage
#7On 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.
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.
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.
Re: Common Lisp homepage
#8What exactly is meant by the line "Design patterns disappear as you adapt the language to your problem domain." 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. 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…
The best simple explanatin I found for macros is this one [0].
In a rough sumary: you could add to lisp any "missing" functionality -present in another language- with just macros (without altering the compiler/interpreter), and this functionality would work as if it was in the compiler/interpreter from the beginning.
[0] http://www.gigamonkeys.com/book/macros-defining-your-own.htm...
Re: Common Lisp homepage
#9Here are my recommendations:
- 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.
- 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.
- Work through this book: Practical Common Lisp: http://www.gigamonkeys.com/book/ (available in print too if you search online). Skip the sections about Emacs and SLIME if you don't use Emacs.
- There is no need to use Emacs if you are not an Emacs user. Any good editor would do.
- 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.
- 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]
- 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]
[1]: Install SBCL on macOS: brew install sbcl
[2]: Install SBCL on Debian-based distro: apt-get install sbcl
[3]: Slimv in a ZIP file: https://www.vim.org/scripts/script.php?script_id=2531
[4]: Slimv as a Git repo: https://github.com/kovisoft/slimv/
[5]: Load (execute) code in a file and exit: sbcl --script foo.lisp
[6]: Install CLISP on macOS: brew install clisp
[7]: Install CLISP on Debian-based distro: apt-get install clisp
[8]: Unfortunately CLISP is missing from Debian's stretch (stable) repository but it is available in its buster (testing) and sid (unstable) repositories. Hopefully this will be addressed when buster becomes stable. CLISP is available on Ubuntu.
Re: Common Lisp homepage
#10Often 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? Here are my recommendations: - 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…