What’s New in Graphic Counter Language
New in Version 3.0 (1999-06-22):
- Added signed and unsigned keywords
- Added the #? directive (include file)
- Added registers a-d
- Added the now function
- Added the random function
- Added the srandom function
- Added the increment keyword
- Added the fudge keyword
- Added the sigma keyword
- Added the #~ directive (space)
- Added the #; directive (dot)
- Added the box frame
- Added configurable group separators
- Extended the group keyword to accept group separator
- Added 16-integer stack
- Added push keyword
- Added pop keyword
- Added tos function
- Added conditionals (if, else)
- Added compound statements
- Added numeric expressions
- Added ternary statements
- Added array statements
- Added Unicode support
- Got rid of case sensitivity
- Added natural language processing
- Fixed an inhibitor bug that has been there since 1.00!
- Added relays
- Added the := (starts with) operator to inhibitors and relays
- Fixed a spurious string processing bug in lexical analyzer
- Added the Persian flaw, so read the docs!!!
New in Version 2.30 (1999-05-30):
- Added the nocompile directive
- Added the -g option switch
- Added the -p option switch
- Added the print keyword
- Added input from environment vars and external programs
New in Version 2.20 (1999-05-22):
- Changed name from gcl to gracula.
- The count is 64 bits wide, allowing the counter to go up to 18,446,744,073,709,551,615 (eighteen quintillion...).
- The new group keyword allows groupping numbers in lots other than 3. For example, group 4 count = 123456 produces 12,3456.
- The new reverse keyword provides support for counters created in alphabets written from right to left (e.g., Hebrew, Arabic). In case of vertical counters, it will draw digits from bottom to top.
- The lexical analyzer is faster than ever.
New in Version 2.10 (1999-03-22):
- Fixed compiling problems under Linux
- Compile your own defaults, including default graphics directly into the binary executable.
New in Version 2.00 (1999-02-22):
- Rather than list each graphic file separately, you can simply list the directory the files are in.
- You can place all graphics in just one file, the “array picture,” and tell GCL which part of the picture contains which image.
- You can combine the above two methods with the one used by version 1.00. So, you can place some images in an array picture, some in a specific directory, and list some explicitly.
- You can change the black pixels in the array picture to an arbitrary color.
- You can use inhibitors, i.e., conditions under which the counter will or will not increase. These conditions can be:
- User’s email address (if the browser reveals it).
- The value of an environmental variable (including CGI environmental variables).
- The value of an http cookie.
- You can redirect the user to a different URL, and count the number of times it happened.
- You can run the counter in the “silent” mode (i.e., with no output sent to the browser). This is typically used in combination with the redirection to a different URL.
- You can fork another process, and run any program or script in the background. You can pass the count to that program.
- You can have the counter reset daily, weekly, monthly, or annually.
- You can manually increase or decrease the count by an arbitrary amount. As always, you can do so even while the counter is active on the web.
- You can use GCL to create a timer, i.e., to display current date and time in any time zone.
- The counter or the timer may be shown as text rather than graphic (with SSI). For example:
“It is in Rhinelander, WI, or UTC. This page has been viewed times by people other than me.”