Archive for the ‘Uncategorized’ Category

In some of the graphs in Bycicling for Collatz (the divisibility graph with lots of arrows and the collatz one with 1, 2 and 4 highlighted) we manipulated the Haskell-generated graph either in the DOT file source or directly in the Graphviz GUI. The structure itself was somewhat confusing, too; the Dot class never managed […]

Q: How many people with ADD does it take to change a lightbulb? A: HEY! Let’s ride bikes! module Bikes where Graphviz is fun. Graphviz is fair. You may already have one. You may already be there: data Arr a = a :-> a Graphviz plots graphs from .DOT files consisting of remarkably simple syntax: […]

[] is really the gee-whiz monad. Haskell code that prints *all the five-number combinations of integers in [-5..5]: mapM (\x->[x+i | i<-[-5..5]]) [1..5] No, really, try it. This has to qualify as the “most surprisingly long output” line of code in all of computer programming.

Well, use Rails, then. It seems to me that’s how I’d do a web app right now — the meaty logic would be in Haskell, and who cares about the rest anyway? At least Rails scaffolds it away.

Quoth qftblog: At first, everything goes well. He’s impressed by the fact that you don’t have to constantly compile code to see the effects of your program. But after using the REPL as a calculator for a few minutes, he decides to check out how you write Hello World. This is where things start going […]

What is this … person… going on about? She decries teaching some mathematical reasoning (“cluster methods”) in elementary school and wants to emphasize rote algorithm drill-and-kill work instead? She blames 18-year-olds not being able to handle logical reasoning on them not having memorized traditional arithmetic algorithms? She equates “maths” with “rote arithmetic”? It annoys me […]

While examining ways to refactor the PFP library, it struck me that its strategy of storing repeated values and dealing with displaying them as an aggregate later was somewhat generalizable. This is a first stab at a counter datatype with constant-time update and (probably) O(m) lookup — where m is the sum of counts. The […]