Studying Japanese - The Results



duolingo.png

In this article I discuss how I achieved a JLPT N3 proficiency; it provides details of my methodologies and results.

Roll A Lisp In C - Procedures



lambda-calculus.jpg

Procedures provide a way of abstracting imperative knowledge that can be represented in a language. In this article I show a technique for implementing lexically scoped first-class closures. This is the concluding article in the Roll A Lisp In C series.

Roll A Lisp In C - Environments



env-mapping.jpg

Environments store values that can be referred to in later evaluations. In this article I show a technique for storing lisp data for use in later expressions.

Essentials of Compilation & Modern Compiler Implementation in C



tiger-book.png

This review goes over two undergraduate textbooks on compilers that have been used autodidactically. The books are shown compared to each other, in the context of their supplementary material, and in of themselves.

Roll A Lisp In C - Evaluation



eval-when.jpg

Evaluation is the process of taking an expression and producing a value. In this article I show how to take expresions held in list structured data and produce values.

Roll A Lisp In C - Reading



read-ast.jpg

Lisp is often known as one of the oldest programming languages. Indeed, it's conception can be traced back to research done by John McCarthy in 1960. In these series of articles I present an implementation of a Lisp written in the C language. These articles assume some familiarity in a Lisp like Scheme or Common Lisp.