Show simple item record

Knihovna rozšiřující jazyk C# o podporu konceptů funkcionálního programování
dc.contributor.advisorParízek, Pavel
dc.creatorĆerim, Harun
dc.date.accessioned2020-10-07T10:10:42Z
dc.date.available2020-10-07T10:10:42Z
dc.date.issued2020
dc.identifier.urihttp://hdl.handle.net/20.500.11956/121344
dc.description.abstractHlavním cílem této diplomové práce bylo zavedení funkční programovací (FP) knihovny s názvem Funk, která rozšiřuje C# s podporou konceptů přítomných ve funkčních programovacích jazycích, jako jsou F# a Scala. Funk využívá mnoho funkčních programovacích konceptů, včetně neměnnosti, sladění vzorů a různých typů monád, společně se silnějším psaním. Zavedení těchto konceptů do jazyka C# pomáhá vyhnout se mnoha chybám v běhu a vzorovému kódu a také umožňuje vývojářům psát kód C# deklarativně, nikoli imperativně, což usnadňuje každodenní vývoj softwaru a snižuje náchylnost k chybám. Kromě toho diplomová práce analyzuje a porovnává Funk se stávajícími funkčními programovacími knihovnami, jako je Language-ext a FuncSharp. Nakonec analyzuje nové funkce C# 8, které zahrnují nulovatelné typy odkazů a sladění vzorů a porovnává je s funkcemi knihovny Funk.cs_CZ
dc.description.abstractThe main goal of this thesis was to implement a functional programming (FP) library named Funk that extends C# with support for concepts present in functional programming languages, such as F# and Scala. Funk utilizes many functional programming concepts, including immutability, pattern matching, and various types of monads, together with stronger typing. Introduction of these concepts into C# helps in avoiding many runtime errors and boilerplate code, and it also lets developers write C# code in a declarative rather than in an imperative way, making the day-to-day software development easier and less error-prone. Additionally, the thesis analyzes and compares Funk with existing functional programming libraries such as Language-ext and FuncSharp. Finally, it analyzes the new features of C# 8, which include nullable reference types and pattern matching and compares them with the functionalities of the Funk library.en_US
dc.languageEnglishcs_CZ
dc.language.isoen_US
dc.publisherUniverzita Karlova, Matematicko-fyzikální fakultacs_CZ
dc.subjectcsharpcs_CZ
dc.subjectfunkční programovánícs_CZ
dc.subjectteorie kategoriícs_CZ
dc.subjectmonádycs_CZ
dc.subjectasynchronní programovánícs_CZ
dc.subjectcsharpen_US
dc.subjectfunctional programmingen_US
dc.subjectcategory theoryen_US
dc.subjectmonadsen_US
dc.subjectasynchronous programmingen_US
dc.titleExtending C# with a Library of Functional Programming Conceptsen_US
dc.typediplomová prácecs_CZ
dcterms.created2020
dcterms.dateAccepted2020-09-16
dc.description.departmentKatedra distribuovaných a spolehlivých systémůcs_CZ
dc.description.departmentDepartment of Distributed and Dependable Systemsen_US
dc.description.facultyFaculty of Mathematics and Physicsen_US
dc.description.facultyMatematicko-fyzikální fakultacs_CZ
dc.identifier.repId223566
dc.title.translatedKnihovna rozšiřující jazyk C# o podporu konceptů funkcionálního programovánícs_CZ
dc.contributor.refereeJežek, Pavel
thesis.degree.nameMgr.
thesis.degree.levelnavazující magisterskécs_CZ
thesis.degree.disciplineSoftware and Data Engineeringen_US
thesis.degree.disciplineSoftwarové a datové inženýrstvícs_CZ
thesis.degree.programComputer Scienceen_US
thesis.degree.programInformatikacs_CZ
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.csSoftwarové a datové inženýrstvícs_CZ
uk.degree-discipline.enSoftware and Data Engineeringen_US
uk.degree-program.csInformatikacs_CZ
uk.degree-program.enComputer Scienceen_US
thesis.grade.csVelmi dobřecs_CZ
thesis.grade.enVery gooden_US
uk.abstract.csHlavním cílem této diplomové práce bylo zavedení funkční programovací (FP) knihovny s názvem Funk, která rozšiřuje C# s podporou konceptů přítomných ve funkčních programovacích jazycích, jako jsou F# a Scala. Funk využívá mnoho funkčních programovacích konceptů, včetně neměnnosti, sladění vzorů a různých typů monád, společně se silnějším psaním. Zavedení těchto konceptů do jazyka C# pomáhá vyhnout se mnoha chybám v běhu a vzorovému kódu a také umožňuje vývojářům psát kód C# deklarativně, nikoli imperativně, což usnadňuje každodenní vývoj softwaru a snižuje náchylnost k chybám. Kromě toho diplomová práce analyzuje a porovnává Funk se stávajícími funkčními programovacími knihovnami, jako je Language-ext a FuncSharp. Nakonec analyzuje nové funkce C# 8, které zahrnují nulovatelné typy odkazů a sladění vzorů a porovnává je s funkcemi knihovny Funk.cs_CZ
uk.abstract.enThe main goal of this thesis was to implement a functional programming (FP) library named Funk that extends C# with support for concepts present in functional programming languages, such as F# and Scala. Funk utilizes many functional programming concepts, including immutability, pattern matching, and various types of monads, together with stronger typing. Introduction of these concepts into C# helps in avoiding many runtime errors and boilerplate code, and it also lets developers write C# code in a declarative rather than in an imperative way, making the day-to-day software development easier and less error-prone. Additionally, the thesis analyzes and compares Funk with existing functional programming libraries such as Language-ext and FuncSharp. Finally, it analyzes the new features of C# 8, which include nullable reference types and pattern matching and compares them with the functionalities of the Funk library.en_US
uk.file-availabilityV
uk.grantorUniverzita Karlova, Matematicko-fyzikální fakulta, Katedra distribuovaných a spolehlivých systémůcs_CZ
thesis.grade.code2
uk.publication-placePrahacs_CZ


Files in this item

Thumbnail
Thumbnail
Thumbnail
Thumbnail
Thumbnail
Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record


© 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