"i" is a clear, concise programming language that is multi-lingual cross-platform, deterministic and resilient.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
benchmarks
examples
syntax
tools/it
types
.gitignore
License
Makefile
Readme.md
spotlight.png

Readme.md

The 'i' programming language

i

'i' is a hardware-agnostic cross-platform creative programming language in heavy development.

Hello World:

	software {
		print("Hello World")
	}

The Promise

'i' offers two promises:

  • Determinism
  • Resilience

Deterministic

Given equivalent inputs, a compiled program in 'i' will provide identical outputs on any platform/target.

Resilient

Given hardware with an infinite amount of memory, 'i' will never crash.

Design

'i' is a language which is meant to be clean and concise.

	//Open a file and print its contents.
	software {
		file = open("input.txt")
		loop {
			print(file())
			issues {
				exit
			}
		}
	}

Features

  • Big integers.
  • Clean.
  • Simple.
  • Statically typed.
  • Feels dynamic.
  • Cross-platform.
  • Has cross-platform graphics support.

Documentation

There is now a reddit page! http://reddit.com/r/ilang

Documentation is minimal but take a look at the Wiki. The Rosetta Code page may be helpful. Flick me an email (splizard @ splizard dot com) if you have any questions.

DOWNLOAD AND INSTALL

Windows

There is an alpha release for windows, it must be used from the command line. You can find it at https://bitbucket.org/Splizard/ilang-release/downloads/it.exe

Linux/Mac or Android (Termux)

Here are the hacking instructions:

	go get -u github.com/qlova/ilang/src/it
	echo "The binary is now located in:"
	echo "$GOPATH/bin/it.exe"

Please be aware that many features are missing or incomplete in i!

Compilation

In order to compile run code written in i, place it in an isolated directory and run:

	cd /path/to/directory/
	it run

By default, the code is compiled into the Go programming language. (You will need Go installed to complete this process) Otherwise you can target other langauges by providing their extension as an argument eg.

	it run py
	it run java
	it run js

You can export a distributable binary of the code by using the export command.

	it export py
	it export java
	it export js

A full set of supported languages can be found here