The project
Where Fubby is today, how it's changed, what's missing, and how to learn it.
Status
Fubby 0.1.2 is an experimental developer preview. Its syntax, library and behaviour can change between versions, including in ways that break existing programs. It isn't ready for production use.
| Area | Today |
|---|---|
| Language | Usable for learning, scripts and local apps |
| Platforms | macOS on Intel only. Apple Silicon and Linux are untested, and Windows is unsupported |
| Testing | Automated tests pass on the Intel build machine. A test on a separate clean machine is still pending |
| Signing | Binaries aren't signed or notarized |
| Security | No independent audit, and no sandbox |
| License | Proprietary, and free to use. See below |
What changed
Version 0.1.2
Adds the Fubby Software License and third-party notices. The language is the same as 0.1.1.
Version 0.1.1: new
- A checker that finds mistakes before a program runs, and reports all of them with their position
break,continueandmatchnull, with optional types such asString?- The
List,MapandAnytypes, so functions can take collections list[0] = xandmap["key"] = x, and trailing commas- Uncaught errors now name their file, line and column
Version 0.1.1: fixed
letinside a loop failed on its second pass- Classes couldn't hold other objects, and interfaces couldn't be used as types
- Printing or comparing a list containing itself crashed
- Deeply nested code, deeply nested data, and closed output pipes crashed
- An empty
forloop over a huge range ignored the time and step limits - Names using Indian scripts, such as
नमस्ते, were rejected - Recursion stopped at 64 calls, and now stops at 1000
Version 0.1.1: changes that can break 0.1.0 programs
break,continue,match,caseandnullare now reserved words.- A variable declared in a block no longer exists after that block.
- A
forvariable no longer exists after its loop, and can't reuse a visible name. list_removenow returns a new list without the item.printshows null asnull.fubby runrefuses a program with a checker error, even on a line that would never run.mainmust take no parameters and return nothing.- Duplicate declarations, and functions named like built-ins, are now errors.
- A child class can't read a parent's private member. Declare it
protected.
What's missing
These are known gaps. This list isn't a promise or a schedule.
Language
- First-class functions and closures
- Module namespaces
- Generics and typed collections
- Exact decimal numbers
Libraries
- Password hashing and secure random numbers
- Full regular expressions, with capture and replace
- Folder listing and file deletion
- CSV, Excel and PDF support
- Other databases, such as PostgreSQL
Platform and tools
- Windows, Apple Silicon and Linux downloads
- Signed binaries
- A sandbox for untrusted code
- A step-through debugger
- A public package registry
Web
- HTTPS
- Login and sessions
- File uploads
- WebSockets
- HTTP methods beyond GET and POST in Moon
The textbook
Programming with Fubby, first edition, by Tushar H. Kshirsagar, Twig Software Solutions Pvt. Ltd. It's a 160-page student and instructor edition, with 15 chapters following the example projects, plus activities, a capstone project, a glossary and instructor notes.
Read the current manuscript (PDF)
It was written for version 0.1.0, so check what changed as you read. In particular, Chapter 9 uses list_remove, which now returns a new list.
Example projects
These 15 projects build from a greeting to a complete app. Each folder has source code, commands and the expected result. Browse all examples, or download them with Code → Download ZIP on GitHub.
| Folder | What you learn |
|---|---|
01-hello | Your first program, and expressions |
02-control-flow | Types and control flow |
03-functions | Functions and recursion |
04-classes | Classes and encapsulation |
05-inheritance | Inheritance and interfaces |
06-collections-imports-errors | Collections, imports and exceptions |
07-standard-library | Strings, math, files and time |
08-runtime | How programs run |
09-core-library | Collections, JSON, encoding and environment |
10-moon | SQLite and network policy |
11-shady | Developer tools |
12-snow | A web application |
13-bela | Tasks and channels |
14-smokey | Local packages |
15-integrated-app | A complete notes application |
Common questions
Is Fubby free?
Yes. The Fubby Software License lets anyone use it for free, including for business.
Is Fubby open source?
No. Fubby is proprietary. The compiled program, documentation and examples are public, and the interpreter's source code isn't.
Who owns the programs I write?
You do. You can sell them and license them however you like, and you can ship fubby with them.
Can I use it in production?
No. It's an experimental preview, without the security features or stability that production needs.
What is it written in?
The interpreter is written in Rust, and you don't need Rust to use it.
Is it compiled or interpreted?
Interpreted. Fubby reads your source, checks it, then runs it directly. There's no separate build step.
Can AI tools write Fubby?
Fubby is new, so most AI tools don't know it yet. Giving one the language guide helps, and fubby check catches many of its mistakes. We haven't measured how well this works.
Why are types written before the name?
That's Fubby's syntax: let Int count = 1 and func add(Int a, Int b). Forms like count: Int aren't accepted.
Why is there no switch?
Fubby has match instead, which can't fall through to the next case by accident.
License
Fubby is proprietary software. Copyright © 2026 Twig Software Solutions Pvt. Ltd. This is a summary, and the Fubby Software License is what applies.
You may
- Use Fubby for free, for any purpose, including business
- Own, sell and license the programs you write
- Give unmodified copies to others, and ship them with your apps
You may not
- Sell Fubby itself, or modify and redistribute it
- Offer it as a service for running other people's Fubby programs
- Remove its notices, or reverse engineer it where the law allows that limit
- Suggest that Twig made or endorses your work
| Part | Terms |
|---|---|
The fubby program and VS Code plugin | Fubby Software License |
| Example projects and starter project | MIT license |
| Third-party components | Their own licenses, listed in the third-party notices |
| This website and the textbook | All rights reserved |
Fubby comes with no warranty. It's an experimental preview, so read the limits and safety notes first.