Scripts that read like thoughts.
Logos (from Greek — word, reason, logic) is a scripting language built for clarity. A CLI-first language with readable syntax, proper error handling, and code you can come back to a week later and still understand.
use "std/array"
let devs = [
table{name: "Alice", lang: "Go", years: 2},
table{name: "Bob", lang: "Python", years: 1},
table{name: "Carol", lang: "Go", years: 3},
]
let results = devs
|> filter(fn(d) -> d.lang == "Go")
|> map(fn(d) -> "${d.name} — ${d.years} yrs")
for i, dev in results {
i++
print(" ${i}. ${dev}")
}- Readable syntax — C-like, favors clarity over cleverness
- String interpolation —
"hello ${name}"built in - Pipe operator — chain transforms with
|> - Result-based errors —
{ok, value, error}instead of exceptions - Try expression — propagate errors without boilerplate
- Built-in HTTP, JSON, file I/O — batteries included
- Concurrency — lightweight
spawnblocks - Compile to binary —
lgs build script.lgsproduces a standalone executable - Embeddable — drop into any Go project via
github.com/codetesla51/logos/logos
curl -fsSL https://raw.githubusercontent.com/codetesla51/logos/main/install.sh | shWorks on Linux and macOS. Picks the correct binary for your OS and architecture automatically.
lgs script.lgs # run a script
lgs # start the REPL
lgs fmt script.lgs # format code
lgs build script.lgs # compile to a standalone binary
lgs --help # show all commandsFull documentation at logos-lang.vercel.app/docs
Contributions are welcome — examples, stdlib utilities, bug fixes, or docs improvements. Open an issue or PR on GitHub.
MIT
