[REBOL] Re: What does REBOL fix?
From: joel:neely:fedex at: 17-Dec-2003 16:11
Hi, James,
Were you just joking? (OBTW, REBOL isn't the only language
that supports dialects...)
James Marsden wrote:
> Dialecting in Rebol, more fun than Latin!
Damien Conway has actually written a Latin dialect for Perl!
[begin excerpt]
Lingua::Romana::Perligata -- Perl for the XXI-imum Century
Damian Conway
School of Computer Science and Software Engineering
Monash University
Clayton 3168, Australia
Abstract
This paper describes a Perl module -- Lingua::Romana::Perligata --
that makes it possible to write Perl programs in Latin. A plausible
rationale for wanting to do such a thing is provided, along with a
comprehensive overview of the syntax and semantics of Latinized
Perl. The paper also explains the special source filtering and
parsing techniques required to efficiently interpret a programming
language in which the syntax is (largely) non-positional.
...
The Sieve of Eratosthenes is one of oldest well-known algorithms.
As the better part of Roman culture was ``borrowed'' from the
Greeks, it is perhaps fitting that the first ever Perligata
program should be as well:
#! /usr/local/bin/perl -w
use Lingua::Romana::Perligata;
maximum inquementum tum biguttam egresso scribe.
meo maximo vestibulo perlegamentum da.
da duo tum maximum conscribementa meis listis.
dum listis decapitamentum damentum nexto
fac sic
nextum tum novumversum scribe egresso.
lista sic hoc recidementum nextum cis vannementa da listis.
cis.
The use Lingua::Romana::Perligata statement causes the remainder
of the program to be translated into the following Perl:
print STDOUT 'maximum:';
my $maxim = <STDIN>;
my (@list) = (2..$maxim);
while ($next = shift @list)
{
print STDOUT $next, "\n";
@list = grep {$_ % $next} @list;
}
Note in the very last Perligata statement (lista sic hoc...da
listis) that the use of inflexion distinguishes the @list that
is grep'ed (lista) from the @list that is assigned to (listis),
even though each is at the ``wrong'' end of the statement,
compared with the Perl version.
[end excerpt]
For those with a classical education (and a high tolerance for pain
;-) the full paper is available at
http://www.csse.monash.edu.au/~damian/papers/HTML/Perligata.html
It's a hilarious tour-de-force!
-jn-
--
----------------------------------------------------------------------
Joel Neely joelDOTneelyATfedexDOTcom 901-263-4446
Enron Accountingg in a Nutshell: 1c=$0.01=($0.10)**2=(10c)**2=100c=$1