Skip to content

Getting Started with EPL

EPL — English Programming Language
Write code the way you think. In plain English.


1. Install EPL

EPL runs on Python 3.9+. Install it with pip:

pip install eplang

Verify the installation:

epl --version

2. Your First Program

Create a file called hello.epl:

Say "Hello, World!"

Run it:

epl hello.epl

Output:

Hello, World!

3. Core Language Concepts

Variables

name = "Alice"
age = 25
Say "Hello, " + name
Say "You are " + age + " years old"

Conditionals

score = 85

If score is greater than 90 then
    Say "Grade: A"
Otherwise
    Say "Grade: B"
End

Loops

Note: Count from 1 to 5
Repeat 5 times
    Say "Counting..."
End

Note: Loop over a list
fruits = ["apple", "banana", "mango"]
For Each fruit in fruits
    Say fruit
End

Functions

Function greet takes name
    Return "Hello, " + name + "!"
End

Say greet("World")

Classes

Class Animal
    name = "Unknown"

    Function speak
        Say name + " makes a sound"
    End
End

dog = New Animal()
dog.name = "Rex"
dog.speak()

4. Use the Interactive REPL

The REPL lets you type and execute EPL code line by line:

epl repl

Useful REPL commands:

  • .vars — show all defined variables
  • .help — show available commands
  • .exit — quit

5. Create a Web Server

Create WebApp called app

Route "/" shows
    Page "Welcome"
        Heading "Welcome to my EPL web app!"
        Text "This page is served by the native EPL web runtime."
    End
End

Route "/hello" responds with
    Send json Map with message = "Hello from EPL!"
End

Run it:

epl serve myapp.epl

6. Create a New Project

epl new myproject --template web
cd myproject
epl serve

7. CLI Quick Reference

epl <file.epl>           # Run a program
epl repl                 # Interactive REPL
epl new <name>           # Create new project
epl serve <file.epl>     # Start web server
epl build <file.epl>     # Compile to native binary
epl check <file.epl>     # Static type checking
epl fmt <file.epl>       # Format source code
epl install <package>    # Install a package

8. Try It in Your Browser

No installation needed — try EPL instantly at:

👉 EPL Online Playground

The browser playground assistant can be routed through:

  • a secure proxy (/chat or a Cloudflare Worker URL)
  • Groq directly with your own key
  • Gemini directly with your own key

For the full local playground server with isolated execution and the native /api/assist route:

epl playground

9. JavaScript/TypeScript Bridge

Access the NPM ecosystem directly from EPL:

epl jsinstall lodash
epl jsinstall axios
Use javascript "lodash" as lodash
Use javascript "axios" as axios

Say lodash.capitalize("hello from epl")

Manage JS dependencies:

epl jsdeps            # List installed JS packages
epl jsremove lodash   # Remove a package


10. Deploy to Production

Kubernetes

epl deploy k8s myapp/main.epl --image myapp:1.0 --host myapp.example.com --tls

Cloud Providers

epl deploy aws myapp/main.epl --image myapp:latest --region us-east-1
epl deploy gcp myapp/main.epl --image myapp:latest --region us-central1
epl deploy azure myapp/main.epl --image myapp:latest --region eastus

11. Observability

Add health checks, metrics, and structured logging to any web app:

Create WebApp called app

Import "epl.observability" As obs
obs.attach(app)

Note: This auto-adds:
Note:   /_health  — JSON health status
Note:   /_ready   — readiness probe
Note:   /_metrics — Prometheus-format metrics

12. Next Steps

Resource Link
Official Book (PDF) epl_book.pdf
Language Reference language-reference.md
Tutorials tutorials.md
Architecture architecture.md
Package Manager package-manager.md
Changelog ../CHANGELOG.md

13. Get Help