Linked lists are prevalent in functional programming, but they don't take the place of other kinds of lists.
How I prefer to design compositionally, and why I dislike TDD.
A toy example showing a Java-to-Haskell translation in which an interface in Java is rewritten as a record in Haskell.
An example using the
(.=) operator from
microlens-mtl to write
Haskell code that resembles reassignment of mutable variables.
A Haskell library for calculations on text file positions.
When bottoms are tagged, we may view bottom more inclusively. This could reasonably include null.
“Leak” is one of those technical words we often forget to explain.
Everybody’s favorite applicatives, and their semigroups.
What Nix is for, and how it can help you as a Haskell developer.
Solving that water-puddles problem, using as many monoids as possible.
Contributing to Haskell isn’t scary - How to submit a PR to GHC using Phabricator.
How to start a new NixOS droplet on Digital Ocean using nixos-infect.
A minimal guide to getting started with the Nix package manager on any Linux or OSX machine.
I just installed NixOS on my laptop. This is a summary of my experience.
There are a handful of mistakes that most people (who aren’t coming from a Haskell background) tend to fall into.
"Dynamic typing" The belief that you can’t explain to a computer why your code works, but you can keep track of it all in your head.
I recently switched a Scala project’s build from SBT to Gradle and was disappointed to find that Gradle has no support for launching the Scala REPL. My workaround: …
The most terse operator in any language is adjacency, or in other words, no operator at all.
Sometimes I see a Java question, write myself a Haskell solution, then sadly read over the thread of people who will never know about it.
alias such=git alias very=git alias wow='git status'
2005 — 2013
Why are we at the mercy of languages’ core libraries?
// Let’s talk about programs. type P
Side effects are great, but …
This project for CS 6491 (computer graphics) uses Scala with JOGL to generate a tree over approximately half of the faces of a triangle manifold using a laced ring construction, and then render an animation resembling a vine that grows upward along paths defined by the tree.
I have been cursing at Java a lot lately. Over this past week, it’s because I’ve been experiencing inexplicable compilation failures.
Random selection from a stream in constant space.
The big question everyone had in middle-to-high school mathematics classes was "When am I ever going to use this?"
As I was leaving for AVS this morning, I happened upon a take-home test for Graph Theory which I should have done this weekend …
It occurred to me that this OS Design course has put me past a certain point of no return in life.
I like what I wrote for my 2340 survey comment. So I’m sharing it.
find is one of many simple yet powerful command-line tools,
and I haven’t until recently had a chance to learn how to use
it. Oh, the things you can do.
The agéd Prophet hunched begrudgingly over his walking pole, peering out at distant Tasman Sea. …