Zobrazit minimální záznam

Kampa: od prototypu k praktické použitelnosti
dc.contributor.advisorBulej, Lubomír
dc.creatorRozsypal, Lukáš
dc.date.accessioned2023-11-06T12:30:44Z
dc.date.available2023-11-06T12:30:44Z
dc.date.issued2023
dc.identifier.urihttp://hdl.handle.net/20.500.11956/184126
dc.description.abstractKampa is an experimental general-purpose imperative programming language influ- enced by functional programming. While Kampa offers several potentially useful features, its usability is limited by some properties of its current implementation as well as of the language itself. We add support for coroutines and parameter inference, making the language more expressive. We also make changes to the syntax that improve code read- ability, in particular reducing the tendency to "line noise". We refine the implementation to remove several arbitrary restrictions regarding generic and dependent types, enabling generic type definitions (among others). Lastly, we demonstrate the practicality of the result by writing a library providing collections, optional, asynchronous programming, generators, and string utilities. 1en_US
dc.description.abstractKampa je experimentální všeobecný imperativní programovací jazyk s prvky funkcionálního programování. Ačkoliv disponuje řadou potenciálně užitečných vlastností, jeho použitelnost je v tuto chvíli omezená nedokonalostmi implementace, ale i jazyka samotného. V této práci jsou odstraňovány tyto nedostatky. Je zlepšena expresivita jazyka přidáním podpory pro koprogramy (coroutines) a inferenci parametrů. Byly pozměněny některé detaily syntaxe s cílem vylepšit čitelnost. Zdokonalila se implementace odstraněním zdánlivě náhodných omezení, zejména co se týká generických a závislých typů, což (mimo jiné) umožní programátorům i knihovně definovat generické typy. Nakonec je názorně předvedena praktičnost jazyka na příkladu standardní knihovny zahrnující obecná dynamická pole, optional a nástroje pro asynchronní programování, psaní generátorů a práci s řetězci.cs_CZ
dc.languageEnglishcs_CZ
dc.language.isoen_US
dc.publisherUniverzita Karlova, Matematicko-fyzikální fakultacs_CZ
dc.subjectnávrh programovacích jazyků|programovací jazyk Kampa|silně typované jazykycs_CZ
dc.subjectprogramming language design|Kampa programming language|strongly typed languagesen_US
dc.titleKampa: from a prototype to practical usabilityen_US
dc.typediplomová prácecs_CZ
dcterms.created2023
dcterms.dateAccepted2023-09-06
dc.description.departmentKatedra distribuovaných a spolehlivých systémůcs_CZ
dc.description.departmentDepartment of Distributed and Dependable Systemsen_US
dc.description.facultyMatematicko-fyzikální fakultacs_CZ
dc.description.facultyFaculty of Mathematics and Physicsen_US
dc.identifier.repId244099
dc.title.translatedKampa: od prototypu k praktické použitelnostics_CZ
dc.contributor.refereePetříček, Tomáš
thesis.degree.nameMgr.
thesis.degree.levelnavazující magisterskécs_CZ
thesis.degree.disciplineInformatika - Softwarové systémycs_CZ
thesis.degree.disciplineComputer Science - Software Systemsen_US
thesis.degree.programInformatika - Softwarové systémycs_CZ
thesis.degree.programComputer Science - Software Systemsen_US
uk.thesis.typediplomová 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.csVýborněcs_CZ
thesis.grade.enExcellenten_US
uk.abstract.csKampa je experimentální všeobecný imperativní programovací jazyk s prvky funkcionálního programování. Ačkoliv disponuje řadou potenciálně užitečných vlastností, jeho použitelnost je v tuto chvíli omezená nedokonalostmi implementace, ale i jazyka samotného. V této práci jsou odstraňovány tyto nedostatky. Je zlepšena expresivita jazyka přidáním podpory pro koprogramy (coroutines) a inferenci parametrů. Byly pozměněny některé detaily syntaxe s cílem vylepšit čitelnost. Zdokonalila se implementace odstraněním zdánlivě náhodných omezení, zejména co se týká generických a závislých typů, což (mimo jiné) umožní programátorům i knihovně definovat generické typy. Nakonec je názorně předvedena praktičnost jazyka na příkladu standardní knihovny zahrnující obecná dynamická pole, optional a nástroje pro asynchronní programování, psaní generátorů a práci s řetězci.cs_CZ
uk.abstract.enKampa is an experimental general-purpose imperative programming language influ- enced by functional programming. While Kampa offers several potentially useful features, its usability is limited by some properties of its current implementation as well as of the language itself. We add support for coroutines and parameter inference, making the language more expressive. We also make changes to the syntax that improve code read- ability, in particular reducing the tendency to "line noise". We refine the implementation to remove several arbitrary restrictions regarding generic and dependent types, enabling generic type definitions (among others). Lastly, we demonstrate the practicality of the result by writing a library providing collections, optional, asynchronous programming, generators, and string utilities. 1en_US
uk.file-availabilityV
uk.grantorUniverzita Karlova, Matematicko-fyzikální fakulta, Katedra distribuovaných a spolehlivých systémůcs_CZ
thesis.grade.code1
uk.publication-placePrahacs_CZ
uk.thesis.defenceStatusO


Soubory tohoto záznamu

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