Universal Scripting Language–Run 466 Languages in One Interpreter
github.com
github.com
I’m excited to share Universal Scripting Language (USL), a self-advancing interpreter that lets you run code from 466+ programming languages in one unified environment. It’s been a personal project for a while, and I’ve just uploaded it to GitHub for others to explore!
Key Features: Supports 466+ languages (and counting). Combines and executes code from multiple languages seamlessly. Open-source and extensible for your use cases. Why USL? Developers often struggle with combining tools and libraries across different programming languages. USL aims to solve that by providing a platform to execute and interact with these languages together. Whether you want to prototype, learn new languages, or integrate multiple languages into a single workflow, USL has you covered.
How to Get Started: Repo: Universal Scripting Language (GitHub) Clone the repo and follow the setup instructions. I’m working on improving documentation and creating a proper requirements.txt. I’m also writing an O’Reilly-style book on USL’s design and usage, so stay tuned for more updates!
I’d love to hear your thoughts, feedback, and ideas for improvement. Let me know if you’d like to contribute or collaborate.
I have to admit that right now it's a dynamically typed imperative language that looks a lot like Python.
func doesNotUnderstand(method, args) {
"Person " + this.name + " does not have " + method
}
}func greet(person: Person) { match person { {name: "Alice", age: 30} => "Hi Alice, you're 30." {name, age} if age > 18 => "Hi " + name + ", you're an adult." _ => "Hello there!" } }
macro log_call(func) { `(println("Calling " + ${func})) }
let alice = new Person("Alice", 30) log_call(greet(alice)) # Expands to println and calls greet
The premise also makes no sense. If you're making a new language, just say so. There's no need to make up numbers or claims about other languages that don't involve yours.
I'm sorry, I don't see the purpose or benefit or even a single example of how it would do what you're talking about. They may be there, but the doc isn't showing that.