Ion

Ion Programming Language

Currently under development


Get Started Download


Why Ion?

Fast

Ion is fast and memory-efficient compiled language. No garbage collector, no overhead. Fast write, fast compile, fast run

Cross-platform

Ion is designed to be compiled on Windows, Linux and macOS with unified building process and one IDE across operating systems

Free

The language is free and open source. The Ion compiler and tools are all written in C and licensed under the MIT license

Syntax

Ion is a general-purpose programming language with static typing, modern self-documented syntax like C#, Swift, Kotlin

Design

Ion offers low-level features for call native libraries as well as high-level classes, interfaces, Unicode support, concurency etc.

Packages

Modular system with package manager allows import source code and compiled libraries from repositories

Syntax

        
                /*
                    Ion programming language
                    Console application
                */

                import "Console";
                use System;

                // Entry point
                func Main()
                {
                    var con = Console();
                    con.WriteLine("Hello World");
                    con.WriteLine("Привет мир");
                    con.WriteLine("你好,世界");
                    var str = con.ReadLine();
                    var words = Split(str);
                    for(var i = 0; i < words.Length; i++)
                        con.WriteLine(words[i]);
                }

                // Returns an array of words
                func Split(str: String): String[] =>
                    str.Split(' ');

                // Swaps two integer values
                func Swap(x: *Int, y: *Int)
                {
                    var tmp = *x;
                    *x = *y;
                    *y = tmp;
                }

                // Generic function returns maximum value
                func Max<T>(x: T, y: T): T
                {
                    return x >= y ? x : y;
                }
            
        

Development

Start

November 2018

Initial design

2019

January 2019

Basic crafting process

February 2019

Project website, community services

April 2019

Ion documentation, design of basic types, some elements of core standard library

July 2019

Ion syntax and lexer

September 2019

Discussion and analysis, syntax upgrading

November 2019

Ion parser and abstract syntax tree (AST)

2020

February 2020

Binary code generation for Windows x86/x64

March 2020

Compiler code optimization

May 2020

Ion standard library

June 2020

Alpha version of the compiler. Discussion, refactoring, redesigning, updating, etc.

First Release

Community

Code repository

ion-lang/ion

General news

@lang_ion

General discussion

ionlang

Chat room

t.me/ionlang