The Shakespeare Programming Language
Erik Tjernlund writes: "Oh, where art thou my lovely new programming language? Stop fiddling around with those perl magnets and use a real poetic computer language: The Shakespeare Programming Language. Not a compiler, but it converts to C. Cool 100+ line Hello World example. Amazing what CompSci-students can create when they really should do real work."
combines the best features of BASIC, assembly language, and Hamlet.
Let me guess. It takes three long, boring hours to figure out (2b | !2b)?
--------
Bleah! Heh heh heh... BLEAH BLEAH!!! Ha ha ha ha...
I thought I went into Sciences to get AWAY from all this crap.
Site is dying fast - here's the only thing anyone cares about ...
The Infamous Hello World Program.
Romeo, a young man with a remarkable patience.
Juliet, a likewise young woman of remarkable grace.
Ophelia, a remarkable woman much in dispute with Hamlet.
Hamlet, the flatterer of Andersen Insulting A/S.
Act I: Hamlet's insults and flattery.
Scene I: The insulting of Romeo.
[Enter Hamlet and Romeo]
Hamlet:
You lying stupid fatherless big smelly half-witted coward!
You are as stupid as the difference between a handsome rich brave
hero and thyself! Speak your mind!
You are as brave as the sum of your fat little stuffed misused dusty
old rotten codpiece and a beautiful fair warm peaceful sunny summer's
day. You are as healthy as the difference between the sum of the
sweetest reddest rose and my father and yourself! Speak your mind!
You are as cowardly as the sum of yourself and the difference
between a big mighty proud kingdom and a horse. Speak your mind.
Speak your mind!
[Exit Romeo]
Scene II: The praising of Juliet.
[Enter Juliet]
Hamlet:
Thou art as sweet as the sum of the sum of Romeo and his horse and his
black cat! Speak thy mind!
[Exit Juliet]
Scene III: The praising of Ophelia.
[Enter Ophelia]
Hamlet:
Thou art as lovely as the product of a large rural town and my amazing
bottomless embroidered purse. Speak thy mind!
Thou art as loving as the product of the bluest clearest sweetest sky
and the sum of a squirrel and a white horse. Thou art as beautiful as
the difference between Juliet and thyself. Speak thy mind!
[Exeunt Ophelia and Hamlet]
Act II: Behind Hamlet's back.
Scene I: Romeo and Juliet's conversation.
[Enter Romeo and Juliet]
Romeo:
Speak your mind. You are as worried as the sum of yourself and the
difference between my small smooth hamster and my nose. Speak your
mind!
Juliet:
Speak YOUR mind! You are as bad as Hamlet! You are as small as the
difference between the square of the difference between my little pony
and your big hairy hound and the cube of your sorry little
codpiece. Speak your mind!
[Exit Romeo]
Scene II: Juliet and Ophelia's conversation.
[Enter Ophelia]
Juliet:
Thou art as good as the quotient between Romeo and the sum of a small
furry animal and a leech. Speak your mind!
Ophelia:
Thou art as disgusting as the quotient between Romeo and twice the
difference between a mistletoe and an oozing infected blister! Speak
your mind!
[Exeunt]
Server, server, whereforeart thou, server?
Deny thy slashdotting and accept mine HTTP connects!
5 comments and I can't seem to connect. mayhap I shall bite my thumb at RoadRunner?
ZOMG I WOULD LOVE TO KNOW ABOUT YOUR FEELINGS ON MACINTOSH VERSUS WINDOWS, VI VERSUS EMACS, AND HOW YOU'RE NOT A DORK
ah but a beowulf cluster of...
crap it just doesn't work
How bout...
7h0u r't 4 31337 H4x0r,
that is how LISP got created too.. :>
thou server needs to be tammed.
Thus it is revealed that "Much Ado About Nothing" is actually a polynomial time solver of the "Love Triangle" subclass of NP-complete problems.
You were eaten by a grue.
Shakespeare used the common language of his day. Like The Sopranos, Shakespeare's oevure is meant to be a big hit.
His writing is not a language or a diction or a dialect unto itself, but to combine the ways of speaking of the poor and rich playgoers of the Elizabethan time. It's the original accessible style, and that is why 15 year olds can understand, and dig, Romeo and Juliet today.
However, this "speak your mind" crap de-shakespearizes the writing anyway. The topics may be shakespearean, but the diction is a geek-ized bastardization of Elizabethan speech.
This era's English is as complex as our own. The best way to code in such a language understandably is to write simple prose.
For coding, you need a more modular language, something less complex. The semi-linguistic grunts and signs of a Neanderthal, or Koko the signing ape,may be more useful. You would get compilable code, due to a simpler logix, and the Neanderthal observer would still understand the meanings.
Goat sex free since 2001
On April 1, 2000, an RFC was released on IMPS, the Infinite Monkey Protocol Suite, which is a means of keeping track of an infinite number of monkeys on an infinite number of typewriters to see if they duplicate the works of Shakespear (or any other works for that matter). The RFC is located at http://www.ietf.org/rfc/rfc2795.txt.
RFC 2795 specified that the entity which stores the works of Shakespear (and everyone else) is the Big Annex of Reference Documents (BARD) and communicates with the ZOO (Zone Operation Organization) vie the InterAnnex Message Broadcasting Protocol for Evaluating Neo-classical Transcripts (IAMB-PENT).
Anyway, my point is that this new language is great because what other language would you want to write an implimentation of IAMB-PENT in than Shakespear? Soon we will have another Linux groups try to demonstrate this important protocol like they did with RFC 1149!
LedgerSMB: Open source Accounting/ERP
Assuming this isn't a complete joke...
David Touretzky would probably get a kick out of this language, since it could lead to a dramatic rendition of a CSS descrambler.
Natural-language programming has had its ups and downs over the year. Some will recall Hypertalk, for example, as the language the original Myst game was programmed in. Only some will recall, however, inasmuch as it never got terribly far off the ground. Other natural languages haven't faired much better.
My contention, however, is that these efforts have not failed because the idea of natural-language programming is somehow fundamentally flawed. Nay, the problem is that we're busy trying to implement the wrong language: English. English may be the language lots of us speak, but it's simultaneously too imprecise to permit of exacting programming and too verbose to allow structures to be implemented quickly and cleanly.
Tok Pisin would make a much better natural language to implement. It has several important advantages over English:
As yet, a language like Tok Pisin would encounter much opposition among programmers and speakers in the population at large unaccustomed to change, but it's a proposal deserving of serious examination.
Not a compiler, but it converts to C.
Well, technically, the tool that translates one language to another (be it to machine language, intermediate language, or just another sufficiently different high level language) is called compiler. Therefore, calling it non-compiler would be incorrect.
--
Error 500: Internal sig error
#include
==
Oh damned damned damned villian!
(from McBeth?)
"liberty and justice for all those who can afford it"
I guess slashdot needed to DoS more international links for operation theta ...
Why aren't you encrypting your e-mail?
"Amazing what CompSci-students can create when they really should do real work."
Like Linux?
Another natural language language is Chef. Programs are written like cooking recipies. The above link has examples of a Hello World and a Fibonacci sequence generator. I wouldn't want to eat either of them, though. The ingredients are the variable names, so some of the concoctions sound downright nasty. Although, the Fibonacci generator only requires 100g flour, 250 g butter, and one egg, and it's accompanying Caramel Sauce (the recursive function) requires a cup of white sigar, a cup of brown sugar, and a single vanilla bean.
This is not a Fugazi
i clicked on your sig and ended up on this on one link
8 47 7_sbUDMizJ
:)
http://www.adequacy.org/?op=view_poll;qid=99910
and suddenly realized perhaps how very small this little web forum we call slashdot really is
slashdot: where everyone yells sarcastic metaphors to themselves to understand the issue
Um, what's the point? Why would you bother to go from a language that nobody speaks to another (theoretically "natural") language that nobody speaks?
That's interesting. The win2k process list is faked, but it's interesting none the less.
:)
I wonder how soon until we see Code Scarlet IIS worms written in Shakespeare?
fuck that. ebonic would be a much better programming language.
int foo()
{
word up, biatch;
homey = sup();
}
As a result, the development of the user interface (the most important part of a system) of open source products - without a cent to spend on research - relies on ideas stolen directly from Windows.
That site won't load. The slashdot effect probably made it crash, or slow down enough to time out. Maybe you should test the links before you post them.
Repeal the DMCA!
It doesn't matter if toB is true or false, the expression is true anyway, but it takes 3 long boring hours to figure it out (rather like Visual Basic).
Repeal the DMCA!
that is the question
Yeah, that does rhyme in the original Klingon.
#include <romeo.h>
#include <juliet.h>
#include <performance.h>
int main(void *scene) {
enter(_romeo + _juliet);
printf("Behold, thou seest the world");
exeunt(romeo);
exeunt(juliet);
render(theatre);
}
Am I a hipster-doofus?
Never fear, slashdotties. I am, as always, compelled to explain the joke for those lacking your encyclopedic knowledge of computer science.
GLAGOL 61 was the forerunner of several undeservedly obscure computer languages, such as Barfy, SNET, and %++. Inspired by an incident (recorded in a humorous note in the Journal of the ACM by Dr. Harry Buttle) in which a moth was squashed by the print head of a primitive Sperry "wrecking-ball" teletype, Buttle invented the insect-oriented programming paradigm and created a language for the representation of algebraic and algorithmic formulae whose symbols consisted exclusively of
vowels, used as reserved key-letters, and
bugs squashed on the page.
GLAGOL (short for GeneraL AlGOrithmic Language) used a specially designed terminal whose printing element was a modified flyswatter. Used in a bug-filled room (the prototype was set up in a dormitory shower room at William and Mary that had a broken window), it required the use of rubber type to set vowels. Later, the rubber-type mechanism was abandoned in favor of a carriage-mounted Dymo labelmaker. GLAGOL 61 also required special processing hardware for optimized execution. Source code was represented internally by larval grubs, and executable code by pupae, nestled in a unique "honeycomb store" on a rotating surface of uniform negative Gaussian curvature, which doubled as an element in the machine's analog differential analyzer, and as an occasional dressmaker's dummy, eventually leading to a grotesque incident which I shall not offend the reader's sensibilities by recounting.
GLAGOL 61's economy of expression may be glimpsed in the following two-line decimation algorithm for a fast Fourier transform [I have translated the insect splotches to ASCII as best I can]:
(random stream of Glagol doesn't pass Slashdot's "lameness filter." Its painful but true
Rarely has the essence of an algorithm shone through so clearly on the printed page; of modern languages, only APL is comparable.
-K
We didn't expect the slashdot effect (well, not so soon anyway ;-), and our WikiWiki certainly didn't, so the web server died.
So, we set up some temporary, but not complete mirrors. The source, documentation and examples are here, but it lacks the lively and lovely Wiki discussion.
http://spl.pu240.com
http://cgi.student.nada.kth.se/~d98-jas/shakespear e/
--Jon Åslund (one of the authors)
...will there be a version letting one write in the original Klingon?
I wonder what the MPAA would do if 2600 published DeCSS translated into one of these languages.
Have you ever noticed how kind and considerate Slashdot readers are?
Bush's education improvements were
But seriously. How do I include juliet?
Beat her over the skull with a lead pipe until you can include her.
Now if this can be done with spanglish or ebonics I will be really impressed.
It's still easier to read than Perl.
What we really need isn't a shakespeare language, it's a burroughs language.
Just because something uses C as its output language doesn't mean it's not a compiler. If it scans and parses text to build an abstract syntax tree like a duck, then generates intermediate code which gets optimized like a duck, then outputs the result in some target language like a duck, then it's a duck, regardless of which target language is used.
C is actually quite a popular output language for compilers, because it means they don't have to do register allocation.
Patrick Doyle
I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
(0x2b | ! 0x2b), however, yields the value 0x2b, which answers the question perfectly.
I'd love to see some movies made of some SPL programs.
Leo di Caprio might actually be able to act if all he had to say was "Speak thy mind!"... but the dirty codpieces and square roots of lying pigs-offal might get him down a bit.
-Perc
This gives new meaning to those "Code Poet" shirts...
-Ryan
Slashcode, for example.
Short-sightedness on the part of our story poster here. I think natural language processing, or at least work in its direction is "real work". Especially since if computers are going to be fully (in the sense of casual use the same as a telephone) adopted by our society in the future, they'll have be more human-compatable. (For those on /. that didn't realize it already, most average people are still afraid of PC's.)
When you can dictate instructions to your machine - whether it's 16th century English, or modern Nihongo - the world will be a better place. Steps like this will help lead us to the elimination of these primative and clunky UI's and I/O devices we're currently attached to in favor of elegant, natural communication. Age of intelligent machines, anyone?
Why bother.
This is completly false, the device was from India.
This seems like the ideal language for DeCSS--even a liberal arts educated judge must see that such a "program" constitutes some form of literature.
Umm.. what about AppleScript? It was based on many of the same elements and ideas of HyperTalk, but extended to a system-wide metaphor. In fact, with Apple's OSA (Open Scripting Architecture), AppleScript has gotten to be pretty darn useful.
Apple's probably got the best implementation of a natural language parser around right now. With the right extensions and coding, it could serve very easily as a great meta-language for programming.
------------
"...and Maddest of all, to see Life as it Is, and not as it Should Be."
"...the difference of 4 and -64 is 60..."
note that in the documentation the '-64' is an image, so having seen this they might change that. the difference of 4 and -64... 4 - -64 = 4 + 64 = 68. the sum of 4 and -64 is -60 however, which might be what they were thinking of.
mayhaps they obfusciated their math?
Yes, it would be possible. Of course the implementation would be very difficult, but it would be very interesting to try your suggestion. Somebody mod this post up, that question isn't offtopic at all!
i kindof liked Brainf**k ... this is the other extreme !!!
Warning! DO NOT click on those links, this is a troll posting links to goatsex!!!
...wow, a language that makes COBOL look concise!
political_news.c: warning: comparison is always true due to limited range of data type
There IS a Kligon language!
> This should be posted to comp.lang.c, the newsgroup
/* or */
/* or */
> where everything is off topic.
Not needed, c.l.c will come here for you:-)
Here's a possible reply.
---
> #include
> #include
> #include
These are non standard C includes. If your system
supports these includes your post is offtopic in c.l.c,
otherwise you must not use angular brackets to
include them.
> int main(void *scene) {
This is an incorrect declaration for main().
The standard C main function accepts an
int and a pointer to pointer to char, or optionally
no arguments, and returns an int. So:
int main(void)
int main (int argc, char *argv[])
int main (int argc, char **argv)
> enter(_romeo + _juliet);
> exeunt(romeo);
> exeunt(juliet);
> render(theatre);
These are non standard C functions. If your system
supports them, your post is offtopic in c.l.c, otherwise
you must provide their prototype and definition.
> printf("Behold, thou seest the world");
You don't flush the output buffer here; the program
could easily print nothing. Add a \n at he end of the
string, or a fflush(stdout); after the printf().
> }
You don't exit properly from the main function.
Put a return EXIT_SUCCESS; to let the system
know that you aren't exiting for an error.
---
This was intended only as a joke. I -love- c.l.c.
It helped me a lot, and I understand why they're often
rude against offtopic posts (look at how many msgs
are posted there every day).
I just love these funny languages. Nobody will ever use them, but after reading this, you don't feel like programming any more. The C language looks so crude, so cryptic, so non-human friendly after that...
There's a similar project for Perl called Lingua::Romana::Perligata . This is an awesome module written by Damian Conway, that let you program in Latin. Totally crazy.
{{.sig}}
That you could use the same source for generating different programs?
Consider how much of the text is thrown away by the translator. Now write a different translator to use some of those pieces and throw away other ones.
By combining specifications you could derive different programs from the same literary source.
Amazing what CompSci-students can create when they really should do real work.
I'll assume, for your sake, that you were trying to be cute and that the above was a misdirected quip with the aim to amuse. But the truth is that when I was in university I did some of the most creative work that I ever did, granted it was mostly useless but it did prepare me for the real world.
Life is not all work. Arbeit macht Frei. Not always.
:wq
... to write a day's worth of posts to Slashdot?
Just another example of the kind of cool stuff that only comes about because of GNU and free software!! Way to go, guys!! I bet microsof~1 would never come up with something this cool! Who wants to write a linux kernel config module using this???
Linux Rulez!!!!!!!!!!!
thk writes "Sistina, the main developer of the Global File System, has changed its language from C to SPL (Shakespeare Programming Language). SPL is basically a language to make the source code for programs written with it, resemble a Shakespeare play. Interestingly, the change came just after beta testing, leaving some users a bit miffed. The GFS is an important component of some GPL clustering projects, such as Compaq's SSIC project. The Sistina press release is here."
Weird. Really weird.
I bet this is just a nice coverup to keep coding during the course of English literature.
42 + 1 = 42
What do you mean, real work? They're prevented from doing such by their own fluffin faculty! If it's not inane projects with no focus on real-world applications, it's teaching Java to beginners.. Our college system sucks. :P
-----------
POiT!
And other esoteric programming languages
Duck == Compiler
Patrick Doyle
I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
Port it now! "No, you can't say those words!"
Just so you know, this site has links to all kinds of weird programming languages.
Incredible language, by the way. Really really nifty, and something I will use as an example when I'm trying to define the term "hacker".
--
Evan
"$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien