Pervasives (and thus support OCaml 5.00)S.stopped instantaneously (#18) Previously this could lead to failed assertions in updates (e.g. S.bind trying to switch to an uninitialized signal). Thanks to Arthur Wendling for the report.S.Bool.flip, its initial value on creation could be wrong in dynamic creation (#17). Thanks to Arthur Wendling for the report.S.Option.value with `Always on S.const None (#19). Thanks to Arthur Wendling for the report.S.{diff,changes} (#8).S.switch (#7).open React on #require "react".S.Bool.{flip,edge,fall,rise}.S.switch rank's initialisation.E.l{1,2,3,4,5,6}, lifting combinators on events.E.Option.{some,value}.S.{Float,Int}.{zero,one,minus_one}.S.Bool.{zero,one}.S.Option.{none,some,value}.{S,E}.on equivalent to {S,E}.when_.{S,E}.when_ (syntax error prone).S.bind.S.bind.The following changes are incompatible.
React.Step module. Allows to specify simultaneous primitive signal updates and event occurences. The functions returned by {S,E}.create now have an optional ?step argument; if unused the previous semantics is preserved.{E,S}.stop now have an optional ?strong argument; if unused the previous semantics is preserved.S.switch. Any existing call S.switch ~eq s es can be replaced by S.(switch ~eq (hold ~eq:( == ) s es)).E.retain and S.retain.List.map where replaced by List.rev_map.breakout.ml to make it work on vte based terminals.