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
,min
min_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_string
is 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 typing
instead 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
,unzip
fromstaticmethod
to 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_array
method.
monad_std.Result
:__add__/+ __mul__/*
: Call on the contained value.__iter__/to_iter
: Adapt fromto_array
method.
FIX
monad_std.Option
: Split intoOpSome
andOpNone
.
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 anOption
of the indexed value.
- Rewrite
MTuple
:- Rewrite
tuple.index
: Now it'll return anOption
. - Add
MTuple.get
: Get anOption
of 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 anOption
of the keyed value.
- Rewrite
monad_std.Option
:- Add
from_nullable
as constructor. - Add
__bool__
magic method.
- Add
monad_std.Result
:- Add
catch
andcatch_from
as 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.