In honor of the opening of the first Lord of the Rings Movie, let me introduce to y'all:

The BURL programming language.

BURL is based on perl -- in fact, it is a subset of perl, written with the Orc-programmer in mind. As such, control structures use Orkish or Black Speech instead of English; also, the rules of the scripting language are more constrained than perl. In fact, they are constrained to a format which is quite amenable to line-substitution translation into perl, strangely enough.

The most striking feature of BURL (aside from its use of Black Speech, of course) is the lopsided block delimiters nar! and sha!, which only terminate a block. BURL assumes that control structures begin all blocks (horrors!); however, there might be some kind of do{} block in Orkish. Maybe someone who knows BURL better could shed some light on that and other features. For instance, I suspect that split() in BURL makes more assumptions than perl, and it is possible that there is a vast set of 'default variables' that functions operate on.

So, without further ado, here are some examples of BURL's control structures and a simple example script.

for and foreach: ûr LIST-or-C-FOR-EXPR ...statements... nar! # (or sha!) if: gâkh EXPR ... statements ... ghâsh ELSIF-EXPR ... statements ... ghâsh ELSIF-EXPR ... statements ... ash ... else statements ... nar! # (or sha!) while: fulg EXPR ... statements ... nar! # or sha! until: kû EXPR ... statements .. nar! # or sha! perl BURL Black Speech use = ushd 'use' my = dab 'my' die = mat 'die' open = baduzg 'open' close = fauth 'lie hidden' print = mog 'voice' print; = mog! split = râkh 'cleave' split; = râkh! join = thrak 'bring/tribute' map = uzg 'land' this = za 'this' redo = urzkû 'again' last = throquf 'devoured' etc etc... a very simple example script: test.bl: u BURL uses the letter 'u' in column 1 to denote u comments. u In Orkish, 'u' means 'to, towards', and thus u probably implies something like 'ad hoc' for u BURL programmers, further strengthening the u belief that Orcs make poor code documenters. dab @sample = ( 'a', 'b', 'c', 'd', 'e' ); ûr @sample mog! nar!

In reply to BURL: The Orcish scripting language by rje

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.