DEV Community

Alexander Baranovsky
Alexander Baranovsky

Posted on

The Amigo programming language

Hello All,

I have created a new programming language:

www.amigo-lang.com

Amigo is a new general-purpose, object-oriented, statically typed, high-level programming language. The main target of use is solving AI problems. It has simple C-like syntax, powerful capabilities for data representation and processing, and efficient memory management.

The key features of Amigo are:

The core of the language is very small. It includes simple data types (int, string, double, etc.) and first-class functions.
Amigo has a single compound data type—the tuple. Despite this, it provides powerful tools for creating, modifying, and manipulating any dynamic data structures: lists, trees, queues, etc. At the same time, the garbage collector is not used.
Amigo introduces an extended concept of function. It allows introducing all OOP features without borrowing additional concepts. Such concepts as classes, objects, arrays, enums, ranges, interfaces. etc., are derived from the concepts of function and closure. In other words, we can consider OOP concepts as just a syntax sugar in relation to the Amigo core.
Amigo has powerful macros. Any Amigo program can be used as a macro because Amigo macros are made in the language itself. You can debug macros in the same IDE.

Other features and concepts supported by Amigo are:

  • Generic types
  • Operator overloading
  • Coroutines, generators, and fibers
  • Continuations
  • Bunches of functions
  • Delegates
  • Linq
  • Destructuring and pattern matching
  • Object literals and anonymous classes
  • Modules (units of compilation)

Top comments (0)