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 :: forall a. Num a => T a
one = forall a. a -> [a]
fromScalar a
1


derivativeCoefficients :: Fractional a => T a
derivativeCoefficients :: forall a. Fractional a => T a
derivativeCoefficients =
   forall b a. (b -> a -> b) -> b -> [a] -> [b]
scanl forall a. Fractional a => a -> a -> a
(/) a
1 forall a. Num a => T a
progression
--   map recip (scanl (*) 1 progression)