Nice to see Scheme being active. It is really used much in companies?
While the author speaks about Rust iterators at first, Transducers seem better in the end.
In Java 23, the introduction of gatherers seems to be an attempt at having a more open set of functions of a stream, which transducers don’t suffer from.
Rust Iterators seems to also have this limited sed of actions available (but some crate like tap seem to allow to .pipe() a function).
Cisco seems to use Chez for something mysterious, a video game company scripted in Scheme, stopped and restarted again. I know a guy who does option trading in Racket, I have some large valuation models in Racket (most of the system is in and Common Lisp). I know a few guys who do vague data analysis and scripting in scheme (especially Guile or Gerbil for some reason) where their clients only care about the result. https://www.itasoftware.com/ is in scheme. There are some dead webshops(?) like https://www.greghendershott.com/2018/05/extramaze-llc-using-... or https://defn.io/2019/08/20/racket-ecommerce/
ITA used Common Lisp. The game company you mentioned is probably Naughty Dog who created "Game Oriented Assembly Language" for their games. GOAL was created in Common Lisp but was Scheme-like. They switched away after being acquired by Sony and needing to fit in better, they brought it back later on though.
Sony had a policy: games are implemented in C++, no ifs, ands, or buts. Once you're acquired, you play by the parent's rules.
That said, they did sneak Scheme (specifically, Racket) in the back door, by making their C++ engine data-driven and using Racket programs to generate and munge the data consumed by the engine.
Given the policy, simply don't acquire stuff not written in C++, and the people working on it not in C++. Unless it's competition and you're trying to bury it or something. Otherwise it doesn't make sense buy an operation and its staff, and then change their tooling and have them rework everything.
They were a hitmaker for Sony before the acquisition. The cost of a forced transition was perceived as worth it (and probably was; Uncharted and TLOU made more money than all their previous titles put together).
While the author speaks about Rust iterators at first, Transducers seem better in the end.
In Java 23, the introduction of gatherers seems to be an attempt at having a more open set of functions of a stream, which transducers don’t suffer from.
Rust Iterators seems to also have this limited sed of actions available (but some crate like tap seem to allow to .pipe() a function).