undergraduate thesis
Foundations and programming implementations of lambda calculus

Maja Mihaljević (2015)
Josip Juraj Strossmayer University of Osijek
Faculty of Electrical Engineering, Computer Science and Information Technology Osijek
Department of Core Courses
Chair of Mathematics and Physics
Metadata
TitleOsnovne karakteristike i programska implementacija lambda računa
AuthorMaja Mihaljević
Mentor(s)Tomislav Rudec (thesis advisor)
Ivana Hartmann Tolić (thesis advisor)
Abstract
U ovom završnom radu prikazane su osnovne karakteristike lambda računa kao formalnog sustava za izračun vrijednosti funkcija. Objašnjen je pojam apstrakcije od kojeg kreće kreiranje svakog rješenja lambda računa. Prikazan je i zapis lambda računa te je uspoređen s klasičnim matematičkim zapisom funkcije. Također su objašnjene vrste izraza koje mogu stajati uz lambdu poput varijabli, apstrakcije funkcija te aplikacije funkcija. Nakon toga, objašnjeni su i načini redukcije, odnosno evaluacije te skraćivanje ili mijenjanje imena varijabli izraza kroz betaredukciju, alfa-konverziju te eta-redukciju. Na kraju su prikazani zapisi lambda računa u programskim jezicima Haskell i Python te je isprogramiran kalkulator sa jednostavnim računskim operacijama koje su definirane kao funkcije sa lambda konstruktorom. Cilj je rada bio upoznati se sa teorijskom podlogom funkcionalnih programskih jezika te ustvrditi koliko ta teorijska podloga pomaže shvaćanju logike funkcionalnih programskih jezika, ali i programskih jezika uopće.
KeywordsChurch lambda function abstraction reduction Haskell Python
Parallel title (English)Foundations and programming implementations of lambda calculus
Committee MembersTomislav Rudec (committee chairperson)
Hrvoje Glavaš (committee member)
Irena Galić (committee member)
GranterJosip Juraj Strossmayer University of Osijek
Faculty of Electrical Engineering, Computer Science and Information Technology Osijek
Lower level organizational unitsDepartment of Core Courses
Chair of Mathematics and Physics
PlaceOsijek
StateCroatia
Scientific field, discipline, subdisciplineTECHNICAL SCIENCES
Computing
Information Systems
Study programme typeuniversity
Study levelundergraduate
Study programmeUndergraduate University Study Programme in Computer Engineering
Academic title abbreviationuniv.bacc.ing.comp.
Genreundergraduate thesis
Language Croatian
Defense date2015-09-24
Parallel abstract (English)
This final paper shows main characteristics of lambda calculus as main formal system for calculating function value. Notion of abstraction has been explained from which goes creation of every lambda calculus. Inscription of lambda calculus has also been shown and it was compared with classic mathematical notation of function. Forms of expression which can stand next to lambda are also explained, such as variables, function abstraction and function application. Afterwards, the ways of reducing were explained, respectively evaluation and shortening or changing the names of variables expression through beta-reduction, alpha-conversion, and etareduction. In the end, notions of lambda calculus in programming languages Haskell and Python have been shown and calculator, with simple computing operations which are defined as functions with lambda constructor, was programmed. The aim of a paper was to get acquainted with theoretical basis of functional programming languages and determine how much the theoretical background helps one understand the logic of functional programming languages, and programming in general
Parallel keywords (Croatian)Church lambda funkcija apstrakcija redukcija Haskell Python
Resource typetext
Access conditionOpen access
Terms of usehttp://rightsstatements.org/vocab/InC/1.0/
URN:NBNhttps://urn.nsk.hr/urn:nbn:hr:200:372549
CommitterAnka Ovničević