Echo
Echo is a small interpreted scripting language. Types are declared explicitly and checked at runtime. Abort is the default failure mode; recovery is inquiry and *Or twins, not try / catch.
Docs: https://deekshith-poojary98.github.io/echo/ — includes a browser playground.
name: str = "Echo";
scores: list = [95, 85, 75];
fn greet(name: str) -> void {
say("Hello, ${name}!");
}
greet(name);
for i: int in 0..10 by 2 {
say("Count:", i);
}
What you get
- Typed declarations and parameters; runtime checks on bind / assign / return
listandhash, string interpolation, method calls,use mut, lexical scope- File modules:
export/import name from "module" - Type aliases, object types (
exact { ... }too), unions (int | str), first-class functions and builtins-as-values - Nominal
classwithnew { ... }fields, methods (this), type methods, unbound methods, andinterface(optionalimplements; no inheritance) - Thin scripting stdlib: files, JSON, regex, UTC dates, HTTP (
httpGet/httpPost, host-gated), URL helpers, Base64 - CLI: run a file, REPL,
check,test,fmt,lint,builtins
What you do not
- No class inheritance (
extends), no generics, notry/catch, no packages yet - Type inference is limited — you still declare types
- See Known Limitations and failure model
Install
Python 3.10+. Prefer the command name elang — short, and shells often reserve echo. The package also registers echolang (and echo).
Package name on PyPI is echolang.
pipx (recommended)
python3 -m pip install --user pipx
python3 -m pipx ensurepath
pipx install echolang
elang --version
elang builtins --count
From GitHub instead of PyPI:
pipx install git+https://github.com/deekshith-poojary98/echo.git
From a clone
pip install .
# or: pip install -e .
elang path/to/file.echo
Layout
src/echo/— frontend, semantics, modules, runtime, CLIdocs/— VitePress site (this is the docs source)docs/language-semantics.md— language contract (v0.2 base; additive through 1.1.x)docs/module-semantics.md— v0.3 module contractdocs/reference/builtin-inventory.md— generated prelude list (python tools/sync_builtins.py)*.echo/examples/— sample programs (includingexamples/url_and_base64.echo)
License / contributing
License and contribution guidelines are not filled in yet.
Release files for echolang 1.1.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| echolang-1.1.9.tar.gz | 98.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| echolang-1.1.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 207.1 kB
Release files / echolang-1.1.9.tar.gz
| Download URL | echolang-1.1.9.tar.gz |
|---|---|
| Size | 98.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
32c7a13abb9f53058d274be829dc8a777516bd5ee19c847b36d51521e15070a9
|
|
BLAKE2b-256 checksum How to use checksums |
6a8dfde6dc9f8af4158e6d0271cbbc0e4dbf9fc118bd9a65a73c16d2164bb12a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.9
|
Release files / echolang-1.1.9-py3-none-any.whl
| Download URL | echolang-1.1.9-py3-none-any.whl |
|---|---|
| Size | 108.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
933ffd2404e7cb16372c0837e587d78d56f2d736a4af718fee8898aaf8f0b135
|
|
BLAKE2b-256 checksum How to use checksums |
b762e6dfcb2c077467bd1eec521b9aac8a6ddbe5cf45eb1c4e565eec1d8e1ff2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.9
|