JuliaArrays / JuliaArrays/StaticArrayInterface.jl
Can we contextualize `parent_type`?
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Julia
- Sterne
- 14
- Forks
- 8
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
When I made this PR to base some good points were brought up about what we knew about parent(x) compared to x. With a few exceptions (that we should probably clean up), we simply use parent_type as convenient syntax for communicating the type of the underlying data buffer/collection. An informal search through juliahub shows that a handful of packages define something very similar independent of this package, so it's clearly something that has utility already. I'd like to know if we could do better.
The biggest hangup here is how we succinctly describe what assumptions persists between x and parent(x). The only approachable idea I have is a method like is_lazy_wrapper when we can assume that the wrapper type changes nothing. However, that seems extremely limiting and questionably useful.
A more approachable aspect to this is describing the kind of type that is parent_type(x). For example, sub-typing something like BufferStyle with these subtypes:
WrappedBuffer: single wrapped buffer likeSubArray.MultiBuffer: multiple distinct buffers likeTridiagonalComputedBuffer: buffer is computed on the fly and isn't stored in memory (e.g., FillArrays).
However, creating traits for describing parent_type(x) isn't terribly useful until we have a generic approach for doing f(x) = f(parent(x)).
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, den verlinkten PR und die Diskussion des Issues über parent(x), parent_type(x) und die vorgeschlagenen BufferStyle-Kategorien zu lesen. Vergleiche die genannten Beispiele – SubArray, Tridiagonal und FillArrays – und bestimme, ob ein konkretes Trait oder ein generisches Design f(x) = f(parent(x)) spezifiziert werden kann. Erledigt bedeutet, einen festgelegten, implementierbaren Schnittstellenvorschlag zu erreichen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- julia
- Bereich
- data
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 20/100