Fun_People Archive
4 Oct

Date: Tue,  4 Oct 94 13:42:45 PDT
To: Fun_People
Subject: GNU-Script

Forwarded-by: bostic@CS.Berkeley.EDU (Keith Bostic)
Forwarded-by: Herb Peyerl <>
Forwarded-by: Tom Malaher <>
From: (Tom Poindexter)

ANNOUNCING:  GNU-Script language specification

o Highlights of GNU-Script

	GNU-Script (currently not released) stands for "Gee In
You-Script's not GNU-Script" and is pronounced ``onetruelanguage.''

GNU-Script solves every known computational problem every conceived.
GNU-Script derives it's power from an elegant language design and
kick-butt performance.  GNU-Script is portable, due to the fact that the
reference implementation is written entirely in GNU-Script.  GNU-Script
is so pure, we never had to bootstrap it in another language.

	GNU-Script is extensible, embeddable, and nearly edible.  If fact,
GNU-Script has 30% less fat than Perl, 40% more fiber than Lisp, and won't
constrict you like Python.  GNU-Script is a serious language, so you won't
get a Tcl out of it.

o GNU-Script License and Copyright Terms

GNU-Script is published under the TGPLV (Totalitarian GeeInYou-Script
Pubic [sic] License Virus).  Basically, the terms of this license causes
every piece of software you have ever written or will ever write, to be
placed under the TGPLV.  In addition, the license is binding for three
generations, so that software written by your great-grandchildern is also
covered by the TGPLV.

The mere fact that you are reading this GNU-Script language specification
means you have agreed to the terms of the TGPLV.  Trust us and fork over
your code.  Resistance is futile.  You will be assimilated.

o GNU-Script Language Features:

- User defined algol-like or lisp-like syntax
- Single data type: string 
- Simple syntax:  command <arg> <arg> ...
- ARRAYS (Hooray!!):  set array(index) somevalue
- Variable substitution: $var causes expansion of var
- Nested execution: set var [command arg arg]
- List manipulations: lindex, lrange, lreplace, lifiknow, etc.

In addition, GNU-Script contains several handy high-level functions not
found in other scripting languages.  You'll probably use these at least
once per day:

language_jihad  -good language  -bad language-list   newsgroup-list

The "language_jihad" causes a posting the the named newsroups which extols
the virtues of the language specified in the "-good" option, while flaming
those languages that appear in the "-bad" option list.  Defaults are:
"-good GNU-Script" "-bad {list of all known languages}"  To ensure maximum
coverage, newsgroup list should be:

{comp.* rec.* talk.* gnu.* alt.* sci.* news.* info.*}, which is the default.

lisp_mode on | off

lisp_mode allows the(use(of)parentheses(to(appear))()(anywhere)())))(in the)
source)()code(.)(((((Note that(parentheses))do)not(have to)be balanced,(
because (lisp_mode)implies((( A )(( I),((()() so ()( the )
)langauge processor ))will know) the( (right(thing) )(to
))  ((((((((((do))))))).))))))))))

flame_bait -subject "subjectline"   posting

flame_bait sends a posting to inews and immediately trashes incoming mail
that contains a follow-up (Subject: Re: xxxx). flame_bait also
unsubscribes that newsgroup from your .newsrc file for a period of two
weeks.  Note that flame_bait is often used in conjunction with

  flame_bait -subject "Why you should use GNU-Script" \
				      [language_jihad -good GNU-Script]


Unlike debug implementations in other languages, "debug" does not merely
display diagnostic information, it actually debugs your program.

do_it {now | whenever-you-feel-like-it | until-done | forever}

do_it is a general purpose command.  In fact, it is so generalized, most
GNU-Script programs can just be written as:


do_it takes one argument.  The default is "now".

o Why you should use GNU-Script

Well, because I said so!  Every other langauge is an ugly hack.  Besides,
you are now bound by the TGPLV, so who cares.

GNU-Script will be the basis for all other software in the Gee In You
software family.  If you want us to distribute your software, it's gotta
be written in GNU-Script.

Posted using GNU-Script's "flame_bait" command.  Don't bother replying.

[=] © 1994 Peter Langston []