Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

[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