I have some questions; hope the OP is still around!
Will there be partial application?
let appendHelloFile = appendFile("Hello");
let f = openFile("log.txt");
let f2 = appendHelloFile(f);
closeFile(f2);
I suppose this might complicate the linear type system?Will there be a pipeline operator? I think this fits really nicely with linear types:
openFile("log.txt")
|> appendFile("Hello")
|> closeFile
This may be at odds with the no operator precedence rule.You say that async will not be baked into the langauge. I think this is the right decision. However, will there be a syntatic sugar that can be used to avoid the "pyramid of doom" when writing promise-orientated code? It is possible to make this general purpose if done right.