[Peter Newman] 8 January 2005: '''Multiple Languages''' One-eyed Tcl'ers will note the sacrilege at the top of the example [UPL: The Bootstrap File]. What are Perl and Python (etc) interpreters doing there? Simple; this is the "Unified Programming Language". It's for idiots like me who think that there's no such thing as the perfect programming language (although every programmer probably has his or here preference(s)). But UPL is built on the assumption that every programming language ahs it's advantages and disadvantages. And we want the script level programmer to be free to:- 1. Take data types - commands/functions - and even syntax and quoting rules etc - from other languages, as they see fit, and:- 2. To be able to script a single application in whatever combination of languages/syntaxes they want, and; 3. For programmers to be able to invent new quoting rules and syntaxes - and ways of expressing the solution to programming problems, etc - as they see fit. So not only only can the script-level programmer select the data types and command/functions from their `traditional' programming language of preference (Tcl, Perl Python, C, etc), they can also:- * Select data types and commands/functions from other programming languages, and/or; * Load a parser/interpreter that will parse '''the UPL version''' of any combination of those other languages too. ---- [jcw] - Interesting idea. For syntax differences, I see no roadblocks ahead. But how will you deal with differences in the data & execution model? Tcl's copy on write vs. Python's mutable/immutable/references? That a string can be treated as an int or a list in Tcl but not in Python? Garbage collection versus plain C? The fact that Python has a "None" datatype? It'd be fascinating if this can be resolved somehow. Also, IMO, the main benefits will come when one can adopt library packages from other languages, so as not to have to re-invent all wheels - can UPL end up close enough to any current language to run the reams of existing code there is today (perhaps with minor adjustments)?