Version 3 Alpha

First Things First
Context Free is free and made available under the Gnu Public License.

This is an alpha release of Context Free version 3, it is not feature complete and there are bugs. Features discussion is happening on the Version 3 Ideas page.

If you really like it, we'd like you to donate US$20 to the Electronic Frontier Foundation.

Windows
Context Free 3.0alpha (v23) (9.9M) for Windows XP and later. The download file is an executable installer, just run it. This installer will try to install the Visual Studio 2010 (SP1) runtime libraries in your system directory.

Macintosh OS X
Context Free 3.0alpha (v28) (0.9M) for Mac OS X 10.3.9 and later. Just copy the application from the disk image to your Applications folder.

Posix / Unix / BSD / Linux
Download the source code and build using make. You'll need a C++ compiler, flex (not lex), bison, and the libpng graphics library (not just runtime support, the whole developer package). Most of this should be installed or easily available on any modern operating system distribution. See the README.txt file in the source for build and run instructions: ContextFree 3.0alpha compressed tarball (v12) (1.8M)

The lastest developer release can be obtained from the Mercurial repository at Google Code: hg clone https://code.google.com/p/context-free/ CF3

New Features
Go to the Version 3 External Reference Spec page for a detailed descriptions of the new features. Here is a summary:
 * Parameters for rules and paths (which can be numbers, shape adjustments, or shapes)
 * Random number function that has a different value each time a rule is executed.
 * Local and global variables
 * Loop variables
 * Loop finally blocks, executing code at the tail end of a loop
 * Conditional expressions: the select function. It works like the C ?: operator, but over multiple values
 * Conditional code: switch statements and if statements
 * Included files can be placed in their own namespace to prevent name collisions
 * Numeric parameters are restricted to prevent creation of context-sensitive grammars
 * The color target feature has been replaced with something that provides the same benefit but is less confusing.
 * Shape time, allows you to specify which frames a shape is visible in during movie generation
 * New FILL primitive shapes, fills the canvas with the specified color at the specified Z. Similar to the background, but you can interleaves shapes and FILLs in Z.
 * 16-bit colors
 * Compiler and run-time messages now have a window instead of flying by on the status bar
 * Windows remember how large they are (Windows and Mac)

Features Not Implemented Yet

 * time function, allows shapes to change from frame to frame in a movie
 * 64-bit: Mac version has a 64-bit binary, but movie generation only works in 32-bit mode. Windows version is 32-bit only.
 * User-defined functions maybe?
 * More symmetry options: 1-dimensional tiling and frieze groups, rotational and dihedral symmetry
 * Remove requirement to declare shape parameters before using them