mio 0.1 Documentation¶
Release: | 0.1.9.dev |
---|---|
Date: | June 24, 2015 |
About¶
Note
As of the 7th Sep 2014 mio is being redesigned and redeveloped from the ground up using the RPython toolchain from the PyPy project with clean design, performance and modern features in mind. Please see: https://bitbucket.org/miolang/mio
mio is a minimalistic IO programming language written in the Python Programming Language based on MIo (a port from Ruby to Python) in the book How To Create Your Own Freaking Awesome Programming Language by Marc-Andre Cournoye.
This project is being developed for educational purposes only and should serve as
a teaching tool for others wanting to learn how to implement your own programming
language (albeit in the style of Smalltalk, Io, etc). Many thanks go to Marc-Andre Cournoye
and his wonderful book which was a great refresher and overview of the overall processing
and techniques involved in programming language design and implementation. Thanks also go to the
guys in the #io
channel on the FreeNode IRC Network specifically jer nad locks
for their many valuable tips and help.
The overall goal for this project is to create a fully useable and working programming language implementation of a langauge quite similar to Io with heavy influence from Python (because Python is awesome!). This has already largely been achived in the current version. See the RoadMap for what might be coming up next.
Warning
mio is a new programming language in early Planning and Development. DO NOT USE IN PRODUCTION! USE AT YOUR OWN RISK!
- Visit the Project Website
- Read the Docs
- Read the Tutorial
- Download it from the Downloads Page
Examples¶
Factorial:
Number fact = method(reduce(block(a, x, a * x), range(1, self)))
Hello World:
print("Hello World!")
Features¶
- Homoiconic
- Message Passing
- Higher Order Messages
- Higher Order Functions
- Full support for Traits
- Object Orienated Language
- Written in an easy to understand language
- Supports Imperative, Functional, Object Oriented and Behavior Driven Development styles.
Installation¶
The simplest and recommended way to install mio is with pip. You may install the latest stable release from PyPI with pip:
> pip install mio-lang
If you do not have pip, you may use easy_install:
> easy_install mio-lang
Alternatively, you may download the source package from the PyPI Page or the Downloads page on the Project Website; extract it and install using:
> python setup.py install
You can also install the
latest-development version by using pip
or easy_install
:
> pip install mio-lang==dev
or:
> easy_install mio-lang==dev
For further information see the mio documentation.
Documentation¶
- mio Tutorial
- Grammar
- API Documentation
- Changes
- mio 0.1.9.dev
- mio 0.1.8 (2013-12-24)
- mio 0.1.7 (2013-12-09)
- mio 0.1.6 (2013-12-04)
- mio 0.1.5 (2013-11-28)
- mio 0.1.4 (2013-11-27)
- mio 0.1.3 (2013-11-19)
- mio 0.1.2 (2013-11-19)
- mio 0.1.1 (2013-11-18)
- mio 0.1 (2013-11-14)
- mio 0.0.9 (2013-11-10)
- mio 0.0.8 (2013-11-07)
- mio 0.0.7 (2013-11-06)
- mio 0.0.6 (2013-11-02)
- mio 0.0.5 (2013-10-29)
- mio 0.0.4 (2013-10-27)
- mio 0.0.3 (2013-10-20)
- mio 0.0.2 (2013-10-19)
- mio 0.0.1 (2013-10-19)
- Road Map
- TODO