Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:86980 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 24030 invoked from network); 30 Jun 2015 23:30:51 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 30 Jun 2015 23:30:51 -0000 Authentication-Results: pb1.pair.com header.from=php@golemon.com; sender-id=softfail Authentication-Results: pb1.pair.com smtp.mail=php@golemon.com; spf=softfail; sender-id=softfail Received-SPF: softfail (pb1.pair.com: domain golemon.com does not designate 209.85.215.46 as permitted sender) X-PHP-List-Original-Sender: php@golemon.com X-Host-Fingerprint: 209.85.215.46 mail-la0-f46.google.com Received: from [209.85.215.46] ([209.85.215.46:33868] helo=mail-la0-f46.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 0A/80-06060-8A623955 for ; Tue, 30 Jun 2015 19:30:49 -0400 Received: by lagx9 with SMTP id x9so29885576lag.1 for ; Tue, 30 Jun 2015 16:30:45 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=bMccxnYoMrQT5USC8S47KxvcD6sjL8si/zGyYngqspA=; b=fJQiG/qZvPrJ40ZSg2PB2MDybtkGQvgrBk/P9W07usr5XVCFYouA/bEJeG+QT97pRq r/L8XG6aT/sCkkjM3XN3e8HrdeOpqrjWt2xroKqrBTWuJT9aeAUK7x5rZOH0OZWaDQZs /ZQxadp0OQMRpLK/5Sd59Cvn7FcET6rdlUMUc3hIVOsiY/3eg4Ac6X6gc22Bmtb7BhPK URKwGsHe+Yg5O5lYSJqS5AgIroWo2vNHWKsFztoPCnCH+UuGPtF344FntYRmlKttX848 iLEu4JootMi6YoSQtk3srN4LwD6bOFr4kFHlPvhpl/OClLNKjCzc5tdgY0jJmbcALByy l62w== X-Gm-Message-State: ALoCoQm/w/YXiz9dCMn041EwedurgazY+2v1t3YPFZwHp+Dv06qHLnDeaqyzDmW7/CZPGZei5AmQ MIME-Version: 1.0 X-Received: by 10.152.5.167 with SMTP id t7mr16936267lat.112.1435707045491; Tue, 30 Jun 2015 16:30:45 -0700 (PDT) Sender: php@golemon.com Received: by 10.112.11.134 with HTTP; Tue, 30 Jun 2015 16:30:45 -0700 (PDT) X-Originating-IP: [2620:10d:c082:1055:22c9:d0ff:fe87:295b] In-Reply-To: References: <1413875212.2624.3.camel@localhost.localdomain> Date: Tue, 30 Jun 2015 16:30:45 -0700 X-Google-Sender-Auth: kohZGbvsI3qb2V5mSmhfP4ZSY7c Message-ID: To: Nikita Popov Cc: Joe Watkins , PHP internals Content-Type: text/plain; charset=UTF-8 Subject: Re: [PHP-DEV] [RFC] UString From: pollita@php.net (Sara Golemon) On Mon, Mar 2, 2015 at 12:48 AM, Nikita Popov wrote: > On Tue, Oct 21, 2014 at 9:06 AM, Joe Watkins wrote: >> https://wiki.php.net/rfc/ustring >> >> This is the result of work done by a few of us, we won't be >> opening any >> vote in a fortnight. We have a long time before 7, there is no rush >> whatever. >> >> Now seems like a good time to start the conversation so we can >> hash out >> the details, or get on with other things ;) >> > Curious what the current state of the UString RFC is. I've got a functionality request for HHVM to wrap icu::UnicodeString and was hoping to match PHP behavior if any plans had been made, and lo... here's a plan! > I'm not totally convinced by this proposal. We already have quite a number > of extensions that deal with unicode text in one way or another (at least > intl, mbstring and iconv). This adds yet another way of dealing with this > issue - a way that will have to be combined with at least two other > extensions (mbstring or iconv for input handling and conversion) and intl > for any non-trivial operations. There's nothing wrong with adding another > approach for unicode handling per se, but I'd like to have more empahsis on > how this integrates with existing functionality and why it is implemented > separately from it (especially intl), etc. > I think (hope) that Joe's intention was to make it as an extension for proof of concept, but make it part of the intl extension when it comes to full adoption by the runtime. If not, let's talk about making that the intent, because intl is where this belongs. For my bikeshedding part, I'd recommend against the u() function helper as it pollutes the global function namespace and takes a very fundamental name. intl\u() might be worth considering, but we'll need to have a discussion about namespacing for the intl extension as a whole (separate topic). I'd also recommend "IntlString" rather than "UString" as nearly all the Intl classes follow this convention. The one notable exception being UConverter (which yes, I added, and I regret the departure in naming). Otherwise, while there's room to quibble about specific API names and arguments, the general concept seems a no-brainer. -Sara