Skip to content
View Futuruna's full-sized avatar

Block or report Futuruna

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
futuruna/README.md

Futuruna logo

Futuruna

A programming language for law.

Write laws, contracts, and policies you can run, test, and audit.

Version 0.2.0 · futuruna.com · MIT License

What Futuruna does

Futuruna turns legal rules into programs that people and AI assistants can inspect together. It keeps rules, defaults, exceptions, calculations, and ordinary programming in one execution space.

Use Futuruna to:

  • encode laws, contracts, and policies as explicit rule models;
  • run examples and test the behavior of those rules;
  • check invariants and audit decisions against their source-backed model; and
  • combine formal rules with normal functions, collections, effects, and streams.

Set up Futuruna with AI

Use the Claude app or ChatGPT app. For a terminal workflow, use Claude Code or the Codex CLI.

Give the AI this instruction:

Read https://futuruna.com/ai-setup.md and set up Futuruna for me.

The guide helps your AI install Futuruna locally, verify the download, and run a working example. If no ready-made download exists for your computer, the AI installs it with Cargo or builds Futuruna there instead.

The seven runes

Futuruna uses seven front runes to make the role of each declaration visible:

Rune Role
# Types
> Functions
| Rules and exceptions
= Values
~ Streams
@ Effects
? Checks and proofs

Here is a complete synthetic tax policy: income is taxed at 25%, except that a person with at least two children pays 20%.

# Child(age: Int)
# Person(annual_income: Int, children: List(Child))

| tax_due(person: Person) -> person.annual_income / 4
| exception two_children tax_due(person: Person) -> person.annual_income / 5 under length(person.children) >= 2

= parent = Person(
    annual_income = 500000,
    children = [Child(age = 5), Child(age = 8)]
)

@ print(show(tax_due(parent))) -- 100000

Learn and explore

Futuruna includes active research models for law and tax. Treat those models as auditable research software, preserve their sources and assumptions, and do not use them as individual legal or tax advice.

License

Futuruna is available under the MIT License.

Popular repositories Loading

  1. futuruna futuruna Public

    A programming language for law. Write laws, contracts, and policies you can run, test, and audit.

    Rust