{"action":"created","issue":{"url":"https://api.github.com/repos/smfoote/tornado/issues/93","labels_url":"https://api.github.com/repos/smfoote/tornado/issues/93/labels{/name}","comments_url":"https://api.github.com/repos/smfoote/tornado/issues/93/comments","events_url":"https://api.github.com/repos/smfoote/tornado/issues/93/events","html_url":"https://github.com/smfoote/tornado/issues/93","id":90437982,"number":93,"title":"Spec for Helper and other language extensions for compiler authors","user":{"login":"jimmyhchan","id":718471,"avatar_url":"https://avatars.githubusercontent.com/u/718471?v=3","gravatar_id":"","url":"https://api.github.com/users/jimmyhchan","html_url":"https://github.com/jimmyhchan","followers_url":"https://api.github.com/users/jimmyhchan/followers","following_url":"https://api.github.com/users/jimmyhchan/following{/other_user}","gists_url":"https://api.github.com/users/jimmyhchan/gists{/gist_id}","starred_url":"https://api.github.com/users/jimmyhchan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jimmyhchan/subscriptions","organizations_url":"https://api.github.com/users/jimmyhchan/orgs","repos_url":"https://api.github.com/users/jimmyhchan/repos","events_url":"https://api.github.com/users/jimmyhchan/events{/privacy}","received_events_url":"https://api.github.com/users/jimmyhchan/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-06-23T16:54:01Z","updated_at":"2015-06-23T18:56:05Z","closed_at":null,"body":"This can be part of the constitution but a formal spec for compiler authors would also be helpful. IMO sections can also be thought of as extension of the core. I like the idea that everything is a helper or at least everything is an extension. By extension, I mean i can turn on/off a compiler flag and have it included/excluded from the output.\r\n\r\nHow should compiler authors think about helpers? Are there other extensions beyond helpers? How does one verify that the helper is compiled correctly? How does one verify that a compiler is correct?\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/smfoote/tornado/issues/comments/114607605","html_url":"https://github.com/smfoote/tornado/issues/93#issuecomment-114607605","issue_url":"https://api.github.com/repos/smfoote/tornado/issues/93","id":114607605,"user":{"login":"smfoote","id":452458,"avatar_url":"https://avatars.githubusercontent.com/u/452458?v=3","gravatar_id":"","url":"https://api.github.com/users/smfoote","html_url":"https://github.com/smfoote","followers_url":"https://api.github.com/users/smfoote/followers","following_url":"https://api.github.com/users/smfoote/following{/other_user}","gists_url":"https://api.github.com/users/smfoote/gists{/gist_id}","starred_url":"https://api.github.com/users/smfoote/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smfoote/subscriptions","organizations_url":"https://api.github.com/users/smfoote/orgs","repos_url":"https://api.github.com/users/smfoote/repos","events_url":"https://api.github.com/users/smfoote/events{/privacy}","received_events_url":"https://api.github.com/users/smfoote/received_events","type":"User","site_admin":false},"created_at":"2015-06-23T18:56:05Z","updated_at":"2015-06-23T18:56:05Z","body":"I like making everything an extension in some way, but I don't know about the idea of compiler flags and such. I think it would be great to make the language extensible enough that one can extend the compiler, but I think a lot of the extension would/should happen at runtime, which means the core runtime needs to allow for such extensions. I think that helpers are probably the most appropriate place for runtime extension.\r\n\r\nI would like to remove the terminology of `filters`, because Tornado does not need \"filters\" as they are used in other templating languages. I think there still is a need for inline extensibility, but I don't think the name \"filters\" is the right one. Perhaps we can call them inline helpers, or something like that.\r\n\r\nFinally, I think that verifying the correctness of compiled code is a separate issue and should be tracked separately."}}