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

Introduce peer keyword #89

Merged
merged 2 commits into from
Feb 16, 2015
Merged

Introduce peer keyword #89

merged 2 commits into from
Feb 16, 2015

Conversation

kaeluka
Copy link
Contributor

@kaeluka kaeluka commented Feb 16, 2015

The peer keyword is a relative of new, with the intended
semantics that a created actor is created in another work pool,
rather than the same as the creating actor.

This is the frontend and code generation, the runtime does not
support this yet. Instead it will print a warning and revert to the
same implementation as new for now.

The `peer` keyword is a relative of `new`, with the intended
semantics that a created actor is created in another work pool,
rather than the same as the creating actor.

This is the frontend and code generation, the runtime does not
support this yet. Instead it will print a warning and revert to the
same implementation as `new` for now.
It fails at this point, as the feature is not implemented in the
runtime yet.
do ty' <- checkType ty
unless (isActiveRefType ty') $
tcError $ "Cannot create an object of type '" ++
show ty ++ "'"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At some point (if this keyword stays) there should also be a special error message for when trying to create passive peers.

EliasC added a commit that referenced this pull request Feb 16, 2015
@EliasC EliasC merged commit dea3a87 into parapluu:new-ponyrt Feb 16, 2015
@EliasC
Copy link
Contributor

EliasC commented Feb 16, 2015

Looking good! Merging

@EliasC EliasC deleted the new-ponyrt branch February 16, 2015 10:13
@kaeluka
Copy link
Contributor Author

kaeluka commented Feb 16, 2015

Thanks!

@supercooldave
Copy link

Ultimately, this will possibly become one of those deployment concerns we haven't yet talked about.

@kaeluka kaeluka restored the new-ponyrt branch February 16, 2015 10:31
@albertnetymk
Copy link
Contributor

I believe that immediately after creating one actor we send one msg init to the newly created actor, usning create_and_send or sth like this. When actors are firstly created, they are not added the actor queue of the current scheduler until one msg is sent to it. In this case, it's the init msg.

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

Successfully merging this pull request may close these issues.

5 participants