Skip to content
mstouPublic

About

Assignments for Programming Languages II course at ECE NTUA

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

70 Commits

Folders and files

Repository files navigation

Programming Languages II, ECE NTUA

This repository contains my solutions to the Programming Languages II course assignments. A brief summary of each exercise follows.

  • vm: Implemented an indirectly threaded virtual machine for Befunge-93 (a BrainFuck like language).

  • gc: Implemented a garbage collector for an extension of Befunge-93 that also supports linked lists. We implemented the Mark & Sweep algorithm on top of the virtual machine we built for the previous exercise

  • haskell-dp: Solved an algorithmic problem using Dynamic Programming in Haskell both in a pure and an impure way.

  • quickcheck: Property based testing in Haskell using QuickCheck. We implemented a method to produce random trees and wrote some properties to test BFS, DFS and other graph algorithms.

  • type-inference: Implemented Type Inference for Lambda-Calculus with simple types, using the Algorithm W.

  • parallel-hs: Experimented with Parallelism and Concurrency in Haskell using the Par Monad and MVars

  • typesys: Defined a Type System for a simple stack machine language

  • densem: Implemented the Denotational Semantics for the stack machine language defined in the previous exercise

  • scripting: Experimented with scripting languages. We implemented a client and plays an online game and a server that hosts the game.

  • ax-sem: Experimented with Axiomatic Semantics and Program Verification. We proved the correctness of a given algorithm using the Frama-C library.

About

Assignments for Programming Languages II course at ECE NTUA

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages