diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index c49e6b5a..34554563 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -25,7 +25,6 @@ jobs:
sudo docker cp qr:/usr/local/share/quine-relay/QR.sed spoiler/
sudo docker cp qr:/usr/local/share/quine-relay/QR.spl spoiler/
sudo docker cp qr:/usr/local/share/quine-relay/QR.sl spoiler/
- sudo docker cp qr:/usr/local/share/quine-relay/QR.st spoiler/
sudo docker cp qr:/usr/local/share/quine-relay/QR.sml spoiler/
sudo docker cp qr:/usr/local/share/quine-relay/QR.sq spoiler/
sudo docker cp qr:/usr/local/share/quine-relay/QR.ss spoiler/
@@ -119,6 +118,7 @@ jobs:
sudo docker cp qr:/usr/local/share/quine-relay/QR.mk spoiler/
sudo docker cp qr:/usr/local/share/quine-relay/QR.mac spoiler/
sudo docker cp qr:/usr/local/share/quine-relay/QR.mzn spoiler/
+ sudo docker cp qr:/usr/local/share/quine-relay/QR.mod spoiler/
sudo docker cp qr:/usr/local/share/quine-relay/QR.il spoiler/
sudo docker cp qr:/usr/local/share/quine-relay/QR.mustache spoiler/
sudo docker cp qr:/usr/local/share/quine-relay/QR.asm spoiler/
diff --git a/Dockerfile b/Dockerfile
index a0164be2..2209165d 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:23.04
+FROM ubuntu:23.10
ENV DEBIAN_FRONTEND noninteractive
RUN rm /etc/dpkg/dpkg.cfg.d/excludes
RUN apt-get update && apt-get upgrade -y
@@ -14,7 +14,7 @@ RUN chronic apt-get -qq install -y f2c fish flex fp-compiler && chronic apt-get
RUN chronic apt-get -qq install -y g++ gambas3-gb-pcre gambas3-scripter gap && chronic apt-get clean
RUN chronic apt-get -qq install -y gawk gcc gdb gdc && chronic apt-get clean
RUN chronic apt-get -qq install -y genius gforth gfortran ghc && chronic apt-get clean
-RUN chronic apt-get -qq install -y ghostscript gnat gnu-smalltalk gnucobol4 && chronic apt-get clean
+RUN chronic apt-get -qq install -y ghostscript gm2 gnat gnucobol4 && chronic apt-get clean
RUN chronic apt-get -qq install -y gnuplot gobjc golang gpt && chronic apt-get clean
RUN chronic apt-get -qq install -y groff groovy guile-3.0 gzip && chronic apt-get clean
RUN chronic apt-get -qq install -y haxe icont iconx intercal && chronic apt-get clean
diff --git a/Makefile b/Makefile
index b76df564..68e72d92 100644
--- a/Makefile
+++ b/Makefile
@@ -92,27 +92,19 @@ QR.sl: QR.spl
gcc -z muldefs -o QR -I ./vendor/local/include -L ./vendor/local/lib QR.spl.c -lspl -lm
./QR > QR.sl
-QR.st: QR.sl
+QR.sml: QR.sl
@echo
- @echo "##############################"
- @echo "## 8: S-Lang -> Smalltalk ##"
- @echo "##############################"
- @echo
- slsh QR.sl > QR.st
-
-QR.sml: QR.st
- @echo
- @echo "###################################"
- @echo "## 9: Smalltalk -> Standard ML ##"
- @echo "###################################"
+ @echo "################################"
+ @echo "## 8: S-Lang -> Standard ML ##"
+ @echo "################################"
@echo
- gst QR.st > QR.sml
+ slsh QR.sl > QR.sml
QR.sq: QR.sml
@echo
- @echo "#################################"
- @echo "## 10: Standard ML -> Subleq ##"
- @echo "#################################"
+ @echo "################################"
+ @echo "## 9: Standard ML -> Subleq ##"
+ @echo "################################"
@echo
polyc -o QR QR.sml
./QR > QR.sq
@@ -120,7 +112,7 @@ QR.sq: QR.sml
QR.ss: QR.sq
@echo
@echo "#################################"
- @echo "## 11: Subleq -> SurgeScript ##"
+ @echo "## 10: Subleq -> SurgeScript ##"
@echo "#################################"
@echo
ruby vendor/subleq.rb QR.sq > QR.ss
@@ -128,7 +120,7 @@ QR.ss: QR.sq
QR.tcl: QR.ss
@echo
@echo "##############################"
- @echo "## 12: SurgeScript -> Tcl ##"
+ @echo "## 11: SurgeScript -> Tcl ##"
@echo "##############################"
@echo
surgescript QR.ss > QR.tcl
@@ -136,7 +128,7 @@ QR.tcl: QR.ss
QR.tcsh: QR.tcl
@echo
@echo "#######################"
- @echo "## 13: Tcl -> tcsh ##"
+ @echo "## 12: Tcl -> tcsh ##"
@echo "#######################"
@echo
tclsh QR.tcl > QR.tcsh
@@ -144,7 +136,7 @@ QR.tcsh: QR.tcl
QR.t: QR.tcsh
@echo
@echo "########################"
- @echo "## 14: tcsh -> Thue ##"
+ @echo "## 13: tcsh -> Thue ##"
@echo "########################"
@echo
tcsh QR.tcsh > QR.t
@@ -152,7 +144,7 @@ QR.t: QR.tcsh
QR.ts: QR.t
@echo
@echo "##############################"
- @echo "## 15: Thue -> TypeScript ##"
+ @echo "## 14: Thue -> TypeScript ##"
@echo "##############################"
@echo
ruby vendor/thue.rb QR.t > QR.ts
@@ -160,7 +152,7 @@ QR.ts: QR.t
QR.unl: QR.ts
@echo
@echo "##################################"
- @echo "## 16: TypeScript -> Unlambda ##"
+ @echo "## 15: TypeScript -> Unlambda ##"
@echo "##################################"
@echo
tsc --outFile QR.ts.js QR.ts
@@ -169,7 +161,7 @@ QR.unl: QR.ts
QR.vala: QR.unl
@echo
@echo "############################"
- @echo "## 17: Unlambda -> Vala ##"
+ @echo "## 16: Unlambda -> Vala ##"
@echo "############################"
@echo
ruby vendor/unlambda.rb QR.unl > QR.vala
@@ -177,7 +169,7 @@ QR.vala: QR.unl
QR.mid: QR.vala
@echo
@echo "##########################"
- @echo "## 18: Vala -> Velato ##"
+ @echo "## 17: Vala -> Velato ##"
@echo "##########################"
@echo
valac QR.vala
@@ -186,7 +178,7 @@ QR.mid: QR.vala
QR.v: QR.mid
@echo
@echo "#############################"
- @echo "## 19: Velato -> Verilog ##"
+ @echo "## 18: Velato -> Verilog ##"
@echo "#############################"
@echo
mono vendor/local/bin/Vlt.exe /s QR.mid
@@ -195,7 +187,7 @@ QR.v: QR.mid
QR.vim: QR.v
@echo
@echo "################################"
- @echo "## 20: Verilog -> Vimscript ##"
+ @echo "## 19: Verilog -> Vimscript ##"
@echo "################################"
@echo
iverilog -o QR QR.v
@@ -204,7 +196,7 @@ QR.vim: QR.v
QR.vb: QR.vim
@echo
@echo "#####################################"
- @echo "## 21: Vimscript -> Visual Basic ##"
+ @echo "## 20: Vimscript -> Visual Basic ##"
@echo "#####################################"
@echo
vim -EsS QR.vim > QR.vb
@@ -212,7 +204,7 @@ QR.vb: QR.vim
QR.wasm: QR.vb
@echo
@echo "#######################################################"
- @echo "## 22: Visual Basic -> WebAssembly (Binary format) ##"
+ @echo "## 21: Visual Basic -> WebAssembly (Binary format) ##"
@echo "#######################################################"
@echo
echo 'Exenet7.0false' > tmp.vbproj
@@ -221,7 +213,7 @@ QR.wasm: QR.vb
QR.wat: QR.wasm
@echo
@echo "####################################################################"
- @echo "## 23: WebAssembly (Binary format) -> WebAssembly (Text format) ##"
+ @echo "## 22: WebAssembly (Binary format) -> WebAssembly (Text format) ##"
@echo "####################################################################"
@echo
$(WASI_RUNTIME) QR.wasm > QR.wat
@@ -229,7 +221,7 @@ QR.wat: QR.wasm
QR.ws: QR.wat
@echo
@echo "###################################################"
- @echo "## 24: WebAssembly (Text format) -> Whitespace ##"
+ @echo "## 23: WebAssembly (Text format) -> Whitespace ##"
@echo "###################################################"
@echo
wat2wasm QR.wat -o QR.wat.wasm
@@ -238,7 +230,7 @@ QR.ws: QR.wat
QR.xslt: QR.ws
@echo
@echo "##############################"
- @echo "## 25: Whitespace -> XSLT ##"
+ @echo "## 24: Whitespace -> XSLT ##"
@echo "##############################"
@echo
ruby vendor/whitespace.rb QR.ws > QR.xslt
@@ -246,7 +238,7 @@ QR.xslt: QR.ws
QR.yab: QR.xslt
@echo
@echo "###########################"
- @echo "## 26: XSLT -> Yabasic ##"
+ @echo "## 25: XSLT -> Yabasic ##"
@echo "###########################"
@echo
xsltproc QR.xslt > QR.yab
@@ -254,7 +246,7 @@ QR.yab: QR.xslt
QR.yorick: QR.yab
@echo
@echo "#############################"
- @echo "## 27: Yabasic -> Yorick ##"
+ @echo "## 26: Yabasic -> Yorick ##"
@echo "#############################"
@echo
yabasic QR.yab > QR.yorick
@@ -262,7 +254,7 @@ QR.yorick: QR.yab
QR.azm: QR.yorick
@echo
@echo "##########################"
- @echo "## 28: Yorick -> Zoem ##"
+ @echo "## 27: Yorick -> Zoem ##"
@echo "##########################"
@echo
yorick -batch QR.yorick > QR.azm
@@ -270,7 +262,7 @@ QR.azm: QR.yorick
QR.zsh: QR.azm
@echo
@echo "#######################"
- @echo "## 29: Zoem -> zsh ##"
+ @echo "## 28: Zoem -> zsh ##"
@echo "#######################"
@echo
zoem -i QR.azm > QR.zsh
@@ -278,7 +270,7 @@ QR.zsh: QR.azm
QR.+: QR.zsh
@echo
@echo "#####################"
- @echo "## 30: zsh -> A+ ##"
+ @echo "## 29: zsh -> A+ ##"
@echo "#####################"
@echo
zsh QR.zsh > QR.+
@@ -286,7 +278,7 @@ QR.+: QR.zsh
qr.adb: QR.+
@echo
@echo "#####################"
- @echo "## 31: A+ -> Ada ##"
+ @echo "## 30: A+ -> Ada ##"
@echo "#####################"
@echo
a+ QR.+ > qr.adb
@@ -294,7 +286,7 @@ qr.adb: QR.+
QR.als: qr.adb
@echo
@echo "########################"
- @echo "## 32: Ada -> AFNIX ##"
+ @echo "## 31: Ada -> AFNIX ##"
@echo "########################"
@echo
gnatmake qr.adb
@@ -303,7 +295,7 @@ QR.als: qr.adb
QR.aheui: QR.als
@echo
@echo "##########################"
- @echo "## 33: AFNIX -> Aheui ##"
+ @echo "## 32: AFNIX -> Aheui ##"
@echo "##########################"
@echo
LANG=C LD_LIBRARY_PATH=/usr/lib/afnix axi QR.als > QR.aheui
@@ -311,7 +303,7 @@ QR.aheui: QR.als
QR.a68: QR.aheui
@echo
@echo "#############################"
- @echo "## 34: Aheui -> ALGOL 68 ##"
+ @echo "## 33: Aheui -> ALGOL 68 ##"
@echo "#############################"
@echo
ruby vendor/aheui.rb QR.aheui > QR.a68
@@ -319,7 +311,7 @@ QR.a68: QR.aheui
QR.ante: QR.a68
@echo
@echo "############################"
- @echo "## 35: ALGOL 68 -> Ante ##"
+ @echo "## 34: ALGOL 68 -> Ante ##"
@echo "############################"
@echo
a68g QR.a68 > QR.ante
@@ -327,7 +319,7 @@ QR.ante: QR.a68
QR.aj: QR.ante
@echo
@echo "###########################"
- @echo "## 36: Ante -> AspectJ ##"
+ @echo "## 35: Ante -> AspectJ ##"
@echo "###########################"
@echo
ruby vendor/ante.rb QR.ante > QR.aj
@@ -335,7 +327,7 @@ QR.aj: QR.ante
QR.asy: QR.aj
@echo
@echo "################################"
- @echo "## 37: AspectJ -> Asymptote ##"
+ @echo "## 36: AspectJ -> Asymptote ##"
@echo "################################"
@echo
ajc QR.aj
@@ -344,7 +336,7 @@ QR.asy: QR.aj
QR.dats: QR.asy
@echo
@echo "############################"
- @echo "## 38: Asymptote -> ATS ##"
+ @echo "## 37: Asymptote -> ATS ##"
@echo "############################"
@echo
asy QR.asy > QR.dats
@@ -352,7 +344,7 @@ QR.dats: QR.asy
QR.awk: QR.dats
@echo
@echo "######################"
- @echo "## 39: ATS -> Awk ##"
+ @echo "## 38: ATS -> Awk ##"
@echo "######################"
@echo
patscc -o QR QR.dats
@@ -361,7 +353,7 @@ QR.awk: QR.dats
QR.bash: QR.awk
@echo
@echo "#######################"
- @echo "## 40: Awk -> bash ##"
+ @echo "## 39: Awk -> bash ##"
@echo "#######################"
@echo
awk -f QR.awk > QR.bash
@@ -369,7 +361,7 @@ QR.bash: QR.awk
QR.bc: QR.bash
@echo
@echo "######################"
- @echo "## 41: bash -> bc ##"
+ @echo "## 40: bash -> bc ##"
@echo "######################"
@echo
bash QR.bash > QR.bc
@@ -377,7 +369,7 @@ QR.bc: QR.bash
QR.bsh: QR.bc
@echo
@echo "###########################"
- @echo "## 42: bc -> BeanShell ##"
+ @echo "## 41: bc -> BeanShell ##"
@echo "###########################"
@echo
BC_LINE_LENGTH=4000000 bc -q QR.bc > QR.bsh
@@ -385,7 +377,7 @@ QR.bsh: QR.bc
QR.bef: QR.bsh
@echo
@echo "################################"
- @echo "## 43: BeanShell -> Befunge ##"
+ @echo "## 42: BeanShell -> Befunge ##"
@echo "################################"
@echo
bsh QR.bsh > QR.bef
@@ -393,7 +385,7 @@ QR.bef: QR.bsh
QR.Blc: QR.bef
@echo
@echo "###########################"
- @echo "## 44: Befunge -> BLC8 ##"
+ @echo "## 43: Befunge -> BLC8 ##"
@echo "###########################"
@echo
cfunge QR.bef > QR.Blc
@@ -401,7 +393,7 @@ QR.Blc: QR.bef
QR.bf: QR.Blc
@echo
@echo "#############################"
- @echo "## 45: BLC8 -> Brainfuck ##"
+ @echo "## 44: BLC8 -> Brainfuck ##"
@echo "#############################"
@echo
ruby vendor/blc.rb < QR.Blc > QR.bf
@@ -409,7 +401,7 @@ QR.bf: QR.Blc
QR.c: QR.bf
@echo
@echo "##########################"
- @echo "## 46: Brainfuck -> C ##"
+ @echo "## 45: Brainfuck -> C ##"
@echo "##########################"
@echo
ruby vendor/bf.rb QR.bf > QR.c
@@ -417,7 +409,7 @@ QR.c: QR.bf
QR.cpp: QR.c
@echo
@echo "####################"
- @echo "## 47: C -> C++ ##"
+ @echo "## 46: C -> C++ ##"
@echo "####################"
@echo
$(CC) -o QR QR.c
@@ -426,7 +418,7 @@ QR.cpp: QR.c
QR.cs: QR.cpp
@echo
@echo "#####################"
- @echo "## 48: C++ -> C# ##"
+ @echo "## 47: C++ -> C# ##"
@echo "#####################"
@echo
$(CXX) -o QR QR.cpp
@@ -435,7 +427,7 @@ QR.cs: QR.cpp
QR.chef: QR.cs
@echo
@echo "######################"
- @echo "## 49: C# -> Chef ##"
+ @echo "## 48: C# -> Chef ##"
@echo "######################"
@echo
echo 'Exenet7.0false' > tmp.csproj
@@ -444,7 +436,7 @@ QR.chef: QR.cs
QR.clj: QR.chef
@echo
@echo "###########################"
- @echo "## 50: Chef -> Clojure ##"
+ @echo "## 49: Chef -> Clojure ##"
@echo "###########################"
@echo
PERL5LIB=vendor/local/lib/perl5 compilechef QR.chef QR.chef.pl
@@ -453,7 +445,7 @@ QR.clj: QR.chef
QR.cmake: QR.clj
@echo
@echo "############################"
- @echo "## 51: Clojure -> CMake ##"
+ @echo "## 50: Clojure -> CMake ##"
@echo "############################"
@echo
clojure QR.clj > QR.cmake
@@ -461,7 +453,7 @@ QR.cmake: QR.clj
QR.cob: QR.cmake
@echo
@echo "##########################"
- @echo "## 52: CMake -> Cobol ##"
+ @echo "## 51: CMake -> Cobol ##"
@echo "##########################"
@echo
cmake -P QR.cmake > QR.cob
@@ -469,7 +461,7 @@ QR.cob: QR.cmake
QR.coffee: QR.cob
@echo
@echo "#################################"
- @echo "## 53: Cobol -> CoffeeScript ##"
+ @echo "## 52: Cobol -> CoffeeScript ##"
@echo "#################################"
@echo
cobc -O2 -x QR.cob
@@ -478,7 +470,7 @@ QR.coffee: QR.cob
QR.lisp: QR.coffee
@echo
@echo "#######################################"
- @echo "## 54: CoffeeScript -> Common Lisp ##"
+ @echo "## 53: CoffeeScript -> Common Lisp ##"
@echo "#######################################"
@echo
coffee --nodejs --stack_size=100000 QR.coffee > QR.lisp
@@ -486,7 +478,7 @@ QR.lisp: QR.coffee
QR.cr: QR.lisp
@echo
@echo "##################################"
- @echo "## 55: Common Lisp -> Crystal ##"
+ @echo "## 54: Common Lisp -> Crystal ##"
@echo "##################################"
@echo
clisp QR.lisp > QR.cr
@@ -494,7 +486,7 @@ QR.cr: QR.lisp
QR.d: QR.cr
@echo
@echo "########################"
- @echo "## 56: Crystal -> D ##"
+ @echo "## 55: Crystal -> D ##"
@echo "########################"
@echo
crystal QR.cr > QR.d
@@ -502,7 +494,7 @@ QR.d: QR.cr
QR.dfy: QR.d
@echo
@echo "######################"
- @echo "## 57: D -> Dafny ##"
+ @echo "## 56: D -> Dafny ##"
@echo "######################"
@echo
gdc -o QR QR.d
@@ -511,7 +503,7 @@ QR.dfy: QR.d
QR.dc: QR.dfy
@echo
@echo "#######################"
- @echo "## 58: Dafny -> dc ##"
+ @echo "## 57: Dafny -> dc ##"
@echo "#######################"
@echo
dafny QR.dfy
@@ -520,7 +512,7 @@ QR.dc: QR.dfy
QR.dhall: QR.dc
@echo
@echo "#######################"
- @echo "## 59: dc -> Dhall ##"
+ @echo "## 58: dc -> Dhall ##"
@echo "#######################"
@echo
dc QR.dc > QR.dhall || true
@@ -528,7 +520,7 @@ QR.dhall: QR.dc
QR.exs: QR.dhall
@echo
@echo "###########################"
- @echo "## 60: Dhall -> Elixir ##"
+ @echo "## 59: Dhall -> Elixir ##"
@echo "###########################"
@echo
dhall text --file QR.dhall > QR.exs
@@ -536,7 +528,7 @@ QR.exs: QR.dhall
QR.el: QR.exs
@echo
@echo "################################"
- @echo "## 61: Elixir -> Emacs Lisp ##"
+ @echo "## 60: Elixir -> Emacs Lisp ##"
@echo "################################"
@echo
elixir QR.exs > QR.el
@@ -544,7 +536,7 @@ QR.el: QR.exs
QR.erl: QR.el
@echo
@echo "################################"
- @echo "## 62: Emacs Lisp -> Erlang ##"
+ @echo "## 61: Emacs Lisp -> Erlang ##"
@echo "################################"
@echo
emacs -Q --script QR.el > QR.erl
@@ -552,7 +544,7 @@ QR.erl: QR.el
QR.fsx: QR.erl
@echo
@echo "########################"
- @echo "## 63: Erlang -> F# ##"
+ @echo "## 62: Erlang -> F# ##"
@echo "########################"
@echo
escript QR.erl > QR.fsx
@@ -560,7 +552,7 @@ QR.fsx: QR.erl
QR.false: QR.fsx
@echo
@echo "#######################"
- @echo "## 64: F# -> FALSE ##"
+ @echo "## 63: F# -> FALSE ##"
@echo "#######################"
@echo
echo 'Exenet7.0false' > tmp.fsproj
@@ -569,7 +561,7 @@ QR.false: QR.fsx
QR.fl: QR.false
@echo
@echo "#########################"
- @echo "## 65: FALSE -> Flex ##"
+ @echo "## 64: FALSE -> Flex ##"
@echo "#########################"
@echo
ruby vendor/false.rb QR.false > QR.fl
@@ -577,7 +569,7 @@ QR.fl: QR.false
QR.fish: QR.fl
@echo
@echo "########################"
- @echo "## 66: Flex -> Fish ##"
+ @echo "## 65: Flex -> Fish ##"
@echo "########################"
@echo
flex -o QR.fl.c QR.fl
@@ -587,7 +579,7 @@ QR.fish: QR.fl
QR.fs: QR.fish
@echo
@echo "#########################"
- @echo "## 67: Fish -> Forth ##"
+ @echo "## 66: Fish -> Forth ##"
@echo "#########################"
@echo
fish QR.fish > QR.fs
@@ -595,7 +587,7 @@ QR.fs: QR.fish
QR.f: QR.fs
@echo
@echo "##############################"
- @echo "## 68: Forth -> FORTRAN77 ##"
+ @echo "## 67: Forth -> FORTRAN77 ##"
@echo "##############################"
@echo
gforth QR.fs > QR.f
@@ -603,7 +595,7 @@ QR.f: QR.fs
QR.f90: QR.f
@echo
@echo "##################################"
- @echo "## 69: FORTRAN77 -> Fortran90 ##"
+ @echo "## 68: FORTRAN77 -> Fortran90 ##"
@echo "##################################"
@echo
@mv QR.c QR.c.bak
@@ -614,7 +606,7 @@ QR.f90: QR.f
QR.gbs: QR.f90
@echo
@echo "######################################"
- @echo "## 70: Fortran90 -> Gambas script ##"
+ @echo "## 69: Fortran90 -> Gambas script ##"
@echo "######################################"
@echo
gfortran -o QR QR.f90
@@ -623,7 +615,7 @@ QR.gbs: QR.f90
QR.g: QR.gbs
@echo
@echo "################################"
- @echo "## 71: Gambas script -> GAP ##"
+ @echo "## 70: Gambas script -> GAP ##"
@echo "################################"
@echo
$(GBS) QR.gbs > QR.g
@@ -631,7 +623,7 @@ QR.g: QR.gbs
QR.gdb: QR.g
@echo
@echo "######################"
- @echo "## 72: GAP -> GDB ##"
+ @echo "## 71: GAP -> GDB ##"
@echo "######################"
@echo
gap -q QR.g > QR.gdb
@@ -639,7 +631,7 @@ QR.gdb: QR.g
QR.gel: QR.gdb
@echo
@echo "###############################"
- @echo "## 73: GDB -> GEL (Genius) ##"
+ @echo "## 72: GDB -> GEL (Genius) ##"
@echo "###############################"
@echo
gdb -q -x QR.gdb > QR.gel
@@ -647,7 +639,7 @@ QR.gel: QR.gdb
QR.plt: QR.gel
@echo
@echo "###################################"
- @echo "## 74: GEL (Genius) -> Gnuplot ##"
+ @echo "## 73: GEL (Genius) -> Gnuplot ##"
@echo "###################################"
@echo
genius QR.gel > QR.plt
@@ -655,7 +647,7 @@ QR.plt: QR.gel
QR.go: QR.plt
@echo
@echo "#########################"
- @echo "## 75: Gnuplot -> Go ##"
+ @echo "## 74: Gnuplot -> Go ##"
@echo "#########################"
@echo
gnuplot QR.plt > QR.go
@@ -663,7 +655,7 @@ QR.go: QR.plt
QR.gs: QR.go
@echo
@echo "############################"
- @echo "## 76: Go -> GolfScript ##"
+ @echo "## 75: Go -> GolfScript ##"
@echo "############################"
@echo
go run QR.go > QR.gs
@@ -671,7 +663,7 @@ QR.gs: QR.go
QR.gpt: QR.gs
@echo
@echo "####################################"
- @echo "## 77: GolfScript -> G-Portugol ##"
+ @echo "## 76: GolfScript -> G-Portugol ##"
@echo "####################################"
@echo
ruby vendor/golfscript.rb QR.gs > QR.gpt
@@ -679,7 +671,7 @@ QR.gpt: QR.gs
QR.grass: QR.gpt
@echo
@echo "###############################"
- @echo "## 78: G-Portugol -> Grass ##"
+ @echo "## 77: G-Portugol -> Grass ##"
@echo "###############################"
@echo
mv QR.c QR.c.bak
@@ -691,7 +683,7 @@ QR.grass: QR.gpt
QR.groovy: QR.grass
@echo
@echo "###########################"
- @echo "## 79: Grass -> Groovy ##"
+ @echo "## 78: Grass -> Groovy ##"
@echo "###########################"
@echo
ruby vendor/grass.rb QR.grass > QR.groovy
@@ -699,7 +691,7 @@ QR.groovy: QR.grass
QR.gz: QR.groovy
@echo
@echo "##########################"
- @echo "## 80: Groovy -> Gzip ##"
+ @echo "## 79: Groovy -> Gzip ##"
@echo "##########################"
@echo
groovy QR.groovy > QR.gz
@@ -707,7 +699,7 @@ QR.gz: QR.groovy
QR.hs: QR.gz
@echo
@echo "###########################"
- @echo "## 81: Gzip -> Haskell ##"
+ @echo "## 80: Gzip -> Haskell ##"
@echo "###########################"
@echo
gzip -cd QR.gz > QR.hs
@@ -715,7 +707,7 @@ QR.hs: QR.gz
QR.hx: QR.hs
@echo
@echo "###########################"
- @echo "## 82: Haskell -> Haxe ##"
+ @echo "## 81: Haskell -> Haxe ##"
@echo "###########################"
@echo
ghc QR.hs
@@ -724,7 +716,7 @@ QR.hx: QR.hs
QR.icn: QR.hx
@echo
@echo "########################"
- @echo "## 83: Haxe -> Icon ##"
+ @echo "## 82: Haxe -> Icon ##"
@echo "########################"
@echo
haxe -main QR -neko QR.n
@@ -733,7 +725,7 @@ QR.icn: QR.hx
QR.i: QR.icn
@echo
@echo "############################"
- @echo "## 84: Icon -> INTERCAL ##"
+ @echo "## 83: Icon -> INTERCAL ##"
@echo "############################"
@echo
icont -s QR.icn
@@ -742,7 +734,7 @@ QR.i: QR.icn
QR.j: QR.i
@echo
@echo "##############################"
- @echo "## 85: INTERCAL -> Jasmin ##"
+ @echo "## 84: INTERCAL -> Jasmin ##"
@echo "##############################"
@echo
@mv QR.c QR.c.bak
@@ -754,7 +746,7 @@ QR.j: QR.i
QR.java: QR.j
@echo
@echo "##########################"
- @echo "## 86: Jasmin -> Java ##"
+ @echo "## 85: Jasmin -> Java ##"
@echo "##########################"
@echo
jasmin QR.j
@@ -763,7 +755,7 @@ QR.java: QR.j
QR.js: QR.java
@echo
@echo "##############################"
- @echo "## 87: Java -> JavaScript ##"
+ @echo "## 86: Java -> JavaScript ##"
@echo "##############################"
@echo
javac QR.java
@@ -772,7 +764,7 @@ QR.js: QR.java
QR.jq: QR.js
@echo
@echo "############################"
- @echo "## 88: JavaScript -> Jq ##"
+ @echo "## 87: JavaScript -> Jq ##"
@echo "############################"
@echo
$(JAVASCRIPT) QR.js > QR.jq
@@ -780,7 +772,7 @@ QR.jq: QR.js
QR.jsfuck: QR.jq
@echo
@echo "########################"
- @echo "## 89: Jq -> JSFuck ##"
+ @echo "## 88: Jq -> JSFuck ##"
@echo "########################"
@echo
jq -r -n -f QR.jq > QR.jsfuck
@@ -788,7 +780,7 @@ QR.jsfuck: QR.jq
QR.kt: QR.jsfuck
@echo
@echo "############################"
- @echo "## 90: JSFuck -> Kotlin ##"
+ @echo "## 89: JSFuck -> Kotlin ##"
@echo "############################"
@echo
ulimit -s unlimited && $(JAVASCRIPT) --stack_size=100000 QR.jsfuck > QR.kt
@@ -796,7 +788,7 @@ QR.kt: QR.jsfuck
QR.ksh: QR.kt
@echo
@echo "#########################"
- @echo "## 91: Kotlin -> ksh ##"
+ @echo "## 90: Kotlin -> ksh ##"
@echo "#########################"
@echo
kotlinc QR.kt -include-runtime -d QR.jar
@@ -805,7 +797,7 @@ QR.ksh: QR.kt
QR.lazy: QR.ksh
@echo
@echo "#########################"
- @echo "## 92: ksh -> Lazy K ##"
+ @echo "## 91: ksh -> Lazy K ##"
@echo "#########################"
@echo
ksh QR.ksh > QR.lazy
@@ -813,7 +805,7 @@ QR.lazy: QR.ksh
qr.li: QR.lazy
@echo
@echo "############################"
- @echo "## 93: Lazy K -> Lisaac ##"
+ @echo "## 92: Lazy K -> Lisaac ##"
@echo "############################"
@echo
lazyk QR.lazy > qr.li
@@ -821,7 +813,7 @@ qr.li: QR.lazy
QR.ls: qr.li
@echo
@echo "################################"
- @echo "## 94: Lisaac -> LiveScript ##"
+ @echo "## 93: Lisaac -> LiveScript ##"
@echo "################################"
@echo
@mv QR.c QR.c.bak
@@ -832,7 +824,7 @@ QR.ls: qr.li
QR.ll: QR.ls
@echo
@echo "##################################"
- @echo "## 95: LiveScript -> LLVM asm ##"
+ @echo "## 94: LiveScript -> LLVM asm ##"
@echo "##################################"
@echo
lsc QR.ls > QR.ll
@@ -840,7 +832,7 @@ QR.ll: QR.ls
QR.lol: QR.ll
@echo
@echo "###############################"
- @echo "## 96: LLVM asm -> LOLCODE ##"
+ @echo "## 95: LLVM asm -> LOLCODE ##"
@echo "###############################"
@echo
@mv QR.bc QR.bc.bak
@@ -851,7 +843,7 @@ QR.lol: QR.ll
QR.lua: QR.lol
@echo
@echo "##########################"
- @echo "## 97: LOLCODE -> Lua ##"
+ @echo "## 96: LOLCODE -> Lua ##"
@echo "##########################"
@echo
lci QR.lol > QR.lua
@@ -859,7 +851,7 @@ QR.lua: QR.lol
QR.m4: QR.lua
@echo
@echo "#####################"
- @echo "## 98: Lua -> M4 ##"
+ @echo "## 97: Lua -> M4 ##"
@echo "#####################"
@echo
lua5.3 QR.lua > QR.m4
@@ -867,36 +859,45 @@ QR.m4: QR.lua
QR.mk: QR.m4
@echo
@echo "##########################"
- @echo "## 99: M4 -> Makefile ##"
+ @echo "## 98: M4 -> Makefile ##"
@echo "##########################"
@echo
m4 QR.m4 > QR.mk
QR.mac: QR.mk
@echo
- @echo "###############################"
- @echo "## 100: Makefile -> Maxima ##"
- @echo "###############################"
+ @echo "##############################"
+ @echo "## 99: Makefile -> Maxima ##"
+ @echo "##############################"
@echo
make -f QR.mk > QR.mac
QR.mzn: QR.mac
@echo
@echo "###############################"
- @echo "## 101: Maxima -> MiniZinc ##"
+ @echo "## 100: Maxima -> MiniZinc ##"
@echo "###############################"
@echo
@if [ "$(CI)" = "true" ]; then mv /tmp /tmp.bak && ln -s /dev/shm /tmp; fi
maxima -q --init-mac=QR.mac > QR.mzn
@if [ "$(CI)" = "true" ]; then rm /tmp && mv /tmp.bak /tmp; fi
-QR.il: QR.mzn
+QR.mod: QR.mzn
+ @echo
+ @echo "#################################"
+ @echo "## 101: MiniZinc -> Modula-2 ##"
+ @echo "#################################"
+ @echo
+ minizinc --solver Gecode --soln-sep '' QR.mzn > QR.mod
+
+QR.il: QR.mod
@echo
@echo "#############################"
- @echo "## 102: MiniZinc -> MSIL ##"
+ @echo "## 102: Modula-2 -> MSIL ##"
@echo "#############################"
@echo
- minizinc --solver Gecode --soln-sep '' QR.mzn > QR.il
+ gm2 -fiso QR.mod -o QR
+ ./QR > QR.il
QR.mustache: QR.il
@echo
diff --git a/QR.rb b/QR.rb
index fab547fe..a53bfa80 100644
--- a/QR.rb
+++ b/QR.rb
@@ -1,65 +1,67 @@
-eval$s=%q(eval(%w(B=92.chr;g=32.chr;puts(eval(%q(N=10.chr;n=0;e=->s{Q[Q[s,B],?"].K(N,B+?n)};E=->s{'("'+e[s]+'")'};d=->s,t=?"{s.K(t){t+t}};def~f(s,n)s.K(/.{1,#{n*255}}/m){yield$S=E[$s=$&]}end;Q=->s,t=?${s.K(t){B+$&}};R=";return~0;";V=->s,a,z{s.K(/(
-#{B*4})+/){a+"#{$&.size/2}"+z}};C=%w(System.Console~Write);$C=C*?.;$D="program~QR";$G="~contents~of"+$F="~the~mix!g~bowl";$L="public~static";$W="s.WriteByte";rp=->s,r{v="";[r.!ject(s){|s,j|o={};m=n=0;s.size.times{|i|o[f=s[i,2]]||=0;c=o[f]+=1;m(p(3+ord~c);Z"-1~0~";c))#{E[~~~~~~%(object"Application"{state"ma!"{foreach(s~![#{f(%(puts~"#{Q[e[%(echo~'a::=`x7e#{Q[Q["let~s=#{E[%(void~p(!t[]c){foreach(!t~v~!~c)stdo
-ut.Zf("%c%c",v/256,v%256);}void~mX{!t[]a;p({19796,26724,0,6,0,1,480,19796,29291,#{s=%(module~QR;!itial~beg!~#{f((%(Module~QR`nSub~MX`nDim~c,n:Dim~s~As~Object=#{C[0]}.OpenStandardOutput():Dim~t()As~Short={26,34,86,127,148,158,200}:For~Each~d~!"Basm
-CBBBCRE`x60F<<<D`x21BE@ABRCABRCABRCA`x4a`x21CE@~B-BB~CACk:CvACqRC~COBMADRCACRCADRCABRCABRC~BACj:B-BBOBMADRCADRCADRCAFRCMM}
-CBABM`x7e#{40.chr}BBBCBBB,BBBDBBB0BBBDBBB4BBB=BBB?BBB;BBB~...^t..^n..(module(import~:wasi_snapshot_preview1:~:fd_H:~(func(param~i32~i32~i32~i32)(result~i32)))(memory(export~:memory:)(data~:^08^00^00^00$:))(func(export~:_start:)i32.const~1~i32.cons
-t~0~i32.const~1~i32.const~0~call~0~drop))":c=Asc(d):If~c=36:For~c=0To~11:#$W(If(c~Mod~3,Asc(#{s="<#{U="xsl:template"}~match='/'><`x21[C DATA[#{%( sub~f(s$,n)Z(s$);:for~i=1to~n~Z("Y");:next:end~sub:f("#{V[e[%(H,format="#{y="";f("^H{-}{txt}{#{Q["echo~-E~$'#{Q[Q[E[%(with~Ada.Text_Io;procedure~qr~is~beg!~Ada.Text_Io.Put("
-#{d[%(trans~B(Buffer)`ntrans~O(n){`nB:add(Byte(+~12 8~n))} `ntr ans~f(v~ n){`nO(+(/~n~64)107)`nO(n:mod~64)`nO~v}`ntrans~D(n){if(<~n~4){f(+(*~6~n)9)48}{if(n:odd-p){D(-~n~3)`nf~27~48`nf~36~11}{D(/~n~2)`nf~21~48`nf~48~20}}}`ntrans~S(Buffe
-r"#{e[%W[STRINGz:=~226+~153,a:=z+~166,b:=a+"2"+z+ ~16 0 ,c:=b+"8"+z+~165,t:="#{d[%(class~QR{#$L~void~ma!(SJ[]a){a=#{E["H('#{Q[e["implement~m a!0()=Z"+E["BEGIN{Z#{E[%(echo~'#{%(f(s){System.out.Z(s);}s="389
-**6+44*6+00p45*,";for(c:#{E[(s="#!clude `n!t~mX{std::cout<<#{E[%(class~Program{#$L~void~MX{#$C("Qu!e~Re lay~Coffee.^n^nIngredients.^n");for(!t~i=9;i++<126;)#$C
-($"{i}~g~caffe!e~{i}^n");#$C("^nMethod.^n");f oreach(char~c~!#{E[%((doseq[s(lazy-cat["IDENTIFICATION~DIVIS ION.""PROGRAM-ID.~QR.""PROCEDURE~DIVISION."'DISPLA
-`x59](map~#(str"~~~~^""(.replace~%1"^"""^"^" ")"^"")(re-seq~#".{1,45}""#{e["(f=(n)->Array(n+1) .jo!~'Y');console.log('%s',#{V[E[%((H-l!e"#{e[
-"puts#{E["import~std.stdio;void~mX{H(`x60#{ %(method~MX{Z(@"#{d["['']p[#{"IO.puts"+E[% ((pr!c~"#{e["`nma!(_)->`nio:fH#{d[E['Zfn(""
-"'+d[?"+"%option~noyywrap`n%%`n%%`n!t~mX{ puts#{E["echo~'#{Q[Q[%(~:~A~."#{g*9}"~;~: ~B~A~."~WRITE(*,*)'"~A~;~:~C~B~T`x59PE~.
-"~'"~CR~;~:~D~S"~#$D"~C~S^"~Z~^"(&"~C~S ^"~# {e[%(Z"#{e["s:=OutputTextUser();Wr iteAll(s,#{E[% (Zf"#{e[d[f('set~Z"-";Z'+E[%(package~
-ma!;import"fmt";func~mX{fmt.Pr!t#{E[%( 236:j ;{119:i;{206i-:i;.48<{71+}{[ i]^48-*}if}%}:t;"algoritmo~Q R;!"[195][173]++'cio~imprima("'"0131
-41"t"/12131"t~6*"/1:1918151:??6271413 /4=3 626612/2/353251215/`x5a0`x5 a0R"t"#{e[%(z=new~java.util.zip.G`x5aI POutputStream(System.out);z.H('#{"
-ma!=putStr"+E["class~QR{#$L~function~ mX{neko.Lib.Z#{E[%(pro cedure~mX;i:=c:=0;s:=# {E[%(.class~public~QR`n.super~#{$T="java/io/ Pr!tStream"}`n.method~#$L~ma!([L
-#{S="java/lang/S"}J;)V~;]`n.limit~sta ck~2 `ngetstatic~#{S}ystem/out~L#$T;`nl dc~"#{e[%(class~Q R{#$L~void~ma!(SJ[]v){SJ~c[]=new~SJ[99999],y="",z= y,s="#{z=t=(0..r=q=126).map{|n|
-[n,[]]};a="";b=->n{a<<(n%78+55)%84+42}; (%(P={0:'[+[]]',m:'((+[])'+(C="['constructor']")+ "+[])['11']"} ;for(R~!~B=('`x21[]@`x21`x21[]@[][[]]@'+(A="[]['fill'] ")+"@([]+[])['fontcolor']([])
-@(+('11e20')+[])['split']([])@"+A+C+ "('return~escape')()("+A+')').split('@'))for(E~!~D= eval(G='('+B [R]+'+[])'))P[T=D[E]]=P[T]||G+"['"+E+"']";for(G='[',B=0;++ B<36;)P[D=B.toSJ(36)]=B<10?(
-G+='+`x21+[]')+']':P[D]||"(+('"+B +"'))['to'+([]+[])"+C+"['name']]('36')";A+=C+"('console. log(unes cape(^"";for(E~!~G=#{E["fun~ma!(a:Array){Z#{Q[E[%(s=();a( ){~s+=($(echo~-n~$1|od~-An~
--tu1~-v)~$2);};a~"Section`x48ead er+name:=QR;SectionPublic-ma!<-("~10;t='#{"console.log"+Q[E[ %(@s =global[#{i=(s=%(`x48AI~1.2`nVISIBLE~"#{"x=sJ.K(#{V[E["changequot e(<@,@>)`ndef!e(p,<@#{"all
-:`n`t@echo~'#{d["l!el:99999;Z# {E["solve~satisfy;output~[#{E[%(.assembly~t{}.method~#$L~void~M X{ .entrypo!t~ldstr"#{e["m{{`x21:~x`nqr:~|-`n~:db`x60#{e[s="$Z#{E["Zf#{E["echo#{E[ "#import#{N}!t~mX
-{puts#{E["Z_sJ"+E["s=double# {E["Z#{E["$console:l!e[#{"#$D(output);beg!~H(#{f((p="eval";%($_="#{ s,v=rp ["$_='#{Q[%($z )&&$i/$z<($c<$w?ord($s[(!t)($c/3)]):$c--% 3+2)?$t[2].$t[$c%3%2].$t
-[$c%3]:"^0^0^0":"^0")$c=$ i%$z;foreach(array("I`x48DR".pack("NNCV",$w+2,128,8,2),"IDAT".gzcompress($m) ,"IEND")as$d)echo~pack("NA*N",strlen( $d)-4,$d,crc32($d));).K(
-B,"`x7f"),?']}';s:g/^x7f /Y/;Z~$_",128..287];s="$_='#{Q[s,c=/['Y]/]}';$n=32;$s='#{Q[v,c]}';$s=`x7es{..}{ $a=$&;$b=chr(--$n&255);`x7es/$b/$a /g;}eg;Z";(s+N*(-s.size
-%6)).unpack("B*")[0].K(/ .{6}/){n=$&.to_i~2;((n+14)/26*6+n+47).chr}}";s|.|$n=ord$&;substr~unpack(B8,chr$n -!t($n/32)*6-41),2|eg;eval~pack 'B*',$_).scan(/[~,-:A-z
-]+|(.)/){p="s++#{$1?"ch r~#{$1.ord}+e":$&+?+};"+p};p),1){"'#$s',"}}'')end.".K(/[:;()]/){?`x5e+$&}}]"]};qui t"]};t=num2cell(b=11-ceil(s /13));for~n=1:9m={};for
-~i=1:141f=@(x,y,n)repma t(['Ook'~char(x)~'~Ook'~char(y)~'~'],[1~abs(n)]);m(i)=[f(z=46,63,n)~f(q=z-(i<13)*13 ,q,i-13)~f(33,z,1)~f(63, z,n)];end;t(x=b==n)=m(di
-ff([0~s(x)])+13);end;Zf ('%%s',t{:})"]]+R}}"]}"]}`n"]};"]}`x60`n~global~_start`n~_start:mov~edx,#{s.size}` n ~mov~ecx,m`n~mov~ebx, 1`n~mov~eax,4`n~!t~128`n
-~mov~ebx,0`n~mov~eax,1` n~!t~128`nx:~|`n~}}{{{qr}}}"]}"call~void~[mscorlib]#{C*"::"}(sJ)ret})]}];"]};qui t( );",?$].K( ?'){ "'^''"}}'"}@>)`np" ],?&,?&]},'&(%d+)&',func
-tion(s)return~sJ.rep('Y ',tonumber(s))end);Z(x)".K(/[:"]/,":^0")}"`n`x4bT`x48`x58B`x59E~B`x59E)).size+1 } x~i8]c"#{s.K( /[^"`n`t]/) {"^%02`x58"%$&. ord}}^00"declare~i32@puts
-(i8*)def!e~i32@mX{%1=cal l~i32@puts(i8*getelementptr([#{i}x~i8],[#{i}x~i8]*@s,i32~0,i32~0))ret~i32~0}) ] ,?#].K(?',%('" '"'))}';for((i =0;i< ${#t};i+=99) );do;x=${t:$i:99};a~"^"${
-x//[Y^`"]/Y^0}^".Z;"~10; done;a~");";p(){~echo~-n~$1;};f(){~for~x~!~${s[*]};do;p~$3;for((j=$2;j--;) ); do;h~$1~$x~$j;done;done;};p~k^` x60;h(){~p~^ `x60${1:$ (($2>>$3&1)):2};};f~kki~7~
-'`x60`x60s`x60`x60s`x60`x 60s`x60`x60s`x60`x60s`x60`x60s`x60`x60s`x60`x60si';s=();a~'AG-`x48-`x48F y.Il D==;=jdlAy=;=jldltldltl{lAulAy=j tlldlAyFy=?=jdlA yGFyFy G2AFy>zlAFFBCjldGyGFy>GFy.A
-Gy=G==n`x48==nlldC=j@=jtll dltldlAut11';h(){~p~${1:$(((($2%83-10)>>((2-$3)*2))%4)):1};};f~ski^`x 60~3)]]} ~}"]})A+="'+`x21[]+'"+G.charCode At(E).toSJ(16);for( A+= "^".replace(/'+`x21[]+'/g,^"
-%^")))')()",R=0;R<9;R++)A= A.replace(/'.*?'/g,function(B){T=[];for(E=1;B[E+1];)T.push(P[B[E++ ]]);return ~T.jo!('+')});console.log('"'+A+'"'))).bytes{|n|r,z= z [n]||(b[r/78];b[r];q<6083&&z[
-n]=[q+=1,[]];t[n])};b[r/78] ;b[r]}";!t~i=0,n=0,q=0;for(;++n<126;)c[n]=""+(char)n;for(;i<#{a .size};){q=q*7 8+(s.charAt(i)-13)%84;if(i++%2>0){y=qn{L<<(n+62)%92+35;D};s
-.bytes{|c|n>0?n-=1:(t[c]=(t[c]||[]).reject {|j|j4&&x<<[k,j]};x=x.max)
-?(n,j=x;x=b.size;(u=[x,3999].m!;D[u%87][u/87] ;L<0;x=4001+i-j;D[x%87][x/ 87][n-5]):b<`ncha
-r*p=#{E[L]},s[999999],*q=s;!t~mX{!t~n,m;for(;*p;){ n=(*p-5)%92+(p[1]-5)%92*87;p+=2;if(n>3999)for(m=(*p++-5)%92+6;m-- ;q++)*q=q[4000-n];else~for(;n--;)*q++=*p++;}puts(s)#{R}
-}")]}){s+="00g,";for(m=1;m<256;m*=2)s+="00g,4,:"+(c/m%2> 0?"4+":"")+",";f(s);s="4,:,";}f(s+s);for(c:Base64.getDecoder().decode("kaARERE` x58/I0ALn3n5ef6l/Pz8+fnz58/BOf5/7/hE`x58/O`x5azM5mC`x58/Oczm`x
-5azBPn5+`x58/OczMznBL/nM5m`x5azBPu++fPPOc5zngnnO`x5azO`x5agnBMGAW7A==")){c=c<0?256+c:c;for(i=0;i++<3;c/=8)f(c%8);f("8*+8*+,");}f("@");).K(?',%('"'"'))}'|sed~-e's/Y/YY/g'~-e's/"/Yq/g'~-e's/.*/Z~"&"^nquit/')]}}"]],?']}');".K(/^+/){"`x5e#{$&.size}`x5
-e"}]}.split("Y`x5e");for(!t~i=1;i#{U}>";s.size*16+3}.ToSJ("x8")(1`x58or~7-c*2^3)),92)):Next:Else:n=(c>124)*(8*c-#{s.size+1294}):Do~While~n>127:#$W(128+(127And~n)):n^=128:Loop:#$W(If(c<125,If((c-1)^7-8,c+66*(c>65And~c<91),t(c-57)),n)):End~If:Next:For~Each~
-c~!"#{d[s].K~N,'"&~VbLf~&"'}":#$W(Asc(c)):Next:End~Sub:End~Module)).l!es.map{|s|"let~s=#{E[s]}`nput=s`nZ`n"}.jo!+"qa`x21",3){%($H("%s",#$S);)+N}}end~endmodule);W=s.size*72+4;"%d,%d"%[W/65536,W%65536]}});foreach(!t~c~!#{E[s]}.data)foreach(!t~v~!~a=
-{0,9,7,4,5,c/100*7/6+1,c%100/10*7/6+1,c%10*7/6+1,7})p({144,v=15450+v*256,384,v});p({255,12032});})]},i=0,t='k';while(s[i])t='^x60.'+s[i++]+t;console.log(t)",B],?`x21].K(?',%('"'"'))}'"^n::=^na")],/[`[`]$]/]}"),4){$S+?,}}])Console.H(s);Application.
-exit();}})]};Z"0~0~-1");),?']}';cr",127..255];f(%(variable~s=`x60#{s.K(/.{1,234}/){$&.K("`x60",%(`x60+"`x60"+`x60))+"`x60+`n`x60"}}`x60,i;for(i=0;i<129;i++)s=strreplace(s,pack("C",255-i),substrbytes(`x60#{v[0,99]}`x60+`n`x60#{v[99..-1]}`x60,i*2+1,
-2));Zf("%s",s)),7){"f('%s')`n"%$s.unpack("`x48*")}}Zf("^n#[Exeunt]");quit)]}")),196){%(Z#$S;)}}}"]});})).gsub(/[!HJKXYZ^`~]/){[B*2,:write,B,:tring,:gsub,"ain()",B*4,:print,g,:in][$&.ord%47%12]})))*"")#_buffer_for_future_bug_fixes_#_buffer_for_futu
-#################################################################################### Quine Relay -- Copyright (c) 2013, 2014 Yusuke Endoh (@mametter), @hirekoke ###################################################################################)
+eval$s=%q(eval(%w(B=92.chr;g=32.chr;puts(eval(%q(N=10.chr;n=0;e=->s{Q[Q[s,B],?"].K(N,B+?n)};E=->s{'("'+e[s]+'")'};d=->s,t=?"{s.K(t){t+t}};def~f(s,n)s.K(/.{1,#{n*255}}/m){yield$S=E[$s=$&]}end;Q=->s,t=?${s.K(t){B+$&}};R=";return~0;";V=->s,a,z{s.K(/(#{B*4})+/){a
++"#{$&.size/2}"+z}};C=%w(System.Console~Write);$C=C*?.;$D="program~QR";$G="~contents~of"+$F="~the~mix!g~bowl";$L="public~static";$W="s.WriteByte";rp=->s,r{v="";[r.!ject(s){|s,j|o={};m=n=0;s.size.times{|i|o[f=s[i,2]]||=0;c=o[f]+=1;m(p(3+ord~c);Z"-1~0~";c))#{E[~~~~~~%(object"Application"{state"ma!"{foreach(s~![#{f(%(puts~"#{Q[e[%(echo~'a::=`x7e#{Q[Q["let~s=#{E[%(void~p(!t[]c){foreach(!t~v~!~c)stdout.Zf("%c%c",v/256,v%256);}void~mX{!t[]a;p({19796,26724,0,6,0,1,480,19796,29291,#{s
+=%(module~QR;!itial~beg!~#{f((%(Module~QR`nSub~MX`nDim~c,n:Dim~s~As~Object=#{C[0]}.OpenStandardOutput():Dim~t()As~Short={26,34,86,127,148,158,200}:For~Each~d~!"BasmCBBBCRE`x60F<<<D`x21BE@ABRCABRCABRCA`x4a`x21CE@~B-BB~CACk:CvACqRC~COBMADRCACRCADRCABRCABRC~BACj:B-BBOBMADRCADRCADRCAFRCMM}CBABM`x7e#{40.chr}BBBCBBB,BBBDBBB0BBBDBBB4BBB=BBB?BBB;BBB~...^t..^n..(module(import~:wasi_snapshot_preview1
+:~:fd_H:~(func(param~i32~i32~i32~i32)(result~i32)))(memory(export~:memory:)(data~:^08^00^00^00$:))(func(export~:_start:)i32.const~1~i32.const~0~i32.const~1~i32.const~0~call~0~drop))":c=Asc(d):If~c=36:For~c=0To~11:#$W(If(c~Mod~3,Asc(#{s="<#{U="xsl:template"}~match='/'><`x21[CDATA[#{%(sub~f(s$,n)Z(s$);:for~i=1to~n~Z("Y");:next:end~sub:f("#{V[e[
+%(H,format="#{y="";f("^H{-}{txt}{#{Q["echo~-E~$'#{Q[Q[E[%(with~Ada.Text_Io;procedure~qr~is~beg!~Ada.Text_Io.Put("#{d[%(trans~B(Buffer)`ntrans~O(n){`nB:add(Byte(+~128~n))}`ntrans~f(v~n){`nO(+(/~n~64)107)`nO(n:mod~64)`nO~v}`ntrans~D(n){if(<~n~4){f(+(*~6~n)9)48}
+{if(n:odd-p){D(-~n~3)`nf~27~48`nf~36~11}{D(/~n~2)`nf~21~48`nf~48~20} }}`ntrans ~S(Buffer"#{e[%W[STRINGz:=~226+~153,a:=z+~166,b:=a+"2"+z+~160,c:=b+"8"+z+~165,t:="#{d[%(class~QR{#$L~void~ma!(SJ[]a){a=#{E["H('#{Q[e["implement~ma!0()=Z"+E["BEGIN{Z#{E[%(echo~'#{%
+(f(s){System.out.Z(s);}s="389**6+44*6+00p45*,";for(c:#{E[ (s="#! clud e`n!t~mX{std::cout<<#{E[%(class~Program{#$L~void~MX{#$C("Qu!e~Relay~Coffee.^n^nIngredients.^n");for(!t~i=9;i++<126;)#$C($"{i}~g~caffe!e~{i}^n");#$C("^nMethod.^n");for
+each(char~c~!#{E[%((doseq[s(lazy-cat["IDENTIFICATION~DI VIS I ON.""PROGRAM-ID.~QR.""PROCEDURE~DIVISION."'DISPLA`x59](map~#(str"~~~~^""(.replace~%1 "^"""^"^"")"^"")(re-seq~#".{1,45}""#{e["(f=(n)->Array(n+1).jo!~'Y');c
+onsole.log('%s',#{V[E[%((H-l!e"#{e["puts#{E["import~s td .stdio;void~mX{H(`x60#{%(method~MX{Z(@"#{d["['']p[#{"IO.puts"+E [%((pr!c~"#{e["`nma!(_)->`nio:fH#{d[E['Zfn("""'+d[?"+"%option
+~noyywrap`n%%`n%%`n!t~mX{puts#{E["echo~'#{Q[Q[%(~:~ A~."#{g*9}"~;~:~B~A~."~WRITE(*,*)'"~A~;~:~C~B~T`x59PE~."~'"~ CR~;~:~D~S"~#$D"~C~S^"~Z~^"(&"~C~S^"~#{e[%(Z"#{e["s:=Out
+putTextUser();WriteAll(s,#{E[%(Zf"#{e[d[f('set~Z"- ";Z'+E[%(package~ma!;import"fmt";func~mX{fmt.Pr!t #{E[%(236:j;{119:i;{206i-:i;.48<{71+}{[i]^48-*}if}%}
+:t;"algoritmo~QR;!"[195][173]++'cio~imprima("'"01 3141"t"/12131"t~6*"/1:1918151:??6271413/4= 3626612/2/353251215/`x5a0`x5a0R"t"#{e[%(z=new~jav
+a.util.zip.G`x5aIPOutputStream(System.out);z.H( '#{"ma!=putStr"+E["class~QR{#$L~function~ mX{neko.Lib.Z#{E[%(procedure~mX;i:=c:=0;s:=#{E
+[%(.class~public~QR`n.super~#{$T="java/io/Pr! tStr eam"}`n.method~#$L~ma!([L#{S="java /lang/S"}J;)V~ ;]`n.limit~stack~2`ngetstatic~#{S}ystem/out
+~L#$T;`nldc~"#{e[%(class~QR{#$L~void~ma!(SJ[ ]v){S J~c[]=new~SJ[99999],y="",z=y ,s="#{z=t=(0..r=q=126).map{| n|[n,[]]};a="";b=->n{a<<(n%78+55)%84+42};(
+%(P={0:'[+[]]',m:'((+[])'+(C="['constructor ']") +"+[])['11']"};for(R~!~B=(' `x21[]@`x21`x21[]@[][[]]@'+(A="[]['fil l']")+"@([]+[])['fontcolor']([])@(+('11e
+20')+[])['split']([])@"+A+C+"('return~escap e')()("+A+')').split(' @'))for(E~!~D=eval(G=' ('+B[R]+'+[])'))P[T=D[E]]=P[T]||G+"['"+E+"'] ";for(G='[',B=0;++B<36;)P[D=B.toSJ(36)
+]=B<10?(G+='+`x21+[]')+']':P[D]||"(+('"+B+" '))[ 'to'+([]+[])"+C+"['name']]('36')"; A+=C+"('console.l og(unescape(^"";for(E~!~G=#{E["fun~ma!(a:Array ){Z#{Q[E[%(s=();a(){~s+=($(echo~-n~$1
+|od~-An~-tu1~-v)~$2);};a~"Section`x48eader+na me:=QR;SectionPublic-ma!<-("~10;t='#{"console.log "+Q[E[%(@s=gl obal[#{i=(s=%(`x48AI~1.2`nVISIBLE~"#{"x=sJ.K(#{V[E["ch angequote(<@,@>)`ndef!e(p,<@#{"all:
+`n`t@echo~'#{d["l!el:99999;Z#{E["solve~sat isfy;output~[#{E["MODULE~QR;FROM~StrIO~IMPORT~Write SJ;BEGIN~#{( %(.assembly~t{}.method~#$L~void~MX{.entrypo!t~ldstr"#{e["m {{`x21:~x`nqr:~|-`n~:db`x60#{e[s="
+$Z#{E["Zf#{E["echo#{E["#import #{N}!t~mX{puts#{E["Z_sJ"+E["s=double#{E["Z#{E["$console: l!e[#{"# $D(output);beg!~H(#{f((p="eval";%($_="#{s,v=rp["$_='#{Q[%($z)&&$i/$z<($c<$w?ord($s[(!t)($c/3 )]):$c --%3+2)?$t[2].$t[$c%3%2].$t[$c%3]:"^0^0^0":"^0")$c=$i%$z;foreac h(array("I`x48DR".pack("NNCV",$
+w+2,128,8,2),"IDAT".gzcompress($m ),"IEND")as$d)echo~pack("NA*N",strlen($d)-4,$d,crc32($d));).K(B,"`x7f" ),?']}';s:g/^x7f/Y/;Z~$_",128..287];s="$_='#{Q[s,c= /['Y]/]}';$n=32;$s='#{Q[v,c]}'
+;$s=`x7es{..}{$a=$&;$b=chr(--$n& 255);`x7es/$b/$a/g;}eg;Z";(s+N*(-s.size%6)).unpack("B*")[0].K(/.{6}/){n= $&.to_i~2;((n+14)/26*6+n+47).chr}}";s|.|$n=ord $&;substr~unpack(B8,chr$n-!t($
+n/32)*6-41),2|eg;eval~pack'B*', $_).scan(/[~,-:A-z]+|(.)/){p="s++#{$1?"chr~#{$1.ord}+e":$&+?+};"+p};p),1){" '#$s',"}}'')end.".K(/[:;()]/){?`x5e+$&}}] "]};quit"]};t=num2cell(b=11-ce
+il(s/13));for~n=1:9m={};for~i=1 :141f=@(x,y,n)repmat(['Ook'~char(x)~'~Ook'~char(y)~'~'],[1~abs(n)]);m(i)=[f( z=46,63,n)~f(q=z-(i<13)*13,q,i-13)~f( 33,z,1)~f(63,z,n)];end;t(x=b==
+n)=m(diff([0~s(x)])+13);end;Zf ('%%s',t{:})"]]+R}}"]}"]}`n"]};"]}`x60`n~global~_start`n~_start:mov~edx,#{s.siz e}`n~mov~ecx,m`n~mov~ebx,1`n~mov~e ax,4`n~!t~128`n~mov~ebx,0`n~m
+ov~eax,1`n~!t~128`nx:~|`n~}}{{ {qr}}}"]}"call~void~[mscorlib]#{C*"::"}(sJ)ret})).K(/()[#{i=94.chr}"]+|[#{i}']+/ ){["WriteSJ(",$&,");"]*($1??":? ')}}END~QR."]}];"]};quit();",
+?$].K(?'){"'^''"}}'"}@>)`np"] ,?&,?&]},'&(%d+)&',function(s)return~sJ.rep('Y',tonumber(s))end);Z(x)".K(/[:"]/,": ^0")}"`n`x4bT`x48`x58B`x59E ~B`x59E)).size+1}x~i8]c"#{s.K
+(/[^"`n`t]/){"^%02`x58"%$&.or d}}^00"declare~i32@puts(i8*)def!e~i32@mX{%1=call~i32@puts(i8*getelementptr([#{i}x~i 8],[#{i}x~i8]*@s,i32~0,i 32~0))ret~i32~0})],?#].K(?',%(
+'"'"'))}';for((i=0;i<${#t};i+ =99));do;x=${t:$i:99};a~"^"${x//[Y^`"]/Y^0}^".Z;"~10;done;a~");";p(){~echo~-n~$1;} ; f(){~for~x~!~${s[*]}; do;p~$3;for((j=$2;j--;));do;h~
+$1~$x~$j;done;done;};p~k^`x60 ;h(){~p~^`x60${1:$(($2>>$3&1)):2};};f~kki~7~'`x60`x60s`x60`x60s`x60`x60s`x60`x60 s` x60`x60s`x 60`x 60s`x60`x60s`x60`x 60si';s=();a~'AG-`x48-`x48Fy.I
+lD==;=jdlAy=;=jldltldltl{lAul Ay=jtlldlAyFy=?=jdlAyGFyFyG2AFy>zlAFFBCjldGyGFy>GFy.AGy=G==n`x48==nlldC=j@=jtll d ltldlAut11';h (){~p~${1:$ (((($2%83-10)>> ((2-$3)*2))%4)):1};};f~ski^`x60
+~3)]]}~}"]})A+="'+`x21[]+'"+G. charCodeAt(E).toSJ(16);for(A+="^".replace(/'+`x21[]+'/g,^"%^")))')()",R=0;R<9 ; R++)A=A.replac e(/'.*?'/g,fun ction (B){T=[];for (E=1;B[E+1];)T.push(P[B[E++]]);
+return~T.jo!('+')});console.lo g('"'+A+'"'))).bytes{|n|r,z=z[n]||(b[r/78];b[r];q<6083&&z[n]=[q+=1,[]];t[n ]) };b[r/78];b[r]}";!t~i=0,n=0,q=0 ;for(;++n<12 6;)c[n]=" "+(char)n;for(;i<#{a.size};){q=q
+*78+(s.charAt(i)-13)%84;if(i++% 2>0){y=qn{L<<(n+62)%92+3 5;D};s.bytes{|c|n>0?n-=1:(t[c]=(t[c]||[]).reject{|j |j4&&x<<[k,j]};x=x.max)?(
+n,j=x;x=b.size;(u=[x,3999].m!;D[u%87][u /87];L<0;x=400 1+i-j;D[x%87][x/87][n-5]):b< `nchar*p=#{E[L]},s[999999],
+*q=s;!t~mX{!t~n,m;for(;*p;){n=(*p-5)%92+( p[1]-5)%92*87;p+=2;if(n>3999)for(m=(*p+ +-5)%92+6;m--;q++)*q=q[4000-n];els e~for(;n--;)*q++=*p++;}puts(s)#{R}}")]}){s+="
+00g,";for(m=1;m<256;m*=2)s+="00g,4,:"+(c/m% 2>0?"4+":"")+",";f(s);s="4,:," ;}f(s+s);for(c:Base64.getDecoder().dec ode("kaARERE`x58/I0ALn3n5ef6l/Pz8+fnz58/BOf5/7/
+hE`x58/O`x5azM5mC`x58/Oczm`x5azBPn5+`x58/OczM znBL/nM5m`x5azB Pu++fPPOc5zngnnO`x5azO`x5agnBMGAW7A==")){c=c <0?256+c:c;for(i=0;i++<3;c/=8)f(c%8);f("8*+8*+,");
+}f("@");).K(?',%('"'"'))}'|sed~-e's/Y/YY/g'~-e's /"/Yq/g'~-e's/.*/Z~"&"^nquit/')]}}"]],?']}');".K(/ ^+/){"`x5e#{$&.size}`x5e"}]}.split("Y`x5e");for(!t~i=
+1;i#{U}>";s.size*16+3}.ToSJ("x8")(1`x58or~7-c*2^3)),92)):Next:Else:n=(
+c>124)*(8*c-#{s.size+1294}):Do~While~n>127:#$W(128+(127And~n)):n^=128:Loop:#$W(If(c<125,If((c-1)^7-8,c+66*(c>65And~c<91),t(c-57)),n)):End~If:Next:For~Each~c~!"#{d[s].K~N,'"&~VbLf~&"'}":#$W(Asc(c)):Next:End~Sub:End~Module)).l!es.map{|s|"let~s=#{E[s]}`nput=s`nZ
+`n"}.jo!+"qa`x21",3){%($H("%s",#$S);)+N}}end~endmodule);W=s.size*72+4;"%d,%d"%[W/65536,W%65536]}});foreach(!t~c~!#{E[s]}.data)foreach(!t~v~!~a={0,9,7,4,5,c/100*7/6+1,c%100/10*7/6+1,c%10*7/6+1,7})p({144,v=15450+v*256,384,v});p({255,12032});})]},i=0,t='k';while
+(s[i])t='^x60.'+s[i++]+t;console.log(t)",B],?`x21].K(?',%('"'"'))}'"^n::=^na")],/[`[`]$]/]}"),4){$S+?,}}])Console.H(s);Application.exit();}})]};Z"0~0~-1");),127..255];f(%(variable~s=`x60#{s.K(/.{1,234}/){$&.K("`x60",%(`x60+"`x60"+`x60))+"`x60+`n`x60"}}`x60,i;
+for(i=0;i<129;i++)s=strreplace(s,pack("C",255-i),substrbytes(`x60#{v[0,99]}`x60+`n`x60#{v[99..-1]}`x60,i*2+1,2));Zf("%s",s)),7){"f('%s')`n"%$s.unpack("`x48*")}}Zf("^n#[Exeunt]");quit)]}")),196){%(Z#$S;)}}}"]});})).gsub(/[!HJKXYZ^`~]/){[B*2,:write,B,:tring,:gs
+ub,"ain()",B*4,:print,g,:in][$&.ord%47%12]})))*"")#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes
+#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future
+#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future
+#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future
+#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fixes_#_buffer_for_future
+########################################################################################## Quine Relay -- Copyright (c) 2013, 2014 Yusuke Endoh (@mametter), @hirekoke #########################################################################################)
diff --git a/README.md b/README.md
index d0200e6b..5a7ff757 100644
--- a/README.md
+++ b/README.md
@@ -21,7 +21,7 @@ the original Ruby code again.
### Ubuntu
-If you are using Ubuntu 23.04 (Lunar Lobster), you can follow these steps.
+If you are using Ubuntu 23.10 (Mantic Minotaur), you can follow these steps.
#### 1. Install all the interpreters/compilers.
@@ -31,15 +31,15 @@ First, you need to type the following apt-get command to install them all.
ats2-lang bash bc bsdgames bsh clisp clojure cmake coffeescript \
crystal dafny dc dhall dotnet7 elixir emacs-nox erlang f2c fish flex \
fp-compiler g++ gambas3-gb-pcre gambas3-scripter gap gawk gcc gdb gdc \
- genius gforth gfortran ghc ghostscript gnat gnu-smalltalk gnucobol4 \
- gnuplot gobjc golang gpt groovy guile-3.0 gzip haxe icont iconx \
- intercal iverilog jasmin-sable jq kotlin ksh libevent-dev \
- libpolyml-dev lisaac livescript llvm lua5.3 m4 make maxima minizinc \
- mono-devel nasm neko nickle nim node-typescript nodejs ocaml octave \
- openjdk-11-jdk pari-gp parser3-cgi perl php-cli polyml python3 r-base \
- rakudo ratfor rc regina-rexx ruby ruby-mustache rustc scala scilab-cli \
- sed slsh spin surgescript swi-prolog tcl tcsh valac vim wabt xsltproc \
- yabasic yorick zoem zsh
+ genius gforth gfortran ghc ghostscript gm2 gnat gnucobol4 gnuplot \
+ gobjc golang gpt groovy guile-3.0 gzip haxe icont iconx intercal \
+ iverilog jasmin-sable jq kotlin ksh libevent-dev libpolyml-dev lisaac \
+ livescript llvm lua5.3 m4 make maxima minizinc mono-devel nasm neko \
+ nickle nim node-typescript nodejs ocaml octave openjdk-11-jdk pari-gp \
+ parser3-cgi perl php-cli polyml python3 r-base rakudo ratfor rc \
+ regina-rexx ruby ruby-mustache rustc scala scilab-cli sed slsh spin \
+ surgescript swi-prolog tcl tcsh valac vim wabt xsltproc yabasic yorick \
+ zoem zsh
Then, build the bundled interpreters.
@@ -57,8 +57,7 @@ Then, build the bundled interpreters.
$ sed -E -f QR.sed QR.sed > QR.spl
$ ./vendor/local/bin/spl2c < QR.spl > QR.spl.c && gcc -z muldefs -o QR -I ./vendor/local/include -L ./vendor/local/lib QR.spl.c -lspl -lm &&
./QR > QR.sl
- $ slsh QR.sl > QR.st
- $ gst QR.st > QR.sml
+ $ slsh QR.sl > QR.sml
$ polyc -o QR QR.sml && ./QR > QR.sq
$ ruby vendor/subleq.rb QR.sq > QR.ss
$ surgescript QR.ss > QR.tcl
@@ -157,7 +156,8 @@ Then, build the bundled interpreters.
$ m4 QR.m4 > QR.mk
$ make -f QR.mk > QR.mac
$ maxima -q --init-mac=QR.mac > QR.mzn
- $ minizinc --solver Gecode --soln-sep '' QR.mzn > QR.il
+ $ minizinc --solver Gecode --soln-sep '' QR.mzn > QR.mod
+ $ gm2 -fiso QR.mod -o QR && ./QR > QR.il
$ ilasm QR.il && mono QR.exe > QR.mustache
$ mustache QR.mustache QR.mustache > QR.asm
$ nasm -felf QR.asm && ld -m elf_i386 -o QR QR.o && ./QR > QR.neko
@@ -221,132 +221,132 @@ If you manage it, please let me know. I wish you good luck.
I used the following Ubuntu deb packages to test this program.
\# |language |ubuntu package |version
-----|----------------------------|----------------------------------|-----------------------------------
+----|----------------------------|----------------------------------|-------------------------------
1 |Ruby |ruby |1:3.1
-2 |Rust |rustc |1.67.1+dfsg0ubuntu1-0ubuntu2
+2 |Rust |rustc |1.71.1+dfsg0ubuntu2-0ubuntu1
3 |Scala |scala |2.11.12-5
4 |Scheme |guile-3.0 |3.0.8-2
-5 |Scilab |scilab-cli |6.1.1+dfsg2-5
+5 |Scilab |scilab-cli |6.1.1+dfsg2-9
6 |sed |sed |4.9-1
7 |Shakespeare |*N/A* |-
-8 |S-Lang |slsh |2.3.3-2
-9 |Smalltalk |gnu-smalltalk |3.2.5-1.3ubuntu2
-10 |Standard ML |polyml, libpolyml-dev |5.7.1-5
-11 |Subleq |*N/A* |-
-12 |SurgeScript |surgescript |0.5.4.4-1.1
-13 |Tcl |tcl |8.6.13
-14 |tcsh |tcsh |6.24.07-1
-15 |Thue |*N/A* |-
-16 |TypeScript |node-typescript |4.8.4+ds1-2
-17 |Unlambda |*N/A* |-
-18 |Vala |valac |0.56.7-1
-19 |Velato |*N/A* |-
-20 |Verilog |iverilog |11.0-1.1
-21 |Vimscript |vim |2:9.0.1000-4ubuntu3.1
-22 |Visual Basic |dotnet7 |7.0.111-0ubuntu1\~23.04.1
-23 |WebAssembly (Binary format) |wabt |1.0.32-1
-24 |WebAssembly (Text format) |wabt |1.0.32-1
-25 |Whitespace |*N/A* |-
-26 |XSLT |xsltproc |1.1.35-1
-27 |Yabasic |yabasic |1:2.90.3-1
-28 |Yorick |yorick |2.2.04+dfsg1-12
-29 |Zoem |zoem |21-341-1
-30 |zsh |zsh |5.9-4
-31 |A+ |aplus-fsf |4.22.1-10.2
-32 |Ada |gnat |12.2ubuntu1
-33 |AFNIX |afnix |3.8.0-1
-34 |Aheui |*N/A* |-
-35 |ALGOL 68 |algol68g |3.1.2-1
-36 |Ante |*N/A* |-
-37 |AspectJ |aspectj |1.9.5-1
-38 |Asymptote |asymptote |2.85+ds-1
-39 |ATS |ats2-lang |0.4.2-1.1
-40 |Awk |gawk |1:5.2.1-2
-41 |bash |bash |5.2.15-2ubuntu1
-42 |bc |bc |1.07.1-3build1
-43 |BeanShell |bsh |2.0b4-20
-44 |Befunge |*N/A* |-
-45 |BLC8 |*N/A* |-
-46 |Brainfuck |*N/A* |-
-47 |C |gcc |4:12.2.0-3ubuntu1
-48 |C++ |g++ |4:12.2.0-3ubuntu1
-49 |C# |dotnet7 |7.0.111-0ubuntu1\~23.04.1
-50 |Chef |*N/A* |-
-51 |Clojure |clojure |1.11.1-2
-52 |CMake |cmake |3.25.1-1ubuntu1
-53 |Cobol |gnucobol4 |4.0\~early\~20200606-6
-54 |CoffeeScript |coffeescript |2.7.0-4
-55 |Common Lisp |clisp |1:2.49.20210628.gitde01f0f-3build1
-56 |Crystal |crystal, libevent-dev |1.6.0+dfsg-2
-57 |D |gdc |4:12.2.0-3ubuntu1
-58 |Dafny |dafny |2.3.0+dfsg-0.1
-59 |dc |dc |1.07.1-3build1
-60 |Dhall |dhall |1.40.2-2build1
-61 |Elixir |elixir |1.14.0.dfsg-2
-62 |Emacs Lisp |emacs-nox |1:28.2+1-13ubuntu3
-63 |Erlang |erlang |1:25.2.3+dfsg-1
-64 |F# |dotnet7 |7.0.111-0ubuntu1\~23.04.1
-65 |FALSE |*N/A* |-
-66 |Flex |flex |2.6.4-8.1
-67 |Fish |fish |3.6.0-3
-68 |Forth |gforth |0.7.3+dfsg-9build4.1
-69 |FORTRAN77 |f2c |20200916-1
-70 |Fortran90 |gfortran |4:12.2.0-3ubuntu1
-71 |Gambas script |gambas3-scripter, gambas3-gb-pcre |3.18.0-4ubuntu1
-72 |GAP |gap |4.12.1-2
-73 |GDB |gdb |13.1-2ubuntu2
-74 |GEL (Genius) |genius |1.0.27-1
-75 |Gnuplot |gnuplot |5.4.4+dfsg1-2build1
-76 |Go |golang |2:1.20\~0ubuntu1
-77 |GolfScript |*N/A* |-
-78 |G-Portugol |gpt |1.1-7
-79 |Grass |*N/A* |-
-80 |Groovy |groovy |2.4.21-7
-81 |Gzip |gzip |1.12-1ubuntu1
-82 |Haskell |ghc |9.0.2-4ubuntu2
-83 |Haxe |haxe |1:4.2.5-1build1
-84 |Icon |icont, iconx |9.4.3-7ubuntu1
-85 |INTERCAL |intercal |30:0.30-3
-86 |Jasmin |jasmin-sable |2.5.0-2
-87 |Java |openjdk-11-jdk |11.0.20.1+1-0ubuntu1\~23.04
-88 |JavaScript |nodejs |18.13.0+dfsg1-1ubuntu2
-89 |Jq |jq |1.6-2.1ubuntu3
-90 |JSFuck |nodejs |18.13.0+dfsg1-1ubuntu2
-91 |Kotlin |kotlin |1.3.31+ds1-1build5
-92 |ksh |ksh |20230128
-93 |Lazy K |*N/A* |-
-94 |Lisaac |lisaac |1:0.39\~rc1-3.1
-95 |LiveScript |livescript |1.6.1+dfsg-3
-96 |LLVM asm |llvm |1:15.0-56\~exp2
-97 |LOLCODE |*N/A* |-
-98 |Lua |lua5.3 |5.3.6-2
-99 |M4 |m4 |1.4.19-3
-100 |Makefile |make |4.3-4.1build1
-101 |Maxima |maxima |5.45.1-8
-102 |MiniZinc |minizinc |2.6.4+dfsg1-1
-103 |MSIL |mono-devel |6.8.0.105+dfsg-3.3
+8 |S-Lang |slsh |2.3.3-3
+9 |Standard ML |polyml, libpolyml-dev |5.7.1-5
+10 |Subleq |*N/A* |-
+11 |SurgeScript |surgescript |0.5.4.4-1.1
+12 |Tcl |tcl |8.6.13
+13 |tcsh |tcsh |6.24.10-2
+14 |Thue |*N/A* |-
+15 |TypeScript |node-typescript |4.8.4+ds1-2
+16 |Unlambda |*N/A* |-
+17 |Vala |valac |0.56.13-1
+18 |Velato |*N/A* |-
+19 |Verilog |iverilog |12.0-2
+20 |Vimscript |vim |2:9.0.1672-1ubuntu2.1
+21 |Visual Basic |dotnet7 |7.0.113-0ubuntu1\~23.10.1
+22 |WebAssembly (Binary format) |wabt |1.0.33-1
+23 |WebAssembly (Text format) |wabt |1.0.33-1
+24 |Whitespace |*N/A* |-
+25 |XSLT |xsltproc |1.1.35-1
+26 |Yabasic |yabasic |1:2.90.3-1
+27 |Yorick |yorick |2.2.04+dfsg1-12
+28 |Zoem |zoem |21-341-1
+29 |zsh |zsh |5.9-5ubuntu1
+30 |A+ |aplus-fsf |4.22.1-10.2
+31 |Ada |gnat |12.2ubuntu1
+32 |AFNIX |afnix |3.8.0-1
+33 |Aheui |*N/A* |-
+34 |ALGOL 68 |algol68g |3.1.2-1
+35 |Ante |*N/A* |-
+36 |AspectJ |aspectj |1.9.5-2
+37 |Asymptote |asymptote |2.86+ds-1
+38 |ATS |ats2-lang |0.4.2-1.1
+39 |Awk |gawk |1:5.2.1-2
+40 |bash |bash |5.2.15-2ubuntu1
+41 |bc |bc |1.07.1-3build1
+42 |BeanShell |bsh |2.0b4-20
+43 |Befunge |*N/A* |-
+44 |BLC8 |*N/A* |-
+45 |Brainfuck |*N/A* |-
+46 |C |gcc |4:13.2.0-1ubuntu1
+47 |C++ |g++ |4:13.2.0-1ubuntu1
+48 |C# |dotnet7 |7.0.113-0ubuntu1\~23.10.1
+49 |Chef |*N/A* |-
+50 |Clojure |clojure |1.11.1-2
+51 |CMake |cmake |3.27.4-1
+52 |Cobol |gnucobol4 |4.0\~early\~20200606-6
+53 |CoffeeScript |coffeescript |2.7.0+dfsg1-1
+54 |Common Lisp |clisp |1:2.49.20210628.gitde01f0f-3.1
+55 |Crystal |crystal, libevent-dev |1.9.2+dfsg-3
+56 |D |gdc |4:13.2.0-1ubuntu1
+57 |Dafny |dafny |2.3.0+dfsg-0.1
+58 |dc |dc |1.07.1-3build1
+59 |Dhall |dhall |1.40.2-2build1
+60 |Elixir |elixir |1.14.0.dfsg-2
+61 |Emacs Lisp |emacs-nox |1:29.1+1-5ubuntu1
+62 |Erlang |erlang |1:25.2.3+dfsg-1
+63 |F# |dotnet7 |7.0.113-0ubuntu1\~23.10.1
+64 |FALSE |*N/A* |-
+65 |Flex |flex |2.6.4-8.2
+66 |Fish |fish |3.6.1-1
+67 |Forth |gforth |0.7.3+dfsg-9build4.1
+68 |FORTRAN77 |f2c |20200916-1
+69 |Fortran90 |gfortran |4:13.2.0-1ubuntu1
+70 |Gambas script |gambas3-scripter, gambas3-gb-pcre |3.18.3-1ubuntu1
+71 |GAP |gap |4.12.1-2
+72 |GDB |gdb |14.0.50.20230907-0ubuntu1
+73 |GEL (Genius) |genius |1.0.27-1
+74 |Gnuplot |gnuplot |5.4.4+dfsg1-2build1
+75 |Go |golang |2:1.21\~2
+76 |GolfScript |*N/A* |-
+77 |G-Portugol |gpt |1.1-7
+78 |Grass |*N/A* |-
+79 |Groovy |groovy |2.4.21-8
+80 |Gzip |gzip |1.12-1ubuntu1
+81 |Haskell |ghc |9.0.2-5
+82 |Haxe |haxe |1:4.3.1-1
+83 |Icon |icont, iconx |9.4.3-7ubuntu1
+84 |INTERCAL |intercal |30:0.30-6
+85 |Jasmin |jasmin-sable |2.5.0-2
+86 |Java |openjdk-11-jdk |11.0.20.1+1-0ubuntu1\~23.04
+87 |JavaScript |nodejs |18.13.0+dfsg1-1ubuntu2
+88 |Jq |jq |1.6-3
+89 |JSFuck |nodejs |18.13.0+dfsg1-1ubuntu2
+90 |Kotlin |kotlin |1.3.31+ds1-1build5
+91 |ksh |ksh |20230128
+92 |Lazy K |*N/A* |-
+93 |Lisaac |lisaac |1:0.39\~rc1-3.1
+94 |LiveScript |livescript |1.6.1+dfsg-3
+95 |LLVM asm |llvm |1:16.0-57
+96 |LOLCODE |*N/A* |-
+97 |Lua |lua5.3 |5.3.6-2
+98 |M4 |m4 |1.4.19-3
+99 |Makefile |make |4.3-4.1build1
+100 |Maxima |maxima |5.45.1-8
+101 |MiniZinc |minizinc |2.6.4+dfsg1-1
+102 |Modula-2 |gm2 |4:13.2.0-1ubuntu1
+103 |MSIL |mono-devel |6.8.0.105+dfsg-3.4
104 |Mustache |ruby-mustache |1.1.1-2
105 |NASM |nasm |2.16.01-1
-106 |Neko |neko |2.3.0-1build3
-107 |Nickle |nickle |2.91
-108 |Nim |nim |1.6.10-2
-109 |Objective-C |gobjc |4:12.2.0-3ubuntu1
-110 |OCaml |ocaml |4.13.1-4ubuntu1
-111 |Octave |octave |7.3.0-1build1
+106 |Neko |neko |2.3.0-2
+107 |Nickle |nickle |2.92
+108 |Nim |nim |1.6.14-1
+109 |Objective-C |gobjc |4:13.2.0-1ubuntu1
+110 |OCaml |ocaml |4.13.1-6ubuntu1
+111 |Octave |octave |8.3.0-2
112 |Ook! |*N/A* |-
-113 |PARI/GP |pari-gp |2.15.2-1
+113 |PARI/GP |pari-gp |2.15.4-2
114 |Parser 3 |parser3-cgi |3.4.6-3
-115 |Pascal |fp-compiler |3.2.2+dfsg-18ubuntu1
-116 |Perl 5 |perl |5.36.0-7ubuntu0.23.04.1
+115 |Pascal |fp-compiler |3.2.2+dfsg-22
+116 |Perl 5 |perl |5.36.0-9ubuntu1
117 |Perl 6 |rakudo |2022.12-1
-118 |PHP |php-cli |2:8.1+92ubuntu1
+118 |PHP |php-cli |2:8.2+93ubuntu1
119 |Piet |*N/A* |-
-120 |PostScript |ghostscript |10.0.0\~dfsg1-0ubuntu1.3
-121 |PPT (Punched tape) |bsdgames |2.17-29
-122 |Prolog |swi-prolog |9.0.4+dfsg-1ubuntu2
+120 |PostScript |ghostscript |10.01.2\~dfsg1-0ubuntu2.1
+121 |PPT (Punched tape) |bsdgames |2.17-30
+122 |Prolog |swi-prolog |9.0.4+dfsg-2ubuntu1
123 |Promela (Spin) |spin |6.5.2+dfsg-1
-124 |Python |python3 |3.11.2-1
-125 |R |r-base |4.2.2.20221110-2build1
+124 |Python |python3 |3.11.4-5
+125 |R |r-base |4.3.1-4
126 |Ratfor |ratfor |1.05-2
127 |rc |rc |1.7.4+97.gceb59bb-5
128 |REXX |regina-rexx |3.6-2.4
diff --git a/SHA1SUMS b/SHA1SUMS
index 0c162259..a3ae0848 100644
--- a/SHA1SUMS
+++ b/SHA1SUMS
@@ -1,128 +1,128 @@
-ecad09c0cc048d6264c6c2cb0fb1ba268dc206fd *QR.rb
-189e0b1fe5969fba4fba37a41f05e431d17c0a5b *QR.rs
-f9573482476274a552544fa0b15ee28b3fe55e0e *QR.scala
-79d2bcf22be31acefd6df5c7e6a647c4d14ad89f *QR.scm
-43e36f9cef24bcfb0516f8929524923f056116cb *QR.sci
-7a39f513259ebb964517651cff1781bf949aa9a8 *QR.sed
-8a3faaac26123f98706bdded24e4afdafd291054 *QR.spl
-a30e61ea04b2077babb1c6df968a8961d8d3fcea *QR.sl
-aba2e01b80f270fadf89dbf320e175d905eb8bef *QR.st
-8f5b12cc95c0cd1e04d1e5cb0226520613f56dc2 *QR.sml
-12674934f9b649971fd39eacee59f6522b622681 *QR.sq
-1085ffb56fd470c886456a76eeb0ac5690632f8e *QR.ss
-19addf81bb5951d291103341cc713bc2d3e4a21e *QR.tcl
-6200d8155b74c360903949c74d55844619328d6d *QR.tcsh
-26745b7a079d840145fccae031d62a16740f1688 *QR.t
-dfbaf641d22b89ae8e0e8f9b869e8b183a6668b5 *QR.ts
-b2b0e20fc2ebd00de0d5ab15a3faad3e8919da25 *QR.unl
-ae15b1f96e12d49b124a7f5a855719256c741020 *QR.vala
-996a3358704c794842b9714c7462efbb2c923af1 *QR.mid
-c544efcd9548609ccb1299b1d804743331effc98 *QR.v
-4d94fd2b7eae8afa333a1387efb4caa99e8badd3 *QR.vim
-6aaecb93d3bc06390cff81547dcf865e0ef22e7f *QR.vb
-96ac9926330c740bc837cfdf6d573d1ef43635e0 *QR.wasm
-5002f8db85406db3d22757f1e4f3b18bd24300cc *QR.wat
-d5252b970489657b963c9e47fd0735aa7ca78d1e *QR.ws
-deb15f20444b93884c98c4a79ab84ddd1429c66b *QR.xslt
-3229f460ff14f8d7b489372ce1bd21976e7d7729 *QR.yab
-1f11eb325b0fb2533334ad44bcc9e0742ee2e722 *QR.yorick
-120a9dd72efed32c0aff40b98c8dc07cc058d23c *QR.azm
-f0fa1dd3e4bd2b874a70168ca920b02da6802089 *QR.zsh
-0bb614670787eeab41fae3eaaddedf7f5080f0e3 *QR.+
-526f3799678822f45335b5f3cd45532ddcdc2a7f *qr.adb
-df644a0c127452ca5c853a1150a3a1df2860fb6b *QR.als
-214c54584838e016ebd113fb579737d88fc33af0 *QR.aheui
-30d18ad906d77f08786e6aefefed2fdd3bd51db0 *QR.a68
-bfb9f7e9a74645b486109da48534d9a36c333dc3 *QR.ante
-9994ba08ba092e23f8e8803e93345b95c746a589 *QR.aj
-9b4f8fadc7ea9bb03e85932fe9471fc98e751f15 *QR.asy
-c92c508b13dd38e50df5414e35ff06acb4520576 *QR.dats
-86b6c33b900a892f926b763a9bcccb08aec39302 *QR.awk
-792c05979eee24a761fe7420e6cf2c269296d28f *QR.bash
-de993da0d145fcf354bf1c6f2e3db30cbb6cc105 *QR.bc
-ee69f53ca763ed107fe9b3e9a9988fb5e003e449 *QR.bsh
-538dcce2b40f7cf7d599464ef5515e465d217a29 *QR.bef
-f388f77da0851798df56241e76f9364f6402517b *QR.Blc
-0ed5a3ddf50faa5f10e5c5c53c7a29d2682e796e *QR.bf
-c083bbcb31f9b7f6694e7ba9f6ff5bc3fd079f85 *QR.c
-78e023ff6e98a63f22bcb8373fc4529671c50547 *QR.cpp
-1c5436e86d822d44f08ea4ec38ecdbc8ef5240a6 *QR.cs
-275c04ee3c0da95530aa3684a9a7c07e118be8c2 *QR.chef
-ca53804407803c3b2cfdd75bdb2a79f200ae4513 *QR.clj
-b51a718e347c26b18573611194d2890640745d3e *QR.cmake
-7814553e21b4e9ec4e1b1aceb1d896da1402baa8 *QR.cob
-a5253b5aefce3555266cf3a061728eb692e885b1 *QR.coffee
-0eac55a0b312416d8b2e738480c700e0bfeefc43 *QR.lisp
-68173ee71e43b54155754d639786561ca2878927 *QR.cr
-ebb0a04c63a8e560d92f0f5599993749001c4911 *QR.d
-2b1c167dc5aba19e6a2edd51f97af22f19c4428f *QR.dfy
-dfbea7e94200c8d332f539e54d19812e5de33fb7 *QR.dc
-7572aafde3e0290cdb79098c30538bd88c32bd04 *QR.dhall
-86f5f48b19e34997a660c4e5506f83ea62a000f6 *QR.exs
-0d22903efbb75621b14818f9e28a0d24b9d61826 *QR.el
-164c9ec1748f0d4d311a1ab74dfaad6da9983945 *QR.erl
-6ead49894fef5a81bd095e64133f0768df116df3 *QR.fsx
-74b954e7f9a14c3ee65908c3d8b2e6ccf5698b9c *QR.false
-8e491fe09516166a00c8d8c7f203e0fa0d2e4581 *QR.fl
-e7bb5aab1533481b8650a58222669432e8eb7ff6 *QR.fish
-08651741aab089905711d4aaad755f1fda94e5e0 *QR.fs
-d08aacd3b0a93fa75037fe25747a09e5777e620d *QR.f
-2eff04abb914eb8bd3858fcb85b9eeceddb11204 *QR.f90
-516563192595b8e1e97aee23cfefc420ef06f5cc *QR.gbs
-3b2324d0057f0e888cee01232076376295957324 *QR.g
-bcff26f6c3396120d9128e247abbc863a81eae62 *QR.gdb
-af9e5dab686742c29f39eb12a396da72ce4a5fbd *QR.gel
-4874788e90a7a74341503fe67049cbf42c76131f *QR.plt
-17842e5aa2cafe8b3ba14ad3f0b98351b668043e *QR.go
-e0a05e2073c0574799882f199e109a6bcdd263ff *QR.gs
-7237663dbb36c3bc8b2eef6867e7de6226f8d468 *QR.gpt
-6112b866ab464b8afc9e05509a8a69ac32112bdc *QR.grass
-62c51b9d99c3727db4348678e7f8c00e5c23118a *QR.groovy
-c88fd44ebb468340a159fb53c445556978378545 *QR.gz
-86844aebad2a05b569a46c241e52d44c56610e4b *QR.hs
-c68d46ade2cb454a0da1e65dca9b64e28e7cde7d *QR.hx
-f23af46fb87e1c023b815bf552f07478b2cb37a9 *QR.icn
-94670172701921f4eafae5bb6c0a128bcce91ddd *QR.i
-162c89f3d6b18a00d9cb9494f48c0eca2616cb8a *QR.j
-d7324f46a6b9214863047e0fed3320bda9b568d8 *QR.java
-4156184dc678c9e34257083d60e4ad9781605421 *QR.js
-6973b87a275bba91471fd4be28e90eafb3f914c8 *QR.jq
-2cec05d358d23ea448fec64d4e5cc314a8a09b8e *QR.jsfuck
-2cc325479418667562b0f919913cca76f40229a8 *QR.kt
-70d041a46d7da3e892481395523d4201d5a43269 *QR.ksh
-964b52be39246ec129d67024efac82aefc67a40d *QR.lazy
-aabffd01b974f4c24f77d58278cf589c3f5b1c91 *qr.li
-7efb70ea0494708e459abf6477c0d1700e48b207 *QR.ls
-98f69e24a14bf4437561276231902a849d88738e *QR.ll
-2d0d2b4e2d72dd6eccb10490a199765ea69cf792 *QR.lol
-c64e0802919d329cc9fbedd4ecdc3c673c0ce94e *QR.lua
-a131246a73cb7c4683adf41b3597e2da085919df *QR.m4
-694fb83b479c62eb386b96382234c4357c3dbe2d *QR.mk
-683c5449aa109038986992eac7d31c27276f5048 *QR.mac
-bb8ff4f5a8ad585125edad0337c40479404d52ce *QR.mzn
-71a9d2dc92198024a65a4384b00a31519f59d49a *QR.il
-0270dd8de52ae92f9f7cf7d123292f07946fa9f9 *QR.mustache
-30cc6935d080c2549b7dace722509fe2c29e4fda *QR.asm
-bf4b0058fb57b9adb04f18693bebd000881f5438 *QR.neko
-abea5beb298ce2ebca0c4f35921437a5a21c8e29 *QR.5c
-d188cbc7094bc1b80ad51980ef640ac9a2fcb549 *QR.nim
-de0d6c0f19539236217eaf10671aff1667245283 *QR.m
-88fa5d85785c39c1986e6bdeb3e650bdce471f46 *QR.ml
-b8235cb74d93907eb9d1620f0c3c7938eba0f90d *QR.octave
-d97f5c3735c75a6888c56e3a6c3222332aed34f9 *QR.ook
-7e287b7430f5d8abd6d6465a26e1609e019a96d4 *QR.gp
-3854dfef669b0280fa64dc0312ccb20438c8591f *QR.p
-6978d430f2789b7552be0da73aa0da9c8661ee9b *QR.pas
-ac8a449bd5b482c3d859040dfc9f014efbb2cac2 *QR.pl
-21f933929d3f3899bb3f3159f2562f7ec9febdb0 *QR.pl6
-1afcb0c9e77f0a816f343029abbfe7caabf91f52 *QR.php
-8fe615bef2c87137fb271608df7d68d359e551a5 *QR.png
-585f55f807e885ba3b644f2c69ced0bfa7ec8898 *QR.ps
-91b546665126c074884d773c45be29f9019e1044 *QR.ppt
-4b90c7516c655abe152c043e8748ea39c91b0210 *QR.prolog
-4a9a28246595dfeb8eb2e7a9bf79a1db2cb7ac7f *QR.pr
-29c9cc5f6bb03c9596c21113826bc1a928c8b269 *QR.py
-7e5f1e5de5cd70dd16e9418e20af9e807de5578e *QR.R
-f30fe53726eff88742c22fae41ca89018ec6aac5 *QR.ratfor
-16ff9b45e77acc7f0954b31509bddd9c8a018bb9 *QR.rc
-a0a145355a1862c65f27476ea148f1037370469e *QR.rexx
+7241d1702966655bd1f80cc95051062ad82dbf5e *QR.rb
+045d11ebbe5a798735bcbd5f4b602274cb446b09 *QR.rs
+3d0e050117108a49b0200b27976bcbed2d0f6cde *QR.scala
+499578dd2b412176c962291e065e552ea3361d69 *QR.scm
+e8e9d8daec2edbb3421b78006a65ea594d0e80c3 *QR.sci
+d0db6ee06733f882c136eaea3a30f0d16e725ec9 *QR.sed
+4739757bbc7781dc5f6525ee1a007c2e1742f19b *QR.spl
+0097dfccd51d8909376148f0db2a56a17ee3b274 *QR.sl
+d75b7c015552f40069fac1ace2b4d9ebf1bae8a6 *QR.sml
+7a37a20bfcebca434dcea33a9d0335073f716f14 *QR.sq
+1404012a02770b750a997f1123dc8cd3c56dd5b6 *QR.ss
+c7ae144b06ed7faf84fbe353c68fec55cee73590 *QR.tcl
+921832a849dda17a539330a00402063f34e8a348 *QR.tcsh
+393896935ba71403bb62d0f1b05e3182a810fb3f *QR.t
+62042354594cf64957f189af221de0af9e84c7e9 *QR.ts
+88d991a74d4bd1d1b97d2b3e3e2eeba2cd8307bb *QR.unl
+cf31a9528f086474a00869c82b8cf4d3a33cc7de *QR.vala
+91c013be503c5cbc981b8f5cc6fffadc96e36703 *QR.mid
+927d478b82df7d8435d039368da9547017d3e02e *QR.v
+d3bc6047506eeb362f0b41c6e564b9ba6a6f950e *QR.vim
+701323b8d5561d2fafcae16a44627ec2837abe52 *QR.vb
+18dc4b83bfb5a761345e7aab6279c5c5e59fb1c9 *QR.wasm
+16955fc5f37a955e980863b84f3336509fd67e15 *QR.wat
+22435ffc311b7ece02ce11169b14ae34e1e8d4a0 *QR.ws
+06ab8bbf85320972233fb8ee5c57f27813b26940 *QR.xslt
+2c1abca1dd4abc5794b017302d5f3aab2b1ff610 *QR.yab
+dadf17114faf19965a0ae49f20d31ce1a2af0918 *QR.yorick
+1036be1f36b331ed22f1b36f4838ffa30de0961b *QR.azm
+6ce560226489140d46adaf4fa6f392e9eb85ad1f *QR.zsh
+ced70b3cdf2733931bb11d239d918eb6797561f9 *QR.+
+5579e978a6a15a75a4bd0a248725ebb9c6a173fc *qr.adb
+e9779355255fb0ab3d9004db35813b46d3e16fd2 *QR.als
+7321f7fb8d1b178e63eb84e11f4b26734d806bb4 *QR.aheui
+380c69454e3dbf1fc3c3f1e5af7eb1900d4930b1 *QR.a68
+b10977126278df83c9d4ddc09d721fa9dbaee8b8 *QR.ante
+7d8fbc21be9a40499a199c3a15daf386e9ba8099 *QR.aj
+2cd353b6d61e3be055daac94531de0e4e487af63 *QR.asy
+b95cbfe077a24aae842ff8123608a2e64c596ab5 *QR.dats
+df645709380e57156bb5c90be0eb6634f95ca288 *QR.awk
+1f6719441b366584b81ba9043a2770fe4fb7883d *QR.bash
+fc701ecdd49bd6e90b8272ade19512a56842e641 *QR.bc
+090aee285da6c5e50246e8f1b7365ded3fd0868d *QR.bsh
+9ef3829fd8ad330624555d7ac36ea152fbd6daa8 *QR.bef
+8e534820d320c8fb7789092fea80466233b2aac2 *QR.Blc
+da639bf7b8806c9c82d16a43af7908d949d43896 *QR.bf
+babf35f81cbb9a392b92281e834b628d143b1523 *QR.c
+619db58027aecebe9f3a99094d131657f57d386e *QR.cpp
+d25ae9227c9f347eed63c34e1a7f01d5112e390a *QR.cs
+899ab814dad8161101f0b4053ac1c6a8b98177ba *QR.chef
+984519e4112b2a08ba7e6a3ff4b66d28e336c88d *QR.clj
+fc329a650903dc840517373a662c443811bd1fbe *QR.cmake
+79ed5f7079c14725dc6e48f699770020202631fc *QR.cob
+1ae27e28662a055b8b4af6b8a1d61f848b2ef987 *QR.coffee
+8d371da4244fd8450b799e22c5ac60679bfc9c53 *QR.lisp
+935a80607eda583aed0e408ce92b51ea8f3bb1d6 *QR.cr
+e570ba9c9582fa8c5e86f0526ff25ae572f200a0 *QR.d
+d698fa1c1cbfac569ca0589dc94524fecb55a5a6 *QR.dfy
+ccafeefaf170d44c25d45f4609500c7c31b3ef12 *QR.dc
+26cd1b4cdb41544a3ba00b2baa29fb0a017d7efa *QR.dhall
+54369587cb090a22b93c2624bb32eb2ffce77a77 *QR.exs
+3d4e73f0d35d09f731a62db14177e8ed9fa8d75d *QR.el
+7a6886d548a5402539483dcf36f816ca081bdf4c *QR.erl
+102d598f085aa43ab2ba95f4c78bb24c62e3bb7d *QR.fsx
+6991c6b726914ba0c50461e5c13e5b92816f731b *QR.false
+bb7ed64c79f386e26ae6d75cb665a4103d7f2566 *QR.fl
+45a23b1c041cf362c6518353c4322d92978da945 *QR.fish
+8adf25ba29bee69c92077c476310cdaad96cc487 *QR.fs
+47ba713c815502736f5cfd04cf5d4c5bd1b76702 *QR.f
+e20f81f23b256260d5dc46fccaa496b15e78c8dc *QR.f90
+7192ee25f4dd624758086e15c05eba9e080a4bac *QR.gbs
+5215542fde19eba43aac296604ed007b425d3d59 *QR.g
+d3df7b26813bcba97385aed7feb88c94bdbf9b6f *QR.gdb
+661b30e598df3463a459f8bca599a60ec563dfae *QR.gel
+4326457c9362b241f2615a2d7b32e8f1bb848f78 *QR.plt
+737838922bcb2dbb3b8ced5ad9a0e29b68454cff *QR.go
+724680f929d9e6ce4a2740c67582692577a2caf9 *QR.gs
+87f496ecc897b39b9ea268096bc7e091e4d414f8 *QR.gpt
+043e02b44a64122d15a17768b336d15732c8eb9e *QR.grass
+a74e5efd5ef3c10e8258c71f9271a6ff3eeff821 *QR.groovy
+ecf0ceda10058feca88da493bd69852304a8199f *QR.gz
+0130a6b407c6d50f939e4478928b16659718e759 *QR.hs
+36bac33d7b6c292a4c4fd8edd0b64c8ef07b3fb8 *QR.hx
+d1492cdad89ea83b79bca9bf37894e64197e313a *QR.icn
+710a883fe2c1bd50a165fde56db393ec5370d130 *QR.i
+b675630c93de3574f36f987610e0e0e4109bee5b *QR.j
+242351f01fb77d6098bd6a0d011efa7ff38ce99c *QR.java
+9b917e6779cbd77e7a51f8459852df898294e1eb *QR.js
+5cdd34807c6e7467aaf7f5e099330ccb082d657f *QR.jq
+31374952b97aad0fdb52d160508a6c61861155ec *QR.jsfuck
+8a3fb43aaae34492c32502f24dbea7120bba28c4 *QR.kt
+261559490a92a9cf8fcbefe9ed00955b2b0f1edd *QR.ksh
+ae070fb483a6b4d87c405ed5b55c08b6b3a814f6 *QR.lazy
+16222c5b9fa6059c38822549f670d010a86df073 *qr.li
+f464a5803021b260bbaeed898165bed35d110cbe *QR.ls
+daf7ecc91c040335dde103abbf6d5199ce7eeea6 *QR.ll
+622d675addffa79e0195f368dee5fd3ad540a69c *QR.lol
+b1e105a96329129c391b3f4cf8e040ed027eb95d *QR.lua
+7446271c49ee08169364d4cbd1eed367571a7f51 *QR.m4
+7101070e370b8f74079ce57ac866006330e6beb0 *QR.mk
+a01eac05a1f2e99919df93d81fa5144988a14670 *QR.mac
+4026c8f56bb6f17eed25f2128a1c12ef66813c52 *QR.mzn
+d0dc0356fcf5c546bcd197c185fa658cff888f2c *QR.mod
+ca3971248c8c4ef93d84d67d96daee0bef57f15c *QR.il
+879a15baa76ff4303188825b33aac5013e1e0820 *QR.mustache
+5bf6af83a617964094276d0883744ca89971f47c *QR.asm
+9b01f02c3a4277188d3de96360505fa805d6d783 *QR.neko
+5a40a366db891b47b4e73c146d053820cfa88924 *QR.5c
+8c6acc31e031bce2e2202c961c32e259a4ba4f97 *QR.nim
+39d3af493dad3bf96b79768631c3470128477d1d *QR.m
+d875384bf7732b1f9c584008a4bcff14e6503dfe *QR.ml
+df172c8f8914d64a8215a139f5870e890ac84ee0 *QR.octave
+b60c2a4b7db6e936e4ffdd7f8901a9ddb96e01a5 *QR.ook
+072561ddce43ce7b4fbadeb80e840a44ffb1f0d1 *QR.gp
+d5c05f65fa8ea90456abba6a51cab8b43bf4fe50 *QR.p
+74f138c893e4c1776e5caa52096f5860ff8fa74c *QR.pas
+65c7ad83ce09a5d3ace7601c72049253b2a90252 *QR.pl
+175ef69ce9e917e9568e418b35639375f9c55be1 *QR.pl6
+3944a39638863a02c03d33dfbd25aa4a501e3541 *QR.php
+57d6e9c57b0ff69663c9dc1140a4e0939189a4a2 *QR.png
+abcadf15686a9632583817c876b66e2199b82e8c *QR.ps
+126548020c7c21e9f48dbda43904b6d5261c073c *QR.ppt
+3498c52004f881bb0c87dc5818e685178010c004 *QR.prolog
+3fe52e575ba6cb13c0b3390684277073d603bae8 *QR.pr
+ad907b54be20ac0c379f56edbc7bf9fd0fe09358 *QR.py
+1dc8af7a7145706f3ec1f98a54bb5af4dc9c7e2c *QR.R
+87ac4c0c81a7bb5d06c97e18dcc441b06e73653a *QR.ratfor
+2db8eed05ec07c733555005a70ffc92d3dc06336 *QR.rc
+e37ba13ea7ab356ce2b81070a9d5cf513dd6986a *QR.rexx
diff --git a/langs.png b/langs.png
index 41c6090d..0e5b2610 100644
Binary files a/langs.png and b/langs.png differ
diff --git a/src/code-gen-pool.rb b/src/code-gen-pool.rb
index fac7fddc..87c96730 100644
--- a/src/code-gen-pool.rb
+++ b/src/code-gen-pool.rb
@@ -37,26 +37,6 @@ class Execline < CodeGen
Code = %q(%(echo "#{e[PREV]}"))
end
-class Modula2 < CodeGen
- Name = "Modula-2"
- File = "QR.mod"
- Cmd = "gm2 -fiso QR.mod -o QR && ./QR > OUTFILE"
- Apt = "gm2"
- def code
- <<-'END'.lines.map {|l| l.strip }.join
- "
- MODULE QR;
- FROM StrIO IMPORT WriteString;
- BEGIN #{
- (PREV).gsub(/()[#{i=94.chr}"]+|[#{i}']+/){
- ["WriteString(",$&,");"]*($1??":?')
- }
- }END QR.
- "
- END
- end
-end
-
class Pike < CodeGen
File = "QR.pike"
Cmd = "pike QR.pike > OUTFILE"
diff --git a/src/code-gen.rb b/src/code-gen.rb
index a7b3f5b3..0945f40e 100644
--- a/src/code-gen.rb
+++ b/src/code-gen.rb
@@ -339,6 +339,26 @@ def code
end
end
+class Modula2 < CodeGen
+ Name = "Modula-2"
+ File = "QR.mod"
+ Cmd = "gm2 -fiso QR.mod -o QR && ./QR > OUTFILE"
+ Apt = "gm2"
+ def code
+ <<-'END'.lines.map {|l| l.strip }.join
+ "
+ MODULE QR;
+ FROM StrIO IMPORT WriteString;
+ BEGIN #{
+ (PREV).gsub(/()[#{i=94.chr}"]+|[#{i}']+/){
+ ["WriteString(",$&,");"]*($1??":?')
+ }
+ }END QR.
+ "
+ END
+ end
+end
+
class MiniZinc < CodeGen
File = "QR.mzn"
Cmd = "minizinc --solver Gecode --soln-sep '' QR.mzn > OUTFILE"
@@ -1483,13 +1503,6 @@ def code
end
end
-class Smalltalk < CodeGen
- File = "QR.st"
- Cmd = "gst QR.st > OUTFILE"
- Apt = "gnu-smalltalk"
- Code = %q("Transcript show: '#{d[PREV,?']}';cr")
-end
-
class Scilab_Sed_Shakespeare_SLang < CodeGen
Name = ["Scilab", "sed", "Shakespeare", "S-Lang"]
File = ["QR.sci", "QR.sed", "QR.spl", "QR.sl"]
diff --git a/thumbnail.png b/thumbnail.png
index 81299f3b..3b3bd23f 100644
Binary files a/thumbnail.png and b/thumbnail.png differ