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.