Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:96108 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 21132 invoked from network); 23 Sep 2016 11:41:26 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 23 Sep 2016 11:41:26 -0000 Authentication-Results: pb1.pair.com header.from=nikita.ppv@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=nikita.ppv@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.161.177 as permitted sender) X-PHP-List-Original-Sender: nikita.ppv@gmail.com X-Host-Fingerprint: 209.85.161.177 mail-yw0-f177.google.com Received: from [209.85.161.177] ([209.85.161.177:34020] helo=mail-yw0-f177.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 04/80-16984-3E415E75 for ; Fri, 23 Sep 2016 07:41:24 -0400 Received: by mail-yw0-f177.google.com with SMTP id g192so112674838ywh.1 for ; Fri, 23 Sep 2016 04:41:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to; bh=y2x/svvKaye8ZiXvbSzY4kvm7YFzlwpLbFmcKbjeMck=; b=ZULUJF1NuDUQISMrqAGsoNHWBlPZViyOxO6DSr0oQSrE6JEbT6+iinLnRrHji98Hmq xzqFieOJlCyRtyFNkWNjSJK/PG2d9rh3EiJkuc4oG4+vvLIKefQutYLsfirimjtZQz9x MGRp53KUXEK5E3x6Q9N8HY+J7hmtlxy6Bt93v1ja9OtyusMm2GJnApebXQWLA2aPcRKv H/txP5lWqX4VD0kF/LhJjUiXcEPGFi90/CSKF0kwWLi8Guv7caVZmTZrng+Quv4MZp9d mgCVhE/bqjPMZEgUXJT0eNiTU/xE/huHLEbM1CMv/BQB3BPzcmDrA+AtJwPjW27fvMkI yFsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=y2x/svvKaye8ZiXvbSzY4kvm7YFzlwpLbFmcKbjeMck=; b=aH3hoqnDUzmYALgSHipYIMD/dNCKKYyTCUnAQ9jwq1p4ibO45PVwF2hc9BZY7uWEM8 oSsTObQQ1NpsBKbNr8zGgi7328uAGOFptagedD/CY+fwmX41aPui/rkpfXm4uIX07Xh7 SIPnO/kve63SbHE5vJ6ThQVXJEJSfoxJ14ABcSwjlIbVCPDxV8/MPOeJnc0fL0f8by/u ehxF42kB6/ba1PgGJt72qRXu7XzLb7LxiAJSyO+1qfhSe6ewHp+VWyjJoO/6oBTyYcMb 4pVergYZATg5MIJrnX+OihrU/wNrDJz/oYj7eoHPJa13c8E8ueMwIytWnMP4RYKvlMLn gj4g== X-Gm-Message-State: AE9vXwPC34MpZLkTZ27Ou4AoN624GSl8Gff1mgwRm/+rUB69a6y6wFcilvUA9XoRzIJw4eqNf8j9tILvUg4USA== X-Received: by 10.13.234.8 with SMTP id t8mr5987811ywe.170.1474630879194; Fri, 23 Sep 2016 04:41:19 -0700 (PDT) MIME-Version: 1.0 Received: by 10.13.215.150 with HTTP; Fri, 23 Sep 2016 04:41:18 -0700 (PDT) Date: Fri, 23 Sep 2016 13:41:18 +0200 Message-ID: To: PHP internals Content-Type: multipart/alternative; boundary=94eb2c0872dabab924053d2b4182 Subject: [RFC] Namespace-scoped declares From: nikita.ppv@gmail.com (Nikita Popov) --94eb2c0872dabab924053d2b4182 Content-Type: text/plain; charset=UTF-8 Hi internals! I'd like to propose the ability of specifying declare directives like "strict_types" at the namespace level. The broader context of this proposal is to provide a simple and usable mechanism that will allow developers to opt-in to stricter language semantics on a per-library (or more specifically, per-namespace) basis, thus alleviating backwards compatibility and library interoperability concerns for such changes. https://wiki.php.net/rfc/namespace_scoped_declares I don't know whether this is the right solution to this problem, so next to the specifics of this proposal, I'm also open to discussing alternative approaches, as long such discussions can be held at a reasonably technical level (i.e. concrete suggestions rather than vague concepts). Thanks, Nikita --94eb2c0872dabab924053d2b4182--