27
\$\begingroup\$

A radioactive quine is a quine-like program that has an even number of characters and, when run, outputs itself with exactly half of its characters removed.

The output itself may be a radioactive quine, so the program can "decay" multiple times.
It could be said that the half-life of a radioactive quine is one run, up to a certain number of runs (decays).

Example

The Python 2 program (28 characters)

1234;print'print\'abcdefg\''

is a radioactive quine with 2 decay steps because when it is run it outputs

print'abcdefg'

which is the original program with these 14 characters removed: 1234;print'\\'.

When print'abcdefg' is run in turn it outputs abcdefg which is print'abcdefg' with the 7 characters print'' removed.

The program abcdefg is not a radioactive quine so the cycle has come to an end.

Challenge

Write a radioactive quine in 1024 characters or less that has the most decay cycles.

The 1024 character limit means that the maximum number of decay cycles possible is 10 since the
1024 → 512 → 256 → 128 → 64 → 32 → 16 → 8 → 4 → 2 → 1 decay pattern would be optimal.

The example above has 2 decay cycles.

Details

  • Just like normal quines, radioactive quines may not take input or read their own source.
  • All output must go to stdout or your language's closest alternative.
  • You may use any characters. It is not limited to ASCII.
  • The characters in a radioactive quine that are removed may be removed from any indices (but the remaining characters may not be rearranged). So radquine could decay into radq or uine or rdui or rain, etc.
  • Note that only a program with an even number of characters can possibly be a radioactive quine.
  • It's fine if the final output of the decay cycle (abcdefg in the example) has an even number of characters. It doesn't matter what happens when this output is run as a program.

Winning

The winner will be the submission with the most decay cycles.

Update: Since trivial answers are possible I'm following yasen's advice and saying that in case of ties, the starting radioactive quine with the most unique characters wins. (Naturally 1024 is the limit here.)

In the rare chance there is still a tie, the highest voted answer wins.

\$\endgroup\$
  • 10
    \$\begingroup\$ It may be a good idea to rank the answers by amount of distinct characters in case of a tie in the decay cycles. \$\endgroup\$ – yasen Sep 13 '14 at 8:09
  • 1
    \$\begingroup\$ @yasen Great idea. I've added that rule. \$\endgroup\$ – Calvin's Hobbies Sep 13 '14 at 17:48
  • 2
    \$\begingroup\$ Great, now I got the Radioactive cover by Lindsey Stirling and Pentatonix stuck in my head. At least it's not Rebecca Black or Justin Bieber. Welcome to the new age, I guess... \$\endgroup\$ – Nzall Sep 15 '14 at 13:54
17
\$\begingroup\$

CJam, 10 cycles, 1023 unique characters

"39c'LS 0¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴǵǶǷǸǹǺǻǼǽǾǿȀȁȂȃȄȅȆȇȈȉȊȋȌȍȎȏȐȑȒȓȔȕȖȗȘșȚțȜȝȞȟȠȡȢȣȤȥȦȧȨȩȪȫȬȭȮȯȰȱȲȳȴȵȶȷȸȹȺȻȼȽȾȿɀɁɂɃɄɅɆɇɈɉɊɋɌɍɎɏɐɑɒɓɔɕɖɗɘəɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈ̴̵̶̷̸̯̰̱̲̳̹̺̻̼͇͈͉͍͎̽̾̿̀́͂̓̈́͆͊͋͌ͅ͏͓͔͕͖͙͚͐͑͒͗͛ͣͤͥͦͧͨͩͪͫͬͭͮͯ͘͜͟͢͝͞͠͡ͰͱͲͳʹ͵Ͷͷ͸͹ͺͻͼͽ;Ϳ΀΁΂΃΄΅Ά·ΈΉΊ΋Ό΍ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ΢ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώϏϐϑϒϓϔϕϖϗϘϙϚϛϜϝϞϟϠϡϢϣϤϥϦϧϨϩϪϫϬϭϮϯϰϱϲϳϴϵ϶ϷϸϹϺϻϼϽϾϿЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖֽ־ֿ׀ׁׂ׃ׅׄ׆ׇ׈׉׊׋׌׍׎׏אבגדהוזחטיךכלםמןנסעףפץצקרשת׫׬׭׮ׯװױײ׳״׵׶׷׸׹׺׻׼׽׾׿؀؁؂؃؄؅؆؇؈؉؊؋،؍؎؏ؘؙؚؐؑؒؓؔؕؖؗ؛؜؝؞؟ؠءآأؤࡋࡌࡍࡎࡏࡐࡑࡒࡓࡔࡕࡖࡗࡘ࡙࡚࡛࡜࡝࡞࡟ࡠࡡࡢࡣࡤࡥࡦࡧࡨࡩࡪ࡫࡬࡭࡮࡯ࡰࡱࡲ૙૚૛૜૝૞૟ૠ൧൨ྲྀླྌྊྉྈྒ೨ഥദ೾೯ംഢ೼೻೺ബೳഇഄਗ਼ગઘੰ੡ੴઔ੮੭੬ઞ੥ઌੜ੤੯੣ઑ੧એ੢੹ੳ੶ߌࠉࠊߢߓߦࠆߠߟߞࠐߗ߾ߎߖߡߕࠃߙࠁߔ߫ߥߨԾջռՔՅ՘ոՒՑՐւՉհՀՈՓՇյՋճՆ՝՗՚ʰ˭ˮˆʷˊ˪˄˃˂˴ʻˢʲʺ˅ʹ˧ʽ˥ʸˏˉˌ"_`8)<\654f-T$,7+Y/W*A;>

Output

"39c'LS 0¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈ̴̵̶̷̸̯̰̱̲̳̹̺̻̼͇͈͉͍͎̽̾̿̀́͂̓̈́͆͊͋͌ͅ͏͓͔͕͖͙͚͐͑͒͗͛ͣͤͥͦͧͨͩͪͫͬͭͮͯ͘͜͟͢͝͞͠͡ͰͱͲͳʹ͵Ͷͷ͸͹ͺͻͼͽ;Ϳ΀΁΂΃΄΅Ά·ΈΉΊ΋Ό΍ΎΏΐΑΒΓΔΕΖֽ־ֿ׀ׁׂ׃ׅׄ׆ׇ׈׉׊׋׌׍׎׏אבגדהוזחטיךכלםמןנסעףפࡋࡌࡍࡎࡏࡐࡑࡒ૙૚೨ഥ೾೼೻೺ഄਗ਼ગઘੰ੡ੴઔ੮੭੬ઞ੥੹੶ߌࠉࠊߢߓߦࠆߠߟߞࠐߗ߾ߎߖߡߕࠃߙࠁߔ߫ߥߨԾջռՔՅ՘ոՒՑՐւՉհՀՈՓՇյՋճՆ՝՗՚ʰ˭ˮˆʷˊ˪˄˃˂˴ʻˢʲʺ˅ʹ˧ʽ˥ʸˏˉˌ"_`8)<\654f-T$,7+Y/W*A;>
"39c'LS 0¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈ̴̵̶̷̸̯̰̱̲̳̹̺̻̼͇͈͉͍͎̽̾̿̀́͂̓̈́͆͊͋͌ͅ͏ֽ͓͔͕͖͐͑͒־ֿ׀ׁׂ׃ׄࡋࡌਗ਼ગੰ੮੭੬੶ߌࠉࠊߢߓߦࠆߠߟߞࠐߗ߫ߨԾջռՔՅ՘ոՒՑՐւՉհՀՈՓՇյՋճՆ՝՗՚ʰ˭ˮˆʷˊ˪˄˃˂˴ʻˢʲʺ˅ʹ˧ʽ˥ʸˏˉˌ"_`8)<\654f-T$,7+Y/W*A;>
"39c'LS 0¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ̴̵̶ֽ̯̰̱̲̳־ߌࠉߢߠߟߞߨԾջռՔՅ՘ոՒՑՐւՉ՝՚ʰ˭ˮˆʷˊ˪˄˃˂˴ʻˢʲʺ˅ʹ˧ʽ˥ʸˏˉˌ"_`8)<\654f-T$,7+Y/W*A;>
"39c'LS 0¡¢£¤¥¦§¨̯̰ԾջՔՒՑՐ՚ʰ˭ˮˆʷˊ˪˄˃˂˴ʻˏˌ"_`8)<\654f-T$,7+Y/W*A;>
"39c'LS 0¡¢ʰ˭ˆ˄˃˂ˌ"_`8)<\654f-A>
"39c'LS 0"_8654>
39c'LS 0
'L 0
L0
0

How it works

  • `8)< returns the first 9 characters of the string with double quote.
  • 654f- decreases each character by 654.
  • T$, returns the string length on the top of the stack.
  • 7+Y/W*> returns appropriate number of characters from the end of the decoded string.
  • _`8)<\654f-A> is a simplified version without calculating the number of characters.
  • _8654> does nothing useful.
  • 39c is the character '.

The string in each program ends with the output without "39c'LS 0, with each character value increased by 654. And each string is a substring of the one in the previous program, because it is the substring if both of them are decoded.

The only character used twice is the double quote (").

Non-ascii characters cannot appear in blocks directly without a string in CJam. And there are no comment characters. So I think 1024 in CJam is impossible. It might be possible in GolfScript. And it should be easier in languages like Sclipting. But I'm too lazy to do that.

It can be generated with the following program:

{9>654f+}:U;
{"\"39c'LS 0"\+}:V;
{
  _,24-,'¡f+
  \U+
  V
  "\"_`8)<\654f-T$,7+Y/W*A;>"+
}:T;

"\"39c'LS 0\"_8654>"
U"¡¢"\+V"\"_`8)<\654f-A>"+
TTTTT

CJam, 10 cycles, all printable ascii

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''']_" !#$%&()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&()*+,-./0123456789:;<=>?@ABCDEFGHIJK";

How it works

In the first time it prints 512 's. Then it works just like Dennis's answer.

\$\endgroup\$
  • 3
    \$\begingroup\$ dude. u win -_- \$\endgroup\$ – Optimizer Sep 13 '14 at 11:56
  • \$\begingroup\$ I demand an explanation for the latest code! :) \$\endgroup\$ – Optimizer Sep 13 '14 at 21:41
  • \$\begingroup\$ @Optimizer Updated. \$\endgroup\$ – jimmy23013 Sep 13 '14 at 22:32
19
\$\begingroup\$

CJam, 10 cycles

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

CJam, 10 cycles, 876 unique characters

"\"''''''''\""'""'BCD'µϨ¶'·ϩ¸'¹Ϫº'»ϫ¼'½Ϭ¾'¿ϭÀ'ÁϮÂ'ÃϯÄ'ÅϰÆ'ÇϱÈ'ÉϲÊ'ËϳÌ'ÍϴÎ'ÏϵÐ'Ñ϶Ò'ÓϷÔ'ÕϸÖ'×ϹØ'ÙϺÚ'ÛϻÜ'ÝϼÞ'ßϽà'áϾâ'ãϿä'åЀæ'çЁè'éЂê'ëЃì'íЄî'ïЅð'ñІò'óЇô'õЈö'÷Љø'ùЊú'ûЋü'ýЌþ'ÿЍĀ'āЎĂ'ăЏĄ'ąАĆ'ćБĈ'ĉВĊ'ċГČ'čДĎ'ďЕĐ'đЖĒ'ēЗĔ'ĕИĖ'ėЙĘ'ęКĚ'ěЛĜ'ĝМĞ'ğНĠ'ġОĢ'ģПĤ'ŃЯń'ţпŤ'ťрŦ'ŧсŨ'ũтŪ'ūуŬ'ŭфŮ'ůхŰ'űцŲ'ųчŴ'ŵшŶ'ŷщŸ'Źъź'Żыż'Žьž'ſэƀ'ƁюƂ'ƃяƄ'ƅѐƆ'Ƈёƈ'ƉђƊ'Ƌѓƌ'ƍєƎ'ƏѕƐ'Ƒіƒ'ƓїƔ'ƕјƖ'ƗљƘ'ƙњƚ'ƛћƜ'Ɲќƞ'ƟѝƠ'ơўƢ'ƣџƤ'ƥѠƦ'Ƨѡƨ'ƩѢƪ'ƫѣƬ'ƭѤƮ'Ưѥư'ƱѦƲ'Ƴѧƴ'ƵѨƶ'ƷѩƸ'ƹѪƺ'ƻѫƼ'ƽѬƾ'ƿѭǀ'ǁѮǂ'ǃѯDŽ'DžѰdž'LJѱLj'ljѲNJ'Njѳnj'ǍѴǎ'Ǐѵǐ'ǑѶǒ'Ǔѷǔ'ǕѸǖ'Ǘѹǘ'ǙѺǚ'ĥРĦ'ħСĨ]Ǜѻǜ_ǝѼǞ\\Ǥ\"ǥҀǦ썐īУĬ썑ĭФĮ썒ĩТĪ썓Ņаņ썔Ňбň썕ʼnвŊ썖ŋгŌ썗ōдŎ썘ŏеŐ썙őжŒ썚œзŔ썛ŕиŖ썜ŗйŘ썝řкŚ썞śлŜ썟ŝмŞ썠şнŠ썡šоŢ썢įХİ썣ıЦIJ썤ijЧĴ썥ĵШĶ썦ķЩĸ썧ĹЪĺ써ĻЫļ썩ĽЬľ썪ĿЭŀ썫ŁЮł썬ǟѽǠ썭ǡѾǢ썮ǧҁǨ썯ǩ҂Ǫ썰ǫ҃Ǭ썱ǭ҄Ǯ썲ǯ҅ǰ썳DZ҆Dz썴dz҇Ǵ썵ǵ҈Ƕ썶Ƿ҉Ǹ썷ǹҊǺ썸ǻҋǼ썹ǽҌǾ썺ǿҍȀ썻ȁҎȂ썼ȃҏȄ썽ȅҐȆ썾ȇґȈ썿ȉҒȊ쎀ȋғȌ쎁ȍҔȎ쎂ȏҕȐ쎃ȑҖȒ쎄ȓҗȔ쎅ȕҘȖ쎆ȗҙȘ쎇șҚȚ쎈țқȜ쎉ȝҜȞ쎊ȟҝȠ쎋ȡҞȢ쎌ȣҟȤ쎍ȥҠȦ쎎ȧҡȨ쎏ȩҢȪ쎐ȫңȬ쎑ȭҤȮ쎒ȯҥȰ쎓ȱҦȲ쎔ȳҧȴ쎕ȵҨȶ쎖ȷҩȸ쎗ȹҪȺ쎘Ȼҫȼ쎙ȽҬȾ쎚ȿҭɀ쎛ɁҮɂ쎜ɃүɄ쎝ɅҰɆ쎞ɇұɈ쎟ɉҲɊ쎠ɋҳɌ쎡ɍҴɎ쎢ɏҵɐ쎣ɑҶɒ쎤ɓҷɔ쎥ɕҸɖ쎦ɗҹɘ쎧əҺɚ쎨ɛһɜ쎩ɝҼɞ쎪ɟҽɠ쎫ɡҾɢ쎬ɣҿɤ쎭ɥӀɦ쎮ɧӁɨ쎯ɩӂɪ쎰ɫӃɬ쎱ɭӄɮ쎲ɯӅɰ쎳ɱӆɲ쎴ɳӇɴ쎵ɵӈɶ쎶ɷӉɸ쎷ɹӊɺ쎸ɻӋɼ쎹ɽӌɾ쎺ɿӍʀ쎻ʁӎʂ쎼ʃӏʄ쎽ʅӐʆ쎾ʇӑʈ쎿ʉӒʊ쏀ʋӓʌ쏁ʍӔʎ쏂ʏӕʐ쏃ʑӖʒ쏄ʓӗʔ쏅ʕӘʖ쏆ʗәʘ쏇ʙӚʚ쏈ʛӛʜ쏉ʝӜʞ쏊ʟʠʡ\\Ӟ\"ʢʣӟ;"2%'""Y%a"

Try it online.

How it works

  • "xyzw" pushes the string xyzw.
  • "xyzw"2% pushes the string xz.
  • "xyzw"; pushes nothing.
  • ]_ duplicates the entire stack.
  • 'x pushes the character x.

Example run

$ C=$(cat decay); while ((${#C} > 1)); do echo $C; C=$(cjam <(echo $C)); done; echo $C
"\"''''''''\""'""'BCD'µϨ¶'·ϩ¸'¹Ϫº'»ϫ¼'½Ϭ¾'¿ϭÀ'ÁϮÂ'ÃϯÄ'ÅϰÆ'ÇϱÈ'ÉϲÊ'ËϳÌ'ÍϴÎ'ÏϵÐ'Ñ϶Ò'ÓϷÔ'ÕϸÖ'×ϹØ'ÙϺÚ'ÛϻÜ'ÝϼÞ'ßϽà'áϾâ'ãϿä'åЀæ'çЁè'éЂê'ëЃì'íЄî'ïЅð'ñІò'óЇô'õЈö'÷Љø'ùЊú'ûЋü'ýЌþ'ÿЍĀ'āЎĂ'ăЏĄ'ąАĆ'ćБĈ'ĉВĊ'ċГČ'čДĎ'ďЕĐ'đЖĒ'ēЗĔ'ĕИĖ'ėЙĘ'ęКĚ'ěЛĜ'ĝМĞ'ğНĠ'ġОĢ'ģПĤ'ŃЯń'ţпŤ'ťрŦ'ŧсŨ'ũтŪ'ūуŬ'ŭфŮ'ůхŰ'űцŲ'ųчŴ'ŵшŶ'ŷщŸ'Źъź'Żыż'Žьž'ſэƀ'ƁюƂ'ƃяƄ'ƅѐƆ'Ƈёƈ'ƉђƊ'Ƌѓƌ'ƍєƎ'ƏѕƐ'Ƒіƒ'ƓїƔ'ƕјƖ'ƗљƘ'ƙњƚ'ƛћƜ'Ɲќƞ'ƟѝƠ'ơўƢ'ƣџƤ'ƥѠƦ'Ƨѡƨ'ƩѢƪ'ƫѣƬ'ƭѤƮ'Ưѥư'ƱѦƲ'Ƴѧƴ'ƵѨƶ'ƷѩƸ'ƹѪƺ'ƻѫƼ'ƽѬƾ'ƿѭǀ'ǁѮǂ'ǃѯDŽ'DžѰdž'LJѱLj'ljѲNJ'Njѳnj'ǍѴǎ'Ǐѵǐ'ǑѶǒ'Ǔѷǔ'ǕѸǖ'Ǘѹǘ'ǙѺǚ'ĥРĦ'ħСĨ]Ǜѻǜ_ǝѼǞ\\Ǥ\"ǥҀǦ썐īУĬ썑ĭФĮ썒ĩТĪ썓Ņаņ썔Ňбň썕ʼnвŊ썖ŋгŌ썗ōдŎ썘ŏеŐ썙őжŒ썚œзŔ썛ŕиŖ썜ŗйŘ썝řкŚ썞śлŜ썟ŝмŞ썠şнŠ썡šоŢ썢įХİ썣ıЦIJ썤ijЧĴ썥ĵШĶ썦ķЩĸ썧ĹЪĺ써ĻЫļ썩ĽЬľ썪ĿЭŀ썫ŁЮł썬ǟѽǠ썭ǡѾǢ썮ǧҁǨ썯ǩ҂Ǫ썰ǫ҃Ǭ썱ǭ҄Ǯ썲ǯ҅ǰ썳DZ҆Dz썴dz҇Ǵ썵ǵǶ썶ǷǸ썷ǹҊǺ썸ǻҋǼ썹ǽҌǾ썺ǿҍȀ썻ȁҎȂ썼ȃҏȄ썽ȅҐȆ썾ȇґȈ썿ȉҒȊ쎀ȋғȌ쎁ȍҔȎ쎂ȏҕȐ쎃ȑҖȒ쎄ȓҗȔ쎅ȕҘȖ쎆ȗҙȘ쎇șҚȚ쎈țқȜ쎉ȝҜȞ쎊ȟҝȠ쎋ȡҞȢ쎌ȣҟȤ쎍ȥҠȦ쎎ȧҡȨ쎏ȩҢȪ쎐ȫңȬ쎑ȭҤȮ쎒ȯҥȰ쎓ȱҦȲ쎔ȳҧȴ쎕ȵҨȶ쎖ȷҩȸ쎗ȹҪȺ쎘Ȼҫȼ쎙ȽҬȾ쎚ȿҭɀ쎛ɁҮɂ쎜ɃүɄ쎝ɅҰɆ쎞ɇұɈ쎟ɉҲɊ쎠ɋҳɌ쎡ɍҴɎ쎢ɏҵɐ쎣ɑҶɒ쎤ɓҷɔ쎥ɕҸɖ쎦ɗҹɘ쎧əҺɚ쎨ɛһɜ쎩ɝҼɞ쎪ɟҽɠ쎫ɡҾɢ쎬ɣҿɤ쎭ɥӀɦ쎮ɧӁɨ쎯ɩӂɪ쎰ɫӃɬ쎱ɭӄɮ쎲ɯӅɰ쎳ɱӆɲ쎴ɳӇɴ쎵ɵӈɶ쎶ɷӉɸ쎷ɹӊɺ쎸ɻӋɼ쎹ɽӌɾ쎺ɿӍʀ쎻ʁӎʂ쎼ʃӏʄ쎽ʅӐʆ쎾ʇӑʈ쎿ʉӒʊ쏀ʋӓʌ쏁ʍӔʎ쏂ʏӕʐ쏃ʑӖʒ쏄ʓӗʔ쏅ʕӘʖ쏆ʗәʘ쏇ʙӚʚ쏈ʛӛʜ쏉ʝӜʞ쏊ʟʠʡ\\Ӟ\"ʢʣӟ;"2%'""Y%a"
"''''''''""'C'Ϩ'ϩ'Ϫ'ϫ'Ϭ'ϭ'Ϯ'ϯ'ϰ'ϱ'ϲ'ϳ'ϴ'ϵ'϶'Ϸ'ϸ'Ϲ'Ϻ'ϻ'ϼ'Ͻ'Ͼ'Ͽ'Ѐ'Ё'Ђ'Ѓ'Є'Ѕ'І'Ї'Ј'Љ'Њ'Ћ'Ќ'Ѝ'Ў'Џ'А'Б'В'Г'Д'Е'Ж'З'И'Й'К'Л'М'Н'О'П'Я'п'р'с'т'у'ф'х'ц'ч'ш'щ'ъ'ы'ь'э'ю'я'ѐ'ё'ђ'ѓ'є'ѕ'і'ї'ј'љ'њ'ћ'ќ'ѝ'ў'џ'Ѡ'ѡ'Ѣ'ѣ'Ѥ'ѥ'Ѧ'ѧ'Ѩ'ѩ'Ѫ'ѫ'Ѭ'ѭ'Ѯ'ѯ'Ѱ'ѱ'Ѳ'ѳ'Ѵ'ѵ'Ѷ'ѷ'Ѹ'ѹ'Ѻ'Р'С]ѻ_Ѽ\"Ҁ썐У썑Ф썒Т썓а썔б썕в썖г썗д썘е썙ж썚з썛и썜й썝к썞л썟м썠н썡о썢Х썣Ц썤Ч썥Ш썦Щ썧Ъ써Ы썩Ь썪Э썫Ю썬ѽ썭Ѿ썮ҁ썯҂썰썱썲썳썴҇썵썶썷Ҋ썸ҋ썹Ҍ썺ҍ썻Ҏ썼ҏ썽Ґ썾ґ썿Ғ쎀ғ쎁Ҕ쎂ҕ쎃Җ쎄җ쎅Ҙ쎆ҙ쎇Қ쎈қ쎉Ҝ쎊ҝ쎋Ҟ쎌ҟ쎍Ҡ쎎ҡ쎏Ң쎐ң쎑Ҥ쎒ҥ쎓Ҧ쎔ҧ쎕Ҩ쎖ҩ쎗Ҫ쎘ҫ쎙Ҭ쎚ҭ쎛Ү쎜ү쎝Ұ쎞ұ쎟Ҳ쎠ҳ쎡Ҵ쎢ҵ쎣Ҷ쎤ҷ쎥Ҹ쎦ҹ쎧Һ쎨һ쎩Ҽ쎪ҽ쎫Ҿ쎬ҿ쎭Ӏ쎮Ӂ쎯ӂ쎰Ӄ쎱ӄ쎲Ӆ쎳ӆ쎴Ӈ쎵ӈ쎶Ӊ쎷ӊ쎸Ӌ쎹ӌ쎺Ӎ쎻ӎ쎼ӏ쎽Ӑ쎾ӑ쎿Ӓ쏀ӓ쏁Ӕ쏂ӕ쏃Ӗ쏄ӗ쏅Ә쏆ә쏇Ӛ쏈ӛ쏉Ӝ쏊ʠ\"ʣ;"Y%a
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''']_"썐썑썒썓썔썕썖썗썘썙썚썛썜썝썞썟썠썡썢썣썤썥썦썧써썩썪썫썬썭썮썯썰썱썲썳썴썵썶썷썸썹썺썻썼썽썾썿쎀쎁쎂쎃쎄쎅쎆쎇쎈쎉쎊쎋쎌쎍쎎쎏쎐쎑쎒쎓쎔쎕쎖쎗쎘쎙쎚쎛쎜쎝쎞쎟쎠쎡쎢쎣쎤쎥쎦쎧쎨쎩쎪쎫쎬쎭쎮쎯쎰쎱쎲쎳쎴쎵쎶쎷쎸쎹쎺쎻쎼쎽쎾쎿쏀쏁쏂쏃쏄쏅쏆쏇쏈쏉쏊";
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''
''''''''''''''''
''''''''
''''
''
'
\$\endgroup\$
  • 4
    \$\begingroup\$ Oh well... Well played , everybody. gg \$\endgroup\$ – AndoDaan Sep 13 '14 at 5:49
14
\$\begingroup\$

Marbelous, 10 cycles

3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333334

There are 1023 3's and then one 4. This will print 511 3's (since 33 is the hexadecimal ascii value of 3) and one 4 (since 3 is the hexadecimal ascii value of 4). This keeps going until we are left with:

34

which prints 4 and is not a valid Marbelous program.

Another solution, using 22 distinct characters:

01333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333334
23
45
67
89
AB
CD
EF
AA
AA
AA
AA
AA
AA
AA
AA
ab
:ab
}0
\/3333

In this one I've defined a function that takes one input and prints two 3's. I then feed 16 inputs to it, which prints the number 3 32 times. This all consists of 64 characters. , then there are 959 3's and one 4. This all reduces to 511 3's and one 4. This then continues like the solution above. Since I can print two 3's by adding just 3 characters (any literal plus a newline), I can add a bunch more useless devices to the ab function to use more distinct characters. As long as 511 of the characters I use stay 3's and one a 4.

\$\endgroup\$
11
\$\begingroup\$

CJam, 10 Cycles, 947 Unique characters

I think I am getting a hang of it now. A sweet tricky approach to the problem brings be 937 unique characters and still space for more.

"\"['''''''''''''''']_\""`'`'''`"\"\\\"0123456789\\\";\"\"@ABCDEFGHIJKLMNOPQRSTUV\";"`'`'''`"\"WXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~®¯°±²³´\";"`'`"\"µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪ\";"`"īĬĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴǵǶǷǸǹǺǻǼǽǾǿȀȁȂȃȄȅȆȇȈȉȊȋȌȍȎȏȐȑȒȓȔȕȖȗȘșȚțȜȝȞ"`';"ȟȠȡȢȣȤȥȦȧȨȩȪȫȬȭȮȯȰȱȲȳȴȵȶȷȸȹȺȻȼȽȾȿɀɁɂɃɄɅɆɇɈɉɊɋɌɍɎɏɐɑɒɓɔɕɖɗɘəɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼʽʾʿˀˁ˂˃˄˅ˆˇˈˉˊˋˌˍˎˏːˑ˒˓˔˕˖˗˘˙˚˛˜˝˞˟ˠˡˢˣˤ˥˦˧˨˩˪˫ˬ˭ˮ˯˰˱˲˳˴˵˶˷˸˹˺˻˼˽˾˿̴̵̶̷̸̡̢̧̨̛̖̗̘̙̜̝̞̟̠̣̤̥̦̩̪̫̬̭̮̯̰̱̲̳̹̺̻̼͇͈͉͍͎̀́̂̃̄̅̆̇̈̉̊̋̌̍̎̏̐̑̒̓̔̽̾̿̀́͂̓̈́͆͊͋͌̕̚ͅ͏͓͔͕͖͙͚͐͑͒͗͛ͣͤͥͦͧͨͩͪͫͬͭͮͯ͘͜͟͢͝͞͠͡ͰͱͲͳʹ͵Ͷͷ͸͹ͺͻͼͽ;Ϳ΀΁΂΃΄΅Ά·ΈΉΊ΋Ό΍ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ΢ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώϏϐϑϒϓϔϕϖϗϘϙϚϛϜϝϞϟϠϡϢϣϤϥϦϧϨϩϪϫϬϭϮϯϰϱϲϳϴϵ϶ϷϸϹϺϻϼϽϾϿЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏ";

Here is the output of all the cycles starting from initial state

"\"['''''''''''''''']_\""`'`'''`"\"\\\"0123456789\\\";\"\"@ABCDEFGHIJKLMNOPQRSTUV\";"`'`'''`"\"WXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~®¯°±²³´\";"`'`"\"µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪ\";"`"īĬĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴǵǶǷǸǹǺǻǼǽǾǿȀȁȂȃȄȅȆȇȈȉȊȋȌȍȎȏȐȑȒȓȔȕȖȗȘșȚțȜȝȞ"`';"ȟȠȡȢȣȤȥȦȧȨȩȪȫȬȭȮȯȰȱȲȳȴȵȶȷȸȹȺȻȼȽȾȿɀɁɂɃɄɅɆɇɈɉɊɋɌɍɎɏɐɑɒɓɔɕɖɗɘəɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼʽʾʿˀˁ˂˃˄˅ˆˇˈˉˊˋˌˍˎˏːˑ˒˓˔˕˖˗˘˙˚˛˜˝˞˟ˠˡˢˣˤ˥˦˧˨˩˪˫ˬ˭ˮ˯˰˱˲˳˴˵˶˷˸˹˺˻˼˽˾˿̴̵̶̷̸̡̢̧̨̛̖̗̘̙̜̝̞̟̠̣̤̥̦̩̪̫̬̭̮̯̰̱̲̳̹̺̻̼͇͈͉͍͎̀́̂̃̄̅̆̇̈̉̊̋̌̍̎̏̐̑̒̓̔̽̾̿̀́͂̓̈́͆͊͋͌̕̚ͅ͏͓͔͕͖͙͚͐͑͒͗͛ͣͤͥͦͧͨͩͪͫͬͭͮͯ͘͜͟͢͝͞͠͡ͰͱͲͳʹ͵Ͷͷ͸͹ͺͻͼͽ;Ϳ΀΁΂΃΄΅Ά·ΈΉΊ΋Ό΍ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ΢ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώϏϐϑϒϓϔϕϖϗϘϙϚϛϜϝϞϟϠϡϢϣϤϥϦϧϨϩϪϫϬϭϮϯϰϱϲϳϴϵ϶ϷϸϹϺϻϼϽϾϿЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏ";
"\"['''''''''''''''']_\""`'`"\"\\\"0123456789\\\";\"\"@ABCDEFGHIJKLMNOPQRSTUV\";"`'`"\"WXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~®¯°±²³´\";"`"\"µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪ\";""īĬĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴǵǶǷǸǹǺǻǼǽǾǿȀȁȂȃȄȅȆȇȈȉȊȋȌȍȎȏȐȑȒȓȔȕȖȗȘșȚțȜȝȞ";
"\"['''''''''''''''']_\""`"\"\\\"0123456789\\\";\"\"@ABCDEFGHIJKLMNOPQRSTUV\";"`"\"WXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~®¯°±²³´\";""µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪ";
"\"['''''''''''''''']_\"""\"\\\"0123456789\\\";\"\"@ABCDEFGHIJKLMNOPQRSTUV\";""WXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~®¯°±²³´";
"['''''''''''''''']_""\"0123456789\";""@ABCDEFGHIJKLMNOPQRSTUV";
['''''''''''''''']_"0123456789";
''''''''''''''''
''''''''
''''
''
'

As you can see, in each iteration, the right half of the line is a single string appended with ;, thus it gets removed while evaluating.

Try it online

\$\endgroup\$
  • \$\begingroup\$ Your newest version is not a radioactive quine anymore; it introduces new characters. \$\endgroup\$ – Dennis Sep 13 '14 at 13:04
  • \$\begingroup\$ @Dennis - Ah, updating \$\endgroup\$ – Optimizer Sep 13 '14 at 13:08
9
\$\begingroup\$

APL, 10 cycles

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''01'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

That is 511 's, characters 01, and then 511's

Explaintion
In APL, ' are NOT escaped as \' but ''. Yes, double quote marks!!

Proof of correctness
Suppose there are x quote marks on the left side of 01, and x is odd.
Then, number of quote marks on the left side of 01 in the output = (x-1)/2
Similarly, for x quote marks on the right, there is (x-1)/2 quote marks on the right in the output

So, for a program of length L, which has L/2-1 quote marks on each side, the output contains:

  • ((L/2-1)-1)/2 = L/4-1 quote marks on the left
  • 2 characters 01
  • and L/4-1 quote marks on the right

which gives a total of L/2 characters in the output.

Note that because x is a power of 2 minus 1, (x-1)/2 = ((2^n-1)-1)/2 = 2^(n-1)-1 is still a power of 2 minus 1 and odd if n>1

When n = 1, there are 0 quote marks on each side, so the output is 01, which evaluates to 1.

\$\endgroup\$
  • 3
    \$\begingroup\$ Once upon a time APL was the world's finest write-only language because five minutes after writing a program not even the author could explain to you what it did, or how. Today we have languages such as CJam which have eclipsed it in terms of sheer obfuscatory power, but it's good to see that there's still life in the old dog. Well played, sir! :-) \$\endgroup\$ – Bob Jarvis Sep 15 '14 at 9:11
  • \$\begingroup\$ @BobJarvis: I believe Iverson created APL as an example implementation of his notation, which was intended to be a math-like notation for vector operations. I think that's a laudable goal, and still laudable today; you could condense a lot of python programs (particularly those heavy on list comprehensions) into APL transformations. Perhaps it is better to imagine reading APL in size 36 font, as you would an integral, rather than as a line of 12 pixel code. \$\endgroup\$ – Phil H Sep 15 '14 at 13:25
  • 1
    \$\begingroup\$ @PhilH : gee - I kinda thought it was an attempt to produce a Turing-complete implementation of ancient Egyptian hieroglyphics. :-) \$\endgroup\$ – Bob Jarvis Sep 15 '14 at 13:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.