Source

spotlib / Changes.txt

Full commit
2.4.1
---------------

* Temporal.Date.yday now returns 0--365, not 1--366!
- Added String.{find_with_pos_opt,split1}

2.4.0
---------------

- Added Option.iter
- Added Option.(>>=!), Result.(>>=!) for bindE. Result.(>>|!) for mapE.
- Added UniqueID
- Added Once
- Added Backref
- Hashtbl.of_list and to_list accept double bindings
- Added List.accum, List.(+::=) and Spot.(+::=)
- Lazy.(!!) is also in Lazy.Open(!!)
- Unix.mkdir can be recursive now
- Added Shell, commands via shell commands
- Added SpotStream.map
- Added String.{sub', replace_chars, find}
- Added Filepath
- Added String.is_space_or_tab and String.is_newline_or_return
- Added Sys.with_chdir
- Added Result.at_Error
- Added Option.(//) which works like Option.default
- Added Base.flipf and Base.filp
* Largely rewritten Xunix's command/shell execution.
* Added Shell for the shell command like functions
* Added labels to At functions.
* Stream.fold_right and fold_right1 were wrong. Shameful.
* Removed String.split_by_newline since it is buggy. Added String.lines instead.
* String.chop_newline is now renamed as String.chop_eols with a bug fix
* Greatly simplyfied Exn
* Changed type of Result.from_Ok

2.3.0
------------

- Added with_ic, (|-), (~~) to Base
* Removed lots of ~f labels.
- Added Exn.protect'_with and Exn.tee
- Added Hashset.Make
- Added Result.map_error
- Added Monadic interface for Stream
- Added Array.foldi_{left,right}
- Added Format.of_out_channel
- Added Gc.with_compacts
- Added List.assoc_opt, rev_filter_map, group, splits_by and TR (tail recursive)
* Renamed String.contains to String.is_substring to avoid the collision with stdlib's String.contains
- Added Unix.with_chdir

2.2.0
------------

- Added Unix.shell_command'
- Added Unix.command'
* Changed type of Unix.shell_command
* Changed type of Unix.command
- Added Base.try_default
- Added Tuple
- Added Exn
- Exposed some more functions into Spotlib.Spot name space
- Added Temporal
- Renamed Stream to SpotStream
- Workaround of CamlP4 bug around `True and `False
- Dependency on pa_ounit (version: 109.11.00)
- Added (--) like List.from_to
- Added List.{partition, partition_map}
- Tweaked String.{is_prefix, is_postfix} labels
- Added String.{is_prefix', is_postfix', drop_postfix}
- Added ok, ng, !!%
- Added (*>)
- Unix.{file, mkdtemp, with_dtemp} added
- Unix.mkdir is overridden
* Renamed Unix.find to Added Unix.Find.find with poly record interface
- Added Format.to_string
- Added URL

2.1.2
------------

- Added String.split
- Added Monad.{liftM, liftM2, fmap2}
- Removed Monad.ignore. Use Monad.void
- Added scan*_left functions
- Added Dllist for doubly linked list
- Added Result in Spot
- Added Base.{result, from_Some, from_Ok, from_Result, memoize_rec} 
- Added String.Levenstein.dist_non_tco
- Added Stream.{split_at, split_at'}
- Added Hashtbl.concat
- Added List.{assoc_all, scani_left}
- Added String.{index_opt, sub_from_to, split, index_opt, scani_left, foldi_left}

2.1.1
------------

- String.make1 added
- (%!) (= Printf.sprintf) is added
- ( ** ) is overridden and now a functional composition
- Older functional compositions (^.) (&.) (@@) are removed.
- Added Result.
- Added Option.catch and Result.catch (and catch_exn)
- Added Base.with_final

2.1.0
------------

- Generic Monad is added
- Monad.ignore is deprecated and removed
- Mtypes for {Print, Compar, Hash}able is added
- Stream is enhanced (ported from Planck)
- Hashtbl.{memoize, find_default}
- chop_newline and split_by_newline are available in Base
- StringSet and StringInt are available in Base
- Simple memoization for Base.memoize added

2.0.1
------------

- Seq is now obsolete. Use Stream.