Anardil

A spot of sunlight

Articles in the Programming category

Haskell coreutils - which

Introduction I've implemented a couple Unix core utilities in Haskell, and want to continue a series of posts going through the details - starting with simple programs like cat, seq, and which, and then moving on towards more featureful programs like...

Haskell coreutils - cat

Introduction I've implemented a couple Unix core utilities in Haskell, and want to start a series of posts going through the details - starting with simple programs like cat, seq, and which, and then moving on towards more featureful programs like...

Devbot

Introduction Some of using computers is inevitably repetitive: checking for updates, backing up files, maybe clearing some logs. Scripts are a great way to automate some of the logic around these tasks, but you have to remember to run them or they...

Hangman in Haskell

Introduction Hangman is a simple word game where the user must guess the hidden word. The catch is that there are a limited number of guesses. This is a functional implementation of Hangman in 100 lines. I'll go through each section of the source and...

Stream Programming

Introduction Most simple iterative programming tasks can be rephrased in terms of a 'map' or 'reduce' operation. The advantage here is that if we can work our problem into a map - reduce problem, we can easily increase parallelism. A simple example...

Binary Tree in Haskell

Introduction Binary trees have internal structure; for any given node, all elements to the left are less than the current value, and all elements to the right are greater than the current value. For instance: 5 /--+--\ 3 6 /-+-\ 1 2 Lets build a binary...

Dynamic Shell Scripting

Summary We can use declare, eval and text manipulation tools like awk and sed to dynamically redefine shell functions based on their content or name. This allows us to add lines or generate entirely new functions. Introduction Bash and other shell...