Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Add `Identity` monad

Offen
#469 4 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
30/100
Issue-Typ
Feature
Klarheit
Muss geklärt werden
Aktivitätsstatus
Veraltet
Tech-Stack
python

Rechercherichtung

Das Issue nennt keine Dateien oder Tests; beginne damit, die bestehende Maybe-Implementierung und die von kinded values verwendeten Monad-Abstraktionen zu finden. Vergleiche ihre unterstützten Operationen und Typisierungskonventionen und lege anschließend fest, was für eine Identity als „fertig“ gilt, die jeden umschlossenen Wert bewahrt, einschließlich None.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

enhancement

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

@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
Vorherrschende Sprache
Python
Sterne
4.4k
Forks
154
Ø Merge
3 Std. 5 Min.
Gemergte PRs (30 T.)
22

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus dry-python/returns

Alle Issues in dry-python/returns

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.