GNU-Script Language Specification
- 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.
- 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.
- 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 "language_jihad":
- flame_bait -subject "Why you should use GNU-Script"
\ [language_jihad -good GNU-Script]
- debug
- 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:
#!/usr/local/bin/gnuscript do_it exit
- do_it takes one argument. The default is "now".
- 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.