this post was submitted on 07 Aug 2023
10 points (100.0% liked)
Spørgsmål og Svar
296 readers
2 users here now
Her kan du spørge andre brugere om lige hvad du vil. Intet spørgsmål er for småt og der findes ingen dumme spørgsmål.
Regler
- Indlæg skal være reelle spørgsmål som er spurgt i god tro. Indlæg må ikke være brok skjult som et spørgsmål og spørgsmål må ligeledes ikke være ladede.
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Nej altså implicitte interfaces er en feature i Go, ikke i Rust.
Og ja, Rust traits er dybest set det samme som Haskell type classes. Der er dog visse ting du kan i Haskell som du ikke kan i Rust (noget avanceret higher order ting). Men det er meget sjældent et problem.
I Rust kan du implementere traits hvor du har lyst, men du skal have defineret enten traitet eller datatypen (eller begge dele) for at implementere det. Du kan ikke implementere et fremmed trait på en fremmed type. Kan ikke lige huske om Haskell har en lignende restriktion.
Ah, så læste jeg bare tråden forkert, beklager :).
Jo, det er samme restriktion i Haskell. Den kan slås fra hvis man virkelig har brug for det, f.eks. hvis et 3. parts bibliotek kræver at en anden 3. parts type er en instans af en given typeklasse, og man ikke har mulighed for at bruge en
newtype
.