From: David Teller <David.Teller@univ-orleans.fr>
To: OCaml <caml-list@inria.fr>
Subject: Re: [Caml-list] Wanted: your feedback on the hierarchy of OCaml Batteries Included
Date: Thu, 20 Nov 2008 22:12:20 +0100 [thread overview]
Message-ID: <1227215540.7676.23.camel@Blefuscu> (raw)
In-Reply-To: <1227002178.6170.25.camel@Blefuscu>
Dear list,
Feedback from active members of the list (and a few other shy people
who seem to prefer answering off-list:)) seems to indicate that
Batteries shouldn't have a general hierarchies of modules but rather a
flat list of modules with a few submodules here and there, along with a
documentation allowing navigation by topics. While that's not my
personal judgement, I'm willing to go along.
So here's a reworked map of the library, along with a few placeholders
to get an idea of where upcoming modules will fit. Text version follows
and html version available on-line:
http://dutherenverseauborddelatable.wordpress.com/2008/11/20/ocaml-batteries-included-the-hierarchy-reloaded/
. While I personally find this solution a little clumsier than the
previous hierarchy, ymmv. Again, feedback is appreciated.
If anyone is willing to work on a solution for linking documentation
from third-party libraries into one transparent source, as suggested by
Richard Jones, please contact me. I'm sure it is feasible, with a
(un)healthy dose of JavaScript, but I'm not sure that current members of
Batteries have enough brainpower available to work on this on top of
Batteries.
Cheers,
David
Batteries (pack)
1. Standard (automatically opened)
2. Legacy
A. Arg
B. Array
C. ...
3. Future (things that should become standard eventually)
A. Lexers
I. C
II. OCaml
===== I. Control =====
4. Exceptions
5. Return
6. Monad (Interfaces for monadic operations )
==== I.1. Concurrency ====
7. Concurrency (Interfaces for concurrency operations)
=== I.1.i. Built-in threads ===
8. Condition
9. Event
10. Mutex
11. RMutex
12. Thread
13. Threads (A module containing aliases to Condition, Event...)
=== I.1.ii. coThreads ===
14. CoCondition
15. CoEvent
16. CoMutex
17. CoRMutex
18. CoThread
19. CoThreads (as Threads but with implementations coming from
coThreads)
=== I.1.iii. Shared memory ===
20. Shm_* (Placeholders)
===== II. IO =====
21. IO
A. BigEndian
22. Codec (common interfaces for compressors/decompressors)
23. GZip
24. Bz2
25. Zip
26. Transcode (Unicode transcoding)
===== III. Mutable containers =====
27. Array
A. Cap
I. ExceptionLess
II. Labels
B. ExceptionLess
a. Labels
28. Bigarray
A. Array1
B. Array2
a. Array3
29. Dllist
30. Dynarray
31. Enum
A. ExceptionLess
a. Labels
32. Global
33. Hashtbl
A. Make
I. ExceptionLess
i. Labels
===== IV. Persistent containers ======
34. Lazy
35. List
A. ExceptionLess
B. Labels
36. Map
A. Make
I. ExceptionLess
II. Labels
37. Option
A. Labels
38. PMap
39. PSet
40. RefList
A. Index
41. Queue
42. Ref
43. Set
A. Make
I. ExceptionLess
II. Labels
44. Stack
45. Stream
===== V. Data =====
46. Unit
==== V.1. Logical ====
47. Bool
48. BitSet
==== V.2. Numeric ====
49. Numeric (Interfaces for number-related stuff)
50. Big_int
51. Common
52. Complex
53. Float
54. Int
55. Int32
56. Int64
57. Native_int
58. Num
59. Safe_float (placeholder)
60. Safe_int
==== V.3 Textual data ====
61. Text (Definition of text-related interfaces)
62. Buffer
63. Char
64. UTF8
65. Rope
66. UChar
67. String
68. StringText (A module containing aliases to String and modified
Char)
69. RopeText (As StringText but with implementations from Rope and
UChar
70. UTF8Text (As StringText but with implementations from UTF8 and)
UChar
A. Labels
===== V. Distribution-related stuff =====
71. Packages
72. Compilers
===== VI. Internals =====
73. Gc
74. Modules
75. Oo
A. Private
76. Weak
A. Make
===== VIII. Network (placeholders) =====
77. URL
78. Netencoding
A. Base64
B. QuotedPrintable
a. Q
b. URL
A. Html
==== VIII.1. Http ====
79. Http
80. Http_client
81. Cgi_*
82. Httpd_*
83. MIME
==== VIII.2. Ftp ====
84. Ftp_client
==== VIII.3. Mail ====
85. Netmail
86. Pop
87. Sendmail
88. Smtp
==== VIII.4. Generic server ====
89. Netplex_*
==== VIII.5. RPC ====
90. Rpc_*
==== VIII.6. Languages ====
91. Genlex
92. Lexing
93. CharParser
94. UCharParser
95. ParserCo
A. Source
96. Parsing
97. Format
98. Printf
99. Str
100. PCRE (placeholder)
101. Scanf
A. Scanning
102. SExpr
===== IX. System =====
103. Arg
104. File
105. OptParse
A. Opt
a. OptParser
b. StdOpt
106. Path
107. Shell
108. Unix
A. Labels
109. Equeue
X. Unclassified
110. Digest
111. Random
A. State
112. Date (placeholder)
On Tue, 2008-11-18 at 10:56 +0100, David Teller wrote:
> For this purpose, I have posted a
> tree of the current hierarchy on my blog [1].
>
> [1]
>
http://dutherenverseauborddelatable.wordpress.com/2008/11/18/batteries-hierarchy/
--
David Teller-Rajchenbach
Security of Distributed Systems
http://www.univ-orleans.fr/lifo/Members/David.Teller
Angry researcher: French Universities need reforms, but the LRU act brings liquidations.
next prev parent reply other threads:[~2008-11-20 21:12 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-18 9:56 David Teller
2008-11-18 10:06 ` [Caml-list] " Richard Jones
2008-11-18 10:21 ` Zheng Li
2008-11-18 11:22 ` David Teller
2008-11-18 12:52 ` Zheng Li
2008-11-18 14:10 ` [Caml-list] " Alain Frisch
2008-11-18 14:19 ` David Teller
2008-11-19 3:06 ` Yaron Minsky
2008-11-19 3:47 ` Till Varoquaux
2008-11-19 10:57 ` Stefano Zacchiroli
2008-11-19 18:05 ` Stéphane Glondu
2008-11-20 0:14 ` Stefano Zacchiroli
2008-11-18 10:29 ` [Caml-list] " Erkki Seppala
2008-11-18 11:34 ` Daniel Bünzli
2008-11-18 11:47 ` Thomas Gazagnaire
2008-11-18 12:15 ` David Teller
2008-11-18 12:32 ` Richard Jones
2008-11-18 12:56 ` David Teller
2008-11-19 13:38 ` Stefano Zacchiroli
2008-11-19 17:37 ` Richard Jones
2008-11-23 10:32 ` Stefano Zacchiroli
[not found] ` <9b415f950811180428x2de94a64q6fa92887f8e00705@mail.gmail.com>
2008-11-18 12:51 ` David Teller
2008-12-19 11:00 ` Benedikt Grundmann
2009-01-05 10:40 ` David Teller
2008-11-18 13:24 ` Daniel Bünzli
2008-11-18 14:46 ` David Teller
2008-11-18 12:40 ` David Teller
2008-11-18 13:31 ` Dario Teixeira
2008-11-18 14:23 ` David Teller
2008-11-18 14:40 ` Stefano Zacchiroli
2008-11-19 13:36 ` Stefano Zacchiroli
2008-11-19 14:28 ` Daniel Bünzli
2008-11-19 14:45 ` Paolo Donadeo
2008-11-21 12:37 ` Michaël Le Barbier
2008-11-18 11:17 ` David Teller
2008-11-18 12:22 ` Richard Jones
2008-11-18 12:49 ` David Teller
2008-11-18 15:20 ` Richard Jones
2008-11-18 18:17 ` Jon Harrop
2008-11-18 17:51 ` Nicolas Pouillard
2008-11-18 22:43 ` Jon Harrop
2008-11-18 18:59 ` Richard Jones
2008-11-18 20:17 ` Jon Harrop
2008-11-18 19:22 ` Richard Jones
2008-11-18 19:50 ` Daniel Bünzli
2008-11-18 21:50 ` Richard Jones
2008-11-19 13:48 ` Stefano Zacchiroli
2008-11-19 19:02 ` Stéphane Glondu
2008-11-18 22:07 ` Alain Frisch
2008-11-18 23:49 ` Jon Harrop
2008-11-18 23:13 ` Alain Frisch
2008-11-19 13:28 ` Stefano Zacchiroli
2008-11-18 23:30 ` Jon Harrop
2008-11-19 6:29 ` David Teller
2008-11-19 8:36 ` Jon Harrop
2008-11-19 9:46 ` Paolo Donadeo
2008-11-19 20:11 ` Maxence Guesdon
2008-11-20 9:28 ` Nicolas Pouillard
2008-11-20 10:33 ` Richard Jones
2008-11-20 10:49 ` open Module (not?) considered harmful Stefano Zacchiroli
2008-11-20 11:29 ` [Caml-list] " David Allsopp
2008-11-20 11:48 ` Richard Jones
2008-11-20 17:56 ` Stefano Zacchiroli
2008-11-20 13:01 ` Nicolas Pouillard
2008-11-20 13:41 ` Nicolas Pouillard
2008-11-20 16:44 ` Stefano Zacchiroli
2008-11-21 2:56 ` Stability of exceptions Eliot Handelman
2008-11-21 7:39 ` [Caml-list] " Daniel Bünzli
2008-11-21 9:52 ` Christophe TROESTLER
2008-11-20 14:46 ` [Caml-list] open Module (not?) considered harmful Ashish Agarwal
2008-11-20 17:54 ` Stefano Zacchiroli
2008-11-20 11:31 ` Daniel Bünzli
2008-11-23 10:36 ` Stefano Zacchiroli
2008-11-20 11:41 ` Richard Jones
2008-11-23 10:38 ` Stefano Zacchiroli
2008-11-23 11:01 ` Richard Jones
2008-11-20 12:58 ` [Caml-list] Wanted: your feedback on the hierarchy of OCaml Batteries Included Nicolas Pouillard
2008-11-20 21:12 ` David Teller [this message]
2008-11-20 23:18 ` Daniel Bünzli
2008-11-21 9:34 ` David Teller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1227215540.7676.23.camel@Blefuscu \
--to=david.teller@univ-orleans.fr \
--cc=caml-list@inria.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox