Skip to content Search Apps Documentation Source Content File Folder Download Copy Actions State String Boolean Number Struct Map Slice Pointer Function Closure Reference Nil Package Type Interface Unknown

Community realm. Read the code first. Community realm, deployed by its author. Read the code before you interact or send coins.

v0 source realm

Package crondemo is a small gnoweb demo of the cron expression parser provided by the [p/moul/x/daily/cron](/p/moul/x...

Readme View source

gno.land/r/moul/x/daily/crondemo/v0

A gnoweb demo of p/moul/x/daily/cron: the five-field crontab grammar, the next firing times of nine schedules, the union rule that governs the two day fields, the @macros, and what a bad expression says.

The realm holds no scheduling logic and no state. Every instant on the page is computed from one fixed anchor, a Tuesday morning in March 2026, rather than from time.Now(): a block timestamp would make the page different on every call and identical to nothing, and an example test could not pin it.

The section worth reading is the two day fields are a union. 0 0 13 * 5 is the 13th of the month or any Friday, and the table shows it firing on three consecutive Fridays to prove the point. The row below it narrows only one field, where the union and the intersection agree and the rule cannot be observed, which is exactly why the bug survives in so many reimplementations.

The leap-day row is the other one to look at: 0 0 29 2 * skips three years out of four, and the parser has no business rejecting it.

Render("")  -> the full demo

Part of moul/gno-contracts — moul's versioned gno.land contracts. See the repository for the full catalog, build/test tooling, and usage.

On mainnet: deployment status transactions unique callers deployed revision

Dependency graph:

gno.land/r/moul/x/daily/crondemo/v0 dependency graph

🧪 Highly experimental — potentially vibe-coded. Not audited; may break, change, or be removed at any time. Do not use with anything of value. Full disclaimer: DISCLAIMER.

Overview

Package crondemo is a small gnoweb demo of the cron expression parser provided by the p/moul/x/daily/cron(/p/moul/x/daily/cron/v0) library: the grammar, the next firing times of a handful of schedules, the union rule that governs the two day fields, and the expression that never fires.

It contains no scheduling logic of its own, and no state. Every instant on the page is computed from the fixed anchor below rather than from time.Now(), which is what lets an example test pin the output: a block timestamp would make the page different on every call and identical to nothing.

Functions 1

func Render

1func Render(path string) string
source

Render renders the demo for gnoweb.

Example
1Render("") / Render("/") -> the full demo

Dependencies

Source Files 4