Ioke P released


I am very happy to announce that Ioke P has finally been released!

Ioke is a language that is designed to be as expressive as possible. It is a dynamic language targeted at the Java Virtual Machine. There also exists a version for the CLR. 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

The two specific releases that encompass Ioke P are ikj 0.4.0 and ikc 0.4.0.

Ioke P is the fourth release of Ioke. It includes many new features compared to Ioke E:

  • Number Infinity
  • eval
  • Reflector
  • Hooks
  • First class Runtime
  • New parser
  • Tuples
  • Structs
  • Destructuring assignment
  • Message rewriting
  • Functional composition
  • Sequences
  • Dictionary and Set versions of Enumerable methods
  • Enumerable group, Enumerable groupBy
  • Set operations for union, intersection, membership, subset and superset testing
  • ISpec stubbing and mocking
  • IIk history
  • DokGen on separate projects

Ioke P also includes a large amount of bug fixes.

Features:

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

The many things added in Ioke P could not have been done without the support of all the Ioke contributors. Thank you!

Regards
Ola Bini    – ola.bini@gmail.com



JtestR 0.4 Released


I have just released version 0.4 of JtestR. This version doesn’t really provide any new features – instead it contains updates to all included libraries, upgrading JRuby to 1.2 being the most important one.

More information here: http://jtestr.codehaus.org.



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.

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#.



Ioke E released


After a slightly longer development cycle then the last time, I am finally happy to announce that Ioke E has been released.

Ioke is a language that is designed to be as expressive as possible. It 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/wiki/index.php/Guide
Wiki: http://ioke.org/wiki

Ioke E is the third release of Ioke. It includes many new features from Ioke S, among them full support for Java integration (including implementing interfaces and extending classes), many new methods in the core libraries, IOpt, TextScanner, BlankSlate, better support for regexp interpolation and escapes in regexps, support for Unicode analysis and much more.

Ioke E also includes a large amount of bug fixes.

Features:

  • Expressiveness first
  • Strong, dynamic typing
  • Prototype based object orientation
  • Homoiconic language
  • Simple syntax
  • Powerful macro facilities
  • Condition system
  • Aspects
  • Java integration
  • Developed using TDD
  • Documentation system that combines documentation with specs
  • Wedded to the JVM

The many things added in Ioke E could not have been done without the support of several contributors. I would like to call out and thank:
T W <twellman@gmail.com>
Sam Aaron <samaaron@gmail.com>
Carlos Villela <cv@lixo.org>
Brian Guthrie <btguthrie@gmail.com>
Martin Elwin <elvvin@gmail.com>
Felipe Rodrigues de Almeida <felipero@gmail.com>
Wes Oldenbeuving <narnach@gmail.com>
Martin Dobmeier <martin.dobmeier@googlemail.com>
Victor Hugo Borja <vic.borja@gmail.com>
Bragi Ragnarson <bragi@ragnarson.com>
Petrik de Heus



Ioke S released


Exactly one month after the first release of Ioke, I am very happy to announce that Ioke S has been released. It has been a team effort and I am immensely pleased with the result of it.

Ioke is a language that is designed to be as expressive as possible. It 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 S is the second release of Ioke. It includes a large amount of new features compared to Ioke 0. Among the most important are syntactic macros, full regular expression support, for comprehensions, aspects, cond and case, destructuring macros, and many more things.

Ioke S also includes a large amount of bug fixes, and several example programs.

Features:

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

The many things added in Ioke S could not have been done without the support of several new contributors. I would like to call out and thank:
T W <twellman@gmail.com>
Sam Aaron <samaaron@gmail.com>
Carlos Villela <cv@lixo.org>
Brian Guthrie <btguthrie@gmail.com>
Martin Elwin <elvvin@gmail.com>
Felipe Rodrigues de Almeida <felipero@gmail.com>



JRuby 1.1.4 Released


It’s late and I don’t have time to write something witty about this. This is the release announcement:

JRuby 1.1.4 is the fourth point release of JRuby 1.1.  The fixes in this
release are primarily obvious compatibility problems and performance
enhancements.  Our goal is to put out point releases more frequently for
the next several months (about 3-4 weeks a release).  We want a more
rapid release cycle to better address issues brought up by users of JRuby.

Highlights:

- Massive refactoring of Java integration layer
- 2-20x speed up of most features (calls, construction, arrays)
- Many long-standing Ruby/Java interaction bugs fixed
- Existing features made more consistent, reliable
- Closures can be passed as interface to static methods, constructors
- Java exceptions can be raised/rescued directly from Ruby
- Massive memory efficiency improvements (a lot less GC)
- Beginning of Ruby 1.9 support (enabled with –1.9 flag)
- Native complex/rational
- Additional efficiency, performance work in the interpreter
- Memory leak under –manage repaired
- FFI subsystem for calling C libraries
- syslog module from Rubinius is working and included
- win32 API support started
- Thread pooling improved (at least one production user now)
- Array concurrent-access improvements
- 72 issues resolved since JRuby 1.1.3

Issues fixed:
JRUBY-231        Provide attr_reader, attr_writer, and attr_accessor for JavaBean style getters & setters
JRUBY-1183     New closure conversion should prefer methods with convertable args over those without
JRUBY-1300     Masquerading of native Java exceptions
JRUBY-1326     Error invoking overloaded Java constructor
JRUBY-1562     Declaration of certain method name (setJavaObject(Xxx x)) will throw an exception using BSF
JRUBY-1615     Raising java exceptions from ruby causes TypeError
JRUBY-1707     Unable to raise Java exceptions of derived types
JRUBY-1735     Java Integration wraps to much
JRUBY-1839     closure conversion fails for blocks
JRUBY-1964     Determine what test/specs are needed to be written in order to refactor java integration post 1.1
JRUBY-1976     Working with JavaMethods doesn’t work.
JRUBY-2136     $VERBOSE = true; require ‘tmpdir’ gives non-fatal Java exception
JRUBY-2192     YAML parser does not appear to deserialize object types.
JRUBY-2204     Syslog module is not available for JRuby
JRUBY-2236     NPE in isDuckTypeConvertible
JRUBY-2287     Storing ruby objects in java classes instances
JRUBY-2377     Wrong line numbers for ArgumentError for Java calls
JRUBY-2429     Cannot Catch Core Java Exceptions From JRuby Internals in Ruby Code
JRUBY-2439     Trying to subclass a Java class from a signed .jar will crash on you.
JRUBY-2449     Implement closure convention for static java methods
JRUBY-2561     JavaField.set_value(foo, nil) breaks
JRUBY-2673     Java exceptions do not return the wrapped exception when getStackTrace is called
JRUBY-2680     When JIT Compiler compiles the append_features in the ruby\site_ruby\1.8\builtin\javasupport\proxy\interface.rb the compiled code slows down by a factor of 10
JRUBY-2741     OSGify jruby.jar in the release jruby distribution
JRUBY-2749     Make RaiseException show the exception message and the Ruby stack trace
JRUBY-2803     Bad performance calling Java classes
JRUBY-2823     Can’t reference Java’s constants that start with a lower case character
JRUBY-2828     Rational#% differs from MRI when argument is negative
JRUBY-2843     Issues with BasicSocket#close_read
JRUBY-2847     A non-existant jar + dir on the load path causes require to error
JRUBY-2850     In some cases, reopened Java objects cannot find methods on Ruby objects subclassed from Java
JRUBY-2854     AST offset error for StrNode and DStrNode
JRUBY-2857     Coercion error with public member variables
JRUBY-2863     Nested Interfaces can’t find the correct method when Java calls Ruby
JRUBY-2865     Can’t extend a class in default package
JRUBY-2867     Wrong overloaded Java method called when both int and float signatures exist
JRUBY-2869     IO.select fails to block with nil timeout
JRUBY-2870     [REGRESSION] Converting a Ruby array to a Java array (of Object references) broken
JRUBY-2872     JSpinner cannot accept Fixnum for it’s value
JRUBY-2873     FFI needs a way to specify call convention
JRUBY-2874     TCPSocket#new and TCPServer#new crash JRuby when the specified port is out of range (negative or bigger than 65k)
JRUBY-2879     net/ftp library is broken if mathn is also loaded
JRUBY-2880     Regression: 17 new RubySpec failures and 3 unit tests falirues caused by r7327 (Array changes)
JRUBY-2881     JAVA_HOME with () breaks JRuby on windows
JRUBY-2882     Incorrect subclass for constructor arg throws internal JRuby error
JRUBY-2886     Extending a final Java class should be rescuable as a normal Ruby exception type
JRUBY-2890     UDPSocket.recvfrom should block until something is available
JRUBY-2891     UDPSocket.bind throws a Java Error when already bound on Java 5
JRUBY-2892     JRuby releases use random copies of joni svn HEAD
JRUBY-2893     mspec runs need to pass properties through -T argument for compilation, etc
JRUBY-2894        When spec runs fail, Ant is not terminating with a failure message
JRUBY-2899     Using JavaEmbedUtils.rubyToJava causes problems when passing RubyObject-derived parameters back in to Ruby code
JRUBY-2903     Allow implementing Java interfaces with underscored method names
JRUBY-2905     NoMethodError does not give a useful message when thrown in BSF
JRUBY-2906     IOError message is garbled when java.io.IOException message is multi-byte character.
JRUBY-2907     method_missing invocation paths end up boxing arguments twice, among other inefficiencies
JRUBY-2910     Object#send is not specific-arity
JRUBY-2915     Exception construction performance is poor
JRUBY-2918     jruby 1.1.3 + activescaffold 1.1.1 generating RJS error
JRUBY-2919     Time.-(Time) does not include microseconds and is off by 10
JRUBY-2923     Eliminate (unknown) from trace elements
JRUBY-2924     JMX support added leaks memory like crazy
JRUBY-2927     Calling interface method on specific instance from Java doesn’t work.
JRUBY-2928     Same issue with hashCode and toString for Interfaces.
JRUBY-2929     Java Integration with regards to arrays of classes are broken
JRUBY-2931     Templater error causes merb-gen (0.9.4 and trunk) to fail on JRuby 1.1.3
JRUBY-2932     Move static soft reference timezone cache to be runtime-specific cache to remove complexity of dealing with soft references
JRUBY-2938     Calling JavaUtil.convertJavaToUsableRubyObject throws AssertionError
JRUBY-2943     Memory leak in closure coercion
JRUBY-2944     Java caller gets null when calling a method on a Ruby object implementing an interface method declared to return Object[], and the Ruby object returns an array of Ruby objects subclass of Hash converted with #to_java
JRUBY-2946     New invokers attempt to access argument list of non-overloaded methods with incorrect arity
JRUBY-2947     Multidimensional array conversion broke in recent Java integration refactoring

Not too bad, is it? Now go find out more at http://www.jruby.org, and download at http://dist.codehaus.org/jruby/



JtestR 0.3.1 Released


JtestR allows you to test your Java code with Ruby frameworks.

Homepage: http://jtestr.codehaus.org
Download: http://dist.codehaus.org/jtestr

JtestR 0.3.1 is the current release of the JtestR testing tool. JtestR integrates JRuby with several Ruby frameworks to allow painless testing of Java code, using RSpec, Test/Unit, Expectations, dust and Mocha.

Features:
- Integrates with Ant, Maven and JUnit
- Includes JRuby 1.1, Test/Unit, RSpec, Expectations, dust, Mocha and ActiveSupport
- Customizes Mocha so that mocking of any Java class is possible
- Background testing server for quick startup of tests
- Automatically runs your JUnit and TestNG codebase as part of the build

Getting started: http://jtestr.codehaus.org/Getting+Started

New in the 0.3.1 release is upgrade of JRuby to revision r7479 which includes several new Java Integration features, upgrading of ActiveSupport to 2.1.0, fixing a severe memory leak in the background server and some minor usability features.

New and fixed in this release:
JTESTR-50 Difference in functionality when stubbing a method on a Java class vs a Ruby class using mocha
JTESTR-51 Mocking of classes lacking default constructors results in a NameError
JTESTR-53 Push the JtestR JRuby builds to maven repos
JTESTR-56 Upgrade ActiveSupport
JTESTR-57 Make it possible to use local versions of libraries.
JTESTR-59 No output when no tests found.
JTESTR-60 OutOfMemoryError
JTESTR-61 Documentation improvments – ant test-server
JTESTR-62 Having the jtestr.jar in the base directory doesn’t work
JTESTR-63 Update JRuby version



JtestR 0.3 Released


JtestR allows you to test your Java code with Ruby frameworks.

Homepage: http://jtestr.codehaus.org
Download: http://dist.codehaus.org/jtestr

JtestR 0.3 is the current release of the JtestR testing tool. JtestR integrates JRuby with several Ruby frameworks to allow painless testing of Java code, using RSpec, Test/Unit, Expectations, dust and Mocha.

Features:
- Integrates with Ant, Maven and JUnit
- Includes JRuby 1.1, Test/Unit, RSpec, Expectations, dust, Mocha and ActiveSupport
- Customizes Mocha so that mocking of any Java class is possible
- Background testing server for quick startup of tests
- Automatically runs your JUnit and TestNG codebase as part of the build

Getting started: http://jtestr.codehaus.org/Getting+Started

The 0.3 release has focused on stabilizing Maven support, and adding new capabilities for JUnit integration.

New and fixed in this release:
JTESTR-47 Maven with subprojects should work intuitively
JTESTR-42 Maven dependencies should be automatically picked up by the test run
JTESTR-41 Driver jtestr from junit
JTESTR-37 Can’t expect a specific Java exception correctly
JTESTR-36 IDE integration, possibility to run single tests
JTESTR-35 Support XML output of test reports

Team:
Ola Bini – ola.bini@gmail.com
Anda Abramovici – anda.abramovici@gmail.com



JRuby 1.0.2 released


The JRuby community is pleased to announce the release of JRuby 1.0.2.

Homepage: http://www.jruby.org/
Download: http://dist.codehaus.org/jruby/


JRuby 1.0.2 is a minor release of our stable 1.0 branch. The fixes in this
release include primarily obvious compatibility issues that we felt were
low risk. We periodically push out point releases to continue supporting
production users of JRuby 1.0.x.

Highlights:
- Fixed several nasty issues for users on Windows
- Fixed a number of network compatibility issues
- Includes support for Rails 1.2.5
- Reduced memory footprint
- Improved File IO performance
- trap() fix
- 99 total issues resolved since JRuby 1.0.1

Special thanks to the new JRuby contributors who rose to Charlie's challenge
to write patches for some outstanding bugs: Riley Lynch, Mathias Biilmann
Christensen, Peter Brant, and Niels Bech Nielsen. Welcome aboard...


JRuby 1.0


The JRuby community is pleased to announce the release of JRuby 1.0!

Homepage: http://www.jruby.org/
Download: http://dist.codehaus.org/jruby/

JRuby 1.0 is a major milestone for our project. Our main goal for 1.0 has been
Ruby compatibility. We feel this goal has been reached. When we see
companies like ThoughtWorks offering commercial support; we know this goal
has been reached. Please download JRuby and take it for a test drive. Try
running your Ruby and Ruby on Rails applications with it.

Give us feedback. Join our community. Help us continue to improve JRuby.

It is important to notice that JRuby 1.0 is not the end all of Ruby interpreters. It’s not perfect. This is just the beginning. We now have a very good base to work from. This is were the real work begins. Join us. It will be a fun ride, and JRuby will just get better!