Type inference

http://dbpedia.org/resource/Type_inference an entity of type: Abstraction100002137

Ο όρος εξαγωγή τύπων ή συμπερασμός τύπων (type inference) αναφέρεται στην αυτόματη συνεπαγωγή του τύπου μιας τιμής σε μια γλώσσα προγραμματισμού. Σαν χαρακτηριστικό συναντάται σε κάποιες γλώσσες με . Συχνά χρησιμοποιείται σε γλώσσες συναρτησιακού προγραμματισμού αλλά δεν περιορίζεται σε αυτές. Κάποιες γλώσσες που έχουν εξαγωγή τύπων είναι η Visual Basic (από την έκδοση 9.0), η (από την έκδοση 3.0), η , η Haskell, η ML, η OCaml και η Scala. Επίσης πρόκειται να υποστηρίζεται από την και την . Η ικανότητα αυτόματης εξαγωγής τύπων διευκολύνει πολλές προγραμματιστικές διεργασίες, επιτρέποντας στον προγραμματιστή να παραλείπει τον τύπο μιας έκφρασης, χωρίς να εμποδίζει τον έλεγχο των τύπων (type checking). rdf:langString
La inferencia de tipos' es una característica predominante de los lenguajes de programación funcionales tales como ML, Haskell, C#, Vala y . La inferencia de tipos asigna automáticamente un tipo de datos a una función sin necesidad de que el programador lo escriba. El tipo de las funciones es reconstruido a partir de un del programa realizado por el compilador o intérprete del lenguaje, a partir de las definiciones previas y del uso de las variables en el cuerpo de las funciones. rdf:langString
Type inference refers to the automatic detection of the type of an expression in a formal language. These include programming languages and mathematical type systems, but also natural languages in some branches of computer science and linguistics. rdf:langString
Inferencja typów – mechanizm w językach statycznie typowanych, w którym kompilator określa typ danych na podstawie informacji dostępnych w czasie kompilacji, np. typów zadeklarowanych wcześniej lub określania typów na podstawie wartości już znanych zmiennych. Przykładem języka programowania, który wykorzystuje inferencję typów jest TypeScript. rdf:langString
类型推论、类型推导、型別推斷、或隐含类型,是指编程语言中在编译期自动推导出值的数据类型的能力,它是一些强静态类型语言的特性。一般而言,函数式编程语言具有此特性。自动推断类型的能力让很多编程任务变得容易,让程序员可以忽略类型标注的同时仍然允许类型检查。 具有类型推论的语言有:Rust, Haskell, Cayenne, Clean, ML, OCaml, , Scala, Nemerle, D, Chrome,Visual Basic 2008、Boo、C# 3.0、Vala和C++11。计划支持类型推论的有 和Perl 6。 与此相对,通过类型标注以及字面量或其它特定语法隐含类型的语义规则(而非类型推断规则)明确指定目标类型确定类型的过程称为类型转换。 rdf:langString
Typová inference nebo odvozování typu je vlastnost některých programovacích jazyků, která umožňuje nedeklarovat typ proměnné, pokud jej lze odvodit (rekonstruovat) ze zbývajících informací a pravidel zápisu. Staticky typované jazyky vyžadují, aby typ hodnoty byl předem definován. V některých programovacích jazycích je třeba datový typ výslovně deklarovat, což je pro vývojáře nepohodlné. V mnoha případech je možné typ automaticky odvodit. Například v následujícím kódu: var msg: String = "Hello, world!"; var msg = "Hello, world!"; rdf:langString
Durch Typinferenz (englisch Type inference mit type „(Daten-)Art“ oder „Datentyp“ und inference „Schlussfolgerung“), auch Typableitung genannt, kann in manchen (stark typisierten) Programmiersprachen viel Schreibarbeit eingespart werden, indem auf die Niederschrift von Typangaben verzichtet wird, die aus den restlichen Angaben und den Typisierungsregeln hergeleitet (rekonstruiert) werden können; dazu bedient man sich derselben Regeln, die auch zur Typprüfung dienen, als deren Fortentwicklung die Typinferenz in gewisser Weise anzusehen ist. Bei der Durchführung bestimmt man durch Unifikation den allgemeinsten Typ (Haupttyp, principal type) eines Terms. rdf:langString
L'inférence de types est un mécanisme qui permet à un compilateur ou un interpréteur de rechercher automatiquement les types associés à des expressions, sans qu'ils soient indiqués explicitement dans le code source. Le mécanisme d'inférence de type est présent dans certains langages de programmation fonctionnelle. rdf:langString
型推論(かたすいろん、英: type inference)とはプログラミング言語の機能の1つで、静的な型付けを持つ言語において、変数や関数シグネチャの型を明示的に宣言しなくても、変数宣言における初期化のための初期値や、関数呼び出しにおける実引数などといった、周辺情報および文脈などから自動的に(暗黙的に)各々の型を決定する機構のこと。言語によってはtype deductionと呼ばれることもある。 推論に失敗するとその時点でエラーを報告できるため、少なくとも誤った型を用いることによるバグは回避できる。また、アルゴリズムの記述に集中できるのでプログラムの抽象度が上がるというメリットもある。型名が長大な場合に、型推論による省略によってコード全体の見通しをよくすることにもつながるが、一方で統合開発環境による支援(コードエディター上のツールチップなど)が得られない環境では、一見して型が分からないことでコードレビューがしにくくなるというデメリットもある。 代表的な型推論アルゴリズムとして、Hindley/Milner 型推論アルゴリズムがある。各々著名なコンピュータ科学者の名前からつけられた名前であるが、Hindley は論理学者として型推論システムを先に開発した。 rdf:langString
In de informatica duidt type-inferentie (Engels: Type inference), of impliciete typering, op de mogelijkheid van sommige programmeertalen om automatisch het datatype van een expressie te bepalen. Een programmeertaal die type-inferentie ondersteunt is in staat om zelf de typen van bepaalde expressies in een programma te bepalen, waardoor de programmeur deze niet hoeft te specificeren. De meeste functionele programmeertalen ondersteunen type-inferentie, maar ook sommige talen die niet functioneel zijn (maar wel sterk en statisch getypeerd zijn) bieden type-inferentie. rdf:langString
Вывод типов (англ. type inference) — в программировании возможность компилятора самому логически вывести тип значения у выражения. Впервые механизм вывода типов был представлен в языке ML, где компилятор всегда выводит наиболее общий полиморфный тип для всякого выражения. Это не только сокращает размер исходного кода и повышает его лаконичность, но и нередко повышает повторное использование кода. var s = "Hello, world!"; // Тип переменной s (от string) выведен исходя из инициализатора rdf:langString
Ви́від ти́пів (англ. type inference) — в програмуванні можливість компілятора самому логічно вивести тип значення у виразу. Вперше механізм виведення типів був представлений в мові ML, де компілятор завжди виводить найзагальніший поліморфний тип для будь-якого виразу. Це не тільки скорочує розмір початкового коду і підвищує його лаконічність, але і часто підвищує повторне використання коду. var s = "Hello, world!"; // Тип змінної s (string) виведений з ініціалізатора rdf:langString
rdf:langString Type inference
rdf:langString Typová inference
rdf:langString Typinferenz
rdf:langString Εξαγωγή τύπων
rdf:langString Inferencia de tipos
rdf:langString Inférence de types
rdf:langString 型推論
rdf:langString Type-inferentie
rdf:langString Inferencja typów
rdf:langString Вывод типов
rdf:langString 类型推论
rdf:langString Вивід типів
xsd:integer 279690
xsd:integer 1107472413
xsd:date 2007-02-18
rdf:langString Implementation of Hindley-Milner in Perl 5, by Nikita Borisov
rdf:langString Typová inference nebo odvozování typu je vlastnost některých programovacích jazyků, která umožňuje nedeklarovat typ proměnné, pokud jej lze odvodit (rekonstruovat) ze zbývajících informací a pravidel zápisu. Staticky typované jazyky vyžadují, aby typ hodnoty byl předem definován. V některých programovacích jazycích je třeba datový typ výslovně deklarovat, což je pro vývojáře nepohodlné. V mnoha případech je možné typ automaticky odvodit. Například v následujícím kódu: var msg: String = "Hello, world!"; je jasné, jakého typu proměnná msg je. Scala, jako příklad jazyka majícího tuto schopnost, tedy v tomto případě typ nevyžaduje: var msg = "Hello, world!"; Naopak, jsou situace, kdy je třeba typ explicitně uvést, protože by jinak došlo k nejednoznačnosti, se kterou by si kompilátor nedovedl poradit. A nebo, jsou situace, kdy je třeba typ explicitně uvést, protože by kompilátor zvolil jiný, například příliš obecný, nebo příliš konkrétní, který vývojáři nevyhovuje. V jazycích s generickým typovým systémem lze odvozovat také typové parametry.
rdf:langString Durch Typinferenz (englisch Type inference mit type „(Daten-)Art“ oder „Datentyp“ und inference „Schlussfolgerung“), auch Typableitung genannt, kann in manchen (stark typisierten) Programmiersprachen viel Schreibarbeit eingespart werden, indem auf die Niederschrift von Typangaben verzichtet wird, die aus den restlichen Angaben und den Typisierungsregeln hergeleitet (rekonstruiert) werden können; dazu bedient man sich derselben Regeln, die auch zur Typprüfung dienen, als deren Fortentwicklung die Typinferenz in gewisser Weise anzusehen ist. Bei der Durchführung bestimmt man durch Unifikation den allgemeinsten Typ (Haupttyp, principal type) eines Terms. Die Entwicklung der Typinferenz (für ML) durch Milner war ein Meilenstein in der Entwicklung der Programmiersprachen. Sie bedingte, ermöglichte aber zugleich auch anspruchsvollere Typsysteme, die damit erheblich an Bedeutung gewannen. Gewisse Spracheigenschaften wie Typanpassungen und manchmal Überladen wurden zurückgedrängt, weil sie mit der Typinferenz kollidieren. Viele Programmiersprachen unterstützten Typinferenz, zum Beispiel: Python, Java, C++11, C# und Visual Basic.
rdf:langString Ο όρος εξαγωγή τύπων ή συμπερασμός τύπων (type inference) αναφέρεται στην αυτόματη συνεπαγωγή του τύπου μιας τιμής σε μια γλώσσα προγραμματισμού. Σαν χαρακτηριστικό συναντάται σε κάποιες γλώσσες με . Συχνά χρησιμοποιείται σε γλώσσες συναρτησιακού προγραμματισμού αλλά δεν περιορίζεται σε αυτές. Κάποιες γλώσσες που έχουν εξαγωγή τύπων είναι η Visual Basic (από την έκδοση 9.0), η (από την έκδοση 3.0), η , η Haskell, η ML, η OCaml και η Scala. Επίσης πρόκειται να υποστηρίζεται από την και την . Η ικανότητα αυτόματης εξαγωγής τύπων διευκολύνει πολλές προγραμματιστικές διεργασίες, επιτρέποντας στον προγραμματιστή να παραλείπει τον τύπο μιας έκφρασης, χωρίς να εμποδίζει τον έλεγχο των τύπων (type checking).
rdf:langString L'inférence de types est un mécanisme qui permet à un compilateur ou un interpréteur de rechercher automatiquement les types associés à des expressions, sans qu'ils soient indiqués explicitement dans le code source. Il s'agit pour le compilateur ou l'interpréteur de trouver le type le plus général que puisse prendre l'expression. Les avantages à disposer de ce mécanisme sont multiples : le code source est plus aéré, le développeur n'a pas à se soucier de retenir les noms de types, l'interpréteur fournit un moyen au développeur de vérifier (en partie) le code qu'il a écrit et le programme est peu modifié en cas de changement de structure de données. Les expressions restent les plus générales possibles — l'inférence de types va de pair avec le polymorphisme, puisque le compilateur génère des types abstraits au besoin. Enfin, le compilateur, lui, dispose de toutes les informations de type, il y a un typage fort et statique, ce qui lui permet de produire du code plus sûr et plus efficace. Le mécanisme d'inférence de type est présent dans certains langages de programmation fonctionnelle.
rdf:langString La inferencia de tipos' es una característica predominante de los lenguajes de programación funcionales tales como ML, Haskell, C#, Vala y . La inferencia de tipos asigna automáticamente un tipo de datos a una función sin necesidad de que el programador lo escriba. El tipo de las funciones es reconstruido a partir de un del programa realizado por el compilador o intérprete del lenguaje, a partir de las definiciones previas y del uso de las variables en el cuerpo de las funciones.
rdf:langString 型推論(かたすいろん、英: type inference)とはプログラミング言語の機能の1つで、静的な型付けを持つ言語において、変数や関数シグネチャの型を明示的に宣言しなくても、変数宣言における初期化のための初期値や、関数呼び出しにおける実引数などといった、周辺情報および文脈などから自動的に(暗黙的に)各々の型を決定する機構のこと。言語によってはtype deductionと呼ばれることもある。 推論に失敗するとその時点でエラーを報告できるため、少なくとも誤った型を用いることによるバグは回避できる。また、アルゴリズムの記述に集中できるのでプログラムの抽象度が上がるというメリットもある。型名が長大な場合に、型推論による省略によってコード全体の見通しをよくすることにもつながるが、一方で統合開発環境による支援(コードエディター上のツールチップなど)が得られない環境では、一見して型が分からないことでコードレビューがしにくくなるというデメリットもある。 代表的な型推論アルゴリズムとして、Hindley/Milner 型推論アルゴリズムがある。各々著名なコンピュータ科学者の名前からつけられた名前であるが、Hindley は論理学者として型推論システムを先に開発した。 型推論を持つ言語としてはHaskell、ML、Vala、OCaml、F#、C#、Java、Scala、C++、D言語、Concurrent Clean、Swiftなどがある。静的型付け関数型プログラミング言語のほとんどがなんらかの型推論の機能を持っている。登場当初は型推論を持っていなかった言語であっても、関数型言語に影響を受けた拡張や改訂により型推論の機能を持つようになった言語も多い。 ただし型推論と関数の多重定義(オーバーロード)は相性が悪く、オーバーロードをサポートする言語では型推論による恩恵が十分に受けられない(型推論ではシグネチャを一意に決めることができない)ケースがある。
rdf:langString Type inference refers to the automatic detection of the type of an expression in a formal language. These include programming languages and mathematical type systems, but also natural languages in some branches of computer science and linguistics.
rdf:langString In de informatica duidt type-inferentie (Engels: Type inference), of impliciete typering, op de mogelijkheid van sommige programmeertalen om automatisch het datatype van een expressie te bepalen. Een programmeertaal die type-inferentie ondersteunt is in staat om zelf de typen van bepaalde expressies in een programma te bepalen, waardoor de programmeur deze niet hoeft te specificeren. De meeste functionele programmeertalen ondersteunen type-inferentie, maar ook sommige talen die niet functioneel zijn (maar wel sterk en statisch getypeerd zijn) bieden type-inferentie. Het voordeel van type-inferentie is dat de programmeur niet verplicht is alle typen expliciet te declareren, terwijl tegelijkertijd een sterke mate van "type safety" (het voorkomen en detecteren van typefouten) mogelijk blijft. Het deduceren van de typen van alle expressies in een programma gebeurt tijdens het compileren (compile time). De compiler bepaalt de types van samengestelde expressies aan de hand van de samenstellende expressies. De type signatures van functies die door de gebruiker gedefinieerd worden wordt bepaald aan de hand van het gebruik van de parameters in de functiedefinities.Omdat op deze manier het type van alle gebruikte variabelen en gedefinieerde functies door de compiler bepaald kan worden, kunnen type-declaraties vaak helemaal achterwege gelaten worden. Het verschil met dynamische typering is dat type-inferentie plaatsvindt tijdens het compileren, voordat het programma uitgevoerd wordt, terwijl bij dynamische typering het bepalen van de typen pas plaatsvindt tijdens de uitvoer van het programma. Enkele voorbeelden van programmeertalen die in meer of mindere mate type-inferentie ondersteunen zijn Haskell, OCaml, F#, Vala, Scala en recente versies van C++, C# en Java.
rdf:langString Inferencja typów – mechanizm w językach statycznie typowanych, w którym kompilator określa typ danych na podstawie informacji dostępnych w czasie kompilacji, np. typów zadeklarowanych wcześniej lub określania typów na podstawie wartości już znanych zmiennych. Przykładem języka programowania, który wykorzystuje inferencję typów jest TypeScript.
rdf:langString Вывод типов (англ. type inference) — в программировании возможность компилятора самому логически вывести тип значения у выражения. Впервые механизм вывода типов был представлен в языке ML, где компилятор всегда выводит наиболее общий полиморфный тип для всякого выражения. Это не только сокращает размер исходного кода и повышает его лаконичность, но и нередко повышает повторное использование кода. Вывод типов характерен для функциональных языков программирования, хотя со временем он был частично реализован и в объектно-ориентированных языках (C#, D, Visual Basic .NET, Nim, C++11, Vala, Java), где ограничивается возможностью опустить тип идентификатора в определении с инициализацией (см. синтаксический сахар). Например: var s = "Hello, world!"; // Тип переменной s (от string) выведен исходя из инициализатора
rdf:langString Ви́від ти́пів (англ. type inference) — в програмуванні можливість компілятора самому логічно вивести тип значення у виразу. Вперше механізм виведення типів був представлений в мові ML, де компілятор завжди виводить найзагальніший поліморфний тип для будь-якого виразу. Це не тільки скорочує розмір початкового коду і підвищує його лаконічність, але і часто підвищує повторне використання коду. Вивід типів є характерним для функціональних мов програмування, хоча з часом ця можливість частково з'явилася і в об'єктно-орієнтованих мовах програмування (C#, D, Visual Basic .NET, C++11, Vala, Go), де вона обмежується можливістю опустити тип ідентифікатора у визначенні з ініціалізацією (див. синтаксичний цукор). Наприклад: var s = "Hello, world!"; // Тип змінної s (string) виведений з ініціалізатора
rdf:langString 类型推论、类型推导、型別推斷、或隐含类型,是指编程语言中在编译期自动推导出值的数据类型的能力,它是一些强静态类型语言的特性。一般而言,函数式编程语言具有此特性。自动推断类型的能力让很多编程任务变得容易,让程序员可以忽略类型标注的同时仍然允许类型检查。 具有类型推论的语言有:Rust, Haskell, Cayenne, Clean, ML, OCaml, , Scala, Nemerle, D, Chrome,Visual Basic 2008、Boo、C# 3.0、Vala和C++11。计划支持类型推论的有 和Perl 6。 与此相对,通过类型标注以及字面量或其它特定语法隐含类型的语义规则(而非类型推断规则)明确指定目标类型确定类型的过程称为类型转换。
xsd:nonNegativeInteger 23779

data from the linked data cloud