Un terme compliqué sans bonnes explications à partir d'une simple recherche sur google ... y a-t-il des gens plus académiques qui pourraient expliquer celui-ci?Qu'est-ce que la paramétrabilité relationnelle?
Répondre
La paramétricité relationnelle semble être la propriété qu'une fonction peut avoir sur des types (comme un générique en Java). S'il a cette propriété, cela signifie qu'il n'inspecte jamais son argument type ou ne le déconstruit/ne l'utilise d'une manière particulière. Par exemple, la fonction "id ou inc" n'est pas ici paramétrique relationnellement:
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)));
}
}
La sortie est:
$ java Hey
11
10.0
Ok, tout va hasarder une hypothèse COMPLETE ici, sur cette
http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=4276578
Je dirais que c'est une représentation mathématique du polymorphisme paramétrique (génériques).
Les deux réponses sont la plupart du temps droit. Je dirais que la paramétricité est une propriété possible du polymorphisme. Et le polymorphisme est paramétrique si les termes polymorphes se comportent de la même manière dans toutes les instanciations. "Se comporter de la même manière" est un terme vague et intuitif. La paramétricité relationnelle a été introduite par John Reynolds comme une formalisation mathématique de ceci. Il indique que les termes polymorphes conservent toutes les relations, ce qui le force intuitivement à se comporter de la même manière:
Considérons f: une liste -> une liste. Si nous avons la relation a ~ 1, b ~ 2, c ~ 3, ..., alors nous pouvons le soulever à des listes et par exemple. [a, d, b, c] ~ [1, 4, 2, 3]
Maintenant, si f ([a, d, b, c]) = [c, b, d, a] et f préserve les relations, alors f ([1, 4, 2, 3]) = [3, 2, 4, 1]. En d'autres termes, si f renverse la liste des chaînes, il inverse également les listes de nombres. Donc, les fonctions polymorphes paramétriques relationnelles ne peuvent pas "inspecter l'argument de type", en ce sens qu'elles ne peuvent pas modifier leur comportement en fonction du type.
- 1. Base de données relationnelle
- 2. Préserver l'intégrité relationnelle avec Mnesia
- 3. base de données relationnelle et la structure de réseau
- 4. Comment mettre à jour une table relationnelle?
- 5. Comment construire une structure relationnelle en javascript?
- 6. terminologie relationnelle: source de clé étrangère, destination?
- 7. Type de données Char dans le problème d'infrastructure d'entité relationnelle
- 8. Stockage d'objets R dans une base de données relationnelle
- 9. Utilisation de Lucene comme une base de données relationnelle
- 10. Comment la théorie relationnelle s'applique-t-elle de façons dont je peux m'occuper tout en l'apprenant?
- 11. Structures de données persistantes efficaces pour la base de données relationnelle
- 12. Conseils rapides sur la conception de base de données relationnelle pour MySQL
- 13. Mapper la base de données relationnelle au format XML en C#
- 14. Essayer de comprendre la logique des requêtes SQL complexes dans MySQL et l'algèbre relationnelle
- 15. Quelle est la meilleure approche pour passer de la base de données relationnelle OLTP au cube OLAP?
- 16. Représentation des paires clé/valeur où la valeur peut être de n'importe quel type (dans une base de données relationnelle)
- 17. Comment puis-je modéliser ceci dans une base de données relationnelle?
- 18. Modéliser correctement les statistiques sportives dans une base de données relationnelle
- 19. Comment représenteriez-vous une entité relationnelle comme une seule unité de données récupérables dans BerkeleyDB?
- 20. Modélisation de différents types d'utilisateurs dans une base de données relationnelle
- 21. XSD neutre de base de données standard pour décrire un schéma de base de données relationnelle
- 22. Question de modèle de conception de base de données relationnelle - base de données Massive Read Only
- 23. Base de données orientée objet Objet Vs Base de données relationnelle
- 24. Comment stockez-vous un trie dans une base de données relationnelle?
- 25. Utilisation d'une base de données relationnelle et d'un magasin valeur-clé en combinaison
- 26. Que signifie la macro?
- 27. Que fait la méthode registerNatives()?
- 28. Que signifie la valeur 1e100f?
- 29. Que fait la méthode Container.validate()?
- 30. Où dans la documentation est-il dit que pendant que les tests readdir pour la définition?