Tagged union (original) (raw)

About DBpedia

Rekord z wariantami jest to rodzaj rekordu, posiadającego tę właściwość, że zbiór rekordów posiada wspólny typ, lecz różną postać, określoną aktualną wartością specjalnego pola znacznikowego.

thumbnail

Property Value
dbo:abstract In computer science, a tagged union, also called a variant, variant record, choice type, discriminated union, disjoint union, sum type or coproduct, is a data structure used to hold a value that could take on several different, but fixed, types. Only one of the types can be in use at any one time, and a tag field explicitly indicates which one is in use. It can be thought of as a type that has several "cases", each of which should be handled correctly when that type is manipulated. This is critical in defining recursive datatypes, in which some component of a value may have the same type as the value itself, for example in defining a type for representing trees, where it is necessary to distinguish multi-node subtrees and leaves. Like ordinary unions, tagged unions can save storage by overlapping storage areas for each type, since only one is in use at a time. (en) Rekord z wariantami jest to rodzaj rekordu, posiadającego tę właściwość, że zbiór rekordów posiada wspólny typ, lecz różną postać, określoną aktualną wartością specjalnego pola znacznikowego. (pl) Тип-сумма (англ. sum type; также Σ-тип, меченое объединение) — конструкция в языках программирования и интуиционистской теории типов, тип данных, построенный как дизъюнктное объединение исходных типов. Наряду с типом-произведением является одной из важнейших форм алгебраического типа данных и одним из способов конструирования типов в интуиционистской теории типов и её вариантах. Перечисляемый тип может быть рассмотрен как вырожденная форма типа-суммы — размеченное объединение (англ. unit types). С точки зрения изоморфизма Карри — Ховарда, сопоставляющего типы данных и конструктивные математические доказательства, тип-сумма соответствует логической дизъюнкции. Играют важную роль в языках семейства ML, таких как Standard ML, OCaml, Haskell и других. (ru) 标签联合(英語:tagged union)也称可辨识联合(discriminated union)或者变体类型(variant type),指的是这样的一种数据结构,它能够存储一组不同但是固定的类型中某个类型的对象,具体是哪个类型由标签字段决定。这种数据结构在解释器、数据库和数据通信中非常有用。需要注意的是,可辨识联合英文原词在数学中又指不相交并集(disjoint union)。 (zh)
dbo:thumbnail wiki-commons:Special:FilePath/Tagged_union_tree.svg?width=300
dbo:wikiPageExternalLink http://www.boost.org/libs/variant/index.html https://en.cppreference.com/w/cpp/language/if https://www.python.org/dev/peps/pep-0596/ http://www.digitalmars.com/d/phobos/std_variant.html https://github.com/andreaferretti/patty
dbo:wikiPageID 453395 (xsd:integer)
dbo:wikiPageLength 24888 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID 1112622035 (xsd:integer)
dbo:wikiPageWikiLink dbr:Scala_(programming_language) dbr:Enumerated_type dbr:Binary_tree dbr:Arbitrary-precision_arithmetic dbr:Intuitionistic_logic dbr:ML_programming_language dbr:Comparison_of_data_serialization_formats dbr:Rust_(programming_language) dbr:Null_pointer dbr:Object-oriented_programming dbr:Modula-2 dbr:Coproduct dbr:ML_(programming_language) dbc:Articles_with_example_Pascal_code dbr:Computer_science dbr:Pascal_programming_language dbr:Pointer_(computer_programming) dbr:C++ dbr:CDR_coding dbr:C_(programming_language) dbr:TypeScript dbr:Type_theory dbr:Data_structure dbr:Cyclone_programming_language dbr:Lazy_evaluation dbr:Haxe_(programming_language) dbr:ALGOL_68 dbr:Algebraic_data_type dbc:Data_types dbr:Curry–Howard_correspondence dbr:D_(programming_language) dbr:Exception_handling dbr:F_Sharp_(programming_language) dbr:Nim_(programming_language) dbr:Discriminator dbr:Dual_(mathematics) dbr:Logical_disjunction dbr:Functional_programming_language dbr:Type_erasure dbr:Record_(computer_science) dbr:Haskell_(programming_language) dbr:Haxe dbr:Ada_programming_language dbr:Tagged_pointer dbc:Articles_with_example_ALGOL_68_code dbc:Articles_with_example_C_code dbc:Articles_with_example_C++_code dbc:Type_theory dbr:Swift_(programming_language) dbr:Top_type dbr:Disjoint_union dbc:Articles_with_example_Ada_code dbr:C++17 dbr:Class_hierarchy dbr:Injection_(mathematics) dbr:Metadata dbr:Option_type dbr:CORBA dbr:Macro_(computer_science) dbr:Pattern_matching dbr:Rope_(data_structure) dbr:Sentinel_value dbr:Unit_type dbr:Virtual_method_table dbr:Indirection_bit dbr:Immutable_object dbr:Programming_language dbr:Product_type dbr:Variant_type_(COM) dbr:Type_constructor dbr:Boost_C++_Libraries dbr:Functional_language dbr:RTTI dbr:Constructor_(computer_science) dbr:Virtual_method dbr:Monads_in_functional_programming dbr:Union_(computer_science) dbr:Self-describing dbr:Subtype_polymorphism dbr:File:Tagged_union_tree.svg
dbp:wikiPageUsesTemplate dbt:Citation_needed dbt:Cleanup_bare_URLs dbt:Math dbt:Mvar dbt:Reflist dbt:Short_description dbt:Data_types
dct:subject dbc:Articles_with_example_Pascal_code dbc:Data_types dbc:Articles_with_example_ALGOL_68_code dbc:Articles_with_example_C_code dbc:Articles_with_example_C++_code dbc:Type_theory dbc:Articles_with_example_Ada_code
rdf:type yago:Abstraction100002137 yago:Arrangement105726596 yago:Cognition100023271 yago:Concept105835747 yago:Content105809192 yago:DataStructure105728493 yago:Idea105833840 yago:PsychologicalFeature100023100 yago:Structure105726345 yago:WikicatDataStructures yago:WikicatProgrammingConstructs
rdfs:comment Rekord z wariantami jest to rodzaj rekordu, posiadającego tę właściwość, że zbiór rekordów posiada wspólny typ, lecz różną postać, określoną aktualną wartością specjalnego pola znacznikowego. (pl) 标签联合(英語:tagged union)也称可辨识联合(discriminated union)或者变体类型(variant type),指的是这样的一种数据结构,它能够存储一组不同但是固定的类型中某个类型的对象,具体是哪个类型由标签字段决定。这种数据结构在解释器、数据库和数据通信中非常有用。需要注意的是,可辨识联合英文原词在数学中又指不相交并集(disjoint union)。 (zh) In computer science, a tagged union, also called a variant, variant record, choice type, discriminated union, disjoint union, sum type or coproduct, is a data structure used to hold a value that could take on several different, but fixed, types. Only one of the types can be in use at any one time, and a tag field explicitly indicates which one is in use. It can be thought of as a type that has several "cases", each of which should be handled correctly when that type is manipulated. This is critical in defining recursive datatypes, in which some component of a value may have the same type as the value itself, for example in defining a type for representing trees, where it is necessary to distinguish multi-node subtrees and leaves. Like ordinary unions, tagged unions can save storage by over (en) Тип-сумма (англ. sum type; также Σ-тип, меченое объединение) — конструкция в языках программирования и интуиционистской теории типов, тип данных, построенный как дизъюнктное объединение исходных типов. Наряду с типом-произведением является одной из важнейших форм алгебраического типа данных и одним из способов конструирования типов в интуиционистской теории типов и её вариантах. Перечисляемый тип может быть рассмотрен как вырожденная форма типа-суммы — размеченное объединение (англ. unit types). Играют важную роль в языках семейства ML, таких как Standard ML, OCaml, Haskell и других. (ru)
rdfs:label Type somme (fr) Rekord z wariantami (pl) Тип-сумма (ru) Tagged union (en) 标签联合 (zh)
owl:sameAs freebase:Tagged union yago-res:Tagged union wikidata:Tagged union dbpedia-fr:Tagged union dbpedia-pl:Tagged union dbpedia-ru:Tagged union dbpedia-zh:Tagged union https://global.dbpedia.org/id/4vTuR
prov:wasDerivedFrom wikipedia-en:Tagged_union?oldid=1112622035&ns=0
foaf:depiction wiki-commons:Special:FilePath/Tagged_union_tree.svg
foaf:isPrimaryTopicOf wikipedia-en:Tagged_union
is dbo:wikiPageRedirects of dbr:Variant_type dbr:Sum_type dbr:Either_type dbr:United_modes dbr:Variant_record
is dbo:wikiPageWikiLink of dbr:Enumerated_type dbr:List_of_data_structures dbr:Binary_tree dbr:Boxing_(computer_science) dbr:Dconf dbr:Result_type dbr:C++_Standard_Library dbr:Variant_type dbr:Comparison_of_Pascal_and_C dbr:Null_coalescing_operator dbr:Null_pointer dbr:Elm_(programming_language) dbr:GObject dbr:Go_(programming_language) dbr:Standard_ML dbr:Comparison_of_programming_languages_(algebraic_data_type) dbr:Comparison_of_programming_languages_by_type_system dbr:Parameter_(computer_programming) dbr:Sum_type dbr:Whiley_(programming_language) dbr:Err dbr:Algebraic_data_type dbr:Cyclone_(programming_language) dbr:Data_type dbr:External_Data_Representation dbr:F_Sharp_(programming_language) dbr:Discriminated_union dbr:Discriminator dbr:Flow-sensitive_typing dbr:Object_composition dbr:Logical_disjunction dbr:Mogensen–Scott_encoding dbr:Doors_(computing) dbr:C++17 dbr:Indexed_family dbr:Option_type dbr:Semipredicate_problem dbr:Pattern_matching dbr:Union_type dbr:Visitor_pattern dbr:Netstring dbr:Object_lifetime dbr:Tagged_architecture dbr:Variant_type_(COM) dbr:Either_type dbr:United_modes dbr:Variant_record
is foaf:primaryTopic of wikipedia-en:Tagged_union