From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id q29FhctN011731 for ; Fri, 9 Mar 2012 16:43:38 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AsQDAGskWk/QYYTPjmdsb2JhbABDhTWvdSoBAQEBCQsJCRIFJIIKAQEBBBICDx0DASkMAQEOCwsNAgImAgIhARIBBQEcBhMbB4donV8Kijttg0OOUgEGgS+IDYYIgRaIV4x2iySDGj2EIg X-IronPort-AV: E=Sophos;i="4.73,558,1325458800"; d="scan'208";a="135246607" Received: from caiajhbdccah.dreamhost.com (HELO homiemail-a86.g.dreamhost.com) ([208.97.132.207]) by mail4-smtp-sop.national.inria.fr with ESMTP; 09 Mar 2012 16:43:34 +0100 Received: from homiemail-a86.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a86.g.dreamhost.com (Postfix) with ESMTP id EC75E36006F for ; Fri, 9 Mar 2012 07:43:32 -0800 (PST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=0ok.org; h=mime-version :in-reply-to:references:from:date:message-id:subject:to:cc: content-type; q=dns; s=0ok.org; b=AnzMLROq4giV/Sh6kA+K08HrcHJvbW fKCwB/FCzIlyN/Gt40DYZZYUDGI4WeDyLfRtvxkuNJtpV8TR+UrxXs3h5kdURdzX dWfKuIV3CZle4bdGkSVbWihc+FJdFCoHXm1D0jUXgd+eb7dWM/W/5O4UnWHHmYxe cNXXjnf/WAq1A= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=0ok.org; h=mime-version :in-reply-to:references:from:date:message-id:subject:to:cc: content-type; s=0ok.org; bh=uA95t73ELn77/ByiEuzxd9gEyUU=; b=YnId 3RXAef808ddMvUvunFFW02G5lAnjXoDeah9wU8DuZiLNi2hf/P1T+fqFRFgQiWab /dZwK5oaSdkjjM6+n9oswvBGlVwdd3f5HNIif3wSUSCcdBgj9wCM21zUMonyGbvR rm7lRw0aXn4qGpCaNQ8xoqPd35FOMKUZa18s1OQ= Received: from mail-tul01m020-f182.google.com (mail-tul01m020-f182.google.com [209.85.214.182]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: hez@0ok.org) by homiemail-a86.g.dreamhost.com (Postfix) with ESMTPSA id D2E1636006A for ; Fri, 9 Mar 2012 07:43:32 -0800 (PST) Received: by obbwc7 with SMTP id wc7so3909613obb.27 for ; Fri, 09 Mar 2012 07:43:32 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:x-gm-message-state; bh=PuClx9S/Fr35qmEvEu0RAiX5DOn9IAn28KJlM+Gfp5I=; b=jjmVjKX6WcxuKfjWXUWe4PEB1xvdj+QmMGBYFNVGJ9zovQyzMlf2c+dM8j5KijkeTT 0ey5s3n0xD93Hgx6L72fSKrYRPyhx8AxjKk1VCz/DrRrPO7Htf+VeDuU2f+HZqvP/xUc PmAQ76EL6c56XszaszcyzXzVO64/XwocDSyNG0PrxZymDSHxw5/s+UDrLB2GWeRJ4U2K vKxuD3C1jvvCjhAYy8ZXoh+ZQZsHmNLTcDr0JI3vSCDBoInikF6pe31+fkoh5MCPeuY8 pmuFn7Gk2rXJKf0b+itW/G5nMq/sThn7veeMAetEyMS3JDId9T0lYdSTuW9e8cn/SmfK /qJQ== Received: by 10.182.121.101 with SMTP id lj5mr1115917obb.39.1331307812126; Fri, 09 Mar 2012 07:43:32 -0800 (PST) MIME-Version: 1.0 Received: by 10.60.44.228 with HTTP; Fri, 9 Mar 2012 07:43:12 -0800 (PST) In-Reply-To: References: <87sjhktqwi.fsf@frosties.localnet> <4F5777F2.2000806@gmail.com> <878vjctlr3.fsf@frosties.localnet> <877gyv7k2t.fsf@frosties.localnet> <87mx7qz001.fsf@frosties.localnet> From: "Hezekiah M. Carty" Date: Fri, 9 Mar 2012 10:43:12 -0500 Message-ID: To: Gabriel Scherer Cc: Goswin von Brederlow , caml-list@inria.fr Content-Type: text/plain; charset=UTF-8 X-Gm-Message-State: ALoCoQm/igf9vWWf6oHLgjLCT0KInXK7zt92KtGrQ6tlCpwaI7xw5G1q83hnbBF5sxxrepYMGSM+ Subject: Re: [Caml-list] Can one implement greedy/inline data structures in ocaml? On Fri, Mar 9, 2012 at 4:21 AM, Gabriel Scherer wrote: > I think this is a case of using a fancy new construction when a > simpler construction would do just as well. > For some reasons some people, even beginners, are absolutely fond of > first-class modules, and insist on using them in situation where > they're really not needed. I not eager to see what they will do with > GADTs... > > > I think learning *not to use* fancy features is just as fun as using them. > To be fair, part of the process of learning when not to use fancy features is using them, then discovering when these features made a solution worse rather than better. Polymorphic variants, the object system, first class modules, GADTs - these all open up fun new ways to approach problems. They may not always be the 'best' tool for a particular job, but not every implementation needs to be the 'best'. When this learning and iteration process takes place on a public forum other users get to learn from the experience as well. With that said, suggestions for implementation simplifications are important and fun to read too. Hez