This HTML5 document contains 334 embedded RDF statements represented using HTML+Microdata notation.

The embedded RDF content will be recognized by any processor of HTML5 Microdata.

Namespace Prefixes

PrefixIRI
dbthttp://dbpedia.org/resource/Template:
dbpedia-elhttp://el.dbpedia.org/resource/
n37http://bn.dbpedia.org/resource/
wikipedia-enhttp://en.wikipedia.org/wiki/
dbpedia-svhttp://sv.dbpedia.org/resource/
dbpedia-bghttp://bg.dbpedia.org/resource/
dbpedia-fihttp://fi.dbpedia.org/resource/
dbrhttp://dbpedia.org/resource/
dbpedia-arhttp://ar.dbpedia.org/resource/
dbpedia-mshttp://ms.dbpedia.org/resource/
dbpedia-hehttp://he.dbpedia.org/resource/
n39http://ml.dbpedia.org/resource/
n42http://dbpedia.org/resource/Wikt:
n38http://ky.dbpedia.org/resource/
dctermshttp://purl.org/dc/terms/
rdfshttp://www.w3.org/2000/01/rdf-schema#
dbpedia-cshttp://cs.dbpedia.org/resource/
rdfhttp://www.w3.org/1999/02/22-rdf-syntax-ns#
dbphttp://dbpedia.org/property/
xsdhhttp://www.w3.org/2001/XMLSchema#
dbpedia-ukhttp://uk.dbpedia.org/resource/
dbohttp://dbpedia.org/ontology/
dbpedia-srhttp://sr.dbpedia.org/resource/
dbpedia-vihttp://vi.dbpedia.org/resource/
dbpedia-pthttp://pt.dbpedia.org/resource/
dbpedia-jahttp://ja.dbpedia.org/resource/
dbchttp://dbpedia.org/resource/Category:
dbpedia-dehttp://de.dbpedia.org/resource/
dbpedia-plhttp://pl.dbpedia.org/resource/
dbpedia-thhttp://th.dbpedia.org/resource/
yagohttp://dbpedia.org/class/yago/
dbpedia-ruhttp://ru.dbpedia.org/resource/
wikidatahttp://www.wikidata.org/entity/
n13http://cdsmith.wordpress.com/2011/01/09/an-old-article-i-wrote/
dbpedia-nlhttp://nl.dbpedia.org/resource/
goldhttp://purl.org/linguistics/gold/
yago-reshttp://yago-knowledge.org/resource/
n35https://global.dbpedia.org/id/
dbpedia-ithttp://it.dbpedia.org/resource/
provhttp://www.w3.org/ns/prov#
n47http://bs.dbpedia.org/resource/
foafhttp://xmlns.com/foaf/0.1/
dbpedia-zhhttp://zh.dbpedia.org/resource/
dbpedia-kohttp://ko.dbpedia.org/resource/
n26http://lucacardelli.name/Papers/
n40http://tratt.net/laurie/research/publications/html/tratt__dynamically_typed_languages/
dbpedia-fahttp://fa.dbpedia.org/resource/
dbpedia-eshttp://es.dbpedia.org/resource/
freebasehttp://rdf.freebase.com/ns/
owlhttp://www.w3.org/2002/07/owl#

Statements

Subject Item
dbr:Type_system
rdf:type
yago:Relation100031921 yago:ArtificialLanguage106894544 yago:Idea105833840 yago:Content105809192 yago:Language106282651 yago:LinguisticRelation113797142 yago:WikicatProgrammingLanguages owl:Thing yago:WikicatProgrammingLanguageConcepts yago:ProgrammingLanguage106898352 yago:GrammaticalRelation113796779 dbo:Book yago:Cognition100023271 yago:Inflection113803782 yago:WikicatProgrammingParadigms yago:Abstraction100002137 yago:Paradigm113804375 yago:Communication100033020 yago:PsychologicalFeature100023100 yago:Concept105835747
rdfs:label
Sistema dei tipi Typsystem System typów نظام الأنواع Typesysteem Typový systém Система типізації Type system 型システム Система типов 자료형 체계 Σύστημα τύπων 類型系統 Sistema de tipos Typisierung (Informatik) Sistema de tipos
rdfs:comment
In informatica, un sistema dei tipi è un framework sintattico per la classificazione di espressioni secondo i tipi che esse calcolano. Un sistema dei tipi associa tipi a ogni valore computato. Esaminando il flusso di questi valori, un sistema dei tipi tenta di dimostrare che non avvengano errori di tipo. Il sistema stesso determina che cosa costituisce un errore di tipo, garantendo che le operazioni che si aspettano un certo tipo di valore non siano utilizzate con valori per i quali quell'operazione non ha senso. In computer programming, a type system is a logical system comprising a set of rules that assigns a property called a type to every "term" (a word, phrase, or other set of symbols). Usually the terms are various constructs of a computer program, such as variables, expressions, functions, or modules. A type system dictates the operations that can be performed on a term. For variables, the type system determines the allowed values of that term. Type systems formalize and enforce the otherwise implicit categories the programmer uses for algebraic data types, data structures, or other components (e.g. "string", "array of float", "function returning boolean"). Система типов — совокупность правил в языках программирования, назначающих свойства, именуемые типами, различным конструкциям, составляющим программу — таким как переменные, выражения, функции или модули. Основная роль системы типов заключается в уменьшении числа багов в программах посредством определения интерфейсов между различными частями программы и последующей проверки согласованности взаимодействия этих частей. Эта проверка может происходить статически или динамически, а также быть комбинацией обоих видов. Στην επιστήμη υπολογιστών, ως σύστημα τύπων (type system) μπορεί να οριστεί ένα διαχειρίσιμο συντακτικό πλαίσιο για την κατάταξη φράσεων ανάλογα με τις τιμές που υπολογίζουν. Ένα σύστημα τύπων αποδίδει τύπους (types) σε κάθε υπολογισμένη τιμή. Εξετάζοντας τη ροή αυτών των τιμών, ένα σύστημα τύπων πρέπει να αποδείξει ότι δεν πρόκειται να συμβούν σφάλματα τύπων (type errors). Αν και κάθε διαφορετικό σύστημα τύπων ορίζει τι αποτελεί σφάλμα τύπου, γενικά ένα σύστημα τύπων προσπαθεί να εξασφαλίσει ότι λειτουργίες που δέχονται τιμές συγκεκριμένου είδους δε χρησιμοποιούνται με τιμές που δεν πρέπει. Typový systém lze v informatice definovat jako „tvárný syntaktický rámec pro klasifikování výrazů podle toho, jaký druh hodnoty vypočítávají“. Typový systém porovnává datové typy a výpočty ve výrazech a tím umožňuje zajistit, že nedojde k typovým chybám. Různé operace očekávají různé datové typy a typový systém zajišťuje, aby nebyly použity hodnoty, pro které nemá operace smysl. Ett typsystem definierar inom datavetenskapen hur ett programspråk klassificerar och uttryck som typer, hur det kan manipulera dessa och hur de kan interagera med varandra. Eine Typisierung dient in der Informatik dazu, dass die Objekte (hier Objekte im mathematisch-abstrakten Sinne verstanden) der Programmiersprachen, wie z. B. Variablen, Funktionen oder Objekte (im Sinne der objektorientierten Programmierung) korrekt verwendet werden. Ein Ziel der Typisierung ist die Vermeidung von Laufzeitfehlern. System typów – system klasyfikacji wyrażeń w zależności od rodzajów wartości, jakie one generują. Każdej obliczonej wartości przypisywany jest pewien typ, który jednoznacznie definiuje, jakie operacje można na niej wykonać. Śledząc przepływ wartości, system typów stara się udowodnić, że w programie występuje poprawne typowanie, tzn. nie dochodzi do sytuacji, w której na wartości określonego typu próbujemy wykonać niedozwoloną operację. 컴퓨터 과학에서 자료형 체계(type system)는 값, 표현식, 함수, 모듈 등을 분류하는 규칙의 집합이다. 보다 형식적으로는, "계산될 값을 분류하여 특정한 종류의 프로그램 오류가 일어나지 않음을 증명하는 계산 가능한 방법"으로 정의된다. 자료형 체계에서 각각의 계산된 값은 자료형을 갖는다. 자료형 체계는 프로그램 안에서 값의 흐름을 검토하여 자료형에 맞지 않는 값이 할당되는 것을 막는다. 자료형에 맞지 않는 값이 할당되는 것을 자료형 오류라고 부른다. 논리적으로 맞지 않는 자료형 사이의 연산이나 잘못된 메모리에 접근하는 경우가 이에 해당한다. 구체적으로 어떤 연산이 자료형 오류인지는 자료형 체계에 따라 다르다. 컴파일러는 정적 자료형을 통해 각 변수에 필요한 저장 용량과 연산 알고리즘을 최적화할 수 있다. 예를 들어 다수의 C 컴파일러의 "부동소수점" 자료형은, 단일 정밀도 부동소수점 숫자에 대한 IEEE 표준에 따라 64 비트로 표시된다. 따라서 C 컴파일러는 부동소수점 자료형을 갖는 변수의 연산에는 그에 맞는 기계어 명령을 사용할 수 있다. 在计算机科学中,类型系統(英語:type system)用于定義如何將程式語言中的數值和归類为许多不同的型別,如何操作这些型別,这些型別如何互相作用。型別可以确认一个值或者一组值具有特定的意义和目的(雖然某些型別,如抽象型別和函式型別,在程式執行中,可能不表示為值)。型別系統在各種語言之間有非常大的不同,也許,最主要的差異存在於編譯時期的語法,以及執行時期的操作实现方式。 編譯器可能使用值的靜態型別以最佳化所需的儲存區,並選取對值運算時的較佳演算法。例如,在許多C編譯器中,「浮點數」資料型別是以32 位元表示,與IEEE 754規格一致的單精度浮點數。因此,在數值運算上,C應用了浮点数規範(浮點數加法、乘法等等)。 型別的約束程度以及評估方法,影響了語言的型別。更進一步,程式語言可能就部分,對每一個型別都對應了一個極度個別的演算法的運算。型別理論研究型別系統,儘管實際的程式語言型別系統,起源於電腦架構的實際問題、編譯器實作,以及語言設計。 In de informatica definieert een typesysteem hoe een programmeertaal gegevens groepeert in verschillende gegevenstypen, en hoe deze typen gebruikt en gecombineerd kunnen worden. Een type specificeert een verzameling waarden die bepaalde overeenkomsten hebben. Met elk type is een verzameling bewerkingen geassocieerd die op waarden van dat type toegepast kunnen (mogen) worden. Een van de belangrijkste verschillen tussen een high level-programmeertaal en een low level-programmeertaal is dat een low level-taal geen typesysteem heeft: zo'n taal kent alleen bytes en words. نظام الأنواع (بالإنكليزية Type system) يربط كل قيمة محسوبة بنوع. يحاول نظام الأنواع أن يتأكد من عدم حدوث أي أخطاء نوعية، وذلك من خلال دراسة تدفق تلك القيم. بطبيعة الحال، فإن نظام الأنواع نفسه هو الذي يحدد ماهية الأخطاء النوعية ومتى يعتبر خطأ ما نوعيا، ولكن الهدف بشكل عام هو تجنب الحالات التي تتوقع فيها عمليةٌ ما قيمةً ذات طبيعة معينة فتُشغَّل العملية بقيم لا معنى لها في ذلك السياق (الأخطاء المنطقية)، بالإضافة إلى تجنب أخطاء الذاكرة. Система типізації в програмуванні визначає множину припустимих значень даних та множину операцій над даними. Тип даних означає множину значень, які мають певне спільне значення або спосіб застосування (хоча, деякі типи, такі як абстрактні або функціональні типи, можуть і не представляти значень в програмі). Системи типізації різних мов програмування істотно різняться одна від одної. Найістотніші відмінності полягають в реалізаціях компіляції та поведінки під час виконання програми. 型システム(かたシステム、英: type system)は、コンピュータプログラミングの数々の構成要素および値に対して、型(type)と呼ばれる特性を付与するための数々の規則群から成立している形式体系である。型の付与は、型付け(typing)と言われる。例えば、変数・式・関数・モジュール・オブジェクトなどが型の付与対象になり、それらの型付け要素を規則的な関係でまとめたデータ構造にも型は付与されてカテゴライズされる。 型システムの目的は、プログラムエラーとバグの発生を抑止することである。そのための型安全性とは、各計算および各オペレーションでの型エラー(不正計算、ロジックエラー、バッファオーバーフロー、不正ポインタなど)の発生を防止することと同義になる。 型システムは、一般的に型理論をベースにしている。 En ciencias de la computación, un sistema de tipos define cómo un lenguaje de programación clasifica los valores y las expresiones en tipos, cómo se pueden manipular estos tipos y cómo interactúan. Un tipo de dato indica un conjunto de valores que tienen el mismo significado genérico o propósito (aunque algunos tipos, como los tipos de datos abstractos y tipos de datos función tal vez no representen valores en el programa que se está ejecutando). Los sistemas de tipificación varían significativamente entre lenguajes, siendo quizás las más importantes variaciones las que estén en sus propias implementaciones de la sintáctica en tiempo de compilación y la operativa en tiempo de ejecución. Em linguagens de programação, um sistema de tipos é um conjunto de regras que atribuem uma propriedade chamada de tipo para as várias construções - tais como variáveis, , funções ou módulos - que um programa de computador é composto. Este tipo representa muitas vezes uma descrição aproximada dos valores possíveis que as construções podem armazenar ou computar, ou as mensagens que eles vão responder. O objetivo principal de um sistema de tipos é reduzir erros em programas de computador através da definição de interfaces entre diferentes partes de um programa de computador, e em seguida, verificar que as partes tenham sido conectadas de uma maneira consistente. Essa verificação pode acontecer estaticamente (em tempo de compilação), dinamicamente (em tempo de execução) ou como uma combinaç
rdfs:seeAlso
dbr:Dynamic_programming_language
dcterms:subject
dbc:Data_types dbc:Articles_with_example_C_code dbc:Program_analysis dbc:Type_systems dbc:Type_theory
dbo:wikiPageID
199701
dbo:wikiPageRevisionID
1124027653
dbo:wikiPageWikiLink
dbr:Software_testing dbr:Java_version_history dbr:Clean_(programming_language) dbr:VB.NET dbr:Source_code dbr:Dynamic_dispatch dbr:Gradual_typing dbr:IBM_Rational_Purify dbr:Expression_(computer_science) dbr:Computer_memory dbc:Data_types dbr:Polymorphism_(computer_science) dbr:Array_data_structure dbr:Memory_address dbr:Run_time_(program_lifecycle_phase) dbr:Runtime_(program_lifecycle_phase) dbr:Existential_type dbr:Compiler dbr:Polymorphism_in_object-oriented_programming dbr:Referential_transparency dbr:Program_analysis_(computer_science) dbr:Typing_rule dbr:Downcasting dbr:Variant_type dbr:Intersection_type dbr:Integer dbr:Variable_(computer_science) dbr:Integer_(computer_science) dbr:OCaml dbr:Record_(computer_science) dbr:Common_Lisp dbr:Function_(computer_science) dbr:Cython dbr:Uniqueness_type dbr:Refinement_type dbr:Decision_problem dbr:Ruby_(programming_language) dbr:Singularity_(operating_system) dbr:Floating-point_number dbr:PHP dbr:DrRacket dbr:Associative_array dbr:Computer_program dbr:Compile_time dbr:Computer_programming dbr:Static_typing dbr:Typing_rules dbr:Liskov_substitution_principle dbr:Typability dbr:Infinite_loop dbr:Bug_(computer_programming) dbc:Statically_typed_programming_languages dbr:Perl dbr:Program_correctness dbr:Logical_system dbr:Dependent_ML dbr:Union_type dbr:Type_error dbr:Dynamic_programming_language dbr:Reflection_(computer_programming) dbr:C_Sharp_(programming_language) dbr:System_F dbr:Static_program_analysis dbr:Structural_type_system dbr:Dependent_type dbr:Division_by_zero dbr:Presburger_arithmetic dbr:Duck_typing dbr:Compile-time dbr:Module_(programming) dbr:Dynamic_typing dbr:Gordon_Plotkin dbr:Existential_quantifier dbr:ACM_Computing_Surveys dbr:Epigram_(programming_language) dbr:Abstraction_(computer_science) dbr:Covariance_and_contravariance_(computer_science) dbr:Interface_(computer_science) dbr:Formal_method dbr:Character_(computing) dbr:Clojure dbr:Parametric_polymorphism dbr:Effect_system dbr:Algebraic_data_type dbr:Type_safe dbr:Metaprogramming dbr:Assignment_statement dbr:ML_(programming_language) dbr:Programming_language dbr:Data_structure dbr:Sum_type dbr:Bit dbr:Introspection_(computer_science) dbr:Linear_logic dbr:Instruction_set dbr:Recursive_type dbr:String_(computer_science) dbr:Program_verification dbr:Empirical dbr:Mark_Manasse dbr:Type_polymorphism dbr:Multiple_dispatch dbr:General_purpose_computer dbr:Data_type dbr:Undecidable_problem dbr:GADT dbr:Decidable_set dbr:Scala_(programming_language) dbr:Haskell_(programming_language) dbr:Lint_(software) dbr:Linear_type dbr:Subroutine dbr:Type_checking dbr:Type_conversion dbr:Metaclass dbr:Computable_function dbr:Rust_(programming_language) dbc:Articles_with_example_C_code dbr:Leaky_abstraction dbr:Typed_lambda_calculus dbr:Memory_safety dbr:Mock_object dbr:Halting_problem dbr:JavaScript dbr:Immutable_value dbr:Nominative_type_system dbr:Lambda_calculus dbr:John_C._Mitchell dbr:Subtyping dbr:Interpreter_(computing) dbr:Software_documentation dbr:Undefined_behaviour dbr:Code_coverage dbr:Python_(programming_language) dbc:Program_analysis dbr:Type_safety dbr:Run-time_type_information dbr:Product_type dbr:Kind_(type_theory) dbr:Java_(programming_language) dbr:SECD_machine dbc:Type_theory dbr:Extended_static_checking dbr:Documentation dbr:Floating-point_arithmetic dbc:Type_systems dbr:Class_(computer_science) dbr:Decidability_(logic) dbr:Type_signature dbr:Subtypes dbr:Function_type dbr:F_Sharp_(programming_language) dbr:Type_theory dbr:Type_(computer_science) dbr:Comparison_of_type_systems dbr:Dependency_(computer_science) dbr:Boilerplate_code dbr:IEEE_754-2008 dbr:Object_(computer_science) dbr:Type_inference dbr:Racket_(programming_language) dbr:Disjoint_union dbr:Trade-off dbr:Halting_Problem dbr:Generic_programming dbr:Abstract_data_type dbr:Bounds_checking dbr:Runtime_error n42:meaning dbr:Eval dbr:Late_binding dbr:Expression_(programming) dbr:Type_inhabitation dbr:C++ dbr:Template_(C++) dbr:Turing_completeness dbr:Floating-point dbr:Instruction_code_(programming) dbr:Symbolic_system dbr:Modular_programming dbr:Gilad_Bracha dbr:Raku_(programming_language) dbr:C_(programming_language) dbr:Compiler_optimization dbr:System_F-omega dbc:Dynamically_typed_programming_languages
dbo:wikiPageExternalLink
n13: n26:OnUnderstanding.A4.pdf%7Cjournal= n26:TypeSystems.pdf%7Cisbn=978-1584883609 n40:
owl:sameAs
dbpedia-it:Sistema_dei_tipi dbpedia-cs:Typový_systém dbpedia-th:ระบบชนิดข้อมูล dbpedia-ja:型システム dbpedia-zh:類型系統 dbpedia-bg:Типизация_на_данните dbpedia-el:Σύστημα_τύπων dbpedia-uk:Система_типізації dbpedia-ko:자료형_체계 dbpedia-fi:Tyyppijärjestelmä dbpedia-de:Typisierung_(Informatik) yago-res:Type_system dbpedia-ar:نظام_الأنواع wikidata:Q865760 dbpedia-ru:Система_типов dbpedia-pl:System_typów dbpedia-fa:سیستم_نوع dbpedia-es:Sistema_de_tipos dbpedia-ms:Sistem_jenis dbpedia-he:מערכת_טיפוסים freebase:m.01cc54 n35:52MtP dbpedia-sr:Систем_типова n37:টাইপ_ব্যবস্থা n38:Типтештирүү n39:ടൈപ്പ്_സിസ്റ്റം dbpedia-vi:Hệ_thống_kiểu dbpedia-sv:Typsystem dbpedia-pt:Sistema_de_tipos n47:Sistem_tipova dbpedia-nl:Typesysteem
dbp:wikiPageUsesTemplate
dbt:Efn dbt:Wikibooks dbt:Anchor dbt:Citation_needed dbt:Cite_web dbt:Essay dbt:Type_systems dbt:Portal dbt:Cite_journal dbt:Cite_book dbt:Efn-la dbt:Main dbt:More_footnotes dbt:Code dbt:Commonscatinline dbt:Clarify dbt:Details dbt:Multiple_issues dbt:Reflist dbt:Specify dbt:Notelist-la dbt:Mvar dbt:C-lang dbt:About dbt:Quote dbt:Sfn dbt:See_also dbt:Who dbt:Data_types dbt:Short_description dbt:Rust dbt:Java
dbp:group
note
dbo:abstract
Em linguagens de programação, um sistema de tipos é um conjunto de regras que atribuem uma propriedade chamada de tipo para as várias construções - tais como variáveis, , funções ou módulos - que um programa de computador é composto. Este tipo representa muitas vezes uma descrição aproximada dos valores possíveis que as construções podem armazenar ou computar, ou as mensagens que eles vão responder. O objetivo principal de um sistema de tipos é reduzir erros em programas de computador através da definição de interfaces entre diferentes partes de um programa de computador, e em seguida, verificar que as partes tenham sido conectadas de uma maneira consistente. Essa verificação pode acontecer estaticamente (em tempo de compilação), dinamicamente (em tempo de execução) ou como uma combinação destes. System typów – system klasyfikacji wyrażeń w zależności od rodzajów wartości, jakie one generują. Każdej obliczonej wartości przypisywany jest pewien typ, który jednoznacznie definiuje, jakie operacje można na niej wykonać. Śledząc przepływ wartości, system typów stara się udowodnić, że w programie występuje poprawne typowanie, tzn. nie dochodzi do sytuacji, w której na wartości określonego typu próbujemy wykonać niedozwoloną operację. Kompilator może posłużyć się informacją o typie do poprawnego określenia ilości pamięci niezbędnej na przechowanie wartości oraz wyboru najlepszych algorytmów. Na przykład wiele kompilatorów języka C zapisuje typ "float" na 32 bitach zgodnie z założeniami normy IEEE 754 dla liczb zmiennoprzecinkowych pojedynczej precyzji. Ponadto do przetwarzania wartości tego typu wybierane są instrukcje procesora oraz algorytmy zaprojektowane specjalnie dla nich. Typizacją języka nazwiemy ilość ograniczeń nakładanych na typy oraz sposób ich obliczania. Teoria typów zajmuje się badaniami nad systemami typów, jednak rzeczywiste systemy typów stosowane w językach programowania wywodzą się przeważnie z praktycznych obserwacji oraz ograniczeń nakładanych przez architekturę sprzętową, budowę kompilatora i samego języka. In informatica, un sistema dei tipi è un framework sintattico per la classificazione di espressioni secondo i tipi che esse calcolano. Un sistema dei tipi associa tipi a ogni valore computato. Esaminando il flusso di questi valori, un sistema dei tipi tenta di dimostrare che non avvengano errori di tipo. Il sistema stesso determina che cosa costituisce un errore di tipo, garantendo che le operazioni che si aspettano un certo tipo di valore non siano utilizzate con valori per i quali quell'operazione non ha senso. La profondità dei vincoli sui tipi e la maniera con cui essi vengono valutati dal sistema influenzano la cosiddetta tipizzazione del linguaggio di programmazione. Nel caso di polimorfismo dei tipi, un linguaggio può associare alla stessa operazione un diverso algoritmo per ogni tipo utilizzabile. Sebbene i sistemi dei tipi concreti utilizzati nei linguaggi di programmazione nascano da problemi di natura pratica di architetture dei calcolatori, implementazione dei compilatori e progetto dei linguaggi, esiste una branca dell'informatica, detta teoria dei tipi, che studia i diversi sistemi dei tipi. Ett typsystem definierar inom datavetenskapen hur ett programspråk klassificerar och uttryck som typer, hur det kan manipulera dessa och hur de kan interagera med varandra. In computer programming, a type system is a logical system comprising a set of rules that assigns a property called a type to every "term" (a word, phrase, or other set of symbols). Usually the terms are various constructs of a computer program, such as variables, expressions, functions, or modules. A type system dictates the operations that can be performed on a term. For variables, the type system determines the allowed values of that term. Type systems formalize and enforce the otherwise implicit categories the programmer uses for algebraic data types, data structures, or other components (e.g. "string", "array of float", "function returning boolean"). Type systems are often specified as part of programming languages and built into interpreters and compilers, although the type system of a language can be extended by optional tools that perform added checks using the language's original type syntax and grammar. The main purpose of a type system in a programming language is to reduce possibilities for bugs in computer programs due to type errors. The given type system in question determines what constitutes a type error, but in general, the aim is to prevent operations expecting a certain kind of value from being used with values for which that operation does not make sense (validity errors). Type systems allow defining interfaces between different parts of a computer program, and then checking that the parts have been connected in a consistent way. This checking can happen statically (at compile time), dynamically (at run time), or as a combination of both. Type systems have other purposes as well, such as expressing business rules, enabling certain compiler optimizations, allowing for multiple dispatch, and providing a form of documentation. Typový systém lze v informatice definovat jako „tvárný syntaktický rámec pro klasifikování výrazů podle toho, jaký druh hodnoty vypočítávají“. Typový systém porovnává datové typy a výpočty ve výrazech a tím umožňuje zajistit, že nedojde k typovým chybám. Různé operace očekávají různé datové typy a typový systém zajišťuje, aby nebyly použity hodnoty, pro které nemá operace smysl. Kompilátor může k uložení hodnoty použít staticky definovaný datový typ a pak na ni aplikovat příslušný typ výpočtu. Například kompilátor jazyka C používá datový typ float, který je podle IEEE 754 reprezentován jako 32bitové číslo, a používá pro něj speciální strojové instrukce určené pro výpočty s pohyblivou řádovou čárkou. Úroveň typových omezení a způsob jejich posuzování mají vliv na typování daného programovacího jazyka. Programovací jazyk může v případě typového polymorfizmu přiřadit každému typu další operace s různými konkrétními algoritmy. Teorie typů řeší typové systémy, i když konkrétní typové systémy vycházejí z praktických otázek jako je architektura počítače, implementace překladače a konstrukce programovacího jazyka. 在计算机科学中,类型系統(英語:type system)用于定義如何將程式語言中的數值和归類为许多不同的型別,如何操作这些型別,这些型別如何互相作用。型別可以确认一个值或者一组值具有特定的意义和目的(雖然某些型別,如抽象型別和函式型別,在程式執行中,可能不表示為值)。型別系統在各種語言之間有非常大的不同,也許,最主要的差異存在於編譯時期的語法,以及執行時期的操作实现方式。 編譯器可能使用值的靜態型別以最佳化所需的儲存區,並選取對值運算時的較佳演算法。例如,在許多C編譯器中,「浮點數」資料型別是以32 位元表示,與IEEE 754規格一致的單精度浮點數。因此,在數值運算上,C應用了浮点数規範(浮點數加法、乘法等等)。 型別的約束程度以及評估方法,影響了語言的型別。更進一步,程式語言可能就部分,對每一個型別都對應了一個極度個別的演算法的運算。型別理論研究型別系統,儘管實際的程式語言型別系統,起源於電腦架構的實際問題、編譯器實作,以及語言設計。 En ciencias de la computación, un sistema de tipos define cómo un lenguaje de programación clasifica los valores y las expresiones en tipos, cómo se pueden manipular estos tipos y cómo interactúan. Un tipo de dato indica un conjunto de valores que tienen el mismo significado genérico o propósito (aunque algunos tipos, como los tipos de datos abstractos y tipos de datos función tal vez no representen valores en el programa que se está ejecutando). Los sistemas de tipificación varían significativamente entre lenguajes, siendo quizás las más importantes variaciones las que estén en sus propias implementaciones de la sintáctica en tiempo de compilación y la operativa en tiempo de ejecución. Un compilador puede usar el tipo estático de un valor para optimizar el almacenamiento que necesita y la elección de los algoritmos para las operaciones sobre ese valor. Por ejemplo, en muchos compiladores de C el tipo de dato "flotante" se representa en 32 bits, de acuerdo con la especificación IEEE para los números de coma flotante de simple precisión. Entonces, C usa operaciones específicas de coma flotante sobre estos valores (suma de coma flotante, multiplicación, etc.). El rango del tipo de dato limita y la forma de su evaluación afecta en el "tipado" del lenguaje. Además, un lenguaje de programación puede asociar una operación concreta con diferentes algoritmos para cada tipo de dato en el caso del polimorfismo. En matemáticas y lógica, la teoría de tipos es el estudio de los sistemas de tipos, aunque los sistemas de tipos de datos concretos de los lenguajes de programación se originaron a partir de los problemas técnicos de las arquitecturas del ordenador, implementación del compilador y diseño del lenguaje. Στην επιστήμη υπολογιστών, ως σύστημα τύπων (type system) μπορεί να οριστεί ένα διαχειρίσιμο συντακτικό πλαίσιο για την κατάταξη φράσεων ανάλογα με τις τιμές που υπολογίζουν. Ένα σύστημα τύπων αποδίδει τύπους (types) σε κάθε υπολογισμένη τιμή. Εξετάζοντας τη ροή αυτών των τιμών, ένα σύστημα τύπων πρέπει να αποδείξει ότι δεν πρόκειται να συμβούν σφάλματα τύπων (type errors). Αν και κάθε διαφορετικό σύστημα τύπων ορίζει τι αποτελεί σφάλμα τύπου, γενικά ένα σύστημα τύπων προσπαθεί να εξασφαλίσει ότι λειτουργίες που δέχονται τιμές συγκεκριμένου είδους δε χρησιμοποιούνται με τιμές που δεν πρέπει. Ένας μεταγλωττιστής μπορεί να χρησιμοποιήσει το στατικό τύπο μιας τιμής για να βελτιστοποιήσει τον τρόπο με τον οποίο αυτή θα αποθηκευθεί και τι αλγόριθμοι μπορούν να χρησιμοποιηθούν σε αυτή. Για παράδειγμα, σε πολλούς μεταγλωττιστές της C, ο τύπος δεδομένων "αριθμός κινητής υποδιαστολής" ("float") αναπαρίσταται από 32 bits, σύμφωνα με το πρότυπο κινητής υποδιαστολής απλής ακρίβειας κατά IEEE. Σε αυτήν την περίπτωση η C χρησιμοποιεί λειτουργίες ειδικά για αριθμούς κινητής υποδιαστολής σε αυτές τις τιμές (πρόσθεση αριθμών κινητής υποδιαστολής, πολλαπλασιασμός, κλπ). Το πόσο λεπτομερείς είναι οι περιορισμοί των τύπων και ο τρόπος με τον οποίο αποτιμώνται επηρεάζει την τυποποίηση (typing) μιας γλώσσας. Μια γλώσσα προγραμματισμού μπορεί επιπλέον να αντιστοιχίζει λειτουργίες διαφορετικές υλοποιήσεις αλγορίθμων σε διαφορετικούς τύπους στην περίπτωση του πολυμορφισμού τύπων (type polymorphism). Θεωρία τύπων (type theory) είναι η μελέτη των συστημάτων τύπων, αν και σημαντικό μέρος των συστημάτων τύπων που χρησιμοποιούνται στην πράξη προέρχονται από έρευνα στην αρχιτεκτονική υπολογιστών, την υλοποίηση μεταγλωττιστών και τη σχεδίαση γλωσσών. Eine Typisierung dient in der Informatik dazu, dass die Objekte (hier Objekte im mathematisch-abstrakten Sinne verstanden) der Programmiersprachen, wie z. B. Variablen, Funktionen oder Objekte (im Sinne der objektorientierten Programmierung) korrekt verwendet werden. Ein Ziel der Typisierung ist die Vermeidung von Laufzeitfehlern. نظام الأنواع (بالإنكليزية Type system) يربط كل قيمة محسوبة بنوع. يحاول نظام الأنواع أن يتأكد من عدم حدوث أي أخطاء نوعية، وذلك من خلال دراسة تدفق تلك القيم. بطبيعة الحال، فإن نظام الأنواع نفسه هو الذي يحدد ماهية الأخطاء النوعية ومتى يعتبر خطأ ما نوعيا، ولكن الهدف بشكل عام هو تجنب الحالات التي تتوقع فيها عمليةٌ ما قيمةً ذات طبيعة معينة فتُشغَّل العملية بقيم لا معنى لها في ذلك السياق (الأخطاء المنطقية)، بالإضافة إلى تجنب أخطاء الذاكرة. 型システム(かたシステム、英: type system)は、コンピュータプログラミングの数々の構成要素および値に対して、型(type)と呼ばれる特性を付与するための数々の規則群から成立している形式体系である。型の付与は、型付け(typing)と言われる。例えば、変数・式・関数・モジュール・オブジェクトなどが型の付与対象になり、それらの型付け要素を規則的な関係でまとめたデータ構造にも型は付与されてカテゴライズされる。 型システムの目的は、プログラムエラーとバグの発生を抑止することである。そのための型安全性とは、各計算および各オペレーションでの型エラー(不正計算、ロジックエラー、バッファオーバーフロー、不正ポインタなど)の発生を防止することと同義になる。 型システムは、一般的に型理論をベースにしている。 Система типізації в програмуванні визначає множину припустимих значень даних та множину операцій над даними. Тип даних означає множину значень, які мають певне спільне значення або спосіб застосування (хоча, деякі типи, такі як абстрактні або функціональні типи, можуть і не представляти значень в програмі). Системи типізації різних мов програмування істотно різняться одна від одної. Найістотніші відмінності полягають в реалізаціях компіляції та поведінки під час виконання програми. In de informatica definieert een typesysteem hoe een programmeertaal gegevens groepeert in verschillende gegevenstypen, en hoe deze typen gebruikt en gecombineerd kunnen worden. Een type specificeert een verzameling waarden die bepaalde overeenkomsten hebben. Met elk type is een verzameling bewerkingen geassocieerd die op waarden van dat type toegepast kunnen (mogen) worden. Een van de belangrijkste verschillen tussen een high level-programmeertaal en een low level-programmeertaal is dat een low level-taal geen typesysteem heeft: zo'n taal kent alleen bytes en words. Система типов — совокупность правил в языках программирования, назначающих свойства, именуемые типами, различным конструкциям, составляющим программу — таким как переменные, выражения, функции или модули. Основная роль системы типов заключается в уменьшении числа багов в программах посредством определения интерфейсов между различными частями программы и последующей проверки согласованности взаимодействия этих частей. Эта проверка может происходить статически или динамически, а также быть комбинацией обоих видов. 컴퓨터 과학에서 자료형 체계(type system)는 값, 표현식, 함수, 모듈 등을 분류하는 규칙의 집합이다. 보다 형식적으로는, "계산될 값을 분류하여 특정한 종류의 프로그램 오류가 일어나지 않음을 증명하는 계산 가능한 방법"으로 정의된다. 자료형 체계에서 각각의 계산된 값은 자료형을 갖는다. 자료형 체계는 프로그램 안에서 값의 흐름을 검토하여 자료형에 맞지 않는 값이 할당되는 것을 막는다. 자료형에 맞지 않는 값이 할당되는 것을 자료형 오류라고 부른다. 논리적으로 맞지 않는 자료형 사이의 연산이나 잘못된 메모리에 접근하는 경우가 이에 해당한다. 구체적으로 어떤 연산이 자료형 오류인지는 자료형 체계에 따라 다르다. 컴파일러는 정적 자료형을 통해 각 변수에 필요한 저장 용량과 연산 알고리즘을 최적화할 수 있다. 예를 들어 다수의 C 컴파일러의 "부동소수점" 자료형은, 단일 정밀도 부동소수점 숫자에 대한 IEEE 표준에 따라 64 비트로 표시된다. 따라서 C 컴파일러는 부동소수점 자료형을 갖는 변수의 연산에는 그에 맞는 기계어 명령을 사용할 수 있다. 형식 제약의 깊이와 그 평가의 방법은 언어의 정형에 영향을 미친다. 프로그래밍 언어 추가 자료형 다형성의 경우 각 자료형에 대한 다양한 구체적인 알고리즘과 함께 작업을 연결할 수 있다. 유형 이론은 컴퓨터 아키텍처, 컴파일러 구현 및 언어 디자인의 실용적인 문제에서 발생하는 자료형 체계의 연구이다.
gold:hypernym
dbr:Collection
prov:wasDerivedFrom
wikipedia-en:Type_system?oldid=1124027653&ns=0
dbo:wikiPageLength
56776
foaf:isPrimaryTopicOf
wikipedia-en:Type_system