惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MongoDB | Blog
MongoDB | Blog
罗磊的独立博客
美团技术团队
B
Blog
量子位
The Cloudflare Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
aimingoo的专栏
aimingoo的专栏
The GitHub Blog
The GitHub Blog
博客园 - 聂微东
P
Proofpoint News Feed
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
D
DataBreaches.Net
博客园 - 三生石上(FineUI控件)
Y
Y Combinator Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Vercel News
Vercel News
Blog — PlanetScale
Blog — PlanetScale
云风的 BLOG
云风的 BLOG
Microsoft Azure Blog
Microsoft Azure Blog
有赞技术团队
有赞技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
阮一峰的网络日志
阮一峰的网络日志
S
SegmentFault 最新的问题

Lobsters

Lunacy | Red Vice CIFSwitch: a non-universal Linux local root vulnerability RIPE NCC session fixation: poaching logins with an Atlas probe GNOME 2.20 but its Web Components Agentic Search for Context Engineering – Leonie Monigatti Garnix is shutting down [not OC] akashina.tngl.sh/jjc Concerning Emacs (and Jazz) Nitpicking the shell history scene in ‘Tron: Legacy’ What's cooking on SourceHut? Q2 2026 The tenth OpenPGP email summit Package managers that package package managers Clojure on Fennel part three: parsing WordPress at 23 Finding Miscompiles for Fun, Not Profit GitHub - creusot-rs/creusot: Creusot helps you prove your Rust code is correct. Announcing Rust 1.96.0 | Rust Blog A Love Letter to Neovim sqlite AGENTS.md Am I a Bad Friend? CSS vs. JavaScript • Josh W. Comeau Erlang Ecosystem Foundation - Supporting the BEAM community A brief note about slot access cost in Common Lisp Keyboard latency probe Rethinking the GNOME clipboard issues Back to the Building Blocks’ Building Blocks Tech Notes: Theseus: translating win32 to wasm Fast is better than slow Content-addressed Rust builds (or, what kache actually caches) Intent to Prototype: Embedding API
EYG news: A host of CLI improvements, new guides and new ...
eyg.run via · 2026-05-25 · via Lobsters

Over the last few weeks I've focused on making the CLI ergonomic to use. This includes new commands and new flags, better output and easier installation.

New CLI commands and flags

The CLI has gained the commands eval, check script and shell.

  • With eval you can evaluate source code without running any effects and print the resulting value.

  • Type check any expression using the check command.

  • The shell command replaces repl and accepts an optional source file as shell config.

  • Run an EYG script using the script command.

All of the new and existing commands get two new flags. The --code or -c flag accepts inline code. Use --stdin or - to pipe source from STDIN.

Better output

The glam library has been a great discovery. Glam enables you to define your own pretty printer for any type. The printed value neatly wraps on to multiple lines with correct indentation depending on it's size.

Pretty printing and the eval command is a brilliant way to explore values. For example to see all the functions in the string module from the standard library run

eyg eval -c '@standard.string'

Errors are also improved with the full stacktrace being printed and the file path of the error also presented.

Easier installation

Building cross platform binaries is now done in CI. Installing the correct binary for your machine is now a single line command.

curl -fsSL https://raw.githubusercontent.com/CrowdHailer/eyg-lang/main/install.sh | bash

There are even more improvements in the CLI.

  • The CLI now returns non-zero exit codes on failure, ensuring your CI/CD pipelines and shell scripts can react correctly to errors.

  • The shell now has commands /help, /scope (list all variables in scope) and /type (type check an expression in the repl)

The best way to see all the improvements is to try that installer and have a play. Any difficulties please do let me know.

New guides

The guides are now available on the website. New guides written include:

I'm particularly pleased with the effect access policy guides. I'll be talking more about that soon.

New effects.

The CLI now supports the effects DeleteFile, Env, Hash, Now, Random and Sleep. A much more complete set to write useful scripts with. See the full reference

The authenticated effects now work in the web environment. You can check out a perform DNSimple(operation) example on the [homepage](https://eyg.run)

Other news

To end, a few extra improvements that don't fit above include:

  • A new builtin binary_compare to sort binary values

  • Inline pinning of releases, see the syntax guide for details

  • EYG packages for encoding JSON, for working with DAG JSON (the reason for the new builtin), encoding/decoding base32 and base64 values and finally a module to parse and serialize the EYG intermediate representation.