Programming that reads like plain English.
store name as "World"
display "Hello, " with name with "!"
Most languages ask you to meet the machine halfway — to learn its punctuation, its ceremony, its legacy conventions — before you can say the simple thing you meant. We think that trade was never necessary. WFL is a programming language whose syntax mirrors how people actually describe what they want, and everything in this organization is built to prove that idea holds all the way up: not just in a tutorial, but in a templating engine, a CMS, and the website you're reading about.
WFL is deliberately a first language and a production language. That only works as a gradient, never as a compromise:
For every feature, the beginner form and the expert form must be the same form, or connected by a smooth path with nothing to unlearn.
This is the No-Unlearning Invariant, and it outranks every other principle when they conflict. If a beginner learns a habit on day one that a production user has to undo on day one-thousand, that's a crack in the tightrope — something to fix, not to document. A terser expert form is welcome only if a beginner can grow into it.
These pin every project in this organization — the language, its tooling, and every program we write in it. The full text lives in PRINCIPLES.md.
| # | Belief | What it means |
|---|---|---|
| 1 | Natural-Language Syntax | Code should read like English, so thinking and writing are the same act. |
| 2 | Minimize Special Characters | Prefer words to symbols; a character has to earn its place. |
| 3 | Readability & Clarity | Self-explanatory beats clever. Always. |
| 4 | Clear & Actionable Errors | An error should tell you what to do next, not just that you failed. |
| 5 | Type Safety & Compatibility | Strict checking with inference — safety you don't have to type out. |
| 6 | Support for Modern Features | Async and pattern matching, said in plain words. |
| 7 | Interoperability with Web Standards | Meet the web where it already is: HTML, CSS, JavaScript. |
| 8 | Built-in Security | Secure defaults, so the safe path is the lazy path. |
| 9 | Accessibility for Beginners | Nothing between a newcomer and their first running program. |
| 10 | Expressiveness for Experts | Power without ceremony, for people who've earned it. |
| 11 | Balanced Simplicity & Power | Simple to use, never toy-sized. |
| 12 | Community & Collaboration | Clear code is how we teach each other. |
| 13 | Performance Optimization | The language optimizes; you don't hand-tune. |
| 14 | Integration with Standard Libraries | A stdlib that speaks the same English the language does. |
| 15 | Scalability & Maintainability | Grow from a script to a system without a rewrite. |
| 16 | Gradual Learning Curve | Advanced ideas arrive when you're ready, never as a wall. |
| 17 | Error Transparency | Debugging should be honest and legible. |
| 18 | Encouragement of Best Practices | The default way should be the good way. |
| 19 | Avoidance of Unnecessary Conventions | If a convention can't justify itself, it goes. |
They are also the argument. WFL's website runs on a CMS written in WFL, rendered by a templating engine written in WFL, executed by the WFL runtime. It's turtles all the way down on purpose — a language that can't build its own tools hasn't proven anything.
| Project | What it is |
|---|---|
| wfl | The language itself — lexer, parser, analyzer, type checker, and async interpreter, written in Rust. Ships with an LSP server, a VS Code extension, a REPL, a linter, and a built-in test framework. |
| Scribe | A Twig-inspired templating engine, written entirely in WFL. HTML auto-escaping is on by default — you have to opt out of being safe. |
| Scriptorium | A WordPress-style CMS, written entirely in WFL. Public site, admin panel, SQLite persistence, Markdown authoring, media uploads, roles. |
| wfl-web | The WFL website — written in WFL, served by Scriptorium, templated by Scribe. The proof, running in public. |
- AI-assisted work is welcome. WFL was built with AI, and we do not discriminate against contributions made with it. The human author stays accountable, and the quality bar — tests, docs, compatibility — is identical either way. See AI_POLICY.md.
- Backward compatibility is sacred. Existing WFL programs don't break without a documented deprecation path.
- Tests first, docs with the feature. A feature isn't done until it's tested and written down.
- Maintainer-led. Roles, decision rights, and how to become a Contributor are in GOVERNANCE.md and CONTRIBUTING.md.
- Security reports stay private. Never file a vulnerability as a public issue — see SECURITY.md.
Read the docs, open the REPL, or come argue with us in Discussions.
Maintained by Brad — Logbie LLC. Apache-2.0.