Nu-2.0.1

Friday September 2, 2011

This minor update contains better handling of classes whose init methods return something other than self, notably NSXMLDocument. It also changes loading of modules to use a single shared parser so that assignments made in a loaded file are available in the calling context (as they should have been).

See the downloads page.

This build was made from the "amalgamated" branch. Soon this branch will become "master". As with 2.0, this version of Nu is exclusively for systems running Mac OS 10.7 or iOS 4.3 and their successors.

Nu-2.0.0

Thursday August 25, 2011

Nu 2.0 is now available through a binary installer.

See the downloads page for this update to Nu.

Nu 2.0 is a simpler, smaller version that uses new features in iOS 4.3 and Mac OS 10.7 to eliminate external dependencies and a few internal components.

  • NSRegularExpression replaces PCRE.
  • imp_implementationWithBlock() is used to generate method implementations. Previously we used libFFI for this on MacOS and a precompiled pool of method handlers on iOS. Now this pool is no longer needed.
  • The NuSymbolTable is now just an NSMutableDictionary.

To make it easier to add Nu as a drop-in component of iOS and Mac apps, the source code has been combined into two files, Nu.h and Nu.m. These are currently available in the "amalgamated" branch in the git repository, and will likely be the primary source for Nu going forward.

Nu 2.0 is intended for systems running Mac OS 10.7 or iOS 4.3 and their successors. For conciseness and simplicity, support for all other platforms is dropped.

What’s Nu?

Nu is an interpreted object-oriented language. Its syntax comes from Lisp, but Nu is semantically closer to Ruby than Lisp. Nu is implemented in Objective-C and is designed to take full advantange of the Objective-C runtime and the many mature class libraries written in Objective-C. Nu code can fully interoperate with code written in Objective-C; messages can be sent to and from objects with no concern for whether those messages are implemented in Objective-C or Nu.

Nu currently requires Mac OS X version 10.5 or greater and runs on PowerPC and Intel systems. Ports to Linux and the Apple iPhone are also available; contact me directly or visit my blog for more details.

NuKit

Monday November 8, 2010

One of my favorite uses of Nu is for building web apps and APIs for mobile apps. To support that, I've evolved a collection of frameworks that support serving and making HTTP requests, generating markup, serializing data, and accessing databases. To keep things flexible, each framework can be built separately and is in a separate git repository. But to make them simple to use, I've created a binary installer that installs my favorite components from a single package.

To get it, visit the NuKit page.

Nu Seems Stable (by Jason Grossman)

Wednesday December 9, 2009

I've been nagging Tim to say something about the stability of recent releases of Nu, so he asked me to write this.

Nu is a new language (no pun intended — see below for the etymology of the name Nu). It hasn't yet formed the basis of an impressive suite of stable software, and you'd think hard before using it to write anything mission-critical.

Despite that, it is actually rather stable. Let me say more about why.

More...

vi tips for Nu

Sunday November 22, 2009

I'm collecting some tips for using the vim code editor with Nu.

More...

Nu-0.4.0

Tuesday November 17, 2009

See the downloads page for this long-overdue update to Nu.

The most visible change in this release is that the macro operator has been switched to refer to macro-1 instead of macro-0 (the original Nu macro facility). That is deprecated but kept for compatibility.

Support for garbage collection is now compiled in by default (Mac OS only).

We've also been making good progress running Nu on Linux-based systems. Currently a few small sites (including Tim's blog) are running with Nu on Rackspace Cloud Servers. See notes/DEBIANINSTALL in the Nu source distribution for details about building for Debian.

Macros

Friday January 2, 2009

Thanks to Jeff Buck and Issac Trotts, we have some nice changes coming to Nu macros.

The changes are modeled on the description of macros in Paul Graham's On Lisp, so our new macro facility should feel familiar to experienced Lisp programmers.

Currently the changes are in my (Tim's) git repository, and they'll be included in the next release of Nu (0.4.0).

For more detail, see Jeff's excellent tutorial.

Nu-0.3.3

Wednesday December 3, 2008

See the downloads page for this update to Nu.

This version mainly adds community-contributed updates:

  • math-related enhancements from Brian Chapados and Issac Trotts.
  • an OCaml-style pattern matching macro from Issac Trotts.
  • nuke improvements from Jason Sallis.
  • behind-the-scenes cleanup by Elizabeth Kellner to support Apple's Objective-C Garbage Collector. Garbage collection is not supported in the release build, but is available with a small change in the Nukefile in Nu builds from source.

Nu-0.3.2

Sunday June 8, 2008

Here's a quick update that makes it easier for newcomers to get the latest Nu. With this version, all of the examples in the Cocoa Programming with Nu repository should work, plus there are many other small enhancements detailed in the commit logs.

Available on the downloads page.

Cocoa Programming with Nu

Friday May 23, 2008

To mark the release of the third edition of Aaron Hillegass's Cocoa Programming For Mac OS X, there is a new git repository on github to contain translated examples. To get started, I've posted an example from one of my favorite chapters, Chapter 28 (Web Services), and will add more over time. If you'd like to help, please do! Just fork the github repository, add your conversions, and send me a pull request. Let's see how quickly we can get this covered!

Here's the repository: Cocoa Programming With Nu.

Nu-0.3.1

Monday March 24, 2008

Announcing Nu: The Video

Friday March 21, 2008

Nu on github

Tuesday March 18, 2008

Linux and the iPhone

Friday March 14, 2008

Apache License, v. 2.0

Wednesday March 12, 2008

Nu-0.3.0

Wednesday February 13, 2008

NuPagePacker

Wednesday December 12, 2007

Nu-0.2.4

Wednesday December 12, 2007

Nu-0.2.3

Friday December 7, 2007

Nu-0.2.2

Monday November 26, 2007

A Delicious Nu Screencast

Sunday November 25, 2007

Nu-0.2.1

Monday November 12, 2007

New Literal Forms in Nu

Wednesday October 17, 2007

Escape Sequences in Nu Strings

Wednesday October 17, 2007

Closures in Nu

Wednesday October 17, 2007

Nu-0.2.0

Wednesday October 17, 2007

Screen Savers and Plugins

Thursday October 11, 2007

Markdown in Nu

Wednesday October 10, 2007

Functional Aspects of Nu

Friday October 5, 2007

New Example: Nib Files

Thursday October 4, 2007

Welcome

Monday October 1, 2007