Re:Pollen: the book is a program
by Xophmeister on Tuesday September 26, 2017 @05:31AM
(#15337300)
> Racket by default also doesn’t use the keyword "lambda", but instead uses "λ".
I'm not sure that's true:
Welcome to Racket v6.10.1.
> (define foo (lambda (x) (+ x 1)))
> (foo 1)
2As I mentioned, both are possible, but (λ ...) is strictly preferred.
This is certainly not the case. Some, but by no means all, of the core maintainers prefer the unicode glyph, but the vast majority of the code uses a spelled-out lambda.
In my current checkout of the codebase, I see the following:
~/src/racket/racket/share/pkgs$ ag lambda **/*.rkt | wc -l
1041
~/src/racket/racket/share/pkgs$ ag λ **/*.rkt | wc -l
163
Note also consistent usage of spelled-out lambda in the Racket style guide, https://docs.racket-lang.org/style/.I made a mistake, believing that `ag` could handle extended glob syntax. The real numbers are:
~/src/racket/racket/share/pkgs$ find . -iname '*.rkt' | xargs ag lambda | wc -l
33589
~/src/racket/racket/share/pkgs$ find . -iname '*.rkt' | xargs ag λ | wc -l
16722
Glyph λ is more common than I thought, but still heavily outnumbered by spelled-out lambda.
Racket by default also doesn’t use the keyword "lambda", but instead uses "λ".
You can obviously use something different, if you want to, but the default, and recommended solution, is using unicode characters.
As Racket is frequently written in the DrRacket IDE, this also makes sense.