Algorithms in Haskell |
Algorithmic implentations in Haskell. |
Property-based testing in Haskell's QuickCheck |
- Tree data structure implementation and testing
- Bird's tree implementation and testing
|
Virtual machines |
Using GNU C extensions and [these techniques] to eliminate branch prediction overhead (https://courses.softlab.ntua.gr/pl2/2009b/slides/vm.pdf), there are implemented interpreters for: |
Garbage collector |
It is integrated with the interpreter for bytecode language. Algorithms and techniques used for gc: - Find all unreachable memory objects with mark and sweep.
- GC is called every time a new heap allocation happens.
|
Axiomatic semantics |
For program verification in C programming language, Frama-C is used. There are verified two algorithms' implementations:- Find the maximum number of same consecutive elements in an array.
- Check if an array contains the same element twice.
|
Type inference in Haskell |
Type inference a la Hidney-Milner for the simply-typed lambda calculus. |
Denotational semantics |
Implementation of denotational_semantics for two small languages in Haskell: |
Scripting Languages |
Implementation of websites, which host a game, with PHP and client-side scripting with Python for playing and winning the game. |