-

Chiron Codex: helping software engineers become centaurs. OOP the Easy Way
Object-Oriented Programming the Easy Way: a manifesto for reclaiming OOP from three decades of confusion and needless complexity.APPropriate Behaviour
APPosite Concerns
Support This Site
If you like what I do please support me on Ko-fi
FSF

Author Archives: Graham
On running out of words
John Gruber’s subscription to Wiktionary expired: At just 20 percent of unit sales, Apple isn’t even close to a monopoly. At 92 percent profit share, they have a market dominance that rivals any actual monopoly the tech industry has ever … Continue reading
Posted in AAPL, Business
2 Comments
Imperative Programming in Swift
A cliche in programming is that certain ways of writing programs make it possible to “reason about” code. So it should be possible to form an argument that proceeds from some axioms to a conclusion about the code we’re looking … Continue reading
Posted in FP, IP
Leave a comment
Honestly, this next post will take a while.
Functional Programming in Object-Oriented Programming in Functional Programming in Swift
The objects that I’ve been building up over the last few posts have arbitrarily broad behaviours. They can respond to any selector drawn from the set of all possible strings. As with all art, beauty is produced by imposing constraints. … Continue reading
Posted in FP, OOP
Leave a comment
Classes in objects in object-oriented programming in functional programming in Swift
So far, Objective-Swift objects have used prototypical inheritance, in which they supply some methods but also know about another object to which they can forward messages they don’t understand themselves. This pattern is used in languages like Self, JavaScript and … Continue reading
Posted in FP, OOP
2 Comments
Mutable objects in immutable objects in object-oriented programming in functional programming in Swift
I didn’t realise this at the time, the previous entry wasn’t the last Objective-Swift post. The inheritance mechanism in ObjS is prototypical, meaning that an object inherits from a single other object rather than getting its behaviour from a class. … Continue reading
Posted in FP, OOP
Leave a comment
This gist shows the result of doing the self-threading talked about at the end of the last post. Each method implementation takes an object pointer and a selector name, just like in the real world. That’s enough Objective-Swift for me. … Continue reading
Further Advances in Objective-Swift
Previously on SICPers, I defined objects as functions that return methods and built dynamic method dispatch in this object system. It’s time to tie up some loose ends. Proper selectors In languages like Smalltalk and Objective-C, an object’s range isn’t … Continue reading
Posted in FP, OOP
Leave a comment
Dynamic Method Dispatch in Object-Oriented Programming in Functional Programming in Swift
In the previous episode, I said that objects are functions that map their ivars onto methods. However, the objects that I demonstrated in the post were tables, structures of functions that closed over the ivars, like this: struct List<T> { … Continue reading
Posted in FP, OOP
Leave a comment
Object-Oriented Programming in Functional Programming in Swift
The maths behind functional programming predates computers. Once people had some experience with both of these things, they stripped them down and created object-oriented programming. It’s still possible to jettison a lot of the features of functional programming and work … Continue reading
Posted in FP, OOP
5 Comments