* Wanted: more feedback on the non-hierarchy candidate of Batteries
@ 2008-11-25 12:13 David Teller
0 siblings, 0 replies; only message in thread
From: David Teller @ 2008-11-25 12:13 UTC (permalink / raw)
To: OCaml
[Sorry for double-post, this message deserved its own thread]
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
Latest News of French Research: System being liquidated. Researchers angry.
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2008-11-25 12:14 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-11-25 12:13 Wanted: more feedback on the non-hierarchy candidate of Batteries David Teller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).