[go: up one dir, main page]

An Entity of Type: Thing, from Named Graph: http://dbpedia.org, within Data Space: dbpedia.org

In programming languages and type theory, parametric polymorphism allows a single piece of code to be given a "generic" type, using variables in place of actual types, and then instantiated with particular types as needed. Parametrically polymorphic functions and data types are sometimes called generic functions and generic datatypes, respectively, and they form the basis of generic programming.

Property Value
dbo:abstract
  • Στις γλώσσες προγραμματισμού και στη θεωρία τύπων, ο παραμετρικός πολυμορφισμός είναι ένας τρόπος να κάνουμε μια γλώσσα πιο εκφραστική, διατηρώντας ταυτόχρονα την στατική ασφάλεια τύπων. Χρησιμοποιώντας παραμετρικό πολυμορφισμό, μία συνάρτηση ή ένας τύπος δεδομένων μπορεί να γραφεί γενικά ώστε να χειρίζεται πανομοιότυπα τις τιμές ανεξάρτητα από τον τύπο τους. Τέτοιες συναρτήσεις και τύποι δεδομένων ονομάζονται γενικές συναρτήσεις και γενικοί τύποι δεδομένων αντίστοιχα και σχηματίζουν τη βάση του γενικού προγραμματισμού. Για παράδειγμα, μία συνάρτηση append η οποία συνενώνει δύο λίστες μπορεί να κατασκευαστεί έτσι ώστε να μην νοιάζεται για των τύπο των στοιχείων της λίστας: μπορεί να συνενώσει λίστες ακεραίων, λίστες πραγματικών αριθμών, λίστες συμβολοσειρών κτλ. Έστω ότι η μεταβλητή τύπου a δηλώνει τον τύπο των στοιχείων της λίστας. Τότε η append έχει τύπο [a] × [a] → [a], όπου [a] δηλώνει τον τύπο της λίστας από στοιχεία τύπου a. Λέμε ότι ο τύπος της append είναι παραμετρικός με παράμετρο το a για όλες τις τιμές του a. (Σημειώστε ότι αφού υπάρχει μόνο μία μεταβλητή τύπου, η συνάρτηση δεν μπορεί να εφαρμοστεί σε οποιοδήποτε ζευγάρι λιστών: το ζευγάρι λιστών καθώς επίσης και το αποτέλεσμα, πρέπει να αποτελείται από στοιχεία του ίδιου τύπου.) Οπουδήποτε εφαρμόζεται η συνάρτηση append, αποφασίζεται μία τιμή για το a. Σύμφωνα με τον Christopher Strachey, ο παραμετρικός πολυμορφισμός μπορεί να αντιπαρατεθεί με τον , ο οποίος ονομάζεται και υπερφόρτωση, και στον οποίο μια πολυμορφική συνάρτηση μπορεί να έχει ένα πλήθος διακριτών και ίσως και ετερογενών υλοποιήσεων ανάλογα με τον τύπο των παραμέτρων στις οποίες εφαρμόζεται. Ως εκ τούτου, ο πολυμορφισμός ad-hoc polymorphism μπορεί γενικά να υποστηρίξει μόνο έναν περιορισμένο αριθμό διακριτών τύπων, καθώς πρέπει να παρέχεται ξεχωριστή υλοποίηση για κάθε τύπο. (el)
  • In programming languages and type theory, parametric polymorphism allows a single piece of code to be given a "generic" type, using variables in place of actual types, and then instantiated with particular types as needed. Parametrically polymorphic functions and data types are sometimes called generic functions and generic datatypes, respectively, and they form the basis of generic programming. Parametric polymorphism may be contrasted with ad hoc polymorphism. Parametrically polymorphic definitions are uniform: they behave identically regardless of the type they are instantiated at. In contrast, ad hoc polymorphic definitions are given a distinct definition for each type. Thus, ad hoc polymorphism can generally only support a limited number of such distinct types, since a separate implementation has to be provided for each type. (en)
  • Em linguagens de programação e teoria dos tipos, polimorfismo paramétrico é uma forma de se tornar uma linguagem mais expressiva, enquanto continua mantendo toda sua tipagem estática segura. Usando o polimorfismo paramétrico, a função ou tipo de dado pode ser escrita genericamente para que possa suportar valores idênticos sem depender de seu tipo. Essas funções e tipos de dados são chamados funções genéricas e tipos de dados genéricos respectivamente e formam a base da programação genérica. Por exemplo, a função append que junta duas listas pode ser construída para que não se preocupe com o tipo dos elementos: ela pode juntar listas de inteiros, listas de números reais, listas de strings, e assim por diante. Suponhamos que o tipo da variável a denota o tipo de elementos da lista. Então append pode ser escrito da forma [a] x [a] -> [a], onde [a] denota o tipo de listas cujos elementos são do tipo a. Dizemos que o tipo de append é parametrizado por a para todos os valores de a. (Note que como há apenas um único tipo de variável, a função não pode ser aplicada para qualquer par de listas: o par, assim como a lista resultante, deve consistir do mesmo tipo de elementos.) Para cada local no qual append é aplicado, o valor é decidido por a. De acordo com Christopher Strachey, o polimorfismo paramétrico pode ser posto em contraste com o polimorfismo ad-hoc, no qual uma única função polimórfica pode ter um número distinto e potencialmente heterogêneo de implementações dependendo do tipo do(s) argumento(s) para o(s) qual(is) ela é aplicada. Dessa forma, o polimorfismo ad-hoc pode apenas suportar um número limitados de tipos distintos, desde que seja provida uma implementação separada para cada tipo. (pt)
  • Параметрический полиморфизм в языках программирования и теории типов — свойство семантики системы типов, позволяющее обрабатывать значения разных типов идентичным образом, то есть исполнять физически один и тот же код для данных разных типов. Параметрический полиморфизм считается «истинной» формой полиморфизма, делая язык более выразительным и существенно повышая коэффициент повторного использования кода. Традиционно ему противопоставляется ad-hoc-полиморфизм, предоставляющий единый интерфейс к потенциально различному коду для разных допустимых в данном контексте типов, потенциально не совместимых (статически или динамически). В ряде исчислений, например, в теории квалифицированных типов, ad-hoc-полиморфизм рассматривается как частный случай параметрического. Параметрический полиморфизм лежит в основе систем типов языков семейства ML; такие системы типов называют полиморфными. В сообществах языков с неполиморфными системами типов (потомки Алгола и BCPL) параметрически полиморфные функции и типы называют «обобщёнными». (ru)
  • 参数多态在程序设计语言与类型论中是指声明与定义函数、复合类型、变量时不指定其具体的类型,而把这部分类型作为参数使用,使得该定义对各种具体类型都适用。参数化多态使得语言更具表达力,同时保持了完全的静态类型安全。 这被称为泛化函数、泛化数据类型、泛型变量,形成了泛型编程的基础。 (zh)
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 3390146 (xsd:integer)
dbo:wikiPageLength
  • 16271 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID
  • 1123107945 (xsd:integer)
dbo:wikiPageWikiLink
dbp:wikiPageUsesTemplate
dct:subject
gold:hypernym
rdfs:comment
  • 参数多态在程序设计语言与类型论中是指声明与定义函数、复合类型、变量时不指定其具体的类型,而把这部分类型作为参数使用,使得该定义对各种具体类型都适用。参数化多态使得语言更具表达力,同时保持了完全的静态类型安全。 这被称为泛化函数、泛化数据类型、泛型变量,形成了泛型编程的基础。 (zh)
  • Στις γλώσσες προγραμματισμού και στη θεωρία τύπων, ο παραμετρικός πολυμορφισμός είναι ένας τρόπος να κάνουμε μια γλώσσα πιο εκφραστική, διατηρώντας ταυτόχρονα την στατική ασφάλεια τύπων. Χρησιμοποιώντας παραμετρικό πολυμορφισμό, μία συνάρτηση ή ένας τύπος δεδομένων μπορεί να γραφεί γενικά ώστε να χειρίζεται πανομοιότυπα τις τιμές ανεξάρτητα από τον τύπο τους. Τέτοιες συναρτήσεις και τύποι δεδομένων ονομάζονται γενικές συναρτήσεις και γενικοί τύποι δεδομένων αντίστοιχα και σχηματίζουν τη βάση του γενικού προγραμματισμού. (el)
  • In programming languages and type theory, parametric polymorphism allows a single piece of code to be given a "generic" type, using variables in place of actual types, and then instantiated with particular types as needed. Parametrically polymorphic functions and data types are sometimes called generic functions and generic datatypes, respectively, and they form the basis of generic programming. (en)
  • Em linguagens de programação e teoria dos tipos, polimorfismo paramétrico é uma forma de se tornar uma linguagem mais expressiva, enquanto continua mantendo toda sua tipagem estática segura. Usando o polimorfismo paramétrico, a função ou tipo de dado pode ser escrita genericamente para que possa suportar valores idênticos sem depender de seu tipo. Essas funções e tipos de dados são chamados funções genéricas e tipos de dados genéricos respectivamente e formam a base da programação genérica. (pt)
  • Параметрический полиморфизм в языках программирования и теории типов — свойство семантики системы типов, позволяющее обрабатывать значения разных типов идентичным образом, то есть исполнять физически один и тот же код для данных разных типов. Параметрический полиморфизм лежит в основе систем типов языков семейства ML; такие системы типов называют полиморфными. В сообществах языков с неполиморфными системами типов (потомки Алгола и BCPL) параметрически полиморфные функции и типы называют «обобщёнными». (ru)
rdfs:label
  • Παραμετρικός πολυμορφισμός (el)
  • Parametric polymorphism (en)
  • Параметрический полиморфизм (ru)
  • Polimorfismo paramétrico (pt)
  • 参数多态 (zh)
owl:sameAs
prov:wasDerivedFrom
foaf:isPrimaryTopicOf
is dbo:wikiPageDisambiguates of
is dbo:wikiPageRedirects of
is dbo:wikiPageWikiLink of
is dbp:typing of
is rdfs:seeAlso of
is foaf:primaryTopic of
Powered by OpenLink Virtuoso    This material is Open Knowledge     W3C Semantic Web Technology     This material is Open Knowledge    Valid XHTML + RDFa
This content was extracted from Wikipedia and is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License