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

2020

April 2020

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

July 2020

Ion syntax and lexer

September 2020

Discussion and analysis, syntax upgrading

November 2020

Ion parser and abstract syntax tree (AST)

2021

February 2021

Binary code generation for Windows x86/x64

March 2021

Compiler code optimization

May 2021

Ion standard library

June 2021

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