Monday November 12, 2007

Today I posted links for Nu-0.2.1. This release contains an assortment of changes and fixes for issues found in the last few weeks of Nu usage. Here's a summary of the changes.


  • Syntax highlighting in the TextMate bundle is much improved.

  • Grayson's Hansard's NuMarkdown processor now correctly passes all of the tests in John Gruber's Markdown test suite. This is an exact character-for-character match. To help with this, I added a new method to NSArray, eachInReverse:, which iterates over the array elements from the last to the first.

  • Brian Chapados' sortedArrayUsingBlock: method has been added to NSArray.

  • Blocks and functions can now be defined to accept variable numbers of arguments. To do this, the last parameter in the parameter list should begin with an asterisk; this name (including the asterisk) will be bound to a list of remaining arguments when the block is evaluated. That list can be nil if no additional arguments are specified. For example, the following function returns a list constructed from its variably numbered arguments:

(function my-list (*args)
  • Changes to support MacPorts builds have been merged.

  • As requested, nuke now terminates on build errors.

  • There's a new example program (MailDemo) that shows how you can use Nu to create Cocoa bindings.

  • There's a new '%' operator for the integer mod function.

Remaining problems

  • The NuAnywhere program is broken on Leopard.

  • Builds on Leopard generate a number of deprecation warnings. Patrick Thomson has been working on fixes for them which will be merged into an upcoming release.

  • The arithmetic operators are underpowered. Currently they coerce their operands to doubles and don't do anything reasonable for strings. An improvement is in the works.

For even more detail, see the git logs at

OS 10.4 support

This release was built on Mac OS 10.4 and was tested on both Mac OS X Tiger (10.4) and Leopard (10.5). While future versions may still be buildable on Tiger, this is likely to be the last binary release that supports Tiger.

If you have a Nu application that requires Tiger support, contact me via email and we can arrange something. Otherwise, the next release of Nu (0.3.0) will be Leopard-only.