Release Party!

The Junicon Release Party will develop runtime system functions and other bugfixes and enhancements for Junicon, UI's Java reimplementation of the Unicon programming language (see junicon.sourceforge.net and http://unicon.org). The goals of this project include one or more of:

The intended end result of this project will be open source code that becomes part of Junicon's public distribution. Team members will gain open-source development experience for their resume, and a certain measure of internet immortality. Java, Git, and related tools will be used.

Level 0: Where the Project is At Now

Level 1: Change the Reds to Greens

Add/fix core Icon language features for release party 1; one can advertise this on the Icon mailing list. A previous UI undergraduate research assistant did some of this work and produced the following spreadsheet:

It is an interesting question whether every test must pass in order to call this project a success. Some things, like calling C functions from Unicon, seem kind of subsumed by being able to trivially call Java from Junicon. Then again, Java has an interface for calling C functions, so why not?

Depending on staffing level and interest, one might stop here or consider additional level(s):

Level 2: Support Posix Facilities

Add built-in functions that Unicon adds to Icon, e.g. for directory access and permissions, TCP and UDP networking.

Level 3: Support Database Facilities

Add built-in functions that Unicon adds to Icon for SQL/ODBC and GDBM database access.

Level 4: Support Unicon Graphics Facilities

Add built-in functions that Unicon adds to Icon, e.g. for 2D and/or 3D graphics, each of which is worth a release party.

Level 5: Port to Android, iOS etc.

This is probably beyond the scope of 480/481. But the Unicon Master Plan calls for it to run everywhere. And a previous undergraduate research assistant has done some preparatory work for a libGDX port that would hit these targets.