3 ms·
For me the killer feature of anything making the pure and stateful divide explicit would be the automatic parallelization independent pure expressions. A paral
by Lerc 5y ago
For me the killer feature of anything making the pure and stateful divide explicit would be the automatic parallelization independent pure expressions.
A parallel iterator for map (or any other pure function batch operation) allows for an entire world of possibilities.
- brundolf 5y agoI'm considering having some way of easily making functions concurrent, however this is limited by the fact that JavaScript doesn't have memory-sharing threads; it only has workers that can pass messages to each other. So any boundary data has to be serializable, and the benefit of processing it in parallel has to be greater than the cost of serializing and deserializing it. I've only really encountered one situation in my career where that trade-off made sense. With that said, I'm going to probably try out something along the lines of a "concurrent" keyword that could be put on a pure function to automatically spin it out when it's called
- cwp 5y agoHave you looked at Fortress at all? It was designed on just this premise, and came to some interesting conclusions before being abandoned. For example, where the natural data structure for Lisp is the list, the natural data structure for Fortress is the tree. (Discussed here: https://news.ycombinator.com/item?id=814632 https://news.ycombinator.com/item?id=814632)
- brundolf 5y agoThis is very interesting, but it seems like its goals were pretty different from Bagel's. That said I always love learning about a new esoteric programming language!