Source

o42a /

Filename Size Date modified Message
build
org.o42a.analysis
org.o42a.ast
org.o42a.backend.constant
org.o42a.backend.llvm
org.o42a.backend.llvm.jni
org.o42a.backend.llvm.test
org.o42a.cl
org.o42a.codegen
org.o42a.common
org.o42a.compiler
org.o42a.compiler.test
org.o42a.core
org.o42a.helloworld
org.o42a.intrinsic
org.o42a.lib.console
org.o42a.lib.test
org.o42a.parser
org.o42a.parser.test
org.o42a.rt
org.o42a.test
org.o42a.tools
org.o42a.util
414 B
376 B
201 B
34.3 KB
899 B
200 B
1.6 KB
2.4 KB
25 B
3.2 KB

o42a Programming Language

o42a is a high-level general purpose programming language. It is:

  • compiled,
  • statically-typed,
  • prototype-based,
  • logic-driven, and
  • primarily declarative, while
  • the imperative programming style is also supported.

A program written in o42a is closer to natural English text than one written in any C-like programming language.

The language is designed with programming productivity and code maintainability as main priorities. This achieved by

  • powerful, yet restrained, semantics, and
  • expressive and natural syntax.

See the Mission Statement.

Take a look at the feature list for overall language description.

Read documentation for the details.

Development Status

A prototype of compiler is under development. This compiler is written in Java and uses LLVM for executable code generation.

Implementation status is draft. The majority of the language features are already in place. Development is currently focused on compiler stability, testing and implementation of the missing features.

See the detailed development status and plan.

Hello, World!

Here is a "Hello, World!" program written in o42a:

Use namespace 'Console'.

@Main := *{
  Print "Hello, World!" nl.
}

See the explanation.