Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v1.0 roadmap? #112

Open
gt3 opened this issue Jan 1, 2017 · 6 comments
Open

v1.0 roadmap? #112

gt3 opened this issue Jan 1, 2017 · 6 comments

Comments

@gt3
Copy link

gt3 commented Jan 1, 2017

I've been following this project for past few months now. I'm sure there are others like me in the community who would also like to see this project gain momentum and finally achieve production-ready status.

Let's start by making a list of tasks on the critical path to <<1.0>> so we can better focus our resources on shipping out a stable product first. I'd like to ask primary contributors - @ubolonton and @hung-phan to guide us in defining the necessary scope of work.

New feature development that includes, API extensions and new language features, should be stalled/deferred until we have addressed all edge cases and shortcomings preventing this project from reaching the CSP standard.

I am pretty new around here but I know that if there is one project that deserves more attention in the Javascript ecosystem, it is this one and I'm excited to learn. So how can I help?

Happy New Year! :)

@hung-phan
Copy link
Collaborator

  1. putAsync/takeAsync should return a Promise #109
  2. Refactor channel and process implementation
  3. Implement promise channel
  4. Handle error in channel

@gt3
Copy link
Author

gt3 commented Jan 3, 2017

I'll also add that we need to fix code styling and perhaps take another look at eslint rules that are currently applied (biggest one on my mind is ";") :)

@gt3
Copy link
Author

gt3 commented Jan 26, 2017

@hung-phan @ubolonton

New feature development that includes, API extensions and new language features, should be stalled/deferred until we have addressed all edge cases and shortcomings preventing this project from reaching the CSP standard.

I was referring to these types of issues:

const ch = csp.chan();

// Async puts accept a callback too
csp.putAsync(ch, 42, function(){ console.log("Just put 42"); });
csp.putAsync(ch, 43, function(){ console.log("One more"); });

csp.takeAsync(ch, function(value) { console.log("Got ", value); })
//=> "Got 42"
//=> "Just put 42"
csp.takeAsync(ch, function(value) { console.log("Got ", value); })
//=> "Got 43"
//=> "One more"

One of the first code snippets from docs does not produce expected output!

@hung-phan
Copy link
Collaborator

Thanks @gt3, checking.

@hung-phan
Copy link
Collaborator

Got  42
Got  43
Just put 42
One more

🤔

@gt3
Copy link
Author

gt3 commented Jan 26, 2017

Technically the rendezvous should work as described in the docs.

I believe this is a drawback of using callbacks. We might need something lazier?

I checked 0.5 with the same results. @ubolonton ?

@hung-phan hung-phan mentioned this issue Jul 9, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants