• skorn ( skorn@ani.social ) 
    link
    fedilink
    arrow-up
    12
    ·
    3 months ago

    I always find Lisp a bit mind bending and feel like I will be a better programmer once I master it. But it also feels like wood carving, and most of the time I just need to slap some planks together for a bookcase, and don’t have the time to scrimshaw it into a beautiful work of art. I’m not seeing here how Lisp is differentiated from an agent with a code sandbox and python, unless we’re operating that agent inside of Emacs… That’s where the code and the data are swimming together. I don’t think there isn’t a difference, it’s more a matter of my not getting it, if anyone is able to help me understand it’d be appreciated

    • You can implement an agent loop in any language, and modern languages can do everything that lisp can, so there’s nothing magic in lisp. At the end of the day lisp is just another weakly typed functional/procedural language.

      Personally I didn’t find lisp that much elegant due to the loose typechecking and the excessive parentheses, but the macro system allows some very terse and smart (and mind-bending, as you said) solutions, which do feel pretty cool when they work fine.

      IMHO it’d be probably better to give your agent access to a python interpreter because it’s much more prevalent in the training data than lisp…

      • I self-learned lisp last year using the old SICP book, but I do consider myself a fairly expert programmer, and I felt that book was a bit hard at the end of it.

        IMHO the key difference of lisp’s eval wrt python’s eval is that it takes in input a parsed expression (a lisp list) and not a string. In lisp though you don’t have to use eval much, because the macros allow you to transform the expressions from your programs directly (take in input parsed code, return a different code structure to be executed). The quote and quasiquote functions are there to make that easy!

        I don’t know javascript enough, but in python you’d have to use eval and use some kind of parsing package crazyness if you wanted to implement a similar macro system!

        • As a scientist who has ended up gradually becoming more of a programmer, I battled through the SICP after seeing the cult following it has. It’s a weird, but good book, and I couldn’t imagine a book like that using anything other than Lisp

  • Great Blue Heron ( GreatBlueHeron@lemmy.ca ) 
    link
    fedilink
    English
    arrow-up
    4
    ·
    3 months ago

    Lisp is a cool language. It was many years ago now, but I recall writing a lisp interpreter in lisp for a college project. It was only ~100 lines of code and my recollection is that it worked remarkably well.