Comments (17)
Be sure those talks are recorded :) (and contact meijer if you haven't already)
from gtor.
The only means I know to let @headinthebox know that I’ll be on his continent to give this talk on Monday is to mention his Github handle.
Erik, if you catch this, I know this is short notice, but it would be a pleasure to meet you and to apologize for misspelling your name in person.
from gtor.
Thanks for the heads-up. I DM-ed you on Twitter. Shoot me an email via [email protected]. Would love to chat more.
from gtor.
@headinthebox Erik it would be great if you could fix this whole concurrency thing in JavaScript, I know it's short notice but it is the most popular language and it is one currently specifying observables, async pull iterators and syntax into the language.
I know you're a busy guy (and I'm a huge fan) but piggybacking on the fact you showed up - JavaScript could really use your help with concurrency :)
Kris is one of the smartest people I know and I'd love to see what you two can come up with :)
from gtor.
If the JavaScript folks reach out to me, I am happy to jump in.
from gtor.
Twitter appears to be slowly becoming eventually consistent.
from gtor.
@kriskowal this Twitter DM thing is broken, let's use proven email technology ;-)
from gtor.
@jhusain, I trust that you will take @headinthebox at his word and arrange for him to have a chance to present at TC39.
from gtor.
How can I say "no" to @jhusain ;-)
from gtor.
@headinthebox My email is [email protected].
from gtor.
@headinthebox this is us reaching out :)
Observables proposal: https://github.com/zenparsing/es-observable
Streams proposal: https://github.com/whatwg/streams
Promise (Task) cancellation: https://github.com/domenic/cancelable-promise
There are open issues mostly stemming from the fact most people involved don't have the in-depth understanding of the underlying concepts you do nor the experience of pushing them into a programming language and the considerations involved.
There are lots of smart people (like Jafar and Kris) involved in this process and they're learning and it takes time. Your help would have a huge impact on concurrency and data flow problems in JavaScript.
from gtor.
Have you see https://queue.acm.org/detail.cfm?id=2747873. One of the reasons I did that work was to show the JS folks that and how it can be done.
from gtor.
Oh neat, we have our own async/await
on the way, the design decisions you mention there sound very familiar. The promise cancellation proposal currently runs all finally
blocks on cancellation.
We had async streams proposals (for observables and for pull iterators). Since yield
produces an expression in JavaScript libraries have implemented await
semantics with it in the interim. Promises are also a standard part of the language now.
function async(iterable){
let iterator = iterable();
return Promise.resolve().then(function run(){ // create empty promise and chain
let {next, done} = iterator.next();
if(done) return value;
return Promise.resolve(value).then(run, e => iterator.throw(e));
});
}
Which lets us do:
let delay = ms => new Promise(r => setTimeout(r, ms));
async(function*(){
for(var i = 0; i < 10; i++){
yield delay(1000);
console.log("Hi" ,i);
};
});
I'm very worried about the syntactic addition of async functions, observables and pull streams into the standards - there are so many things to get wrong and so few people who are domain experts :)
from gtor.
One of us should probably translate your article on Dart to modern JavaScript.
from gtor.
I'll gladly do it with @headinthebox 's blessing if he'd like.
from gtor.
Absolutely. Without doubt that will reveal some interesting issues.
The actual translation in the Dart compiler is more complex because it has to deal with error, try/finally, ...
from gtor.
i'm sure the committee would be interested in a presentation from @headinthebox. I know I would be.
from gtor.
Related Issues (20)
- Make things more relatable by explaining synonyms
- I am confused between promiseBuffer.iterator.next(value) and promiseBuffer.generator.yield(value) HOT 4
- Why are variables `done: false`? HOT 4
- Minor typos, clarity tweaks, and suggestions HOT 1
- Discuss the `on` operator proposed by Jafar
- How to create "pull streams"? HOT 4
- Visual modelling HOT 1
- CSP channels HOT 16
- Byte stream behavior HOT 1
- Interesting use of tasks HOT 1
- Describe pressure relief strategies
- Typo HOT 1
- Off by one error in echo example HOT 5
- Asynchronous Generator Functions: Link to Jafar Husain's document prompts for permission HOT 3
- Suggestion: Use the term “channel” for publishers and subscribers HOT 7
- Make this into a GitBook? HOT 6
- Tests are failing HOT 1
- MediterraneaJS link do dot work
- Talk about the issue of generator objects and their relation to function calls?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gtor.