Skip to content

EasyLang — Frequently Asked Questions (FAQ)

This FAQ page answers common questions about EasyLang, the CLI, ELPM, modules, errors, and project structure.

If you think something is missing, feel free to contribute or open an issue!


General Questions

What is EasyLang?

EasyLang is an English-like scripting language designed to be simple, readable, and beginner-friendly.
It reads like plain English:

we let x = 10
if x greater 5 then [
    so print "Hello!"
]

It is built in Python and wrapped with a powerful interpreter that supports modules, Python interop, and a CLI.


What can EasyLang be used for?

  • Learning programming
  • Writing small automation scripts
  • Teaching coding to beginners
  • Quick utilities
  • Testing algorithms
  • Interacting with Python libraries (requests, pillow, numpy, etc.)

Is EasyLang compiled or interpreted?

It is interpreted. Your code is executed directly by easy_lang.py.


Installation & Setup

How do I install EasyLang?

You have three options:

  1. Using Git git clone https://github.com/greenbugx/EasyLang

  2. Windows .exe Installer (recommended) Download from Releases → EasyLang Installer (.exe)

  3. Portable ZIP Extract → run el.exe or python el.py.


How do I run an EasyLang file?

el myscript.elang

Or:

python el.py myscript.elang


How do I start the REPL?

el --repl

Language & Syntax

Does EasyLang use semicolons or braces?

No. Blocks use brackets:

[
    statements...
]


Is indentation required?

No. Indentation is optional and ignored.


How do I define a variable?

we let x = 10


Does EasyLang support functions?

Yes:

define add(a, b): do [
    return a plus b
]


Can I import modules?

Yes, both EasyLang and Python modules:

bring "math.elangh" as math
bring requests as req


Modules & Python Interop

Can I use Python packages inside EasyLang?

Yes!

Example:

bring requests as req
we let r = req.get("https://httpbin.org/get")


How do I install Python packages?

Use ELPM:

elpm --install requests


Does EasyLang have its own standard library?

Yes — built-in modules like:

  • math
  • strings
  • list utilities
  • dictionary utilities

ELPM — EasyLang Package Manager

What is ELPM?

A wrapper around pip with:

  • clean output
  • progress bars
  • beginner-friendly error messages

How do I install a package?

elpm --install <name>

How do I list installed packages?

elpm --list

Can I remove a package?

elpm --uninstall <name>

Can I freeze dependencies?

Yes:

elpm --freeze


Error Handling

Why do I see Undefined variable?

You used a variable before defining it:

so print x    $ error
we let x = 10

Why is string plus number an error?

EasyLang does not auto-convert types:

RuntimeError: Unsupported operand types for plus: string and number

Use: "hello " plus str(10)


Why is my .elangh module not loading?

Possible reasons:

  • File not found
  • Missing alias
  • Syntax error inside module
  • Wrong path

Correct usage: bring "math.elangh" as math


Why does EasyLang crash on Python imports?

Cause:

  • Python module not installed

Solution:

elpm --install <module>


CLI & Commands

How do I view tokens?

el --tokens file.elang

How do I view the AST?

el --ast file.elang

How do I view interpreter version?

el --version

Project Structure

What files should my EasyLang project include?

Typical:

main.elang
math.elangh
modules/
docs/
requirements.txt


Advanced

Can I use EasyLang inside Python?

Yes — by importing:

from easy_lang import Interpreter


Will EasyLang support classes?

Planned for future release.


Does EasyLang have a compiler?

Not yet. Interpreter-only for now.


Community & Help

Where can I report bugs?

GitHub Issues EasyLang repository

Can I contribute?

Yes — contributions are welcome!


Need More Help?

Join the community or check the full documentation for:

  • Syntax
  • Standard Library
  • Error System
  • Modules
  • ELPM
  • CLI