About Neo

Why Neo exists.

Neo started as an attempt to make vector operations the default instead of an extra library.

The idea

Programs transform vectors.

Data are vectors. Functions operate through vectors. Code is represented as vectors. Arithmetic, logic, control flow, statistics, matrices, and AI operations follow the same computational model.

Design direction

What Neo is built for.

Neo combines data work, numerical code, and native programs in one language.

Expressive data analysis+Deployable native programs
High-level vector work+Hardware and C++ access
Numerical convenience+Predictable execution
Compact code+Explicit missing-data behavior
Built-in operations+Existing systems ecosystems
The model

The design in eight steps.

  1. 01

    Everything begins as a vector.

  2. 02

    Scalar functions naturally lift across data.

  3. 03

    Arithmetic and logic operate over vectors.

  4. 04

    Unknown values remain inside the computation.

  5. 05

    Control flow becomes three-way and vectorized.

  6. 06

    Cartesian spread expresses multidimensional work.

  7. 07

    Numerical and AI operations share the same notation.

  8. 08

    The result compiles into a native executable, and Neo can also be interpreted by Neo.

Creator

Mohammad Aladaili

Saudi Arabia

Mohammad Aladaili created Neo and leads its language design, compiler, runtime, test suite, documentation, release tooling, and website.

The project grew from an experiment in uniform vector evaluation into a native language for data transformation, uncertainty, numerical work, robotics, edge systems, games, and C++ integration.

Development status

Neo works today, but the language is still experimental.

The central vector model, native compiler, numerical runtime, Windows installer, tests, examples, and documentation are in place. Neo now also has a complete interpreter written in Neo that passes the full regression suite.

Current work

  • Complete call-by-reference semantics
  • Strengthen named-frame break and repeat
  • Expand closure capture behavior
  • Finish vector-control edge cases
  • Improve module loading
  • Formalize arena-memory guarantees
  • Increase conformance coverage
  • Expand deployment targets
Read the language

Read the language overview and reference.