| dbpprop:abstract
|
- Type inference, or implicit typing, refers to the ability to deduce automatically the type of a value in a programming language. It is a feature present in some strongly statically typed languages. It is often characteristic of — but not limited to — functional programming languages in general. Some languages that include type inference are: Ada, BitC, Boo, C# 3.0, Cayenne, Clean, Cobra, D, Delphi, Epigram, F#, Haskell, haXe, JavaFX Script, ML, Mythryl, Nemerle, OCaml, Oxygene, Scala, and Visual Basic . NET 9.0. This feature is planned for Fortress, C++0x and Perl 6. The ability to infer types automatically makes many programming tasks easier, leaving the programmer free to omit type annotations while maintaining some level of type safety. Explicitly converting to another data type is called "casting".
- Durch Typinferenz 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 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.
- Los tipos de inferencia es una característica predominante de los lenguajes de programación funcionales tales como ML, Haskell y Ocaml. 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 análisis estático 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.
- 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.
- 型推論(かたすいろん)とはプログラミング言語の機能の1つで、静的な型付けを持つ言語において、変数や関数の型を宣言しなくてもそれを導くのに使われた関数の型シグネチャなどから自動的に型を決定する機構のこと。主に関数型言語で用いられる。 推論に失敗するとその時点でエラーを報告できるため、少なくとも誤った型を用いる事によるバグは回避できる。また、記述をアルゴリズムに集中できるのでプログラムの抽象度が上がるというメリットもある。 代表的な型推論アルゴリズムとして、Hidley/Milner 型推論アルゴリズムがある。各々著名なコンピュータ科学者の名前からつけられた名前であるが、Hidley は論理学者として型推論システムを先に開発した。 型推論を持つ言語としてはHaskell、ML、C#、Scala、Objective Caml、D言語、Concurrent Cleanなどがある。JavaやC++0xでも導入が検討されている。静的型付け関数型言語のほとんどが型推論の機能を持っている。
- In de informatica duidt type-inferentie, of impliciete typering, op de mogelijkheid van sommige programmeertalen om automatisch het type van een expressie te deduceren. Een programmeertaal die type-inferentie ondersteunt is in staat om zelf de typen van alle expressies in een programma te bepalen. De meeste functionele programmeertalen ondersteunen type-inferentie, maar ook sommige talen die niet functioneel 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 aanwezig 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. Enkele voorbeelden van programmeertalen met type-inferentie zijn Haskell, OCaml, Ada, F# en ML. Type-inferentie is ook toegevoegd aan de C#-taal in versie 3.0.
- Вывод типа (Type inference) — в программировании возможность компилятора самому логически вывести тип значения из выражения. Первоначально было распространено в функциональных языках, но в последнее время эта возможность появляется в и объекто-ориентированых ЯП. Например: var s = "Hello, world!" // Тип переменной s (string) выведен из инициализатора
- 类型推论或隐含类型,是在某些强静态类型编程语言中出现的一个特征。它经常是函数式编程语言的一般特征但不受限于此。包括类型推论的语言有: Haskell, Cayenne, Clean, ML, OCaml, Epigram, Scala, Nemerle, D, Chrome 和 Boo。计划有这个特征的有 Fortress, C# 3.0, C++0x 和 Perl 6。自动推出类型的能力使很多编程任务变得容易,让编程者在维护某种级别的类型安全的时候可自由的忽略类型标注。明确的转换到另一种数据类型叫做“强制”。
|
| rdfs:comment
|
- Type inference, or implicit typing, refers to the ability to deduce automatically the type of a value in a programming language. It is a feature present in some strongly statically typed languages. It is often characteristic of — but not limited to — functional programming languages in general.
- Durch Typinferenz 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.
- Los tipos de inferencia es una característica predominante de los lenguajes de programación funcionales tales como ML, Haskell y Ocaml. La inferencia de tipos asigna automáticamente un tipo de datos a una función sin necesidad de que el programador lo escriba.
- 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.
- In de informatica duidt type-inferentie, of impliciete typering, op de mogelijkheid van sommige programmeertalen om automatisch het type van een expressie te deduceren. Een programmeertaal die type-inferentie ondersteunt is in staat om zelf de typen van alle expressies in een programma te bepalen. De meeste functionele programmeertalen ondersteunen type-inferentie, maar ook sommige talen die niet functioneel zijn bieden type-inferentie.
- Вывод типа (Type inference) — в программировании возможность компилятора самому логически вывести тип значения из выражения. Первоначально было распространено в функциональных языках, но в последнее время эта возможность появляется в и объекто-ориентированых ЯП.
|