Wish List

There's lots of work still to be done on Nu.

Here are a few things that I would specifically like to have, organized by category and roughly sorted with highest priority items first.

The Nu core

  • A way to call Objective-C methods that have non-object pointer arguments. (done, see the NuPointer class)

  • A way to call Objective-C methods and C functions with variadic arguments. But I must say that I dislike them, because one of the fastest ways to crash a C program is to pass the wrong number of arguments to a variadic function, and sometimes the only way to compute the correct number of arguments is to reimplement the function itself. NSLog, for example, is a very dangerous function to call from Nu. If you use it to print arbitrary strings, your program will crash when your strings include format specifiers.

  • DTrace hooks for deeper introspection of Nu programs.

  • A profiler for Nu.

  • better Distributed Objects support: the ability to include oneway, in, out, inout, and bycopy type modifiers in method declarations and to create protocols at runtime. (done)

  • Class variables (using the "@@" sigil).

  • Support for automatically generating type signatures for NuBridgedFunctions from a given C method signature.

  • More error checking, especially in individual operators. Currently Nu operators do no validation of their arguments. (Be careful!)

Components

  • CoreData convenience methods and migration scripts written in Nu. (done, now let's move on to an open-source database. PostgreSQL?)

  • HTTP and XMPP client and server components. (Nunja is a cross-platform HTTP server)

  • Wrappers for various web APIs.

  • Graphics and data visualization libraries.

  • Layout managers for nibless interface building.

  • Benchmarking libraries.

  • A JSON importer and exporter. (Jonathan Wight's TouchJSON looks pretty good to me).

  • A Textile processor. (But honestly, now that Grayson Hansard has ported Markdown to Nu, that's good enough for me.)

  • Class browsers.

  • A Nu wrapper around the Cocoa and Carbon security libraries.

  • A parser for command-line input.

Examples

  • Ports of Apple and other Objective-C sample code to Nu.

  • More examples utilizing the Markdown and YAML frameworks; YAML exporters and importers for Address Book and iCal entries would be useful for bridging to other applications.