diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -33,3 +33,8 @@
 
 * Third version revised B. Added new functions to the library.
 
+## 0.4.0.0 -- 2023-11-11
+
+* Fourth version. Added a new module Phladiprelio.General.Distance with functionality to calculate
+  similarity of the two non-negative 'Real' numbers lists.
+
diff --git a/Phladiprelio/General/Distance.hs b/Phladiprelio/General/Distance.hs
new file mode 100644
--- /dev/null
+++ b/Phladiprelio/General/Distance.hs
@@ -0,0 +1,67 @@
+{-# LANGUAGE NoImplicitPrelude #-}
+
+module Phladiprelio.General.Distance where
+
+import GHC.Base
+import GHC.Real (Fractional(..),Real(..),gcd,quot,(/),fromIntegral)
+import GHC.Float (Floating(..),sqrt)
+import GHC.List
+import Data.List (replicate)
+import GHC.Num ((*),(-))
+
+-- | 'toEqLength' changes two given lists of non-negative 'Real' numbers into two lists of equal
+-- minimal lengths and also returs its new length and initial lengths of the lists given.
+toEqLength :: Real a => [a] -> [a] -> ([a],[a],Int,Int,Int)
+toEqLength xs ys 
+  | null xs = ([],[],0,0,0)
+  | null ys = ([],[],0,0,0)
+  | otherwise = (ts, vs, lx * ly `quot` dc,lx,ly) 
+       where lx = length xs
+             ly = length ys
+             dc = gcd lx ly
+             ts = concatMap (replicate (ly `quot` dc)) $ xs
+             vs = concatMap (replicate (lx `quot` dc)) $ ys
+
+-- | 'toEqLengthL' changes two given lists of non-negative 'Real' numbers into two lists of equal
+-- minimal lengths and also returs its new length and initial lengths of the lists given. Is
+-- intended to be used when the length of the lists are known and given as the first and the second parameters
+-- here respectively.
+toEqLengthL :: Real a => Int -> Int -> [a] -> [a] -> ([a],[a],Int,Int,Int)
+toEqLengthL lx ly xs ys 
+  | lx == 0 = ([],[],0,0,0)
+  | ly == 0 = ([],[],0,0,0)
+  | otherwise = (ts, vs, lx * ly `quot` dc,lx,ly) 
+       where dc = gcd lx ly
+             ts = concatMap (replicate (ly `quot` dc)) $ xs
+             vs = concatMap (replicate (lx `quot` dc)) $ ys
+
+sumSqrDistNorm :: (Real a, Fractional a) => [a] -> [a] -> a
+sumSqrDistNorm xs ys 
+ | lc == 0 = 0
+ | otherwise = sum (zipWith (\x y -> (x - y) * (x - y)) ts vs) / fromIntegral lc
+     where (ts, vs, lc, lx, ly) = toEqLength xs ys 
+
+-- | 'distanceSqr' is applied on two lists of non-negative 'Real' numbers (preferably, of type
+-- 'Double') and returns a special kind of distance that is similar to the statistical distance used
+-- in the regression analysis. Is intended to be used e. g. for the PhLADiPreLiO approach. The less
+-- is the resulting number, the more \'similar\' are the two lists of non-negative numbers in their
+-- distributions. Here, in contrast to the more general 'distanceSqrG', the numbers must be normed
+-- to 1.0, so that the largest ones in both listn must be 1.0.
+distanceSqr :: (Real a, Floating a, Fractional a) => [a] -> [a] -> a
+distanceSqr xs ys = sqrt s
+   where s = sumSqrDistNorm xs ys 
+{-# INLINE distanceSqr #-}
+
+-- | 'distanceSqrG' is applied on two lists of non-negative 'Real' numbers (preferably, of type
+-- 'Double') and returns a special kind of distance that is similar to the statistical distance used
+-- in the regression analysis. Is intended to be used e. g. for the PhLADiPreLiO approach. The less
+-- is the resulting number, the more \'similar\' are the two lists of non-negative numbers in their
+-- distributions.
+distanceSqrG :: (Real a, Floating a, Fractional a) => [a] -> [a] -> a
+distanceSqrG xs ys = distanceSqr qs rs
+   where mx = maximum xs
+         my = maximum ys
+         qs = map (/ mx) xs
+         rs = map (/ my) ys
+{-# INLINE distanceSqrG #-}
+
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -24,6 +24,8 @@
 appreciation for André's Rieu support also celebrates the Day. In Ukraine this day has several 
 important celebrations — Intercession of the Holy Theotokos (Pokrova), Cossacks' Day, Day of Defenders of Ukraine (especially relevant during the Russian war against Ukraine).
 
+On the 11/11/2023 there is St. Martin of Tours Day for Roman Catholics.
+
 All support is welcome, including donations for the needs of the Ukrainian army, IDPs and refugees. 
 
 If you would like to share some financial support with the Foundation Gastrostars, please, contact the mentioned foundation
diff --git a/phladiprelio-general-datatype.cabal b/phladiprelio-general-datatype.cabal
--- a/phladiprelio-general-datatype.cabal
+++ b/phladiprelio-general-datatype.cabal
@@ -1,23 +1,22 @@
 cabal-version:      1.24
 name:               phladiprelio-general-datatype
-version:            0.3.1.0
+version:            0.4.0.0
 synopsis:           Extended functionality of PhLADiPreLiO
 description:        Can be used not only for language, but also for simpler music and lyrics composing.
-homepage:
-    https://hackage.haskell.org/package/phladiprelio-general-datatype
+homepage:           https://hackage.haskell.org/package/phladiprelio-general-datatype
 
 license:            MIT
 license-file:       LICENSE
 author:             Oleksandr Zhabenko
 maintainer:         oleksandr.zhabenko@yahoo.com
 copyright:          Oleksandr Zhabenko
-category:           Sound, Language, Math
+category:           Sound, Language, Math, Music
 build-type:         Simple
 extra-doc-files:    CHANGELOG.md, README.md
 -- extra-source-files:
 
 library
-    exposed-modules:  Phladiprelio.General.Datatype
+    exposed-modules:  Phladiprelio.General.Datatype, Phladiprelio.General.Distance
     -- other-modules:
     other-extensions: NoImplicitPrelude, BangPatterns
     ghc-options:      -funbox-strict-fields
