diplomsko delo
Abstract
Diplomsko delo obravnava rekurzivne podatkovne tipe, tako induktivne, kot
tudi koinduktivne. Podaja njihovo definicijo in predstavi nekaj primerov, ter
opiše različne pristope k njihovi implementaciji. V nadaljevanju se posveti
vsotam tipov in izrazu case, ki lahko razčleni vsote na posamezne variante in
je potreben za delo z rekurzivnimi tipi. Predstavi korake implementacije teh
struktur v programskem jeziku MiniHaskell in pokaže potrebne spremembe
v leksičnem analizatorju, razčlenjevalniku, preverjevalniku tipov in tolmaču.
Osnovni poudarek je na praktični integraciji teh struktur v programski jezik MiniHaskell, v katerem je prikazanih več primerov uporabe, ki ilustrirajo uporabnost teh struktur in odpirajo možnosti za morebitne nadaljne
razširitve.
Keywords
rekurzivni tip;induktivni tip;koinduktivni tip;funkcijsko programiranje;vsota tipov;interdisciplinarni študij;univerzitetni študij;diplomske naloge;
Data
Language: |
Slovenian |
Year of publishing: |
2023 |
Typology: |
2.11 - Undergraduate Thesis |
Organization: |
UL FRI - Faculty of Computer and Information Science |
Publisher: |
[L. Sabotič] |
UDC: |
004:51(043.2) |
COBISS: |
168211203
|
Views: |
89 |
Downloads: |
16 |
Average score: |
0 (0 votes) |
Metadata: |
|
Other data
Secondary language: |
English |
Secondary title: |
Implementation of recursive data types |
Secondary abstract: |
The thesis addresses recursive data types, both inductive and coinductive.
It provides their definition and presents some examples, as well as describing
various approaches to their implementation. Subsequently, it focuses on sum
types and the expression case, which can decompose sums into individual
variants and is essential for working with recursive types. It outlines the steps
for implementing these structures in the MiniHaskell programming language
and illustrates the necessary changes in the lexer, parser, type checker and
interpreter. The primary emphasis lies on the practical integration of these
structures into the MiniHaskell programming language, where several usage
examples are demonstrated, showcasing the utility of these structures and
paving the way for potential further extensions. |
Secondary keywords: |
recursive type;inductive type;coinductive type;functional programming;sum type;computer science;computer and information science;computer science and mathematics;interdisciplinary studies;diploma;Matematika;Računalništvo;Univerzitetna in visokošolska dela; |
Type (COBISS): |
Bachelor thesis/paper |
Study programme: |
1000407 |
Embargo end date (OpenAIRE): |
1970-01-01 |
Thesis comment: |
Univ. v Ljubljani, Fak. za računalništvo in informatiko |
Pages: |
43 str. |
ID: |
19929475 |