Ursa
A friendly, stable, general-purpose programming-language
Ursa helps you write code that will last a long time: a simple, general-purpose programming language that is easy to pick up and will work the same way long into the future.Latest release: vx.y.z (Date)
Latest release notes.
Latest news (19 July 2025)
The last updates to this site were about a lack of activity, and look how long it’s been since then! However, in recent weeks I’ve been making progress again: I have written initial code for Ursa’s static type checker, and migrated the web site from my personal string-and-sealing-wax site generator DarkGlass to my personal reasonably documented and somewhat tested site generator Linton.
In recent months, I have also with the help of Daniel Shindler expanded the number of example programs on Rosetta Code.
Examples and Demo
Code
print("hello woods!")
Result
Output
Code
let fac = fn(x: Num): Num { if x == 0 {1} else {x * fac(x - 1)} } fac(6)
Result
Output
Code
let sum = fn(l: List<Num>): Num { var tot = 0 var i = 0 loop { if i == l.len() { return tot } tot := tot + l.get(i) i := i + 1 } } sum([10, 30, 50, 5, 5])
Result
Output
Code
let my_range = gen(n: Num): Fn { var i = 0 loop { i := i + 1 if i <= n { yield i - 1 } else { return null } } }for i in my_range(5) { print(i) }
Result
Output
Result
Output
Rosetta Code
Find Ursa examples on Rosetta Code and add more!
Discuss and learn Ursa
Join us in our Matrix space! we have rooms for general discussion, newbies, and the web site.
Blog