W kursie programowania funkcjonalnego coursera natknąłem się na subtelną koncepcję.Podpisywanie między typami funkcji
Jeśli A2 <: A1 i B1 <: B2, następnie (A1 => B1) <: (A2 => B2)
Uzasadnienie
- kiedy przekazujemy argument do A2 i ze względu na relację podtypu możemy przekazać ten sam argument do A1.
- następnie zastosować funkcję A1 => B1
- Wtedy ta funkcja daje B1 i ze względu na podtypy, które kwalifikuje się jako B2
Jeśli narysować diagram Venna dla tego,
-
- Jaki jest prawidłowy schemat tego?
- Jak można wyjaśnić wynik za pomocą diagramu Venna?
referencyjny: Youtube video
Dzięki wezwanie