{"action":"created","issue":{"url":"https://api.github.com/repos/positron-lang/spec/issues/11","labels_url":"https://api.github.com/repos/positron-lang/spec/issues/11/labels{/name}","comments_url":"https://api.github.com/repos/positron-lang/spec/issues/11/comments","events_url":"https://api.github.com/repos/positron-lang/spec/issues/11/events","html_url":"https://github.com/positron-lang/spec/issues/11","id":69354689,"number":11,"title":"Optionals, nil, null and 0","user":{"login":"vinivendra","id":1630012,"avatar_url":"https://avatars.githubusercontent.com/u/1630012?v=3","gravatar_id":"","url":"https://api.github.com/users/vinivendra","html_url":"https://github.com/vinivendra","followers_url":"https://api.github.com/users/vinivendra/followers","following_url":"https://api.github.com/users/vinivendra/following{/other_user}","gists_url":"https://api.github.com/users/vinivendra/gists{/gist_id}","starred_url":"https://api.github.com/users/vinivendra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vinivendra/subscriptions","organizations_url":"https://api.github.com/users/vinivendra/orgs","repos_url":"https://api.github.com/users/vinivendra/repos","events_url":"https://api.github.com/users/vinivendra/events{/privacy}","received_events_url":"https://api.github.com/users/vinivendra/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/positron-lang/spec/labels/feature","name":"feature","color":"006b75"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":64,"created_at":"2015-04-18T22:27:17Z","updated_at":"2015-05-21T01:52:41Z","closed_at":null,"body":"Should positron use optionals? Should there be a `nil` and/or a `null`? Should `0` be a part of this?"},"comment":{"url":"https://api.github.com/repos/positron-lang/spec/issues/comments/104092278","html_url":"https://github.com/positron-lang/spec/issues/11#issuecomment-104092278","issue_url":"https://api.github.com/repos/positron-lang/spec/issues/11","id":104092278,"user":{"login":"vinivendra","id":1630012,"avatar_url":"https://avatars.githubusercontent.com/u/1630012?v=3","gravatar_id":"","url":"https://api.github.com/users/vinivendra","html_url":"https://github.com/vinivendra","followers_url":"https://api.github.com/users/vinivendra/followers","following_url":"https://api.github.com/users/vinivendra/following{/other_user}","gists_url":"https://api.github.com/users/vinivendra/gists{/gist_id}","starred_url":"https://api.github.com/users/vinivendra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vinivendra/subscriptions","organizations_url":"https://api.github.com/users/vinivendra/orgs","repos_url":"https://api.github.com/users/vinivendra/repos","events_url":"https://api.github.com/users/vinivendra/events{/privacy}","received_events_url":"https://api.github.com/users/vinivendra/received_events","type":"User","site_admin":false},"created_at":"2015-05-21T01:52:41Z","updated_at":"2015-05-21T01:52:41Z","body":"I like it, but to me the idea would be that all logic operators would be named methods, including `not`. That would mean `&&` and `||` would be disallowed, and we would use only `and`, `or` and `not`, leaving `!` to use exclusively in a `try` situation.\r\n\r\nI hadn't event thought about using it in conjunction with other operators, but I think that worked out pretty well!\r\n\r\n@igorbonadio, I get your concern about ambiguity, but I think we shouldn't stand in our own way in this case. While I understand your reasons behind supporting\r\n````ruby\r\ncontent.updateMyUI() ! nil\r\n````\r\nI think it can be a bit confusing. The purpose of this line of code is just to update the UI; by adding just `!`, it's a discrete operator that says we allow `content` to be `nil`, but it's something that doesn't get in the way of the semantics. If we say `! nil`, I fear we put too much emphasis on the return value - which should just be ignored here, for better understanding of the code. Basically, I fear it might just damage clarity."}}