{"action":"created","issue":{"url":"https://api.github.com/repos/Mazdaywik/simple-refal/issues/19","labels_url":"https://api.github.com/repos/Mazdaywik/simple-refal/issues/19/labels{/name}","comments_url":"https://api.github.com/repos/Mazdaywik/simple-refal/issues/19/comments","events_url":"https://api.github.com/repos/Mazdaywik/simple-refal/issues/19/events","html_url":"https://github.com/Mazdaywik/simple-refal/issues/19","id":128429850,"number":19,"title":"Подготовить код к оптимизации результатных выражений","user":{"login":"Mazdaywik","id":1309859,"avatar_url":"https://avatars.githubusercontent.com/u/1309859?v=3","gravatar_id":"","url":"https://api.github.com/users/Mazdaywik","html_url":"https://github.com/Mazdaywik","followers_url":"https://api.github.com/users/Mazdaywik/followers","following_url":"https://api.github.com/users/Mazdaywik/following{/other_user}","gists_url":"https://api.github.com/users/Mazdaywik/gists{/gist_id}","starred_url":"https://api.github.com/users/Mazdaywik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mazdaywik/subscriptions","organizations_url":"https://api.github.com/users/Mazdaywik/orgs","repos_url":"https://api.github.com/users/Mazdaywik/repos","events_url":"https://api.github.com/users/Mazdaywik/events{/privacy}","received_events_url":"https://api.github.com/users/Mazdaywik/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/Mazdaywik/simple-refal/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/Mazdaywik/simple-refal/labels/urgent","name":"urgent","color":"eb6420"}],"state":"closed","locked":false,"assignee":{"login":"Mazdaywik","id":1309859,"avatar_url":"https://avatars.githubusercontent.com/u/1309859?v=3","gravatar_id":"","url":"https://api.github.com/users/Mazdaywik","html_url":"https://github.com/Mazdaywik","followers_url":"https://api.github.com/users/Mazdaywik/followers","following_url":"https://api.github.com/users/Mazdaywik/following{/other_user}","gists_url":"https://api.github.com/users/Mazdaywik/gists{/gist_id}","starred_url":"https://api.github.com/users/Mazdaywik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mazdaywik/subscriptions","organizations_url":"https://api.github.com/users/Mazdaywik/orgs","repos_url":"https://api.github.com/users/Mazdaywik/repos","events_url":"https://api.github.com/users/Mazdaywik/events{/privacy}","received_events_url":"https://api.github.com/users/Mazdaywik/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/Mazdaywik/simple-refal/milestones/3","html_url":"https://github.com/Mazdaywik/simple-refal/milestones/feburary%202016","labels_url":"https://api.github.com/repos/Mazdaywik/simple-refal/milestones/3/labels","id":1510198,"number":3,"title":"feburary 2016","description":"","creator":{"login":"Mazdaywik","id":1309859,"avatar_url":"https://avatars.githubusercontent.com/u/1309859?v=3","gravatar_id":"","url":"https://api.github.com/users/Mazdaywik","html_url":"https://github.com/Mazdaywik","followers_url":"https://api.github.com/users/Mazdaywik/followers","following_url":"https://api.github.com/users/Mazdaywik/following{/other_user}","gists_url":"https://api.github.com/users/Mazdaywik/gists{/gist_id}","starred_url":"https://api.github.com/users/Mazdaywik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mazdaywik/subscriptions","organizations_url":"https://api.github.com/users/Mazdaywik/orgs","repos_url":"https://api.github.com/users/Mazdaywik/repos","events_url":"https://api.github.com/users/Mazdaywik/events{/privacy}","received_events_url":"https://api.github.com/users/Mazdaywik/received_events","type":"User","site_admin":false},"open_issues":2,"closed_issues":5,"state":"open","created_at":"2016-01-16T12:09:53Z","updated_at":"2016-01-27T14:11:01Z","due_on":"2016-02-07T21:00:00Z","closed_at":null},"comments":5,"created_at":"2016-01-24T22:30:18Z","updated_at":"2016-01-27T14:11:01Z","closed_at":"2016-01-27T14:11:01Z","body":"Оптимизация результатных выражений (#16) предполагает, что должны быть команды, позволяющие манипулировать как с вновь созданными фрагментами, так и с фрагментами вызова функции для построения результатного выражения.\r\n\r\n* В режиме прямой кодогенерации мы имеем команды переноса переменных (как имеющихся в вызове, так и вновь созданных), переноса новых узлов и связывания скобок.\r\n  * Команды переноса переменных одинаково обращаются как с переменными поля зрения, так и со скопированными переменными, поскольку ссылки на те и на другие сохраняются в контексте и адресуются по индексам.\r\n  * Команды переноса новых узлов адресуют узлы, распределённые в списке свободных узлов по номеру этого распределения, при этом нумерация никак не связана с нумерацией контекста. Причина в том, что эти номера соответствуют переменным `n0`, `n1`, …, `n15`, … типа `refalrts::Iter`, объявляемым и заполняемым соответствующими командами создания объектов.\r\n  * Команды связывания скобок используют ту же нумерацию, что и команды переноса новых объектов.\r\n* В режиме интерпретации мы имеем только два сорта команд: создания и переноса, причём и те и другие не используют какую-либо адресацию (кроме команд создания и переноса переменных). Предполагается, что порядок переноса новых объектов является противоположным порядку их создания — реализация использует стек `allocs`. Команды связывания скобок в явном виде отсутствуют, поскольку связывание выполняется в ходе их создания (есть исключение: чтобы правильно провязать угловые скобки, требуется дополнительное действие на «обратном проходе» (см. #14), в этом случае создаётся специальная команда переноса).\r\n\r\n**Предлагается** создаваемые новые элементы распределять в контексте, в интерпретируемый код, соответственно, в команды создания и переноса добавить индекс в контексте, также ввести явные команды связывания скобок."},"comment":{"url":"https://api.github.com/repos/Mazdaywik/simple-refal/issues/comments/175649977","html_url":"https://github.com/Mazdaywik/simple-refal/issues/19#issuecomment-175649977","issue_url":"https://api.github.com/repos/Mazdaywik/simple-refal/issues/19","id":175649977,"user":{"login":"Mazdaywik","id":1309859,"avatar_url":"https://avatars.githubusercontent.com/u/1309859?v=3","gravatar_id":"","url":"https://api.github.com/users/Mazdaywik","html_url":"https://github.com/Mazdaywik","followers_url":"https://api.github.com/users/Mazdaywik/followers","following_url":"https://api.github.com/users/Mazdaywik/following{/other_user}","gists_url":"https://api.github.com/users/Mazdaywik/gists{/gist_id}","starred_url":"https://api.github.com/users/Mazdaywik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mazdaywik/subscriptions","organizations_url":"https://api.github.com/users/Mazdaywik/orgs","repos_url":"https://api.github.com/users/Mazdaywik/repos","events_url":"https://api.github.com/users/Mazdaywik/events{/privacy}","received_events_url":"https://api.github.com/users/Mazdaywik/received_events","type":"User","site_admin":false},"created_at":"2016-01-27T14:11:01Z","updated_at":"2016-01-27T14:11:01Z","body":"Всё, что требовалось сделать в рамках текущей задачи, сделано. Все последующие изменения следует делать уже в рамках основного исследования #16."}}