{"action":"created","issue":{"url":"https://api.github.com/repos/evincarofautumn/kitten/issues/115","repository_url":"https://api.github.com/repos/evincarofautumn/kitten","labels_url":"https://api.github.com/repos/evincarofautumn/kitten/issues/115/labels{/name}","comments_url":"https://api.github.com/repos/evincarofautumn/kitten/issues/115/comments","events_url":"https://api.github.com/repos/evincarofautumn/kitten/issues/115/events","html_url":"https://github.com/evincarofautumn/kitten/issues/115","id":23316523,"number":115,"title":"Locals bound in REPL should be accessible","user":{"login":"kchaloux","id":3039652,"avatar_url":"https://avatars.githubusercontent.com/u/3039652?v=3","gravatar_id":"","url":"https://api.github.com/users/kchaloux","html_url":"https://github.com/kchaloux","followers_url":"https://api.github.com/users/kchaloux/followers","following_url":"https://api.github.com/users/kchaloux/following{/other_user}","gists_url":"https://api.github.com/users/kchaloux/gists{/gist_id}","starred_url":"https://api.github.com/users/kchaloux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kchaloux/subscriptions","organizations_url":"https://api.github.com/users/kchaloux/orgs","repos_url":"https://api.github.com/users/kchaloux/repos","events_url":"https://api.github.com/users/kchaloux/events{/privacy}","received_events_url":"https://api.github.com/users/kchaloux/received_events","type":"User","site_admin":false},"labels":[{"id":39731949,"url":"https://api.github.com/repos/evincarofautumn/kitten/labels/Minor%20Bug","name":"Minor Bug","color":"f7c6c7","default":false}],"state":"open","locked":false,"assignee":{"login":"kchaloux","id":3039652,"avatar_url":"https://avatars.githubusercontent.com/u/3039652?v=3","gravatar_id":"","url":"https://api.github.com/users/kchaloux","html_url":"https://github.com/kchaloux","followers_url":"https://api.github.com/users/kchaloux/followers","following_url":"https://api.github.com/users/kchaloux/following{/other_user}","gists_url":"https://api.github.com/users/kchaloux/gists{/gist_id}","starred_url":"https://api.github.com/users/kchaloux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kchaloux/subscriptions","organizations_url":"https://api.github.com/users/kchaloux/orgs","repos_url":"https://api.github.com/users/kchaloux/repos","events_url":"https://api.github.com/users/kchaloux/events{/privacy}","received_events_url":"https://api.github.com/users/kchaloux/received_events","type":"User","site_admin":false},"assignees":[{"login":"kchaloux","id":3039652,"avatar_url":"https://avatars.githubusercontent.com/u/3039652?v=3","gravatar_id":"","url":"https://api.github.com/users/kchaloux","html_url":"https://github.com/kchaloux","followers_url":"https://api.github.com/users/kchaloux/followers","following_url":"https://api.github.com/users/kchaloux/following{/other_user}","gists_url":"https://api.github.com/users/kchaloux/gists{/gist_id}","starred_url":"https://api.github.com/users/kchaloux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kchaloux/subscriptions","organizations_url":"https://api.github.com/users/kchaloux/orgs","repos_url":"https://api.github.com/users/kchaloux/repos","events_url":"https://api.github.com/users/kchaloux/events{/privacy}","received_events_url":"https://api.github.com/users/kchaloux/received_events","type":"User","site_admin":false}],"milestone":null,"comments":9,"created_at":"2013-11-26T14:17:20Z","updated_at":"2016-11-06T09:41:19Z","closed_at":null,"body":"The REPL currently supports semantics for binding locals to variable names:\n\n```\n>>> 100 -> x\n```\n\nIn normal code, this would be accessible within functions or pushable directly onto the stack as desired. In the REPL, it is inaccessible:\n\n```\n>>> 100 -> x\n>>> x\nREPL:2:1: error: undefined word 'x'\n>>>\n```\n\nBound local variables that exist outside of function scope should be maintained in memory and be able to be pushed back onto the stack when desired. The following input should ultimately be valid:\n\n```\n>>> 100 -> x\n>>> x\n\n----\n100\n>>>\n```\n"},"comment":{"url":"https://api.github.com/repos/evincarofautumn/kitten/issues/comments/258667527","html_url":"https://github.com/evincarofautumn/kitten/issues/115#issuecomment-258667527","issue_url":"https://api.github.com/repos/evincarofautumn/kitten/issues/115","id":258667527,"user":{"login":"evincarofautumn","id":729779,"avatar_url":"https://avatars.githubusercontent.com/u/729779?v=3","gravatar_id":"","url":"https://api.github.com/users/evincarofautumn","html_url":"https://github.com/evincarofautumn","followers_url":"https://api.github.com/users/evincarofautumn/followers","following_url":"https://api.github.com/users/evincarofautumn/following{/other_user}","gists_url":"https://api.github.com/users/evincarofautumn/gists{/gist_id}","starred_url":"https://api.github.com/users/evincarofautumn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/evincarofautumn/subscriptions","organizations_url":"https://api.github.com/users/evincarofautumn/orgs","repos_url":"https://api.github.com/users/evincarofautumn/repos","events_url":"https://api.github.com/users/evincarofautumn/events{/privacy}","received_events_url":"https://api.github.com/users/evincarofautumn/received_events","type":"User","site_admin":false},"created_at":"2016-11-06T09:41:19Z","updated_at":"2016-11-06T09:41:19Z","body":"This is semi-fixed in the new compiler. In top-level code, variable scopes can cross other top-level program elements:\r\n\r\n```\r\n\"hello\" -> x;\r\ndefine f (…) { … }\r\nx say\r\n```\r\n\r\nUsing `Kitten.Parse.composeUnderLambda`. This is not yet working in the REPL because `Kitten.Enter.defineWord` needs to be updated.\r\n"}}
{"actor":{"display_login":"evincarofautumn"}}