ed564b6dda
Phase 1.5 of time-system. Calendar is pluggable: EarthCalendar (IANA zones, DST, Gregorian) is the default; MarsCalendar, CycleCalendar(period), NoCycleCalendar handle non-Earth cases. Rhythm abstracts recurrence from clock units - rhythm_cycle_phase(0.5) means "midpoint of cycle" whether the cycle is 24 hours on Earth or 30 hours on a station or 300 years on a long-cycle world. Phase 1 (Instant + Duration) unchanged. EarthCalendar(zone_local()) is the user-facing default; nobody who doesn't care about non-Earth calendars sees the abstraction. Self-host fixed point holds at 6339 lines. Snapshot tagged at dist/platform/elc.20260502-1321-self-host. Phase 2 (scheduling primitives every/after/at) lands next, now with Calendar-aware grounding instead of Earth-time hardcoded. Backlog: bl-297f66d8 (supersedes bl-b29b3e60)
14 lines
539 B
EmacsLisp
14 lines
539 B
EmacsLisp
// runner.el — entry point for the calendar/ acceptance corpus.
|
|
//
|
|
// Each calendar/examples/*.el is its own El program with its own fn main().
|
|
// Compile, link, and run-output-diff is handled by tests/calendar/run.sh —
|
|
// this file is the El-side stub kept for pattern parity.
|
|
//
|
|
// Run from the calendar/ directory:
|
|
// ./run.sh
|
|
|
|
fn main() -> Void {
|
|
println("calendar/ acceptance corpus is driven by run.sh — invoke that directly.")
|
|
println("Each examples/*.el is a self-contained program; runner.el is a parity stub.")
|
|
}
|