Ioke for the CLR released

The last two weeks I’ve been furiously coding away to be able to do this. And I’m finally at the goal. I am very happy to announce that the first release of Ioke for the CLR is finished. It runs on both Mono and .NET.

Ioke is a language that is designed to be as expressive as possible. It is a dynamic language targeted at several virtual machines. It’s been designed from scratch to be a highly flexible general purpose language. It is a prototype-based programming language that is inspired by Io, Smalltalk, Lisp and Ruby.

Programming guide:

Ioke E ikc is the first release of the ikc Ioke machine. The ikc machine is implemented in C# and F# and run’s on Mono and .NET. It includes all the features of Ioke E ikj, except for Java integration. Integration with .NET types will come in another release.


  • Expressiveness first
  • Strong, dynamic typing
  • Prototype based object orientation
  • Homoiconic language
  • Simple syntax
  • Powerful macro facilities
  • Condition system
  • Aspects
  • Runs on both the JVM and the CLR
  • Developed using TDD
  • Documentation system that combines documentation with specs

There are several interesting pieces in ikc. Among them I can mention a new regular expression engine (called NRegex), a port of many parts of gnu.math, providing arbitrary precision math, and also an implementation of BigDecimal in C#.

4 Comments, Comment or Ping

  1. My goodness. That’s fantastic. Thanks!

    Now could we please have implementations for the Smalltalk virtual machine and the IBM System/370 mainframe? :-)

    April 21st, 2009

  2. On the mono implementation of .NET on a >1GHz PPC Macintosh:

    > time mono ioke.exe -e “”
    160.93 real 28.04 user 2.33 sys

    I still agree it’s best not to focus on speed at this point, but I thought I’d post this anyway because it’s kind of funny!

    April 22nd, 2009

  3. Rodrigo Kumpera

    Neither PPC or OSX are good mono targets for now. OTOH Mono’s performance on PPC have increased a lot in recent releases.

    Doing the same on a core2 2.1Ghz take 6 seconds with trunk. .NET is just a bit faster.

    The F# bits are troublesome as mono’s taillcall elimination is not as powerful as required by F#.

    April 22nd, 2009

  4. Jim Bob Joe

    What about Ioke on Parrot?

    April 27th, 2009

Reply to “Ioke for the CLR released”