runlet 0.1.0

A semantic executable model for the Runlet orchestration language
Documentation
#! expect: ["ada"]
# Regression (bench v11): a multi-statement block nested in `( ... )` after
# `else` lost its newline statement terminators (RL1008 storm).
users = data.users()
dates = ["2026-06-15", "2026-06-16"]
avail = for u in users limit 4 {
    days = for d in dates limit 2 {
        av = data.availability({ user_id: u.id, date: d })
        return { date: d, busy: av.busy }
    }
    return { user: u.name, days: days }
}
conflicted = for a in avail limit 4 {
    blocked = false if a.days == [] else (
        fold any_hit = false for day in a.days {
            skip if any_hit  # trailing comment after skip

            # full-line comment between statements
            per_day = fold acc = false for b in day.busy {
                start_h = number.parse(text.slice(b.start, 0, 2))
                return acc or start_h >= 9
            }
            return per_day
        }
    )
    skip if not blocked
    return a.user
}
return conflicted