Skip to content

Instantly share code, notes, and snippets.

Program Quicksort;
{
My first Pascal code.
Populates and array numbers of length N with random numbers between 1 and M, sorts it in place using quicksort, then prints each element of the list.
The quicksort algorithm is translate from C as found in "The Most Beautiful Code I Never Wrote" by Jon Bentley as found in the book "Beautiful Code"
}
Uses math;
Const
{-# LANGUAGE FlexibleInstances #-}
-- From exercise 2.40 in Algebra of Programming (Bird, 1997)
data TreeF a b = Leaf a | Branch b b
newtype Mu f = InF { outF :: f (Mu f) }
type Tree a = Mu (TreeF a)