News for hackers. Stuff that matters.
Re:The Bagel Language by Lerc on Monday September 20, 2021 @11:06PM (#28601696)
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.

Re:The Bagel Language by brundolf on Monday September 20, 2021 @11:15PM (#28601740)
I'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

Re:The Bagel Language by cwp on Monday September 20, 2021 @11:23PM (#28601787)
Have 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)

Re:The Bagel Language by brundolf on Tuesday September 21, 2021 @01:18AM (#28602237)
This 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!