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 262AD5D5 for ; Wed, 15 Jun 2022 14:08:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inria.fr; s=dc; h=mime-version:references:in-reply-to:from:date:message-id: to:cc:subject:reply-to:sender:list-id:list-help: list-subscribe:list-unsubscribe:list-post:list-owner: list-archive; bh=N6uY39W8dFkl85gS/kgAI41q8Jq9uyG0BTrTvbg+ODI=; b=eIxZh537MTPp5McR3B3HM6FgSzIMgWs9hsqAi+xrGgvbJvLvE2Rgh/1B ufRXdOoDo3tVJV6dEyTqVguJrwmmXcL0J6IeSTSk+uStN0vUsacpmdk3d ydXZLS4EEQAKDL3milSKNv9S9u9AOBTxUYT6/3UwYxsDFKPs1wvpw4n56 U=; Received-SPF: SoftFail (mail2-relais-roc.national.inria.fr: domain of caml-list-owner@inria.fr is inclined to not designate 128.93.162.160 as permitted sender) identity=mailfrom; client-ip=128.93.162.160; receiver=mail2-relais-roc.national.inria.fr; envelope-from="caml-list-owner@inria.fr"; x-sender="caml-list-owner@inria.fr"; x-conformance=spf_only; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:192.134.164.0/24 mx ~all" Received-SPF: None (mail2-relais-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@sympa.inria.fr) identity=helo; client-ip=128.93.162.160; receiver=mail2-relais-roc.national.inria.fr; envelope-from="caml-list-owner@inria.fr"; x-sender="postmaster@sympa.inria.fr"; x-conformance=spf_only Authentication-Results: mail2-relais-roc.national.inria.fr; spf=SoftFail smtp.mailfrom=caml-list-owner@inria.fr; spf=None smtp.helo=postmaster@sympa.inria.fr; dkim=pass (signature verified) header.i=@gmail.com X-IronPort-AV: E=Sophos;i="5.91,302,1647298800"; d="scan'208,217";a="41184126" Received: from prod-listesu18.inria.fr (HELO sympa.inria.fr) ([128.93.162.160]) by mail2-relais-roc.national.inria.fr with ESMTP; 15 Jun 2022 16:08:39 +0200 Received: by sympa.inria.fr (Postfix, from userid 20132) id 0F529E0152; Wed, 15 Jun 2022 16:08:39 +0200 (CEST) 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 E9489E0038 for ; Wed, 15 Jun 2022 16:08:35 +0200 (CEST) IronPort-SDR: gksM5csaw17HsOuY7pDXpoNOXqvF+DpKWgxOoVQLvi24Vl3FzwlnBGNlG0EAWKjeYKZyO23OY7 242As0QwyK5hK4RCsvkIh1qe3AYvbZPybsr46wBSdUKR3rkLz8AR9+pl/ZGArw/hjEGbtmHIE9 TIgyyBGoNf/lAL6zuRQbMl1xy9ZmU6tQQZ04rgwBUxPoTA1xhelPkONNSXXdE+6a7vRShElaPb 1EDZ61u2WEYxw31SNZuLg2mtv8xswGxkDJ7rjnjvC6PnhRXsnxMFlxcKnq3QUK6Cq/BNCM1MWE tuw7gNbjKPlH9puWDlevfEMy X-IPAS-Result: =?us-ascii?q?A0ACAwC+5qlifzanVdFaDhABAQsSDIQzMwFNVS8EC0SET?= =?us-ascii?q?oEjjUSCKIwwiXmIPgsBAwENOwcEAQE+hEUChUgCHQcBBDQTAQIEAQEBAQMCA?= =?us-ascii?q?wEBAQEBAQMBAQUBAQECAQECBAQBEwEBDQsJBwgKBw4OBWABYQMBRIFPgXQLA?= =?us-ascii?q?zENgjUpAYNkAQEBAgESER0BGxcGAQMBCwYFBAc3AgIiAREBBQEcBhMiglyCZ?= =?us-ascii?q?AEDDSMDD6B5gQRCizKBFQUXgQGCCQaBQAGDCgoZKA1nA4FZAgEGEoErhh6BK?= =?us-ascii?q?AEBgw2EHicQgVVEgUuCdD6CYgEBAoILgymCZQSYWAQHAwQFAQYOAwMCIgECA?= =?us-ascii?q?UYjAgIBAQsCBgYEBgMBAQYDCQIEAhICAgQHGAoSCBQDAgYCIAUBBwUBBAMSB?= =?us-ascii?q?gwRAQgGBgEEAgoBAgIFBQwDAREBBAIGAgQEBBgUBAIEBwYCCQkHBRYLBAoCF?= =?us-ascii?q?gEcAgYMCAICAgICBBUHAQ0FAgIEDwIHBgMLAgMFBwMDBAcMBgwOAQMBBwEEB?= =?us-ascii?q?QMNBAEBBgILAwUKAgECAwwBAQcECAEBAgIKAgEEAgcBAgUDAgMIAwIDAwICA?= =?us-ascii?q?QEEEQIDBAMEAgMBBQEBBQMCBQEDAwIBAwMDAgEEAwYJCgQIAQQEAQEBEQIHB?= =?us-ascii?q?wIGAwMCAgICBQECDQECAQIEAwgGAgMUAQIEAQoBBQIDCQIHAwEBAgcFCgIHB?= =?us-ascii?q?QIHAgIEAQUDDQEDBQIDAQEDAwIEAQIBAwMJAQMCAwMCAgICBQIDAgICCQMEA?= =?us-ascii?q?QcDAgEBBAUBBAMBAgoEBAMEAgQCBwIHAgQHAgEEBgMHBgEDAgEHAQEECgQDA?= =?us-ascii?q?wMBAQcBAgUCAgMCBhIGBwIEAQMEBAoCAgwCBwEBAgEBAQECAwIHBQwBAQEDA?= =?us-ascii?q?gMGAgUCAgEBAwgIAwIBBAEFAwEEBQMHAgEFCQIJAwMBCAMBAQUBAwEJAwMDA?= =?us-ascii?q?gkDAQICAgsEAwgDAwIDBAICAgIBAwIHBQgEAQQKAgICAQICAgQCAQMaAQIDB?= =?us-ascii?q?QICCQwBBAICAwEDAQECCAQJBAIDBAIBAQMCAQICAQUCAw0GAQEBAQIDAwECA?= =?us-ascii?q?wEBBgcCCAIzEwEDAwIBAgICBQICAQIDAgINAQEBBAIBAgECBgEDAQICAwEDA?= =?us-ascii?q?QICBgIMAwgCBwEFAwMCAgMBAQUPBQIBBAIBAgYFAgEBAQQBAwQECAICAQMDA?= =?us-ascii?q?g4CBAEEAQIBASMDBAIDAQMXAQIBAgMDAwQGBwYCAQITAQIBAQEFAQIBAQQCB?= =?us-ascii?q?AQHCgMCAgIGAwMFAQECAwIBAQEHDAICAhMCBAoJAwEGAQoGBhUDAgQCAgECA?= =?us-ascii?q?gIKAwECAgEDAgkCAQIBBSQDAQEPJAEBAgIBAgIDBAcCAQQGAw0CAgEBAQUGD?= =?us-ascii?q?QMCAwgMAgkDAgIDBQECAgIEAQIEDAoBAgIBAgIEBQUDAgEIBgUNBQkLAQICA?= =?us-ascii?q?QMIAQQDEQIGAwUFAwMCAQoFAgMBAgEBAwEEAQMEBgEBAgMCAgEIAgIBAQMDB?= =?us-ascii?q?AMBAgYCAggCAwIBBAIDAwEBAQQCAgICAgQDCAMCAQgHBQEGAQIBBAMCAgECB?= =?us-ascii?q?wEEAQkCAQMDBQMEAQoDDwMFAwEDAwIVCgQEAQUIBAQJAgQFAgUDAgQCAwMCA?= =?us-ascii?q?ggFAgQDAg0DAgIGAwQCCAQQBwICAwICBQICAgICBQQDAQICAgUCAgYCBgYnA?= =?us-ascii?q?QEFZJoZgSQgeJNOOq4iNAeDUYE+BgyJT5R0MahgLZY/iluCUpRzhQMQIxKBQ?= =?us-ascii?q?4F+MxojUDGCN04BAgEBAQ0BAgEBAwECAQIJAQECjh2DcoUUhQVHQjELMAIGA?= =?us-ascii?q?QoBAQMJjwEBAQ?= IronPort-PHdr: A9a23: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 vsehQ53YOBr/zDpsQ9fGw== IronPort-Data: A9a23:IOtDZq1zuYwrEsjX+vbD5e93kn2cJEfYwER7XKvMYLTBsI5bpzRUn DZLD2mFOPvYZmekKYpwPtuyoBxVsJ7QmIBnTVA+3Hw8FHgiRejtVY3IdB+oV8+xBpSeFxw/t 512hv3odp1coqr0/0/1WlTZhSAgk/nOHNIQMcacUsxLbVYMpBwJ1FQywobVvqYy2YLjW13U5 IuryyHiEAbNNwBcYjp8B52r80sHUMTa4Fv0aXRjDRzjlAa2e0g9VPrzF4npR5fLatU88tqBe gr25OrRElU1UPsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0o2HKJ0VKtZt9mGt/Zyk s0Uu63hcF4OPL/VvrofSBJ1ThgraMWq+JefSZS+mcmazkmDd3W1hvszUAc5OooX/usxCmZLn RAaAGpVP1bT2qTvnu39F7UEascLdKEHOKsQs3t6zDzdS+0tQZ3ZTr/i6tpR3TN2jcdLdRrbT 5ZAMGozNUybC/FJEl5GCIkbnaSBvHbEWgRUtAyHprEbvkGGmWSd15C0aIaPEjCQfu1el0Oc4 2bH5HjRGQAfLNXZyDyf83vqiPWnoM/gcIcbFbn98vAzxVPOmiocDxoZUVb9qv684qKjZz5BA 2oXoDJ3o5ljzRWMTMvkeUO6u3Wp4ydJDrK8DNYGwA2Kz6PV5SOQCW4FUiNNZbQaWCkeFWxCO rihz4OBONB/jFGGYSnCqerM/FteLQBQfDBSP3ZVJecQy4C7+Nlbs/7Zcjp0/EeIYjDdHDjxx 3WOonF7iehPy8EM0Kq/8BbMhDfESnn1ouwdtlS/soGNtFgRiGuZi2qAtwWzARFoctvxc7V5l CJY8/VyFchXZX13qASDQf8WAJai7OufPTvXjDZHRsd8qm72oiL5I9wIsVmSwXuF1O5UKVcFh 2eD6WtsCGN7YRNGkIcsP97rVJx0pUQePY26DauPBjaxXnSBXFbfoHsGib+40Gfqn0wh+ZzTy r/KGftA+U0yUPw9pBLvH7l1+eZymkgWmD2OLbimkEzP+efPPBa9FOZeWHPTP7BRxP3e/G39r Y0EX+PUkEU3bQELSnOImWLlBQtacyZT6FGfg5A/S9Nv1SI9RTh4UqGPmOJ+E2Gn9owM/tr1E riGchcw4DLCabfvcG1ms1hvN+HiW4hRt3U+MXB+NFqkwSlxboOm7aNZfJwyJOF1+OtmxP9yb v8EZ8TQWqQVGmqbo2wQPcvnsYhvVBW3ngbRbSeoZT4IeZQ/FQHE/9nTeBTiqXsVBS2tuMpi+ LCtj1uJQZcKSwl4ItzRbfajkwG4sXQHybB9WkLJJp9Yf0C1qNpmLCn4j/kWJcAQKEWblmHKi VrOWRpB/LvDuY449tXNlJuolYbxHrssBFdeEkna8a2yanvX82+l9olKD7SFcDXbY2Xrofnwa OhQycb8B/0JhlN9tYRxTuRwxqUk6tqz/rJXw1g2HHjPaFj3WLpsLmPchptKv6xJg7tX4E64B x7J9d5dNrGEfsjiFQdJdgYia+2C09ASmyXTvatpehSkvHcv8erVS1hWMjmNlDdZcOl/PrQjz Lpzo8UR8QG+1kcnP4rUlCxS7GjQfHUMX7997cMfCY7vzw4lkxRMPMCaBSjx75WCLd5LNxByc DOTgaPDgZVax1bDIyVvTymThbIFiMRcog1OwX8DO0+NxojPiMgx0UAD6j8wVAlUkkhK3u8b1 rKH7KGpyXhiPguEhfSvm0ipEgBFQRmXown/lgdPm2reQE2lEGfKKQXR/ApLEF8xqwphkvpzp dl0C1oJlR7lecjw2m05XksNRznLU4lq7gOb8Cy4N53tInT5CAYJRoehYGMJr13sBsZZaIgrY wV11L4YVJAX/hL8b0H250d2GFjQpN25yLR+fMxc IronPort-HdrOrdr: A9a23:oeI1n6C8b2xShp7lHemT55DYdb4zR+YMi2TDGXoBMCC9E/bo7/ xG+c5w6faaskd1ZJhNo6HjBEDEewK+yXcX2+gs1NWZLW3bUQKTRekI0WKh+V3d8kbFh4lgPM lbAs5D4R7LYWSST/yW3OB1KbkdKRC8npyVuQ== X-IronPort-Anti-Spam-Filtered: true X-IronPort-AV: E=Sophos;i="5.91,302,1647298800"; d="scan'208,217";a="41184103" X-MGA-submission: =?us-ascii?q?MDEegBVLpMw9uDQLTXq6ncm4xjSKM+6bRd5Y+m?= =?us-ascii?q?1/WcRgEtaGgjQOs6BAgATEWoYwkm3JeyYoSANORZBWXrf18vIZWe4rcm?= =?us-ascii?q?3Ew8Q11ckfpESp7pHzfnnCX1DGnRHBQtyS76oRNdjLc2PeTHBE+eLuUi?= =?us-ascii?q?C7pOMoZ2x/5cJH+MLKIQnoEQ=3D=3D?= Received: from mail-lf1-f54.google.com ([209.85.167.54]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Jun 2022 16:08:35 +0200 Received: by mail-lf1-f54.google.com with SMTP id be31so19100575lfb.10 for ; Wed, 15 Jun 2022 07:08:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=N6uY39W8dFkl85gS/kgAI41q8Jq9uyG0BTrTvbg+ODI=; b=p4wwhiFkjCruylhTQbFOSX0XR37EQwYzZSmSNbG++1cyThmqUEIpNOrZxwi8zuCGr+ DaHs/Ak01RObfP+Uv/GCDZoaZs9HQiTy3QCjq1P1Coh09Q0LoHK23JueZKvkbtK63xYB eYL/9wsgCebe0ZpdL5gFt62x72ab08uBYKuFyKjL9khEYKMr9OlHqr1Lo6UDvHRd+Ko6 rJm66HpU0EuloT6pmyfZivslVW9LzjXR7dE+G7cXIQDGmoA9NAD8FI+daSiea3XK0Bhe 3wOh/P0qGMyROmVPTcaLAfUEfzthxlGdBnakUXbFe9zklDLZWtY3hJ07JhGXnALXG/sK Flow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=N6uY39W8dFkl85gS/kgAI41q8Jq9uyG0BTrTvbg+ODI=; b=RWfVH88JFh8C33C05ndYXAN4HIJYq4zoBUtsUSoK9Vq3lG02PrdXrQcFTqxrfzOMdU k78YB3+zlvhxmRmuMDT6RJrZ8g73zy3ghkmgAGuXAJlgvDSv7Ltcv6ektjc71ms2/r5i P4SVpF++N8SlWPtFG8yoNwbMbaUAWr5TWE50eDdoBpQQPhLKq7HZxMFNSu7l33ojS3ov /dM9vDOuHipJ0dxw+5LOtnVjf4XyxIBWm+DjLTjqm8B311BurvLXCWP4oK0WndcKOURh LozfdgI7r9id4Gl99fID3NiHTTZcaYxQ82goE5ZX1ytCj9je4jvWWYUT1AKZgqvi8MIR 0g+g== X-Gm-Message-State: AJIora/rWa6uWVdR4KCVWEN5lLgySWuKRhmXwfN2rWPeQjtn+YhyqF5X gPUYucVyvxUApAzHC6K3RBubq5JZhXjbyFL9xE0d/h17szw= X-Google-Smtp-Source: AGRyM1v9TFAgiMZ9rX+o9HLkfLp28WDi/iMxq/JDpvBkM6jiQenUPKqrBojB4PlpvawqoG6SYdBs2DCpDpS9VUGqnkA= X-Received: by 2002:a05:6512:2242:b0:478:ee3a:460d with SMTP id i2-20020a056512224200b00478ee3a460dmr5980229lfu.493.1655302114382; Wed, 15 Jun 2022 07:08:34 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Gabriel Scherer Date: Wed, 15 Jun 2022 16:07:58 +0200 Message-ID: To: Kenichi Asai Cc: caml-list@inria.fr Content-Type: multipart/alternative; boundary="0000000000008619b205e17d0e3f" Subject: Re: [Caml-list] string_of_float (0.1 +. 0.2) Reply-To: Gabriel Scherer X-Loop: caml-list@inria.fr X-Sequence: 18799 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: --0000000000008619b205e17d0e3f Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Nathana=C3=ABlle Courant, with help from Julien Lepiller and myself, wrote = a rather complete interpreter/evaluator for OCaml parsetrees (in OCaml) as part of the Camlboot project https://arxiv.org/abs/2202.09231 https://github.com/Ekdohibs/camlboot https://github.com/Ekdohibs/camlboot/tree/master/interpreter We take as input OCaml parsetrees, but we evaluate into a type of "value" that we defined ourselves, and stores a "float" for floating-point numbers: https://github.com/Ekdohibs/camlboot/blob/2692b14a4e685387194556e511fe23057= d25c6c3/interpreter/data.ml#L46-L66 type value =3D ... | Float of float ... Kenichi, I don=C2=B4t understand what your own constraints, but in general = I have the impression that "float" is better than "string" to represent double values used for computation. "string" was meant to accurately represent the source value and avoid any serialization/portability issue, but those constraints are rather for data exchange. On Wed, Jun 15, 2022 at 4:00 AM Kenichi Asai wrote: > On OCaml 4.12.0 on M1 mac, I got: > > # 0.1 +. 0.2;; > - : float =3D 0.300000000000000044 > # string_of_float (0.1 +. 0.2);; > - : string =3D "0.3" > > Why don't I obtain "0.300000000000000044" here? > > Here is some background. I am writing an OCaml interpreter that > mimics most part of the original OCaml interpreter. In the OCaml > interpreter, 0.1 and 0.2 are represented as > > Pexp_constant (Pconst_float ("0.1", None)) > Pexp_constant (Pconst_float ("0.2", None)) > > When I add these two numbers, I would have to execute > > let a =3D float_of_string "0.1" > let b =3D float_of_string "0.2" > let c =3D a +. b > let d =3D string_of_float c > > and then return > > Pexp_constant (Pconst_float (d, None)) > > At this point, however, since d is "0.3" instead of > "0.300000000000000044" (even though c is 0.300000000000000044), I > cannot return 0.300000000000000044 as a result. How can I mimic the > OCaml behavior? > > Sincerely, > > -- > Kenichi Asai > --0000000000008619b205e17d0e3f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Nathana=C3=ABlle Courant, with help from Julien Lepil= ler and myself, wrote a rather complete interpreter/evaluator for OCaml par= setrees (in OCaml) as part of the Camlboot project

=C2=A0 https://arxiv.org/abs/= 2202.09231

We take as input OCaml parsetrees, but we evaluate into a type of "v= alue" that we defined ourselves, and stores a "float" for fl= oating-point numbers:
type value =3D
...
| Float of float
...
Kenichi, I don=C2=B4t underst= and what your own constraints, but in general I have the impression that &q= uot;float" is better than "string" to represent double value= s used for computation. "string" was meant to accurately represen= t the source value and avoid any serialization/portability issue, but those= constraints are rather for data exchange.

On Wed, Jun 15, = 2022 at 4:00 AM Kenichi Asai <asai= @is.ocha.ac.jp> wrote:
On OCaml 4.12.0 on M1 mac, I got:

# 0.1 +. 0.2;;
- : float =3D 0.300000000000000044
# string_of_float (0.1 +. 0.2);;
- : string =3D "0.3"

Why don't I obtain "0.300000000000000044" here?

Here is some background.=C2=A0 I am writing an OCaml interpreter that
mimics most part of the original OCaml interpreter.=C2=A0 In the OCaml
interpreter, 0.1 and 0.2 are represented as

Pexp_constant (Pconst_float ("0.1", None))
Pexp_constant (Pconst_float ("0.2", None))

When I add these two numbers, I would have to execute

let a =3D float_of_string "0.1"
let b =3D float_of_string "0.2"
let c =3D a +. b
let d =3D string_of_float c

and then return

Pexp_constant (Pconst_float (d, None))

At this point, however, since d is "0.3" instead of
"0.300000000000000044" (even though c is 0.300000000000000044), I=
cannot return 0.300000000000000044 as a result.=C2=A0 How can I mimic the OCaml behavior?

Sincerely,

--
Kenichi Asai
--0000000000008619b205e17d0e3f--