{"action":"created","issue":{"url":"https://api.github.com/repos/AvailLang/Avail/issues/92","labels_url":"https://api.github.com/repos/AvailLang/Avail/issues/92/labels{/name}","comments_url":"https://api.github.com/repos/AvailLang/Avail/issues/92/comments","events_url":"https://api.github.com/repos/AvailLang/Avail/issues/92/events","html_url":"https://github.com/AvailLang/Avail/issues/92","id":95861559,"number":92,"title":"Introduce tuple iteration macro","user":{"login":"toddATavail","id":7750049,"avatar_url":"https://avatars.githubusercontent.com/u/7750049?v=3","gravatar_id":"","url":"https://api.github.com/users/toddATavail","html_url":"https://github.com/toddATavail","followers_url":"https://api.github.com/users/toddATavail/followers","following_url":"https://api.github.com/users/toddATavail/following{/other_user}","gists_url":"https://api.github.com/users/toddATavail/gists{/gist_id}","starred_url":"https://api.github.com/users/toddATavail/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/toddATavail/subscriptions","organizations_url":"https://api.github.com/users/toddATavail/orgs","repos_url":"https://api.github.com/users/toddATavail/repos","events_url":"https://api.github.com/users/toddATavail/events{/privacy}","received_events_url":"https://api.github.com/users/toddATavail/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/AvailLang/Avail/labels/C:%20System%20Library","name":"C: System Library","color":"0000aa"},{"url":"https://api.github.com/repos/AvailLang/Avail/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/AvailLang/Avail/labels/P:%20major","name":"P: major","color":"f6f6f6"}],"state":"open","locked":false,"assignee":{"login":"toddATavail","id":7750049,"avatar_url":"https://avatars.githubusercontent.com/u/7750049?v=3","gravatar_id":"","url":"https://api.github.com/users/toddATavail","html_url":"https://github.com/toddATavail","followers_url":"https://api.github.com/users/toddATavail/followers","following_url":"https://api.github.com/users/toddATavail/following{/other_user}","gists_url":"https://api.github.com/users/toddATavail/gists{/gist_id}","starred_url":"https://api.github.com/users/toddATavail/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/toddATavail/subscriptions","organizations_url":"https://api.github.com/users/toddATavail/orgs","repos_url":"https://api.github.com/users/toddATavail/repos","events_url":"https://api.github.com/users/toddATavail/events{/privacy}","received_events_url":"https://api.github.com/users/toddATavail/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/AvailLang/Avail/milestones/3","html_url":"https://github.com/AvailLang/Avail/milestones/1.0.0%20DEV%202015-04-28","labels_url":"https://api.github.com/repos/AvailLang/Avail/milestones/3/labels","id":1214398,"number":3,"title":"1.0.0 DEV 2015-04-28","description":"This is the second public development milestone of the Avail programming language. It is expected to include:\r\n\r\n* File I/O (#36).\r\n* Macros (#8).\r\n* A rebuild of the core Avail syntax in terms of macros (#99, #100, #101, #102, #103, #104, #105, #106, #107, #108, #109, #110, #111, #112, #113).\r\n* Message metacharacter for variable quoting. (#25)\r\n* Reordering of arguments for renamed messages. (#6)\r\n* Direct, non-reflective support for super calls. (#28)\r\n* Correct handling of reads of unassigned variables. (#42)\r\n* Correct handling of failed run-time type strengthenings. (#43)\r\n* Correct handling of failed message dispatches. (#44)\r\n* Complete support for \"observerless\". (#86)\r\n* Faster loading of binary modules.\r\n* Compiler warnings.\r\n* Resolve self-sufficiency issues with Stacks generation. (#61, #65)\r\n* Resolve back-button navigation issues with Stacks. (#63)\r\n","creator":{"login":"toddATavail","id":7750049,"avatar_url":"https://avatars.githubusercontent.com/u/7750049?v=3","gravatar_id":"","url":"https://api.github.com/users/toddATavail","html_url":"https://github.com/toddATavail","followers_url":"https://api.github.com/users/toddATavail/followers","following_url":"https://api.github.com/users/toddATavail/following{/other_user}","gists_url":"https://api.github.com/users/toddATavail/gists{/gist_id}","starred_url":"https://api.github.com/users/toddATavail/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/toddATavail/subscriptions","organizations_url":"https://api.github.com/users/toddATavail/orgs","repos_url":"https://api.github.com/users/toddATavail/repos","events_url":"https://api.github.com/users/toddATavail/events{/privacy}","received_events_url":"https://api.github.com/users/toddATavail/received_events","type":"User","site_admin":false},"open_issues":3,"closed_issues":9,"state":"open","created_at":"2015-07-18T21:27:10Z","updated_at":"2015-07-18T21:36:19Z","due_on":"2015-04-29T02:00:00Z","closed_at":null},"comments":0,"created_at":"2015-07-18T21:36:19Z","updated_at":"2015-07-18T21:36:20Z","closed_at":null,"body":"**Reported by todd on 8 Mar 2015 17:45 UTC**\nA macro should be introduced for iterating through the elements of a tuple. The macro should accept a zero-argument block which specifies the body. The loop variable is declared outside of the macro, and its type is inferred to be strongest possible for the supplied tuple.\r\n\r\nSo instead of writing this:\r\n\r\n```\r\nFor each of aTuple do\r\n[: any\r\n|\r\n\tPrint: elem ++ \"\\n\";\r\n](\r\n\telem);\r\n```\r\n\r\nOne could write:\r\n\r\n```\r\nFor each elem of aTuple do\r\n[elem ++ \"\\n\";\r\n](\r\n\tPrint:);\r\n```\r\n\r\nThe macro should produce a send of \"For each of_do_\" [[](tuple,)] with appropriate arguments.\r\n\r\nThe library should be updated to use the new macro wherever possible."},"comment":{"url":"https://api.github.com/repos/AvailLang/Avail/issues/comments/122598391","html_url":"https://github.com/AvailLang/Avail/issues/92#issuecomment-122598391","issue_url":"https://api.github.com/repos/AvailLang/Avail/issues/92","id":122598391,"user":{"login":"toddATavail","id":7750049,"avatar_url":"https://avatars.githubusercontent.com/u/7750049?v=3","gravatar_id":"","url":"https://api.github.com/users/toddATavail","html_url":"https://github.com/toddATavail","followers_url":"https://api.github.com/users/toddATavail/followers","following_url":"https://api.github.com/users/toddATavail/following{/other_user}","gists_url":"https://api.github.com/users/toddATavail/gists{/gist_id}","starred_url":"https://api.github.com/users/toddATavail/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/toddATavail/subscriptions","organizations_url":"https://api.github.com/users/toddATavail/orgs","repos_url":"https://api.github.com/users/toddATavail/repos","events_url":"https://api.github.com/users/toddATavail/events{/privacy}","received_events_url":"https://api.github.com/users/toddATavail/received_events","type":"User","site_admin":false},"created_at":"2015-07-18T21:36:20Z","updated_at":"2015-07-18T21:36:20Z","body":"**Modified by todd on 8 Mar 2015 17:45 UTC**"}}