Show HN: USL - A Universal Scripting Language That Outputs to 111 Languages
townsendatomics.gumroad.com
townsendatomics.gumroad.com
I built something I wish I had years ago.
USL (Universal Scripting Language) is a symbolic syntax system that lets you write logic once, and output that logic into 111+ real programming languages — Python, Rust, C++, JS, Java, Go, etc.
Upload a .usl file into the hosted app → choose any language(s) → download a .zip of the real code.
It supports:
Symbolic logic for print, assign, function, loop, if, etc.
Custom syntax templates for each language
A web app with multiselect UI + ZIP bundling
Gumroad option to support or unlock everything ($5)
App + Source: https://townsendatomics.gumroad.com/l/usl
I’d love your thoughts on:
How it could be more useful for devs/teachers
Any language you'd want added
Whether this belongs as a CLI tool, VS Code plugin, or playground next
Happy to answer anything or collab. Thanks for reading!
I've had a little experience translating code between languages (ObjC/Swift, Javascript/Python), and it has been frustrating, not because of re-stating the logic, but due to different availability of libraries, different execution semantics (e.g. async/await), different type systems, etc.
Also, it looks like USL is a new language? Did you consider something like CEL instead (Common Expression Language, https://cel.dev/), which seems to be doing something similar for the expression of basic logic.
I was curious to see if I could do something like this for fun. It currently works with 111 languages from the 40/50s-today.
Edit: Aldo the very first line of the very first example has. Basic syntax error (missing. Terminal quote in string constant).
It's the first release--early bird pricing to raise funds for development.
It’s something like print(“foo)
Seems that being able to translate a script from one language to another language would be more useful.
This is a case where there were 111 problems. Now, there's 112.
Source available isn’t my cup of tea (especially for programming languages), and I’m not exactly a big fan of Gumroad either…
This seems like vaporware
Also show some samples of output, eg Python or Go. It's difficult to assess the tool without understanding how idiomatic the output code is. As in, is USL doing anything more than "tokenizing sed on steroids"? I can't tell.
Then again, if it's meant as a learning tool, maybe it matters less.