A Friendly Introduction to Racket

(geometridae.bearblog.dev)

50 points | by signa11 3 hours ago

7 comments

  • perrygeo 2 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.

    • valorzard 59 minutes 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?)
  • fn-mote 34 minutes 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.

  • em-bee 2 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/
  • vatsachak 1 hour ago
    I've never seen the appeal in schemes other than hot reloadability...
    • WalterGR 1 hour ago
      Homoiconicity.
      • chowells 4 minutes 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 that's also fully compatible with local reasoning?

  • tech_army 24 minutes ago
    Will definitely try it.
  • mcbk2142 57 minutes ago
    Very cool! Always was interested in racket, I will try writing Black Jack in it!