From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 2649A80211 for ; Fri, 20 Oct 2017 13:38:18 +0200 (CEST) Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=Pass smtp.pra=simon.cruanes.2007@m4x.org; spf=Pass smtp.mailfrom=SRS0=kewb=BT=m4x.org=simon.cruanes.2007@bounces.m4x.org; spf=Pass smtp.helo=postmaster@mx1.polytechnique.org Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of simon.cruanes.2007@m4x.org designates 129.104.30.34 as permitted sender) identity=pra; client-ip=129.104.30.34; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="SRS0=kewb=BT=m4x.org=simon.cruanes.2007@bounces.m4x.org"; x-sender="simon.cruanes.2007@m4x.org"; x-conformance=sidf_compatible; x-record-type="spf2.0" Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of SRS0=kewb=BT=m4x.org=simon.cruanes.2007@bounces.m4x.org designates 129.104.30.34 as permitted sender) identity=mailfrom; client-ip=129.104.30.34; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="SRS0=kewb=BT=m4x.org=simon.cruanes.2007@bounces.m4x.org"; x-sender="SRS0=kewb=BT=m4x.org=simon.cruanes.2007@bounces.m4x.org"; x-conformance=sidf_compatible; x-record-type="spf2.0" Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of postmaster@mx1.polytechnique.org designates 129.104.30.34 as permitted sender) identity=helo; client-ip=129.104.30.34; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="SRS0=kewb=BT=m4x.org=simon.cruanes.2007@bounces.m4x.org"; x-sender="postmaster@mx1.polytechnique.org"; x-conformance=sidf_compatible; x-record-type="v=spf1" IronPort-PHdr: =?us-ascii?q?9a23=3AZyw1FxRcx+c2777w3fdI/KatM9psv+yvbD5Q0YIu?= =?us-ascii?q?jvd0So/mwa64ZRyN2/xhgRfzUJnB7Loc0qyN7PCmBDRIyK3CmU5BWaQEbwUCh8?= =?us-ascii?q?QSkl5oK+++Imq/EsTXaTcnFt9JTl5v8iLzG0FUHMHjew+a+SXqvnY6Uy/yPgtt?= =?us-ascii?q?J+nzBpWaz4Huj7jzqLDNbh93hDuhbPY3BV326FyJ7ohFybdlf4cvwx2BjXxUfP?= =?us-ascii?q?pdxWJ0PhrHngjzzsa98ZMl9D5f7aEP7clFBJ77eqM+BZdCET0gPnt9sNbqsB7F?= =?us-ascii?q?CwCV+3IaX35QyEIQXCDAsAG8WY3+5Hip/tFh0TWXaJWlBYs/Xi6vuuIxEEfl?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0A2AQCP3+lZhyIeaIFbHQEFAQsBFwEBB?= =?us-ascii?q?AEBCgEBhBhunX+PaAyFEIVDAxuECwGFTkIVAQEBAQEBAQEBAQESAQEBCgsJCCg?= =?us-ascii?q?vgjgFAR4BBYI8BnkQCw4TJQ8FSYozBawGi1ODLoIHhmOISIIyBYEtAQEBoCIIA?= =?us-ascii?q?QGHY40Bggl2kCqLaYoNgTk1gX00ITJRgRGBVAiEWIl3gVUBAQE?= X-IPAS-Result: =?us-ascii?q?A0A2AQCP3+lZhyIeaIFbHQEFAQsBFwEBBAEBCgEBhBhunX+?= =?us-ascii?q?PaAyFEIVDAxuECwGFTkIVAQEBAQEBAQEBAQESAQEBCgsJCCgvgjgFAR4BBYI8B?= =?us-ascii?q?nkQCw4TJQ8FSYozBawGi1ODLoIHhmOISIIyBYEtAQEBoCIIAQGHY40Bggl2kCq?= =?us-ascii?q?LaYoNgTk1gX00ITJRgRGBVAiEWIl3gVUBAQE?= X-IronPort-AV: E=Sophos;i="5.43,405,1503352800"; d="asc'?scan'208";a="297155142" Received: from mx1.polytechnique.org ([129.104.30.34]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Oct 2017 13:38:17 +0200 Received: from nunchakus.loria.fr (nunchakus.loria.fr [152.81.10.98]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ssl.polytechnique.org (Postfix) with ESMTPSA id 5CBE156482B; Fri, 20 Oct 2017 13:38:16 +0200 (CEST) Date: Fri, 20 Oct 2017 13:38:16 +0200 From: Simon Cruanes To: Ivan Gotovchits Cc: David Allsopp , caml-list , Malcolm Matalka Message-ID: <20171020113815.GD32138@nunchakus.loria.fr> References: <86o9p2ywgc.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="MAI/ZU7774XuDDY6" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.1 (2017-09-22) X-AV-Checked: ClamAV using ClamSMTP at svoboda.polytechnique.org (Fri Oct 20 13:38:16 2017 +0200 (CEST)) X-Spam-Flag: No, tests=bogofilter, spamicity=0.000000, queueID=A4A2556482D X-Org-Mail: simon.cruanes.2007@polytechnique.org Subject: Re: [Caml-list] What if exn was not an open type? --MAI/ZU7774XuDDY6 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Exceptions are also very useful as control structures sometimes. For example: - exiting from a traversal (graph, tree, `Foo.iter` functions) early - being able to return a result from any point in a very large algorithm (e.g. returning "sat" or "unsat" in a SAT solver, where the main algorithm can span several hundreds or thousands of lines). --=20 Simon Cruanes http://weusepgp.info/ key 49AA62B6, fingerprint 949F EB87 8F06 59C6 D7D3 7D8D 4AC0 1D08 49AA 62B6 --MAI/ZU7774XuDDY6 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEElJ/rh48GWcbX032NSsAdCEmqYrYFAlnp4CcACgkQSsAdCEmq YrbeRA//YBbWPulwvmp/glfviwMXM/azRbRrgJxOpfshFZ3+ACJJNI3ehiZArCZV mKV+lKcK3lop/sSxJ7vkMqHQuygAuh9oVIRHMdlTiyAgRvr270UfWizHDI+quIpz eshsYrL5p36h0/Vy30ZFi0HxVsxn6Ev51uJsyj5P/c4ygMRi9YE6EcfmqvSQCbnI 3GQKltSWpi73e3zJSaB15b4DS1yLWckWN3PgltpVd3q439fDEKuxvfRBGR3kZClw TevnbnMAzsgLWxRqyNGf1pLGYNJqCFcpRIO912moWh9YHj09uIlZuc02kZkuArYp vZhwbJo8W8/3EbrWCDKbZ58y/5rN3vkxoOPaf2hd3YwjzhlfpdciEqblQ4tgeWUQ nGOKiC3NTMokR6xnFwPIkBNyhZ1Jg+diinOAinSV2DAMxj2FTyz3muOixmqDighF 8baLVdWLQxcPsymS9U54d30gqLKs2y18i4gf9GLD9nP/Rqf7PPjxo8VNjpR8J+iV /t2Cxi0lsahR7oxlFecUuDp/omf8CNj3AgUk7vqvYh+kCrSe/ZvOvCga45hHFzte KgNWSoFMLiIN44atxnpNvSmIBuKQNxtUO4iYxaRdZD6TW1D4jNoSacMXBTflRaaU ScqrA04nyCIZJFoG4a+1DUZOYbifzsbp8ndY2PqX6jOzaycmVXU= =gKVc -----END PGP SIGNATURE----- --MAI/ZU7774XuDDY6--