{"action":"created","issue":{"url":"https://api.github.com/repos/sctb/lumen/issues/12","labels_url":"https://api.github.com/repos/sctb/lumen/issues/12/labels{/name}","comments_url":"https://api.github.com/repos/sctb/lumen/issues/12/comments","events_url":"https://api.github.com/repos/sctb/lumen/issues/12/events","html_url":"https://github.com/sctb/lumen/issues/12","id":110133502,"number":12,"title":"`foo.bar-baz` is broken","user":{"login":"laarc","id":13237912,"avatar_url":"https://avatars.githubusercontent.com/u/13237912?v=3","gravatar_id":"","url":"https://api.github.com/users/laarc","html_url":"https://github.com/laarc","followers_url":"https://api.github.com/users/laarc/followers","following_url":"https://api.github.com/users/laarc/following{/other_user}","gists_url":"https://api.github.com/users/laarc/gists{/gist_id}","starred_url":"https://api.github.com/users/laarc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/laarc/subscriptions","organizations_url":"https://api.github.com/users/laarc/orgs","repos_url":"https://api.github.com/users/laarc/repos","events_url":"https://api.github.com/users/laarc/events{/privacy}","received_events_url":"https://api.github.com/users/laarc/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-10-07T01:10:06Z","updated_at":"2015-10-07T01:23:40Z","closed_at":null,"body":"`foo.bar` works, but `foo.bar-baz` is compiled to `foo.bar_baz`\r\n\r\nFor example, \r\n\r\n```\r\n> (define-global system (require 'system))\r\n(write-file: function write: function read-file: function argv: (\"/Users/vagrant/.sol/lib/lumen/sctb/bin/lumen.lua\" \"luajit\") path-join: function file-exists?: function path-separator: \"/\" exit: function get-environment-variable: function)\r\n\r\n> system.argv\r\n(\"/Users/vagrant/.sol/lib/lumen/sctb/bin/lumen.lua\" \"luajit\")\r\n\r\n> system.write-file\r\n\r\n> (get system 'write-file)\r\nfunction\r\n```\r\n\r\nI believe the correct fix is to add `define-syntax` to Lumen's compiler, since `foo.bar-baz` is shorthand for `(get foo 'bar-baz)`.\r\n\r\nThis would also enable applications to add their own syntax, e.g. `~foo` expanding to `(complement foo)`, which is necessary for my purposes.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/sctb/lumen/issues/comments/146050432","html_url":"https://github.com/sctb/lumen/issues/12#issuecomment-146050432","issue_url":"https://api.github.com/repos/sctb/lumen/issues/12","id":146050432,"user":{"login":"sctb","id":41661,"avatar_url":"https://avatars.githubusercontent.com/u/41661?v=3","gravatar_id":"","url":"https://api.github.com/users/sctb","html_url":"https://github.com/sctb","followers_url":"https://api.github.com/users/sctb/followers","following_url":"https://api.github.com/users/sctb/following{/other_user}","gists_url":"https://api.github.com/users/sctb/gists{/gist_id}","starred_url":"https://api.github.com/users/sctb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sctb/subscriptions","organizations_url":"https://api.github.com/users/sctb/orgs","repos_url":"https://api.github.com/users/sctb/repos","events_url":"https://api.github.com/users/sctb/events{/privacy}","received_events_url":"https://api.github.com/users/sctb/received_events","type":"User","site_admin":false},"created_at":"2015-10-07T01:23:40Z","updated_at":"2015-10-07T01:23:40Z","body":"There is full reader extensibility in Lumen, and `foo.bar-baz` was in fact implemented in the reader function for atoms, before it was recently removed. `(get reader 'read-table)` is available for modification (as of d646a4b89), and the the reader function for atoms is at `(get read-table \"\")`."}}