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

推荐订阅源

N
News and Events Feed by Topic
Malwarebytes
Malwarebytes
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
Cybersecurity and Infrastructure Security Agency CISA
F
Future of Privacy Forum
C
Cisco Blogs
T
The Exploit Database - CXSecurity.com
A
Arctic Wolf
S
Securelist
K
Kaspersky official blog
S
Schneier on Security
T
ThreatConnect
T
Tenable Blog
Spread Privacy
Spread Privacy
T
True Tiger Recordings
AWS News Blog
AWS News Blog
F
Fox-IT International blog
量子位
T
Threatpost
V
Vulnerabilities – Threatpost
C
CERT Recently Published Vulnerability Notes
Cisco Talos Blog
Cisco Talos Blog
GbyAI
GbyAI
宝玉的分享
宝玉的分享
腾讯CDC
G
Google Developers Blog
aimingoo的专栏
aimingoo的专栏
Cyberwarzone
Cyberwarzone
有赞技术团队
有赞技术团队
S
SegmentFault 最新的问题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Visual Studio Blog
U
Unit 42
雷峰网
雷峰网
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Simon Willison's Weblog
Simon Willison's Weblog
O
OpenAI News
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The GitHub Blog
The GitHub Blog
The Register - Security
The Register - Security
MyScale Blog
MyScale Blog
小众软件
小众软件
A
About on SuperTechFans
Last Week in AI
Last Week in AI
Y
Y Combinator Blog
博客园 - 三生石上(FineUI控件)
美团技术团队
Google Online Security Blog
Google Online Security Blog
P
Proofpoint News Feed
MongoDB | Blog
MongoDB | Blog

Lobsters

Scaling Akvorado BMP RIB with sharding The Eternal Sloptember JS Crossword C array types are weird; and related topics Flatpak will depend on systemd – OSnews Migrating from Go to Rust | corrode Rust Consulting Building Pi With Pi abyss * your_dotfiles_are_not_a_distro Vivado Licensing Options How my minimal, memory-safe Go rsync steers clear of vulnerabilities From AFSK to Goertzel the entropy layer of a wavelet codec, on its own 10,000 Lines Later: When a Tool Became a Compiler - Rob Durst - Gleam Gathering 2026 Debian SE Linux and PinTheft fht-compositor: A dynamic tiling Wayland compositor A Network Allow-List Won't Stop Exfiltration — André Graf Does bulk memmove speed up std::remove_if? (No.) What is Git made of? wake up! 16b 声明式部分更新 | Blog | Chrome for Developers Don't Roll Your Own ... Dianne Skoll's Web Site - Remind “Long-Term Support” doesn’t mean what you think The Architecture of Open Source Applications (Volume 1)Berkeley DB Pardon MIE? - ironPeak Blog seriot.ch It's time to talk about my writerdeck hershey Cuneiforth: A Forth for your Chifir z386: An Open-Source 80386 Built Around Original Microcode waylandcraft - Minecraft Mod On the <dl> HP QuickWeb, Singular And Pointless mvm - a fast virtual machine for Go That one time I used Go panics for flow control A new suite of modern tools coming for editing and publishing RFCs From the Tabletop… The Digital Antiquarian .NET (OK, C#) finally gets union types🎉: Exploring the .NET 11 preview - Part 2 Revised^7 Report on Scheme, Large: Procedural Fascicle Draft is now public The Soul of Maintaining a New Machine - Third Draft | Books in Progress
EYG news: A host of CLI improvements, new guides and new effects
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.