A unified syntax that compiles into a number of OOP languages. Formerly known as General Language Syntax (GLS).
Budgie is still under development. Don't expect everything to work!
Budgie can be used as a command-line app or via import
/require
.
To convert file.bg
to file.py
:
npm install budgie-cli --global
budgie --language Python file.bg
See budgie-cli.
npm install budgie
import { Budgie } from "budgie";
const budgie = new Budgie("C#");
// System.Console.WriteLine("Hello world!");
budgie.convert([`print : ("Hello world!")`]);
No reason in particular!
Budgie is not intended to be a useful language or targeted to any real purpose. It's a proof-of-concept exploration for the fun of it.
Budgie is just shy of 0.4.
Deliverable | Version | Description |
---|---|---|
C++ Compiler | 0.1 | Command-line Budgie prototype, written in C++. |
TypeScript Compiler draft | 0.2 | Budgie compiler as a website, written in TypeScript. |
TypeScript Compiler + C# Output | 0.3 | Budgie compiler re-written in TypeScript. Near-working C#, Java, JavaScript, Python, Ruby, and TypeScript output. |
Roundtripping Feature Complete | 0.4 | All features required for roundtripping implemented. Working C# and TypeScript output. Near-working Java, JavaScript, Python, and Ruby output. Switched to a better name. |
Full Language Outputs | 0.5 | Working C#, Java, JavaScript, Ruby, Python, and TypeScript output. |
Haxe, Powershell, Misc. | 0.6 | Onboard or reject those languages and other possibilities. |
Language Specification Finalized | 0.7 | Finalized language spec & cleaned internals of code. |
General Release | 1.0 | Public announcement, glory to everyone. |
If you'd like to contribute to Budgie, see Development.md.
Requires Node >=12
💖 Many thanks to @matthojo for allowing use of the budgie
npm package name!