{"issue":{"state":"open","pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"milestone":null,"user":{"avatar_url":"https://secure.gravatar.com/avatar/d1588981e0248aaa0174906c99df180e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1588981e0248aaa0174906c99df180e","url":"https://api.github.com/users/petdance","login":"petdance","id":41100},"assignee":null,"updated_at":"2011-11-01T05:29:47Z","labels":[{"name":"bug","color":"AF3AC4","url":"https://api.github.com/repos/petdance/scratch/labels/bug"},{"name":"core","color":"683FB1","url":"https://api.github.com/repos/petdance/scratch/labels/core"},{"name":"Pri-normal","color":"5B4E39","url":"https://api.github.com/repos/petdance/scratch/labels/Pri-normal"},{"name":"Sev-medium","color":"F9ECA1","url":"https://api.github.com/repos/petdance/scratch/labels/Sev-medium"}],"comments":0,"closed_at":null,"url":"https://api.github.com/repos/petdance/scratch/issues/82","body":"This code in Close:\r\n{{{\r\n   ok(!(o.flat()), \"flat: New object (undef flat) is false\");\r\n}}}\r\ncompiles to:\r\n{{{\r\n    $P51 = o.\"flat\"()\r\n    not $P52, $P51\r\n    \"ok\"($P52, \"flat: New object (undef flat) is false\")\r\n}}}\r\nAnd then fails, with:\r\n{{{\r\nlogical_not() not implemented in class 'Undef'\r\n}}}\r\n\r\nGrepping for logical_not in *.pmc gives back only scalar.pmc.\r\n \r\n  * While I know that Perl's Undef has 0/nil/false/\"\" behavior, is that right for Parrot? (To what extent is Undef just a safe Null?)\r\n \r\n  * Should there even be a 'not' opcode? We've got isfalse.\r\n\r\n  * Should other pmc types be implementing logical_not? \r\n\r\n  * Should Undef be a subclass of scalar, and so inherit?\r\n\r\nTrac ID #816","html_url":"https://github.com/petdance/scratch/issues/82","title":"PMC 'Undef' does not support logical_not","number":82,"id":2105737,"created_at":"2011-11-01T05:29:47Z"},"action":"opened"}