package core_kernel

  1. Overview
  2. Docs
Industrial strength alternative to OCaml's standard library

Install

Dune Dependency

Authors

Maintainers

Sources

v0.14.2.tar.gz
sha256=66f5353964d35a994ec7fdc88fe60ae5d497ac89a8042786f3e37d9e2202ce4b
md5=ede2f6d22eaa8320f88bac67d41b5cff

Description

The Core suite of libraries is an industrial strength alternative to OCaml's standard library that was developed by Jane Street, the largest industrial user of OCaml.

Core_kernel is the system-independent part of Core.

Published: 17 Aug 2021

README

Portable standard library for OCaml

Core is an industrial-strength alternative to the OCaml standard library. It was developed by Jane Street, which is the largest industrial user of OCaml.

Core_kernel is the system-independent part of Core, Jane Street's industrial-strength alternative to the OCaml standard library. It is aimed for cases when the full Core is not available, such as in Javascript. It provides an overlay on the usual namespace, so the best way to use it is to start your file with:

open Core_kernel

Relationship to Core and Base

In sum:

  • Base: Minimal stdlib replacement. Portable and lightweight and intended to be highly stable.

  • Core_kernel: Extension of Base. More fully featured, with more code and dependencies, and APIs that evolve more quickly. Portable, and works on Javascript.

  • Core: Core_kernel extended with UNIX APIs.

While Core is an extension of Core_kernel, you can think of Core_kernel as an extension of Base. Many of Core_kernel's modules are extensions of modules in Base, where the Core_kernel version adds bin_io support or locks in an API with Stable. Some modules, like Core_kernel.Map, extend their Base equivalents to follow Core conventions for the use of comparators.

Please report bugs and feature requests on GitHub. For everything else you can contact us at ocaml-core@googlegroups.com.

You can find all of Jane Street's open-source libraries on GitHub.

Documentation can be found here.

Dependencies (23)

  1. dune >= "2.0.0"
  2. ppx_optcomp >= "v0.14.3" & < "v0.15"
  3. variantslib >= "v0.14" & < "v0.15"
  4. typerep >= "v0.14" & < "v0.15"
  5. time_now >= "v0.14" & < "v0.15"
  6. stdio >= "v0.14" & < "v0.15"
  7. splittable_random >= "v0.14" & < "v0.15"
  8. sexplib >= "v0.14" & < "v0.15"
  9. ppx_sexp_message >= "v0.14" & < "v0.15"
  10. ppx_sexp_conv >= "v0.14" & < "v0.15"
  11. ppx_jane >= "v0.14" & < "v0.15"
  12. ppx_inline_test >= "v0.14" & < "v0.15"
  13. ppx_hash >= "v0.14" & < "v0.15"
  14. ppx_base >= "v0.14" & < "v0.15"
  15. ppx_assert >= "v0.14" & < "v0.15"
  16. jst-config >= "v0.14" & < "v0.15"
  17. jane-street-headers >= "v0.14" & < "v0.15"
  18. fieldslib >= "v0.14" & < "v0.15"
  19. bin_prot >= "v0.14" & < "v0.15"
  20. base_quickcheck >= "v0.14" & < "v0.15"
  21. base_bigstring >= "v0.14" & < "v0.15"
  22. base >= "v0.14" & < "v0.15"
  23. ocaml >= "4.08"

Dev Dependencies

None

  1. accessor_async = "v0.14.1"
  2. accessor_core = "v0.14.1"
  3. alcotest-async < "1.6.0"
  4. async = "v0.14.0"
  5. async_durable = "v0.14.0"
  6. async_extra = "v0.14.0"
  7. async_kernel = "v0.14.0"
  8. async_rpc_kernel = "v0.14.0"
  9. async_unix = "v0.14.0"
  10. async_websocket = "v0.14.0"
  11. aws-s3-async = "3.0.0"
  12. bap-abi >= "2.2.0"
  13. bap-analyze
  14. bap-api >= "2.2.0"
  15. bap-arm >= "2.2.0"
  16. bap-beagle >= "2.2.0"
  17. bap-beagle-strings
  18. bap-bil >= "2.2.0"
  19. bap-build >= "2.2.0"
  20. bap-bundle >= "2.2.0"
  21. bap-byteweight >= "2.2.0"
  22. bap-byteweight-frontend >= "2.2.0"
  23. bap-c >= "2.2.0"
  24. bap-cache >= "2.2.0"
  25. bap-callgraph-collator
  26. bap-core-theory >= "2.2.0"
  27. bap-demangle >= "2.2.0"
  28. bap-dependencies
  29. bap-disassemble >= "2.2.0"
  30. bap-dump-symbols >= "2.2.0"
  31. bap-dwarf >= "2.2.0"
  32. bap-elf >= "2.2.0"
  33. bap-frontend >= "2.2.0"
  34. bap-future >= "2.2.0"
  35. bap-ghidra
  36. bap-glibc-runtime >= "2.2.0"
  37. bap-ida >= "2.2.0"
  38. bap-ida-plugin >= "2.2.0"
  39. bap-knowledge >= "2.2.0"
  40. bap-llvm >= "2.2.0"
  41. bap-mc >= "2.2.0"
  42. bap-microx >= "2.2.0"
  43. bap-mips >= "2.2.0"
  44. bap-objdump >= "2.2.0"
  45. bap-optimization >= "2.2.0"
  46. bap-patterns
  47. bap-phoenix >= "2.2.0"
  48. bap-plugins >= "2.2.0"
  49. bap-powerpc >= "2.2.0"
  50. bap-primus >= "2.2.0"
  51. bap-primus-lisp >= "2.2.0"
  52. bap-primus-loader
  53. bap-primus-powerpc >= "2.2.0"
  54. bap-primus-print
  55. bap-primus-propagate-taint
  56. bap-primus-random >= "2.2.0"
  57. bap-primus-symbolic-executor >= "2.2.0"
  58. bap-primus-systems >= "2.2.0"
  59. bap-print >= "2.2.0"
  60. bap-radare2
  61. bap-raw >= "2.2.0"
  62. bap-relocatable >= "2.2.0"
  63. bap-riscv
  64. bap-specification
  65. bap-std >= "2.2.0"
  66. bap-strings >= "2.2.0"
  67. bap-stub-resolver >= "2.2.0"
  68. bap-symbol-reader >= "2.2.0"
  69. bap-systemz
  70. bap-taint >= "2.2.0"
  71. bap-term-mapper >= "2.2.0"
  72. bap-thumb
  73. bap-trace >= "2.2.0"
  74. bap-traces >= "2.2.0"
  75. bap-x86 >= "2.2.0"
  76. bare >= "2.2.0"
  77. bignum = "v0.14.0"
  78. bio_io != "0.2.1" & < "0.5.1"
  79. biocaml >= "0.11.0" & < "0.11.2"
  80. bonsai = "v0.14.0"
  81. capnp >= "3.0.0" & < "3.2.0"
  82. caqti-async >= "1.2.2" & < "1.9.0"
  83. cfstream >= "1.3.1"
  84. clp_operations
  85. comby-kernel
  86. comby-semantic
  87. core >= "v0.14.0" & < "v0.15.0"
  88. core_bench = "v0.14.0"
  89. core_extended = "v0.14.0"
  90. core_profiler = "v0.14.0"
  91. cstruct-async >= "3.0.2" & < "6.1.0"
  92. dbf = "0.1.1"
  93. ecaml = "v0.14.0"
  94. email_message = "v0.14.0"
  95. expect_test_helpers_core < "v0.15.0"
  96. flow_parser = "0.159.0"
  97. fuzzy_compare < "2.0.0"
  98. git < "1.3.0"
  99. graphlib >= "2.2.0"
  100. hack_parallel = "1.0.0"
  101. incr_dom = "v0.14.0"
  102. incr_map = "v0.14.0"
  103. incr_select = "v0.14.0"
  104. incremental = "v0.14.0"
  105. irmin < "0.9.0"
  106. jsonxt
  107. lablqt
  108. libsvm = "0.9.3" | >= "0.10.0"
  109. mlt_parser >= "v0.14.0" & < "v0.15.0"
  110. monads >= "2.2.0"
  111. ocaml_plugin = "v0.14.0"
  112. ogre >= "2.2.0"
  113. oloop
  114. opium >= "0.12.0" & < "0.15.0"
  115. patdiff = "v0.14.0"
  116. patience_diff = "v0.14.0"
  117. pgx_value_core
  118. plotkicadsch >= "0.5.0" & < "0.8.0"
  119. polars
  120. portmidi
  121. postgres_async = "v0.14.0"
  122. prc
  123. protocol_version_header = "v0.14.0"
  124. pyml_bindgen < "0.4.1"
  125. randoml
  126. re2 = "v0.14.0"
  127. reddit_api_kernel
  128. reed-solomon-erasure
  129. regular >= "2.2.0"
  130. resource_cache = "v0.14.0"
  131. rpc_parallel = "v0.14.0"
  132. SZXX < "3.0.0"
  133. sexp = "v0.14.0"
  134. sexp_diff_kernel >= "v0.14.0"
  135. shell = "v0.14.0"
  136. sociaml-facebook-api
  137. sociaml-oauth-client
  138. sociaml-tumblr-api >= "0.2.0"
  139. splay_tree = "v0.14.0"
  140. tdigest < "2.0.0"
  141. text-tags >= "2.2.0"
  142. textutils = "v0.14.0"
  143. textutils_kernel = "v0.14.0"
  144. tidy >= "5.6-0.1"
  145. timezone = "v0.14.0"
  146. toplevel_backend = "v0.14.0"
  147. toplevel_expect_test >= "v0.14.0" & < "v0.15.0"
  148. topology >= "0.4.0"
  149. travesty >= "0.3.0" & < "0.6.0"
  150. vcaml = "v0.14.0"
  151. virtual_dom = "v0.14.0"
  152. zstandard = "v0.14.0"

Conflicts

None

OCaml

Innovation. Community. Security.