module PowerSeries (
   T, fromScalar, one, add, sub, neg, scale, mul,
   derivativeCoefficients, differentiate,
   ) where

import Polynomial
   (fromScalar, add, sub, neg, scale, mul,
    differentiate, progression)


type T a = [a]

one :: Num a => T a
one = fromScalar 1


derivativeCoefficients :: Fractional a => T a
derivativeCoefficients =
   scanl (/) 1 progression
--   map recip (scanl (*) 1 progression)