Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Budgie 🦜

NPM version Greenkeeper badge Circle CI

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 to

npm install budgie-cli --global

budgie --language Python

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

Requires Node >=12

πŸ’– Many thanks to @matthojo for allowing use of the budgie npm package name!

You can’t perform that action at this time.