{"action":"created","issue":{"url":"https://api.github.com/repos/gambit/gambit/issues/202","repository_url":"https://api.github.com/repos/gambit/gambit","labels_url":"https://api.github.com/repos/gambit/gambit/issues/202/labels{/name}","comments_url":"https://api.github.com/repos/gambit/gambit/issues/202/comments","events_url":"https://api.github.com/repos/gambit/gambit/issues/202/events","html_url":"https://github.com/gambit/gambit/issues/202","id":160545219,"number":202,"title":"Bug in '##fx*?' primitive ?","user":{"login":"bsaleil","id":1408534,"avatar_url":"https://avatars.githubusercontent.com/u/1408534?v=3","gravatar_id":"","url":"https://api.github.com/users/bsaleil","html_url":"https://github.com/bsaleil","followers_url":"https://api.github.com/users/bsaleil/followers","following_url":"https://api.github.com/users/bsaleil/following{/other_user}","gists_url":"https://api.github.com/users/bsaleil/gists{/gist_id}","starred_url":"https://api.github.com/users/bsaleil/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bsaleil/subscriptions","organizations_url":"https://api.github.com/users/bsaleil/orgs","repos_url":"https://api.github.com/users/bsaleil/repos","events_url":"https://api.github.com/users/bsaleil/events{/privacy}","received_events_url":"https://api.github.com/users/bsaleil/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-06-15T23:17:27Z","updated_at":"2016-06-15T23:22:58Z","closed_at":"2016-06-15T23:22:58Z","body":"gsi trace:\r\n\r\n\r\n`> (##fx* 0 1)`\r\n`0`\r\n`> (##fx* 1 0)`\r\n`0`\r\n`> (##fx*? 0 1)`\r\n`0`\r\n`> (##fx*? 1 0)`\r\n`Floating point exception`\r\n\r\nThe same behavior appears each time the right operand is 0."},"comment":{"url":"https://api.github.com/repos/gambit/gambit/issues/comments/226348433","html_url":"https://github.com/gambit/gambit/issues/202#issuecomment-226348433","issue_url":"https://api.github.com/repos/gambit/gambit/issues/202","id":226348433,"user":{"login":"gambiteer","id":1544698,"avatar_url":"https://avatars.githubusercontent.com/u/1544698?v=3","gravatar_id":"","url":"https://api.github.com/users/gambiteer","html_url":"https://github.com/gambiteer","followers_url":"https://api.github.com/users/gambiteer/followers","following_url":"https://api.github.com/users/gambiteer/following{/other_user}","gists_url":"https://api.github.com/users/gambiteer/gists{/gist_id}","starred_url":"https://api.github.com/users/gambiteer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gambiteer/subscriptions","organizations_url":"https://api.github.com/users/gambiteer/orgs","repos_url":"https://api.github.com/users/gambiteer/repos","events_url":"https://api.github.com/users/gambiteer/events{/privacy}","received_events_url":"https://api.github.com/users/gambiteer/received_events","type":"User","site_admin":false},"created_at":"2016-06-15T23:22:58Z","updated_at":"2016-06-15T23:22:58Z","body":"Not a bug.  \"Don't do that.\"  ##fx* is an internal primitive that assumes that its right-hand argument is not zero.\r\n\r\nFor example, this code:\r\n```\r\n(define (times a b)\r\n  (* a b))\r\n```\r\nis expanded by the compiler to\r\n```\r\nheine:~/lang/scheme/Arrays/srfi3/Binf-8> gsc -expansion crap\r\nExpansion:\r\n\r\n(define times\r\n  (lambda (a b)\r\n    (if ('#<procedure #2 ##eq?> * '#<procedure #3 *>)\r\n        (if (and ('#<procedure #4 ##fixnum?> b)\r\n                 ('#<procedure #4 ##fixnum?> a))\r\n            (if ('#<procedure #5 ##eqv?> b 0)\r\n                0\r\n                (let ((temp.2 (if ('#<procedure #5 ##eqv?> b -1)\r\n                                  ('#<procedure #6 ##fx-?> a)\r\n                                  ('#<procedure #7 ##fx*?> a b))))\r\n                  (if temp.2 temp.2 (* a b))))\r\n            (if (and ('#<procedure #8 ##flonum?> b)\r\n                     ('#<procedure #8 ##flonum?> a))\r\n                ('#<procedure #9 ##fl*> a b)\r\n                (* a b)))\r\n        (* a b))))\r\n```"}}
{"actor":{"display_login":"gambiteer"}}