On 29.09.2018 at 02:27, Kurt Weber wrote:

> Gah, I had my filter for this mailing list misconfigured and so I just
> now saw this. So so so sorry.
> 
> I'll definitely do a RFC.  

Great!  I you have not already, you can register as Wiki user via
<https://wiki.php.net/rfc?do=register>.  Please send a notice regarding
your user name, so that one of the Wiki admins can grant you RFC karma.

> Regarding issue (c), I'm obviously not
> familiar with internal PHP development processes, but is it usually
> the case that "You have X similar thing" is an argument for doing Y?
> Seems like there's no reason these decisions couldn't be made on an ad
> hoc basis--tabular calender is one thing because it's entirely
> self-contained, while other calendars would require access to an
> external data source that may disappear at any time, etc.

Yes, if in doubt these decisions will be made on a case-by-case basis,
but I think it's useful to add the argument about not needing any
external data source to the RFC.

> On Sat, Sep 1, 2018 at 5:09 AM, Christoph M. Becker <[email protected]> wrote:
>> On 30.08.2018 at 22:33, Kurt Weber wrote:
>>
>>> The calendar conversion functions currently support (via Julian Day
>>> Numbers as an intermediary) conversion between Gregorian, Julian,
>>> Hebrew, and French Revolutionary calendars.  Conspicuously absent is
>>> the Islamic calendar.  A comment in ext/calendar/sdncal.h seems to
>>> suggest that the original author(s) intended to implement at some
>>> point, but never got around to it.
>>>
>>> The Islamic calendar offers some complications because in most
>>> places and communities that use it for religious purposes, the switch
>>> from one month to the next is based on actually observing the moon in
>>> the proper phase.  In theory the date of this change can be
>>> calculated (and indeed the early Islamic surge in study of astronomy
>>> was motivated by the wish to know about when they should start
>>> looking), but tradition still demands that it be actually observed
>>> before a change is made--the actual impact of this is that local sky
>>> or weather conditions can sometimes interfere with the observation in
>>> a particular jurisdiction, meaning that often it comes a day or so
>>> later than when it otherwise would.
>>>
>>> Consequently, what I'm proposing is the Tabular Islamic Calendar,
>>> which was specifically created to be predictable and calculable.  It
>>> is of limited use for religious purposes (and documentation should
>>> probably be clear about this), but it would be useful for, e.g.
>>> people working with historical documents from Islamic communities or
>>> groups (In fact, this is how I came to this problem--I am working on
>>> a Ph.D. in Russian history, and as a side project I'm developing a
>>> PHP-backed website to manage research notes and other information;
>>> because I work on prerevolutionary Russia I'm very familiar with the
>>> issue of needing to convert between calendar systems (in my case,
>>> Julian and Gregorian), and my colleagues working on Islamic history
>>> often have similar issues.).
>>>
>>> Tabular Islamic calendar is not ideal, but it seems like the only
>>> realistic option for automated conversion.
>>>
>>> As far as implementation goes, I could do it.  I've already
>>> implemented conversion one way, before I stopped work in case there
>>> were issues that come up in this discussion that I hadn't foreseen
>>> (unfortunately, that happened roughly at the time the mailing list
>>> server seems to have died, so it's been paused for a couple of
>>> weeks). So all I'd have to do is the other direction, and it'd be
>>> ready to test.
>>
>> Thanks!  I'm not opposed to this suggestion.  There is the suspended
>> feature request #27453[1], and I agree that even a tabular Islamic
>> calendar would be much more useful than the French Revolunationary calendar.
>>
>> Presently, I see three counter-arguments:
>>
>>   (a) already supported by ext/intl
>>   (b) maintenance burden
>>   (c) opening up a can of worms
>>
>> Ad (a): Islamic calendars are already supported by the
>> intl extension[2].  Even though ext/intl supports an Islamic calendar,
>> that doesn't prohibit that ext/calendar also does, though, since they
>> are independent extensions (cf. ext/mbstring, ext/iconv, ext/recode).
>>
>> Ad (b): if nobody else is willing to step up as maintainer of
>> ext/calendar[3], I'd be willing to do so.  I've already did some
>> maintenance[4] so far.
>>
>> Ad (c): this is somewhat of a problem.  I can easily imagine folks
>> requesting support for specific Islamic calendars which would require
>> (up-to-date) data, what could easily blow ext/calendar out of
>> proportion.  Also I can imagine people coming up with “the FOO calendar
>> is used more widely than the tabular Islamic calendar, so it should be
>> supported as well” argument.
>>
>> Especially due to (c) I suggest to go through the RFC process[5],
>> whereby the RFC could also set some precendence/rules for potentially
>> further calendar systems (i.e. what ext/calendar may support, and what not).
>>
>> [1] <https://bugs.php.net/bug.php?id=27453>
>> [2]
>> <http://icu-project.org/apiref/icu4j/com/ibm/icu/util/IslamicCalendar.html>
>> [3]
>> <https://github.com/php/php-src/blob/7956722cfd96fdc244e9ed3dd13e162094be09cd/EXTENSIONS#L257>
>> [4]
>> <https://bugs.php.net/search.php?cmd=display&package_name[]=Calendar+related&direction=DESC&limit=30&assign=cmb&status=All&reorder_by=ts2>
>> [5] <https://wiki.php.net/rfc/howto>
>>
>> --
>> Christoph M. Becker


-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to