For a real world project pick a suitable language that will not only help you to implement whatever you have to implement but also to maintain the project. Also you should be able to find other programmers knowing that language if you need to. Maybe even use the language you already know even if it is not the newest and hottest stuff.
But for private or side projects use whatever enlightens you. Those projects should be fun and it's always good to learn new things on the way. I even think you don't have to learn all new languages in depth but just do a small project and reflect if it is something that gets you somewhere. You probably wont write a big business application in Smalltalk but all that message passing, awesome. Seriously have a look at Smalltalk.
I had a small server written in Haskell but since the other contributor familiar with Java/C/C++ was not able to pick at it effectively, we switched to Rust and we all were happy, and transitioning was fine.
At work I deal with Java code, but we have a framework we wanted to use that's written in Scala, and since Scala can interop with Java, we were all productively able to transition over for the better.
For a hobby project we use Objective-C, but we are starting to write some bits in Swift. Apple is especially effective at trying to convince the developers to change over to this shiny language.
I think "advanced" languages can be used in real world applications, and the transition experience from other well known languages can certainly matter.
Has anyone experience with "Curry" (functional logic programming)? If it has all the advantages of Haskell plus some possibilities of logical languages, it should be really interesting for experimental approaches.
Yes, that's exactly what I practice. My "breadwinner" language is C/Java/C++ at the moment because that is what others in the project know and that is what makes sense in the ecosystem the project is in, my sideproject language is Haskell.
But for private or side projects use whatever enlightens you. Those projects should be fun and it's always good to learn new things on the way. I even think you don't have to learn all new languages in depth but just do a small project and reflect if it is something that gets you somewhere. You probably wont write a big business application in Smalltalk but all that message passing, awesome. Seriously have a look at Smalltalk.