The Alore Programming Language

Alore is a new language that explores optional typing in a
Python-like programming language.

Development is currently focused
on the follow-up project mypy. Mypy
shares a lot with Alore, but mypy will be mostly compatible with Python to
make it easier to adopt. The development of Alore is on hiatus. See also
the relevant news item.

Optional typing

Alore is special by having optional typing.
Use Alore as a dynamic scripting language or a statically-typed language,
as you prefer — or a mix of both. The type system retains the feel of
dynamic typing, owing to features such as type inference.

One language for scripts and complex applications

Write your scripts quickly and maintain complex
applications with ease. No need to complicate your projects by mixing
different languages that do not integrate smoothly.

Clean and consistent

Alore has clean and consistent syntax and semantics that
make Alore very easy to learn and makes Alore programs readable and easy to
maintain. It also makes it easy to develop tooling for Alore.

Easy to get started

You can be productive almost immediately. Learning the
type system is optional — everything is possible using only dynamic
typing. You can
extend statically-typed library classes and access all library functionality.
As your projects grow, you can evolve them to static typing.

Expressive

Use powerful features such as tuples, maps,
arbitrary-precision integers and anonymous functions that make Alore
code concise and expressive.

Fast program startup

You can ignore static types for an almost immediate
edit-test cycle. No need to wait for the compiler to finish. Alore is great
for agile Test-Driven Development.

Native multithreading

Alore supports multithreading. Multicore is the
future.

Portable

Alore works in Linux/Unix, Mac OS X and Windows.

Free

Alore is free to use, even for commercial purposes.
Alore is distributed
under the MIT License.