{"action":"opened","issue":{"url":"https://api.github.com/repos/newca12/gapt/issues/11","labels_url":"https://api.github.com/repos/newca12/gapt/issues/11/labels{/name}","comments_url":"https://api.github.com/repos/newca12/gapt/issues/11/comments","events_url":"https://api.github.com/repos/newca12/gapt/issues/11/events","html_url":"https://github.com/newca12/gapt/issues/11","id":55542953,"number":11,"title":"Parsing of Types","user":{"login":"newca12","id":543542,"avatar_url":"https://avatars.githubusercontent.com/u/543542?v=3","gravatar_id":"","url":"https://api.github.com/users/newca12","html_url":"https://github.com/newca12","followers_url":"https://api.github.com/users/newca12/followers","following_url":"https://api.github.com/users/newca12/following{/other_user}","gists_url":"https://api.github.com/users/newca12/gists{/gist_id}","starred_url":"https://api.github.com/users/newca12/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/newca12/subscriptions","organizations_url":"https://api.github.com/users/newca12/orgs","repos_url":"https://api.github.com/users/newca12/repos","events_url":"https://api.github.com/users/newca12/events{/privacy}","received_events_url":"https://api.github.com/users/newca12/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/newca12/gapt/labels/2%E2%80%935%20stars","name":"2–5 stars","color":"FFFFFF"},{"url":"https://api.github.com/repos/newca12/gapt/labels/enhancement","name":"enhancement","color":"FFFFFF"},{"url":"https://api.github.com/repos/newca12/gapt/labels/imported","name":"imported","color":"FFFFFF"},{"url":"https://api.github.com/repos/newca12/gapt/labels/Priority-Low","name":"Priority-Low","color":"FFFFFF"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-01-26T21:52:26Z","updated_at":"2015-01-26T21:52:26Z","closed_at":null,"body":"_From [bruno...@gmail.com](https://code.google.com/u/105016684496602932564/) on October 05, 2009 23:56:29_\n\nRight now, the parsing of arrow types accepts two variants:  \r\n\"(i->o)\" and \"(i -> o)\"\r\n\r\nFor uniformity reasons it would be better if only the second variant were \r\naccepted.\r\n\r\nHowever, Scala's combinator parsing doesn't let me define a parser that \r\nwill accept only the second variant.\r\n\r\nThe parser is currently defined like this:\r\n\r\ndef arrowType: Parser[TA] = \"(\"~> Type~\"->\"~Type \\<~\")\" ^^ {case in ~ \"->\" ~ \r\nout => ->(in,out)}\r\n\r\nAnd if I changed it to:\r\n\r\ndef arrowType: Parser[TA] = \"(\"~> Type~\" -> \"~Type \\<~\")\" ^^ {case in ~ \" -> \r\n\" ~ out => ->(in,out)}\r\n\r\nThen it does not accept any variant anymore...\n\n_Original issue: http://code.google.com/p/gapt/issues/detail?id=11_"}}