From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,WEIRD_QUOTING autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 10611e,f7a7163813ae8672 X-Google-Attributes: gid10611e,public X-Google-Thread: fac41,f7a7163813ae8672 X-Google-Attributes: gidfac41,public X-Google-Thread: 103376,f7a7163813ae8672 X-Google-Attributes: gid103376,public X-Google-Thread: fa0ae,f7a7163813ae8672 X-Google-Attributes: gidfa0ae,public X-Google-Thread: 1108a1,f7a7163813ae8672 X-Google-Attributes: gid1108a1,public X-Google-Thread: 10a146,f7a7163813ae8672 X-Google-Attributes: gid10a146,public X-Google-Thread: 109fba,f7a7163813ae8672 X-Google-Attributes: gid109fba,public X-Google-Thread: f645d,f7a7163813ae8672 X-Google-Attributes: gidf645d,public X-Google-ArrivalTime: 2001-11-24 07:36:31 PST Path: archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-03!supernews.com!news-out.visi.com!hermes.visi.com!nycmny1-snh1.gtei.net!news.gtei.net!panix!yellow.newsread.com!bad-news.newsread.com!netaxs.com!newsread.com!POSTED.newshog.newsread.com!not-for-mail Newsgroups: comp.lang.basic.visual,comp.lang.c++,comp.lang.java.programmer,comp.object,nyc.food,comp.lang.eiffel,comp.lang.ada,comp.lang.perl.misc Subject: Re: Bizarre languages ( was Re: Best language for low IQ programmers? ) References: <1004990076967295@aol.com> <08utvtg6437744cjn7120ul528hjbeg25s@4ax.com> Organization: Plover Systems Co. From: mjd@plover.com (Mark Jason Dominus) Message-ID: <3bffbe76.41a1$328@news.op.net> X-OpNet-Trace: news1.op.net 1006616182 16801.808 plover.com i/alvin c/local Date: Sat, 24 Nov 2001 15:36:24 GMT NNTP-Posting-Host: 207.29.195.22 X-Complaints-To: Abuse Role , We Care X-Trace: newshog.newsread.com 1006616184 207.29.195.22 (Sat, 24 Nov 2001 10:36:24 EST) NNTP-Posting-Date: Sat, 24 Nov 2001 10:36:24 EST Xref: archiver1.google.com comp.lang.basic.visual:11227 comp.lang.c++:105942 comp.lang.java.programmer:112402 comp.object:25560 nyc.food:2141 comp.lang.eiffel:5025 comp.lang.ada:16932 comp.lang.perl.misc:79695 Date: 2001-11-24T15:36:24+00:00 List-Id: In article , IsraelRT wrote: >**" The effect of reading an Unlambda program is like habing >your brains smashed out by a Lisp sexp wrapped around an ENIAC. You >won't find anything like it west of Alpha Centauri. >The Hitch-Hacker's Guide to Programming" > >"the following Unlambda program >calculates and prints the Fibonacci numbers (as lines of >asterisks) > >```s``s``sii`ki > `k.*``s``s`ks > ``s`k`s`ks``s``s`ks``s`k`s`kr``s`k`sikk > `k``s`ksk > >" This may entertain you. It's an implementation of an unlambda-like language, as a Perl regex. (I left out the c operator, big surprise.) The string in $_ is the program. require 5.00553; use re 'eval'; $|=1; $z = qr{(?{local$d=1}) (?:`(?{$d++}) |.(?{$d--}) )+? (?(?{$d})(?!)) }x; $_="``As`SB``Ad``S``BS`BBI``Ae``B`SI`Ed``A?``C``CIi`pI``E?Z``BZZZZZ`KI ```CX`KIZZQZZZQZZZZZQZZZZQZ``BZZ```CX`KX`KXQ``Ee``EeZZZZZQZ```CX`KIZZQ ```CX`KIZZQZZZZQ```CXZ`KIZZQ``Ee```CX`KIZZQ``EdZZZQZ``BZZ```CX`KX`KXQ` `BZ```CX`KIZZ`KXZQ``Ee```CX`KIZZQ``EdZZZQ``BZZZZ`KXQZ``BZZ```CX`KX`KXQ ``B```CXZ`KIZZ`KXQ``Ee``EeZZZZZQ``B``EeZZZ`KXQ``Ee``EdZZZQ``Ee```CX`KI ZZQ``EdZZZQ``Ed``Ee```CX`KX`KI"; s/\n//g;s/Q/`KI``E?/g;s/X/IZZZ/g;s/Z/``Es/g; 1 while s{`I($z) (?{$q=0})|``K($z)($z) (?{$q=1}) |```S($z)($z)($z)(?{$q=2})|```B($z)($z)($z) (?{$q=3}) |```C($z)($z)($z)(?{$q=4})|``A($z)($z) (?{$q=5}) |`i($z) (?{$R++,$q=6})|`p($z)(?{print(chr 120-$R), $R=0, $q=7}) |`E($z) (?{$q=8})|`V($z) (?{$q=9}) } {local $^W; $q<5 ?($1,$2,"``$4$6`$5$6","`$7`$8$9","``$10$12$11")[$q] :$q==5?($bind{$13}=$14,"") :($15,"",$bind{$17},"")[$q-6] }ex; __END__ Hope this helps. Have a Turner combinatorial calulus day. -- @P=split//,".URRUU\c8R";@d=split//,"\nrekcah xinU / lreP rehtona tsuJ";sub p{ @p{"r$p","u$p"}=(P,P);pipe"r$p","u$p";++$p;($q*=2)+=$f=!fork;map{$P=$P[$f^ord ($p{$_})&6];$p{$_}=/ ^$P/ix?$P:close$_}keys%p}p;p;p;p;p;map{$p{$_}=~/^[P.]/&& close$_}%p;wait until$?;map{/^r/&&<$_>}%p;$_=$d[$q];sleep rand(2)if/\S/;print