From mboxrd@z Thu Jan 1 00:00:00 1970 X-Sympa-To: caml-list@inria.fr 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 q1SCj0bh009713 for ; Tue, 28 Feb 2012 13:45:00 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ap0BAOzLTE9KfVK2kGdsb2JhbABDhTmeKpAOCCIBAQEBCQkNBxQEI4FzAQEBAwESAg8dARsdAQMBCwYFCw8CJgICHwQRAQUBHAYTIodfBQQHoh4KiyZMgnF4hFY/gQwBBQuBJItEEwIIBBICCgYEBwMBBAMFCQ0UBgMChQgEBjcDAQQHAQ0KCIIagRYEjRSIKgGHGIcYPYQE X-IronPort-AV: E=Sophos;i="4.73,496,1325458800"; d="scan'208";a="133342549" Received: from mail-we0-f182.google.com ([74.125.82.182]) by mail4-smtp-sop.national.inria.fr with ESMTP/TLS/RC4-SHA; 28 Feb 2012 13:44:55 +0100 Received: by werl4 with SMTP id l4so2195347wer.27 for ; Tue, 28 Feb 2012 04:44:55 -0800 (PST) Received-SPF: pass (google.com: domain of sedrikov@gmail.com designates 10.216.139.156 as permitted sender) client-ip=10.216.139.156; Authentication-Results: mr.google.com; spf=pass (google.com: domain of sedrikov@gmail.com designates 10.216.139.156 as permitted sender) smtp.mail=sedrikov@gmail.com; dkim=pass header.i=sedrikov@gmail.com Received: from mr.google.com ([10.216.139.156]) by 10.216.139.156 with SMTP id c28mr1526487wej.57.1330433095227 (num_hops = 1); Tue, 28 Feb 2012 04:44:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=date:from:to:cc:subject:message-id:in-reply-to:references:x-mailer :mime-version:content-type:content-transfer-encoding; bh=2Y3GHUUELxXbXxLSUQiH/RKjrdwiC0cDmRFWWITkul0=; b=W07F2O8h8qvjIMdSuWN1l0VI6/MQZtyBNZvaR0OEEpNuTyGC5exPOqPg59lPEHnuqE AbJxwO4+BS2k8UnzSNEXPOhL8G43e5qM1Bmupl/gTZBhTI+sqDBc+EAuTyXIFJEWAHSw +0elnj23ikmfDILt6DCHPCc2ZD5GnE1x285w0= Received: by 10.216.139.156 with SMTP id c28mr1203714wej.57.1330433095162; Tue, 28 Feb 2012 04:44:55 -0800 (PST) Received: from localhost.localdomain ([90.24.198.31]) by mx.google.com with ESMTPS id fw5sm28600084wib.0.2012.02.28.04.44.53 (version=SSLv3 cipher=OTHER); Tue, 28 Feb 2012 04:44:54 -0800 (PST) Date: Tue, 28 Feb 2012 13:46:49 +0100 From: AUGER =?UTF-8?B?Q8OpZHJpYw==?= To: oliver Cc: caml-list@inria.fr Message-ID: <20120228134649.33962978@gmail.com> In-Reply-To: <20120227143809.GC2778@siouxsie> References: <20120227143809.GC2778@siouxsie> X-Mailer: Claws Mail 3.8.0 (GTK+ 2.24.10; i686-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by walapai.inria.fr id q1SCj0bh009713 X-Validation-by: sedrikov@gmail.com Subject: Re: [Caml-list] "Modules Matter Most" Le Mon, 27 Feb 2012 15:38:09 +0100, oliver a écrit : > Hello, > > > this article I like. > I also have experienced, that thinking in types > (or: thinking in signatures) give a big advantage > on planning a program, and later implementing it. > > Types make things very clear: you know what is input > and what output and how things need to fit tigether, > and what kind of signature is needed to maybe fill > a gap between an input and an output module... just look > at the missing link as a signature. > > Thie article also mentiones modules as a key point > of OCaml, and I fully agree here: > > Modules Matter Most > http://existentialtype.wordpress.com/2011/04/16/modules-matter-most/ > > > Ciao, > Oliver > I find the posts on this blogs too much Ocaml biased. Ok, haskell has not modules and it is somewhat missing, but using TypeFamilies, you can emulate modules (and even 1st order modules which are available in Ocaml only since 3.11 or 3.12), and in the other hand there is still not yet any convenient way to have type classes in Ocaml. And it is not very often that I would like to implement a module where a simple type class wouldn't fit. Are type classes planned in the future (and if not, what are the reasons not to have it)?.