Войти

Маск обвинил Вашингтон в нанесении удара по «деньгам» США в Иране

Маск отреагировал на сообщение о том, что ВВС Израиля, вероятно, нанесли удар по восьмой авиабазе ВВС Ирана.

Кейс снарядов из Чехии повторяет судьбу миллиона снарядов от ЕС

Для поставки всех обещанных боеприпасов потребуется неопределённый период времени.

Бывший вице-президент США объяснил, зачем давать деньги Украине

Майк Пенс предлагает спонсировать не только киевский режим, но также Израиль и Тайвань.

Задержан мигрант из Азербайджана, убивший русского парня в Москве (ФОТО)

21-летний Шахин Аббасов ранее был объявлен в федеральный розыск.

В МВФ предрекли подорожание доллара на Украине

Прогноз обнародован на портале World Economic Outlook.


» » Эстафета из 50-ти квайнов

Эстафета из 50-ти квайнов

Новости, Information technology (IT) » Эстафета из 50-ти квайнов


Эстафета из 50-ти квайнов

Квайн — компьютерная программа, которая выдаёт на выходе точную копию своего исходного текста. Японский рубист Юсукэ Эндо (Yusuke Endoh) создал нечто невероятное. Quine Relay — программа на Ruby, которая генерирует код программы на Scala, которая генерирует код программы на Scheme, которая генерирует… и так далее на 50-ти языках программирования, пока программа на REXX снова не генерирует изначальный код на Ruby.

Для проверки нужно сначала установить в системе все необходимые окружения. Под Ubuntu это можно сделать такой командой:

$ apt-get install algol68g bash beef boo clisp clojure1.4 coffeescript \
  fp-compiler g++ gauche gawk gcc gforth gfortran ghc gnat gnu-smalltalk \
  gobjc golang groovy icont intercal iverilog jasmin-sable llvm lua5.2 \
  make mono-devel mono-mcs nodejs ocaml octave open-cobol openjdk-6-jdk \
  parrot perl php5-cli pike7.8 python r-base regina-rexx ruby1.9.3 scala \
  swi-prolog tcl8.5 ucblogo valac



Запускаем программу с каждым интерпретатором/компилятором, по очереди.

$ ruby QR.rb > QR.scala
$ scalac QR.scala && scala QR > QR.scm
$ gosh QR.scm > QR.bash
$ bash QR.bash > QR.st
$ gst QR.st > QR.tcl
$ tclsh QR.tcl > QR.unl
$ ruby unlambda.rb QR.unl > QR.vala
$ valac QR.vala && ./QR > QR.v
$ iverilog -o QR QR.v && ./QR -vcd-none > QR.ws
$ ruby whitespace.rb QR.ws > QR.adb
$ gnatmake QR.adb && ./QR > QR.a68
$ a68g QR.a68 > QR.awk
$ awk -f QR.awk > QR.boo
$ booi QR.boo > QR.bf
$ beef QR.bf > QR.c
$ gcc -o QR QR.c && ./QR > QR.cpp
$ g++ -o QR QR.cpp && ./QR > QR.cs
$ mcs QR.cs && mono QR.exe > QR.clj
$ clojure QR.clj > QR.cob
$ cobc -x QR.cob && ./QR > QR.coffee
$ coffee QR.coffee > QR.lisp
$ clisp QR.lisp > QR.fs
$ gforth QR.fs > QR.f
$ gfortran -o QR QR.f && ./QR > QR.f90
$ gfortran -o QR QR.f90 && ./QR > QR.go
$ go run QR.go > QR.groovy
$ groovy QR.groovy > QR.hs
$ runghc QR.hs > QR.icn
$ icont -s QR.icn && ./QR > QR.i
$  ick -b QR.i &&  ./QR > QR.j
$ jasmin QR.j && java QR > QR.java
$ javac QR.java && java QR > QR.ll
$ llvm-as QR.ll && lli QR.bc > QR.logo
$ ucblogo QR.logo > QR.lua
$ lua QR.lua > QR.makefile
$ make -f QR.makefile > QR.il
$ ilasm QR.il && mono QR.exe > QR.js
$ nodejs QR.js > QR.m
$ gcc -o QR QR.m && ./QR > QR.ml
$ ocaml QR.ml > QR.octave
$ octave -qf QR.octave > QR.pasm
$ parrot QR.pasm > QR.pas
$ fpc QR.pas && ./QR > QR.pl
$ perl QR.pl > QR.php
$ php QR.php > QR.pike
$ pike QR.pike > QR.prolog
$ swipl -q -t qr -f QR.prolog > QR.py
$ python QR.py > QR.R
$ R --slave < QR.R > QR.rexx
$ rexx ./QR.rexx > QR2.rb



В результате, итоговый код QR2.rb не отличается от первоначального QR.rb.

habrahabr






Читайте также: 



11.09.2013
Похожие статьи:
  • Газпром сворачивает программу газификации регионов
  • Газпром сворачивает программу газификации регионов
    «Газпром» принял программу газификации на 2014 год, которая будет меньше на 18,6%, чем в текущем году, и составит 27,6 млрд рублей. Причиной сокращения программы названы огромные долги потребителей за газ и неисполнение рядом регионов своих обязательств по подготовке потребителей к приёму газа.
  • Росатом в 2016г планирует завершение программы возврата ОЯТ российского про ...
  • Росатом в 2016г планирует завершение программы возврата ОЯТ российского про ...
    Госкорпорация “Росатом” в 2016 году планирует завершение российско-американской программы по возврату высокообогащенного ядерного топлива российского производства.
  • На Новопортовском месторождении завершена программа бурения в рамках опытно ...
  • На Новопортовском месторождении завершена программа бурения в рамках опытно ...
    «Газпром нефть» успешно завершила программу бурения в рамках опытно-промышленного освоения Новопортовского месторождения – одного из самых крупных разрабатываемых месторождений Ямала.
  • Зависимость от Совбеза ООН – провал политики США
  • Зависимость от Совбеза ООН – провал политики США
    Сенатор, мы только что слышали, что сказал о Сирии Лион Панетта. Сегодня в Сирии снова крайне напряженная ситуация. Хуже еще не было. И вы видели, что Россия и Китай наложили вето на попытку ООН применить более жесткие санкции против Сирии. Картина крайне удручающая. По нашим данным, погибли уже
  • Игорь Юргенс, глава Института современного развития, в интервью агентству B ...
  • Игорь Юргенс, глава Института современного развития, в интервью агентству B ...
    Он, безусловно, очень квалифицированный человек, Дмитрий Анатольевич, и, безусловно, справится с работой премьер-министра
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.