{"action":"created","issue":{"url":"https://api.github.com/repos/slavapestov/factor/issues/358","labels_url":"https://api.github.com/repos/slavapestov/factor/issues/358/labels{/name}","comments_url":"https://api.github.com/repos/slavapestov/factor/issues/358/comments","events_url":"https://api.github.com/repos/slavapestov/factor/issues/358/events","html_url":"https://github.com/slavapestov/factor/issues/358","id":2160193,"number":358,"title":"Make it an error for classes and words to have the same name","user":{"login":"erg","id":27430,"avatar_url":"https://avatars.githubusercontent.com/u/27430?v=3","gravatar_id":"","url":"https://api.github.com/users/erg","html_url":"https://github.com/erg","followers_url":"https://api.github.com/users/erg/followers","following_url":"https://api.github.com/users/erg/following{/other_user}","gists_url":"https://api.github.com/users/erg/gists{/gist_id}","starred_url":"https://api.github.com/users/erg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erg/subscriptions","organizations_url":"https://api.github.com/users/erg/orgs","repos_url":"https://api.github.com/users/erg/repos","events_url":"https://api.github.com/users/erg/events{/privacy}","received_events_url":"https://api.github.com/users/erg/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/slavapestov/factor/labels/classes","name":"classes","color":"DDDDDD"},{"url":"https://api.github.com/repos/slavapestov/factor/labels/cleanup","name":"cleanup","color":"DDDDDD"},{"url":"https://api.github.com/repos/slavapestov/factor/labels/errors","name":"errors","color":"dddddd"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/slavapestov/factor/milestones/5","html_url":"https://github.com/slavapestov/factor/milestones/0.98","labels_url":"https://api.github.com/repos/slavapestov/factor/milestones/5/labels","id":292801,"number":5,"title":"0.98","description":"","creator":{"login":"erg","id":27430,"avatar_url":"https://avatars.githubusercontent.com/u/27430?v=3","gravatar_id":"","url":"https://api.github.com/users/erg","html_url":"https://github.com/erg","followers_url":"https://api.github.com/users/erg/followers","following_url":"https://api.github.com/users/erg/following{/other_user}","gists_url":"https://api.github.com/users/erg/gists{/gist_id}","starred_url":"https://api.github.com/users/erg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erg/subscriptions","organizations_url":"https://api.github.com/users/erg/orgs","repos_url":"https://api.github.com/users/erg/repos","events_url":"https://api.github.com/users/erg/events{/privacy}","received_events_url":"https://api.github.com/users/erg/received_events","type":"User","site_admin":false},"open_issues":303,"closed_issues":27,"state":"open","created_at":"2013-03-21T00:14:08Z","updated_at":"2015-08-05T15:49:00Z","due_on":null,"closed_at":null},"comments":5,"created_at":"2011-11-07T07:07:14Z","updated_at":"2015-08-13T20:00:47Z","closed_at":null,"body":"After renaming the compiler IR constructors, the list of overloaded word names is pretty short.\n\nThe only real problem is error-classes -- what's the best solution, special-casing them to allow the same name? Auto-generating a different word? Throwing ordinary tuples? Some kind of special tuple object that throws itself upon construction?\n\n```factor\nall-words [\n    { [ class? ] [ def>> { [ length 1 = ] [ first wrapper? ] } 1&& not ] } 1&&\n] filter\n[ error-class? not ] filter\nnatural-sort .\n```\n\n\n```factor\n{\n    attr-w/<\n    bad-cdata\n    bad-decl\n    bad-directive\n    bad-doctype\n    bad-encoding\n    bad-external-id\n    bad-name\n    bad-prolog\n    bad-uri\n    bad-version\n    callstack\n    capitalized-prolog\n    compose\n    cons\n    consult-method\n    count-down\n    curry\n    definition\n    deprecation-note\n    did-not-fail\n    disallowed-char\n    duplicate-attr\n    error-list-gadget\n    error-type\n    expected\n    extra-attrs\n    POSTPONE: f\n    file-info\n    file-system-info\n    gl-error\n    grid-layout\n    help-lint-error\n    iota\n    label-fixup\n    library\n    linkage-error\n    literal\n    live-interval\n    merge\n    mismatched\n    misplaced-directive\n    missing-close\n    no-entity\n    nonexist-ns\n    not-enough-characters\n    not-yes/no\n    propagate-gesture\n    propagate-key-gesture\n    quoteless-attr\n    redefine-error\n    restart\n    send-gesture\n    slice-error\n    slider-pen\n    source-file\n    stat\n    statfs64\n    statvfs64\n    text-w/]]>\n    tokenizer\n    unclosed\n    unclosed-quote\n    undefined\n    unexpected-end\n    unexpected-eof\n    unopened\n    unsupported-platform\n    user-input\n    value-info\n    versionless-prolog\n    word\n    xml-error-at\n}\n```"},"comment":{"url":"https://api.github.com/repos/slavapestov/factor/issues/comments/130823106","html_url":"https://github.com/slavapestov/factor/issues/358#issuecomment-130823106","issue_url":"https://api.github.com/repos/slavapestov/factor/issues/358","id":130823106,"user":{"login":"erg","id":27430,"avatar_url":"https://avatars.githubusercontent.com/u/27430?v=3","gravatar_id":"","url":"https://api.github.com/users/erg","html_url":"https://github.com/erg","followers_url":"https://api.github.com/users/erg/followers","following_url":"https://api.github.com/users/erg/following{/other_user}","gists_url":"https://api.github.com/users/erg/gists{/gist_id}","starred_url":"https://api.github.com/users/erg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erg/subscriptions","organizations_url":"https://api.github.com/users/erg/orgs","repos_url":"https://api.github.com/users/erg/repos","events_url":"https://api.github.com/users/erg/events{/privacy}","received_events_url":"https://api.github.com/users/erg/received_events","type":"User","site_admin":false},"created_at":"2015-08-13T20:00:47Z","updated_at":"2015-08-13T20:00:47Z","body":"related to #294 "}}