Async-await on stable Rust!

Ola Fosheim Grøstad ola.fosheim.grostad at gmail.com
Mon Nov 11 09:05:59 UTC 2019


On Sunday, 10 November 2019 at 21:49:45 UTC, Russel Winder wrote:
> pretensions to be a general purpose language. The intention has 
> been to integrate well with Python so that Python is the 
> language of the frontend and Chapel is the language of the 
> computational backend – cf. CERN's view of C++ and Python.

Yes, that would make Chapel much more interesting. I think that 
being able to write libraries/engines in a new language and call 
into it from an established high-level language is a good general 
strategy.

Often times language authors see their language as the host 
language and other languages as "subordinate" library languages. 
That is probably a strategic mistake. It is kinda sad that so 
much open source library features have to be reimplemented in 
various languages.


> If we had the money and the team today, I'd hope we would beat 
> Pony, C++, D, Go, Rust, etc. at their own game. Ain't going to 
> happen, but that's life.

You could write up your ideas and create a blog post that 
describes it. I believe there is a reddit for people creating 
their own languages, could inspire someone?


> Intel had the chips in 2008, e.g. The Polaris Chip – cf. 
> SuperComputer 2008 proceedings. But the experiment failed to be 
> picked up for reasons that I have no idea of – possibly the 
> chips were available a decade or more ahead of software 
> developers ability to deal with the concepts.

Ah, interesting, Polaris used network-on-a-chip. According to 
some VLSI websites the Polaris led to Intel's 
many-micro-cores-on-a-chip architecture, which led to Larrabee 
and Xeon Phi. Last version of Phi was released in 2017.

Another type of many-micro-core processors with some local memory 
are the ones geared towards audio/video that use some kind of 
multiplexed grid-like crossbar-databusses for internal 
communication between cores. But they are more in the DSP 
tradition, so not really suitable for actor-style languages I 
think.


> between processes over a kernel thread pool works. NB CSP 
> doesn't stop you creating livelock or deadlock but it does tell 
> you when and why it happens.

Pony claims to be deadlock free: https://www.ponylang.io/discover/

I assume that you could still experience starvation-like 
scenarios or run out of memory as unprocessed events pile up, but 
I don't know exactly how they schedule actors.

> Go was intended to be a replacement for C, so if it feels C-ish 
> the design has achieved success!

Yes… just like Php…



More information about the Digitalmars-d mailing list