From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by c5ff346549e7 (Postfix) with ESMTPS id 647535D5 for ; Wed, 10 Jul 2019 21:26:46 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.63,476,1557180000"; d="scan'208";a="391322832" Received: from sympa.inria.fr ([193.51.193.213]) by mail2-relais-roc.national.inria.fr with ESMTP; 10 Jul 2019 23:26:44 +0200 Received: by sympa.inria.fr (Postfix, from userid 20132) id C61468247D; Wed, 10 Jul 2019 23:26:44 +0200 (CEST) Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id 7F69E7ED69 for ; Wed, 10 Jul 2019 22:36:11 +0200 (CEST) Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=monnier@iro.umontreal.ca; spf=None smtp.mailfrom=gclci-caml-list@m.gmane.org; spf=None smtp.helo=postmaster@blaine.gmane.org IronPort-PHdr: =?us-ascii?q?9a23=3AoDpJVRQjd6EddCS+5Qguoxmfotpsv+yvbD5Q0YIu?= =?us-ascii?q?jvd0So/mwa69ZxaN2/xhgRfzUJnB7Loc0qyK6vqmBTJLuMva+Fk5M7V0Hycfjs?= =?us-ascii?q?sXmwFySOWkMmbcaMDQUiohAc5ZX0Vk9XzoeWJcGcL5ekGA6ibqtW1aFRrwLxd6?= =?us-ascii?q?KfroEYDOkcu3y/qy+5rOaAlUmTaxe7x/IAiooQnLucQbgIRuJrsxxxbHv3BFZ/?= =?us-ascii?q?lYyWR0KFyJgh3y/N2w/Jlt8yRRv/Iu6ctNWrjkcqo7ULJVEi0oP3g668P3uxbD?= =?us-ascii?q?SxCP5mYHXWUNjhVIGQnF4wrkUZr3ryD3q/By2CiePc3xULA0RTGv5LplRRP0lC?= =?us-ascii?q?sKMSMy/WfKgcJyka1bugqsqQJ/zYDJbo+bN/Vxcb/Tct4BWWpNQtxcWzBdDo6m?= =?us-ascii?q?c4cCCfcKM+ZCr4n6olsDtQawBRWyC+Ph0DBIgGL906o90+QnFwHG3RIvH8gTu3?= =?us-ascii?q?nTqdX1M6ESUea0zKbW1zXOdPJW2S366ITSbxAhpPaMXbRsccrL10YgDQfFgk+M?= =?us-ascii?q?poP/Jj6Y0PkGvWuD7+d4SO6ij24qpxtsrjWvwsogkJTFi4AUx1ze6yl13oc4KN?= =?us-ascii?q?ulQ0Bhe9GkCoFftySCOot2XMwiR2ZotT4hxb0Co5G7fS4Kx4o9yx7QbvyIaY6I?= =?us-ascii?q?7Qz5WOaWOzd4i2ppeLO5hxms7Uit0vDwW8203VpQsyZIkt3BumoQ2xHR68WLUO?= =?us-ascii?q?Vx8lmg1DqX0gDc8OBEIUQ6larBLJ4hx6Y9lpUPvkTHAiD2mVz6g7OMeUUh/uik?= =?us-ascii?q?8uDnYrT9pp+ALIJ0jxvyMqsrmsOlB+Q3LBICX2+B+eSzzLHj51H2QK1Wjv0qla?= =?us-ascii?q?nUqIzVKt4epq69GgNV1ocj6w2jDzq9y9QZnXwHLEpfdx6djojpPUvOIPHiAvul?= =?us-ascii?q?jVSsimQj+/eTNbTkBtDJL2PfuLbnZ7d0rUBGmyQpytUK3I5ZBLgHaNf0XEnwuc?= =?us-ascii?q?aQWho+NQq1zvzPCc96kJ4bXmSTGKKQNOXZuAnbtaoUP+CQadpN637GIP8/6qu2?= =?us-ascii?q?1CJrqRomZaCsmKAvRjW4E/BhehXLa37lg9EMV2gPtwwzCuvwhw/aCGIBVzOJR6?= =?us-ascii?q?s5owoDJse+F46aFtKsmrvHwSK8GIFMa2lCTFuFQy+xJte0HswUYSfXGfdP1zkN?= =?us-ascii?q?VLyvUYgkjEr8sUn1zrNhI6zT4CJK7Z8=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0BzKwCUSyZdfeKwn8NlHgEGBwaBZ4NSI?= =?us-ascii?q?RKDfIEqg1CESYlhAYIiIQGaRAEDAQwsAQIBAYQ4AgSCTx4GBjQTAQMBAQQBAQI?= =?us-ascii?q?BAgMBEwEBFjqFCkWCOiKDS3ImJQOFZa8dijWBNIt2gX+JcoUVBKpWCYIbgh+SA?= =?us-ascii?q?4IcAZVlpRqBZyCBWTMaCDCDKIIVAQEBjwgmgTYBAY8ZAQE?= X-IPAS-Result: =?us-ascii?q?A0BzKwCUSyZdfeKwn8NlHgEGBwaBZ4NSIRKDfIEqg1CESYl?= =?us-ascii?q?hAYIiIQGaRAEDAQwsAQIBAYQ4AgSCTx4GBjQTAQMBAQQBAQIBAgMBEwEBFjqFC?= =?us-ascii?q?kWCOiKDS3ImJQOFZa8dijWBNIt2gX+JcoUVBKpWCYIbgh+SA4IcAZVlpRqBZyC?= =?us-ascii?q?BWTMaCDCDKIIVAQEBjwgmgTYBAY8ZAQE?= X-IronPort-AV: E=Sophos;i="5.63,475,1557180000"; d="scan'208";a="313113781" X-MGA-submission: =?us-ascii?q?MDFbJKjT9KE99j2cfpKzlpQ/o9qDcEosuYf1Yd?= =?us-ascii?q?VpaQcylBP412X5UQ1UIBbzLQxJKgcFGejZEkN+ayjz+vwcdgI7cMgyPe?= =?us-ascii?q?bqYLQsnqD9KtoBSHFSlkD9hqyhy0APtU+5ZSIP0YW10i4x7+hvouy0IP?= =?us-ascii?q?t//9qQj4DNf5Q7BPDutJPZmg=3D=3D?= Received: from 195-159-176-226.customer.powertech.no (HELO blaine.gmane.org) ([195.159.176.226]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/AES256-GCM-SHA384; 10 Jul 2019 22:36:10 +0200 Received: from list by blaine.gmane.org with local (Exim 4.89) (envelope-from ) id 1hlJJw-000pIZ-If for caml-list@inria.fr; Wed, 10 Jul 2019 22:36:08 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: caml-list@inria.fr From: Stefan Monnier Date: Wed, 10 Jul 2019 16:36:01 -0400 Message-ID: Mime-Version: 1.0 Content-Type: text/plain User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Cancel-Lock: sha1:uqBDwsoMC0ZeuvyKBXl+mPwVqDQ= X-Validation-by: monnier@iro.umontreal.ca Subject: [Caml-list] overflow checks on `int` operations Reply-To: Stefan Monnier X-Loop: caml-list@inria.fr X-Sequence: 17679 Errors-to: caml-list-owner@inria.fr Precedence: list Precedence: bulk Sender: caml-list-request@inria.fr X-no-archive: yes List-Id: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: What's the "standard" way to perform arithmetic operations on `int` with overflow checking (e.g. returning an `Option` or signaling an exception on overflow)? Currently I do the checks by hand but it occurred to me that maybe I'm not the first one to want that. Stefan PS: I'm not looking to have all arithmetic on `int` with overflow checks: only some specific uses of them.