OMG! I'm so excited to announce that through my work at @spritelyinst we've published A Scheme Primer: spritely.institute/news/the-sp
Direct link: spritely.institute/static/pape

This document manages to serve two purposes:
- As a quick skim, it's a reasonable intro to "how to start programming with Scheme with no prior experience". Hey, tutorials are useful!
- But also, in less than 30 pages we manage to compress a TON of computer science ideas in a way that I think is really, really approachable.

The document ends with a code example, and full walkthrough, of a Scheme interpreter written in Scheme... in a mere 30 lines of code! It's like 3/4 of Structure and Interpretation of Computer Programs compressed into a document you could read in an afternoon!

@cwebber @spritelyinst I just printed out the 28 pages and hope to read them all over the next day or so. During your #FossAndCrafts talk people in the chat mentioned that the curly brace {} infix notation didn't work in Racket. Racketeers have a double dot notation that confused me for a long time while trying to read their contracts.
{ 1 + 2 } becomes ( 1 . + . 2 ); just in case someone wants to get distracted by that Racket detail (Racktail?) while learning from your tutorial!

Follow

@bsmall2 @spritelyinst Ha yeah, there are some differences with default Racket. you might need to set eg " r5rs" to get the same behavior in some sections. In particular, Racket doesn't support one-legged ifs! One of the footnotes talks about this.

@cwebber @spritelyinst Yes, the comments about if and when help me. Racket surprised me by refusing one-legged `if: stressful before finding `when. fn:18 is about this but gets cut off right on p.19 of my pdf pages. I went back to the html version to read the whole fn: and then was able to find the rest of it on p.20. Org should leave the code block border open at the bottom to indicate it continues? Or maybe footnotes should have a subtle line to show they are not part flow directly above them?

@bsmall2 @spritelyinst Ah yeah... the ODT's handling of footnotes isn't super great. I hope to improve that but I'll have to mess with the stylesheet, currently just using the default org-mode one

@cwebber @spritelyinst Stylesheet messing sounds involved, especially on your day off. I was hoping it was something simple. Does Scribble do any better? For a while I enjoyed Scribble's index and bibliography stuff. After not using it every day getting back into it takes so much effort there's not much energy left for actually writing. Maybe there is a DRY technique that would let one big document generate a web page, a print page, a slideshow, an epub.. An org technique or Pollen approach?

Sign in to participate in the conversation
Octodon

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!