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 596DC2DF6 for ; Mon, 19 Mar 2018 21:25:02 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.48,332,1517871600"; d="scan'208";a="318887160" Received: from sympa.inria.fr ([193.51.193.213]) by mail2-relais-roc.national.inria.fr with ESMTP; 19 Mar 2018 22:25:00 +0100 Received: by sympa.inria.fr (Postfix, from userid 20132) id D1E65823D7; Mon, 19 Mar 2018 22:25:00 +0100 (CET) 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 D3CC9823D7 for ; Mon, 19 Mar 2018 22:24:53 +0100 (CET) Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=sp@orbitalfox.eu; spf=None smtp.mailfrom=sp@orbitalfox.eu; spf=None smtp.helo=postmaster@orbitalfox.eu IronPort-PHdr: =?us-ascii?q?9a23=3AXS0S2xUzavQ506VDnCOtRwvnFGbV8LGtZVwlr6E/?= =?us-ascii?q?grcLSJyIuqrYYh2Ft8tkgFKBZ4jH8fUM07OQ7/i7HzRYqb+681k6OKRWUBEEjc?= =?us-ascii?q?hE1ycBO+WiTXPBEfjxciYhF95DXlI2t1uyMExSBdqsLwaK+i764jEdAAjwOhRo?= =?us-ascii?q?LerpBIHSk9631+ev8JHPfglEnjWwba98IRmssQndqtQdjJd/JKo21hbHuGZDdf?= =?us-ascii?q?5MxWNvK1KTnhL86dm18ZV+7SleuO8v+tBZX6nicKs2UbJXDDI9M2Ao/8LrrgXM?= =?us-ascii?q?TRGO5nQHTGoblAdDDhXf4xH7WpfxtTb6tvZ41SKHM8D6Uaw4VDK/5KpwVhTmlD?= =?us-ascii?q?kIOCI48GHPi8x/kqRboA66pxdix4LYeZyZOOZicq/Ye94RWGhPUdtLVyFZDI2y?= =?us-ascii?q?b5UBAfcCM+ZWoIbyu0YBohmwCgS3GOPj1iVFimPq0aAgzegsFxzN0gw6H9IJtX?= =?us-ascii?q?TZtMj7Or0PWu2y16nI1S7Ob/RM2Tjm6YjIbgouofWCXbJ3fsvd01cgFx7cg1iW?= =?us-ascii?q?tIfrPCuV2/wJvmWb9eZsSOCih3A9pw1vrDWj2N0ghpfVio4LzF3P6D93z5wvJd?= =?us-ascii?q?KiTU52ed6kH4VUtyGdL4Z2RdkiTHppuCYm0LIGvZC7fC8FyZg92RHfduSLc4mO?= =?us-ascii?q?4h39SOacOTN1iXJ/dL6ihRu+71KsxvPyW8WqylpGsDZJnsfUunAIzRPT68yHSv?= =?us-ascii?q?Vn/kem3DaCzxvT6vlfLEAzj6rUMJ8hwqIqmZoXv0TDGSD3lF/og6+Lbkkk4PSn?= =?us-ascii?q?6/z7YrX6oZ+RL5N7hRv7MqQqg8C/BeU4MhMSX2WA4uS91Ljj/VXjT7lQj/02lL?= =?us-ascii?q?PZsJHAKsgBqK65GVwd7oF2wR+/Cj6gmPEfg3AeJUgNLBiOj43gPXnEKfD9BPG6?= =?us-ascii?q?xV+rlWE46erBO+jaOt2ZNWDrl63rfKp070Bb2Ew+0IYMtNpvFrgdLaerCQfKv9?= =?us-ascii?q?vCA0p8alTsmre1OJBGzoobHFm3LOqcOaLWv0WP47tyce6Wbo4JsTLzLOhj6uO8?= =?us-ascii?q?1SZly29YRrGg2N4sUF79Bu5vehjLZmDmg8sIFWkNrkwzUb6y0QDQYXtof3+3Gp?= =?us-ascii?q?kEyHQ7BYahVNqRQZqngaCI2Cm8DttbezIeBw=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0CtFQCqKbBa/8rorF9dHAEBAQQBAQoBA?= =?us-ascii?q?YNQgVicHYIDDoEIi02KRYUbAgyDNBkGBjQUAQIBAQEBAQEBAQFqKII4JAGCSQE?= =?us-ascii?q?FOAI/EAsYCSUPSAaFL6ttiFuCDoUzghWFFoEzhGCGDwOYKA4Ji1mDSYFMK4tFk?= =?us-ascii?q?V81IYFScxI6gkSQakCOQ4JIAQEB?= X-IPAS-Result: =?us-ascii?q?A0CtFQCqKbBa/8rorF9dHAEBAQQBAQoBAYNQgVicHYIDDoE?= =?us-ascii?q?Ii02KRYUbAgyDNBkGBjQUAQIBAQEBAQEBAQFqKII4JAGCSQEFOAI/EAsYCSUPS?= =?us-ascii?q?AaFL6ttiFuCDoUzghWFFoEzhGCGDwOYKA4Ji1mDSYFMK4tFkV81IYFScxI6gkS?= =?us-ascii?q?QakCOQ4JIAQEB?= X-IronPort-AV: E=Sophos;i="5.48,332,1517871600"; d="scan'208";a="318887145" Received: from orbitalfox.eu ([95.172.232.202]) by mail2-smtp-roc.national.inria.fr with ESMTP; 19 Mar 2018 22:24:53 +0100 Received: from darkstar (unknown [192.168.88.17]) by orbitalfox.eu (Postfix) with ESMTPSA id 4FC89AA0105; Mon, 19 Mar 2018 21:24:50 +0000 (UTC) Date: Mon, 19 Mar 2018 21:24:49 +0000 From: SP To: Bahman Movaqar Cc: caml-list@inria.fr Message-ID: <20180319212449.htqtzkkw55oj7fsf@darkstar> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20180223 Subject: Re: [Caml-list] On variants, integers and testing Reply-To: SP X-Loop: caml-list@inria.fr X-Sequence: 16737 Errors-to: caml-list-owner@inria.fr Precedence: list Precedence: bulk Sender: caml-list-request@inria.fr X-no-archive: yes List-Id: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: On Fri, Mar 16, 2018 at 12:12:56PM +0100, Bahman Movaqar wrote: >To limit the values possible for a card's actual value, I defined `Value` >module (line 6) which basically maps a variant to integer values. >Is this the idiomatic approach? Is there something like Java's enum or >Pascal's subranges that I could use[1]? Sicne I didn't notice anyone else answering this, yes the reason and way you wrote Value looks normal. There are preprocessors that can automate repetitive mappings, but I don't think they are an option to consider lightly. The rest of the code looked normal too, but I'm not familiar with the domain to help more. -- SP -- Caml-list mailing list. Subscription management and archives: https://sympa.inria.fr/sympa/arc/caml-list Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs