research

Interpreter za λ\lambda-račun

Abstract

Ukratko, u ovom radu upoznali smo čitatelja s osnovama λ\lambda-računa --- jednog od modela za proučavanje izračunavanja koji je ujedno poslužio i kao temelj teorije funkcijskih programskih jezika. Također, bavimo se numeralima --- reprezentacijama brojeva u λ\lambda-računu, postojećim brojevnim sustavima poput Churchovih numerala te binarnim brojevnim sustavom koji smo samostalno definirali. Kako bismo mogli evaluirati velike i komplicirane λ\lambda-izraze, stvorili smo i programski jezik pLam --- interpreter za čisti (eng. pure) Lambda račun s kojim možemo raditi interaktivno, a i pisati programe koje možemo spremiti kao tekstualne datoteke s ekstenzijom .plam te kasnije pokretati. U radu nastojimo popratiti svako poglavlje relevantnim primjerima kodova pisanih u jeziku pLam.In this paper, we introduce the reader to basics of λ\lambda-calculus — one of the models for studying computation which served as the foundation for the theory of functional programming languages. Furthermore, we deal with numerals — representations of numbers in λ\lambda-calculus, existant numeral systems like Church numerals and binary numerals which we defined ourselves. In order to evaluate large and complex λ\lambda-expressions, we created a programming language pLam — interpreter for pure Lambda calculus, enabling interactive mode, as well as writting programs, saving them as text files with .plam extension and running them later on. Throughout this paper, in each chapter we try to give relevant code examples written in pLam

    Similar works