Io (iolanguage.com)

45 points by philcrissman ↗ HN
Io is a small, prototype-based programming language. The ideas in Io are mostly inspired by Smalltalk (all values are objects), Self (prototype-based), NewtonScript (differential inheritance), Act1 (actors and futures for concurrency), LISP (code is a runtime inspectable/modifiable tree) and Lua (small, embeddable).

13 comments

[ 4.7 ms ] story [ 44.9 ms ] thread
The url looks like "LOL language"
That is the most beautiful website ever.
They changed the design sometime in the last 12 hours. The previous one was even better.
I wonder why they did that...
Does anyone know how to compile this on Ubuntu?

I Googled and found two guides, but neither of them worked. I'll post the particular compiler error I got when I get home.

I'm having issues installing in cygwin too. Hundreds of errors like: "source/IoBlock.c:58: error: parse error before ')' token"
Yes, I get those errors too.

The first error that shows up after executing 'make' is:

    In file included from source/simd_cph/include/simd_cp_x86.h:47,
                     from source/simd_cph/include/simd_cp.h:115,
                     from source/UArray_math.c:13:
    /usr/lib/gcc/i486-linux-gnu/4.1.2/include/xmmintrin.h:34:3: error: #error "SSE instruction set not enabled"
I'll ask in #io - perhaps they'll know what to do.
Alright, I asked for help in #io, and it looks like there was some known problem with SIMD due to a recent patch.

In order to fix it for now, go to libs/basekit/source/UArray_math.c, and comment out the line:

    #define IO_USE_SIMD 1
That should do the trick.
I suggest that you use the MSVS compiler, but the cygwin build environment (make sure to set the LIB and INCLUDE env variables). Then:

SYS=Windows make

That is the easiest way in Windows (for now).

I've been doing a couple side projects in Io over the last few months. It really is a beautiful language. Honestly, it reminds me of what would be the love child of Lisp and Ecmascript.

What really struck me was when I realized that I could get it to do Ruby style hash and array literals, from completely within the language. Really cool stuff.

Also, doing a Markaby clone was remarkably (hah) easy.

Oh, and the Regex library is rather nice.