{"action":"created","issue":{"url":"https://api.github.com/repos/D-Programming-Language/phobos/issues/3128","labels_url":"https://api.github.com/repos/D-Programming-Language/phobos/issues/3128/labels{/name}","comments_url":"https://api.github.com/repos/D-Programming-Language/phobos/issues/3128/comments","events_url":"https://api.github.com/repos/D-Programming-Language/phobos/issues/3128/events","html_url":"https://github.com/D-Programming-Language/phobos/pull/3128","id":65307993,"number":3128,"title":"Introducing std.meta package","user":{"login":"Dicebot","id":1132234,"avatar_url":"https://avatars.githubusercontent.com/u/1132234?v=3","gravatar_id":"","url":"https://api.github.com/users/Dicebot","html_url":"https://github.com/Dicebot","followers_url":"https://api.github.com/users/Dicebot/followers","following_url":"https://api.github.com/users/Dicebot/following{/other_user}","gists_url":"https://api.github.com/users/Dicebot/gists{/gist_id}","starred_url":"https://api.github.com/users/Dicebot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Dicebot/subscriptions","organizations_url":"https://api.github.com/users/Dicebot/orgs","repos_url":"https://api.github.com/users/Dicebot/repos","events_url":"https://api.github.com/users/Dicebot/events{/privacy}","received_events_url":"https://api.github.com/users/Dicebot/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":41,"created_at":"2015-03-30T21:38:18Z","updated_at":"2015-05-06T07:37:49Z","closed_at":"2015-05-06T01:46:02Z","pull_request":{"url":"https://api.github.com/repos/D-Programming-Language/phobos/pulls/3128","html_url":"https://github.com/D-Programming-Language/phobos/pull/3128","diff_url":"https://github.com/D-Programming-Language/phobos/pull/3128.diff","patch_url":"https://github.com/D-Programming-Language/phobos/pull/3128.patch"},"body":"Follow-up to https://github.com/D-Programming-Language/phobos/pull/2687\r\n\r\nChanges from original PR:\r\n1) have split the package in several modules: algorithm, internal, list, predicates\r\n2) removed `static` and `template` prefixes from names now that they have own module namespace\r\n3) moved `MostDerived` and `DerivedToFront` to `std.traits` (no idea why those added to `std.typetuple` in the first place\r\n\r\nTODO:\r\n - [x] read through documentation \r\n - [x] provide fine-tuned deprecation messages in `std.typetuple` for each specific symbol\r\n - [x] stop using `std.typetuple` in Phobos itself\r\n - [x] prepare DMD tests (https://github.com/D-Programming-Language/dmd/pull/4613)\r\n - [x] provide replacements for symbols that have `TypeTuple` as part of their name\r\n\r\nI hope I have resisted all urges to improve / enhance actual functionality of moved templates.\r\n\r\n(poke @JakobOvrum)"},"comment":{"url":"https://api.github.com/repos/D-Programming-Language/phobos/issues/comments/99355996","html_url":"https://github.com/D-Programming-Language/phobos/pull/3128#issuecomment-99355996","issue_url":"https://api.github.com/repos/D-Programming-Language/phobos/issues/3128","id":99355996,"user":{"login":"andralex","id":566679,"avatar_url":"https://avatars.githubusercontent.com/u/566679?v=3","gravatar_id":"","url":"https://api.github.com/users/andralex","html_url":"https://github.com/andralex","followers_url":"https://api.github.com/users/andralex/followers","following_url":"https://api.github.com/users/andralex/following{/other_user}","gists_url":"https://api.github.com/users/andralex/gists{/gist_id}","starred_url":"https://api.github.com/users/andralex/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andralex/subscriptions","organizations_url":"https://api.github.com/users/andralex/orgs","repos_url":"https://api.github.com/users/andralex/repos","events_url":"https://api.github.com/users/andralex/events{/privacy}","received_events_url":"https://api.github.com/users/andralex/received_events","type":"User","site_admin":false},"created_at":"2015-05-06T07:37:49Z","updated_at":"2015-05-06T07:37:49Z","body":">The name TypeTuple doesn't confuse people because of the Type part, it's the Tuple part. \r\n\r\nI won't argue this much, but I question this assertion. Per m-w.com: \"set of (so many) elements —usually used of sets with ordered elements\". The trouble is with Type because a TypeTuple can contain things that were emphatically not types.\r\n\r\nIf you convinced me it wasn't the Type part that was confusing, then I'd be against any renaming whatsoever.\r\n\r\n>That said, one of the main goals of this pull is to replace TypeTuple with a clearer name, so we should also rename ParameterTypeTuple and FieldTypeTuple.\r\n\r\nTypeTuple barely makes the bar for renaming, the others I don't think do. Please let's not turn this into a negotiation. I said and I repeat: some of the new names are clearly better but not enough. There's no intrinsic value in renaming ParameterTypeTuple to Parameters - either way it has to have a name that has to be found by perusing the documentation. It's not something natural that can be inferred without any lookup. Tomorrow someone comes with the `Pack` convention, inspired from C++. So we'll have everyone mesmerized on `ParameterPack` and `FieldTypePack` etc. Please let's stop. The quest for slightly better names could go on forever."}}