A small, statically typed, capability-based language you can embed and run. It is in Preview.
uses print
record Task = { title: String, owner: String? }
fn ownerOf(task: Task): String {
match task.owner {
none { return "unassigned" }
else { return task.owner }
}
}
constant tasks: [Task] = [
{ title: "Fix build", owner: "sam" },
{ title: "Write docs", owner: none }
]
for task in tasks {
effect print("${ownerOf(task)}: ${task.title}")
}HEL is a separate, smaller expression language for filters. It also appears inside HollowScript as backtick filter literals. Hollow uses HEL for the filters in Tasks, Search and Cascade.
A Cascade Code step can be written in HollowScript, which is in Preview. For the full language, tour and spec, see hollowscript.org.