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 09D6D5D4 for ; Fri, 29 Jan 2021 21:14:39 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.79,386,1602540000"; d="scan'208";a="489882679" Received: from prod-listesu18.inria.fr (HELO sympa.inria.fr) ([128.93.162.160]) by mail2-relais-roc.national.inria.fr with ESMTP; 29 Jan 2021 22:14:38 +0100 Received: by sympa.inria.fr (Postfix, from userid 20132) id 70022E03B5; Fri, 29 Jan 2021 22:14:38 +0100 (CET) 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 6AA2AE00BF for ; Fri, 29 Jan 2021 22:14:34 +0100 (CET) Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=oliver@first.in-berlin.de; spf=None smtp.mailfrom=oliver@first.in-berlin.de; spf=None smtp.helo=postmaster@einhorn-mail-out.in-berlin.de IronPort-PHdr: =?us-ascii?q?9a23=3AYhzPtxMxFmwfCCt0wQkl6mtUPXoX/o7sNwtQ0KIM?= =?us-ascii?q?zox0K/z7p8bcNUDSrc9gkEXOFd2Cra4d2qyN6eu5AzZIoc7Y9ixbL9oUD15NoP?= =?us-ascii?q?5VtjRoONSCB0z/IayiRA0BN+MGamVY+WqmO1NeAsf0ag6aiHSz6TkPBke3blIt?= =?us-ascii?q?daz6FYHIksu4yf259YHNbAVUnjq9Zq55IAmroQnLucQanI9vJrw/xxfXrXdEZv?= =?us-ascii?q?payX11Ll6Xgxrw+9288ZF+/ylSof4t69JMXaDndKkkULJUCygrPXoo78PxrxnD?= =?us-ascii?q?SgWP5noYUmoIlxdDHhbI4hLnUJrvqyX2ruVy1jWUMs3wVrA0RC+t77x3Rx/yiS?= =?us-ascii?q?cILCA2/WfKgcFtlq1boRahpxtiw47IZYyeKfRzcr/Bcd4cWGFMWNtaWS5cDYOm?= =?us-ascii?q?d4YBAeoPM/hFoYf+qVsBogexChSjCuzt0TJImnz70Lcm3+g9DQ3L3gotFM8Ovn?= =?us-ascii?q?TOq9X1Mb8fX/mxzKnJ0zXMcelW0irg5YfSdBAuvO+DXbZtesfWzkkvEwLFjkuO?= =?us-ascii?q?poz/JD6V2OUNs3KA7+p8T+6vimgnpxhqrTex3McsjojJhoQPxl/Z6yp02YA4Ls?= =?us-ascii?q?C3R0Bne9CrCodQtz2EOItsRMMvW2NltDgnxrACpZO2fyYExZc7yxDRaPGLb4eF?= =?us-ascii?q?7w/+WOuPLjp2inNodbOhixu88UWs1vPwW9Wo3FpXoCdIkMfBum4L2hfO5MaHTf?= =?us-ascii?q?598V2g2TaJzw3S6uZEIV0olarGMJEu3KQ8mYYUsUTGBiP2m1v5jKuIeUU/+uin?= =?us-ascii?q?9frnbq/6qZ+bMo94kh/+MqUrmsOhBuQ0KBQBX2+e+eikzr3s41f2QLFEj/0xiK?= =?us-ascii?q?nZtI3VJcMHqaGjBg9V1pwv6xGlDzep1tkTgHoJLEpddR6ZkoTkOUvCLO38APq9?= =?us-ascii?q?mVihkytny+rYMrH8BJjGM2LNn637fbln7k5R0Aozws5b55JTErwOPvPzWknxtN?= =?us-ascii?q?zfFB85NRW4w+P9B9V80oMSQGWPArKFMK/IsF+I4PsjLPKSa48PvDb9Kv4l6+Tz?= =?us-ascii?q?gnAngVMdfK+p0oULaH2gAPhqPkeUbWDxjtoFE2oGpAkzQPDwhFGcTDJff3OyUL?= =?us-ascii?q?g95jE/BoKmF4DDRoW1jbyG2Ce7H4NWaX5cCl2XH3fodp+EW+wQaC6II89hlCUI?= =?us-ascii?q?WqO/RI870RGutQn6x6B6IeXK4iEYr47s1MBp5+3PkhE/7SB7AN6Y02GJVm10mm?= =?us-ascii?q?IIRyQq3K1kukx8ylKD0bBijPBCFNxT4elJUgYgOpLGwex6EYO6ZgWUdd6MTBOi?= =?us-ascii?q?Q866KTA3VNM4hdEUMGhnHND3qRTCwSewS5UckbCGANRg9abdwXXrD8h80W3akq?= =?us-ascii?q?gnylMrWM9OMyuqi/gspEDoG4fVnhDBxO6RfqMG0XuVrTbR/S+1pEhdFTVIf+DA?= =?us-ascii?q?VHEbaFHRqI6htE3DVaSyT7UhdwFM08qDLO1GZ4+x1AkUdLLYIN3bJlmJtSKoHx?= =?us-ascii?q?/SnuGCbZDxZyMc2mDXBVIAkgZV8XvUbVFjVBfkmHrXCXlVLXyqY07o9rIn+n66?= =?us-ascii?q?SE8z1QfPakRg0/+y5wJThPrZQf4J2rMC/iss+W15?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0C5BgAvehRgfRVQxdliHgEBCxIMQIFRg?= =?us-ascii?q?x9WATUvhECJBIY6gheaS4F7CwEDAQsBASMMBAEBgVWCdQKBeAIdBgY2BA0CEAE?= =?us-ascii?q?BBQEBAQIBAwMEARMBAQ8UCIYRDYI4IoMaBiMPAVYlAiYCAlcZgyeCVQMyC7Rjg?= =?us-ascii?q?TKEQAGDYCJNgT4GgQ4qjT4mG4IAgUeDIYJdAgEBF4ITgkyCYASBVYFcET0Cc2q?= =?us-ascii?q?QQakHgW+BEQSBGYgVkjQPIoElkXiPZ51RgXqWPgIKBxaBcA6BaTMaCBwUO4JpE?= =?us-ascii?q?z0ZDY5YgzqFFIVFQAMwAjUCBgEJAQEDCYwVAQE?= X-IPAS-Result: =?us-ascii?q?A0C5BgAvehRgfRVQxdliHgEBCxIMQIFRgx9WATUvhECJBIY?= =?us-ascii?q?6gheaS4F7CwEDAQsBASMMBAEBgVWCdQKBeAIdBgY2BA0CEAEBBQEBAQIBAwMEA?= =?us-ascii?q?RMBAQ8UCIYRDYI4IoMaBiMPAVYlAiYCAlcZgyeCVQMyC7RjgTKEQAGDYCJNgT4?= =?us-ascii?q?GgQ4qjT4mG4IAgUeDIYJdAgEBF4ITgkyCYASBVYFcET0Cc2qQQakHgW+BEQSBG?= =?us-ascii?q?YgVkjQPIoElkXiPZ51RgXqWPgIKBxaBcA6BaTMaCBwUO4JpEz0ZDY5YgzqFFIV?= =?us-ascii?q?FQAMwAjUCBgEJAQEDCYwVAQE?= X-IronPort-AV: E=Sophos;i="5.79,386,1602540000"; d="scan'208";a="371555483" X-MGA-submission: =?us-ascii?q?MDFnAQbxFEeqZasFIlpeWmvoNVuDTauyEadSFI?= =?us-ascii?q?xIr7eQFHjiUE9QNaGVhGIyfbYX+X//wIYmuGKaNYjAGZIPZXmo2if5YQ?= =?us-ascii?q?FyXKnMJMkQ5GFpHIK/Wo5JKemrFvrrFudEAcG8oZg89SzqFOq0Mvlfsx?= =?us-ascii?q?HSi0MlOOklW1zlGke8QJf7Xw=3D=3D?= Received: from einhorn-mail-out.in-berlin.de ([217.197.80.21]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Jan 2021 22:14:27 +0100 X-Envelope-From: oliver@first.in-berlin.de X-Envelope-To: Received: from authenticated.user (localhost [127.0.0.1]) by einhorn.in-berlin.de with ESMTPSA id 10TLEQwf021392 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT) for ; Fri, 29 Jan 2021 22:14:26 +0100 Date: Fri, 29 Jan 2021 22:14:25 +0100 From: Oliver Bandel To: caml-list@inria.fr Message-ID: <20210129211425.gqto6k3qz6g7kvkp@first.in-berlin.de> References: <41485ac7-50cf-08fe-4206-b9f863c4d2f5@web.de> <20210124143420.443qexv5dvgtqpbm@first.in-berlin.de> <20210124161831.5w7y7n7ixjkfpirm@first.in-berlin.de> <56ea8f06-4f24-a2e4-ee8b-4443de993a36@web.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <56ea8f06-4f24-a2e4-ee8b-4443de993a36@web.de> Subject: [Caml-list] Error handling in FPLs (Re: Detecting missed checks for error indications in ML code) Reply-To: Oliver Bandel X-Loop: caml-list@inria.fr X-Sequence: 18391 Errors-To: caml-list-owner@inria.fr Precedence: list Precedence: bulk Sender: caml-list-request@inria.fr X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: Archived-At: Quoting Markus Elfring (snt: 2021-01-24 17:50 +0100 CET) (rcv: 2021-01-24 17:50 +0100 CET): > >> I am looking more for possibilities to avoid missed checks for return values > >> from some function calls. > > [...] > > > > Effective ML (a talk by Yaron Minsky) > > https://www.youtube.com/watch?v=-J8YyfrSwTk > > How do you think about to extend the software evolution another bit also > according to information from an article like “Composable Error Handling > in OCaml” by Vladimir Keleshev (from 2018-02-12)? > https://keleshev.com/composable-error-handling-in-ocaml [...] Ah, ok, now I understand what you were talking about. The subject, imho, implies other things. I give the question back to you: What do you think about this here: Railway oriented programming: Error handling in functional languages by Scott Wlaschin https://vimeo.com/113707214 And about the "bind" here: https://dev.realworldocaml.org/error-handling.html Does that address what you are looking for? Ciao, Oliver