A reactive and strongly-typed, but also pragmatic, new programming language. Compiles to JavaScript, designed to be comfy for people used to the JavaScript/TypeScript language and ecosystem.
Bagel is a strongly-typed, JavaScript-targeted programming language designed around two main ideas:
Other goals include:
Blog posts on the language:
Note! Bagel is still pre-v0.1 and constantly in flux. No guarantees are made about anything continuing to work the way it does right now, or even working at all right now. These instructions are purely for the curious!
Bagel runs on Deno, so you'll first need that installed.
When it's ready for wide use, the Bagel compiler and tooling will be compiled together with the Deno runtime into a standalone executable, so you won't have to install Deno separately.
If you're using VSCode, there's a (very much in-progress) extension here which will provide some basic syntax highlighting. Included in the repo are scripts for automatically installing the extension into VSCode on Windows or macOS (it's not available on the marketplace yet).
You can run the Bagel compiler directly via Deno, but that can be a little annoying, so compiler/run.sh
and compiler/run.bat
are provided. For the optimal experience, I recommend symlinking one of these scripts into your path under the name bagel
.
With that, you should be able to do the following:
bagel build tests/todo-app
And then you can open tests/todo-app/index.html
in a web browser and see a functioning todo app.