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 A94AB5D5 for ; Sun, 24 Jan 2021 15:52:38 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.79,371,1602540000"; d="scan'208";a="488747231" Received: from prod-listesu18.inria.fr (HELO sympa.inria.fr) ([128.93.162.160]) by mail2-relais-roc.national.inria.fr with ESMTP; 24 Jan 2021 16:52:37 +0100 Received: by sympa.inria.fr (Postfix, from userid 20132) id 28771E00CA; Sun, 24 Jan 2021 16:52:37 +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 9C63CE00A6 for ; Sun, 24 Jan 2021 16:52:33 +0100 (CET) Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=Markus.Elfring@web.de; spf=Pass smtp.mailfrom=Markus.Elfring@web.de; spf=None smtp.helo=postmaster@mout.web.de IronPort-PHdr: =?us-ascii?q?9a23=3AKtv7cBeKYcwR8wwLlH6PWksGlGMj4u6mDksu8pMi?= =?us-ascii?q?zoh2WeGdxcW7Zh7h7PlgxGXEQZ/co6odzbaP4ua6ACdcu97B6ClELMUTEUddyI?= =?us-ascii?q?0/pE8JOIa9E0r1LfrnPWQRPf9pcxtbxUy9KlVfA83kZlff8TWY5D8WHQjjZ0Iu?= =?us-ascii?q?frymUoHdgN6q2O+s5pbdfxtHhCanYbN1MR66sRjdutMZjId/Lqs90AXFrmZHd+?= =?us-ascii?q?lZ229jOFafkwrh6suq85Nv7iZdt+g9+8JcVKnxYrg1Q6FfADk6KW4++dfltQPE?= =?us-ascii?q?TQuB53scVnsZnx9VCAXb7x/0Q4n8vDLiuuVyxCeVM8v2TaspWTu59KdkVAXoiC?= =?us-ascii?q?YcODEn9mzcl9F9g7haoBKloBx/3pLUbYSIP/dwYq/RYdUXTndaU81PSyJOHJ+z?= =?us-ascii?q?b4oXD+oAI+lYqZX9p0ATphe6HAWgGf/jxiNNinLwwKY00fkuERve0QI+EdIAsG?= =?us-ascii?q?naotb7OqgcXu+6zrXHwzrYYvNKwDfw8pTEfgwvrPyOW797bMrfyVMoFwPAllie?= =?us-ascii?q?rpbqPymW1uQQqGiQ8uVuVeahi249qgFxpDevzdorh4fOnI0V0FPE9ThiwIovKt?= =?us-ascii?q?O4TEB7YcSlEJtWuCGXLIV3Td05TG1ypSk11KQLtJimdycF1Jop3QTQa+Cbc4eW?= =?us-ascii?q?+BLjUv6cLSlmiXxrdryzmQi//Eujx+HhS8S50FVHoyhEn9fCq30A1B/e59SFR/?= =?us-ascii?q?dg4kqs1jWC2g/T5OxKPEw5l6jWJ4M9z7M2i5EdslzDEzfolEnrkqOabFso9vaq?= =?us-ascii?q?5uj9f7nrpIWQO5Jphg3mNqkjlNazDfk2PwUARWSX5Oax2b358UD6RLhHiOA9nL?= =?us-ascii?q?PDv5DAP8sbo7a0Aw9L3YYn7BayFzKm0NMFnXkbNl5EdgyIgJPzN17TPv/0Ffa/?= =?us-ascii?q?g1Kynzd33/3KIKDtDovXInTdjrvsf6xx51NexQYp0NxT+opYCrQbL/LyXk/xus?= =?us-ascii?q?bYDhg8MwGsxOjoEs991oADWWKUGKOXP6fSsVGS5uIuJemMa5QYuTjjJPc+/fLh?= =?us-ascii?q?kGE2lUcHfaa1xZsXdGy4HvN+LkqFe3Xsh9MBHX4Ovgo/V+zqlEaPUSVTZna3R6?= =?us-ascii?q?Iz/Cs3CIOgDYfZR4CimqaN3CmhHs4eWmcTLVSND3ryP6+NXfsBbGrGJctgjDEe?= =?us-ascii?q?fbagUZQ9kxCo8QX30b5mKKzY93tLm4jk0Y1Q7vfQiAp62Dh6FcWb3CnZamhunX?= =?us-ascii?q?4TARIy0rp+p0NV1VqJl6R11a8LXedP7u9EB19pfaXXyPZ3XpWrAlqYIoW5DW2+?= =?us-ascii?q?S9DjOgkfC8oryo9cfEt3Xdmv3EiajniaRoQNnrnOP6Qat6fV3nz/PcF4myTZ2a?= =?us-ascii?q?Nng1R0G5ISZ13jvbZ28k3oP6CMk0idkP/xJ6EbwTKL62qJi2aD7hlV?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0D4BwAhlw1ghwsR49RiHgEBCxIMQIFRg?= =?us-ascii?q?wptMi+EQJErMIN9hjKGKItqCwEDAQ0sAQIEAQGESgKBeAIdBwEENQUNAhABAQU?= =?us-ascii?q?BAQECAQMDBAETAQEBDA0JCBsOhWgMgjgpAYMSAQQBIx0BAREmAQQLCxoCJgICV?= =?us-ascii?q?wYNCAEBgyKCVQEDDiSzRoEygwUBAQaCTIF5HywiTYE7CYEOKoxFeSYPgU0/gTi?= =?us-ascii?q?CRC4+hD6DGYJgg0RuRIF/jymoVCwHgWiBEoEdC5o7BQofkwcNBo9esTGEbIFug?= =?us-ascii?q?XkzGiRPgmlQGQ2NRVwahAqKJkAzNwIGCgEBAwlZAQGLOgEB?= X-IPAS-Result: =?us-ascii?q?A0D4BwAhlw1ghwsR49RiHgEBCxIMQIFRgwptMi+EQJErMIN?= =?us-ascii?q?9hjKGKItqCwEDAQ0sAQIEAQGESgKBeAIdBwEENQUNAhABAQUBAQECAQMDBAETA?= =?us-ascii?q?QEBDA0JCBsOhWgMgjgpAYMSAQQBIx0BAREmAQQLCxoCJgICVwYNCAEBgyKCVQE?= =?us-ascii?q?DDiSzRoEygwUBAQaCTIF5HywiTYE7CYEOKoxFeSYPgU0/gTiCRC4+hD6DGYJgg?= =?us-ascii?q?0RuRIF/jymoVCwHgWiBEoEdC5o7BQofkwcNBo9esTGEbIFugXkzGiRPgmlQGQ2?= =?us-ascii?q?NRVwahAqKJkAzNwIGCgEBAwlZAQGLOgEB?= X-IronPort-AV: E=Sophos;i="5.79,371,1602540000"; d="scan'208";a="370945066" X-MGA-submission: =?us-ascii?q?MDHtzzKaRemFL8kqnep9mGknBIj0LNC1JL+hVU?= =?us-ascii?q?SiglywxvYxEgqBIYW3Ko5tNOyjrQc0lot9l2NuhnbnS6ub1Eo0ZzrbV7?= =?us-ascii?q?lBOx1O0jyvyoRa/jJMSY+8AQy+XOzNqi6J/2rVfk8/8kuKSbSQZfAc5V?= =?us-ascii?q?RGWw+EG1IZQy4sb4yupRHI2Q=3D=3D?= Received: from mout.web.de ([212.227.17.11]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Jan 2021 16:52:32 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1611503549; bh=7btptvNqqItfQRS+CTmiMPClI0k8/jDaxns9iD1X2Jc=; h=X-UI-Sender-Class:To:Cc:References:From:Subject:Date:In-Reply-To; b=ZyLsPjys62Nz/xqgr7qbATnr/cHIxTdV3oLUwcMyPhIgJy5N0UGsY2dAobJw7nb/P 06Cp2iprWxri0VD+Icm9PZ1WLUd1NMjwFxGXUL00dfWVBrTXkHOG2ngtYJOSD9Ppgr qaU5X2IyJeMS7GxKfeF82e5JQF2GMD7MJsKuzen4= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from [192.168.1.2] ([93.133.175.89]) by smtp.web.de (mrweb102 [213.165.67.124]) with ESMTPSA (Nemesis) id 0MSads-1lT6K11C0y-00RabV; Sun, 24 Jan 2021 16:52:29 +0100 To: Oliver Bandel Cc: caml-list@inria.fr References: <41485ac7-50cf-08fe-4206-b9f863c4d2f5@web.de> <20210124143420.443qexv5dvgtqpbm@first.in-berlin.de> From: Markus Elfring Message-ID: Date: Sun, 24 Jan 2021 16:52:28 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 MIME-Version: 1.0 In-Reply-To: <20210124143420.443qexv5dvgtqpbm@first.in-berlin.de> Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:M4tojDveSuTJI1NHIDfGjNxsTxTIYCMlPkAqgLHQns3mRYo7IiH yDVkECng/UixFL/xkKENZtDynJWzk2CfCbQTQXq0LRHROY4/71fsLbR+nRVwtIOTsht60AW TWd6lzwiWDTCb0QKNgtmRi/nuLK1iwW6d1c+okiYpdFuoQrj1PvFvG6LPcIFZfjHGmKQJk1 b0dKYwI0IpgCgXUxK6uSw== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:GyLW3WgQg9c=:BbfMRAzIFTA457iM0ViVMZ tmCl4JHIngH4RFVeoVkkoI2/ithDFPWqWitAW6fCFRJ+fMssbM1J/XUinUE7y2h2g2+S/Tixd p+vJSvqbgYDjhkk4zA4bJ+ki2CRLdBY05QItq0yuzGTbTiW4onj5w7qv2TpLLU9dh4KpkwHmT rvacYkM6pbAyiFxs8h7Xr39eWtdAGLOo1RnIyYc4f2G7ZOnY8yPhQR2d/CEogeDhdx2bH9AC7 v/bjjRBSeQymNk/5yfmpesNTHpmYDiU3bzhOHbIjndRcO48NLl1KB1pmPRGf0ypbXtA7aUdbj Nu/F77HReFfbDV3rdpKDSrSVRs/JCZTEfzKygFalBtNIYLOAYOfTy/og275IBeuFWn8GuuEcv BJfrAPH776UG9kHSP21VocJNGQgGexqNGvGIHUlVGQi4UVjitIBAaigau6b1+AOfJNUesMrba Q/2kfXOd3IA31snQDIP4/WOx/A61kLAhcaiao1QMZW4Hch4s02hJCIDXoT/3/BnVgKmmW/yo4 M6UorYLieLNjcgYKn6DMTaAyheCmJaL2RkFj2HA86jb35XnHMPvHzpyXpoEiLeTnlpS06XgrS d9AgqSIjl+Q7i11806gH3ZarItQpSAbQA804yPdQhd4cBbRo441xFWiTE8Vit4A0e8sZTy3VE ZBUbE7CuDR/N3seWuF+x4GliPP2/tOC0FUbSUIz9vpZc/qReCeuA0tgSrjPQ2H+zy8cZ1/Wep XoLYcZb8ITyZ3vi0nyUYLi/tSD+XT/wLtnTYLI4vga4Hkbd6cU9cAFW5DvflkXLU0a5NSQ6zZ e2BtceSqWfVTxni22aDTwZK03MTvI3t4wzYfgszVfh2msobXBobjgT3M+829INU5m5XWNMMJx PL+qC1wIri2PNZcVAfEQ== Subject: Re: [Caml-list] Detecting missed checks for error indications in ML code Reply-To: Markus Elfring X-Loop: caml-list@inria.fr X-Sequence: 18380 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: > But OCaml isn't just only a functional language. > It's also a typed language. And the type system can help you at this poi= nt. > You can use the option-type for indicating missing data. I am looking more for possibilities to avoid missed checks for return valu= es from some function calls. >> I got the impression that corresponding error checks can occasionally b= e missing. >> How do you think about to detect such cases by advanced source code ana= lysis? > > No need to thest these kind of problems, as long as you use the type > system to help you as mentioned above. Can it still happen then to overlook desirable checking of provided data? > Since a while OCaml also offers a result-type, which you can use. Do any programming interfaces need still to work without this special data= type? > It might be better than the option type in more general cases. > And if predefined types don't offer what you are looking for, > just define your own type. Customised types can be constructed only for new programming interfaces. Would you like to offer any companion functions for safer API variants? Regards, Markus