Ioke 0 released


I am very happy to announce the first release of Ioke!

Ioke is a dynamic language targeted at the Java Virtual Machine. 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/guide.html

Ioke 0 is the first release of Ioke, and as such is not production ready. I would appreciate if people tried it out and reported bugs, thoughts and ideas.

Features:
– Strong, dynamic typing
– Prototype based object orientation
– Homoiconic language
– Simple syntax
– Powerful macro facilities
– Condition system
– Developed using TDD
– Documentation system that combines documentation with specs
– Wedded to the JVM

Go ahead! Try it out!


18 Comments, Comment or Ping

  1. Aaron Blohowiak

    Very sweet. I have been following your blog for a while now, and am very excited to see what you’ve created.

    No sample code on this page nor the home page of Ioke ? That strikes me as odd.

    December 24th, 2008

  2. Aaron:

    You are very right. I probably should have put some code samples here. But on the other hand, the guide contains loads of them: http://ioke.org/guide.html

    December 24th, 2008

  3. Guoliang

    Very impressive! I checked your git repository several times and every time I look, you checked in something one or two hours ago. And in just a couple months, you got a release with decent feature set and a comprehensive website. You deserve a relaxed Christmas break!

    I’ve looked at some ik source files. Syntax looks clean to me. I’ll play with it when I get a chance.

    December 24th, 2008

  4. shin guey

    Great. I had been looking into Io for sometime but haven’t try on it. But I will try on Ioke first because it is running on JVM, and a lot library already available on JVM, still not sure how Ioke interop with JVM library, need to read the guide first. From the your blog, I already know some Ioke syntax. I still not really used to ‘space’ for method passing on the object because most of the language is using ‘dot’ now. But I think this is not a big deal.

    December 25th, 2008

  5. Some complete programs [scripts] doing a few things would be great as sample code. Unfortunately I find the guide hard to read as a “getting started tutorial” :)
    maybe should link from the loke page back to your previous post on it?
    -=r

    December 25th, 2008

  6. I’m having fun playing with Ioke. Thank you!

    Would you consider reversing the ordering of the array that holds the restarts? That way, when we drop into the debugger, 0 would always be quit and 1 would always be abort.

    December 26th, 2008

  7. Here’s a typo in the (excellent) guide, I believe. In the code snippet:

    x = 42
    fn(x = 43. y = 42) call
    x ;; => 42
    y ;; => Condition Error NoSuchCell

    x ends up as 43, not 42. The text surrounding the code snippet gets this right.

    December 26th, 2008

  8. Will Chappell

    I checked out the git repository and hit the same problem I’ve been hitting every time I attempt to build Ioke.

    These two statements – from /ioke/src/main/ioke/lang/Message.java –
    import ioke.lang.parser.iokeLexer;
    import ioke.lang.parser.iokeParser;

    Raise red flags, with Ant complaining that it can’t find either.

    Obviously, I am doing something wrong, as you seem to have built it just fine. Any suggestions? More information?

    December 27th, 2008

  9. Will: Complaining in what way? Do you have a different version of Antlr on your classpath? Those two classes should be generated and compiled together with the other files. The antlr generation step happens before that. Is there any other ouput?

    December 27th, 2008

  10. Carl Byström

    Congrats on the first release! JVM FTW.

    December 27th, 2008

  11. http://ioke.org/download.html
    The link for the Binary jar points to the .zip file.

    The jar file exists, it is the extension in the href that is wrong.

    December 27th, 2008

  12. Peter:

    Thanks, that’s been fixed.

    December 27th, 2008

  13. Will Chappell

    Alrighty, please ignore my last post – I fear I was doing it incorrectly, in multiple ways.
    Unfortunately I am still getting an error during the Ant build.
    ‘FileSystem [] should glob correctly’ FAILED
    [java] expected [“test/_test/_file2”, “test/_test/_file1”] to == [“test/_test/_file1”, “test/_test/_file2”] (ISpec ExpectationNotMet)

    I’m using antlr 3.1.1 and ant 1.7.0.

    Thank you for being so quick to reply!

    December 28th, 2008

  14. Will:

    That expectation failure is a bit more interesting and at the moment I’m at a loss at why that would happen. Which OS are you on? Which Java version?

    December 28th, 2008

  15. Will Chappell

    I’m using Sun Java 6u11, on Arch Linux.
    Note that I have successfully installed the binary version (and packaged it for Arch as well!) Anyway, I decided to run the test (which I assumed was called file_system_spec.ik) using the binary version to see if I had a problem with just the build or a problem with Ioke and it gave me the following error. http://pastebin.com/m6c7cee6c

    December 28th, 2008

  16. cowardlydragon

    Can someone tell me how this language differs from Javascript/Ecmascript?

    December 29th, 2008

  17. Patrick

    @cowardlydragon – if only there were some kind of documentation you could read…

    December 30th, 2008

  18. Will Chappell

    All of the other errors in file_system_spec.ik seem to have disspated with some of the edits you’ve made, except for a problem with ‘should glob directly.’

    It would seem that Dir.push_glob is returning a list in the reverse order that your assertions in test/file_system_spec.ik expect. If I reverse the order of the first list, or get Ioke to sort the glob return everything builds perfectly. It makes sense why the tests would fail if the glob return is in the wrong order, but why it’s in the wrong order seems to be a Java issue and not a Ioke issue. I’m curious as to why I’m running into this problem when it seems no one else…

    December 31st, 2008

Reply to “Ioke 0 released”