Languages that challenge you to think differently. According to AlanPerlis (EpigramsInProgramming) these are languages worth knowing. This is not the place to debate the merits of the languages from a practical standpoint, but to merely point out those that may challenge your world view and expand your thinking (software-wise, or perhaps deeper?). Perhaps it helps you solve problems better in "regular" languages, or is just for the joy of MentalMasturbation.
So, a MindAlteringLanguage? has to be slightly esoteric, cause he won't follow the Algol pattern. Maybe there is space for a LittleMindAlteringLanguages? that are still Algol like, but give you some new idea. I wouldn't have thought of using metaclasses before I knew python (even if they already existed in CLOS)and I wouldn't have thought of building my own control structures before I knew ruby's blocks (even if they already existed in ST)
Also, I think in the mind altering space you can't omit to name ToolCommandLanguage. The fact that it is homoiconic, that every control structure is a command, that there are no keywords at all, and that it uses "set" instead of "=" or ":=" is surely something that changes the way you think :)
I think that the most mind altering of the languages mentioned, is Forth. You have to manage your own stack, for God's sake!!! It makes assembler look a little better.
It's all relative. I think the most mind altering of those listed above is Prolog.
I wish I could ask Timothy Leary ;-)