Haskell:
Category: Haskell
In the Haskell stuff, I was planning on moving on to some monad-related stuff. But I had a reader write in, and ask me to write another post on data structures, focusing on a structured called a zipper. A...
Read on »
Posted by Mark C. Chu-Carroll at 8:23 PM • 19 Comments •
Category: Haskell
So, we've built up some pretty nifty binary trees - we can use the binary tree both as the basis of an implementation of a set, or as an implementation of a dictionary. But our implementation has had one...
Read on »
Posted by Mark C. Chu-Carroll at 8:09 PM • 7 Comments •
Category: Haskell
(This is an edited repost of one of the posts from the earlier version of my Haskell tutorial.) (This file is a literate haskell script. If you save it as a file whose name ends in ".lhs", it's actually...
Read on »
Posted by Mark C. Chu-Carroll at 9:55 AM • 4 Comments •
Category: Haskell
(This is a revised repost of an earlier part of my Haskell tutorial.) Haskell is a strongly typed language. In fact, the type system in Haskell is both stricter and more expressive than any type system I've seen for...
Read on »
Posted by Mark C. Chu-Carroll at 9:27 AM • 17 Comments •
Category: Haskell
(This is a heavily edited repost of the first article in my original Haskell tutorial.) (I've attempted o write this as a literate haskell program. What that means is that if you just cut-and-paste the text of this post from...
Read on »
Posted by Mark C. Chu-Carroll at 3:47 PM • 9 Comments •
Category: Haskell
Way back, about three years ago, I started writing a Haskell tutorial as a series of posts on this blog. After getting to monads, I moved on to other things. But based on some recent philosophizing, I think I'm...
Read on »
Posted by Mark C. Chu-Carroll at 1:46 PM • 38 Comments •
Category: Data Structures
It's been a while since I've written about any data structures. But it just so happens that I'm actually really working on implementing a really interesting and broadly useful data structure now, called a Rope. A bit of background,...
Read on »
Posted by Mark C. Chu-Carroll at 10:14 PM • 11 Comments •
Category: Abstract Algebra
Since I mentioned the idea of monoids as a formal models of computations, John Armstrong made the natural leap ahead, to the connection between monoids and monads - which are a common feature in programming language semantics, and a...
Read on »
Posted by Mark C. Chu-Carroll at 10:57 AM • 5 Comments •
Category: Haskell
So, after our last installment, describing the theory of monads, and the previous posts, which focused on representing things like state and I/O, I thought it was worth taking a moment to look at a different kind of thing...
Read on »
Posted by Mark C. Chu-Carroll at 8:52 PM • 4 Comments •
Category: Basics
As long as I'm doing all of these basics posts, I thought it would be worth explaining just what a Turing machine is. I frequently talk about things being Turing equivalent, and about effective computing systems, and similar things,...
Read on »
Posted by Mark C. Chu-Carroll at 6:38 PM • 18 Comments •