Zobrazit minimální záznam

Typy pouze pro čtení a čisté metody pro DOT kalkulus
dc.contributor.advisorParízek, Pavel
dc.creatorDort, Vlastimil
dc.date.accessioned2024-11-28T14:50:44Z
dc.date.available2024-11-28T14:50:44Z
dc.date.issued2024
dc.identifier.urihttp://hdl.handle.net/20.500.11956/195221
dc.description.abstractPopulární objektově-orientované programovací jazyky jako Java nebo Scala typicky dovolují měnit objekty přiřazením nových hodnot do jejich datových položek. Zároveň je však běžné psát kód, který k objektům přistupuje pouze pro čtení. Technika Reference mutability (měnitelnost referencí) umožňuje omezit změny objektů tím, že pomocí typů rozlišuje reference na ty, které jsou pouze pro čtení, a ty, které umožňují objekt měnit. Pro jazyk Java byla tato technika již podrobně rozvinuta a existuje implementace ve formě rozšíření pro kompilátor. Scala je programovací jazyk, který se stále rozvíjí a do svého typového systému integruje mnoho pokročilých vlastností, z nichž nejpříznačnější jsou typy závislé na cestě (path-dependent types). Protože komplexnost těchto vlastností vzbuzuje obavy o možnost vzniku porušení typové bezpečnosti (type soundness), existuje formální kalkulus Dependent Object Types (DOT), který formálně dokazuje bezpečnost základních vlastností typového systému jazyka Scala. Tato práce se věnuje možnosti využití vlastností DOT kalkulu pro integraci systému reference mutability. Přinášíme definici kalkulu roDOT, který je založen na variantě DOT kalkulu s proměnlivými objekty, a který reprezentuje měnitelnost reference pomocí speciálního vnořeného typu (type member). Toto kódování umožňuje využít...cs_CZ
dc.description.abstractMainstream object-oriented programming languages, such as Java or Scala, typically allow objects to be mutated by assigning new values to their fields, but it is also common to write code that only accesses objects in a read-only way. Reference mutability is a tech- nique for controlling mutation by distinguishing read-only and mutable references with types. It has been thoroughly studied in Java, and implemented as compiler extensions. Scala is an evolving programming language which integrates many advanced type system features, most notably path-dependent types. To address questions about soundness, the formal Dependent Object Types (DOT) calculus has been developed, which provides a formal proof of soundness for the core of Scala's type system. In this thesis, we explore the possibility of using DOT's features to integrate reference mutability. We define the roDOT calculus, which is based on a version of DOT with mu- table fields, and encodes the mutability of object references using a special type member. This encoding makes it possible to use path dependent types to refer to mutability of a reference, and use intersection and union types to combine mutabilities and implement viewpoint adaptation, ensuring the transitive property of read-only references. In addi- tion to updating the type soundness...en_US
dc.languageEnglishcs_CZ
dc.language.isoen_US
dc.publisherUniverzita Karlova, Matematicko-fyzikální fakultacs_CZ
dc.subjecttype systems|dependent types|DOT calculus|reference mutability|purityen_US
dc.subjecttypové systémy|závislé typy|DOT kalkulus|čisté metody|proměnlivost referencícs_CZ
dc.titleRead-only types and purity for DOTen_US
dc.typedizertační prácecs_CZ
dcterms.created2024
dcterms.dateAccepted2024-09-25
dc.description.departmentDepartment of Distributed and Dependable Systemsen_US
dc.description.departmentKatedra distribuovaných a spolehlivých systémůcs_CZ
dc.description.facultyMatematicko-fyzikální fakultacs_CZ
dc.description.facultyFaculty of Mathematics and Physicsen_US
dc.identifier.repId177096
dc.title.translatedTypy pouze pro čtení a čisté metody pro DOT kalkuluscs_CZ
dc.contributor.refereeDietl, Werner
dc.contributor.refereeHaller, Philipp
thesis.degree.namePh.D.
thesis.degree.leveldoktorskécs_CZ
thesis.degree.disciplineComputer Science - Software Systemsen_US
thesis.degree.disciplineInformatika - Softwarové systémycs_CZ
thesis.degree.programComputer Science - Software Systemsen_US
thesis.degree.programInformatika - Softwarové systémycs_CZ
uk.thesis.typedizertační prácecs_CZ
uk.taxonomy.organization-csMatematicko-fyzikální fakulta::Katedra distribuovaných a spolehlivých systémůcs_CZ
uk.taxonomy.organization-enFaculty of Mathematics and Physics::Department of Distributed and Dependable Systemsen_US
uk.faculty-name.csMatematicko-fyzikální fakultacs_CZ
uk.faculty-name.enFaculty of Mathematics and Physicsen_US
uk.faculty-abbr.csMFFcs_CZ
uk.degree-discipline.csInformatika - Softwarové systémycs_CZ
uk.degree-discipline.enComputer Science - Software Systemsen_US
uk.degree-program.csInformatika - Softwarové systémycs_CZ
uk.degree-program.enComputer Science - Software Systemsen_US
thesis.grade.csProspěl/acs_CZ
thesis.grade.enPassen_US
uk.abstract.csPopulární objektově-orientované programovací jazyky jako Java nebo Scala typicky dovolují měnit objekty přiřazením nových hodnot do jejich datových položek. Zároveň je však běžné psát kód, který k objektům přistupuje pouze pro čtení. Technika Reference mutability (měnitelnost referencí) umožňuje omezit změny objektů tím, že pomocí typů rozlišuje reference na ty, které jsou pouze pro čtení, a ty, které umožňují objekt měnit. Pro jazyk Java byla tato technika již podrobně rozvinuta a existuje implementace ve formě rozšíření pro kompilátor. Scala je programovací jazyk, který se stále rozvíjí a do svého typového systému integruje mnoho pokročilých vlastností, z nichž nejpříznačnější jsou typy závislé na cestě (path-dependent types). Protože komplexnost těchto vlastností vzbuzuje obavy o možnost vzniku porušení typové bezpečnosti (type soundness), existuje formální kalkulus Dependent Object Types (DOT), který formálně dokazuje bezpečnost základních vlastností typového systému jazyka Scala. Tato práce se věnuje možnosti využití vlastností DOT kalkulu pro integraci systému reference mutability. Přinášíme definici kalkulu roDOT, který je založen na variantě DOT kalkulu s proměnlivými objekty, a který reprezentuje měnitelnost reference pomocí speciálního vnořeného typu (type member). Toto kódování umožňuje využít...cs_CZ
uk.abstract.enMainstream object-oriented programming languages, such as Java or Scala, typically allow objects to be mutated by assigning new values to their fields, but it is also common to write code that only accesses objects in a read-only way. Reference mutability is a tech- nique for controlling mutation by distinguishing read-only and mutable references with types. It has been thoroughly studied in Java, and implemented as compiler extensions. Scala is an evolving programming language which integrates many advanced type system features, most notably path-dependent types. To address questions about soundness, the formal Dependent Object Types (DOT) calculus has been developed, which provides a formal proof of soundness for the core of Scala's type system. In this thesis, we explore the possibility of using DOT's features to integrate reference mutability. We define the roDOT calculus, which is based on a version of DOT with mu- table fields, and encodes the mutability of object references using a special type member. This encoding makes it possible to use path dependent types to refer to mutability of a reference, and use intersection and union types to combine mutabilities and implement viewpoint adaptation, ensuring the transitive property of read-only references. In addi- tion to updating the type soundness...en_US
uk.file-availabilityV
uk.grantorUniverzita Karlova, Matematicko-fyzikální fakulta, Katedra distribuovaných a spolehlivých systémůcs_CZ
thesis.grade.codeP
uk.publication-placePrahacs_CZ
uk.thesis.defenceStatusO


Soubory tohoto záznamu

Thumbnail
Thumbnail
Thumbnail
Thumbnail
Thumbnail
Thumbnail
Thumbnail
Thumbnail

Tento záznam se objevuje v následujících sbírkách

Zobrazit minimální záznam


© 2017 Univerzita Karlova, Ústřední knihovna, Ovocný trh 560/5, 116 36 Praha 1; email: admin-repozitar [at] cuni.cz

Za dodržení všech ustanovení autorského zákona jsou zodpovědné jednotlivé složky Univerzity Karlovy. / Each constituent part of Charles University is responsible for adherence to all provisions of the copyright law.

Upozornění / Notice: Získané informace nemohou být použity k výdělečným účelům nebo vydávány za studijní, vědeckou nebo jinou tvůrčí činnost jiné osoby než autora. / Any retrieved information shall not be used for any commercial purposes or claimed as results of studying, scientific or any other creative activities of any person other than the author.

DSpace software copyright © 2002-2015  DuraSpace
Theme by 
@mire NV