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 BBEA47EE49 for ; Thu, 19 Sep 2013 08:18:40 +0200 (CEST) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of oleg@okmij.org) identity=pra; client-ip=66.39.3.115; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="oleg@okmij.org"; x-sender="oleg@okmij.org"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of oleg@okmij.org designates 66.39.3.115 as permitted sender) identity=mailfrom; client-ip=66.39.3.115; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="oleg@okmij.org"; x-sender="oleg@okmij.org"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@www1.g3.pair.com) identity=helo; client-ip=66.39.3.115; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="oleg@okmij.org"; x-sender="postmaster@www1.g3.pair.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AokHALCWOlJCJwNzXWdsb2JhbABaxT6BNwMYBw4GPoIseRs0VRQUiAi6IY9nBxaECAOXegGVGDw X-IPAS-Result: AokHALCWOlJCJwNzXWdsb2JhbABaxT6BNwMYBw4GPoIseRs0VRQUiAi6IY9nBxaECAOXegGVGDw X-IronPort-AV: E=Sophos;i="4.90,934,1371074400"; d="scan'208";a="33458234" Received: from www1.g3.pair.com ([66.39.3.115]) by mail2-smtp-roc.national.inria.fr with SMTP; 19 Sep 2013 08:18:38 +0200 Received: (qmail 17830 invoked by uid 9370); 19 Sep 2013 06:18:38 -0000 Date: 19 Sep 2013 06:18:38 -0000 Message-ID: <20130919061838.17829.qmail@www1.g3.pair.com> From: oleg@okmij.org To: yotambarnoy@gmail.com CC: caml-list@inria.fr In-reply-to: Subject: Re: [Caml-list] Expanding the Float Array tag I am curious about the focus on generalizing double_tag or double_array_tag when there is already a seemingly good candidate for tagging values that should not be scanned. I mean the string_tag. Please search the OCaml code for string_tag and String_tag. You see it is mentioned in generic routines like generic comparison compare.c -- which uses memcpy anyway, thus treating the string just like a sequence of bytes. Other generic functions like hash are similar. The only other non-trivial use of string_tag is in printexc and the likes. Those cases are indeed problematic. Other than them, string_tag can denote arbitrary opaque byte array and noone will notice. Incidentally, if by string we mean UTF-8 or UTF-16 string, it is essentially a sequence of bytes anyway.