Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:79516 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 65353 invoked from network); 9 Dec 2014 23:07:52 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 9 Dec 2014 23:07:52 -0000 Authentication-Results: pb1.pair.com header.from=jwatzman@fb.com; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=jwatzman@fb.com; spf=unknown; sender-id=unknown Received-SPF: unknown (pb1.pair.com: domain fb.com does not designate 67.231.153.30 as permitted sender) X-PHP-List-Original-Sender: jwatzman@fb.com X-Host-Fingerprint: 67.231.153.30 mx0b-00082601.pphosted.com Linux 2.5 (sometimes 2.4) (4) Received: from [67.231.153.30] ([67.231.153.30:52720] helo=mx0b-00082601.pphosted.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 6C/A8-09154-6C087845 for ; Tue, 09 Dec 2014 18:07:50 -0500 Received: from pps.filterd (m0004077 [127.0.0.1]) by mx0b-00082601.pphosted.com (8.14.5/8.14.5) with SMTP id sB9N2iGc002146 for ; Tue, 9 Dec 2014 15:07:47 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=fb.com; h=from : to : subject : date : message-id : content-type : content-id : content-transfer-encoding : mime-version; s=facebook; bh=2a7xV8O95DmT2tjkcU16J2RgerZTtj+xXP5gbx6M3mo=; b=Kc6UzYNr1lrQunl8pDPbg9GZakwxDuIL2taWE8VGCMeZwHUj6nEgi1rPWCGxD8zR9ebp BO+eBMt94ePOCegd1L07xIUHcaZgqwgos6lmFPjEpTd569MC9l6aV2iCO9fvWyS7MONC EW7SoPtp1zbfmFlXGhfftq9baRo60xTrsIA= Received: from mail.thefacebook.com ([199.201.64.23]) by mx0b-00082601.pphosted.com with ESMTP id 1r66dnh32u-1 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=OK) for ; Tue, 09 Dec 2014 15:07:47 -0800 Received: from PRN-MBX02-2.TheFacebook.com ([169.254.5.125]) by PRN-CHUB16.TheFacebook.com ([fe80::7948:a494:45d7:3dd9%12]) with mapi id 14.03.0195.001; Tue, 9 Dec 2014 15:07:45 -0800 To: PHP internals Thread-Topic: [RFC] Nullsafe calls Thread-Index: AQHQFATxvp9RjOsogUO8aMy5/EMi+w== Date: Tue, 9 Dec 2014 23:07:45 +0000 Message-ID: <95A581EE-A062-4926-BE44-BCA87FC9B356@fb.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [192.168.16.4] Content-Type: text/plain; charset="us-ascii" Content-ID: <67DC8E76FD7DE04BB1D5D9AAB77EF6B3@fb.com> Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.13.68,1.0.33,0.0.0000 definitions=2014-12-09_07:2014-12-09,2014-12-09,1970-01-01 signatures=0 X-Proofpoint-Spam-Details: rule=fb_default_notspam policy=fb_default score=10 kscore.is_bulkscore=0 kscore.compositescore=0 circleOfTrustscore=15.112 compositescore=0.994924612563162 urlsuspect_oldscore=0.994924612563162 suspectscore=0 recipient_domain_to_sender_totalscore=0 phishscore=0 bulkscore=0 kscore.is_spamscore=0 recipient_to_sender_totalscore=0 recipient_domain_to_sender_domain_totalscore=1889 rbsscore=0.994924612563162 spamscore=10 recipient_to_sender_domain_totalscore=0 urlsuspectscore=0.9 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1402240000 definitions=main-1412090225 X-FB-Internal: deliver Subject: [RFC] Nullsafe calls From: jwatzman@fb.com (Josh Watzman) Hey internals! A useful feature that Hack picked up in the last few months = are "nullsafe calls", a way of propagating failure forward in a series of c= hained method calls to the end of the whole computation, getting rid of a l= ot of the boilerplate in the middle. I think the feature would be a good on= e for PHP as well, so I'm submitting this RFC to add it -- you can see the = RFC itself for a full discussion of the motivation for the feature, as well= as the feature itself: https://wiki.php.net/rfc/nullsafe_calls Josh Watzman