4 comments

[ 3.1 ms ] story [ 27.9 ms ] thread
(comment deleted)
Do we need to know amb to read this tutorial? I have a vague memory of it, having worked through that chapter in On Lisp long ago, and yet the first screen introduces several terms without explaining them.

It says I need to be familiar with call-by-value lambda-calculus. Ok, check. But I still don't follow what's going on. Is this because of that parenthetical "(and evaluation contexts)"? I wish there was a link to where I could read about evaluation contexts. I searched for 'racket evaluation context' and came up with zip (the first result is about.. redexes[1]).

The exposition seems to bounce around levels of understanding. It explains how to start typing in the example, and where the menus are, but it skips quickly past the productions. Is number a keyword of the DSL? I see 8 productions not 6. Is there some reason it doesn't mention if0 or fix? Is it deliberate that num is not number? Are if0 and fix not literals?

Racket is awesome; that just frustrates me all the more for often not being able to understand what it provides. Maybe I'm just dyslexic in some subtle way; I rarely have trouble following docs for other languages. Racket tutorials are as hard to understand for me as research papers that use haskell.

[1] http://redex.racket-lang.org/why-redex.html

Probably the best way to learn what an evaluation context is to read the book you've linked to there. Alternatively, it's basically what the Racket reference section on the evaluation model calls a "continuation": http://docs.racket-lang.org/reference/eval-model.html

We do try hard to make the docs understandable though, so if you have some feedback please do mention it on the mailing list so that the responsible devs can try to address it.

Thanks for the tip! Continuations, I know what those are.

Yes, part of what makes racket awesome is that it has a coherent design while fluidly integrating feedback. The challenge for me is to learn some aspect of it to the point where I can give constructive feedback. Sometimes I end up giving up before I get to that point. Perhaps the tower of concepts just has to be this high, and I need to just suck it up and give it more time/priority.