4 ms·
Building a relational lang (https://github.com/Tablam/TablaM https://github.com/Tablam/TablaM) I allow myself to get derailed in how provide a nicer "linq/itera
by mamcx 6y ago
Building a relational lang (https://github.com/Tablam/TablaM https://github.com/Tablam/TablaM) I allow myself to get derailed in how provide a nicer "linq/iterator" protocol that work inside rust and outside in the lang (so, how I write them in rust is close to what the user could write in the lang).
The regular iterator protocol, as today in rust, make hard to do stuff like JOINS, GROUP BY and other fancy stuff (because you need to decompose the computation in a partial state machine. This is hard even for a developer, impossible to ask for a regular data user). Also, you need to duplicate all that for async (with streams) and other abstractions...
I'm now trying to understand transducers (https://www.reddit.com/r/rust/comments/gqiyej/potentials_advantages_of_transducers_in_rust/ https://www.reddit.com/r/rust/comments/gqiyej/potentials_adv...) and stumble upon effects:
http://mikeinnes.github.io/2020/06/12/transducers.html http://mikeinnes.github.io/2020/06/12/transducers.html
that look to my the clean way I wish to use.
But what look easy in python/f#/etc in rust is HARD to do. So I'm in a kind of limbo :)
- tekknolagi 6y agoYou and kd5bjo should chat: https://news.ycombinator.com/item?id=23741932 https://news.ycombinator.com/item?id=23741932