Fundamentals of Programming Languages - Fall 2015 Coursework assignments
This repository contains a list of assignments coded in various languages
A1 - Assignment 1 is a top-down parser written in Java for a language with it's own grammar.
A2 - Assignment 2 demonstrates class inheritance through delegation where there are four classes A,B,C and D. C and D extend class B which in turn extends class A.
A3 - Assignment 3 deals with programming in Standard ML. The programs included are insertion of values in a binary search tree, depth first inorder traversal of a BST, mapper program to replace values in a BST and reduce program to concatenate values in a BST.
A4 - Assignment 4 deals with higher order functions. Some of the programs are summation of numerals with thunks in C, flattening an arbitrary leveled list in python, generating church numerals in Standard ML and leftmost redux definitions in Lambda Calculus.
A5 - Assignment 5 deals with Lambda Calculus and Prolog. Some of the programs included are lambda calculus definitions for inserting an element in a queue and to measure the length of a queue, a Prolog program to check whether a term is beta or eta reducible or normal and a real-world constraint program in Prolog.