package core_extended
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=17de5f7cf59818d757bb0625c55f0afc84509122645b7782fb522ac98c3be446
CHANGES.md.html
Release v0.17.0
Added
Bitarray.count
, which returns the number of bits set totrue
in a given prefix of the array.New features in
Delimited_kernel
:Add
label
functions to tag exceptions with additional information about the readerAdd
list_of_headers
function to retrieve the list of headers in the order they appear in the file, at the level of an individual file, as opposed to an individual row.
Improvements to
Find_files
:Expose exceptions to error handlers, so e.g. they can be logged.
Added detailed comments to each field in
Find_files.Options.t
explaining their purpose and equivalence to Unixfind
flags.
Add
Immediate
, containing modules and interfaces for immediate versions of standard datatypes. "Immediate" is used here in the sense ofObj.is_int
.Changes to
Selector
:Selector.String_selector.of_regexp
now accepts an optionalopts
parameter for regular expression options.Added
[@@deriving stable_witness]
toSelector.Stable.V1
.
Release v0.16.0
Added
`Fallback
option toRead.On_invalid_row
.Added
Read.fold_lines
.Added
Write.Out_channel
to support line-by-line printing tostdout
.
Old pre-v0.15 changelogs (very likely stale and incomplete)
113.43.00
Export the interval map module type.
Ocaml interface to the Unix pseudo-terminal functions
Extended_list.fold_left_term
is no longer needed - we now haveList.fold_until
.
113.33.00
Update to follow
core[_kernel]
evolution.
113.24.00
N.B. Some interface changes occured in Core which are repercuted in this package, they are not all list in this file though.
Switched to PPX.
Upgrade
Interval_map.t
with monad operations.Update the
interval_map_intf.ml
file to try to make the documentation clearer.This mostly constitutes splitting out the core operations into a separate module type earlier in the file, so that their documentation occurs before the various more specific module types in reading order.
Various bits of documentation have been tweaked with examples or laws.
Add underscores to color print names Improve and uniformize the behavior of colorprintf functions at the cost of changing the type slightly
Fix core_extended stubs on openbsd
Closes #7 Closes #2
Move
Core_extended.Std.Sys.home
toCore.Std.Sys.home_directory
.Add a module whose type
'a t
acts as a container of ordered items of type 'a (morally, a'a list
) but which supports efficient append operations.Sometimes called a Rope, or Concatenable_list.
Expose the constructors of
Ascii_table.Align.t
so that we can writeColumn.create ~align:Left ...
instead of
Column.create ~align:Align.left
Fix sexp diffing on records The wrong comparaison was leading to huge diff as soon as one field was missing on one side
113.00.00
Added to
Interval_map
a more complete set of operations.Removed
Core_extended.Sexp.filter_record
, which has been superseded byCore.Std.Sexp.of_sexp_allow_extra_fields
.Added to
Interval_map
anInterval
module, with the type of intervals used in an interval map.In
Color_print
, addedsprintf
functions, and changed formatting to compose properly.
112.35.00
Removed the
Stats_reporting
module.Renamed
Quickcheck
module toQuickcheck_deprecated
. It's replaced by Janecheck, which for now is a separate library in the core_extended package, but will soon be merged into core.Moved the
Selector
module to its own library. This is for internal reasons related for code review; it is included as a library within the core_extended package for now, but may move to another home in the future.Added
Extended_unix.terminal_width : int Lazy.t
.Added
Interval_map
module.Added to
Sendmail.send
additional optional arguments:?message_id:string
,?in_reply_to:string
.
112.24.00
Added to
Shell.set_defaults
a?preserve_euid:bool
argument, which causesShell
to usebash -p
.Removed
Array.Access_control
, now that there isCore.Std.Array.Permissioned
.Removed
Fast_int_div
.
112.17.00
Added functions to
Low_level_debug
to get a sexp or string representation of any type.This could be handy when debugging polymorphic code.
Renamed
String.is_substring
tois_substring_deprecated
. UseCore.String.is_substring
instead.Fixed a bug in
Bin_io_utils.save
.Made
Unix.Mac_address
matchHashable.S
.
112.06.00
Sped up
String.is_substring
by replacing the OCaml implementation with a call to libcmemmem
.memmem
runs in 20% of the time, incurs minimal GC pressure, is portable among UNIXen that we target, AND it's clearer than the ML version.Made
Float_ref
supportbin_io
andsexp
.Removed
gettid
, which is now available inCore.Unix
.Added
Fast_int_div
module, which speeds up integer division by a fixed divisor.Moved
Sexp.of_sexp_allow_extra_fields
to core_kernel.
112.01.00
Added
Float_ref
module, which is likefloat ref
but faster for sets due to bypassing the write barrier.Benchmark results on Sandy Bridge:
| [float_ref.ml:] float ref set | 2_886.94ns | 8.00w | | | [float_ref.ml:] Float_ref.set | 355.76ns | 6.00w | | | [float_ref.ml:] float ref get | 415.52ns | 6.00w | | | [float_ref.ml:] Float_ref.get | 416.19ns | 6.00w | |
Added
Bin_io_utils.Wrapped.t
, which defines an'a t with bin_io
that supports size-prefixed serialization and deserialization.Wrapped
has two useful submodules,Opaque
andIgnored
, for efficient handling of size-prefixed bin-io values in cases where serialization can be bypassed. See the comments in the module for more details.
111.28.00
Implemented
Int.gcd
using binary GCD in C, for improved performance.Added
Bin_io_utils.Serialized
, which stores a value in memory as its bin-io representation.Writing such a value just blits the value.
Moved
Text_block
fromCore_extended
intoTextutils
.Added modules
Hashtbl2
andHashtbl2_pair
.
111.25.00
Moved
Quickcheck
fromcore
.Added [Int.gcd].
111.17.00
Added some functions to
Splay_tree
:length
keys
data
to_alist
delete_{after,before}
map
map_range
split
.
111.13.00
Moved
Patience_diff
out ofCore_extended
into its own library.
111.11.00
For
Flang
, added ordering to fields, and addedabs
,min
, andmax
to the language.Removed
Loggers
module.
111.03.00
Added
Set_lang
, a DSL for sets with constants, union, intersection, and difference.In
Process
, useepoll
rather thanselect
when possible,This prevents errors when selecting on file descriptors numbered greater than
FD_SETSIZE
(1024).Removed
Syslog
module. There is nowUnix.Syslog
in core instead; the APIs are not compatible, but they are similar.
109.58.00
Cleaned up the
Stats_reporting
module
109.55.00
Added
Service_command.acquire_lock_exn
, for acquiring a service's lock.
109.53.00
Fixed
Flang
andOlang
to round-trip via sexps, i.e.(t_of_sexp (sexp_of_t t)) = t
.
109.52.00
Removed
Sexp.load_sexp_with_includes
; one should use the newSexplib.Macro
functions.Added
Blang
-like languagesFlang
andOlang
.Flang
-- terms over a field.Olang
-- predicates over an ordered set.
109.45.00
Fixed
Core_extended.Sys.groups
to useUnix.Group.getbygid
rather thanUnix.Group.getbygid_exn
.This handles when a group is deleted and its gid remains in the cache, which causes
Unix.Group.getbygid_exn
to fail because the gid no longer resolves to a group.
109.40.00
Added
Stats_reporting.Delta
, for recording deltas of values.
109.36.00
In
Sexp
module, added ability to expand and compress bash-like brace wildcards.
109.35.00
Added stable versions of types contained in the
Selector
module.
109.34.00
Improved
Sexp.Diff
.Labeled arguments, put them in the right order (old before new), and rework the code to follow the same convention, and produce the output where deletions precede insertions.
109.28.00
In
Shell
functions, made the amount of captured stderr/stdout configurable.
109.27.00
In module
Sexp
, changed and renamedload_includes_in_sexp
.From:
val load_includes_in_sexp : ?max_depth:int -> Sexp.t -> Sexp.t
to:
val load_sexp_with_includes: ?max_depth:int -> ?buf:string -> string -> Sexp.t
Added function
Sexp.Diff.to_string
.Previously the only option was to print to
Out_channel
.