Re-posted from: https://white.ucc.asn.au/2020/02/09/whycompositionaljulia.html
One of the most remarkable things about the julia programming language,
is how well the packages compose.
You can almost always reuse someone else’s types or methods in your own software without issues.
This is generally taken on a high level to be true of all programming languages because that is what a library is.
However, experienced software engineers often note that its surprisingly difficult in practice to take something from one project and use it in another without tweaking.
But in the julia ecosystem this seems to mostly work.
This post explores some theories on why;
and some loose recommendations to future language designers.
Continue reading