Why Neo exists.
Neo started as an attempt to make vector operations the default instead of an extra library.
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.
What Neo is built for.
Neo combines data work, numerical code, and native programs in one language.
The design in eight steps.
- 01
Everything begins as a vector.
- 02
Scalar functions naturally lift across data.
- 03
Arithmetic and logic operate over vectors.
- 04
Unknown values remain inside the computation.
- 05
Control flow becomes three-way and vectorized.
- 06
Cartesian spread expresses multidimensional work.
- 07
Numerical and AI operations share the same notation.
- 08
The result compiles into a native executable, and Neo can also be interpreted by Neo.
Mohammad Aladaili
Saudi ArabiaMohammad 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.
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