{"action":"created","issue":{"url":"https://api.github.com/repos/IoLanguage/io/issues/405","repository_url":"https://api.github.com/repos/IoLanguage/io","labels_url":"https://api.github.com/repos/IoLanguage/io/issues/405/labels{/name}","comments_url":"https://api.github.com/repos/IoLanguage/io/issues/405/comments","events_url":"https://api.github.com/repos/IoLanguage/io/issues/405/events","html_url":"https://github.com/IoLanguage/io/issues/405","id":322961435,"number":405,"title":"Unexpected behavior with a message without selector or symbol.","user":{"login":"migueltk","id":6094037,"avatar_url":"https://avatars3.githubusercontent.com/u/6094037?v=4","gravatar_id":"","url":"https://api.github.com/users/migueltk","html_url":"https://github.com/migueltk","followers_url":"https://api.github.com/users/migueltk/followers","following_url":"https://api.github.com/users/migueltk/following{/other_user}","gists_url":"https://api.github.com/users/migueltk/gists{/gist_id}","starred_url":"https://api.github.com/users/migueltk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/migueltk/subscriptions","organizations_url":"https://api.github.com/users/migueltk/orgs","repos_url":"https://api.github.com/users/migueltk/repos","events_url":"https://api.github.com/users/migueltk/events{/privacy}","received_events_url":"https://api.github.com/users/migueltk/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-05-14T20:06:46Z","updated_at":"2018-05-29T17:03:16Z","closed_at":"2018-05-28T19:19:17Z","author_association":"NONE","body":"I use the version '20110905' of Io in Ubuntu 18.04. In interactive mode when I evaluate;\r\n\r\n```\r\nIo> 4\r\n==> 4\r\n```\r\n\r\nThe result is the expected '4', I understand that when 'Io' receives a message where the symbol is a literal, it simply returns this as a result. Another example;\r\n\r\n```\r\nIo> 4 5\r\n==> 5\r\n```\r\n\r\nOR\r\n\r\n```\r\nIo> \"hello\"\r\n==> hello\r\n```\r\n\r\nWhen I enter the expression (4), I understand that 'Io' receives a message without a selector, the message only has one argument. 'Io' evaluates the expression in parentheses and returns the result.\r\n\r\n```\r\nIo> (4)\r\n==> 4\r\n```\r\n\r\nThe problem, I do not understand the evaluation of the expression '4 (5)', 'Io' returns 4;\r\n\r\n```\r\nIo> 4 (5)\r\n==> 4\r\n```\r\n\r\nI understand that it should return '5', first evaluate the literal 4 and return this as the receiver of the rest of the message, 4 as the receiver receives the message (5) and should return the evaluation of the expression in parentheses whose result is 5."},"comment":{"url":"https://api.github.com/repos/IoLanguage/io/issues/comments/392855681","html_url":"https://github.com/IoLanguage/io/issues/405#issuecomment-392855681","issue_url":"https://api.github.com/repos/IoLanguage/io/issues/405","id":392855681,"user":{"login":"migueltk","id":6094037,"avatar_url":"https://avatars3.githubusercontent.com/u/6094037?v=4","gravatar_id":"","url":"https://api.github.com/users/migueltk","html_url":"https://github.com/migueltk","followers_url":"https://api.github.com/users/migueltk/followers","following_url":"https://api.github.com/users/migueltk/following{/other_user}","gists_url":"https://api.github.com/users/migueltk/gists{/gist_id}","starred_url":"https://api.github.com/users/migueltk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/migueltk/subscriptions","organizations_url":"https://api.github.com/users/migueltk/orgs","repos_url":"https://api.github.com/users/migueltk/repos","events_url":"https://api.github.com/users/migueltk/events{/privacy}","received_events_url":"https://api.github.com/users/migueltk/received_events","type":"User","site_admin":false},"created_at":"2018-05-29T17:03:16Z","updated_at":"2018-05-29T17:03:16Z","author_association":"NONE","body":"Hello Steve, we are all busy, thanks for answering.\r\n\r\nJust a couple of questions \"I hope I'm not too insistent\";\r\n\r\n**1**. Io accepts the message;\r\n\r\n```\r\nIo> (2 + 3)\r\n==> 5\r\n```\r\nbut I observe the grammar;\r\n\r\n```\r\nexpression :: = {message | sctpad}\r\nmessage :: = [wcpad] symbol [scpad] [arguments]\r\narguments :: = Open [argument [{Comma argument}]] Close\r\nargument :: = [wcpad] expression [wcpad]\r\n```\r\nfor this to be possible, should not 'symbol' be optional ?, so that;\r\n\r\n`message :: = [wcpad] [symbol] [scpad] [arguments]`\r\n\r\n**2**. Io accepts and responds;\r\n\r\n```\r\nIo> (2 + 3, 4-1)\r\n==> 5\r\n```\r\nI understand that Object_evalArg () only evaluates the first argument, is that so? What's the point of this? I dare to suggest this other grammar;\r\n\r\n```\r\nexpression :: = {message | sctpad}\r\nmessage :: = [wcpad] Open expression Close | symbol [scpad] [arguments]\r\narguments :: = Open [argument [{Comma argument}]] Close\r\nargument :: = [wcpad] expression [wcpad]\r\n```\r\n\r\nthat is, (\"(\" expression \")\" | symbol [arguments]), where the parentheses group alternatives."}}
{"actor":{"display_login":"migueltk"}}