Welcome to the complete documentation for the WebFirst Language (WFL)! This is your starting point for learning WFL, from your first "Hello, World!" to building production web servers.
Programming that reads like plain English
π§ͺ The code in these docs is tested. Every runnable
wflexample is executed against the release binary byscripts/test_docs_code_blocks.pyβ placeholder templates, illustrative fragments, and long-running server demos are classified rather than run. Generate a fresh audit withpython3 scripts/test_docs_code_blocks.py --audit target/reports/docs-audit/DOC_CODE_AUDIT.md(reports are ephemeral output per REPOSITORY_HYGIENE.md; a historical snapshot is archived atArchive/reports/DOC_CODE_AUDIT.md). New here? Start with the output-verified Friendly WFL Tour.
π― 1. Introduction
Learn what WFL is and why it matters.
Start here if you're new to WFL or want to understand the philosophy behind the language.
- What is WFL? - Core concepts and mission
- Key Features - 15 powerful capabilities
- Natural Language Philosophy - The 19 guiding principles
- First Look - Code examples and comparisons
- Why WFL? - Benefits and use cases
Time to read: 30-45 minutes
π 2. Getting Started
Install WFL and write your first programs.
Hands-on guide to get you productive in under an hour.
- Installation - Windows MSI or build from source
- Initialize a Project -
wfl initcreates project configuration and agent guidance - Run WFL tests in Docker - Reusable nightly runtime for other projects
- Hello, World! - Your first WFL program
- Your First Program - Step-by-step tutorial
- REPL Guide - Interactive experimentation
- Editor Setup - VS Code, LSP, MCP integration
- Resources - Where to find help
Time to complete: 45-60 minutes
π 3. Language Basics
Master the fundamental building blocks of WFL.
Everything you need to write effective WFL programs.
- Variables and Types - Storing and managing data
- Operators and Expressions - Math and comparisons
- Control Flow - Conditionals and decisions
- Loops and Iteration - Repeating actions
- Actions (Functions) - Reusable code
- Lists and Collections - Multiple values
- Error Handling - Graceful failure
- Comments and Documentation - Code clarity
Time to complete: 3-4 hours (or skim in 1 hour if experienced)
Unlock WFL's powerful capabilities.
Web servers, async operations, pattern matching, and object-oriented programming β still in the same natural-language style as the basics (foundation).
- Modules - Code organization and reuse β¨ NEW
- Async Programming - Non-blocking operations
- Web Servers - Built-in HTTP servers
- File I/O - Reading and writing files
- Pattern Matching - Regex-like patterns
- Containers (OOP) - Object-oriented programming
- Subprocess Execution - Running external commands
- Interoperability - Working with other technologies
Time to complete: 4-5 hours
π¦ 5. Standard Library
Explore WFL's 181+ built-in functions.
Complete reference for all standard library modules.
- Overview - Library architecture
- Core Module - print, typeof, isnothing
- Math Module - abs, round, floor, ceil
- Text Module - String manipulation
- List Module - List operations
- Filesystem Module - File and directory ops
- Time Module - Date and time
- Random Module - Random number generation
- Crypto Module - Password hashing, standard crypto, experimental WFLHASH
- Pattern Module - Pattern matching
Time to read: 2-3 hours (reference material)
Write better WFL code.
Guidelines for quality, security, performance, and collaboration β aligned with the WFL foundation (readability, secure defaults, no-unlearning).
- Code Style Guide - Formatting and conventions
- Naming Conventions - Clear, descriptive names
- Error Handling Patterns - Robust error handling
- Security Guidelines - Secure coding
- Performance Tips - Optimization strategies
- Testing Strategies - Quality assurance
- Project Organization - Structuring projects
- Collaboration Guide - Team development
Time to read: 2-3 hours
Week 1: Foundations
Week 2: Basics
Week 3: Building Blocks
Week 4: Practice
- Build small programs using Language Basics
- Explore TestPrograms directory
- Try examples from REPL Guide
Month 2+: Advanced Features, Standard Library
Quick Start (1-2 hours):
- Key Features - See what's different
- First Look - Code comparisons
- Installation - Get set up (5 min)
- Skim Language Basics - Note the natural syntax
- Jump to Advanced Features - Where you'll spend time
Migration Guides:
Use as reference:
Web Server:
- Installation
- Skip to Web Servers
- Reference Standard Library as needed
File Processing:
- Language Basics - Quick skim
- File I/O
- Filesystem Module
Data Validation:
API Development:
- WFL by Example - Learn through 20-30 practical examples
- Cookbook - Recipes for common tasks
- Troubleshooting - Common problems and solutions
- FAQ - Frequently asked questions
- Configuration Reference (
.wflcfg) - One-stop guide for global and project config: all keys, defaults, CLI (wfl init,wfl config,--configCheck,--configFix), lint/style, security, web server - Language Specification - Formal language spec
- Syntax Reference - Quick syntax lookup
- Keyword Reference (Quick) - Fast scannable keyword lookup
- Reserved Keywords (Complete) - Complete technical reference
- Operator Reference - All operators
- Built-in Functions - Complete function list
- Error Codes - Understanding errors
- Supported Platforms & Support Boundaries - Support tiers, platform matrix, toolchain/runtime requirements, and what "supported" covers
- Contributing index - Overview of contributor docs (active designs live in
Engineering/, history inHistory/, retired material inArchive/β see REPOSITORY_HYGIENE.md) - Building from Source - Compile WFL
- Contributing Guide - Day-to-day contribution workflow
- Architecture Overview - How WFL works
- LSP Integration - Language Server details
- MCP Integration - AI assistant integration
- Compiler Internals - Deep dive
// Variables
store name as "Alice"
change name to "Bob"
// Display
display "Hello, World!"
display "Value: " with variable
// Conditionals
check if condition:
// code
otherwise:
// code
end check
// Loops
count from 1 to 10:
display count
end count
for each item in list:
display item
end for
// Actions
define action called name with parameters x and y:
return x plus y
end action
call name with 5 and 3
// Lists
create list items:
add "first"
add "second"
end list
push with items and "third"
// Error Handling
try:
// risky code
catch:
// handle error
end try
// Core
display "text"
typeof of value
isnothing of value
// Math
abs of -5 // 5
round of 3.7 // 4
floor of 3.7 // 3
ceil of 3.2 // 4
// Text
touppercase of "hello" // "HELLO"
tolowercase of "HELLO" // "hello"
length of "hello" // 5
substring of "hello" from 0 length 2 // "he"
// Lists
length of list
push with list and item
pop of list
...create variables? β Variables and Types
...make decisions? β Control Flow
...repeat actions? β Loops and Iteration
...organize code? β Actions (Functions)
...work with lists? β Lists and Collections
...handle errors? β Error Handling
...build a web server? β Web Servers
...read/write files? β File I/O
...validate data? β Pattern Matching
...the store keyword?
β Variables and Types
...check if syntax?
β Control Flow
...a count loop?
β Loops and Iteration
...an action?
β Actions (Functions)
...typeof?
β Variables and Types
..."Variable 'x' is not defined" β Variables and Types
..."Expected identifier, found Keyword..." β Variables: Reserved Keywords
..."Type mismatch" β Variables: Type Safety
...General troubleshooting β Troubleshooting Guide
- Introduction (6 files) - What WFL is, why it matters, philosophy
- Getting Started (7 files) - Installation through editor setup
- Language Basics (9 files) - All fundamental concepts
- Advanced Features (1 of 8 complete) - Modules documentation added
- Standard Library (11 files planned) - Coming soon
- Best Practices (9 files planned) - Coming soon
- Guides (6 files) - Examples, cookbook, migrations, FAQ
- Reference (6 files) - Formal specs and quick lookups
- Development (6 files) - For contributors
Total planned: 60+ documentation files
Start Here
β
[Introduction]
β
[Getting Started] β Practice as you go!
β
[Language Basics] β Exercises in each section
β
[Build Small Programs]
β
[Advanced Features]
β
[Best Practices]
Timeline: 1-2 months to proficiency
[Key Features] β [First Look]
β
[Installation (5 min)]
β
[Language Basics (Skim)]
β
[Advanced Features] β Focus here
β
[Standard Library] β Use as reference
Timeline: 1-2 days to productivity
[Syntax Reference] β Bookmark this
β
[Cookbook] β Copy-paste recipes
β
[Standard Library] β Function lookup
Timeline: Minutes to find what you need
The REPL is perfect for learning:
$ wfl
> display "Hello!"
Hello!
> store x as 10
> x plus 5
15Every section has code examples. Type them yourself! Copying and pasting doesn't teach as well as typing.
Each section has practice exercises. Actually do them! They reinforce concepts.
The repository includes 90+ working WFL programs:
cd TestPrograms
ls *.wflThese are validated, working examples you can learn from.
Set up VS Code with syntax highlighting:
Real-time error checking helps you learn faster!
Stuck? Check these resources:
This documentation follows WFL's guiding principles:
β Friendly and encouraging - Welcoming tone for beginners β Example-rich - Show, don't just tell β Progressive - Start simple, add complexity gradually β Natural language - Mirrors WFL's philosophy β Practical - Real-world examples and use cases β Accurate - All code examples are validated
Every code example is tested with the WFL compiler to ensure accuracy!
- Main Repository - Source code and releases
- Issue Tracker - Report bugs, request features
- Discussions - Community Q&A
- Releases - Download WFL
- Installation - Get started in 5 minutes
- Language Basics - Core concepts
- TestPrograms - 90+ example programs
- Contributing - Workflow + root CONTRIBUTING.md
- Governance - Project authority and binding policies
- Code of Conduct - Community standards
- AI Policy - AI-assisted work is welcome
- Contributing - How to contribute & apply for Contributor status
- Security Policy - Vulnerability reporting
- Documentation Policy - How we write docs
- WFL Foundation - The 19 guiding principles
Install (5 minutes):
# Download MSI from GitHub releases (Windows)
# Or: cargo build --releaseFirst Program (2 minutes):
display "Hello, World!"
Run it:
wfl hello.wflLearn the Basics (1 hour):
Build Something:
- Use TestPrograms as examples
- Reference Standard Library
- Check Cookbook for recipes
// Code that reads like English
for each customer in premium_customers:
check if customer_balance is greater than 1000:
send_loyalty_reward to customer
end check
end for
Learn why natural language syntax matters β
listen on port 8080 as server
wait for request comes in on server as req
respond to req with "Hello from WFL!"
No frameworks needed! Web servers are built-in.
store age as 25
store name as "Alice"
// WFL catches this error before running:
// display age plus name // ERROR: Cannot add Number and Text
WFL is in alpha development (v26.1.17). This means:
- β Core features work and are tested
- β Great for learning and experimentation
- β Good for side projects and prototypes
β οΈ NOT recommended for production (yet)- π Active development and improvements
Backward Compatibility Promise: Your code will work with future versions!
Current: Sections 1-3 complete (22 files, ~61,000 words) Coming soon: Sections 4-6 and additional resources
This documentation is actively being developed. New sections are added regularly!
Found an issue with the documentation? Have a suggestion?
- Open an Issue - Report documentation bugs
- Start a Discussion - Suggest improvements
- Submit a PR - Fix it yourself!
All contributions welcome! Even fixing typos helps.
Start your journey:
Welcome to WFL - Programming in Plain English! π
Built by Logbie LLC β’ Open Source (Apache 2.0)
Documentation validated with WFL MCP Server