Change Log
V0.10.0
ADD:
monad_std.iter.IterMeta:unique: Yield unique elements.
V0.9.0
ADD:
monad_std.iter.IterMeta:map_while: Yields elements based on both a predicate and maps.map_windows: A map but with fixed-sized windows.batching: A meta-iterator over iterator and let you generate values manually.max,max_by,max_by_key,minmin_by,min_by_key: Get the maximum / minimum value.collect_to_xxx: Collect the iterator into a mutable and extendable item.
Note that in Python it's not possible to actually change astr, socollect_to_stringis not provided.collect_set: Collect the iterator into a hashset.partition,partition_map,partition_list,partition_map_list,partition_by: Split the iterator with a predicate.- Aliases: Simplified alias for common methods.
 
monad_std.typedef: Internal type definition.monad_std.utils: Utility used inside and outside (recommend, but not forced) the library.monad_std.either.Either: A structure containing two type of values, but not that specific likemonad_std.Result.
Impl Change
- Use 
import typinginstead offrom typing import ...to make the scope and namespace cleaner. - All iterator implementation will be moved to their single files,
  and can stil be imported from 
monad_std.iter.impl. 
V0.8.0
ADD:
monad_std.prelude: module that contains all frequently used utilities.monad_std.iter:siter: SeeIterMeta.iter.once: SeeIterMeta.once.once_with: SeeIterMeta.once_with.repeat: SeeIterMeta.repeat.
V0.7.0
ADD:
monad_std.Option:map_mut: Map a value by changing itself.
monad_std.Result:map_mut,map_err_mut: Map a value by changing itself.
Breaking Change
- Renamed all iterator tools' implement definition. Now they're not prefix-ed by an 
_Iter. You can now import them viamonad_std.iter.impl. 
V0.6.0
ADD:
monad_std.iter.IterMeta:chunk: Data chunks which will return all the data, including those ignored ones byarray_chunk.
V0.5.0
ADD:
monad_std.Option:to_pattern: An alias forunwrap_unchecked.
monad_std.Result:to_pattern: Transfer into a tuple for pattern matching.ERR,OK: Constant flag value. Seemonad_std.Result.to_pattern.
V0.4.0
ADD
monad_std.Option:to_nullable/unwrap_unchecked: ConvertOption[T]toOptional[T].
monad_std.Result:unwrap_unchecked: ConvertResult[T, E]toUnion[T, E].
V0.3.0
Breaking Change
monad_std.Option,monad_std.Result:- Move 
transpose,flatten,unzipfromstaticmethodto object method. 
- Move 
 
Impl Change
DOCUMENTATION
- Move STD Types to one page.
 - Add overview for API documentation.
 - Add a quick start guide.
 
V0.2.0
ADD
monad_std.iter.IterMeta: Iterator tools.- Api List:
- Iter builder:
 - Iter pusher:
 - Iter sub tool:
 - Iter checker:
 - Iter collector:
 
 
- Api List:
 monad_std.Result:
Breaking Change
V0.1.1
ADD
monad_std.Option:__add__/+ __mul__/*: Call on the contained value.__iter__/to_iter: Adapt fromto_arraymethod.
monad_std.Result:__add__/+ __mul__/*: Call on the contained value.__iter__/to_iter: Adapt fromto_arraymethod.
FIX
monad_std.Option: Split intoOpSomeandOpNone.
V0.1.0
ADD
monad_std.std_types: Wrapped api around std types.MList:- Rewrite 
list.index,list.pop: Now they'll return anOption[T]. - Add 
MList.get: Get anOptionof the indexed value. 
- Rewrite 
 MTuple:- Rewrite 
tuple.index: Now it'll return anOption. - Add 
MTuple.get: Get anOptionof the indexed value. 
- Rewrite 
 MSet:- Rewrite 
set.pop: Now it'll return anOption. 
- Rewrite 
 MDict:- Rewrite 
dict.popitem,dict.pop: Now they'll return anOption. - Add 
MDict.get: Get anOptionof the keyed value. 
- Rewrite 
 
monad_std.Option:- Add 
from_nullableas constructor. - Add 
__bool__magic method. 
- Add 
 monad_std.Result:- Add 
catchandcatch_fromas constructor. - Add 
__bool__magic method. 
- Add 
 
FIX
monad_std.Option: FixOption.__repr__'s behavior.
V0.0.0(Initial Release)
ADD
monad_std.Option: An optional value.monad_std.Result: A structure containing a success value or an error.monad_std.UnwrapException: Generic exception for unwrapping a monad.