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()

Using the Standard Library

Hundreds of helpers are built in and always available. Six modules also ship as importable wrappers: json, encoding, net, os, regex, and sql. A bare Import brings their functions in as plain names; an aliased import namespaces them:

Import "encoding"
Say to_base64("hi")          Note: prints aGk=

Import "regex" as RE
Say RE.test("[0-9]+", "abc123")   Note: prints true (the string contains digits)

Note: `json` is a reserved word, so import it with an alias for member access.
Import "json" as J
Say J.stringify(Map with ok = true and count = 3)

See the standard library reference for the full module APIs.


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