Skip to content

Echo v1.1.9

Choose a tag to compare

@deekshith-poojary98 deekshith-poojary98 released this 26 Sep 05:51
· 100 commits to main since this release

Echo 1.1.9

Versions: 1.1.0 → 1.1.9 (series complete)
Theme: HTTP + post-1.0 scripting polish
Package: echolang on PyPI · preferred CLI: elang
Failure model: unchanged — abort by default; recovery is inquiry and *Or twins

1.1 adds thin, host-gated networking and related scripting helpers on top of the 1.0 language surface. No new language syntax. No packages, generics, inheritance, or try / catch.


Highlights

HTTP (1.1.0–1.1.1)

  • httpGet / httpPost → { status, body, headers }
  • Optional request headers; httpOk / httpRedirect
  • httpGetOr / httpPostOr — network failures return a fallback; type errors and host deny still abort
  • Host.allow_http (CLI default on; playground off → E2801)
  • Network / bad URL → E2852; non-2xx still returns the response hash

URL & Base64 (1.1.2, 1.1.7)

  • urlEncode / urlDecode / urlJoin / urlQuery (E2853)
  • base64Encode / base64Decode (E2854)
  • YAML deferred (would need a dependency)

Diagnostics & tooling (1.1.3–1.1.6, 1.1.8)

  • watch lines include source location; abort dumps Watched: bindings
  • Documented E2801, E2850–E2854 and http*Or in the failure model
  • tools/sync_builtins.py + builtin inventory
  • elang builtins / --count; -V and clearer -h

Playground & docs close (1.1.5, 1.1.9)

  • Playground host policy documented (no files / run / HTTP)
  • Series docs/examples pass: README, tour, examples/url_and_base64.echo

Slice index

Version Focus
1.1.0 httpGet / httpPost + allow_http
1.1.1 Headers, status helpers, *Or twins
1.1.2 URL helpers
1.1.3 watch / abort diagnostics
1.1.4 Error-message / code pass
1.1.5 Playground HTTP / host-policy docs
1.1.6 Builtin sync / inventory generator
1.1.7 Base64 helpers
1.1.8 elang builtins CLI polish
1.1.9 Series close (docs / examples)

Install

pipx install echolang
elang --version          # Echo 1.1.9
elang builtins --count

Docs: https://deekshith-poojary98.github.io/echo/
Playground: https://deekshith-poojary98.github.io/echo/playground


Still held (not in 1.1)

Packages / non-sibling imports, YAML, full LSP, inheritance, generics, async, VM, try / catch, Result / Option.


Upgrade notes

  • From 1.0.0: additive only — existing programs keep working.
  • Playground still denies HTTP/files/run; use the CLI for live httpGet / httpPost.
  • Prefer elang over echo / echolang for the CLI name.