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

Assess and cherry-pick Perl 6 primitives. #669

Closed
7 tasks
digitalextremist opened this issue Aug 29, 2015 · 2 comments
Closed
7 tasks

Assess and cherry-pick Perl 6 primitives. #669

digitalextremist opened this issue Aug 29, 2015 · 2 comments

Comments

@digitalextremist
Copy link
Member

Assess and approximate primitives demonstrated in Perl 6 where desired, likely by creating additional gems. Cherry-pick concepts and behaviors including but not limited to:

  • Lazy .race, and .hybrid methods ( and a more powerful .map ) by including modules.
  • React blocks ( i.e. for "main loops" )
  • Supply objects, and blocks... and .tap methods, and objects.
  • Promise, and await ( similar to Future )
  • whenever with Supply and React
  • Channel objects, for use with Future and Promise
  • A Monitor class to include versus implementing an Actor only, rather than do intricate locking, or purely use exclusive behavior as an Actor.

These primitives would dramatically simplify Multiplexers ( #632, #639 ) for example. These concepts are by no means "from" Perl 6 in every case, so where possible, also research implementations in Erlang and libraries like Akka when approximating.

@ioquatix
Copy link
Contributor

Interesting. I suggested to Matz to implement channels and "go procs" as fundamental data strutures in MRI.

@digitalextremist digitalextremist modified the milestones: 0.18.0, 1.0 Jun 6, 2016
@tarcieri tarcieri removed this from the 1.0 milestone Jan 15, 2019
@tarcieri
Copy link
Member

Closing as stale. If you are still interested in this issue, please reopen it.

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

3 participants