11.20.08
OCaml Batteries Included: The Hierarchy, reloaded
Well, my previous post on the Hierarchy of OCaml Batteries Included certainly triggered reactions. Essentially, judging from these, the OCaml community doesn’t seem to want of a module hierarchy. So here’s a reworked version of the library layout, without hierarchy. Again, feedback is appreciated and should go to the OCaml mailing-list.
Batteries
- Standard (automatically opened)
- Legacy
- Arg
- Array
- …
- Future
- Lexers
- C
- OCaml
I. Control
- Lexers
- Exceptions
- Return
- Monad Interfaces for monadic operations
I.1. Concurrency
- Concurrency Interfaces for concurrency operations
I.1.i. Built-in threads
- Condition
- Event
- Mutex
- RMutex
- Thread
- Threads A module containing aliases to Condition, Event…
I.1.ii. coThreads
- CoCondition
- CoEvent
- CoMutex
- CoRMutex
- CoThread
- CoThreads as Threads but with implementations coming from coThreads
I.1.iii. Shared memory
- Shm_* Placeholders
II. IO
- IO
- BigEndian
- GZip
- Bz2
- Zip
- Transcode
III. Mutable containers
- Array
- Cap
- ExceptionLess
- Labels
- ExceptionLess
- Labels
- Cap
- Bigarray
- Array1
- Array2
- Array3
- Dllist
- Dynarray
- Enum
- ExceptionLess
- Labels
- Global
- Hashtbl
- Make
- ExceptionLess
- Labels
IV. Persistent containers
- Make
- Lazy
- List
- ExceptionLess
- Labels
- Map
- Make
- ExceptionLess
- Labels
- Make
- Option
- Labels
- PMap
- PSet
- RefList
- Index
- Queue
- Ref
- Set
- Make
- ExceptionLess
- Labels
- Make
- Stack
- Stream
V. Data
- Unit
V.1. Logical
- Bool
- BitSet
V.2. Numeric
- Numeric Interfaces for number-related stuff
- Big_int
- Common
- Complex
- Float
- Int
- Int32
- Int64
- Native_int
- Num
- Safe_float placeholder
- Safe_int
V.3. Textual
- Text Definition of text-related interfaces
- Buffer
- Char
- UTF8
- Rope
- UChar
- String
- StringText A module containing aliases to String and Char1
- RopeText As StringText but with implementations from Rope and UChar
- UTF8Text As StringText but with implementations from UTF8 and UChar
- Labels
VI. Distribution-related stuff
- Packages
- Compilers
VII. Internals
- Gc
- Modules
- Oo
- Private
- Weak
- Make
VIII. Network (placeholders)
- URL
- Netencoding
- Base64
- QuotedPrintable
- Q
- URL
- Html
VIII.1. Http
- Http
- Http_client
- Cgi_*
- Httpd_*
- MIME
VIII.2. Ftp
- Ftp_client
VIII.3. Mail
- Netmail
- Pop
- Sendmail
- Smtp
VIII.4. Generic server
- Netplex_*
VIII.5. RPC
- Rpc_*
VIII.6. Languages
- Genlex
- Lexing
- CharParser
- UCharParser
- ParserCo
- Source
- Parsing
- Format
- Printf
- Str
- PCRE place-holder
- Scanf
- Scanning
- SExpr
IX. System
- Arg
- File
- OptParse
- Opt
- OptParser
- StdOpt
- Path
- Shell
- Unix
- Labels
- Equeue
X. Unclassified
- Digest
- Random
- State
- Date placeholder
- 1
- Actually a slightly modified version of Char to match signatures for Latin-1 and Unicode