Ein kompliziert klingender Begriff ohne gute Erklärungen aus einer einfachen Google-Suche ... Gibt es akademischere Leute, die das erklären könnten? Was ist relationale Parametrik?
Antwort
Relationale Parametrik scheint die Eigenschaft zu sein, die eine über Typen abstrahierte Funktion (wie eine generische in Java) haben kann. Wenn es diese Eigenschaft hat, bedeutet das, dass es sein Typargument nie inspiziert oder dekonstruiert/verwendet es auf eine spezielle Art und Weise. Zum Beispiel ist hier die Funktion „ID oder inc“ ist nicht relational parametrischer:
public class Hey<T>
{
public T idOrInc(T var)
{
if (var instanceof Integer)
return (T)(new Integer(((Integer)var).intValue()+1));
return var;
}
public static void main(String[] args) {
Hey<Integer> h = new Hey<Integer>();
System.out.println(h.idOrInc(new Integer(10)));
Hey<Double> h2 = new Hey<Double>();
System.out.println(h2.idOrInc(new Double(10)));
}
}
Die Ausgabe lautet:
$ java Hey
11
10.0
Okay, gehen nur die komplette Vermutung zu wagen, auf der Grundlage dieser
http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=4276578
Ich würde sagen, es ist eine mathematische Darstellung parametrischer Polymorphismus (Generika).
Beide Antworten sind meist recht. Ich würde sagen, dass Parametrik eine mögliche Eigenschaft des Polymorphismus ist. Und Polymorphismus ist parametrisch, wenn sich polymorphe Terme unter allen Instanziierungen gleich verhalten. Sich "gleich verhalten" ist ein vager, intuitiver Begriff. Relationale Parametrik wurde von John Reynolds als mathematische Formalisierung eingeführt. Es besagt, dass polymorphe Terme alle Beziehungen beibehalten, was sie intuitiv dazu zwingt, sich gleich zu verhalten:
Betrachten wir f: eine Liste -> eine Liste. Wenn wir die Beziehung a ~ 1, b ~ 2, c ~ 3, ... haben, können wir sie auf Listen heben und haben z. [a, d, b, c] ~ [1, 4, 2, 3]
Nun, wenn f ([a, d, b, c]) = [c, b, d, a] und f erhält die Relationen dann f ([1, 4, 2, 3]) = [3, 2, 4, 1]. Mit anderen Worten, wenn f die Liste der Strings umkehrt, werden auch die Listen der Strings umgekehrt.
So können relational parametrische polymorphe Funktionen das "type argument" nicht untersuchen, da sie ihr Verhalten nicht basierend auf dem Typ ändern können.
- 1. relationale Division
- 2. relationale Datenbank
- 3. Relationale Datenbank
- 4. Welcher .NET-Relationale Mapper ist am schnellsten?
- 5. Django relationale Datenbank Modelle
- 6. Relationale Algebra statt SQL
- 7. Was macht diese Relationale Algebra-Anweisung? (Umwandlung in SQL-Abfrage)
- 8. Relationale Operatoren Auswertungsergebnis
- 9. Django Relationale Datenbank-Lookups
- 10. Objekt relationale Datenbank Primärschlüssel
- 11. Hibernate speichern relationale Tabelle
- 12. Sub Summieren Relationale Datentabelle
- 13. Relationale Tabelle DB
- 14. Relationale Datenbanken und Mathematik?
- 15. JSON-Datentyp für relationale DATENBANK
- 16. Relationale Datenbank-Design mehrerer Benutzertypen
- 17. wie beizutreten 3 relationale Tabellen
- 18. Relationale Datenbank Daten Explorer/Visualisierung?
- 19. Ist eine relationale Datenbank gut für Vektorberechnungen geeignet?
- 20. SQL Query SCHNEIDET - Relationale Algebra
- 21. Hinweis auf meine relationale Datenbankabfrage
- 22. Wie EF Klasse Last und es ist relationale Klassen
- 23. Store relationale Datenbank als XML
- 24. Parse Cloud Code relationale Abfragesyntax
- 25. Kann relationale Datenbank horizontale Skalierung
- 26. Relationale Algebra auf Fehler überprüfen
- 27. Relationale Datenbank Redundanz und Normalisierung
- 28. Relationale Daten: Entitätsvererbungsansätze. Best practice
- 29. SQL in relationale Algebra übersetzen
- 30. Warum sind typsichere relationale Operationen so schwierig?