diff --git a/Sound/Tidal/Dirt.hs b/Sound/Tidal/Dirt.hs
--- a/Sound/Tidal/Dirt.hs
+++ b/Sound/Tidal/Dirt.hs
@@ -208,3 +208,9 @@
 anticipate :: Time -> [OscPattern] -> OscPattern
 anticipate = anticipateIn 4
 
+histpan :: Int -> Time -> [OscPattern] -> OscPattern
+histpan _ _ [] = silence
+histpan 0 _ _ = silence
+histpan n _ ps = stack $ map (\(i,p) -> p |+| pan (atom $ (fromIntegral i) / (fromIntegral n'))) (enumerate ps')
+  where ps' = take n ps
+        n' = length ps' -- in case there's fewer patterns than requested
diff --git a/tidal.cabal b/tidal.cabal
--- a/tidal.cabal
+++ b/tidal.cabal
@@ -1,5 +1,5 @@
 name:                tidal
-version:         0.5
+version:         0.5.1
 synopsis:            Pattern language for improvised music
 -- description:         
 homepage:            http://tidal.lurk.org/
