Hacker News new | ask | show | jobs
by weirdkid 2437 days ago
This is how to learn to mimic a new language and avoid actually learning it. It’s the difference between carrying around a French phrase book and being able to converse like a native.
1 comments

Yeah, I don't think that anyone learning Raku that way would realize that the {} in the following is actually a lambda.

    for @a { .say }
So this works in basically the same way:

    my $lambda = { .say }

    @a.map( $lambda );
Or that the pointy block syntax …

    for @a -> $item { say $item }
… works on every keyword of the form `KEYWORD (CONDITION) {BLOCK}`.

    if $a.method() -> $result { say $result }
The pointy block is of course also a lambda.

    my $lambda = -> $result { say $result }
---

Raku is a much more consistent language than beginners expect. The above is just one example of this.

Because it is so consistent; once you learn something in one place, you can use that knowledge everywhere in the language.

But first you have to realize that is even a possibility.

It would take a long time to come to that conclusion if you write Raku by copy-pasting code.

That is because very few languages are as strangely consistent as Raku.