{"action":"created","issue":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/13785","labels_url":"https://api.github.com/repos/JuliaLang/julia/issues/13785/labels{/name}","comments_url":"https://api.github.com/repos/JuliaLang/julia/issues/13785/comments","events_url":"https://api.github.com/repos/JuliaLang/julia/issues/13785/events","html_url":"https://github.com/JuliaLang/julia/issues/13785","id":113490052,"number":13785,"title":"Implicit multiplication with an operator symbol does not work","user":{"login":"dpsanders","id":191822,"avatar_url":"https://avatars.githubusercontent.com/u/191822?v=3","gravatar_id":"","url":"https://api.github.com/users/dpsanders","html_url":"https://github.com/dpsanders","followers_url":"https://api.github.com/users/dpsanders/followers","following_url":"https://api.github.com/users/dpsanders/following{/other_user}","gists_url":"https://api.github.com/users/dpsanders/gists{/gist_id}","starred_url":"https://api.github.com/users/dpsanders/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dpsanders/subscriptions","organizations_url":"https://api.github.com/users/dpsanders/orgs","repos_url":"https://api.github.com/users/dpsanders/repos","events_url":"https://api.github.com/users/dpsanders/events{/privacy}","received_events_url":"https://api.github.com/users/dpsanders/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/JuliaLang/julia/labels/parser","name":"parser","color":"bfdadc"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-10-27T02:10:43Z","updated_at":"2015-10-27T03:55:33Z","closed_at":"2015-10-27T03:55:33Z","body":"Implicit multiplication\r\n```julia\r\n\r\nimport Base.*\r\ntype DownArrow end\r\n\r\n↓ = DownArrow()\r\n*(n, x::DownArrow) = \"product of $n and DownArrow\"\r\n```\r\nTyping `2*↓` works, and we get\r\n```julia\r\njulia> parse(\"2*↓\")\r\n:(2↓)\r\n\r\njulia> dump(parse(\"2*↓\"))\r\nExpr \r\n  head: Symbol call\r\n  args: Array(Any,(3,))\r\n    1: Symbol *\r\n    2: Int64 2\r\n    3: Symbol ↓\r\n  typ: Any\r\n```\r\nHowever,  `2↓` is an unfinished expression:\r\n```julia\r\njulia> dump(parse(\"2↓\"))\r\nExpr \r\n  head: Symbol incomplete\r\n  args: Array(Any,(1,))\r\n    1: ASCIIString \"incomplete: premature end of input\"\r\n  typ: Any\r\n```\r\nHowever, `α = DownArrow()` allows `2α` without problems.\r\n\r\n[This is not just idle -- we are looking for good syntax for unums with @alanedelman.]"},"comment":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/comments/151365264","html_url":"https://github.com/JuliaLang/julia/issues/13785#issuecomment-151365264","issue_url":"https://api.github.com/repos/JuliaLang/julia/issues/13785","id":151365264,"user":{"login":"jakebolewski","id":1157798,"avatar_url":"https://avatars.githubusercontent.com/u/1157798?v=3","gravatar_id":"","url":"https://api.github.com/users/jakebolewski","html_url":"https://github.com/jakebolewski","followers_url":"https://api.github.com/users/jakebolewski/followers","following_url":"https://api.github.com/users/jakebolewski/following{/other_user}","gists_url":"https://api.github.com/users/jakebolewski/gists{/gist_id}","starred_url":"https://api.github.com/users/jakebolewski/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jakebolewski/subscriptions","organizations_url":"https://api.github.com/users/jakebolewski/orgs","repos_url":"https://api.github.com/users/jakebolewski/repos","events_url":"https://api.github.com/users/jakebolewski/events{/privacy}","received_events_url":"https://api.github.com/users/jakebolewski/received_events","type":"User","site_admin":false},"created_at":"2015-10-27T03:55:33Z","updated_at":"2015-10-27T03:55:33Z","body":"`↓` can be a valid variable name, just not used in a juxtaposed position.  See `juxtapose?` function in julia-parser.scm to see which tokens (symbols) cannot be used in a juxtaposed position."}}