diff --git a/Sound/Tidal/Pattern.hs b/Sound/Tidal/Pattern.hs
--- a/Sound/Tidal/Pattern.hs
+++ b/Sound/Tidal/Pattern.hs
@@ -302,7 +302,6 @@
 tri1 = triwave1
 trirat1 = fmap toRational tri1
 
-
 -- todo - triangular waves again
 
 squarewave1 :: Pattern Double
@@ -313,6 +312,14 @@
 squarewave :: Pattern Double
 squarewave = ((subtract 1) . (* 2)) <$> squarewave1
 square = squarewave
+
+-- | @envL@ is a @Pattern@ of continuous @Double@ values, representing
+-- a linear interpolation between 0 and 1 during the first cycle, then
+-- staying constant at 1 for all following cycles. Possibly only
+-- useful if you're using something like the retrig function defined
+-- in tidal.el.
+envL :: Pattern Double
+envL = sig $ \t -> min (fromRational t) 1
 
 -- Filter out events that have had their onsets cut off
 filterOnsets :: Pattern a -> Pattern a
diff --git a/tidal.cabal b/tidal.cabal
--- a/tidal.cabal
+++ b/tidal.cabal
@@ -1,5 +1,5 @@
 name:                tidal
-version:             0.4.1
+version:             0.4.2
 synopsis:            Pattern language for improvised music
 -- description:         
 homepage:            http://yaxu.org/tidal/
