blah 0.1.1

Unified Toolchain for Brainfuck.
docs.rs failed to build blah-0.1.1
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.

Blah (Blah Looks Awful, Huh?): Unified Toolchain for Brainfuck

For a long time, Brainfuck has lacked modern tooling — not anymore. blah is:

  • A Brainfuck runtime
  • A Brainfuck compiler (LLVM backend)
  • A Brainfuck package manager

Quick Start

cargo install blah

Create a new project:

blah new hello
cd hello
blah run main.bf

Run a brainfuck file:

blah path/to/program.bf

Commands

Command Description
blah new <name> Create a new project.
blah run <file> Run a brainfuck file.
blah <file> Same as above.
blah build <file> Build native binary.
blah install Install dependencies.

bark.toml

name = "hello"

[features]
# use it via @pkg-name/feature-name in source code
stdout = "stdout.bf"

[dependencies]
stdlib = { git = "https://github.com/example/bf-stdlib" }
utils = { path = "../utils" }

Dependencies support two sources:

  • git: downloaded via git clone
  • path: local path reference

Package Manager

Blah is a package manager.

In Brainfuck source code, use @package-name/feature-name to reference code snippets from installed packages. The behavior is like include in C.