dry-python / dry-python/returns

Add `Identity` monad

Aperta
#469 4 commenti 0 reazioni 0 assegnatari Vedi su GitHub
enhancement
Lingua principale
Python
Stelle
4.4k
Fork
155
Merge medio
2h 27m
PR unite (30g)
22

Descrizione

We need this to wrap regular values into a monad.
This might be required when you have a function like this:

```python
@kinded
def do_something(c: KindN[V, E, D], f: Callable[[V], N]) -> KindN[N, E, D]: ...
```

And you want to call it with just a plain value, like `1`.
Then, you wrap it into `Identity(1)` and pass into `do_something` with no problems.

`Maybe` does not fit for several reasons:
1. It does not support all possible methods, like `rescue`
2. It treats `None` differently, we should be able to wrap `Identity(None)` as is

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.