# Index of ~rmk35

## Table of Contents

## 1 Teaching

### 1.1 Interactive Lambda-Calculus Interpreter

A documented lambda-calculus evaluator, for helping students learn. This provides the option for step-by-step evaluation, rather than picking an evaluation strategy and sticking with that until we get a non-reducible expression.

The code is weaved into the document, with section 2.2 being the most interesting part.

Any feedback, email me at rmk35 [at] cl cam ac uk.

### 1.2 Register-Machine Emulator

This provides an emulator for register machines similar to those used in the Computation Theory course here at Cambridge. It provides for both evaluating the machine, and for visualising it.

Any feedback, email me at rmk35 [at] cl cam ac uk.

### 1.3 Courses I supervise

#### 1.3.1 Complexity Theory

#### 1.3.2 Computation Theory

#### 1.3.3 Semantics of Programming Languages

#### 1.3.4 Concepts of Programming Languages

#### 1.3.5 Foundations of Computer Science

#### 1.3.6 Object-Oriented Programming

#### 1.3.7 Prolog

## 2 Stenographic Keyboard

I am making a custom stenography keyboard, more details here.

## 3 Adding a Gem5 ARM instruction (for research)

The way instructions are decoded for ARM groups similar instructions together, but may appear a bit confusing. For research, there is no need to use such grouping.