From: naruse@... Date: 2017-01-20T10:36:17+00:00 Subject: [ruby-core:79194] [Ruby trunk Misc#13072] Current state of date standard library Issue #13072 has been updated by Yui NARUSE. Victor Shepelev wrote: > The facts that I've been able to gather (not supported by links, so please forgive me if I am misquoting/misunderstanding): > > * date library was initially developed and maintained by Tadayoshi Funaba, who was the "single point of truth" for its design and features; > * for at least year, initial creator/maintainer of the library is inactive in Ruby community, so library mostly considered unmaintained; > * as far as I can "sense"/guess from ticket responses about the library, the core team doesn't see it as crucial/important to maintain. > > At the same time, the library provides: > > * Widely and extensively used `Date` class; > * Pretty controversial `DateTime` class, which has a huge feature intersection but almost no compatibility with core `Time` class; > * Date parsing functionality (`Date._parse`), which is also used by `lib/time`. > > The latter also leads to a really confusing situation, where one of the core Ruby classes has "optional additional functionality" in stdlib. > > Overall, the situation looks pretty "dirty" (as in "dirty code"), and seems like needing improvement. I agree with this understandings. And some people continually discussing about date library. > WDYT about this plan (for Ruby 2.5, for ex.): > > * make `Date` and `Date._parse` parts of language core (with probably renaming `_parse` to something more readable, or even extracting something like `Date::Parser` module); > * merge `DateTime` and `Time` (while preferring `Time`s interface where possible); > * on the way, gather all requests/bugs from this tracker, related to dates and times parsing, representing and so on. Current my thoughts is: * Time is kept in core * date library will be separeted from Ruby repository (stdlib) to `date.gem`. * `Time.parse` is kept even though the API is too ugly and heuristic (use `Time.iso8601` and so on) * some of `Time.parse`'s implementations are in `ext/date/date_parse.c`. It is needed to be separated into `ext/time` or something. * I haven't consider about `Date._parse` yet. Maybe it needs something to be care. ---------------------------------------- Misc #13072: Current state of date standard library https://bugs.ruby-lang.org/issues/13072#change-62618 * Author: Victor Shepelev * Status: Open * Priority: Normal * Assignee: ---------------------------------------- The facts that I've been able to gather (not supported by links, so please forgive me if I am misquoting/misunderstanding): * date library was initially developed and maintained by Tadayoshi Funaba, who was the "single point of truth" for its design and features; * for at least year, initial creator/maintainer of the library is inactive in Ruby community, so library mostly considered unmaintained; * as far as I can "sense"/guess from ticket responses about the library, the core team doesn't see it as crucial/important to maintain. At the same time, the library provides: * Widely and extensively used `Date` class; * Pretty controversial `DateTime` class, which has a huge feature intersection but almost no compatibility with core `Time` class; * Date parsing functionality (`Date._parse`), which is also used by `lib/time`. The latter also leads to a really confusing situation, where one of the core Ruby classes has "optional additional functionality" in stdlib. Overall, the situation looks pretty "dirty" (as in "dirty code"), and seems like needing improvement. WDYT about this plan (for Ruby 2.5, for ex.): * make `Date` and `Date._parse` parts of language core (with probably renaming `_parse` to something more readable, or even extracting something like `Date::Parser` module); * merge `DateTime` and `Time` (while preferring `Time`s interface where possible); * on the way, gather all requests/bugs from this tracker, related to dates and times parsing, representing and so on. -- https://bugs.ruby-lang.org/ Unsubscribe: