var'aq Release Notes
maintained by Brian Connors
revised 5 September 2001
This is the status of the var'aq project as of 12 August 2001.
This is the pre-martoq 0.5 release, after the Klingon general who
became chancellor after tbe death of Gowron. It is still a work in progress,
and the final martoq release package will be available some time in
late August or early September.
Lists currently exist, though the file support remains undefined.
Thanks to Jeff Evarts (bug fixes, list support) and Merrick J. Stemens (spec
suggestions and an upcoming VB version).
The Klingon and English interpreters in the process of being unified; there
should be no problems running either type of var'aq program through the
interpreter, and since I was a bit lazy about it you can mix and match
languages as you choose.
Jeff Evarts has added the basics of list support; big thanks go to him for
The following keywords are currently supported:
- Control Structures
- ~ (quote/lI'moH)
- Stack Operations
- Arithmetic Operators
- Trig/Log operators
- Relational Operators
All relational operators have been implemented. Thanks to j proctor for null?/pagh'a', negative?/taH'a', int?/HabmI''a', and number/mI''a'.
- I/O Operators
The var'aq I/O model remains to be defined, but the basic console I/O functions are now present.
- List Operators
All list operators are now available, though I still need a Klingon word for
- String Operators
The current set of operators is sufficient to implement the others in the spec, but they are a lower priority.
Implementation Issues and/or Bug Fixes
- The interpreter now knows to ignore hashbang (i.e. #!/usr/bin/varaq-whatever) lines. They can double as end-of-line comments if you like, but you really shouldn't; these are here primarily to allow the forthcoming vqmake program to spit out program files that a Unix shell can execute directly (which would be .vqx files on any other platform).
- Took the "\t" out of disp/cha' to facilitate a possible CGI conversion. Better formatted output will be a priority very shortly.
- The interpreter also doesn't see lines beginning with //. This is to allow for static linking of .vql files (though if someone wants to implement var'aq "shared libraries" I'll be glad to add the revs to the interpreter).
- Cleaned up the execution logic a bit -- the code to execute a proc object was already in there about four times and was about to go in again for compose/naqmoH, so I abstracted it into a routine called execblock() per Chris' advice (RTFC).
- Merged in j proctor's additions.
A few changes:
- A number of operators have been added:
- //name -- equivalent to C
- Numerous "constants" (actually more like environment variables).
- Several operators have been renamed:
- strcat is now strtie to bring it in line with the Klingon tlheghrar.
- The basic arithmetic operators have been given new
Klingon names to coincide with recent additions to the Klingon linguistic
- More coinages in the section headings.
The varaq-dev mailing
list, especially j proctor for
his code contributions and Alan Anderson for providing the canonical
Klingon math operators, and to Glenn Gaslin for the impetus to finally
get this thing out the freakin' door.
Click here to go to the var'aq home page.