package extlib
Install
Dune Dependency
Authors
Maintainers
Sources
md5=f7ca7f1c82e15a99603b88f730fd7b8a
sha512=2386ac69f037ea520835c0624d39ae9fbffe43a20b18e247de032232ed6f419d667b53d2314c6f56dc71d368bf0b6201a56c2f3f2a5bdfd933766c5a6cb98768
Description
The purpose of this library is to add new functions to OCaml standard library modules, to modify some functions in order to get better performances or safety (tail-recursive) and also to provide new modules which should be useful for day to day programming.
Current goal is to maintain compatibility, new software is encouraged to not use extlib since stdlib is now seeing many additions and improvements which make many parts of extlib obsolete. For tail-recursion safety consider using other libraries e.g. containers.
Published: 05 Aug 2022
README
OCaml Extended standard Library - ExtLib.
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version,,
* with the special exception on linking described in file LICENSE.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
What is ExtLib ?
ExtLib is a set of additional useful functions and modules for OCaml. Current goal is to maintain compatibility, new software is encouraged to not use extlib since stdlib is now seeing many additions and improvements which make many parts of extlib obsolete. For tail-recursion safety consider using other libraries e.g. containers.
Project page : https://github.com/ygrek/ocaml-extlib
Online API documentation : https://ygrek.org/p/extlib/doc/
Dependencies
cppo
- enables conditional compilation to ensure compatibility with various OCaml versionsocamlfind >= 1.5.1
- provides bytes package
Installation
Unzip or untar in any directory and run
make minimal=1 build install
This will build and install bytecode and native libraries. On bytecode-only architecture run
make minimal=1 all install
minimal=1
will exclude from build several modules (namely Base64
Unzip
UChar
UTF8
) potentially conflicting with other well established OCaml libraries. If your code is expecting to find these modules in extlib - omit this parameter during build to produce the full library.
Usage
Generate and read the documentation.
Release
Check for changes in stdlib (e.g. with ocaml test/std.ml)
Update sw_test_all target for new OCaml release
make sw_test_all
Review
git log
and update CHANGESUpdate version in Makefile
Commit
make release
upload tarball and make release on github
opam publish
Contributors
Nicolas Cannasse ncannasse@motion-twin.com
Brian Hurt brian.hurt@qlogic.com
Yamagata Yoriyuki yori@users.sourceforge.net
Markus Mottl markus.mottl@gmail.com
Jesse Guardiani jesse@wingnet.net
John Skaller skaller@users.sourceforge.net
Bardur Arantsson bardur@scientician.net
Janne Hellsten jjhellst@gmail.com
Richard W.M. Jones rjones@redhat.com
ygrek ygrek@autistici.org
Gabriel Scherer gabriel.scherer@gmail.com
Pietro Abate pietro.abate@pps.jussieu.fr
License
See LICENSE
Dev Dependencies
None
Used by (36)
- beluga
- bes
- cudf
- debian-formats
- devkit
-
dose
!= "3.3"
-
dose3
>= "6.1"
- dose3-extra
- elasticsearch-cli
- esgg
-
extprot
>= "1.7.0"
-
fluent-logger
>= "1.1.0"
-
gapi-ocaml
< "0.4.1"
- gdb
-
gdbprofiler
< "0.2"
-
google-drive-ocamlfuse
>= "0.7.25"
-
javalib
>= "2.3.5"
- lustre-v6
- lutin
- lwt_named_threads
- monorobot
-
msgpack
< "1.1.0"
-
opam-client
>= "2.1.0~beta2" & < "2.1.0~rc"
-
opam-lib
= "1.2.2"
- pgsolver
- polka
-
ppx_netblob
>= "1.2.1"
-
ppx_relit
>= "0.2.0"
-
qfs
>= "0.5"
- relit_helper
- slack
-
sqlexpr
< "0.5.5"
- sqlgg
-
TCSLib
>= "0.2"
- zephyrus
- zstd
Conflicts
None