WPL Programming Language

8/2022 – 12/2022

Introduction

A basic programming language with type inference, higher-order functions, and algebraic datatypes

Background

I created WPL as part of a graduate-level compilers course at WPI. In this course, we spent the first half of the semester implementing a basic version of WPL (WPI Programming Languge). Then, in the second half of the semester, students were able to choose an individual project to work on. For this, I decided to extend WPL with a variety of features that would help me learn how to build more complicated languages including lambdas, higher-order functions, algebraic datatypes, and compiling executables (with the language's runtime). As of December 9th, 2022 I completed and presented this compiler to my class. With our Professor's permission, I have made the project repository public at the following link:

Features

This page is still in development. Please check back later.

Specifications

Technologies:C++17
LLVM
CMake
ANTLR
CTest
Features:Lambdas
Higher-order Functions
Sum Types
Structs
Type Inferencing
And More...