package core_extended
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=875fcea0352c10e3ae6e96ddd86136ffd8e24cb19e56193463aa22c292c737d5
doc/CHANGES.html
113.43.00
- Export the interval map module type.
- Ocaml interface to the Unix pseudo-terminal functions
Extended_list.fold_left_termis 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.twith monad operations. Update the
interval_map_intf.mlfile 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.hometoCore.Std.Sys.home_directory. Add a module whose type
'a tacts 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.tso 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_mapa 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_mapanIntervalmodule, with the type of intervals used in an interval map. - In
Color_print, addedsprintffunctions, and changed formatting to compose properly.
112.35.00
- Removed the
Stats_reportingmodule. - Renamed
Quickcheckmodule 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
Selectormodule 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_mapmodule. - Added to
Sendmail.sendadditional optional arguments:?message_id:string,?in_reply_to:string.
112.24.00
- Added to
Shell.set_defaultsa?preserve_euid:boolargument, which causesShellto 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_debugto get a sexp or string representation of any type.This could be handy when debugging polymorphic code.
- Renamed
String.is_substringtois_substring_deprecated. UseCore.String.is_substringinstead. - Fixed a bug in
Bin_io_utils.save. - Made
Unix.Mac_addressmatchHashable.S.
112.06.00
Sped up
String.is_substringby replacing the OCaml implementation with a call to libcmemmem.memmemruns 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_refsupportbin_ioandsexp. - Removed
gettid, which is now available inCore.Unix. - Added
Fast_int_divmodule, which speeds up integer division by a fixed divisor. - Moved
Sexp.of_sexp_allow_extra_fieldsto core_kernel.
112.01.00
Added
Float_refmodule, which is likefloat refbut 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_iothat supports size-prefixed serialization and deserialization.Wrappedhas two useful submodules,OpaqueandIgnored, 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.gcdusing 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_blockfromCore_extendedintoTextutils. - Added modules
Hashtbl2andHashtbl2_pair.
111.25.00
- Moved
Quickcheckfromcore. - Added [Int.gcd].
111.17.00
Added some functions to
Splay_tree:lengthkeysdatato_alistdelete_{after,before}mapmap_rangesplit.
111.13.00
- Moved
Patience_diffout ofCore_extendedinto its own library.
111.11.00
- For
Flang, added ordering to fields, and addedabs,min, andmaxto the language. - Removed
Loggersmodule.
111.03.00
- Added
Set_lang, a DSL for sets with constants, union, intersection, and difference. In
Process, useepollrather thanselectwhen possible,This prevents errors when selecting on file descriptors numbered greater than
FD_SETSIZE(1024).- Removed
Syslogmodule. There is nowUnix.Syslogin core instead; the APIs are not compatible, but they are similar.
109.58.00
- Cleaned up the
Stats_reportingmodule
109.55.00
- Added
Service_command.acquire_lock_exn, for acquiring a service's lock.
109.53.00
- Fixed
FlangandOlangto 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.Macrofunctions. Added
Blang-like languagesFlangandOlang.Flang-- terms over a field.Olang-- predicates over an ordered set.
109.45.00
Fixed
Core_extended.Sys.groupsto useUnix.Group.getbygidrather thanUnix.Group.getbygid_exn.This handles when a group is deleted and its gid remains in the cache, which causes
Unix.Group.getbygid_exnto 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
Sexpmodule, added ability to expand and compress bash-like brace wildcards.
109.35.00
- Added stable versions of types contained in the
Selectormodule.
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
Shellfunctions, 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.tto:
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.