• Solaris1789@jlai.lu
    link
    fedilink
    arrow-up
    9
    arrow-down
    2
    ·
    1 year ago

    As a parentheses hater my personal hell would be having to audit and refactor a lisp codebase

    • 𝒍𝒆𝒎𝒂𝒏𝒏@lemmy.one
      link
      fedilink
      arrow-up
      6
      arrow-down
      1
      ·
      1 year ago

      My work maintains a legacy AutoCAD addin written in Lisp… we are considering dropping support because it’s so difficult to maintain with the original dev gone

      • Kale@lemmy.zip
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        Oof. Is that the official plugin language? Siemens NX uses “grip” which is a fork of TCL. And they require purchase of a pricy package to sign and compile code so NX will run it, so we only had one programmer for our custom grip functions.

    • ☆ Yσɠƚԋσʂ ☆@lemmy.mlOP
      link
      fedilink
      arrow-up
      7
      arrow-down
      8
      ·
      1 year ago

      Having worked with Clojure for over a decade now, I find it far easier to refactor than most other languages I’ve touched.

    • fibojoly@sh.itjust.works
      link
      fedilink
      arrow-up
      4
      ·
      edit-2
      1 year ago

      I have fond memories of RPL on the HP48 calculators where you would give arguments as a stack, then call the function. Something like (a+b)*c could be written C A B + * Such fun!

        • fibojoly@sh.itjust.works
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          That’s the one. The Wikipedia article has some extensive examples, too.

          Its weird syntax prepared us well to face the horror of assembly language later on, so I have a certain fondness for it. That and I had absolutely no point of comparison at the time, haha!

    • ☆ Yσɠƚԋσʂ ☆@lemmy.mlOP
      link
      fedilink
      arrow-up
      3
      arrow-down
      9
      ·
      1 year ago

      I personally find ((f) 1) easier to read. You just go inside out, evaluate f, then pass 1 as the argument to the output of f. There’s no ambiguity regarding order of evaluation there.