[HN Gopher] These years in Common Lisp: 2023-2024 in review
       ___________________________________________________________________
        
       These years in Common Lisp: 2023-2024 in review
        
       Author : trocado
       Score  : 157 points
       Date   : 2025-02-18 13:48 UTC (4 days ago)
        
 (HTM) web link (lisp-journey.gitlab.io)
 (TXT) w3m dump (lisp-journey.gitlab.io)
        
       | superdisk wrote:
       | Hey, my little webassembly demo was linked, cool. Nice article!
        
       | -__---____-ZXyw wrote:
       | A complete treasure trove, wonderful!
        
       | nesarkvechnep wrote:
       | A few cool thing happened! I might give the CLOS course a try!
       | I'm a functional guy but I feel CLOS isn't your typical object
       | system.
        
         | dartos wrote:
         | As a functional fan, CLOS is amazing.
        
           | f1shy wrote:
           | When I learned CLOS it was the first time OOP started making
           | sense for me.
        
             | asplake wrote:
             | I've never used CLOS but I loved the metaobject protocol
             | book. So many learnings outside of OOP - it's a masterclass
             | in API design.
        
               | jjtheblunt wrote:
               | What's the metaobject protocol book?
        
               | pjmlp wrote:
               | A computing literature classic.
               | 
               | https://en.m.wikipedia.org/wiki/The_Art_of_the_Metaobject
               | _Pr...
        
               | jjtheblunt wrote:
               | No idea how i missed that; thank you.
        
               | f1shy wrote:
               | https://github.com/lisp-books/lisp-
               | books/blob/main/Art%20of%...
        
           | codr7 wrote:
           | My main takeaway was multi-methods, they didn't really click
           | for me before I started seriously digging into CLOS. I wish
           | more languages supported them/played around with similar
           | ideas.
        
         | pjmlp wrote:
         | Indeed, most successful FP languages have their OOP like
         | approaches.
         | 
         | Another thing all modern Lisps have since the 1980's, is all
         | major data structures, not only lists as many think when
         | discussing Lisp.
        
         | runevault wrote:
         | As someone who's dabbled with Scheme, Clojure, and CL long ago
         | and started wanting to get back into CL, I really enjoyed that
         | course as a combination refresher plus deep dive into some
         | topics I didn't really know before (including CLOS).
        
         | nextos wrote:
         | CLOS is great, but CL also supports pure typed FP with
         | https://coalton-lang.github.io
         | 
         | Coalton progress is discussed briefly in the OP: https://lisp-
         | journey.gitlab.io/blog/these-years-in-common-li...
        
       | pronoiac wrote:
       | I've worked on PAIP, and I think the GitHub.com version -
       | https://github.com/norvig/paip-lisp/ - gets more attention than
       | the GitHub.io version linked here. The GitHub.io version
       | automatically gets updates, I think, but I'm not verifying the
       | Markdown works over there.
        
       | waynenilsen wrote:
       | Is there a web framework that is reasonably popular/supported?
        
         | runevault wrote:
         | Might be worth checking out this[1], one of the sites linked
         | from awesome-cl that teaches setting up webdev. And looks like
         | it uses Hunchentoot which is what I've always seen every time I
         | looked into backend webdev in CL
         | 
         | [1]: https://web-apps-in-lisp.github.io/
        
         | tempodox wrote:
         | https://edicl.github.io/hunchentoot/
        
         | aidenn0 wrote:
         | What do you expect from a web framework? That means different
         | things to different people. I don't really like frameworks, so
         | I used a web-server abstraction layer named "clack."
         | 
         | Radiance[0] is a more traditional web-framework, with
         | interfaces for backend-storage, web-servers, templating,
         | authentication &c.
         | 
         | Hunchentoot gives you basic route definitions out-of-the-box
         | (bring your own database), and for something more full-featured
         | there is CLOG[1] and Reblocks[2]
         | 
         | 0: https://shirakumo.github.io/radiance
         | 
         | 1: https://github.com/rabbibotton/clog
         | 
         | 2: https://40ants.com/reblocks/
        
       | vtail wrote:
       | The most unexpected news to me was that Hacker News, apparently,
       | runs on top of SBCL now, via a secret implementation of Arc in
       | Common Lisp!
        
         | Y_Y wrote:
         | Ya, when are we going to hear about "Clarc"? Where's the
         | source?
        
       | osmano807 wrote:
       | I really like this, as from an outsider it seems that CL doesn't
       | have a community and the few packages it has are more like
       | building blocks for customizing and implementing you required
       | functionality rather than packaged black boxes. With all those
       | new languages, it appears that the value proposition of CL is
       | dwindling, static checking feels primitive, macros are easily
       | attainable now, and live runtime image manipulation misses the
       | point on the world of short lived containers.
        
         | reikonomusha wrote:
         | CL has Coalton, which is the implementation of a static type
         | system beyond Haskell 95. Full multiparameter type classes,
         | functional dependencies, some persistent data structures, type-
         | oriented optimization (including specialization and
         | monomorphization). All integrated and native to CL without
         | external tools.
         | 
         | Live image manipulation isn't quite as useful as it once was
         | for runtime program deployment. But it's still a
         | differentiating feature for incremental and interactive
         | development--before you compile binaries to deploy. Tools like
         | Jupyter notebooks don't come close for actual (especially
         | professional) software development.
        
       ___________________________________________________________________
       (page generated 2025-02-22 23:00 UTC)