WIP: Lwt-result-stdlib meta-MR
Meta-MR:
-
Bigger Lwtreslib
-
!1903 (merged) -
!1904 (merged) -
!1905 (merged) -
!1968 (merged) -
!1895 (merged) -
!2050 (merged) -
!1967 (closed) and !2245 (merged) (List( with Tests), depends on !2244 (merged) and !2243 (merged)) -
!2054 (merged) (Option, Result) -
Arrays (Maybe not appropriate?) -
String? -
!2642 (merged) Seq_s(Lwt-aware seqs),Seq_e(error-aware seqs), etc. -
!2761 (closed) iter_n: likeiter_pbut with a limit on concurrency (see Lwt_list), or just?max_concurrencyfor all_p -
!2886 (merged) helpers for exception-error conversion (catch/raise)
-
-
Better Lwtreslib
-
!2018 (merged) -
!2244 (merged) (Tests for Seq and Set) -
!2054 (merged) Unsafemodule for convenience (e.g.,Unsafe.Option.find ~__LOC__ o; e.g.,Unsafe.Result.get_ok ~__LOC__) -
!2642 (merged) Require explicit ~comparisonargument instead of relying on polymorphic comparison (e.g.,List.mem,List.assoc). -
Æsthetically uniform code (e.g., Lwt.return_okvsMonad.returnvsLwt.return (Ok )) -
!2026 (merged) (More independence from Error-monad, rearrange Seq.Monadat the same time) -
#1425 (closed) tiered monad? tiered syntax? lets?
-
-
Misc
-
!2036 (merged) -
!2243 (merged) -
!2994 (merged) (Option.filter, counterpart to List.filter)
-
This meta-MR introduces tezos-lwt-result-stdlib, a library with Set, Map and other collections that are similar to Stdlib's but
- without any exceptions and
- with support for error, lwt, and combined error-lwt monad traversal.
The ultimate aim is to shadow the Stdlib's version to enforce use of the error monad.
future steps
-
Add support Lwtreslib in the protocol environment -
Increase shadowing of the Stdlib: -
Option -
Array -
Seqlwt (a Seq-like module that has more integration with Lwt, this should allow to have a lazy map) (Wouldn't Lwt_stream suffice?) -
Queue
-
-
make the trace abstract/private (to prevent #864 from ever happening) with generic enough combinators (seuqntial for tracing, concurrent for combining) -
Absorb TzStringandTzListextensions possibly?
Edited by Raphaël Proust