News for hackers. Stuff that matters.
Re:Racket is 25 by bjoli on Monday May 11, 2020 @05:37AM (#23140367)
I agree, but regarding the for constructs, I don't think many people know: Racket's for loops are just (mostly) left folds over whatever sequences you use. They become as efficient as hand-rolled named lets.
Re:Racket is 25 by neilv on Monday May 11, 2020 @02:00PM (#23145019)
And then people don't get comfortable with recursion, and when they have an algorithm that doesn't quite fit a `for` exactly, they do things like mutate a flag variable. :)

I think that situation is unfortunate for some aspects of learning, whether or not the compiler can make some use cases of the constract just as fast (or faster).

Re:Racket is 25 by bjoli on Tuesday May 12, 2020 @02:41AM (#23151130)
I agree! I solved it by implementing mostly-racket-compatible for loops for guile scheme. Since then I can't not think of for loops as recursive macros :)

Edit: the loops actually got more powerful recently: The for/foldr was a great addition where you can replace most non-tail-recursive functions with it, even though I probably wouldn't use it for tree transversal :)