[VERSION] +1 to 0.0.1.9.5
[gargantext.git] / src / Gargantext / Prelude / Fibonacci.hs
index 8b8b940b786d9601c7f68b5e5a2e691275d294d4..cec3b6c9ce2c307c454f26a5bb22e488e9b13ca1 100644 (file)
@@ -7,8 +7,9 @@ Maintainer  : team@gargantext.org
 Stability   : experimental
 Portability : POSIX
 
+Nice optimization of the Fibonacci function.
 
-Source: 
+Source:
 Gabriel Gonzales, Blazing fast Fibonacci numbers using Monoids, 2020-04,
 http://www.haskellforall.com/2020/04/blazing-fast-fibonacci-numbers-using.html
 (This post illustrates a nifty application of Haskell’s standard library to solve a numeric problem.)
@@ -21,6 +22,9 @@ TODO: quikcheck
 
 module Gargantext.Prelude.Fibonacci where
 
+import Protolude
+
+import qualified Data.Monoid as Monoid
 import qualified Data.Semigroup as Semigroup
 
 -------------------------------------------------------------
@@ -36,14 +40,14 @@ data Matrix2x2 = Matrix
     , x10 :: Integer, x11 :: Integer
     }
 
-instance Monoid Matrix2x2 where
+instance Monoid.Monoid Matrix2x2 where
     mempty =
         Matrix
             { x00 = 1, x01 = 0
             , x10 = 0, x11 = 1
             }
 
-instance Semigroup Matrix2x2 where
+instance Semigroup.Semigroup Matrix2x2 where
     Matrix l00 l01 l10 l11 <> Matrix r00 r01 r10 r11 =
         Matrix
             { x00 = l00 * r00 + l01 * r10, x01 = l00 * r01 + l01 * r11