The Io Language
iolanguage.org
iolanguage.org
Two of the best Io-related blog posts by _why:
* Io Has a Very Clean Mirror - https://viewsourcecode.org/why/hackety.org/2008/01/05/ioHasA...
* Lazy Bricks, Lazy Mortar - https://viewsourcecode.org/why/hackety.org/2008/01/10/lazyBr...
And some code examples:
* Making an Account object - https://github.com/IoLanguage/io/blob/master/samples/misc/Ac... * Bottles of Beer - https://github.com/IoLanguage/io/blob/master/samples/misc/Bo...
RIP Basho, and thanks Bruce Tate.
I almost certainly didn't learn everything there was to learn from the book in the process, but I definitely felt like I'd got my value for money out of it.
I cam away with the distinct impression that the great thing about IO was the interpreter could be modified (ala lisp) by adding or removing functions, and as such it was an easy language to create functional "sandboxes" in by just creating a subclass and modifying the available method.
But I can find no mention of that on the projects docs..
I'm thinking to give it a try as a scrpiting language but find it too bad it seems no longer maintained. Code has not changed since 2 years.
To note, there is a pure Go implementation of Io[1] which is actively worked on.
[1] https://github.com/IoLanguage/Python
[2] https://github.com/IoLanguage/Python/blob/master/samples/Usi...
(edited for formatting)
I made a backup of those example problems here: https://gist.github.com/jezen/7972975
https://klibert.pl/posts/adding_destructuring_bind_to_io.htm...
https://news.ycombinator.com/item?id=10605310
https://news.ycombinator.com/item?id=8867575
(Links for the curious. Reposts are fine after a year: https://news.ycombinator.com/newsfaq.html)
> A JS/WASM implementation might happen some day...
The language is generally great but it needed some financial muscle on the implementation side as every language do, this stuff is hard.
However, I have come to greatly value robust tooling surrounding a language, to the point where I believe designing a language that makes the creation of such tooling difficult (or impossible) is a terrible trade-off.
Any examples? Does Io make such trade-off?