{"action":"created","issue":{"url":"https://api.github.com/repos/jwiegley/hnix/issues/33","repository_url":"https://api.github.com/repos/jwiegley/hnix","labels_url":"https://api.github.com/repos/jwiegley/hnix/issues/33/labels{/name}","comments_url":"https://api.github.com/repos/jwiegley/hnix/issues/33/comments","events_url":"https://api.github.com/repos/jwiegley/hnix/issues/33/events","html_url":"https://github.com/jwiegley/hnix/issues/33","id":140052353,"number":33,"title":"Make parse round-trip-able","user":{"login":"cstrahan","id":143982,"avatar_url":"https://avatars.githubusercontent.com/u/143982?v=3","gravatar_id":"","url":"https://api.github.com/users/cstrahan","html_url":"https://github.com/cstrahan","followers_url":"https://api.github.com/users/cstrahan/followers","following_url":"https://api.github.com/users/cstrahan/following{/other_user}","gists_url":"https://api.github.com/users/cstrahan/gists{/gist_id}","starred_url":"https://api.github.com/users/cstrahan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cstrahan/subscriptions","organizations_url":"https://api.github.com/users/cstrahan/orgs","repos_url":"https://api.github.com/users/cstrahan/repos","events_url":"https://api.github.com/users/cstrahan/events{/privacy}","received_events_url":"https://api.github.com/users/cstrahan/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2016-03-11T00:45:48Z","updated_at":"2016-03-11T07:08:31Z","closed_at":null,"body":"There are a number of tools (including one I desperately need to write) that would require the ability to parse a nix expression, transform it in some way, and then write the expression back out - all while keeping unmodified portions unchanged in the output.\r\n\r\nI could take a stab at this, but I think I might need some hints/help."},"comment":{"url":"https://api.github.com/repos/jwiegley/hnix/issues/comments/195227566","html_url":"https://github.com/jwiegley/hnix/issues/33#issuecomment-195227566","issue_url":"https://api.github.com/repos/jwiegley/hnix/issues/33","id":195227566,"user":{"login":"cstrahan","id":143982,"avatar_url":"https://avatars.githubusercontent.com/u/143982?v=3","gravatar_id":"","url":"https://api.github.com/users/cstrahan","html_url":"https://github.com/cstrahan","followers_url":"https://api.github.com/users/cstrahan/followers","following_url":"https://api.github.com/users/cstrahan/following{/other_user}","gists_url":"https://api.github.com/users/cstrahan/gists{/gist_id}","starred_url":"https://api.github.com/users/cstrahan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cstrahan/subscriptions","organizations_url":"https://api.github.com/users/cstrahan/orgs","repos_url":"https://api.github.com/users/cstrahan/repos","events_url":"https://api.github.com/users/cstrahan/events{/privacy}","received_events_url":"https://api.github.com/users/cstrahan/received_events","type":"User","site_admin":false},"created_at":"2016-03-11T07:08:31Z","updated_at":"2016-03-11T07:08:31Z","body":"Do you mean the `Fix` synonym? (grepping for `Free` doesn't turn up anything)\r\n\r\nAre you suggesting something like this?\r\n\r\n```Haskell\r\ndata SrcSpan = SrcSpan Int Int\r\ndata Ann x f a = Ann x (f a)\r\ntype NExpr = Fix (Ann SrcSpan NExprF)\r\n```"}}