{"action":"created","issue":{"url":"https://api.github.com/repos/akka/akka-meta/issues/44","repository_url":"https://api.github.com/repos/akka/akka-meta","labels_url":"https://api.github.com/repos/akka/akka-meta/issues/44/labels{/name}","comments_url":"https://api.github.com/repos/akka/akka-meta/issues/44/comments","events_url":"https://api.github.com/repos/akka/akka-meta/issues/44/events","html_url":"https://github.com/akka/akka-meta/issues/44","id":207848332,"number":44,"title":"presentation of Java/Scala DSLs for Akka Typed","user":{"login":"rkuhn","id":470469,"avatar_url":"https://avatars.githubusercontent.com/u/470469?v=3","gravatar_id":"","url":"https://api.github.com/users/rkuhn","html_url":"https://github.com/rkuhn","followers_url":"https://api.github.com/users/rkuhn/followers","following_url":"https://api.github.com/users/rkuhn/following{/other_user}","gists_url":"https://api.github.com/users/rkuhn/gists{/gist_id}","starred_url":"https://api.github.com/users/rkuhn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rkuhn/subscriptions","organizations_url":"https://api.github.com/users/rkuhn/orgs","repos_url":"https://api.github.com/users/rkuhn/repos","events_url":"https://api.github.com/users/rkuhn/events{/privacy}","received_events_url":"https://api.github.com/users/rkuhn/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":7,"created_at":"2017-02-15T16:07:48Z","updated_at":"2017-02-18T18:34:38Z","closed_at":null,"body":"The goal is to present a state of the API in 2.5.0 that can reasonably be declared final without modifications a few months later.\r\n\r\n## Requirements\r\n\r\nFor both languages I’d like to achieve the following:\r\n\r\n* it is possible to get access to the full DSL using a single import statement\r\n* it is possible to import either the set of combinators directly, or their enclosing scope for disambiguation\r\n* the name that is imported must be meaningful\r\n\r\n## Proposal\r\n\r\n**For Java:** create an interface `akka.typed.javadsl.Actor` that contains static methods for constructing Behaviors, e.g. using `Actor.<MyMsg>stateful((ctx, msg) -> ...)`.\r\n\r\n**For Scala:** create an object `akka.typed.scaladsl.Actor` that contains the behavior constructors, e.g. `Actor.stateful[MyMsg]((ctx, msg) => ...)`.\r\n\r\nThe synchronization of these two DSLs would work out nicely because the only required language construct—lambda expressions—works nearly identically in both languages. This does entail a sweeping, breaking change of the current ScalaDSL, though. We could leave that object as is and deprecate it, to be removed when the new DSLs are declared final.\r\n\r\n@akka/akka-committers please comment."},"comment":{"url":"https://api.github.com/repos/akka/akka-meta/issues/comments/280865580","html_url":"https://github.com/akka/akka-meta/issues/44#issuecomment-280865580","issue_url":"https://api.github.com/repos/akka/akka-meta/issues/44","id":280865580,"user":{"login":"jypma","id":483519,"avatar_url":"https://avatars.githubusercontent.com/u/483519?v=3","gravatar_id":"","url":"https://api.github.com/users/jypma","html_url":"https://github.com/jypma","followers_url":"https://api.github.com/users/jypma/followers","following_url":"https://api.github.com/users/jypma/following{/other_user}","gists_url":"https://api.github.com/users/jypma/gists{/gist_id}","starred_url":"https://api.github.com/users/jypma/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jypma/subscriptions","organizations_url":"https://api.github.com/users/jypma/orgs","repos_url":"https://api.github.com/users/jypma/repos","events_url":"https://api.github.com/users/jypma/events{/privacy}","received_events_url":"https://api.github.com/users/jypma/received_events","type":"User","site_admin":false},"created_at":"2017-02-18T18:34:38Z","updated_at":"2017-02-18T18:34:38Z","body":"Oh that's looking very neat indeed! Congratulations!"}}
{"actor":{"display_login":"jypma"}}