My Book
-
Recent Posts
Archives
- January 2019
- May 2017
- April 2017
- January 2017
- November 2016
- October 2016
- July 2016
- June 2016
- May 2016
- April 2016
- February 2016
- December 2015
- November 2015
- April 2015
- March 2015
- November 2014
- September 2014
- July 2014
- June 2014
- January 2014
- November 2013
- October 2013
- September 2013
- June 2013
- March 2013
- January 2013
- October 2012
- September 2012
- August 2012
- July 2012
- June 2012
- May 2012
- April 2012
- March 2012
- November 2011
- October 2011
- July 2011
- May 2011
- April 2011
- January 2011
- November 2010
- October 2010
- September 2010
Categories
- Android
- Auto Layout
- Books
- CocoaTouch
- Debugging
- Genetic Algorithms
- Interface Builder
- iOS 6
- iOS Programming for .NET Developers
- iOS7
- iOS8
- Jobs
- MacBook Pro
- MonoTouch
- Networking
- Objective-C
- Streaming Media
- Sustainable Coding
- Swift
- Thoughts
- Tic-tac-toe
- Tips and Tricks
- Two Letters
- UICollectionView
- UITableView
- Uncategorized
- User Experience
- XCode 3
- Xcode 4
Meta
Tag Archives: Functional Programming
Function composition in Swift
The way that functional programming languages allow functions to be combined can help make code easier to read and understand. The technique is known as function composition. I show how to compose functions in Swift 3 using custom operators, including a … Continue reading
Analyzing a dependency graph in Swift
I published my solution to Dave Thomas’s Transitive Dependencies programming exercise, known as a kata, to GitHub: https://github.com/ijoshsmith/transitive-dependencies-kata The Challenge This exercise involves analyzing a graph data structure which contains nodes that “depend on” other nodes. A graph is represented as direct dependencies between nodes: The objective is to find all … Continue reading
DRY Fusion data munging kata in Swift
I worked through one of Dave Thomas’s programming exercises, called a kata, and pushed my Swift 2.2 code to GitHub. The code shows how to apply the Don’t Repeat Yourself (DRY) principle to two similar but different data processing programs. The end result of … Continue reading
Higher-order functions in Swift
This article reviews some very useful higher-order functions available in Swift’s standard library, by showing a simplified implementation of each function. Along the way, I’ll explain how all of the higher-order functions are based on a single loop. Let’s get higher Similar to how a rock … Continue reading
Creating ASCII art in functional Swift
This article explores an iOS app, written in a functional Swift style, that converts an image to ASCII art. For example, when given the famous Lenna photograph… …it creates a string that, when printed, looks something like this… Zooming into … Continue reading
Zipping two lists in Haskell
Studying a pure functional programming, such as Haskell, can be an eye-opening experience. The standard library in Haskell provides a zip function, which combines the elements of two lists into a single list of tuples. I decided to implement my own version, named zip … Continue reading
Posted in Uncategorized
Tagged Functional Programming, Haskell
Comments Off on Zipping two lists in Haskell
Caesar cipher in Swift
I posted a Swift project to GitHub that implements the Caesar cipher, which was the encryption technique used to protect Julius Caesar’s personal correspondence. It’s a straightforward algorithm that maps each letter in the alphabet to another letter. The code also … Continue reading
Getting into functional programming with Swift
This article examines two implementations of a logic puzzle written in Swift. The first example uses an imperative programming style, which is the style familiar to most iOS developers. Then we see the same small program written in a functional style, which is … Continue reading