From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id VAA06928; Thu, 8 Apr 2004 21:45:56 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id VAA06678 for ; Thu, 8 Apr 2004 21:45:55 +0200 (MET DST) Received: from host1.stonesfair.com (host1.stonesfair.com [208.184.191.145]) by concorde.inria.fr (8.12.10/8.12.10) with ESMTP id i38JjrYM003678 for ; Thu, 8 Apr 2004 21:45:54 +0200 Received: from mev (63-217-154-71.greystoneapts.com [63.217.154.71]) by host1.stonesfair.com (8.12.8/8.12.8) with ESMTP id i38JSfdP003435 for ; Thu, 8 Apr 2004 12:28:41 -0700 Received: from ijtrotts by mev with local (Exim 3.35 #1 (Debian)) id 1BBfSK-0003ef-00 for ; Thu, 08 Apr 2004 12:44:56 -0700 Date: Thu, 8 Apr 2004 12:44:56 -0700 To: caml-list@inria.fr Subject: Re: [Caml-list] Dynamically evaluating OCaml code Message-ID: <20040408194456.GB13798@mev> Mail-Followup-To: ijtrotts@ucdavis.edu, caml-list@inria.fr References: <20020104004356.GA1672@mev> <20040408133727.GC29195@excelhustler.com> <20040408145606.GA18473@fichte.ai.univie.ac.at> <20040408153056.GB30763@excelhustler.com> <20040408164404.GA19556@fichte.ai.univie.ac.at> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040408164404.GA19556@fichte.ai.univie.ac.at> User-Agent: Mutt/1.3.28i From: Issac Trotts X-Miltered: at concorde by Joe's j-chkmail ("http://j-chkmail.ensmp.fr")! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; caml-list:01 dynamically:01 issac:01 trotts:01 ijtrotts:01 digest:01 digest:01 dependencies:01 deps:01 rating:99 rating:99 gpl:01 lgpl:01 functor:01 functor:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk X-Status: X-Keywords: X-UID: 179 > I feel that this question really also touches the recent discussion > concerning library management. If it were very easy to make use of > contributed code, we wouldn't talk so often about extensions to the > standard library. I'm thinking it would be very handy to have a code snippet server. Something like this: type fun_info = { key : int (* unique identifier *) authors : string list date0 : int (* initial revision, in minutes since 1980) date : int (* most recent revision, in minutes since 1980) version : int list (* major, minor, micro, etc. version numbers *) name : string (* name of the function *) typ : string list (* e.g., [ "int"; "string" ] for int -> string *) body : string (* the source code for the function *) test : string (* a function : unit -> unit that tests the code *) description : string digest : Digest.t dependencies : func list godi_deps : string list (* list of godi packages it requires *) mutable num_downloads : int mutable rating_avg : float mutable rating_sdev : float license: BSD | GPL | LGPL | Qt | Other of string } type module_info = { ... } type functor_info = { ... } type class_info = { ... } type snippet = Fun of fun_info | Module of module_info | Functor of functor_info | Class of class_info Database operations: - add new snippet - search on any field - create a module containing a function and all its dependencies - append a function and all of its dependencies to a .ml file and its .mli counterpart - load a function and all of its dependencies into the toplevel - add to local server a function and all its dependencies from a given server - add to local server all functions from a given server (mirror) Maybe something fine-grained like this could be added to GODI. > I agree here: that's why I'd like to see more social tools rather than > extensions to the standard library. It's tiresome to search the web > for already invented wheels, downloading code, compiling it (hopefully > without problems), installing it and keeping it up-to-date (including > libraries that it depends on). > > I am not questioning the fact that OCaml could need more libraries for > more functionality. I am questioning that all of this should become > part of a standard library. I wouldn't mind seeing the code there, of > course, but why burden the developers with tasks that could be done by > the community? What is "standard" anyway? Only what INRIA calls one? > Or what is used predominantly by the community? If the standard library gets too large, that also means longer compile times for the ocaml distro. It already takes long enough. -- Issac Trotts http://mallorn.ucdavis.edu/~ijtrotts (w) 530-757-8789 ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners