From dev-return-15124-archive-asf-public=cust-asf.ponee.io@arrow.apache.org Thu Oct 3 04:13:37 2019 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [207.244.88.153]) by mx-eu-01.ponee.io (Postfix) with SMTP id DB64A18064F for ; Thu, 3 Oct 2019 06:13:36 +0200 (CEST) Received: (qmail 86796 invoked by uid 500); 3 Oct 2019 04:13:35 -0000 Mailing-List: contact dev-help@arrow.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@arrow.apache.org Delivered-To: mailing list dev@arrow.apache.org Received: (qmail 86784 invoked by uid 99); 3 Oct 2019 04:13:34 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 03 Oct 2019 04:13:34 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id AEF2A1A32FB for ; Thu, 3 Oct 2019 04:13:33 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.8 X-Spam-Level: * X-Spam-Status: No, score=1.8 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=2, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd2-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-he-de.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id gVj_-zcDBC5z for ; Thu, 3 Oct 2019 04:13:31 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2a00:1450:4864:20::12a; helo=mail-lf1-x12a.google.com; envelope-from=emkornfield@gmail.com; receiver= Received: from mail-lf1-x12a.google.com (mail-lf1-x12a.google.com [IPv6:2a00:1450:4864:20::12a]) by mx1-he-de.apache.org (ASF Mail Server at mx1-he-de.apache.org) with ESMTPS id C79D87DE03 for ; Thu, 3 Oct 2019 04:13:30 +0000 (UTC) Received: by mail-lf1-x12a.google.com with SMTP id w67so688299lff.4 for ; Wed, 02 Oct 2019 21:13:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:reply-to:from:date:message-id :subject:to; bh=WRfDCaGxQ8Q7xMwvLqC3uXAjlR1XVYZxUzYdsXkqLsw=; b=ufeyI5Y0DhG2FOaQb5p61Q29s2ltDPL1ehCecI6e/+nYa0yXzxo+ZWhJGmA3wPwLRK 7Gwrs6d3xwNDIP+wid3Z+ks/k5AN64HlmHhIYhC759WpGssji9QWmhBoakSe0KydcLAZ L8yOJBDdM+IYEoz8L4nj2kNEevgIcY00ZE1PtdMU0ciLJndWsgdCGZt7+/SfIkvhGKTd 1nQtvAyt0xgjEQt91RR/icF4lGhgc/oyIDi9pJlLqf7fMvCdyzXRriE+rIZdUMUtLhA5 +8DjueAJJ0GwyU3kaLYnT15PBp6PdmsEvaDAkS5WpCwTVPve2JYnPDizNxo2ERfk3Wzh 8cCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:reply-to :from:date:message-id:subject:to; bh=WRfDCaGxQ8Q7xMwvLqC3uXAjlR1XVYZxUzYdsXkqLsw=; b=J9kimRYHobsjQS6UlihGp6q6S7/BhCWGi0a48g6QoKRHDiOnX+rfCuYw6CGtZjhYXl sKJKxTyH0zLW5DKBVWNGWLQ08cDnJryI8eUBNsTpRKWaPumxg9WvnkEb0Rs3S67iw7ZW hmmMLIpy4xE9RgE068QDMQeI3Zi36k/1KRNH9y16EjgfjGdhBxKeV1IZpt/f8mS4ux4z F9hkEemQRC3p1hG9jM0TTKAO3ZxBLwAkfKLrdfmdRL7snZOvGvPR0lYwhZJl+ER/0SFz Y09o11Yrapjmt53BotacWZ7o90JOFSvXHyzDA2SeuYlktKe1ZvGuvhLu6byEJjHZ/oyW 2CtA== X-Gm-Message-State: APjAAAU9LFDg5nzCLSekhgfDffdfXzgAn/4GEGNPjl25IxPojIdWtDxb +4NdrTfoshkwSn0aFEGQUD052Cu7jbBgouKSAuajMG5qyz904w== X-Google-Smtp-Source: APXvYqwfK3iZWch46fBYczCIG7oFbAtZ330iFWJCrN6Kjo/bVK6ApCYrJY/tEKi3eOnckzRkrWX/vk0MUS7GXj2F82I= X-Received: by 2002:a19:428f:: with SMTP id p137mr4369871lfa.149.1570076009570; Wed, 02 Oct 2019 21:13:29 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Reply-To: emkornfield@gmail.com From: Micah Kornfield Date: Wed, 2 Oct 2019 22:13:18 -0600 Message-ID: Subject: Re: [DISCUSS] Result vs Status To: dev Content-Type: multipart/alternative; boundary="000000000000d227460593f9ce7b" --000000000000d227460593f9ce7b Content-Type: text/plain; charset="UTF-8" Hi Ben, > From the discussion in the sync call, it seems reasonable to require that: > Public APIs which are likely to be directly wrapped in a binding should not > use Result<> to the exclusion of Status. An equivalent Status API should > always be provided for ease of binding. Along with other things on my backlog, I was hoping to get to moving most APIs to use Result (i.e. slowly deprecating pass by pointers for simple returns). I think think the exclusion is potentially places where there is too high a performance overhead for the result (we haven't done any measurement with it). It was my impression that we had workable solutions for using Result in at least Python and Glib/Ruby (I'm don't know about R). Is this not the case? Thanks, Micah On Wed, Oct 2, 2019 at 10:43 AM Ben Kietzman wrote: > The C++ library has two classes which fill mostly the same function. Both > Status and Result<> are used to express a recoverable error in lieu of > exceptions. Result<> is slightly more ergonomic in C++, but our binding > infrastructures assume Status based APIs. > > From the discussion in the sync call, it seems reasonable to require that: > Public APIs which are likely to be directly wrapped in a binding should not > use Result<> to the exclusion of Status. An equivalent Status API should > always be provided for ease of binding. > --000000000000d227460593f9ce7b--