And what major issues and downsides this has. One I can identify it would be non obvious on how to do `map` on a Future/Promise, because there is none. So there is no easy way to execute on the green thread code with the result of the remote call, e.g.
let f = asyncFuture()
f.map(|v|: v + 1) // executes also async
let s = await m
println(s)
If f is transparently handled as a future, this is no longer possible, we would have:
let s = asyncFuture()
s = s + 1 // not async
println(s)
One would also, to be safe, always use immutable data structure and copy semantics on other classes (e.g. functional lenses and prisms everywhere transparently) - with the performance impact of immutable data structures.
https://hirolang.org/
And what major issues and downsides this has. One I can identify it would be non obvious on how to do `map` on a Future/Promise, because there is none. So there is no easy way to execute on the green thread code with the result of the remote call, e.g.
If f is transparently handled as a future, this is no longer possible, we would have: One would also, to be safe, always use immutable data structure and copy semantics on other classes (e.g. functional lenses and prisms everywhere transparently) - with the performance impact of immutable data structures.