Cosmos is an in-development logic-functional, statically typed prototypal language.

rel main()
    x =
    io.writeln("hello, "+x+'!')

The above might look like imperative code. In fact, it's made to resemble a modern scripting language- or perhaps even allow for an imperative-style of code.

However, it's a fully functional (or actually, logic) programming language.

The first hint of this is the usage of rel in the above example (standing for relation) rather than, say, fun (function).

In fact, we borrow from many schools-of-thought. Cosmos has a...

See also a few points of comparison- or go right to the Quickstart section.

Cosmos is still in-development. Documentation is provided for development.


Please look at the Quickstart or the full Guide*.

The guide is meant to be a more comprehensive guide and documentation. It may perhaps need some proof-reading. The Quickstart is a quicker intro and assumes you have prior experience with procedural or functional languages.


See the Download section.

Cosmos is a simple language that combines procedural, functional, logic programming and more.

It's simple

It's a simple, minimal and user-friendly language.

Since it's a somewhat minimal language, it can be learned in a quick time-- as soon as you get used to programming in a LP paradigm.

Once you learn the basics, it's easy to use.

It's safe

The language is checked for type, mode and runtime errors.

Programming with relations