70 pointsby signa114 hours ago8 comments
  • perrygeo3 hours ago
    > In The Amazing Digital Circus (episode 8, "hjsakldfhl"), when Kinger opens the terminal to try to reset Caine, you can see that Caine (a creative AI built in 1996) is programmed in Lisp. The file is literally named Caine-core.lisp.

    Nice touch. Explains how Caine returns in episode 9: Lisp continuations allow for graceful error recovery.

    • valorzard2 hours ago
      wasn't Caine written in common lisp? Pretty sure they show that the debugger they used in the command line was gdb (which ... is that even actually possible?)
      • perrygeo20 minutes ago
        Yep, `/usr/bin/gdb /usr/local/bin/clisp 1337` ... in TADC lore, window has forward slashes.
  • fn-motean hour ago
    Much as I am a fan of Racket, this is not a friendly intro. It is a speedrun.

    When an introduction says “friendly”, I don’t expect it to assume that I know what lambda is.

    When an introduction says “friendly”, I don’t expect syntax rules to appear in it. At all.

    • allthetime6 minutes ago
      It is rich with information, to the point, and presented in a way that a motivated and competent reader can immediately know something about and be useful with racket. That’s how it was for me anyways; someone who didn’t know anything about racket before reading through this.

      Wtf kind of intro to a programming language doesn’t include syntax rules? We are all informed, experienced, technologically inclined people here. Not dumb children.

      I’m struggling to see your comment as anything more than contrarian babble.

  • zerr23 minutes ago
    While the language is interesting, sadly, nobody is using it in the wild. Maybe due to cumbersome deployment options? The ability to produce native standalone executables would boost its usage I believe.
  • em-bee3 hours ago
    any time the topic of racket comes up, i wonder if there are any interesting apps i could explore. but all i find is libraries and dev tools: https://awesome-racket.com/
  • vatsachak2 hours ago
    I've never seen the appeal in schemes other than hot reloadability...
    • WalterGR2 hours ago
      Homoiconicity.
      • layer85 minutes ago
        I don’t find it appealing when everything looks the same irrespective of purpose and context.
      • chowellsan hour ago
        What makes this a desirable feature? From the perspective where local reasoning is the most desirable property a language can have, how does homoiconicity support that?

        I honestly am curious. I've seen a few examples presented for it, but they always seem like bad software engineering to me. Where's an example that does something in a cleaner way than alternatives present in other languages while remaining compatible with local reasoning?

        • WalterGR2 minutes ago
          > From the perspective where local reasoning is the most desirable property a language can have

          That's a perspective. If you're looking for a low-level language, then Scheme isn't it.

          If you don't program in machine code, then presumably you've found what you believe is the perfect language on the low-to-high-level axis. Knowing which language that is would add precision to the discussion.

        • bjoli41 minutes ago
          it allows you to create a language that compiles to your original language.

          You can abstract everything away. Not like Haskell where laziness accounts for some and typeclasses for some (and often an exponential growth in compile times). No, it property let's you change the language.

          I got tired of loops sucking and made this, for example: https://rikspucko.koketteriet.se/bjoli/goof-loop

          • chowells30 minutes ago
            This doesn't strike me as better than the alternatives. In Haskell, it's just a few different functions to handle the different use cases. That strikes me as far better than one "function" that magically does different things depending on how it's called. It is local, I'll give you that. But it still seems bad because you have overloaded the semantics along multiple axes simultaneously. I prefer building blocks with only a single set of semantics each. I believe it's better to write precise code than DWIM code.
  • 2 hours ago
    undefined
  • mcbk21422 hours ago
    Very cool! Always was interested in racket, I will try writing Black Jack in it!
  • tech_armyan hour ago
    Will definitely try it.