Blog

Lambda Calculus: More Numbers

Recap In the last post not dealing with the internals of the Lambda Calculator, we introduced Church Numerals and some basic operations. There are actually only two operations that are needed and these are: isZero which is true if the number is zero and false otherwisesucc which gives us the successor of any Church numeral … Continue reading Lambda Calculus: More Numbers

A Line Editing Library

This post announces the availability of linenoise-swift-utf8: A Swift replacement for GNU readline. There is a very useful library called GNU readline which enables line editing and history (and more) for command line programs. I've written a few command line programs and I know that having this functionality, or similar, makes them very much easier … Continue reading A Line Editing Library

State of the Blog and Future Ideas

It's the end of summer, 2021. It's some time since I have posted anything, mainly because, this year things like music festivals have been allowed to take place in the UK, so I've been taking advantage of them instead of sitting in front of my computer writing material for this blog. I'd like to apologise, … Continue reading State of the Blog and Future Ideas

Protocol OrientedProgramming part 2

This post is all about how I achieved stage 1 of the conversion of the Lambda Calculator. It follows on from Protocol Oriented Programming. I have commented out all of the code in Expression.swift and added a protocol Expressible. All the functions that were "abstract" in Expression become protocol requirements and all of the functions … Continue reading Protocol OrientedProgramming part 2