V sobotu dne 19. 10. 2024 dojde k odstávce některých součástí informačního systému. Nedostupná bude zejména práce se soubory v modulech závěrečných prací. Svoje požadavky, prosím, odložte na pozdější dobu. |
Vylepšení typové inference v jazyce C#
Název práce v češtině: | Vylepšení typové inference v jazyce C# |
---|---|
Název v anglickém jazyce: | Improving Type Inference in the C# Language |
Klíčová slova: | C#|Roslyn|Typová inference |
Klíčová slova anglicky: | C#|Roslyn|Type inference |
Akademický rok vypsání: | 2022/2023 |
Typ práce: | diplomová práce |
Jazyk práce: | čeština |
Ústav: | Katedra distribuovaných a spolehlivých systémů (32-KDSS) |
Vedoucí / školitel: | Mgr. Pavel Ježek, Ph.D. |
Řešitel: | skrytý - zadáno a potvrzeno stud. odd. |
Datum přihlášení: | 30.05.2023 |
Datum zadání: | 30.05.2023 |
Datum potvrzení stud. oddělením: | 06.06.2023 |
Datum a čas obhajoby: | 11.06.2024 09:00 |
Datum odevzdání elektronické podoby: | 02.05.2024 |
Datum odevzdání tištěné podoby: | 02.05.2024 |
Datum proběhlé obhajoby: | 11.06.2024 |
Oponenti: | doc. RNDr. Pavel Parízek, Ph.D. |
Zásady pro vypracování |
C# is a strongly and statically typed, object-oriented programming language developed by Microsoft. Since types have to be known at compile time, support for type inference is used in the language to reduce need for explicit typing in some of the most obvious scenarios. However, type inference in C# is not as strong as in other strongly statically typed languages like RUST or Haskell.
The goal of this thesis is to investigate the boundaries of C# type inference and compare it with existing implementations in different languages. Next goal is to propose improvements regarding the type inference based on the previous analysis and implement a prototype as part of the Roslyn C# compiler. The author should work closely with the Roslyn team to make the proposal more likely to be discussed by the C# standard committee and possibly later accepted into the C# standard and the Roslyn compiler. |
Seznam odborné literatury |
[1] C# documentation, https://learn.microsoft.com/en-us/dotnet/csharp/
[2] Workspace for C# language specification, https://github.com/dotnet/csharpstandard [3] .NET Compiler Platform, Roslyn, https://github.com/dotnet/roslyn [4] RUST compiler guide, https://rustc-dev-guide.rust-lang.org/ |