package travesty
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
On This Page
  
  
  Monadically traversable containers
Install
    
    dune-project
 Dependency
Authors
Maintainers
Sources
  
    
      travesty-v0.3.0.tbz
    
    
        
    
  
  
  
    
  
  
    
  
        sha256=40ada5c475cfeba7d933eec133294d1b5ef5da6ce864c9746b2ce4ce49b5e3a4
    
    
  md5=dc818d6b232f13edb388d25781cd99a2
    
    
  doc/CHANGES.html
v0.3.0 (2019-03-03)
Breaking changes
- Now targeting v0.12 of Jane Street's upstream libraries. This release of travesty no longer supports v0.11.
- As a result, travesty no longer supports OCaml 4.06; please use 4.07+.
- Traversable signature names have changed: Basic_container0is nowBasic0, andBasic_container1is nowBasic1. The original names are now used for stronger interfaces that include implementations ofContainer.S*; see 'new features' below for information.
New features
- Add T_container.Extensions0andExtend0, which generalise most ofExtensions1/Extend1to arity-0 containers.
- Generalise T_container's predicate extensions (any/all/none) over arity-0 containers, provided that theireltisx -> boolfor somex.
- Add Bi_mappable, an implementation of bifunctors.
- Add T_alist, an extended form ofList.Assoc.
- Split the Traversable container functors into two kinds: the Make_container*functors now takeBasic*signatures (but are otherwise the same---they still produce their ownContainer.S*instances); the newExtend_container*functors take the now-strongerBasic_container*signatures, which include custom implementations ofContainer.S*, and use those instead. The idea is thatMakeis for building new containers from traversals, andExtendis for adding traversals to existing containers.
Other
- T_listand- T_optionnow use- Extend_container1internally: the upshot of this is that they re-use the existing Core implementations of container operations where possible, rather than (slowly) re-building them using- fold_m.
v0.2.0 (2018-12-23)
Breaking changes
- Potentially breaking change: Traversable.S0_containernow containsmodule Elt : Equal.S, and constrainstype eltto be equal toElt.t. This reflects the situation inBasic_container0, and shouldn't break any code usingMake_container0, but may cause custom-built modules to fail to type-check.
- T_container.any's arguments have swapped order, to be more in line with- Coreidioms.
New features
- Add Traversable.Chain0, a functor for combining twoS0_containerinstances together for nested traversal.
- Add T_fn.disjto go withT_fn.conj.
- Add Filter_mappable, which generalisesList.filter_map.
- Add tee_mto monad extensions. This is a small wrapper overf x >>| fun () -> xthat allows unit-returning monadic side-effects to be treated as part of a monad pipeline.
- Add T_or_error: monad extensions forCore.Or_error.
- oneand- twoare now implemented on- T_container, not just- T_list. The errors are slightly less precise, but otherwise nothing has changed.
- Add T_container.at_most_oneto complementoneandtwo.
- Add Monad.To_mappable, which makes sure that monads can be converted to mappables.
- Add T_container.allandnone, to complementany.
Other
- Improve API documentation.
v0.1.3 (2018-12-13)
- Fix incorrect module name (was Lib, notTravesty).
- Restrict to OCaml v4.06+ (this was the case in the final v0.1.2 OPAM release, but not upstream).
v0.1.2 (2018-12-12)
- Improve API documentation.
- Move functors and concrete modules out of Intffiles.
- Generally rationalise the interface ready for a public release.
- Add various container modules from act:Singleton,T_list, andT_option.
v0.1.1 (2018-12-10)
- Move API documentation, in an attempt to get dune-releaseto work.
v0.1 (2018-12-10)
- Initial release.
- Existing functionality migrated from act's utils directory.
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
  On This Page