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.
Homepage: http://ioke.org
Download: http://ioke.org/download.html
Programming guide: http://ioke.org/wiki/index.php/Guide
Wiki: http://ioke.org/wiki
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.
Features:
- 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
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
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
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
What about Ioke on Parrot?
April 27th, 2009
Reply to “Ioke for the CLR released”