Category Archives: Software

Exact real arithmetic in Haskell

HERA is an implementation of exact real arithmetic in Haskell using the approach by Andrej Bauer and Iztok Kavkler, see these and these slides. It uses the fast multiple precision floating point library MPFR. Download source, and see documentation and examples of usage at my home page.

[Note by Andrej: this is a guest post by Aleš Bizjak, a first-year student of mathematics at my department. I am very proud of the excellent work he did on his summer project.]

An object-oriented language Boa

I have added another language, called Boa, to the Programming Languages Zoo. It is an object-oriented language with the following features:

  • integers and booleans as base types,
  • first-class functions,
  • dynamically typed,
  • objects are extensible records with mutable fields,
  • there are no classes, instead we can define “prototype” objects and extend them
    to create instances.

Continue reading An object-oriented language Boa

The Programming Languages Zoo

I teach Theory of Programing Languages (page in Slovene). For the course I implemented languages which demonstrate basic concepts such as parsing, type checking, type inference, dynamic types, evaluation strategies, and compilation. My teaching assistant Iztok Kavkler contributed to the source code as well. I decided to publish the source code as a Programming Language Zoo for anyone who wants to know more about design and implementation of programming languages.
Continue reading The Programming Languages Zoo

A constructive theory of domains suitable for implementation

With Iztok Kavkler.

Abstract: We formulate a predicative, constructive theory of continuous domains whose realizability interpretation gives a practical implementation of continuous ω-chain complete posets and continuous maps between them. We apply the theory to implementation of the interval domain and exact real numbers.

Download: constructive-domains.pdf