ProllyInfamous
As a retired electrician attempting hobby-level "learn to code" (i.e. I don't know anything about modern programming and did not even understand anything from OP's link), this Amazon review helped me understand OP's link:

>..I’ve been (slowly) working my way through The Little Typer. It’s a deep dive on dependent types, starting with the very basics and building up a toy language one step at a time. I can feel it gradually changing how I think about programming (heck, how I think about thinking).

>..It’s really, really enjoyable. The format is very approachable, even fun. Rigorous and demanding, yet doesn’t take itself too seriously. Some lisp experience is helpful, but probably (maybe?) not necessary. But do yourself a favor and learn lisp anyway ;-)

Maybe some day I'll motivate myself to even figure out how to first install Racket/Pie (first, I have to figure out what even these are).

Thanks for the motivation/educational resource, OP.

kevindamm
I liked the dialogue-driven format of this and the others in the series (I've read Schemer and Learner too), at least once I got used to the split-mind feel of it, but I feel it would be better as an interactive media instead of the books.

There's an expectation that you're following along and typing nearly every line into the appropriate REPL. I found this difficult to do while juggling the hardcopies and not any easier on an ebook reader -- I could stop worrying about cracking the spine but the digital copies I sampled or purchased always completely ruined the typesetting. All the REPL interactions are transcribed as images, and the constant focus-and-pinch-zoom disrupts the engagement.

I ended up just reading through and hoping to catch enough of the gist of things then doing my usual side-project-as-learning instrument thing. I hope somebody tries to build an interactive playground for this book or the Little Learner, complete with guiding dialog.

The typesetting in the hardcopies is really unique and impressive.

emmanueloga_
For those looking for a more straightforward approach to type systems, here are two resources I like:

1: Terence Parr's chapter "Enforcing Static Typing Rules" from Language Design Patterns.

2: Eli Bendersky's Python implementation of Hindley-Milner type inference.

--

1: https://pragprog.com/titles/tpdsl/language-implementation-pa...

2: https://eli.thegreenplace.net/2018/type-inference/

kccqzy
I bought this book when it first came out. Unfortunately this book required a time commitment greater than what I had available at that time and I didn't finish. It's thoroughly enjoyable (at least the first few chapters) but it requires a level of thinking that might not be available if you just finished a day of work.
ahelwer
I worked through this a few years ago and it is wonderful, but I found chapter 9 on the replace function totally impenetrable, so I wrote a blog post in the same dialogue style intended as a gentler prelude to it. A few people have emailed me saying they found it and it helped them. https://ahelwer.ca/post/2022-10-13-little-typer-ch9/
Jtsummers
Three past discussions with discussion:

https://news.ycombinator.com/item?id=18046745 - Sept 22, 2018 (132 comments)

https://news.ycombinator.com/item?id=31465368 - May 22, 2022 (23 comments)

https://news.ycombinator.com/item?id=33162971 - Oct 11, 2022 (96 comments)

RedNifre
Is there an online community for this where you can ask questions? E.g. a discord server or an IRC channel?
philip-b
I read it 2 years ago while I was sick with COVID. It was a lot of fun, it was pretty easy, but also very interesting. It was not a big time commitment. I learned a lot about dependent types. I recommend it.
ducktective
What modern scheme is best to use for these "the little x'er" book series? Some of them suggest their dialect (like learner suggests Racket I think), but what about others? In short, what scheme is the most practical and useful nowadays?

Here is the result of my research so far, in order of preference according to the above requirements:

Guile: most active community, GNU glue language, Guix

Chicken: most pragmatic one with a package manager but older

Chez: most performant one, less active community and libraries

758758
[flagged]