package core_extended
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=a7bf672f617891b10e405f1edb1c2ddc1db9e5b3169bd278bbb75b84d57d23ce
md5=00eb9b3ed6b0b02f74a2cf01e4d5827f
CHANGES.md.html
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
.