Comment by gs17
10 hours ago
That's more of a problem in text-based coding. One of the things I genuinely like about Snap (well, in my case NetsBlox, which is a fork of it) is the ability to have spaces and weird characters in a variable name.
Edit: Oh, you meant the lambda in the post title? It's not really part of the name, but you can at least type it into Snap itself.
There's no need to type the word "lambda" into Snap!. As befits a visual language, we have a visual representation of lambda; it's the gray ring that you sometimes see surrounding an expression or a script. It's a discoverable notation; when you click on an expression you see its value, and when the expression is inside a ring the value you see is the expression itself. We inherited from Scratch the idea of using different shapes of input slots to represent the data type that's expected, round for numbers and rectangular for text. (They have since changed their minds about that, I'm not sure why. They do still use hexagons for Boolean slots.) We have an "expression" data type, and instead of a polygonal shape, we represent expression input slots by preloading them with an empty gray ring. (If you drag something with a gray ring around it into the slot, your ring is absorbed into the one that's already there.) This lets us write higher order functions that are usable by kids who haven't yet wrapped their minds around anonymous functions. It took us three tries to get the notation exactly right, but I'm super proud of it.