Browse thread
[Caml-list] Dynamically evaluating OCaml code
-
John Goerzen
- Vitaly Lugovsky
- Samuel Mimram
-
Basile Starynkevitch
-
Issac Trotts
- Dustin Sallings
-
Brian Hurt
- Oleg Trott
- Ville-Pertti Keinonen
-
John Goerzen
-
Markus Mottl
-
Richard Jones
-
Markus Mottl
- Jon Harrop
-
John Goerzen
- Jean-Marc EBER
-
Trevor Andrade
-
Gerd Stolpmann
- skaller
-
John Goerzen
-
Gerd Stolpmann
-
Christophe TROESTLER
-
Gerd Stolpmann
-
Christophe TROESTLER
- Brandon J. Van Every
- John Goerzen
- Jacques GARRIGUE
-
Christophe TROESTLER
-
Gerd Stolpmann
-
Christophe TROESTLER
- Matt Gushee
-
Gerd Stolpmann
- Benjamin Geer
-
Gerd Stolpmann
- skaller
-
Markus Mottl
- John Goerzen
- Jon Harrop
-
Richard Jones
- Fernando Alegre
- Jean-Marc EBER
- Kenneth Knowles
- Brian Hurt
- skaller
-
Markus Mottl
- Issac Trotts
- Basile Starynkevitch
-
Issac Trotts
- clement capel
- Jon Harrop
- Walid Taha
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Issac Trotts <ijtrotts@u...> |
| Subject: | Re: [Caml-list] Dynamically evaluating OCaml code |
> 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