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

推荐订阅源

Microsoft Security Blog
Microsoft Security Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
A
About on SuperTechFans
月光博客
月光博客
Jina AI
Jina AI
F
Fortinet All Blogs
博客园 - 聂微东
The Cloudflare Blog
美团技术团队
B
Blog RSS Feed
N
Netflix TechBlog - Medium
罗磊的独立博客
The GitHub Blog
The GitHub Blog
I
InfoQ
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Apple Machine Learning Research
Apple Machine Learning Research
H
Help Net Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
The Blog of Author Tim Ferriss
MyScale Blog
MyScale Blog
博客园 - 三生石上(FineUI控件)
宝玉的分享
宝玉的分享
阮一峰的网络日志
阮一峰的网络日志
V
V2EX

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.