From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id E8902D45F for ; Mon, 31 Oct 2005 15:39:45 +0100 (CET) Received: from mailx.valdosta.edu (VO44360.valdosta.edu [168.18.130.251]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j9VEdiXf028335 for ; Mon, 31 Oct 2005 15:39:45 +0100 Received: from blazemail.valdosta.edu (blazemail.valdosta.edu [168.18.130.208]) by mailx.valdosta.edu (8.13.4/8.13.4) with ESMTP id j9VEdfoI004509 for ; Mon, 31 Oct 2005 09:39:41 -0500 (EST) (envelope-from jtbryant@valdosta.edu) Received: from starlight.valdosta.edu (starlight.valdosta.edu [168.18.148.146]) by blazemail.valdosta.edu (iPlanet Messaging Server 5.2 HotFix 2.04 (built Feb 8 2005)) with ESMTP id <0IP80056SBE5WT@blazemail.valdosta.edu> for caml-list@yquem.inria.fr; Mon, 31 Oct 2005 09:39:41 -0500 (EST) Date: Mon, 31 Oct 2005 09:41:45 -0500 From: Jonathan Bryant Subject: Stdlib To: caml-list@yquem.inria.fr Reply-To: jtbryant@valdosta.edu Message-id: <1130769705.488.16.camel@starlight> MIME-version: 1.0 X-Mailer: Ximian Evolution 1.4.5 (1.4.5-17) Content-type: text/plain Content-transfer-encoding: 7BIT X-PMX-Version: 5.0.2.153301, Antispam-Engine: 2.0.3.2, Antispam-Data: 2005.10.31.11 X-Miltered: at nez-perce with ID 43662CB0.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; stdlib:01 stl:01 iter:01 stl:01 api:01 functorize:01 hashtbl:01 api:01 parametric:01 polymorphism:01 intern:01 ...:98 ohne:98 einfach:98 ein:98 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.3 Quick (and rather random question) about the standard library. I noticed that, like the STL, many of the modules are very similar and implement many of the same functions (iter, map, etc.). Unlike the STL or the Java Standard API, these modules are each completely independent. Why hasn't there been a push to do something like functorize these modules? For example: List, Array, Hashtbl, Set, and Map are all collections. Couldn't you factor out something to make it easier to extend the library, sort of like the Java API? Parametric Polymorphism handles the generics of the elements of the set, so couldn't the algorithms be factored out leaving three distinct parts (Elements, Collections of Elements, Operations on Collections), sort of like in the STL? I know Java and C++ are bad words here, but you have to admit that at least that part of Sun's library is rather well designed as is, for the most part, the STL. Give the devil his due, I guess... :) --Jonathan Bryant jtbryant@valdosta.edu Student Intern Unix System Operations VSU Information Technology "Das Leben ohne Music ist einfach ein Irrtum, eine Strapaze, ein" Exil." ("Life without music is simply an error, a pain, an exile.") --Frederich Nietzsche "The three cardinal values of a programmer are laziness, impatience, and hubris." --Perl Man Page