Most implementations produce a stable sort, which means that the order of equal elements is the same in the input and output. Merge sort is a divide and conquer algorithm that was invented by John von Neumann in 1945.
Our goal is to compare the length and "complexity" of the same code in many different languages. Which language is the best? Now we can know.
Functional languages like Scala and Haskell seem to make much smaller code than, Dart.
Don't know merge sort algorithm.
Pick up a programming language and try to implement it yourself
Install everything you need and run: ./run.sh
Make sure you have your language running in CI and it uses the list [5,9,1,3,4,6,6,3,2]