{"action":"created","comment":{"url":"https://api.github.com/repos/adelbertc/frameless/pulls/comments/84601041","pull_request_review_id":5369307,"id":84601041,"diff_hunk":"@@ -0,0 +1,26 @@\n+package frameless\n+\n+/**\n+  * When summing Spark doesn't change these types:\n+  * - Long       -> Long\n+  * - BigDecimal -> BigDecimal\n+  * - Double     -> Double\n+  *\n+  * For other types there are conversions:\n+  * - Int        -> Long\n+  * - ...\n+  */\n+trait CatalystSummable[A] {\n+  def zero: A\n+}\n+\n+object CatalystSummable {\n+  def apply[A](zero: A): CatalystSummable[A] = {\n+    val _zero = zero\n+    new CatalystSummable[A] { val zero: A = _zero }\n+  }\n+","path":"core/src/main/scala/frameless/CatalystSummable.scala","position":22,"original_position":22,"commit_id":"1e728288b22033d39ad730ddb3b7f21b17edc086","original_commit_id":"1e728288b22033d39ad730ddb3b7f21b17edc086","user":{"login":"kanterov","id":467927,"avatar_url":"https://avatars.githubusercontent.com/u/467927?v=3","gravatar_id":"","url":"https://api.github.com/users/kanterov","html_url":"https://github.com/kanterov","followers_url":"https://api.github.com/users/kanterov/followers","following_url":"https://api.github.com/users/kanterov/following{/other_user}","gists_url":"https://api.github.com/users/kanterov/gists{/gist_id}","starred_url":"https://api.github.com/users/kanterov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kanterov/subscriptions","organizations_url":"https://api.github.com/users/kanterov/orgs","repos_url":"https://api.github.com/users/kanterov/repos","events_url":"https://api.github.com/users/kanterov/events{/privacy}","received_events_url":"https://api.github.com/users/kanterov/received_events","type":"User","site_admin":false},"body":"Right, but `CatalystSummable` is also used for aggregate operation, `plus` is called as `Add` in Spark, I will create typeclase CatalystAddable for it.","created_at":"2016-10-23T18:18:54Z","updated_at":"2016-10-23T18:18:54Z","html_url":"https://github.com/adelbertc/frameless/pull/57#discussion_r84601041","pull_request_url":"https://api.github.com/repos/adelbertc/frameless/pulls/57","_links":{"self":{"href":"https://api.github.com/repos/adelbertc/frameless/pulls/comments/84601041"},"html":{"href":"https://github.com/adelbertc/frameless/pull/57#discussion_r84601041"},"pull_request":{"href":"https://api.github.com/repos/adelbertc/frameless/pulls/57"}}},"pull_request":{"url":"https://api.github.com/repos/adelbertc/frameless/pulls/57","id":90511673,"html_url":"https://github.com/adelbertc/frameless/pull/57","diff_url":"https://github.com/adelbertc/frameless/pull/57.diff","patch_url":"https://github.com/adelbertc/frameless/pull/57.patch","issue_url":"https://api.github.com/repos/adelbertc/frameless/issues/57","number":57,"state":"open","locked":false,"title":"Support implicit widening and explicit casting","user":{"login":"kanterov","id":467927,"avatar_url":"https://avatars.githubusercontent.com/u/467927?v=3","gravatar_id":"","url":"https://api.github.com/users/kanterov","html_url":"https://github.com/kanterov","followers_url":"https://api.github.com/users/kanterov/followers","following_url":"https://api.github.com/users/kanterov/following{/other_user}","gists_url":"https://api.github.com/users/kanterov/gists{/gist_id}","starred_url":"https://api.github.com/users/kanterov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kanterov/subscriptions","organizations_url":"https://api.github.com/users/kanterov/orgs","repos_url":"https://api.github.com/users/kanterov/repos","events_url":"https://api.github.com/users/kanterov/events{/privacy}","received_events_url":"https://api.github.com/users/kanterov/received_events","type":"User","site_admin":false},"body":"To enable implicit widening import `frameless.implicits.widen._`.","created_at":"2016-10-23T10:54:28Z","updated_at":"2016-10-23T18:18:54Z","closed_at":null,"merged_at":null,"merge_commit_sha":"a53cc43b24f78ae8e5e83c43bc193bbc330d65df","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/adelbertc/frameless/pulls/57/commits","review_comments_url":"https://api.github.com/repos/adelbertc/frameless/pulls/57/comments","review_comment_url":"https://api.github.com/repos/adelbertc/frameless/pulls/comments{/number}","comments_url":"https://api.github.com/repos/adelbertc/frameless/issues/57/comments","statuses_url":"https://api.github.com/repos/adelbertc/frameless/statuses/1e728288b22033d39ad730ddb3b7f21b17edc086","head":{"label":"adelbertc:sum-widen-cast","ref":"sum-widen-cast","sha":"1e728288b22033d39ad730ddb3b7f21b17edc086","user":{"login":"adelbertc","id":1332980,"avatar_url":"https://avatars.githubusercontent.com/u/1332980?v=3","gravatar_id":"","url":"https://api.github.com/users/adelbertc","html_url":"https://github.com/adelbertc","followers_url":"https://api.github.com/users/adelbertc/followers","following_url":"https://api.github.com/users/adelbertc/following{/other_user}","gists_url":"https://api.github.com/users/adelbertc/gists{/gist_id}","starred_url":"https://api.github.com/users/adelbertc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adelbertc/subscriptions","organizations_url":"https://api.github.com/users/adelbertc/orgs","repos_url":"https://api.github.com/users/adelbertc/repos","events_url":"https://api.github.com/users/adelbertc/events{/privacy}","received_events_url":"https://api.github.com/users/adelbertc/received_events","type":"User","site_admin":false},"repo":{"id":33022955,"name":"frameless","full_name":"adelbertc/frameless","owner":{"login":"adelbertc","id":1332980,"avatar_url":"https://avatars.githubusercontent.com/u/1332980?v=3","gravatar_id":"","url":"https://api.github.com/users/adelbertc","html_url":"https://github.com/adelbertc","followers_url":"https://api.github.com/users/adelbertc/followers","following_url":"https://api.github.com/users/adelbertc/following{/other_user}","gists_url":"https://api.github.com/users/adelbertc/gists{/gist_id}","starred_url":"https://api.github.com/users/adelbertc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adelbertc/subscriptions","organizations_url":"https://api.github.com/users/adelbertc/orgs","repos_url":"https://api.github.com/users/adelbertc/repos","events_url":"https://api.github.com/users/adelbertc/events{/privacy}","received_events_url":"https://api.github.com/users/adelbertc/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/adelbertc/frameless","description":"Expressive types for Spark.","fork":false,"url":"https://api.github.com/repos/adelbertc/frameless","forks_url":"https://api.github.com/repos/adelbertc/frameless/forks","keys_url":"https://api.github.com/repos/adelbertc/frameless/keys{/key_id}","collaborators_url":"https://api.github.com/repos/adelbertc/frameless/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/adelbertc/frameless/teams","hooks_url":"https://api.github.com/repos/adelbertc/frameless/hooks","issue_events_url":"https://api.github.com/repos/adelbertc/frameless/issues/events{/number}","events_url":"https://api.github.com/repos/adelbertc/frameless/events","assignees_url":"https://api.github.com/repos/adelbertc/frameless/assignees{/user}","branches_url":"https://api.github.com/repos/adelbertc/frameless/branches{/branch}","tags_url":"https://api.github.com/repos/adelbertc/frameless/tags","blobs_url":"https://api.github.com/repos/adelbertc/frameless/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/adelbertc/frameless/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/adelbertc/frameless/git/refs{/sha}","trees_url":"https://api.github.com/repos/adelbertc/frameless/git/trees{/sha}","statuses_url":"https://api.github.com/repos/adelbertc/frameless/statuses/{sha}","languages_url":"https://api.github.com/repos/adelbertc/frameless/languages","stargazers_url":"https://api.github.com/repos/adelbertc/frameless/stargazers","contributors_url":"https://api.github.com/repos/adelbertc/frameless/contributors","subscribers_url":"https://api.github.com/repos/adelbertc/frameless/subscribers","subscription_url":"https://api.github.com/repos/adelbertc/frameless/subscription","commits_url":"https://api.github.com/repos/adelbertc/frameless/commits{/sha}","git_commits_url":"https://api.github.com/repos/adelbertc/frameless/git/commits{/sha}","comments_url":"https://api.github.com/repos/adelbertc/frameless/comments{/number}","issue_comment_url":"https://api.github.com/repos/adelbertc/frameless/issues/comments{/number}","contents_url":"https://api.github.com/repos/adelbertc/frameless/contents/{+path}","compare_url":"https://api.github.com/repos/adelbertc/frameless/compare/{base}...{head}","merges_url":"https://api.github.com/repos/adelbertc/frameless/merges","archive_url":"https://api.github.com/repos/adelbertc/frameless/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/adelbertc/frameless/downloads","issues_url":"https://api.github.com/repos/adelbertc/frameless/issues{/number}","pulls_url":"https://api.github.com/repos/adelbertc/frameless/pulls{/number}","milestones_url":"https://api.github.com/repos/adelbertc/frameless/milestones{/number}","notifications_url":"https://api.github.com/repos/adelbertc/frameless/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/adelbertc/frameless/labels{/name}","releases_url":"https://api.github.com/repos/adelbertc/frameless/releases{/id}","deployments_url":"https://api.github.com/repos/adelbertc/frameless/deployments","created_at":"2015-03-28T06:03:10Z","updated_at":"2016-10-23T00:02:24Z","pushed_at":"2016-10-23T10:54:28Z","git_url":"git://github.com/adelbertc/frameless.git","ssh_url":"git@github.com:adelbertc/frameless.git","clone_url":"https://github.com/adelbertc/frameless.git","svn_url":"https://github.com/adelbertc/frameless","homepage":"","size":313,"stargazers_count":109,"watchers_count":109,"language":"Scala","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":11,"mirror_url":null,"open_issues_count":14,"forks":11,"open_issues":14,"watchers":109,"default_branch":"master"}},"base":{"label":"adelbertc:master","ref":"master","sha":"84ef20d0357cd9abfd0f0ba041b60275200ed531","user":{"login":"adelbertc","id":1332980,"avatar_url":"https://avatars.githubusercontent.com/u/1332980?v=3","gravatar_id":"","url":"https://api.github.com/users/adelbertc","html_url":"https://github.com/adelbertc","followers_url":"https://api.github.com/users/adelbertc/followers","following_url":"https://api.github.com/users/adelbertc/following{/other_user}","gists_url":"https://api.github.com/users/adelbertc/gists{/gist_id}","starred_url":"https://api.github.com/users/adelbertc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adelbertc/subscriptions","organizations_url":"https://api.github.com/users/adelbertc/orgs","repos_url":"https://api.github.com/users/adelbertc/repos","events_url":"https://api.github.com/users/adelbertc/events{/privacy}","received_events_url":"https://api.github.com/users/adelbertc/received_events","type":"User","site_admin":false},"repo":{"id":33022955,"name":"frameless","full_name":"adelbertc/frameless","owner":{"login":"adelbertc","id":1332980,"avatar_url":"https://avatars.githubusercontent.com/u/1332980?v=3","gravatar_id":"","url":"https://api.github.com/users/adelbertc","html_url":"https://github.com/adelbertc","followers_url":"https://api.github.com/users/adelbertc/followers","following_url":"https://api.github.com/users/adelbertc/following{/other_user}","gists_url":"https://api.github.com/users/adelbertc/gists{/gist_id}","starred_url":"https://api.github.com/users/adelbertc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adelbertc/subscriptions","organizations_url":"https://api.github.com/users/adelbertc/orgs","repos_url":"https://api.github.com/users/adelbertc/repos","events_url":"https://api.github.com/users/adelbertc/events{/privacy}","received_events_url":"https://api.github.com/users/adelbertc/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/adelbertc/frameless","description":"Expressive types for Spark.","fork":false,"url":"https://api.github.com/repos/adelbertc/frameless","forks_url":"https://api.github.com/repos/adelbertc/frameless/forks","keys_url":"https://api.github.com/repos/adelbertc/frameless/keys{/key_id}","collaborators_url":"https://api.github.com/repos/adelbertc/frameless/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/adelbertc/frameless/teams","hooks_url":"https://api.github.com/repos/adelbertc/frameless/hooks","issue_events_url":"https://api.github.com/repos/adelbertc/frameless/issues/events{/number}","events_url":"https://api.github.com/repos/adelbertc/frameless/events","assignees_url":"https://api.github.com/repos/adelbertc/frameless/assignees{/user}","branches_url":"https://api.github.com/repos/adelbertc/frameless/branches{/branch}","tags_url":"https://api.github.com/repos/adelbertc/frameless/tags","blobs_url":"https://api.github.com/repos/adelbertc/frameless/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/adelbertc/frameless/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/adelbertc/frameless/git/refs{/sha}","trees_url":"https://api.github.com/repos/adelbertc/frameless/git/trees{/sha}","statuses_url":"https://api.github.com/repos/adelbertc/frameless/statuses/{sha}","languages_url":"https://api.github.com/repos/adelbertc/frameless/languages","stargazers_url":"https://api.github.com/repos/adelbertc/frameless/stargazers","contributors_url":"https://api.github.com/repos/adelbertc/frameless/contributors","subscribers_url":"https://api.github.com/repos/adelbertc/frameless/subscribers","subscription_url":"https://api.github.com/repos/adelbertc/frameless/subscription","commits_url":"https://api.github.com/repos/adelbertc/frameless/commits{/sha}","git_commits_url":"https://api.github.com/repos/adelbertc/frameless/git/commits{/sha}","comments_url":"https://api.github.com/repos/adelbertc/frameless/comments{/number}","issue_comment_url":"https://api.github.com/repos/adelbertc/frameless/issues/comments{/number}","contents_url":"https://api.github.com/repos/adelbertc/frameless/contents/{+path}","compare_url":"https://api.github.com/repos/adelbertc/frameless/compare/{base}...{head}","merges_url":"https://api.github.com/repos/adelbertc/frameless/merges","archive_url":"https://api.github.com/repos/adelbertc/frameless/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/adelbertc/frameless/downloads","issues_url":"https://api.github.com/repos/adelbertc/frameless/issues{/number}","pulls_url":"https://api.github.com/repos/adelbertc/frameless/pulls{/number}","milestones_url":"https://api.github.com/repos/adelbertc/frameless/milestones{/number}","notifications_url":"https://api.github.com/repos/adelbertc/frameless/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/adelbertc/frameless/labels{/name}","releases_url":"https://api.github.com/repos/adelbertc/frameless/releases{/id}","deployments_url":"https://api.github.com/repos/adelbertc/frameless/deployments","created_at":"2015-03-28T06:03:10Z","updated_at":"2016-10-23T00:02:24Z","pushed_at":"2016-10-23T10:54:28Z","git_url":"git://github.com/adelbertc/frameless.git","ssh_url":"git@github.com:adelbertc/frameless.git","clone_url":"https://github.com/adelbertc/frameless.git","svn_url":"https://github.com/adelbertc/frameless","homepage":"","size":313,"stargazers_count":109,"watchers_count":109,"language":"Scala","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":11,"mirror_url":null,"open_issues_count":14,"forks":11,"open_issues":14,"watchers":109,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/adelbertc/frameless/pulls/57"},"html":{"href":"https://github.com/adelbertc/frameless/pull/57"},"issue":{"href":"https://api.github.com/repos/adelbertc/frameless/issues/57"},"comments":{"href":"https://api.github.com/repos/adelbertc/frameless/issues/57/comments"},"review_comments":{"href":"https://api.github.com/repos/adelbertc/frameless/pulls/57/comments"},"review_comment":{"href":"https://api.github.com/repos/adelbertc/frameless/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/adelbertc/frameless/pulls/57/commits"},"statuses":{"href":"https://api.github.com/repos/adelbertc/frameless/statuses/1e728288b22033d39ad730ddb3b7f21b17edc086"}}}}
{"actor":{"display_login":"kanterov"}}