[HN Gopher] Common Lisp Quick Reference (2018)
       ___________________________________________________________________
        
       Common Lisp Quick Reference (2018)
        
       Author : abudabi123
       Score  : 125 points
       Date   : 2023-03-25 10:00 UTC (13 hours ago)
        
 (HTM) web link (clqr.boundp.org)
 (TXT) w3m dump (clqr.boundp.org)
        
       | TurboHaskal wrote:
       | This is so lovely one of my main reasons to main Common Lisp is
       | to have an excuse to use it. Not even kidding.
        
       | nanna wrote:
       | Is there an Emacs info mode CL manual out there?
        
         | r9550684 wrote:
         | there's dpans2texi https://github.com/rebcabin/dpans2texi,
         | which lets you convert dpans https://github.com/xach/dpans the
         | tex source for the Common Lisp standard to texinfo which you
         | can open in emacs
        
       | ofalkaed wrote:
       | People who publish programming material online in PDF format
       | should really take notice of this and the formatting. The half A4
       | version is skinny enough that you can stick it next to your
       | editor/IDE window and still see the entire page even on small
       | screens.
        
       | djha-skin wrote:
       | Of particular interest to me is the loop facility reference. It
       | appears to be terse, understandable, and relatively complete. I
       | also like the notation. A subscript f to tell me it's not a macro
       | is incredibly helpful.
       | 
       | Friendly reminder about printing services like this one[1] that
       | will print and ship a PDF to you.
       | 
       | https://www.printme1.com/
        
         | r9550684 wrote:
         | hyperspec has a compact take on loop, which is my goto when I
         | don't quite remember details of syntax, http://www.lispworks.co
         | m/documentation/HyperSpec/Body/m_loop.... it also has a benefit
         | of being ascii representable
        
         | User23 wrote:
         | Another fun option is to print the folios and bind them
         | yourself. A serviceable job can be done in an afternoon with
         | little more than a sewing kit. It's easy, using a ruler, an awl
         | or something similar, and a stiff piece of cardboard, to make a
         | guide template for punching holes in the folios. After that
         | it's just a matter of stitching.
        
           | djha-skin wrote:
           | I did it myself just now it works great.
        
           | akho wrote:
           | The book in the post is a single folio. A whole afternoon is
           | an overstatement, I'd say.
        
       | nanna wrote:
       | This is a great showcase not only of Common Lisp, but of (La)TeX.
        
       | ergonaught wrote:
       | It is amusing that the quick reference is a densely packed "52
       | pages".
        
         | inimino wrote:
         | It's CL, what are you gonna do...
        
         | 1bent wrote:
         | I've always felt that Common Lisp was the Lisp family
         | incarnation of PL/I; include everything you think might be
         | helpful to offer a warm welcome to folks coming from FORTRAN or
         | COBOL.
        
         | dreamcompiler wrote:
         | Common Lisp is huge because libraries were not a big thing when
         | it was designed, so it included lots of kitchen sinks.
         | 
         | This has some advantages:
         | 
         | 1. The built in functions generally are very efficient and
         | don't have many edge-case gotchas.
         | 
         | 2. You don't have to worry about which version of a library
         | function to use, i.e. no dependency hell.
         | 
         | 3. The above is true for every CL implementation, from any
         | supplier.
         | 
         | It also has some disadvantages: When designing a language you
         | can never predict all the functionality people will need.
         | Useful things like networking and multithreading and package
         | management were not included in the CL standard. Libraries for
         | the missing pieces now exist to fix those shortcomings.
        
           | lispm wrote:
           | we need to keep in mind that many things were still emerging
           | when the core language was designed - 1982 specs appeared
           | with the first language book published in 1984. CLOS (the
           | Common Lisp Object System) for example was mostly a research
           | project, whose first spec was published in 1988, the Meta-
           | object Protocol book was published in 1991 - which was
           | unusual, since one would standardize on common practice.
           | Stuff like networking and multithreading existed in very
           | different ways or only very primitive. Networking usually
           | meant to interface to the local platform network stacks and
           | multithreading was still largely unsolved - parallel Lisp was
           | still a research subject, even though
           | thread/concurrency/parallelism support existed in very
           | different ways - often 'green threads' (cooperatively
           | scheduled) or for experimental machines (like the massive
           | parallel connection machine). Now even my watch has two cpu
           | cores and smartphones have even more cores.
        
       | citizen_friend wrote:
       | I also like the simplified Common Lisp reference:
       | https://jtra.cz/stuff/lisp/sclr/index.html
        
       | kqr wrote:
       | Whenever I see things like this I wish CL was available by
       | default in more environments. It would have been the ultimate
       | glue language also capable of growing software into medium-to-
       | large size projects with some care.
       | 
       | Instead we have Perl. It's not bad and fulfills many of the same
       | criteria, but it's also not quite as elegant.
        
         | Kototama wrote:
         | Who is still using Perl as a glue language? It's often Python
         | to glue things now.
        
         | mark_l_watson wrote:
         | SBCL is available to install on MacOS with brew, with apt or
         | yum on Linux, etc. You can make small standalone applications
         | easily. I have used it for command line utilities (I have some
         | simple examples in my CL book that you can read online
         | https://leanpub.com/lovinglisp/read)
         | 
         | The linked CL reference looks very nice, BTW.
        
           | Nezteb wrote:
           | I also recently updated the Mac install docs for Portacle for
           | anyone looking for anyone looking to tinker with CL on newer
           | Macs! https://portacle.github.io/
        
         | mpweiher wrote:
         | > It would have been the ultimate glue language
         | 
         | Interesting. Why particularly a glue language? Just because
         | it's the ultimate language and thus by definition also the
         | ultimate glue language or is there something more specific?
        
         | imwithstoopid wrote:
         | I would argue perl has a superior practical elegance
         | 
         | so you can write perl in a kinda-sexp style if you really want
         | to (no one does, which tells you something)...but you get a
         | kinda-sexp built-in syntax for hashes whereas lisps make you
         | construct them with bolted on functions
        
       | lenkite wrote:
       | Will there ever be a newer edition of the Common Lisp standard to
       | reflect the major changes in the computing landscape ?
        
         | lispm wrote:
         | Who knows? Currently there is no one working on a new standard.
         | Maybe an AI will publish one in 2094, hundred years after the
         | first standard.
         | 
         | For now with CL we can program in the past and reuse some code
         | from 30 years ago. Changes will need to reflected in
         | implementations, libraries and community standards. Some stuff
         | would need changing the existing, others not so much. Example:
         | Due to meta-programmability something like the Common Lisp
         | Object System was implemented 95% in the language itself - the
         | remaining 5% largely needed to be implementation specific
         | things like changing the type system. Other stuff like
         | 'threading' or 'foreign function interface' would need more
         | work - but they exist already in implementations and libraries.
        
         | imwithstoopid wrote:
         | I would suggest that this is what Racket is
         | 
         | they don't call it Lisp because it came from Scheme but they
         | wisely realized the first step to making changes is to stop
         | calling it Scheme otherwise purists will just rain fire on it
         | and insist on living in the past
         | 
         | from a practical perspective it seems perfectly safe and
         | reasonable to say Racket is Lisp2023
         | 
         | otherwise maybe elisp? it is by far the most important thing
         | with "lisp" in its name in 2023
        
           | Nezteb wrote:
           | I'd agree about Racket; the community and resources available
           | for it are fantastic.
           | 
           | Also worth noting is Hy, a sort of alternate Lisp syntax for
           | Python. http://hylang.org/
        
       | gibsonf1 wrote:
       | This is fantastic. The way this is organized I have already found
       | some functions I didn't realize were available. Many thanks to
       | the author!
        
       ___________________________________________________________________
       (page generated 2023-03-25 23:00 UTC)