The Asteria Programming Language
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

CI Category Build on OS Host OS Build Status
Travis CI Primary Ubuntu Trusty Ubuntu Trusty Build Status
Tea CI Secondary Wine Windows Server 2003 Build Status
Compiler Category Comments
GCC 8 Primary
GCC 7 Secondary Faulty strict overflow warnings.
GCC 4.8 Primary
Clang 6.0 Secondary Unknown warning options. A number of meaningless warnings.
MSVC 19 Obsolete Little build system support. Internal compiler errors.

GNU nano for the win!

The Asteria Programming Language

  1. Sane and clean.
  2. Self-consistent.
  3. Simple to use.
  4. Lightweight.
  5. Procedural.
  6. Dynamically typed.
  7. Easy to integrate in a C++ project. (C++11 is required.)
  8. Native to C++ exceptions, particularly std::bad_alloc.

Characteristics

  1. First-class functions.
  2. Closure functions (lambda expressions).
  3. Exceptions.
  4. Flexible syntax similar to C++ and JavaScript.
  5. Regular grammar.
  6. Pass-by-reference function arguments.
    Return values are passed by value by default, but can also be passed by reference using the return& syntax.
  7. Minimal garbage collection support.
    Objects are managed using referencing counting. Primitive types are copy-on-write hence circular references are impossible.

License

BSD 3-Clause License