diff --git a/Conf/lang.yaml b/Conf/lang.yaml
index 3e0d8b7106..425ffc3d94 100644
--- a/Conf/lang.yaml
+++ b/Conf/lang.yaml
@@ -179,6 +179,7 @@ Cowgol: .cowgol
Crack: .crack
Craft Basic: .basic
Creative Basic: .basic
+Curto: .curto
Crystal: .crystal
C sharp: .cs
C Shell: .csh
@@ -461,6 +462,7 @@ M2000 Interpreter: .m2000
M4: .m4
M680x0: .m680x0
MACRO-11: .macro11
+Macsyma: .macsyma
MAD: .mad
Make: .make
Malbolge: .malbolge
@@ -484,6 +486,7 @@ Mercury: .mercury
Metafont: .metafont
Metapost: .metapost
MGS: .mgs
+Mia: .mia
Microsoft Small Basic: .basic
Min: .min
MINIL: .minil
@@ -551,6 +554,7 @@ NQP: .nqp
NS-HUBASIC: .basic
NSIS: .nsis
N/t/roff: .ntroff
+Nu: .nu
Nutt: .nutt
Nyquist: .nyquist
OASYS: .oasys
@@ -836,9 +840,11 @@ UNIX Shell: .sh
Unlambda: .unlambda
Ursa: .ursa
Ursala: .ursala
+Ursalang: .ursa
UScript: .u
UserRPL: .rpl
UTFool: .utfool
+Uxntal: .uxnatl
V: .v
Vala: .vala
Vale: .vale
diff --git a/Lang/11l/Comments b/Lang/11l/Comments
deleted file mode 120000
index 3585963399..0000000000
--- a/Lang/11l/Comments
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Comments/11l
\ No newline at end of file
diff --git a/Lang/11l/List-comprehensions b/Lang/11l/List-comprehensions
deleted file mode 120000
index f4de0b78ad..0000000000
--- a/Lang/11l/List-comprehensions
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/List-comprehensions/11l
\ No newline at end of file
diff --git a/Lang/8080-Assembly/McNuggets-problem b/Lang/8080-Assembly/McNuggets-problem
new file mode 120000
index 0000000000..69d7be7c03
--- /dev/null
+++ b/Lang/8080-Assembly/McNuggets-problem
@@ -0,0 +1 @@
+../../Task/McNuggets-problem/8080-Assembly
\ No newline at end of file
diff --git a/Lang/8080-Assembly/Repeat-a-string b/Lang/8080-Assembly/Repeat-a-string
new file mode 120000
index 0000000000..8f626bb358
--- /dev/null
+++ b/Lang/8080-Assembly/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/8080-Assembly
\ No newline at end of file
diff --git a/Lang/ALGOL-60/100-doors b/Lang/ALGOL-60/100-doors
deleted file mode 120000
index 9bbf6f9b11..0000000000
--- a/Lang/ALGOL-60/100-doors
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/100-doors/ALGOL-60
\ No newline at end of file
diff --git a/Lang/ALGOL-60/Sum-multiples-of-3-and-5 b/Lang/ALGOL-60/Sum-multiples-of-3-and-5
new file mode 120000
index 0000000000..f733e89a1f
--- /dev/null
+++ b/Lang/ALGOL-60/Sum-multiples-of-3-and-5
@@ -0,0 +1 @@
+../../Task/Sum-multiples-of-3-and-5/ALGOL-60
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Equal-prime-and-composite-sums b/Lang/ALGOL-68/Equal-prime-and-composite-sums
new file mode 120000
index 0000000000..7f8271d85e
--- /dev/null
+++ b/Lang/ALGOL-68/Equal-prime-and-composite-sums
@@ -0,0 +1 @@
+../../Task/Equal-prime-and-composite-sums/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Jacobi-symbol b/Lang/ALGOL-68/Jacobi-symbol
new file mode 120000
index 0000000000..6ad192d3e6
--- /dev/null
+++ b/Lang/ALGOL-68/Jacobi-symbol
@@ -0,0 +1 @@
+../../Task/Jacobi-symbol/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Numbers-which-are-not-the-sum-of-distinct-squares b/Lang/ALGOL-68/Numbers-which-are-not-the-sum-of-distinct-squares
new file mode 120000
index 0000000000..b879b4a5c6
--- /dev/null
+++ b/Lang/ALGOL-68/Numbers-which-are-not-the-sum-of-distinct-squares
@@ -0,0 +1 @@
+../../Task/Numbers-which-are-not-the-sum-of-distinct-squares/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Polynomial-long-division b/Lang/ALGOL-68/Polynomial-long-division
new file mode 120000
index 0000000000..792b97252e
--- /dev/null
+++ b/Lang/ALGOL-68/Polynomial-long-division
@@ -0,0 +1 @@
+../../Task/Polynomial-long-division/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Radical-of-an-integer b/Lang/ALGOL-68/Radical-of-an-integer
new file mode 120000
index 0000000000..18632fce6e
--- /dev/null
+++ b/Lang/ALGOL-68/Radical-of-an-integer
@@ -0,0 +1 @@
+../../Task/Radical-of-an-integer/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Ramer-Douglas-Peucker-line-simplification b/Lang/ALGOL-68/Ramer-Douglas-Peucker-line-simplification
new file mode 120000
index 0000000000..b719791f41
--- /dev/null
+++ b/Lang/ALGOL-68/Ramer-Douglas-Peucker-line-simplification
@@ -0,0 +1 @@
+../../Task/Ramer-Douglas-Peucker-line-simplification/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-M/Exponentiation-order b/Lang/ALGOL-M/Exponentiation-order
new file mode 120000
index 0000000000..b37e574b53
--- /dev/null
+++ b/Lang/ALGOL-M/Exponentiation-order
@@ -0,0 +1 @@
+../../Task/Exponentiation-order/ALGOL-M
\ No newline at end of file
diff --git a/Lang/ALGOL-W/100-doors b/Lang/ALGOL-W/100-doors
deleted file mode 120000
index 954c02976a..0000000000
--- a/Lang/ALGOL-W/100-doors
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/100-doors/ALGOL-W
\ No newline at end of file
diff --git a/Lang/ALGOL-W/Jacobi-symbol b/Lang/ALGOL-W/Jacobi-symbol
new file mode 120000
index 0000000000..9d2230fbff
--- /dev/null
+++ b/Lang/ALGOL-W/Jacobi-symbol
@@ -0,0 +1 @@
+../../Task/Jacobi-symbol/ALGOL-W
\ No newline at end of file
diff --git a/Lang/ALGOL-W/Numbers-which-are-not-the-sum-of-distinct-squares b/Lang/ALGOL-W/Numbers-which-are-not-the-sum-of-distinct-squares
new file mode 120000
index 0000000000..d2256bcafe
--- /dev/null
+++ b/Lang/ALGOL-W/Numbers-which-are-not-the-sum-of-distinct-squares
@@ -0,0 +1 @@
+../../Task/Numbers-which-are-not-the-sum-of-distinct-squares/ALGOL-W
\ No newline at end of file
diff --git a/Lang/APL/Align-columns b/Lang/APL/Align-columns
new file mode 120000
index 0000000000..b966dedf04
--- /dev/null
+++ b/Lang/APL/Align-columns
@@ -0,0 +1 @@
+../../Task/Align-columns/APL
\ No newline at end of file
diff --git a/Lang/APL/Longest-common-substring b/Lang/APL/Longest-common-substring
new file mode 120000
index 0000000000..dd75194fe4
--- /dev/null
+++ b/Lang/APL/Longest-common-substring
@@ -0,0 +1 @@
+../../Task/Longest-common-substring/APL
\ No newline at end of file
diff --git a/Lang/AWK/Deceptive-numbers b/Lang/AWK/Deceptive-numbers
new file mode 120000
index 0000000000..8f879c57e0
--- /dev/null
+++ b/Lang/AWK/Deceptive-numbers
@@ -0,0 +1 @@
+../../Task/Deceptive-numbers/AWK
\ No newline at end of file
diff --git a/Lang/Acornsoft-Lisp/Search-a-list b/Lang/Acornsoft-Lisp/Search-a-list
new file mode 120000
index 0000000000..80011d9a5b
--- /dev/null
+++ b/Lang/Acornsoft-Lisp/Search-a-list
@@ -0,0 +1 @@
+../../Task/Search-a-list/Acornsoft-Lisp
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/Anagrams b/Lang/Amazing-Hopper/Anagrams
new file mode 120000
index 0000000000..0666803cc3
--- /dev/null
+++ b/Lang/Amazing-Hopper/Anagrams
@@ -0,0 +1 @@
+../../Task/Anagrams/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/Arithmetic-evaluation b/Lang/Amazing-Hopper/Arithmetic-evaluation
new file mode 120000
index 0000000000..090fde0f4b
--- /dev/null
+++ b/Lang/Amazing-Hopper/Arithmetic-evaluation
@@ -0,0 +1 @@
+../../Task/Arithmetic-evaluation/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/Averages-Median b/Lang/Amazing-Hopper/Averages-Median
new file mode 120000
index 0000000000..85188aa532
--- /dev/null
+++ b/Lang/Amazing-Hopper/Averages-Median
@@ -0,0 +1 @@
+../../Task/Averages-Median/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/Babbage-problem b/Lang/Amazing-Hopper/Babbage-problem
new file mode 120000
index 0000000000..fbd53ae54a
--- /dev/null
+++ b/Lang/Amazing-Hopper/Babbage-problem
@@ -0,0 +1 @@
+../../Task/Babbage-problem/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/Balanced-brackets b/Lang/Amazing-Hopper/Balanced-brackets
new file mode 120000
index 0000000000..22c365c13b
--- /dev/null
+++ b/Lang/Amazing-Hopper/Balanced-brackets
@@ -0,0 +1 @@
+../../Task/Balanced-brackets/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/Cantor-set b/Lang/Amazing-Hopper/Cantor-set
new file mode 120000
index 0000000000..b7d83aa2d8
--- /dev/null
+++ b/Lang/Amazing-Hopper/Cantor-set
@@ -0,0 +1 @@
+../../Task/Cantor-set/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/Count-in-octal b/Lang/Amazing-Hopper/Count-in-octal
new file mode 120000
index 0000000000..db01d0d594
--- /dev/null
+++ b/Lang/Amazing-Hopper/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/Disarium-numbers b/Lang/Amazing-Hopper/Disarium-numbers
new file mode 120000
index 0000000000..ce173c6822
--- /dev/null
+++ b/Lang/Amazing-Hopper/Disarium-numbers
@@ -0,0 +1 @@
+../../Task/Disarium-numbers/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/Dot-product b/Lang/Amazing-Hopper/Dot-product
new file mode 120000
index 0000000000..6bc7d5ea07
--- /dev/null
+++ b/Lang/Amazing-Hopper/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/Formatted-numeric-output b/Lang/Amazing-Hopper/Formatted-numeric-output
new file mode 120000
index 0000000000..36d6f264bf
--- /dev/null
+++ b/Lang/Amazing-Hopper/Formatted-numeric-output
@@ -0,0 +1 @@
+../../Task/Formatted-numeric-output/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/Hailstone-sequence b/Lang/Amazing-Hopper/Hailstone-sequence
new file mode 120000
index 0000000000..c1e9f894b1
--- /dev/null
+++ b/Lang/Amazing-Hopper/Hailstone-sequence
@@ -0,0 +1 @@
+../../Task/Hailstone-sequence/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/Haversine-formula b/Lang/Amazing-Hopper/Haversine-formula
new file mode 120000
index 0000000000..01efd99770
--- /dev/null
+++ b/Lang/Amazing-Hopper/Haversine-formula
@@ -0,0 +1 @@
+../../Task/Haversine-formula/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/Knuth-shuffle b/Lang/Amazing-Hopper/Knuth-shuffle
new file mode 120000
index 0000000000..b4397143ef
--- /dev/null
+++ b/Lang/Amazing-Hopper/Knuth-shuffle
@@ -0,0 +1 @@
+../../Task/Knuth-shuffle/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/M-bius-function b/Lang/Amazing-Hopper/M-bius-function
new file mode 120000
index 0000000000..3fa2be430d
--- /dev/null
+++ b/Lang/Amazing-Hopper/M-bius-function
@@ -0,0 +1 @@
+../../Task/M-bius-function/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/Magic-squares-of-doubly-even-order b/Lang/Amazing-Hopper/Magic-squares-of-doubly-even-order
new file mode 120000
index 0000000000..3304664c75
--- /dev/null
+++ b/Lang/Amazing-Hopper/Magic-squares-of-doubly-even-order
@@ -0,0 +1 @@
+../../Task/Magic-squares-of-doubly-even-order/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/Magnanimous-numbers b/Lang/Amazing-Hopper/Magnanimous-numbers
new file mode 120000
index 0000000000..d82f2324d0
--- /dev/null
+++ b/Lang/Amazing-Hopper/Magnanimous-numbers
@@ -0,0 +1 @@
+../../Task/Magnanimous-numbers/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/Matrix-digital-rain b/Lang/Amazing-Hopper/Matrix-digital-rain
new file mode 120000
index 0000000000..c42a700f67
--- /dev/null
+++ b/Lang/Amazing-Hopper/Matrix-digital-rain
@@ -0,0 +1 @@
+../../Task/Matrix-digital-rain/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/Mayan-numerals b/Lang/Amazing-Hopper/Mayan-numerals
new file mode 120000
index 0000000000..74c0c29a62
--- /dev/null
+++ b/Lang/Amazing-Hopper/Mayan-numerals
@@ -0,0 +1 @@
+../../Task/Mayan-numerals/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/Middle-three-digits b/Lang/Amazing-Hopper/Middle-three-digits
new file mode 120000
index 0000000000..c7c41225de
--- /dev/null
+++ b/Lang/Amazing-Hopper/Middle-three-digits
@@ -0,0 +1 @@
+../../Task/Middle-three-digits/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/One-dimensional-cellular-automata b/Lang/Amazing-Hopper/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..47a2f89f22
--- /dev/null
+++ b/Lang/Amazing-Hopper/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/Ordered-words b/Lang/Amazing-Hopper/Ordered-words
new file mode 120000
index 0000000000..79f4afa7b3
--- /dev/null
+++ b/Lang/Amazing-Hopper/Ordered-words
@@ -0,0 +1 @@
+../../Task/Ordered-words/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/Pseudo-random-numbers-Middle-square-method b/Lang/Amazing-Hopper/Pseudo-random-numbers-Middle-square-method
new file mode 120000
index 0000000000..fde29893bc
--- /dev/null
+++ b/Lang/Amazing-Hopper/Pseudo-random-numbers-Middle-square-method
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-Middle-square-method/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/Return-multiple-values b/Lang/Amazing-Hopper/Return-multiple-values
new file mode 120000
index 0000000000..989a978413
--- /dev/null
+++ b/Lang/Amazing-Hopper/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/Run-length-encoding b/Lang/Amazing-Hopper/Run-length-encoding
new file mode 120000
index 0000000000..c9540874b6
--- /dev/null
+++ b/Lang/Amazing-Hopper/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/Smith-numbers b/Lang/Amazing-Hopper/Smith-numbers
new file mode 120000
index 0000000000..9f7a72e850
--- /dev/null
+++ b/Lang/Amazing-Hopper/Smith-numbers
@@ -0,0 +1 @@
+../../Task/Smith-numbers/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/Statistics-Basic b/Lang/Amazing-Hopper/Statistics-Basic
new file mode 120000
index 0000000000..bfa2d08b49
--- /dev/null
+++ b/Lang/Amazing-Hopper/Statistics-Basic
@@ -0,0 +1 @@
+../../Task/Statistics-Basic/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/Successive-prime-differences b/Lang/Amazing-Hopper/Successive-prime-differences
new file mode 120000
index 0000000000..efd8572186
--- /dev/null
+++ b/Lang/Amazing-Hopper/Successive-prime-differences
@@ -0,0 +1 @@
+../../Task/Successive-prime-differences/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/Super-d-numbers b/Lang/Amazing-Hopper/Super-d-numbers
new file mode 120000
index 0000000000..1770d7a856
--- /dev/null
+++ b/Lang/Amazing-Hopper/Super-d-numbers
@@ -0,0 +1 @@
+../../Task/Super-d-numbers/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/Symmetric-difference b/Lang/Amazing-Hopper/Symmetric-difference
new file mode 120000
index 0000000000..1af0b3c084
--- /dev/null
+++ b/Lang/Amazing-Hopper/Symmetric-difference
@@ -0,0 +1 @@
+../../Task/Symmetric-difference/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/Take-notes-on-the-command-line b/Lang/Amazing-Hopper/Take-notes-on-the-command-line
new file mode 120000
index 0000000000..2fd4c913c8
--- /dev/null
+++ b/Lang/Amazing-Hopper/Take-notes-on-the-command-line
@@ -0,0 +1 @@
+../../Task/Take-notes-on-the-command-line/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/Text-processing-2 b/Lang/Amazing-Hopper/Text-processing-2
new file mode 120000
index 0000000000..f3d3800aca
--- /dev/null
+++ b/Lang/Amazing-Hopper/Text-processing-2
@@ -0,0 +1 @@
+../../Task/Text-processing-2/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/Truth-table b/Lang/Amazing-Hopper/Truth-table
new file mode 120000
index 0000000000..14882232f9
--- /dev/null
+++ b/Lang/Amazing-Hopper/Truth-table
@@ -0,0 +1 @@
+../../Task/Truth-table/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/Amazing-Hopper/Van-Eck-sequence b/Lang/Amazing-Hopper/Van-Eck-sequence
new file mode 120000
index 0000000000..0c660f0481
--- /dev/null
+++ b/Lang/Amazing-Hopper/Van-Eck-sequence
@@ -0,0 +1 @@
+../../Task/Van-Eck-sequence/Amazing-Hopper
\ No newline at end of file
diff --git a/Lang/AppleScript/Multifactorial b/Lang/AppleScript/Multifactorial
new file mode 120000
index 0000000000..9d3c79cdc6
--- /dev/null
+++ b/Lang/AppleScript/Multifactorial
@@ -0,0 +1 @@
+../../Task/Multifactorial/AppleScript
\ No newline at end of file
diff --git a/Lang/Applesoft-BASIC/Catalan-numbers-Pascals-triangle b/Lang/Applesoft-BASIC/Catalan-numbers-Pascals-triangle
new file mode 120000
index 0000000000..7b0441411f
--- /dev/null
+++ b/Lang/Applesoft-BASIC/Catalan-numbers-Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Catalan-numbers-Pascals-triangle/Applesoft-BASIC
\ No newline at end of file
diff --git a/Lang/Applesoft-BASIC/Pig-the-dice-game b/Lang/Applesoft-BASIC/Pig-the-dice-game
new file mode 120000
index 0000000000..47c16eca5c
--- /dev/null
+++ b/Lang/Applesoft-BASIC/Pig-the-dice-game
@@ -0,0 +1 @@
+../../Task/Pig-the-dice-game/Applesoft-BASIC
\ No newline at end of file
diff --git a/Lang/Applesoft-BASIC/Recamans-sequence b/Lang/Applesoft-BASIC/Recamans-sequence
new file mode 120000
index 0000000000..1d370af4f0
--- /dev/null
+++ b/Lang/Applesoft-BASIC/Recamans-sequence
@@ -0,0 +1 @@
+../../Task/Recamans-sequence/Applesoft-BASIC
\ No newline at end of file
diff --git a/Lang/Applesoft-BASIC/String-interpolation-included- b/Lang/Applesoft-BASIC/String-interpolation-included-
new file mode 120000
index 0000000000..c235a3fcea
--- /dev/null
+++ b/Lang/Applesoft-BASIC/String-interpolation-included-
@@ -0,0 +1 @@
+../../Task/String-interpolation-included-/Applesoft-BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Longest-string-challenge b/Lang/BASIC/Longest-string-challenge
deleted file mode 120000
index 739abebd3a..0000000000
--- a/Lang/BASIC/Longest-string-challenge
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Longest-string-challenge/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/One-dimensional-cellular-automata b/Lang/BASIC/One-dimensional-cellular-automata
deleted file mode 120000
index 91d5b5ff5e..0000000000
--- a/Lang/BASIC/One-dimensional-cellular-automata
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/One-dimensional-cellular-automata/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Sorting-algorithms-Gnome-sort b/Lang/BASIC/Sorting-algorithms-Gnome-sort
deleted file mode 120000
index ce27855f21..0000000000
--- a/Lang/BASIC/Sorting-algorithms-Gnome-sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-algorithms-Gnome-sort/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC256/21-game b/Lang/BASIC256/21-game
new file mode 120000
index 0000000000..6c7c8089e2
--- /dev/null
+++ b/Lang/BASIC256/21-game
@@ -0,0 +1 @@
+../../Task/21-game/BASIC256
\ No newline at end of file
diff --git a/Lang/BASIC256/Achilles-numbers b/Lang/BASIC256/Achilles-numbers
new file mode 120000
index 0000000000..13d43c8909
--- /dev/null
+++ b/Lang/BASIC256/Achilles-numbers
@@ -0,0 +1 @@
+../../Task/Achilles-numbers/BASIC256
\ No newline at end of file
diff --git a/Lang/BASIC256/Benfords-law b/Lang/BASIC256/Benfords-law
new file mode 120000
index 0000000000..adf7036425
--- /dev/null
+++ b/Lang/BASIC256/Benfords-law
@@ -0,0 +1 @@
+../../Task/Benfords-law/BASIC256
\ No newline at end of file
diff --git a/Lang/BASIC256/Blum-integer b/Lang/BASIC256/Blum-integer
new file mode 120000
index 0000000000..6114c8c1bc
--- /dev/null
+++ b/Lang/BASIC256/Blum-integer
@@ -0,0 +1 @@
+../../Task/Blum-integer/BASIC256
\ No newline at end of file
diff --git a/Lang/BASIC256/Casting-out-nines b/Lang/BASIC256/Casting-out-nines
new file mode 120000
index 0000000000..670ea3d048
--- /dev/null
+++ b/Lang/BASIC256/Casting-out-nines
@@ -0,0 +1 @@
+../../Task/Casting-out-nines/BASIC256
\ No newline at end of file
diff --git a/Lang/BASIC256/Determine-if-a-string-has-all-unique-characters b/Lang/BASIC256/Determine-if-a-string-has-all-unique-characters
new file mode 120000
index 0000000000..134627daea
--- /dev/null
+++ b/Lang/BASIC256/Determine-if-a-string-has-all-unique-characters
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-has-all-unique-characters/BASIC256
\ No newline at end of file
diff --git a/Lang/BASIC256/Equal-prime-and-composite-sums b/Lang/BASIC256/Equal-prime-and-composite-sums
new file mode 120000
index 0000000000..187242266b
--- /dev/null
+++ b/Lang/BASIC256/Equal-prime-and-composite-sums
@@ -0,0 +1 @@
+../../Task/Equal-prime-and-composite-sums/BASIC256
\ No newline at end of file
diff --git a/Lang/BASIC256/Longest-string-challenge b/Lang/BASIC256/Longest-string-challenge
new file mode 120000
index 0000000000..46b7ee20d4
--- /dev/null
+++ b/Lang/BASIC256/Longest-string-challenge
@@ -0,0 +1 @@
+../../Task/Longest-string-challenge/BASIC256
\ No newline at end of file
diff --git a/Lang/BASIC256/Padovan-n-step-number-sequences b/Lang/BASIC256/Padovan-n-step-number-sequences
new file mode 120000
index 0000000000..96835908bd
--- /dev/null
+++ b/Lang/BASIC256/Padovan-n-step-number-sequences
@@ -0,0 +1 @@
+../../Task/Padovan-n-step-number-sequences/BASIC256
\ No newline at end of file
diff --git a/Lang/BASIC256/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/BASIC256/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
new file mode 120000
index 0000000000..1cfd728c9c
--- /dev/null
+++ b/Lang/BASIC256/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
@@ -0,0 +1 @@
+../../Task/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors/BASIC256
\ No newline at end of file
diff --git a/Lang/BASIC256/Sequence:-smallest-number-with-exactly-n-divisors b/Lang/BASIC256/Sequence:-smallest-number-with-exactly-n-divisors
new file mode 120000
index 0000000000..f838adf5dc
--- /dev/null
+++ b/Lang/BASIC256/Sequence:-smallest-number-with-exactly-n-divisors
@@ -0,0 +1 @@
+../../Task/Sequence:-smallest-number-with-exactly-n-divisors/BASIC256
\ No newline at end of file
diff --git a/Lang/BASIC256/Sorting-algorithms-Bogosort b/Lang/BASIC256/Sorting-algorithms-Bogosort
new file mode 120000
index 0000000000..30a3f4e141
--- /dev/null
+++ b/Lang/BASIC256/Sorting-algorithms-Bogosort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Bogosort/BASIC256
\ No newline at end of file
diff --git a/Lang/BASIC256/Sorting-algorithms-Gnome-sort b/Lang/BASIC256/Sorting-algorithms-Gnome-sort
new file mode 120000
index 0000000000..c4bf6071a8
--- /dev/null
+++ b/Lang/BASIC256/Sorting-algorithms-Gnome-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Gnome-sort/BASIC256
\ No newline at end of file
diff --git a/Lang/BASIC256/Subleq b/Lang/BASIC256/Subleq
new file mode 120000
index 0000000000..1129f78a82
--- /dev/null
+++ b/Lang/BASIC256/Subleq
@@ -0,0 +1 @@
+../../Task/Subleq/BASIC256
\ No newline at end of file
diff --git a/Lang/BASIC256/Van-Eck-sequence b/Lang/BASIC256/Van-Eck-sequence
new file mode 120000
index 0000000000..9c3b8e66bb
--- /dev/null
+++ b/Lang/BASIC256/Van-Eck-sequence
@@ -0,0 +1 @@
+../../Task/Van-Eck-sequence/BASIC256
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Angles-geometric-normalization-and-conversion b/Lang/BBC-BASIC/Angles-geometric-normalization-and-conversion
new file mode 120000
index 0000000000..92a059e0e7
--- /dev/null
+++ b/Lang/BBC-BASIC/Angles-geometric-normalization-and-conversion
@@ -0,0 +1 @@
+../../Task/Angles-geometric-normalization-and-conversion/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Archimedean-spiral b/Lang/BBC-BASIC/Archimedean-spiral
new file mode 120000
index 0000000000..f1badc9c0e
--- /dev/null
+++ b/Lang/BBC-BASIC/Archimedean-spiral
@@ -0,0 +1 @@
+../../Task/Archimedean-spiral/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Bioinformatics-Sequence-mutation b/Lang/BBC-BASIC/Bioinformatics-Sequence-mutation
new file mode 120000
index 0000000000..0c458bc910
--- /dev/null
+++ b/Lang/BBC-BASIC/Bioinformatics-Sequence-mutation
@@ -0,0 +1 @@
+../../Task/Bioinformatics-Sequence-mutation/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Bioinformatics-base-count b/Lang/BBC-BASIC/Bioinformatics-base-count
new file mode 120000
index 0000000000..109612c5db
--- /dev/null
+++ b/Lang/BBC-BASIC/Bioinformatics-base-count
@@ -0,0 +1 @@
+../../Task/Bioinformatics-base-count/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Calculating-the-value-of-e b/Lang/BBC-BASIC/Calculating-the-value-of-e
new file mode 120000
index 0000000000..5059f4885f
--- /dev/null
+++ b/Lang/BBC-BASIC/Calculating-the-value-of-e
@@ -0,0 +1 @@
+../../Task/Calculating-the-value-of-e/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Currency b/Lang/BBC-BASIC/Currency
new file mode 120000
index 0000000000..93e2e05dfe
--- /dev/null
+++ b/Lang/BBC-BASIC/Currency
@@ -0,0 +1 @@
+../../Task/Currency/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Cyclops-numbers b/Lang/BBC-BASIC/Cyclops-numbers
new file mode 120000
index 0000000000..5bad59ea26
--- /dev/null
+++ b/Lang/BBC-BASIC/Cyclops-numbers
@@ -0,0 +1 @@
+../../Task/Cyclops-numbers/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Emirp-primes b/Lang/BBC-BASIC/Emirp-primes
new file mode 120000
index 0000000000..83e10a9c96
--- /dev/null
+++ b/Lang/BBC-BASIC/Emirp-primes
@@ -0,0 +1 @@
+../../Task/Emirp-primes/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Entropy-Narcissist b/Lang/BBC-BASIC/Entropy-Narcissist
new file mode 120000
index 0000000000..8b3e51a12a
--- /dev/null
+++ b/Lang/BBC-BASIC/Entropy-Narcissist
@@ -0,0 +1 @@
+../../Task/Entropy-Narcissist/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Fusc-sequence b/Lang/BBC-BASIC/Fusc-sequence
new file mode 120000
index 0000000000..4dbe128472
--- /dev/null
+++ b/Lang/BBC-BASIC/Fusc-sequence
@@ -0,0 +1 @@
+../../Task/Fusc-sequence/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Generate-Chess960-starting-position b/Lang/BBC-BASIC/Generate-Chess960-starting-position
new file mode 120000
index 0000000000..ab2f96f714
--- /dev/null
+++ b/Lang/BBC-BASIC/Generate-Chess960-starting-position
@@ -0,0 +1 @@
+../../Task/Generate-Chess960-starting-position/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Hex-words b/Lang/BBC-BASIC/Hex-words
new file mode 120000
index 0000000000..3149fa1db8
--- /dev/null
+++ b/Lang/BBC-BASIC/Hex-words
@@ -0,0 +1 @@
+../../Task/Hex-words/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Hickerson-series-of-almost-integers b/Lang/BBC-BASIC/Hickerson-series-of-almost-integers
new file mode 120000
index 0000000000..db668e472e
--- /dev/null
+++ b/Lang/BBC-BASIC/Hickerson-series-of-almost-integers
@@ -0,0 +1 @@
+../../Task/Hickerson-series-of-almost-integers/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Humble-numbers b/Lang/BBC-BASIC/Humble-numbers
new file mode 120000
index 0000000000..73b4b7f4ea
--- /dev/null
+++ b/Lang/BBC-BASIC/Humble-numbers
@@ -0,0 +1 @@
+../../Task/Humble-numbers/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/I-before-E-except-after-C b/Lang/BBC-BASIC/I-before-E-except-after-C
new file mode 120000
index 0000000000..5cfe84a822
--- /dev/null
+++ b/Lang/BBC-BASIC/I-before-E-except-after-C
@@ -0,0 +1 @@
+../../Task/I-before-E-except-after-C/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Jaro-similarity b/Lang/BBC-BASIC/Jaro-similarity
new file mode 120000
index 0000000000..fe6ec92687
--- /dev/null
+++ b/Lang/BBC-BASIC/Jaro-similarity
@@ -0,0 +1 @@
+../../Task/Jaro-similarity/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Julia-set b/Lang/BBC-BASIC/Julia-set
new file mode 120000
index 0000000000..658dd765c9
--- /dev/null
+++ b/Lang/BBC-BASIC/Julia-set
@@ -0,0 +1 @@
+../../Task/Julia-set/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Last-Friday-of-each-month b/Lang/BBC-BASIC/Last-Friday-of-each-month
new file mode 120000
index 0000000000..d35bf9dc8f
--- /dev/null
+++ b/Lang/BBC-BASIC/Last-Friday-of-each-month
@@ -0,0 +1 @@
+../../Task/Last-Friday-of-each-month/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/MAC-vendor-lookup b/Lang/BBC-BASIC/MAC-vendor-lookup
new file mode 120000
index 0000000000..7d73c473a7
--- /dev/null
+++ b/Lang/BBC-BASIC/MAC-vendor-lookup
@@ -0,0 +1 @@
+../../Task/MAC-vendor-lookup/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Magnanimous-numbers b/Lang/BBC-BASIC/Magnanimous-numbers
new file mode 120000
index 0000000000..cdd9658301
--- /dev/null
+++ b/Lang/BBC-BASIC/Magnanimous-numbers
@@ -0,0 +1 @@
+../../Task/Magnanimous-numbers/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Rosetta-Code-Find-unimplemented-tasks b/Lang/BBC-BASIC/Rosetta-Code-Find-unimplemented-tasks
new file mode 120000
index 0000000000..c601198500
--- /dev/null
+++ b/Lang/BBC-BASIC/Rosetta-Code-Find-unimplemented-tasks
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Find-unimplemented-tasks/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BQN/00-LANG.txt b/Lang/BQN/00-LANG.txt
index e77f39a3a0..9fc40a5cde 100644
--- a/Lang/BQN/00-LANG.txt
+++ b/Lang/BQN/00-LANG.txt
@@ -2,11 +2,14 @@
|checking=dynamic
|exec=bytecode
|gc=yes
- |site=https://mlochbaum.github.io/BQN
+ |site=https://mlochbaum.github.io/BQN/
|parampass=value
|safety=safe
|bnf=https://mlochbaum.github.io/BQN/spec/grammar.html}}{{language programming paradigm|functional}}[[Category:Programming paradigm/Tacit]]
BQN is a new (initially released 2020) [[wp:Array programming|array oriented]], [[functional_programming|functional]] programming language in the [[APL]] lineage, which aims to remove irregular and burdensome aspects of the APL tradition and put the great ideas on a firmer footing. While its use demands a solid understanding of functions and multidimensional arrays, BQN's focus on providing simple, consistent, and powerful array operations (and documentation!) makes it a good language for learning array programming and building stronger array intuition.
-Documentation can be found at https://mlochbaum.github.io/BQN.
\ No newline at end of file
+Documentation can be found at https://mlochbaum.github.io/BQN/doc/.
+
+==Todo==
+[[Tasks_not_implemented_in_BQN]]
\ No newline at end of file
diff --git a/Lang/BQN/Angle-difference-between-two-bearings b/Lang/BQN/Angle-difference-between-two-bearings
new file mode 120000
index 0000000000..7a2d5afdfe
--- /dev/null
+++ b/Lang/BQN/Angle-difference-between-two-bearings
@@ -0,0 +1 @@
+../../Task/Angle-difference-between-two-bearings/BQN
\ No newline at end of file
diff --git a/Lang/BQN/Apply-a-callback-to-an-array b/Lang/BQN/Apply-a-callback-to-an-array
new file mode 120000
index 0000000000..0d1581adfa
--- /dev/null
+++ b/Lang/BQN/Apply-a-callback-to-an-array
@@ -0,0 +1 @@
+../../Task/Apply-a-callback-to-an-array/BQN
\ No newline at end of file
diff --git a/Lang/BQN/Averages-Pythagorean-means b/Lang/BQN/Averages-Pythagorean-means
new file mode 120000
index 0000000000..667a8f930b
--- /dev/null
+++ b/Lang/BQN/Averages-Pythagorean-means
@@ -0,0 +1 @@
+../../Task/Averages-Pythagorean-means/BQN
\ No newline at end of file
diff --git a/Lang/BQN/Determine-if-a-string-is-numeric b/Lang/BQN/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..7756637024
--- /dev/null
+++ b/Lang/BQN/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/BQN
\ No newline at end of file
diff --git a/Lang/BQN/Leap-year b/Lang/BQN/Leap-year
new file mode 120000
index 0000000000..b3a2268f78
--- /dev/null
+++ b/Lang/BQN/Leap-year
@@ -0,0 +1 @@
+../../Task/Leap-year/BQN
\ No newline at end of file
diff --git a/Lang/BQN/Longest-string-challenge b/Lang/BQN/Longest-string-challenge
new file mode 120000
index 0000000000..bca36863c6
--- /dev/null
+++ b/Lang/BQN/Longest-string-challenge
@@ -0,0 +1 @@
+../../Task/Longest-string-challenge/BQN
\ No newline at end of file
diff --git a/Lang/BQN/Multifactorial b/Lang/BQN/Multifactorial
new file mode 120000
index 0000000000..a2fe7ba313
--- /dev/null
+++ b/Lang/BQN/Multifactorial
@@ -0,0 +1 @@
+../../Task/Multifactorial/BQN
\ No newline at end of file
diff --git a/Lang/BQN/Program-name b/Lang/BQN/Program-name
new file mode 120000
index 0000000000..e55b53a24c
--- /dev/null
+++ b/Lang/BQN/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/BQN
\ No newline at end of file
diff --git a/Lang/BQN/Pseudo-random-numbers-Middle-square-method b/Lang/BQN/Pseudo-random-numbers-Middle-square-method
new file mode 120000
index 0000000000..15e8169128
--- /dev/null
+++ b/Lang/BQN/Pseudo-random-numbers-Middle-square-method
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-Middle-square-method/BQN
\ No newline at end of file
diff --git a/Lang/BQN/Remove-duplicate-elements b/Lang/BQN/Remove-duplicate-elements
new file mode 120000
index 0000000000..fc50c4ea75
--- /dev/null
+++ b/Lang/BQN/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/BQN
\ No newline at end of file
diff --git a/Lang/BQN/Reverse-words-in-a-string b/Lang/BQN/Reverse-words-in-a-string
new file mode 120000
index 0000000000..b4a561c28a
--- /dev/null
+++ b/Lang/BQN/Reverse-words-in-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-words-in-a-string/BQN
\ No newline at end of file
diff --git a/Lang/BQN/Rot-13 b/Lang/BQN/Rot-13
new file mode 120000
index 0000000000..40de4f31ae
--- /dev/null
+++ b/Lang/BQN/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/BQN
\ No newline at end of file
diff --git a/Lang/BQN/Sequence-of-non-squares b/Lang/BQN/Sequence-of-non-squares
new file mode 120000
index 0000000000..34c4c67548
--- /dev/null
+++ b/Lang/BQN/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/BQN
\ No newline at end of file
diff --git a/Lang/BQN/Sort-an-integer-array b/Lang/BQN/Sort-an-integer-array
new file mode 120000
index 0000000000..0abf6c28d8
--- /dev/null
+++ b/Lang/BQN/Sort-an-integer-array
@@ -0,0 +1 @@
+../../Task/Sort-an-integer-array/BQN
\ No newline at end of file
diff --git a/Lang/BQN/Split-a-character-string-based-on-change-of-character b/Lang/BQN/Split-a-character-string-based-on-change-of-character
new file mode 120000
index 0000000000..d35a0c943b
--- /dev/null
+++ b/Lang/BQN/Split-a-character-string-based-on-change-of-character
@@ -0,0 +1 @@
+../../Task/Split-a-character-string-based-on-change-of-character/BQN
\ No newline at end of file
diff --git a/Lang/BQN/String-append b/Lang/BQN/String-append
new file mode 120000
index 0000000000..e4188e5b03
--- /dev/null
+++ b/Lang/BQN/String-append
@@ -0,0 +1 @@
+../../Task/String-append/BQN
\ No newline at end of file
diff --git a/Lang/BQN/Test-integerness b/Lang/BQN/Test-integerness
new file mode 120000
index 0000000000..da47d74420
--- /dev/null
+++ b/Lang/BQN/Test-integerness
@@ -0,0 +1 @@
+../../Task/Test-integerness/BQN
\ No newline at end of file
diff --git a/Lang/BootBASIC/00-LANG.txt b/Lang/BootBASIC/00-LANG.txt
index a8f62b2d80..42d742f5c8 100644
--- a/Lang/BootBASIC/00-LANG.txt
+++ b/Lang/BootBASIC/00-LANG.txt
@@ -3,4 +3,8 @@
|tags=basic,bootbasic
}}
{{Implementation|BASIC}}
-bootBASIC is an Integer BASIC interpreter created by Óscar Toledo Gutierrez that runs entirely within a boot sector on an x86-compatible machine, which is 512 bytes.
\ No newline at end of file
+bootBASIC is an Integer BASIC interpreter created by Óscar Toledo Gutierrez that runs entirely within a boot sector on an x86-compatible machine, which is 512 bytes.
+
+==See Also==
+*[https://github.com/nanochess/bootBASIC bootBASIC on GitHub]
+*[https://parkertomatoes.github.io/v86/?type=mbr&content=Dg4OHwcX%2FL8AgMYFDUd1%2BrwA%2F7gQfFCwPuhPAegRAQnAdA7olgGX86TD6GwACcB0WOjiAIA8DXRQv8V9igVHmEh0E5FW86Z1BljoyQD%2FJQHPR0de6%2BbotABQrDw9dDS%2BZ3zoJgHrqUAjIQ0xwFDoSwGWgDwNdAtYUOigAKzoKQF1%2BlhAPegDdeTD6IAAULA%2F6NgA6AMAX6vD6BwAgDwtdA6APCt141DoDQBZAcjr7VDoBAD32OvzRugfAIA8L3QOgDwqdcRQ6BAAWffp6%2B1Q6AcAWZGZ9%2Fnr4kboOQCsPCh1C%2Bi0%2F4A8KXQr6XL%2FPEBzBk7oOwDrHzxydQuAPG51Bq3kQLQAw%2BgFAJOLB8OsJB8AwLR%2BTkaAPCB0%2BsMx0rkKAPfxCcBSdAPo8f9YBDDreTHbrCwwPAqYk3MJuQoA9%2BEBw%2BvuTsPNIOhO%2F7kxwOhrAIH8%2Fv50BKP8%2FsNQXgUUAFDozf5YPSDOdfHD6DsAvoB%2BVl%2FoLwCqPAh1Ak9PPA118sOsPA10JjwidQ2sPCJ0D%2BgWADwNdfTDTuj9%2Fuh9%2F6w8O3UJw7QAzRY8DXUHsAroAgCwDbQOuwcAzRDDuRQA9%2BEFAIDDBG5ldwB8BWxpc3RrfARydW5MfQZwcmludIJ9BmlucHV0inwDaWYqfAVnb3RvSH0Hc3lzdGVtRn0BVao%3D Try bootBASIC in v86 in your browser]
\ No newline at end of file
diff --git a/Lang/BootBASIC/Fibonacci-sequence b/Lang/BootBASIC/Fibonacci-sequence
new file mode 120000
index 0000000000..e7275cf6a0
--- /dev/null
+++ b/Lang/BootBASIC/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/BootBASIC
\ No newline at end of file
diff --git a/Lang/BootBASIC/Loops-Break b/Lang/BootBASIC/Loops-Break
new file mode 120000
index 0000000000..6efa12814e
--- /dev/null
+++ b/Lang/BootBASIC/Loops-Break
@@ -0,0 +1 @@
+../../Task/Loops-Break/BootBASIC
\ No newline at end of file
diff --git a/Lang/BootBASIC/Loops-N-plus-one-half b/Lang/BootBASIC/Loops-N-plus-one-half
new file mode 120000
index 0000000000..6d9ca0cae0
--- /dev/null
+++ b/Lang/BootBASIC/Loops-N-plus-one-half
@@ -0,0 +1 @@
+../../Task/Loops-N-plus-one-half/BootBASIC
\ No newline at end of file
diff --git a/Lang/C++/ADFGVX-cipher b/Lang/C++/ADFGVX-cipher
new file mode 120000
index 0000000000..98aa7139a3
--- /dev/null
+++ b/Lang/C++/ADFGVX-cipher
@@ -0,0 +1 @@
+../../Task/ADFGVX-cipher/C++
\ No newline at end of file
diff --git a/Lang/C++/Own-digits-power-sum b/Lang/C++/Own-digits-power-sum
new file mode 120000
index 0000000000..766e68b021
--- /dev/null
+++ b/Lang/C++/Own-digits-power-sum
@@ -0,0 +1 @@
+../../Task/Own-digits-power-sum/C++
\ No newline at end of file
diff --git a/Lang/C++/Quoting-constructs b/Lang/C++/Quoting-constructs
new file mode 120000
index 0000000000..85f4da28e3
--- /dev/null
+++ b/Lang/C++/Quoting-constructs
@@ -0,0 +1 @@
+../../Task/Quoting-constructs/C++
\ No newline at end of file
diff --git a/Lang/C++/Table-creation-Postal-addresses b/Lang/C++/Table-creation-Postal-addresses
new file mode 120000
index 0000000000..e821bbe93f
--- /dev/null
+++ b/Lang/C++/Table-creation-Postal-addresses
@@ -0,0 +1 @@
+../../Task/Table-creation-Postal-addresses/C++
\ No newline at end of file
diff --git a/Lang/C++/Total-circles-area b/Lang/C++/Total-circles-area
new file mode 120000
index 0000000000..d9453103bd
--- /dev/null
+++ b/Lang/C++/Total-circles-area
@@ -0,0 +1 @@
+../../Task/Total-circles-area/C++
\ No newline at end of file
diff --git a/Lang/C++/Unicode-variable-names b/Lang/C++/Unicode-variable-names
new file mode 120000
index 0000000000..229d06451e
--- /dev/null
+++ b/Lang/C++/Unicode-variable-names
@@ -0,0 +1 @@
+../../Task/Unicode-variable-names/C++
\ No newline at end of file
diff --git a/Lang/C++/Wasteful-equidigital-and-frugal-numbers b/Lang/C++/Wasteful-equidigital-and-frugal-numbers
new file mode 120000
index 0000000000..ab51274f10
--- /dev/null
+++ b/Lang/C++/Wasteful-equidigital-and-frugal-numbers
@@ -0,0 +1 @@
+../../Task/Wasteful-equidigital-and-frugal-numbers/C++
\ No newline at end of file
diff --git a/Lang/C++/Wordiff b/Lang/C++/Wordiff
new file mode 120000
index 0000000000..13c6f44a9e
--- /dev/null
+++ b/Lang/C++/Wordiff
@@ -0,0 +1 @@
+../../Task/Wordiff/C++
\ No newline at end of file
diff --git a/Lang/C-sharp/Sphenic-numbers b/Lang/C-sharp/Sphenic-numbers
new file mode 120000
index 0000000000..e745ee5efe
--- /dev/null
+++ b/Lang/C-sharp/Sphenic-numbers
@@ -0,0 +1 @@
+../../Task/Sphenic-numbers/C-sharp
\ No newline at end of file
diff --git a/Lang/C/Search-in-paragraphs-text b/Lang/C/Search-in-paragraphs-text
new file mode 120000
index 0000000000..11cd3d2def
--- /dev/null
+++ b/Lang/C/Search-in-paragraphs-text
@@ -0,0 +1 @@
+../../Task/Search-in-paragraphs-text/C
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/21-game b/Lang/Chipmunk-Basic/21-game
new file mode 120000
index 0000000000..4144c99f1e
--- /dev/null
+++ b/Lang/Chipmunk-Basic/21-game
@@ -0,0 +1 @@
+../../Task/21-game/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Angle-difference-between-two-bearings b/Lang/Chipmunk-Basic/Angle-difference-between-two-bearings
new file mode 120000
index 0000000000..a85e9ed412
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Angle-difference-between-two-bearings
@@ -0,0 +1 @@
+../../Task/Angle-difference-between-two-bearings/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Anonymous-recursion b/Lang/Chipmunk-Basic/Anonymous-recursion
new file mode 120000
index 0000000000..fae9f410e3
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Anonymous-recursion
@@ -0,0 +1 @@
+../../Task/Anonymous-recursion/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Arithmetic-Integer b/Lang/Chipmunk-Basic/Arithmetic-Integer
new file mode 120000
index 0000000000..b9b0d2d61f
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Array-length b/Lang/Chipmunk-Basic/Array-length
new file mode 120000
index 0000000000..3b47a54405
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Array-length
@@ -0,0 +1 @@
+../../Task/Array-length/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Binary-digits b/Lang/Chipmunk-Basic/Binary-digits
new file mode 120000
index 0000000000..f633724e32
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Box-the-compass b/Lang/Chipmunk-Basic/Box-the-compass
new file mode 120000
index 0000000000..a1cd1027f8
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Box-the-compass
@@ -0,0 +1 @@
+../../Task/Box-the-compass/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Cantor-set b/Lang/Chipmunk-Basic/Cantor-set
new file mode 120000
index 0000000000..dff232c5bf
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Cantor-set
@@ -0,0 +1 @@
+../../Task/Cantor-set/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Carmichael-3-strong-pseudoprimes b/Lang/Chipmunk-Basic/Carmichael-3-strong-pseudoprimes
new file mode 120000
index 0000000000..64c40104c4
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Carmichael-3-strong-pseudoprimes
@@ -0,0 +1 @@
+../../Task/Carmichael-3-strong-pseudoprimes/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Casting-out-nines b/Lang/Chipmunk-Basic/Casting-out-nines
new file mode 120000
index 0000000000..5a7c2dcac0
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Casting-out-nines
@@ -0,0 +1 @@
+../../Task/Casting-out-nines/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Catalan-numbers-Pascals-triangle b/Lang/Chipmunk-Basic/Catalan-numbers-Pascals-triangle
new file mode 120000
index 0000000000..8fc59cdf4f
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Catalan-numbers-Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Catalan-numbers-Pascals-triangle/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Catamorphism b/Lang/Chipmunk-Basic/Catamorphism
new file mode 120000
index 0000000000..db776ce5dd
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Catamorphism
@@ -0,0 +1 @@
+../../Task/Catamorphism/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Character-codes b/Lang/Chipmunk-Basic/Character-codes
new file mode 120000
index 0000000000..529877dba7
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Determine-if-a-string-has-all-unique-characters b/Lang/Chipmunk-Basic/Determine-if-a-string-has-all-unique-characters
new file mode 120000
index 0000000000..88c8574cc2
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Determine-if-a-string-has-all-unique-characters
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-has-all-unique-characters/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Disarium-numbers b/Lang/Chipmunk-Basic/Disarium-numbers
new file mode 120000
index 0000000000..f8085142a1
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Disarium-numbers
@@ -0,0 +1 @@
+../../Task/Disarium-numbers/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Egyptian-division b/Lang/Chipmunk-Basic/Egyptian-division
new file mode 120000
index 0000000000..234893fac4
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Egyptian-division
@@ -0,0 +1 @@
+../../Task/Egyptian-division/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Ethiopian-multiplication b/Lang/Chipmunk-Basic/Ethiopian-multiplication
new file mode 120000
index 0000000000..bba9addcb7
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Find-limit-of-recursion b/Lang/Chipmunk-Basic/Find-limit-of-recursion
new file mode 120000
index 0000000000..45d2935cfe
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Find-limit-of-recursion
@@ -0,0 +1 @@
+../../Task/Find-limit-of-recursion/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Greatest-common-divisor b/Lang/Chipmunk-Basic/Greatest-common-divisor
new file mode 120000
index 0000000000..688f826236
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Greatest-common-divisor
@@ -0,0 +1 @@
+../../Task/Greatest-common-divisor/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Guess-the-number-With-feedback b/Lang/Chipmunk-Basic/Guess-the-number-With-feedback
new file mode 120000
index 0000000000..02ea8c88d7
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Guess-the-number-With-feedback
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Logical-operations b/Lang/Chipmunk-Basic/Logical-operations
new file mode 120000
index 0000000000..1eae3370d2
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Logical-operations
@@ -0,0 +1 @@
+../../Task/Logical-operations/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Longest-string-challenge b/Lang/Chipmunk-Basic/Longest-string-challenge
new file mode 120000
index 0000000000..16c197c355
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Longest-string-challenge
@@ -0,0 +1 @@
+../../Task/Longest-string-challenge/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Magic-squares-of-odd-order b/Lang/Chipmunk-Basic/Magic-squares-of-odd-order
new file mode 120000
index 0000000000..a9239c9a6f
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Magic-squares-of-odd-order
@@ -0,0 +1 @@
+../../Task/Magic-squares-of-odd-order/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Minimum-multiple-of-m-where-digital-sum-equals-m b/Lang/Chipmunk-Basic/Minimum-multiple-of-m-where-digital-sum-equals-m
new file mode 120000
index 0000000000..c3bc5a092d
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Minimum-multiple-of-m-where-digital-sum-equals-m
@@ -0,0 +1 @@
+../../Task/Minimum-multiple-of-m-where-digital-sum-equals-m/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Morse-code b/Lang/Chipmunk-Basic/Morse-code
new file mode 120000
index 0000000000..069e4c61b6
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Morse-code
@@ -0,0 +1 @@
+../../Task/Morse-code/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Padovan-n-step-number-sequences b/Lang/Chipmunk-Basic/Padovan-n-step-number-sequences
new file mode 120000
index 0000000000..fbce2420d3
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Padovan-n-step-number-sequences
@@ -0,0 +1 @@
+../../Task/Padovan-n-step-number-sequences/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Pig-the-dice-game b/Lang/Chipmunk-Basic/Pig-the-dice-game
new file mode 120000
index 0000000000..6dbe194257
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Pig-the-dice-game
@@ -0,0 +1 @@
+../../Task/Pig-the-dice-game/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Repeat-a-string b/Lang/Chipmunk-Basic/Repeat-a-string
new file mode 120000
index 0000000000..dc67dccc15
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Sequence-of-non-squares b/Lang/Chipmunk-Basic/Sequence-of-non-squares
new file mode 120000
index 0000000000..70b50faaad
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Sequence:-smallest-number-with-exactly-n-divisors b/Lang/Chipmunk-Basic/Sequence:-smallest-number-with-exactly-n-divisors
new file mode 120000
index 0000000000..5df75dca56
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Sequence:-smallest-number-with-exactly-n-divisors
@@ -0,0 +1 @@
+../../Task/Sequence:-smallest-number-with-exactly-n-divisors/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Sorting-algorithms-Gnome-sort b/Lang/Chipmunk-Basic/Sorting-algorithms-Gnome-sort
new file mode 120000
index 0000000000..0b812d3eff
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Sorting-algorithms-Gnome-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Gnome-sort/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Sorting-algorithms-Quicksort b/Lang/Chipmunk-Basic/Sorting-algorithms-Quicksort
new file mode 120000
index 0000000000..49de096b59
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Sorting-algorithms-Quicksort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Quicksort/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/String-append b/Lang/Chipmunk-Basic/String-append
new file mode 120000
index 0000000000..39fda96e4e
--- /dev/null
+++ b/Lang/Chipmunk-Basic/String-append
@@ -0,0 +1 @@
+../../Task/String-append/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/String-case b/Lang/Chipmunk-Basic/String-case
new file mode 120000
index 0000000000..0564614620
--- /dev/null
+++ b/Lang/Chipmunk-Basic/String-case
@@ -0,0 +1 @@
+../../Task/String-case/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/String-interpolation-included- b/Lang/Chipmunk-Basic/String-interpolation-included-
new file mode 120000
index 0000000000..0fcd929e46
--- /dev/null
+++ b/Lang/Chipmunk-Basic/String-interpolation-included-
@@ -0,0 +1 @@
+../../Task/String-interpolation-included-/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Van-Eck-sequence b/Lang/Chipmunk-Basic/Van-Eck-sequence
new file mode 120000
index 0000000000..ec557b87cc
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Van-Eck-sequence
@@ -0,0 +1 @@
+../../Task/Van-Eck-sequence/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Component-Pascal/Sorting-algorithms-Merge-sort b/Lang/Component-Pascal/Sorting-algorithms-Merge-sort
new file mode 120000
index 0000000000..9050341ad6
--- /dev/null
+++ b/Lang/Component-Pascal/Sorting-algorithms-Merge-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Merge-sort/Component-Pascal
\ No newline at end of file
diff --git a/Lang/Cowgol/Longest-common-substring b/Lang/Cowgol/Longest-common-substring
new file mode 120000
index 0000000000..219b75f317
--- /dev/null
+++ b/Lang/Cowgol/Longest-common-substring
@@ -0,0 +1 @@
+../../Task/Longest-common-substring/Cowgol
\ No newline at end of file
diff --git a/Lang/Cowgol/Multifactorial b/Lang/Cowgol/Multifactorial
new file mode 120000
index 0000000000..c8a5e64301
--- /dev/null
+++ b/Lang/Cowgol/Multifactorial
@@ -0,0 +1 @@
+../../Task/Multifactorial/Cowgol
\ No newline at end of file
diff --git a/Lang/Curto/00-LANG.txt b/Lang/Curto/00-LANG.txt
new file mode 100644
index 0000000000..c2a3c801b1
--- /dev/null
+++ b/Lang/Curto/00-LANG.txt
@@ -0,0 +1,23 @@
+{{language|Curto
+|exec=machine
+|site=https://maleza.srht.site/curto.html
+|gc=no
+|parampass=reference
+|untyped=yes
+|tags=forth
+}}
+
+Curto es una traducción completa de UF Forth al español.
+
+==Links==
+*[https://maleza.srht.site/curto.html Sitio]
+
+{{Language programming paradigm|Concatenative}}
+==Curto==
+
+Curto es una traducción completa de UF Forth al español. Actualmente el trabajo de tracucción está en progreso por lo que el código fuente aún no contiene caracteres especiales del idioma y la traducción de los comentarios aún no se ha completado.
+
+Este es un sistema Forth tradicional para la computadora virtual "uxn/varvara". "Curto" está escrito en Tal y Curto y provee una interface de texto interactiva y un editor de pantalla. El sistema no es enebrado, compila a código UXN nativo, pero actualmente solo un mínimo de optimizaciones son realizadas. El mapeo entre código fuente Curto e instrucciones de la VM es relativamente directo por lo que la pérformance debería ser mas que suficiente para todas salvo las más críticas de las situaciones. Las celdas son de 16 bits, el sistema completo ocupa alrededor de 25k de memoria, siendo necesarios otros 4k para memoria de pantalla y buffers.
+
+==Todo==
+* [[Tasks not implemented in Curto]]
\ No newline at end of file
diff --git a/Lang/Curto/00-META.yaml b/Lang/Curto/00-META.yaml
new file mode 100644
index 0000000000..ebc3825015
--- /dev/null
+++ b/Lang/Curto/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Curto
diff --git a/Lang/Curto/Conditional-structures b/Lang/Curto/Conditional-structures
new file mode 120000
index 0000000000..0ddebd80bc
--- /dev/null
+++ b/Lang/Curto/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Curto
\ No newline at end of file
diff --git a/Lang/Curto/Hello-world-Text b/Lang/Curto/Hello-world-Text
new file mode 120000
index 0000000000..7e7d781c66
--- /dev/null
+++ b/Lang/Curto/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Curto
\ No newline at end of file
diff --git a/Lang/D/Largest-proper-divisor-of-n b/Lang/D/Largest-proper-divisor-of-n
new file mode 120000
index 0000000000..62b7fe70aa
--- /dev/null
+++ b/Lang/D/Largest-proper-divisor-of-n
@@ -0,0 +1 @@
+../../Task/Largest-proper-divisor-of-n/D
\ No newline at end of file
diff --git a/Lang/Dart/Arithmetic-Integer b/Lang/Dart/Arithmetic-Integer
new file mode 120000
index 0000000000..b0138d9c48
--- /dev/null
+++ b/Lang/Dart/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Nth-root b/Lang/Dart/Nth-root
new file mode 120000
index 0000000000..ff1dc1b2ec
--- /dev/null
+++ b/Lang/Dart/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Pythagoras-tree b/Lang/Dart/Pythagoras-tree
new file mode 120000
index 0000000000..af9f37b604
--- /dev/null
+++ b/Lang/Dart/Pythagoras-tree
@@ -0,0 +1 @@
+../../Task/Pythagoras-tree/Dart
\ No newline at end of file
diff --git a/Lang/Dart/String-append b/Lang/Dart/String-append
new file mode 120000
index 0000000000..c2bbf5b38e
--- /dev/null
+++ b/Lang/Dart/String-append
@@ -0,0 +1 @@
+../../Task/String-append/Dart
\ No newline at end of file
diff --git a/Lang/Draco/Binary-digits b/Lang/Draco/Binary-digits
new file mode 120000
index 0000000000..a5389aa8f6
--- /dev/null
+++ b/Lang/Draco/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Draco
\ No newline at end of file
diff --git a/Lang/Draco/Count-the-coins b/Lang/Draco/Count-the-coins
new file mode 120000
index 0000000000..f1018ebb94
--- /dev/null
+++ b/Lang/Draco/Count-the-coins
@@ -0,0 +1 @@
+../../Task/Count-the-coins/Draco
\ No newline at end of file
diff --git a/Lang/EDSAC-order-code/Josephus-problem b/Lang/EDSAC-order-code/Josephus-problem
new file mode 120000
index 0000000000..bce73441c6
--- /dev/null
+++ b/Lang/EDSAC-order-code/Josephus-problem
@@ -0,0 +1 @@
+../../Task/Josephus-problem/EDSAC-order-code
\ No newline at end of file
diff --git a/Lang/EDSAC-order-code/Magic-squares-of-doubly-even-order b/Lang/EDSAC-order-code/Magic-squares-of-doubly-even-order
new file mode 120000
index 0000000000..1753b89dcd
--- /dev/null
+++ b/Lang/EDSAC-order-code/Magic-squares-of-doubly-even-order
@@ -0,0 +1 @@
+../../Task/Magic-squares-of-doubly-even-order/EDSAC-order-code
\ No newline at end of file
diff --git a/Lang/EDSAC-order-code/Magic-squares-of-odd-order b/Lang/EDSAC-order-code/Magic-squares-of-odd-order
new file mode 120000
index 0000000000..1a44dde0cd
--- /dev/null
+++ b/Lang/EDSAC-order-code/Magic-squares-of-odd-order
@@ -0,0 +1 @@
+../../Task/Magic-squares-of-odd-order/EDSAC-order-code
\ No newline at end of file
diff --git a/Lang/EDSAC-order-code/Magic-squares-of-singly-even-order b/Lang/EDSAC-order-code/Magic-squares-of-singly-even-order
new file mode 120000
index 0000000000..68c523816d
--- /dev/null
+++ b/Lang/EDSAC-order-code/Magic-squares-of-singly-even-order
@@ -0,0 +1 @@
+../../Task/Magic-squares-of-singly-even-order/EDSAC-order-code
\ No newline at end of file
diff --git a/Lang/EDSAC-order-code/Maze-generation b/Lang/EDSAC-order-code/Maze-generation
new file mode 120000
index 0000000000..93d824a0ca
--- /dev/null
+++ b/Lang/EDSAC-order-code/Maze-generation
@@ -0,0 +1 @@
+../../Task/Maze-generation/EDSAC-order-code
\ No newline at end of file
diff --git a/Lang/EDSAC-order-code/Pseudo-random-numbers-Middle-square-method b/Lang/EDSAC-order-code/Pseudo-random-numbers-Middle-square-method
new file mode 120000
index 0000000000..9e378bb2f4
--- /dev/null
+++ b/Lang/EDSAC-order-code/Pseudo-random-numbers-Middle-square-method
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-Middle-square-method/EDSAC-order-code
\ No newline at end of file
diff --git a/Lang/EDSAC-order-code/Sorting-algorithms-Gnome-sort b/Lang/EDSAC-order-code/Sorting-algorithms-Gnome-sort
new file mode 120000
index 0000000000..3be03b0294
--- /dev/null
+++ b/Lang/EDSAC-order-code/Sorting-algorithms-Gnome-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Gnome-sort/EDSAC-order-code
\ No newline at end of file
diff --git a/Lang/EDSAC-order-code/Statistics-Normal-distribution b/Lang/EDSAC-order-code/Statistics-Normal-distribution
new file mode 120000
index 0000000000..8051b92f59
--- /dev/null
+++ b/Lang/EDSAC-order-code/Statistics-Normal-distribution
@@ -0,0 +1 @@
+../../Task/Statistics-Normal-distribution/EDSAC-order-code
\ No newline at end of file
diff --git a/Lang/EDSAC-order-code/Sum-digits-of-an-integer b/Lang/EDSAC-order-code/Sum-digits-of-an-integer
new file mode 120000
index 0000000000..23c793fd07
--- /dev/null
+++ b/Lang/EDSAC-order-code/Sum-digits-of-an-integer
@@ -0,0 +1 @@
+../../Task/Sum-digits-of-an-integer/EDSAC-order-code
\ No newline at end of file
diff --git a/Lang/EMal/Empty-string b/Lang/EMal/Empty-string
new file mode 120000
index 0000000000..a051653333
--- /dev/null
+++ b/Lang/EMal/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/EMal
\ No newline at end of file
diff --git a/Lang/EMal/Environment-variables b/Lang/EMal/Environment-variables
new file mode 120000
index 0000000000..04065bea17
--- /dev/null
+++ b/Lang/EMal/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/EMal
\ No newline at end of file
diff --git a/Lang/EMal/FizzBuzz b/Lang/EMal/FizzBuzz
new file mode 120000
index 0000000000..7a42e8cf25
--- /dev/null
+++ b/Lang/EMal/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/EMal
\ No newline at end of file
diff --git a/Lang/EMal/Loops-For b/Lang/EMal/Loops-For
new file mode 120000
index 0000000000..ac145e5175
--- /dev/null
+++ b/Lang/EMal/Loops-For
@@ -0,0 +1 @@
+../../Task/Loops-For/EMal
\ No newline at end of file
diff --git a/Lang/EMal/Loops-For-with-a-specified-step b/Lang/EMal/Loops-For-with-a-specified-step
new file mode 120000
index 0000000000..420591b041
--- /dev/null
+++ b/Lang/EMal/Loops-For-with-a-specified-step
@@ -0,0 +1 @@
+../../Task/Loops-For-with-a-specified-step/EMal
\ No newline at end of file
diff --git a/Lang/EMal/Loops-Increment-loop-index-within-loop-body b/Lang/EMal/Loops-Increment-loop-index-within-loop-body
new file mode 120000
index 0000000000..d82571b9b9
--- /dev/null
+++ b/Lang/EMal/Loops-Increment-loop-index-within-loop-body
@@ -0,0 +1 @@
+../../Task/Loops-Increment-loop-index-within-loop-body/EMal
\ No newline at end of file
diff --git a/Lang/EMal/Loops-N-plus-one-half b/Lang/EMal/Loops-N-plus-one-half
new file mode 120000
index 0000000000..45adbe30ec
--- /dev/null
+++ b/Lang/EMal/Loops-N-plus-one-half
@@ -0,0 +1 @@
+../../Task/Loops-N-plus-one-half/EMal
\ No newline at end of file
diff --git a/Lang/EMal/Loops-While b/Lang/EMal/Loops-While
new file mode 120000
index 0000000000..016c2ea1d7
--- /dev/null
+++ b/Lang/EMal/Loops-While
@@ -0,0 +1 @@
+../../Task/Loops-While/EMal
\ No newline at end of file
diff --git a/Lang/EMal/String-case b/Lang/EMal/String-case
new file mode 120000
index 0000000000..8193cfe690
--- /dev/null
+++ b/Lang/EMal/String-case
@@ -0,0 +1 @@
+../../Task/String-case/EMal
\ No newline at end of file
diff --git a/Lang/EMal/Towers-of-Hanoi b/Lang/EMal/Towers-of-Hanoi
new file mode 120000
index 0000000000..5771f28b4c
--- /dev/null
+++ b/Lang/EMal/Towers-of-Hanoi
@@ -0,0 +1 @@
+../../Task/Towers-of-Hanoi/EMal
\ No newline at end of file
diff --git a/Lang/EasyLang/Animation b/Lang/EasyLang/Animation
new file mode 120000
index 0000000000..a11bf8da48
--- /dev/null
+++ b/Lang/EasyLang/Animation
@@ -0,0 +1 @@
+../../Task/Animation/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Averages-Mode b/Lang/EasyLang/Averages-Mode
new file mode 120000
index 0000000000..3d5aef1b7e
--- /dev/null
+++ b/Lang/EasyLang/Averages-Mode
@@ -0,0 +1 @@
+../../Task/Averages-Mode/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Averages-Pythagorean-means b/Lang/EasyLang/Averages-Pythagorean-means
new file mode 120000
index 0000000000..54e04474ad
--- /dev/null
+++ b/Lang/EasyLang/Averages-Pythagorean-means
@@ -0,0 +1 @@
+../../Task/Averages-Pythagorean-means/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Averages-Simple-moving-average b/Lang/EasyLang/Averages-Simple-moving-average
new file mode 120000
index 0000000000..526250f81a
--- /dev/null
+++ b/Lang/EasyLang/Averages-Simple-moving-average
@@ -0,0 +1 @@
+../../Task/Averages-Simple-moving-average/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Balanced-brackets b/Lang/EasyLang/Balanced-brackets
new file mode 120000
index 0000000000..5f2b730d5e
--- /dev/null
+++ b/Lang/EasyLang/Balanced-brackets
@@ -0,0 +1 @@
+../../Task/Balanced-brackets/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Benfords-law b/Lang/EasyLang/Benfords-law
new file mode 120000
index 0000000000..a907859e75
--- /dev/null
+++ b/Lang/EasyLang/Benfords-law
@@ -0,0 +1 @@
+../../Task/Benfords-law/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Bifid-cipher b/Lang/EasyLang/Bifid-cipher
new file mode 120000
index 0000000000..00c9d65ab1
--- /dev/null
+++ b/Lang/EasyLang/Bifid-cipher
@@ -0,0 +1 @@
+../../Task/Bifid-cipher/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Bin-given-limits b/Lang/EasyLang/Bin-given-limits
new file mode 120000
index 0000000000..cc28e3775f
--- /dev/null
+++ b/Lang/EasyLang/Bin-given-limits
@@ -0,0 +1 @@
+../../Task/Bin-given-limits/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Bitmap-Bresenhams-line-algorithm b/Lang/EasyLang/Bitmap-Bresenhams-line-algorithm
new file mode 120000
index 0000000000..5b05ee202b
--- /dev/null
+++ b/Lang/EasyLang/Bitmap-Bresenhams-line-algorithm
@@ -0,0 +1 @@
+../../Task/Bitmap-Bresenhams-line-algorithm/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/CUSIP b/Lang/EasyLang/CUSIP
new file mode 120000
index 0000000000..18e1a39668
--- /dev/null
+++ b/Lang/EasyLang/CUSIP
@@ -0,0 +1 @@
+../../Task/CUSIP/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Caesar-cipher b/Lang/EasyLang/Caesar-cipher
new file mode 120000
index 0000000000..1d121f0b00
--- /dev/null
+++ b/Lang/EasyLang/Caesar-cipher
@@ -0,0 +1 @@
+../../Task/Caesar-cipher/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Calendar b/Lang/EasyLang/Calendar
new file mode 120000
index 0000000000..a7149967d9
--- /dev/null
+++ b/Lang/EasyLang/Calendar
@@ -0,0 +1 @@
+../../Task/Calendar/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Cantor-set b/Lang/EasyLang/Cantor-set
new file mode 120000
index 0000000000..3166a68c95
--- /dev/null
+++ b/Lang/EasyLang/Cantor-set
@@ -0,0 +1 @@
+../../Task/Cantor-set/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Carmichael-3-strong-pseudoprimes b/Lang/EasyLang/Carmichael-3-strong-pseudoprimes
new file mode 120000
index 0000000000..87390cac39
--- /dev/null
+++ b/Lang/EasyLang/Carmichael-3-strong-pseudoprimes
@@ -0,0 +1 @@
+../../Task/Carmichael-3-strong-pseudoprimes/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Casting-out-nines b/Lang/EasyLang/Casting-out-nines
new file mode 120000
index 0000000000..c70d0861aa
--- /dev/null
+++ b/Lang/EasyLang/Casting-out-nines
@@ -0,0 +1 @@
+../../Task/Casting-out-nines/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Chinese-zodiac b/Lang/EasyLang/Chinese-zodiac
new file mode 120000
index 0000000000..0eac7aa885
--- /dev/null
+++ b/Lang/EasyLang/Chinese-zodiac
@@ -0,0 +1 @@
+../../Task/Chinese-zodiac/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Circles-of-given-radius-through-two-points b/Lang/EasyLang/Circles-of-given-radius-through-two-points
new file mode 120000
index 0000000000..86863b1617
--- /dev/null
+++ b/Lang/EasyLang/Circles-of-given-radius-through-two-points
@@ -0,0 +1 @@
+../../Task/Circles-of-given-radius-through-two-points/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Cistercian-numerals b/Lang/EasyLang/Cistercian-numerals
new file mode 120000
index 0000000000..63eb472b3f
--- /dev/null
+++ b/Lang/EasyLang/Cistercian-numerals
@@ -0,0 +1 @@
+../../Task/Cistercian-numerals/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Closest-pair-problem b/Lang/EasyLang/Closest-pair-problem
new file mode 120000
index 0000000000..3aef86373f
--- /dev/null
+++ b/Lang/EasyLang/Closest-pair-problem
@@ -0,0 +1 @@
+../../Task/Closest-pair-problem/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Colour-pinstripe-Display b/Lang/EasyLang/Colour-pinstripe-Display
new file mode 120000
index 0000000000..2e66fb03ab
--- /dev/null
+++ b/Lang/EasyLang/Colour-pinstripe-Display
@@ -0,0 +1 @@
+../../Task/Colour-pinstripe-Display/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Combinations-and-permutations b/Lang/EasyLang/Combinations-and-permutations
new file mode 120000
index 0000000000..8cabf1d02c
--- /dev/null
+++ b/Lang/EasyLang/Combinations-and-permutations
@@ -0,0 +1 @@
+../../Task/Combinations-and-permutations/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Comma-quibbling b/Lang/EasyLang/Comma-quibbling
new file mode 120000
index 0000000000..2a8720ee6a
--- /dev/null
+++ b/Lang/EasyLang/Comma-quibbling
@@ -0,0 +1 @@
+../../Task/Comma-quibbling/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Composite-numbers-k-with-no-single-digit-factors-whose-factors-are-all-substrings-of-k b/Lang/EasyLang/Composite-numbers-k-with-no-single-digit-factors-whose-factors-are-all-substrings-of-k
new file mode 120000
index 0000000000..d18afd0e66
--- /dev/null
+++ b/Lang/EasyLang/Composite-numbers-k-with-no-single-digit-factors-whose-factors-are-all-substrings-of-k
@@ -0,0 +1 @@
+../../Task/Composite-numbers-k-with-no-single-digit-factors-whose-factors-are-all-substrings-of-k/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Consecutive-primes-with-ascending-or-descending-differences b/Lang/EasyLang/Consecutive-primes-with-ascending-or-descending-differences
new file mode 120000
index 0000000000..4752a5c8c3
--- /dev/null
+++ b/Lang/EasyLang/Consecutive-primes-with-ascending-or-descending-differences
@@ -0,0 +1 @@
+../../Task/Consecutive-primes-with-ascending-or-descending-differences/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Constrained-random-points-on-a-circle b/Lang/EasyLang/Constrained-random-points-on-a-circle
new file mode 120000
index 0000000000..63f4482942
--- /dev/null
+++ b/Lang/EasyLang/Constrained-random-points-on-a-circle
@@ -0,0 +1 @@
+../../Task/Constrained-random-points-on-a-circle/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Cyclops-numbers b/Lang/EasyLang/Cyclops-numbers
new file mode 120000
index 0000000000..6df72e0544
--- /dev/null
+++ b/Lang/EasyLang/Cyclops-numbers
@@ -0,0 +1 @@
+../../Task/Cyclops-numbers/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Deal-cards-for-FreeCell b/Lang/EasyLang/Deal-cards-for-FreeCell
new file mode 120000
index 0000000000..9d47d59041
--- /dev/null
+++ b/Lang/EasyLang/Deal-cards-for-FreeCell
@@ -0,0 +1 @@
+../../Task/Deal-cards-for-FreeCell/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Descending-primes b/Lang/EasyLang/Descending-primes
new file mode 120000
index 0000000000..2cdfe30a0e
--- /dev/null
+++ b/Lang/EasyLang/Descending-primes
@@ -0,0 +1 @@
+../../Task/Descending-primes/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Determine-if-a-string-is-collapsible b/Lang/EasyLang/Determine-if-a-string-is-collapsible
new file mode 120000
index 0000000000..05c87ac5e5
--- /dev/null
+++ b/Lang/EasyLang/Determine-if-a-string-is-collapsible
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-collapsible/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Determine-if-a-string-is-squeezable b/Lang/EasyLang/Determine-if-a-string-is-squeezable
new file mode 120000
index 0000000000..3684f2848c
--- /dev/null
+++ b/Lang/EasyLang/Determine-if-a-string-is-squeezable
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-squeezable/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Dice-game-probabilities b/Lang/EasyLang/Dice-game-probabilities
new file mode 120000
index 0000000000..5267c4bcfb
--- /dev/null
+++ b/Lang/EasyLang/Dice-game-probabilities
@@ -0,0 +1 @@
+../../Task/Dice-game-probabilities/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Disarium-numbers b/Lang/EasyLang/Disarium-numbers
new file mode 120000
index 0000000000..f7a091cb49
--- /dev/null
+++ b/Lang/EasyLang/Disarium-numbers
@@ -0,0 +1 @@
+../../Task/Disarium-numbers/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Discordian-date b/Lang/EasyLang/Discordian-date
new file mode 120000
index 0000000000..637d22e417
--- /dev/null
+++ b/Lang/EasyLang/Discordian-date
@@ -0,0 +1 @@
+../../Task/Discordian-date/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Doomsday-rule b/Lang/EasyLang/Doomsday-rule
new file mode 120000
index 0000000000..f576833747
--- /dev/null
+++ b/Lang/EasyLang/Doomsday-rule
@@ -0,0 +1 @@
+../../Task/Doomsday-rule/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Dutch-national-flag-problem b/Lang/EasyLang/Dutch-national-flag-problem
new file mode 120000
index 0000000000..09cb24ca60
--- /dev/null
+++ b/Lang/EasyLang/Dutch-national-flag-problem
@@ -0,0 +1 @@
+../../Task/Dutch-national-flag-problem/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Egyptian-division b/Lang/EasyLang/Egyptian-division
new file mode 120000
index 0000000000..8d011b8470
--- /dev/null
+++ b/Lang/EasyLang/Egyptian-division
@@ -0,0 +1 @@
+../../Task/Egyptian-division/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Elementary-cellular-automaton b/Lang/EasyLang/Elementary-cellular-automaton
new file mode 120000
index 0000000000..14cf04ae05
--- /dev/null
+++ b/Lang/EasyLang/Elementary-cellular-automaton
@@ -0,0 +1 @@
+../../Task/Elementary-cellular-automaton/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Empty-program b/Lang/EasyLang/Empty-program
new file mode 120000
index 0000000000..833f921ffb
--- /dev/null
+++ b/Lang/EasyLang/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Euclid-Mullin-sequence b/Lang/EasyLang/Euclid-Mullin-sequence
new file mode 120000
index 0000000000..465875e6ff
--- /dev/null
+++ b/Lang/EasyLang/Euclid-Mullin-sequence
@@ -0,0 +1 @@
+../../Task/Euclid-Mullin-sequence/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Evaluate-binomial-coefficients b/Lang/EasyLang/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..ca9734f276
--- /dev/null
+++ b/Lang/EasyLang/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Events b/Lang/EasyLang/Events
new file mode 120000
index 0000000000..84019d59c2
--- /dev/null
+++ b/Lang/EasyLang/Events
@@ -0,0 +1 @@
+../../Task/Events/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Execute-Brain- b/Lang/EasyLang/Execute-Brain-
new file mode 120000
index 0000000000..f895a53826
--- /dev/null
+++ b/Lang/EasyLang/Execute-Brain-
@@ -0,0 +1 @@
+../../Task/Execute-Brain-/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Execute-Computer-Zero b/Lang/EasyLang/Execute-Computer-Zero
new file mode 120000
index 0000000000..49e608b246
--- /dev/null
+++ b/Lang/EasyLang/Execute-Computer-Zero
@@ -0,0 +1 @@
+../../Task/Execute-Computer-Zero/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Execute-HQ9+ b/Lang/EasyLang/Execute-HQ9+
new file mode 120000
index 0000000000..aa3358e92d
--- /dev/null
+++ b/Lang/EasyLang/Execute-HQ9+
@@ -0,0 +1 @@
+../../Task/Execute-HQ9+/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Execute-SNUSP b/Lang/EasyLang/Execute-SNUSP
new file mode 120000
index 0000000000..d27fd2f524
--- /dev/null
+++ b/Lang/EasyLang/Execute-SNUSP
@@ -0,0 +1 @@
+../../Task/Execute-SNUSP/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Exponentiation-order b/Lang/EasyLang/Exponentiation-order
new file mode 120000
index 0000000000..de7c440428
--- /dev/null
+++ b/Lang/EasyLang/Exponentiation-order
@@ -0,0 +1 @@
+../../Task/Exponentiation-order/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Exponentiation-with-infix-operators-in-or-operating-on-the-base b/Lang/EasyLang/Exponentiation-with-infix-operators-in-or-operating-on-the-base
new file mode 120000
index 0000000000..131a7d1381
--- /dev/null
+++ b/Lang/EasyLang/Exponentiation-with-infix-operators-in-or-operating-on-the-base
@@ -0,0 +1 @@
+../../Task/Exponentiation-with-infix-operators-in-or-operating-on-the-base/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Extensible-prime-generator b/Lang/EasyLang/Extensible-prime-generator
new file mode 120000
index 0000000000..6415b07f48
--- /dev/null
+++ b/Lang/EasyLang/Extensible-prime-generator
@@ -0,0 +1 @@
+../../Task/Extensible-prime-generator/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Extreme-floating-point-values b/Lang/EasyLang/Extreme-floating-point-values
new file mode 120000
index 0000000000..8c4ae21587
--- /dev/null
+++ b/Lang/EasyLang/Extreme-floating-point-values
@@ -0,0 +1 @@
+../../Task/Extreme-floating-point-values/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Factorial-primes b/Lang/EasyLang/Factorial-primes
new file mode 120000
index 0000000000..6eb3f0a8b6
--- /dev/null
+++ b/Lang/EasyLang/Factorial-primes
@@ -0,0 +1 @@
+../../Task/Factorial-primes/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Feigenbaum-constant-calculation b/Lang/EasyLang/Feigenbaum-constant-calculation
new file mode 120000
index 0000000000..0bc8f6925c
--- /dev/null
+++ b/Lang/EasyLang/Feigenbaum-constant-calculation
@@ -0,0 +1 @@
+../../Task/Feigenbaum-constant-calculation/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Find-the-last-Sunday-of-each-month b/Lang/EasyLang/Find-the-last-Sunday-of-each-month
new file mode 120000
index 0000000000..967f81859a
--- /dev/null
+++ b/Lang/EasyLang/Find-the-last-Sunday-of-each-month
@@ -0,0 +1 @@
+../../Task/Find-the-last-Sunday-of-each-month/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Four-bit-adder b/Lang/EasyLang/Four-bit-adder
new file mode 120000
index 0000000000..aa95757586
--- /dev/null
+++ b/Lang/EasyLang/Four-bit-adder
@@ -0,0 +1 @@
+../../Task/Four-bit-adder/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Hailstone-sequence b/Lang/EasyLang/Hailstone-sequence
new file mode 120000
index 0000000000..164d38791c
--- /dev/null
+++ b/Lang/EasyLang/Hailstone-sequence
@@ -0,0 +1 @@
+../../Task/Hailstone-sequence/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Harshad-or-Niven-series b/Lang/EasyLang/Harshad-or-Niven-series
new file mode 120000
index 0000000000..3452b1b733
--- /dev/null
+++ b/Lang/EasyLang/Harshad-or-Niven-series
@@ -0,0 +1 @@
+../../Task/Harshad-or-Niven-series/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Haversine-formula b/Lang/EasyLang/Haversine-formula
new file mode 120000
index 0000000000..add760760e
--- /dev/null
+++ b/Lang/EasyLang/Haversine-formula
@@ -0,0 +1 @@
+../../Task/Haversine-formula/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Hofstadter-Q-sequence b/Lang/EasyLang/Hofstadter-Q-sequence
new file mode 120000
index 0000000000..f26e722f60
--- /dev/null
+++ b/Lang/EasyLang/Hofstadter-Q-sequence
@@ -0,0 +1 @@
+../../Task/Hofstadter-Q-sequence/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Humble-numbers b/Lang/EasyLang/Humble-numbers
new file mode 120000
index 0000000000..8f9c0f4eae
--- /dev/null
+++ b/Lang/EasyLang/Humble-numbers
@@ -0,0 +1 @@
+../../Task/Humble-numbers/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Image-noise b/Lang/EasyLang/Image-noise
new file mode 120000
index 0000000000..da8d100ac1
--- /dev/null
+++ b/Lang/EasyLang/Image-noise
@@ -0,0 +1 @@
+../../Task/Image-noise/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Infinity b/Lang/EasyLang/Infinity
new file mode 120000
index 0000000000..56d94eeddb
--- /dev/null
+++ b/Lang/EasyLang/Infinity
@@ -0,0 +1 @@
+../../Task/Infinity/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Isqrt-integer-square-root-of-X b/Lang/EasyLang/Isqrt-integer-square-root-of-X
new file mode 120000
index 0000000000..79ccfaeb51
--- /dev/null
+++ b/Lang/EasyLang/Isqrt-integer-square-root-of-X
@@ -0,0 +1 @@
+../../Task/Isqrt-integer-square-root-of-X/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Last-Friday-of-each-month b/Lang/EasyLang/Last-Friday-of-each-month
new file mode 120000
index 0000000000..35882f9070
--- /dev/null
+++ b/Lang/EasyLang/Last-Friday-of-each-month
@@ -0,0 +1 @@
+../../Task/Last-Friday-of-each-month/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Leap-year b/Lang/EasyLang/Leap-year
new file mode 120000
index 0000000000..786a015a2b
--- /dev/null
+++ b/Lang/EasyLang/Leap-year
@@ -0,0 +1 @@
+../../Task/Leap-year/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Look-and-say-sequence b/Lang/EasyLang/Look-and-say-sequence
new file mode 120000
index 0000000000..acea496bc5
--- /dev/null
+++ b/Lang/EasyLang/Look-and-say-sequence
@@ -0,0 +1 @@
+../../Task/Look-and-say-sequence/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Loop-over-multiple-arrays-simultaneously b/Lang/EasyLang/Loop-over-multiple-arrays-simultaneously
new file mode 120000
index 0000000000..cc8922c8e4
--- /dev/null
+++ b/Lang/EasyLang/Loop-over-multiple-arrays-simultaneously
@@ -0,0 +1 @@
+../../Task/Loop-over-multiple-arrays-simultaneously/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/M-bius-function b/Lang/EasyLang/M-bius-function
new file mode 120000
index 0000000000..8ddd81962a
--- /dev/null
+++ b/Lang/EasyLang/M-bius-function
@@ -0,0 +1 @@
+../../Task/M-bius-function/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Magnanimous-numbers b/Lang/EasyLang/Magnanimous-numbers
new file mode 120000
index 0000000000..b244e9bef4
--- /dev/null
+++ b/Lang/EasyLang/Magnanimous-numbers
@@ -0,0 +1 @@
+../../Task/Magnanimous-numbers/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Maximum-triangle-path-sum b/Lang/EasyLang/Maximum-triangle-path-sum
new file mode 120000
index 0000000000..eed040fd4d
--- /dev/null
+++ b/Lang/EasyLang/Maximum-triangle-path-sum
@@ -0,0 +1 @@
+../../Task/Maximum-triangle-path-sum/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/McNuggets-problem b/Lang/EasyLang/McNuggets-problem
new file mode 120000
index 0000000000..4eb97330c9
--- /dev/null
+++ b/Lang/EasyLang/McNuggets-problem
@@ -0,0 +1 @@
+../../Task/McNuggets-problem/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Minimum-multiple-of-m-where-digital-sum-equals-m b/Lang/EasyLang/Minimum-multiple-of-m-where-digital-sum-equals-m
new file mode 120000
index 0000000000..8adaf5f3b6
--- /dev/null
+++ b/Lang/EasyLang/Minimum-multiple-of-m-where-digital-sum-equals-m
@@ -0,0 +1 @@
+../../Task/Minimum-multiple-of-m-where-digital-sum-equals-m/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Motzkin-numbers b/Lang/EasyLang/Motzkin-numbers
new file mode 120000
index 0000000000..f45ac71ffe
--- /dev/null
+++ b/Lang/EasyLang/Motzkin-numbers
@@ -0,0 +1 @@
+../../Task/Motzkin-numbers/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Multifactorial b/Lang/EasyLang/Multifactorial
new file mode 120000
index 0000000000..f917509ca1
--- /dev/null
+++ b/Lang/EasyLang/Multifactorial
@@ -0,0 +1 @@
+../../Task/Multifactorial/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Numbers-which-are-not-the-sum-of-distinct-squares b/Lang/EasyLang/Numbers-which-are-not-the-sum-of-distinct-squares
new file mode 120000
index 0000000000..b728c3fcbc
--- /dev/null
+++ b/Lang/EasyLang/Numbers-which-are-not-the-sum-of-distinct-squares
@@ -0,0 +1 @@
+../../Task/Numbers-which-are-not-the-sum-of-distinct-squares/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/One-dimensional-cellular-automata b/Lang/EasyLang/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..6cef842f96
--- /dev/null
+++ b/Lang/EasyLang/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Padovan-n-step-number-sequences b/Lang/EasyLang/Padovan-n-step-number-sequences
new file mode 120000
index 0000000000..3c37f1b5a3
--- /dev/null
+++ b/Lang/EasyLang/Padovan-n-step-number-sequences
@@ -0,0 +1 @@
+../../Task/Padovan-n-step-number-sequences/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Particle-fountain b/Lang/EasyLang/Particle-fountain
new file mode 120000
index 0000000000..df8fc026b9
--- /dev/null
+++ b/Lang/EasyLang/Particle-fountain
@@ -0,0 +1 @@
+../../Task/Particle-fountain/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Perfect-shuffle b/Lang/EasyLang/Perfect-shuffle
new file mode 120000
index 0000000000..728edc88c9
--- /dev/null
+++ b/Lang/EasyLang/Perfect-shuffle
@@ -0,0 +1 @@
+../../Task/Perfect-shuffle/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Periodic-table b/Lang/EasyLang/Periodic-table
new file mode 120000
index 0000000000..43eef9d72c
--- /dev/null
+++ b/Lang/EasyLang/Periodic-table
@@ -0,0 +1 @@
+../../Task/Periodic-table/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Perlin-noise b/Lang/EasyLang/Perlin-noise
new file mode 120000
index 0000000000..2f94e8bd94
--- /dev/null
+++ b/Lang/EasyLang/Perlin-noise
@@ -0,0 +1 @@
+../../Task/Perlin-noise/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Pig-the-dice-game b/Lang/EasyLang/Pig-the-dice-game
new file mode 120000
index 0000000000..50b35f7797
--- /dev/null
+++ b/Lang/EasyLang/Pig-the-dice-game
@@ -0,0 +1 @@
+../../Task/Pig-the-dice-game/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Polynomial-regression b/Lang/EasyLang/Polynomial-regression
new file mode 120000
index 0000000000..8dbd1d3e30
--- /dev/null
+++ b/Lang/EasyLang/Polynomial-regression
@@ -0,0 +1 @@
+../../Task/Polynomial-regression/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Population-count b/Lang/EasyLang/Population-count
new file mode 120000
index 0000000000..8b6ff189cf
--- /dev/null
+++ b/Lang/EasyLang/Population-count
@@ -0,0 +1 @@
+../../Task/Population-count/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Radical-of-an-integer b/Lang/EasyLang/Radical-of-an-integer
new file mode 120000
index 0000000000..9e440b9a9f
--- /dev/null
+++ b/Lang/EasyLang/Radical-of-an-integer
@@ -0,0 +1 @@
+../../Task/Radical-of-an-integer/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Ramer-Douglas-Peucker-line-simplification b/Lang/EasyLang/Ramer-Douglas-Peucker-line-simplification
new file mode 120000
index 0000000000..e4799ac235
--- /dev/null
+++ b/Lang/EasyLang/Ramer-Douglas-Peucker-line-simplification
@@ -0,0 +1 @@
+../../Task/Ramer-Douglas-Peucker-line-simplification/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Repeat-a-string b/Lang/EasyLang/Repeat-a-string
new file mode 120000
index 0000000000..ecd0e89fe6
--- /dev/null
+++ b/Lang/EasyLang/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Search-a-list b/Lang/EasyLang/Search-a-list
new file mode 120000
index 0000000000..ccb29f0b91
--- /dev/null
+++ b/Lang/EasyLang/Search-a-list
@@ -0,0 +1 @@
+../../Task/Search-a-list/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/EasyLang/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
new file mode 120000
index 0000000000..b4f1a1113a
--- /dev/null
+++ b/Lang/EasyLang/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
@@ -0,0 +1 @@
+../../Task/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Set-puzzle b/Lang/EasyLang/Set-puzzle
new file mode 120000
index 0000000000..feae2ec924
--- /dev/null
+++ b/Lang/EasyLang/Set-puzzle
@@ -0,0 +1 @@
+../../Task/Set-puzzle/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Smarandache-Wellin-primes b/Lang/EasyLang/Smarandache-Wellin-primes
new file mode 120000
index 0000000000..bedd3c4b04
--- /dev/null
+++ b/Lang/EasyLang/Smarandache-Wellin-primes
@@ -0,0 +1 @@
+../../Task/Smarandache-Wellin-primes/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Smith-numbers b/Lang/EasyLang/Smith-numbers
new file mode 120000
index 0000000000..101193f3b1
--- /dev/null
+++ b/Lang/EasyLang/Smith-numbers
@@ -0,0 +1 @@
+../../Task/Smith-numbers/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Sort-disjoint-sublist b/Lang/EasyLang/Sort-disjoint-sublist
new file mode 120000
index 0000000000..eb35c6be68
--- /dev/null
+++ b/Lang/EasyLang/Sort-disjoint-sublist
@@ -0,0 +1 @@
+../../Task/Sort-disjoint-sublist/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Sort-three-variables b/Lang/EasyLang/Sort-three-variables
new file mode 120000
index 0000000000..ffc5d5785b
--- /dev/null
+++ b/Lang/EasyLang/Sort-three-variables
@@ -0,0 +1 @@
+../../Task/Sort-three-variables/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Sorting-algorithms-Counting-sort b/Lang/EasyLang/Sorting-algorithms-Counting-sort
new file mode 120000
index 0000000000..55b1fd89b9
--- /dev/null
+++ b/Lang/EasyLang/Sorting-algorithms-Counting-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Counting-sort/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Sorting-algorithms-Gnome-sort b/Lang/EasyLang/Sorting-algorithms-Gnome-sort
new file mode 120000
index 0000000000..4325128d9d
--- /dev/null
+++ b/Lang/EasyLang/Sorting-algorithms-Gnome-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Gnome-sort/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Sorting-algorithms-Stooge-sort b/Lang/EasyLang/Sorting-algorithms-Stooge-sort
new file mode 120000
index 0000000000..8f8f251e34
--- /dev/null
+++ b/Lang/EasyLang/Sorting-algorithms-Stooge-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Stooge-sort/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Soundex b/Lang/EasyLang/Soundex
new file mode 120000
index 0000000000..1f0885f64a
--- /dev/null
+++ b/Lang/EasyLang/Soundex
@@ -0,0 +1 @@
+../../Task/Soundex/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Statistics-Basic b/Lang/EasyLang/Statistics-Basic
new file mode 120000
index 0000000000..5d69a2f87b
--- /dev/null
+++ b/Lang/EasyLang/Statistics-Basic
@@ -0,0 +1 @@
+../../Task/Statistics-Basic/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Subleq b/Lang/EasyLang/Subleq
new file mode 120000
index 0000000000..1401c9e3d6
--- /dev/null
+++ b/Lang/EasyLang/Subleq
@@ -0,0 +1 @@
+../../Task/Subleq/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Subtractive-generator b/Lang/EasyLang/Subtractive-generator
new file mode 120000
index 0000000000..67b19013ad
--- /dev/null
+++ b/Lang/EasyLang/Subtractive-generator
@@ -0,0 +1 @@
+../../Task/Subtractive-generator/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Successive-prime-differences b/Lang/EasyLang/Successive-prime-differences
new file mode 120000
index 0000000000..904f218dfa
--- /dev/null
+++ b/Lang/EasyLang/Successive-prime-differences
@@ -0,0 +1 @@
+../../Task/Successive-prime-differences/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Sum-multiples-of-3-and-5 b/Lang/EasyLang/Sum-multiples-of-3-and-5
new file mode 120000
index 0000000000..6323853305
--- /dev/null
+++ b/Lang/EasyLang/Sum-multiples-of-3-and-5
@@ -0,0 +1 @@
+../../Task/Sum-multiples-of-3-and-5/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Tau-function b/Lang/EasyLang/Tau-function
new file mode 120000
index 0000000000..a037a03797
--- /dev/null
+++ b/Lang/EasyLang/Tau-function
@@ -0,0 +1 @@
+../../Task/Tau-function/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Tau-number b/Lang/EasyLang/Tau-number
new file mode 120000
index 0000000000..2164c80d5f
--- /dev/null
+++ b/Lang/EasyLang/Tau-number
@@ -0,0 +1 @@
+../../Task/Tau-number/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Total-circles-area b/Lang/EasyLang/Total-circles-area
new file mode 120000
index 0000000000..17bfc868ba
--- /dev/null
+++ b/Lang/EasyLang/Total-circles-area
@@ -0,0 +1 @@
+../../Task/Total-circles-area/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Tree-traversal b/Lang/EasyLang/Tree-traversal
new file mode 120000
index 0000000000..a81a5f8eea
--- /dev/null
+++ b/Lang/EasyLang/Tree-traversal
@@ -0,0 +1 @@
+../../Task/Tree-traversal/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Twelve-statements b/Lang/EasyLang/Twelve-statements
new file mode 120000
index 0000000000..eb9094a7a2
--- /dev/null
+++ b/Lang/EasyLang/Twelve-statements
@@ -0,0 +1 @@
+../../Task/Twelve-statements/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Twin-primes b/Lang/EasyLang/Twin-primes
new file mode 120000
index 0000000000..7fe7d30975
--- /dev/null
+++ b/Lang/EasyLang/Twin-primes
@@ -0,0 +1 @@
+../../Task/Twin-primes/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Ulam-spiral-for-primes- b/Lang/EasyLang/Ulam-spiral-for-primes-
new file mode 120000
index 0000000000..0cc2a340bc
--- /dev/null
+++ b/Lang/EasyLang/Ulam-spiral-for-primes-
@@ -0,0 +1 @@
+../../Task/Ulam-spiral-for-primes-/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Vampire-number b/Lang/EasyLang/Vampire-number
new file mode 120000
index 0000000000..b4339746b7
--- /dev/null
+++ b/Lang/EasyLang/Vampire-number
@@ -0,0 +1 @@
+../../Task/Vampire-number/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Wilson-primes-of-order-n b/Lang/EasyLang/Wilson-primes-of-order-n
new file mode 120000
index 0000000000..a776d56b33
--- /dev/null
+++ b/Lang/EasyLang/Wilson-primes-of-order-n
@@ -0,0 +1 @@
+../../Task/Wilson-primes-of-order-n/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Zeckendorf-number-representation b/Lang/EasyLang/Zeckendorf-number-representation
new file mode 120000
index 0000000000..8198319b91
--- /dev/null
+++ b/Lang/EasyLang/Zeckendorf-number-representation
@@ -0,0 +1 @@
+../../Task/Zeckendorf-number-representation/EasyLang
\ No newline at end of file
diff --git a/Lang/Elixir/Cyclops-numbers b/Lang/Elixir/Cyclops-numbers
new file mode 120000
index 0000000000..0e8897c007
--- /dev/null
+++ b/Lang/Elixir/Cyclops-numbers
@@ -0,0 +1 @@
+../../Task/Cyclops-numbers/Elixir
\ No newline at end of file
diff --git a/Lang/Elixir/Gapful-numbers b/Lang/Elixir/Gapful-numbers
new file mode 120000
index 0000000000..c482e40173
--- /dev/null
+++ b/Lang/Elixir/Gapful-numbers
@@ -0,0 +1 @@
+../../Task/Gapful-numbers/Elixir
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/AVL-tree b/Lang/Emacs-Lisp/AVL-tree
new file mode 120000
index 0000000000..b9212102d2
--- /dev/null
+++ b/Lang/Emacs-Lisp/AVL-tree
@@ -0,0 +1 @@
+../../Task/AVL-tree/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Euler/FizzBuzz b/Lang/Euler/FizzBuzz
deleted file mode 120000
index 407a608e21..0000000000
--- a/Lang/Euler/FizzBuzz
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/FizzBuzz/Euler
\ No newline at end of file
diff --git a/Lang/Euler/Giuga-numbers b/Lang/Euler/Giuga-numbers
deleted file mode 120000
index d2ecdddc43..0000000000
--- a/Lang/Euler/Giuga-numbers
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Giuga-numbers/Euler
\ No newline at end of file
diff --git a/Lang/Euler/Jensens-Device b/Lang/Euler/Jensens-Device
deleted file mode 120000
index f153ab6bd3..0000000000
--- a/Lang/Euler/Jensens-Device
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Jensens-Device/Euler
\ No newline at end of file
diff --git a/Lang/Euler/Return-multiple-values b/Lang/Euler/Return-multiple-values
deleted file mode 120000
index 661e0398e8..0000000000
--- a/Lang/Euler/Return-multiple-values
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Return-multiple-values/Euler
\ No newline at end of file
diff --git a/Lang/Euler/Sum-and-product-of-an-array b/Lang/Euler/Sum-and-product-of-an-array
deleted file mode 120000
index da7cbd08c8..0000000000
--- a/Lang/Euler/Sum-and-product-of-an-array
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sum-and-product-of-an-array/Euler
\ No newline at end of file
diff --git a/Lang/Euler/Sum-of-squares b/Lang/Euler/Sum-of-squares
deleted file mode 120000
index 1bc1bddf09..0000000000
--- a/Lang/Euler/Sum-of-squares
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sum-of-squares/Euler
\ No newline at end of file
diff --git a/Lang/Evaldraw/Draw-a-clock b/Lang/Evaldraw/Draw-a-clock
new file mode 120000
index 0000000000..7b8f5d2c12
--- /dev/null
+++ b/Lang/Evaldraw/Draw-a-clock
@@ -0,0 +1 @@
+../../Task/Draw-a-clock/Evaldraw
\ No newline at end of file
diff --git a/Lang/F-Sharp/Maximum-triangle-path-sum b/Lang/F-Sharp/Maximum-triangle-path-sum
new file mode 120000
index 0000000000..2a3b549ec5
--- /dev/null
+++ b/Lang/F-Sharp/Maximum-triangle-path-sum
@@ -0,0 +1 @@
+../../Task/Maximum-triangle-path-sum/F-Sharp
\ No newline at end of file
diff --git a/Lang/FOCAL/Count-the-coins b/Lang/FOCAL/Count-the-coins
new file mode 120000
index 0000000000..6334bdc3d9
--- /dev/null
+++ b/Lang/FOCAL/Count-the-coins
@@ -0,0 +1 @@
+../../Task/Count-the-coins/FOCAL
\ No newline at end of file
diff --git a/Lang/Forth/Check-input-device-is-a-terminal b/Lang/Forth/Check-input-device-is-a-terminal
new file mode 120000
index 0000000000..adf620c022
--- /dev/null
+++ b/Lang/Forth/Check-input-device-is-a-terminal
@@ -0,0 +1 @@
+../../Task/Check-input-device-is-a-terminal/Forth
\ No newline at end of file
diff --git a/Lang/Fortran/Dijkstras-algorithm b/Lang/Fortran/Dijkstras-algorithm
new file mode 120000
index 0000000000..3c5355acc3
--- /dev/null
+++ b/Lang/Fortran/Dijkstras-algorithm
@@ -0,0 +1 @@
+../../Task/Dijkstras-algorithm/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Sorting-algorithms-Quicksort b/Lang/Fortran/Sorting-algorithms-Quicksort
deleted file mode 120000
index 8ce86e51d1..0000000000
--- a/Lang/Fortran/Sorting-algorithms-Quicksort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-algorithms-Quicksort/Fortran
\ No newline at end of file
diff --git a/Lang/FutureBasic/15-puzzle-game b/Lang/FutureBasic/15-puzzle-game
new file mode 120000
index 0000000000..1625f252f5
--- /dev/null
+++ b/Lang/FutureBasic/15-puzzle-game
@@ -0,0 +1 @@
+../../Task/15-puzzle-game/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/2048 b/Lang/FutureBasic/2048
new file mode 120000
index 0000000000..439bdc83e8
--- /dev/null
+++ b/Lang/FutureBasic/2048
@@ -0,0 +1 @@
+../../Task/2048/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Benfords-law b/Lang/FutureBasic/Benfords-law
new file mode 120000
index 0000000000..0045818b61
--- /dev/null
+++ b/Lang/FutureBasic/Benfords-law
@@ -0,0 +1 @@
+../../Task/Benfords-law/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Bulls-and-cows-Player b/Lang/FutureBasic/Bulls-and-cows-Player
new file mode 120000
index 0000000000..294234e3d7
--- /dev/null
+++ b/Lang/FutureBasic/Bulls-and-cows-Player
@@ -0,0 +1 @@
+../../Task/Bulls-and-cows-Player/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Call-an-object-method b/Lang/FutureBasic/Call-an-object-method
new file mode 120000
index 0000000000..b9d3280ab9
--- /dev/null
+++ b/Lang/FutureBasic/Call-an-object-method
@@ -0,0 +1 @@
+../../Task/Call-an-object-method/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Camel-case-and-snake-case b/Lang/FutureBasic/Camel-case-and-snake-case
new file mode 120000
index 0000000000..46ad34e50a
--- /dev/null
+++ b/Lang/FutureBasic/Camel-case-and-snake-case
@@ -0,0 +1 @@
+../../Task/Camel-case-and-snake-case/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Create-an-object-at-a-given-address b/Lang/FutureBasic/Create-an-object-at-a-given-address
new file mode 120000
index 0000000000..026e0dd2a5
--- /dev/null
+++ b/Lang/FutureBasic/Create-an-object-at-a-given-address
@@ -0,0 +1 @@
+../../Task/Create-an-object-at-a-given-address/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Deepcopy b/Lang/FutureBasic/Deepcopy
new file mode 120000
index 0000000000..32db2c2b0a
--- /dev/null
+++ b/Lang/FutureBasic/Deepcopy
@@ -0,0 +1 @@
+../../Task/Deepcopy/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Find-the-last-Sunday-of-each-month b/Lang/FutureBasic/Find-the-last-Sunday-of-each-month
new file mode 120000
index 0000000000..b6d5b12bd1
--- /dev/null
+++ b/Lang/FutureBasic/Find-the-last-Sunday-of-each-month
@@ -0,0 +1 @@
+../../Task/Find-the-last-Sunday-of-each-month/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Four-is-magic b/Lang/FutureBasic/Four-is-magic
new file mode 120000
index 0000000000..a0162c2baa
--- /dev/null
+++ b/Lang/FutureBasic/Four-is-magic
@@ -0,0 +1 @@
+../../Task/Four-is-magic/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Guess-the-number-With-feedback b/Lang/FutureBasic/Guess-the-number-With-feedback
new file mode 120000
index 0000000000..3f619de1b9
--- /dev/null
+++ b/Lang/FutureBasic/Guess-the-number-With-feedback
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback/FutureBasic
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Arithmetic-Integer b/Lang/GW-BASIC/Arithmetic-Integer
new file mode 120000
index 0000000000..216b349b7b
--- /dev/null
+++ b/Lang/GW-BASIC/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Array-concatenation b/Lang/GW-BASIC/Array-concatenation
new file mode 120000
index 0000000000..1c42f42efb
--- /dev/null
+++ b/Lang/GW-BASIC/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Box-the-compass b/Lang/GW-BASIC/Box-the-compass
new file mode 120000
index 0000000000..29c287bb26
--- /dev/null
+++ b/Lang/GW-BASIC/Box-the-compass
@@ -0,0 +1 @@
+../../Task/Box-the-compass/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Chaos-game b/Lang/GW-BASIC/Chaos-game
new file mode 120000
index 0000000000..cdf457ef86
--- /dev/null
+++ b/Lang/GW-BASIC/Chaos-game
@@ -0,0 +1 @@
+../../Task/Chaos-game/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Character-codes b/Lang/GW-BASIC/Character-codes
new file mode 120000
index 0000000000..74eb8c93c7
--- /dev/null
+++ b/Lang/GW-BASIC/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Compare-length-of-two-strings b/Lang/GW-BASIC/Compare-length-of-two-strings
new file mode 120000
index 0000000000..4c75ca9227
--- /dev/null
+++ b/Lang/GW-BASIC/Compare-length-of-two-strings
@@ -0,0 +1 @@
+../../Task/Compare-length-of-two-strings/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Egyptian-division b/Lang/GW-BASIC/Egyptian-division
new file mode 120000
index 0000000000..b65e30d805
--- /dev/null
+++ b/Lang/GW-BASIC/Egyptian-division
@@ -0,0 +1 @@
+../../Task/Egyptian-division/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Guess-the-number-With-feedback b/Lang/GW-BASIC/Guess-the-number-With-feedback
new file mode 120000
index 0000000000..aeb3d5363c
--- /dev/null
+++ b/Lang/GW-BASIC/Guess-the-number-With-feedback
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Knuth-shuffle b/Lang/GW-BASIC/Knuth-shuffle
new file mode 120000
index 0000000000..25475ed80d
--- /dev/null
+++ b/Lang/GW-BASIC/Knuth-shuffle
@@ -0,0 +1 @@
+../../Task/Knuth-shuffle/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Logical-operations b/Lang/GW-BASIC/Logical-operations
new file mode 120000
index 0000000000..85f84839dc
--- /dev/null
+++ b/Lang/GW-BASIC/Logical-operations
@@ -0,0 +1 @@
+../../Task/Logical-operations/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Longest-string-challenge b/Lang/GW-BASIC/Longest-string-challenge
new file mode 120000
index 0000000000..4b804410d2
--- /dev/null
+++ b/Lang/GW-BASIC/Longest-string-challenge
@@ -0,0 +1 @@
+../../Task/Longest-string-challenge/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Magic-squares-of-odd-order b/Lang/GW-BASIC/Magic-squares-of-odd-order
new file mode 120000
index 0000000000..7fa7f84f6e
--- /dev/null
+++ b/Lang/GW-BASIC/Magic-squares-of-odd-order
@@ -0,0 +1 @@
+../../Task/Magic-squares-of-odd-order/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Magnanimous-numbers b/Lang/GW-BASIC/Magnanimous-numbers
new file mode 120000
index 0000000000..ab077acdfb
--- /dev/null
+++ b/Lang/GW-BASIC/Magnanimous-numbers
@@ -0,0 +1 @@
+../../Task/Magnanimous-numbers/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Repeat-a-string b/Lang/GW-BASIC/Repeat-a-string
new file mode 120000
index 0000000000..c880372bbb
--- /dev/null
+++ b/Lang/GW-BASIC/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Sorting-algorithms-Gnome-sort b/Lang/GW-BASIC/Sorting-algorithms-Gnome-sort
new file mode 120000
index 0000000000..c59f570055
--- /dev/null
+++ b/Lang/GW-BASIC/Sorting-algorithms-Gnome-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Gnome-sort/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Sorting-algorithms-Insertion-sort b/Lang/GW-BASIC/Sorting-algorithms-Insertion-sort
new file mode 120000
index 0000000000..c063728557
--- /dev/null
+++ b/Lang/GW-BASIC/Sorting-algorithms-Insertion-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Insertion-sort/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/String-append b/Lang/GW-BASIC/String-append
new file mode 120000
index 0000000000..80a9e1cba9
--- /dev/null
+++ b/Lang/GW-BASIC/String-append
@@ -0,0 +1 @@
+../../Task/String-append/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/String-interpolation-included- b/Lang/GW-BASIC/String-interpolation-included-
new file mode 120000
index 0000000000..64d55769d0
--- /dev/null
+++ b/Lang/GW-BASIC/String-interpolation-included-
@@ -0,0 +1 @@
+../../Task/String-interpolation-included-/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/The-Twelve-Days-of-Christmas b/Lang/GW-BASIC/The-Twelve-Days-of-Christmas
new file mode 120000
index 0000000000..4988c40de6
--- /dev/null
+++ b/Lang/GW-BASIC/The-Twelve-Days-of-Christmas
@@ -0,0 +1 @@
+../../Task/The-Twelve-Days-of-Christmas/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Van-Eck-sequence b/Lang/GW-BASIC/Van-Eck-sequence
new file mode 120000
index 0000000000..5c697872ea
--- /dev/null
+++ b/Lang/GW-BASIC/Van-Eck-sequence
@@ -0,0 +1 @@
+../../Task/Van-Eck-sequence/GW-BASIC
\ No newline at end of file
diff --git a/Lang/Gambas/Arithmetic-geometric-mean b/Lang/Gambas/Arithmetic-geometric-mean
new file mode 120000
index 0000000000..b22e396101
--- /dev/null
+++ b/Lang/Gambas/Arithmetic-geometric-mean
@@ -0,0 +1 @@
+../../Task/Arithmetic-geometric-mean/Gambas
\ No newline at end of file
diff --git a/Lang/Gambas/Blum-integer b/Lang/Gambas/Blum-integer
new file mode 120000
index 0000000000..4f2af239ed
--- /dev/null
+++ b/Lang/Gambas/Blum-integer
@@ -0,0 +1 @@
+../../Task/Blum-integer/Gambas
\ No newline at end of file
diff --git a/Lang/Gambas/Carmichael-3-strong-pseudoprimes b/Lang/Gambas/Carmichael-3-strong-pseudoprimes
new file mode 120000
index 0000000000..566cca6a25
--- /dev/null
+++ b/Lang/Gambas/Carmichael-3-strong-pseudoprimes
@@ -0,0 +1 @@
+../../Task/Carmichael-3-strong-pseudoprimes/Gambas
\ No newline at end of file
diff --git a/Lang/Gambas/Casting-out-nines b/Lang/Gambas/Casting-out-nines
new file mode 120000
index 0000000000..8fce20d84f
--- /dev/null
+++ b/Lang/Gambas/Casting-out-nines
@@ -0,0 +1 @@
+../../Task/Casting-out-nines/Gambas
\ No newline at end of file
diff --git a/Lang/Gambas/Compare-length-of-two-strings b/Lang/Gambas/Compare-length-of-two-strings
new file mode 120000
index 0000000000..dbcccedaa3
--- /dev/null
+++ b/Lang/Gambas/Compare-length-of-two-strings
@@ -0,0 +1 @@
+../../Task/Compare-length-of-two-strings/Gambas
\ No newline at end of file
diff --git a/Lang/Gambas/Equal-prime-and-composite-sums b/Lang/Gambas/Equal-prime-and-composite-sums
new file mode 120000
index 0000000000..1ab822204b
--- /dev/null
+++ b/Lang/Gambas/Equal-prime-and-composite-sums
@@ -0,0 +1 @@
+../../Task/Equal-prime-and-composite-sums/Gambas
\ No newline at end of file
diff --git a/Lang/Gambas/Factors-of-an-integer b/Lang/Gambas/Factors-of-an-integer
new file mode 120000
index 0000000000..80924d8cbd
--- /dev/null
+++ b/Lang/Gambas/Factors-of-an-integer
@@ -0,0 +1 @@
+../../Task/Factors-of-an-integer/Gambas
\ No newline at end of file
diff --git a/Lang/Gambas/Find-limit-of-recursion b/Lang/Gambas/Find-limit-of-recursion
new file mode 120000
index 0000000000..7e83540246
--- /dev/null
+++ b/Lang/Gambas/Find-limit-of-recursion
@@ -0,0 +1 @@
+../../Task/Find-limit-of-recursion/Gambas
\ No newline at end of file
diff --git a/Lang/Gambas/Goldbachs-comet b/Lang/Gambas/Goldbachs-comet
new file mode 120000
index 0000000000..ffa4d8fa44
--- /dev/null
+++ b/Lang/Gambas/Goldbachs-comet
@@ -0,0 +1 @@
+../../Task/Goldbachs-comet/Gambas
\ No newline at end of file
diff --git a/Lang/Gambas/Haversine-formula b/Lang/Gambas/Haversine-formula
new file mode 120000
index 0000000000..7321b74c0f
--- /dev/null
+++ b/Lang/Gambas/Haversine-formula
@@ -0,0 +1 @@
+../../Task/Haversine-formula/Gambas
\ No newline at end of file
diff --git a/Lang/Gambas/McNuggets-problem b/Lang/Gambas/McNuggets-problem
new file mode 120000
index 0000000000..4bd6b7bc10
--- /dev/null
+++ b/Lang/Gambas/McNuggets-problem
@@ -0,0 +1 @@
+../../Task/McNuggets-problem/Gambas
\ No newline at end of file
diff --git a/Lang/Gambas/Minimum-multiple-of-m-where-digital-sum-equals-m b/Lang/Gambas/Minimum-multiple-of-m-where-digital-sum-equals-m
new file mode 120000
index 0000000000..b93d787a92
--- /dev/null
+++ b/Lang/Gambas/Minimum-multiple-of-m-where-digital-sum-equals-m
@@ -0,0 +1 @@
+../../Task/Minimum-multiple-of-m-where-digital-sum-equals-m/Gambas
\ No newline at end of file
diff --git a/Lang/Gambas/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/Gambas/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
new file mode 120000
index 0000000000..c38ad7fd24
--- /dev/null
+++ b/Lang/Gambas/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
@@ -0,0 +1 @@
+../../Task/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors/Gambas
\ No newline at end of file
diff --git a/Lang/Gambas/Subleq b/Lang/Gambas/Subleq
new file mode 120000
index 0000000000..cf8593b33b
--- /dev/null
+++ b/Lang/Gambas/Subleq
@@ -0,0 +1 @@
+../../Task/Subleq/Gambas
\ No newline at end of file
diff --git a/Lang/Gambas/Tau-number b/Lang/Gambas/Tau-number
new file mode 120000
index 0000000000..d7a5e52f2e
--- /dev/null
+++ b/Lang/Gambas/Tau-number
@@ -0,0 +1 @@
+../../Task/Tau-number/Gambas
\ No newline at end of file
diff --git a/Lang/Haskell/Blum-integer b/Lang/Haskell/Blum-integer
new file mode 120000
index 0000000000..5e2fb151af
--- /dev/null
+++ b/Lang/Haskell/Blum-integer
@@ -0,0 +1 @@
+../../Task/Blum-integer/Haskell
\ No newline at end of file
diff --git a/Lang/IS-BASIC/Arithmetic-geometric-mean-Calculate-Pi b/Lang/IS-BASIC/Arithmetic-geometric-mean-Calculate-Pi
new file mode 120000
index 0000000000..1f2f5f0db7
--- /dev/null
+++ b/Lang/IS-BASIC/Arithmetic-geometric-mean-Calculate-Pi
@@ -0,0 +1 @@
+../../Task/Arithmetic-geometric-mean-Calculate-Pi/IS-BASIC
\ No newline at end of file
diff --git a/Lang/IS-BASIC/Chaos-game b/Lang/IS-BASIC/Chaos-game
new file mode 120000
index 0000000000..d88cbbdffd
--- /dev/null
+++ b/Lang/IS-BASIC/Chaos-game
@@ -0,0 +1 @@
+../../Task/Chaos-game/IS-BASIC
\ No newline at end of file
diff --git a/Lang/IS-BASIC/Levenshtein-distance b/Lang/IS-BASIC/Levenshtein-distance
new file mode 120000
index 0000000000..5e8a9b92bc
--- /dev/null
+++ b/Lang/IS-BASIC/Levenshtein-distance
@@ -0,0 +1 @@
+../../Task/Levenshtein-distance/IS-BASIC
\ No newline at end of file
diff --git a/Lang/IS-BASIC/Pi b/Lang/IS-BASIC/Pi
new file mode 120000
index 0000000000..80838bc8eb
--- /dev/null
+++ b/Lang/IS-BASIC/Pi
@@ -0,0 +1 @@
+../../Task/Pi/IS-BASIC
\ No newline at end of file
diff --git a/Lang/IS-BASIC/Sierpinski-carpet b/Lang/IS-BASIC/Sierpinski-carpet
new file mode 120000
index 0000000000..432bc406d8
--- /dev/null
+++ b/Lang/IS-BASIC/Sierpinski-carpet
@@ -0,0 +1 @@
+../../Task/Sierpinski-carpet/IS-BASIC
\ No newline at end of file
diff --git a/Lang/IS-BASIC/Tau-number b/Lang/IS-BASIC/Tau-number
new file mode 120000
index 0000000000..62fba6c429
--- /dev/null
+++ b/Lang/IS-BASIC/Tau-number
@@ -0,0 +1 @@
+../../Task/Tau-number/IS-BASIC
\ No newline at end of file
diff --git a/Lang/Insitux/00-LANG.txt b/Lang/Insitux/00-LANG.txt
index 4ebf558e15..ffe7dc9e9e 100644
--- a/Lang/Insitux/00-LANG.txt
+++ b/Lang/Insitux/00-LANG.txt
@@ -1,7 +1,12 @@
-{{stub}}
{{language|Insitux
|site=https://insitux.github.io
|hopl=no
|tags=insitux}}
+Insitux (pronounced /ɪnˈsɪtjuːɪks/) is a dynamically-typed functional scripting language inspired by Clojure, originally commissioned in July 2021 for safe and extensible in-game scripting in a popular Roblox game. It has retained compatibility with Roblox by using two sets of "poly-fills" between [https://roblox-ts.com/ roblox-ts] and Node.js / web, meaning it can target Roblox, Node.js, and web with two slightly varying codebases.
+
+Despite its origins it is a capable language, with development focusing on the language itself, its Node.js ecosystem, and to a lesser extent its web ecosystem. This primarily involves adding to the already 200+ built-in operations, which tend to cause existing Insitux programs to shrink in size over time.
+
+Insitux currently does not have a performance focus, and due to its syntactic flexibility, and its engine being transpiled into both JavaScript and [https://luau-lang.org/ Luau], it is difficult to optimise. Eventually Roblox support will be dropped / forked, pivoting mainline Insitux into AOT and JIT JavaScript transpilation.
+
{{language programming paradigm|functional}}
\ No newline at end of file
diff --git a/Lang/Insitux/Roman-numerals-Decode b/Lang/Insitux/Roman-numerals-Decode
new file mode 120000
index 0000000000..3ae13130bb
--- /dev/null
+++ b/Lang/Insitux/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/Insitux
\ No newline at end of file
diff --git a/Lang/J/00-LANG.txt b/Lang/J/00-LANG.txt
index f665b8789e..c3a67e79d5 100644
--- a/Lang/J/00-LANG.txt
+++ b/Lang/J/00-LANG.txt
@@ -22,6 +22,8 @@ A frequent reaction when one first encounters a J program is often something alo
The flip side of this issue is that J is a dialect of APL — a language whose development started in the 1950s and which was implemented in the early 1960s. And, originally, APL was designed as a language to describe computer architecture. The implementation as a programming language was motivated by its original successes in documenting computer hardware and instructions, and the relative simplicity of its concepts.
+See also https://github.com/cratelyn/j for some reflection on some of the linguistic character of J.
+
== Introduction ==
J is a notational programming language designed for interactive use.
diff --git a/Lang/J/Ramanujan-primes-twins b/Lang/J/Ramanujan-primes-twins
new file mode 120000
index 0000000000..beb021482d
--- /dev/null
+++ b/Lang/J/Ramanujan-primes-twins
@@ -0,0 +1 @@
+../../Task/Ramanujan-primes-twins/J
\ No newline at end of file
diff --git a/Lang/J/Repunit-primes b/Lang/J/Repunit-primes
new file mode 120000
index 0000000000..c742186f0c
--- /dev/null
+++ b/Lang/J/Repunit-primes
@@ -0,0 +1 @@
+../../Task/Repunit-primes/J
\ No newline at end of file
diff --git a/Lang/J/Smarandache-Wellin-primes b/Lang/J/Smarandache-Wellin-primes
new file mode 120000
index 0000000000..e1e398e815
--- /dev/null
+++ b/Lang/J/Smarandache-Wellin-primes
@@ -0,0 +1 @@
+../../Task/Smarandache-Wellin-primes/J
\ No newline at end of file
diff --git a/Lang/J/Wilson-primes-of-order-n b/Lang/J/Wilson-primes-of-order-n
new file mode 120000
index 0000000000..7d0e5a9315
--- /dev/null
+++ b/Lang/J/Wilson-primes-of-order-n
@@ -0,0 +1 @@
+../../Task/Wilson-primes-of-order-n/J
\ No newline at end of file
diff --git a/Lang/Java/ADFGVX-cipher b/Lang/Java/ADFGVX-cipher
new file mode 120000
index 0000000000..be3b3fd305
--- /dev/null
+++ b/Lang/Java/ADFGVX-cipher
@@ -0,0 +1 @@
+../../Task/ADFGVX-cipher/Java
\ No newline at end of file
diff --git a/Lang/Java/Add-a-variable-to-a-class-instance-at-runtime b/Lang/Java/Add-a-variable-to-a-class-instance-at-runtime
new file mode 120000
index 0000000000..f7446f3101
--- /dev/null
+++ b/Lang/Java/Add-a-variable-to-a-class-instance-at-runtime
@@ -0,0 +1 @@
+../../Task/Add-a-variable-to-a-class-instance-at-runtime/Java
\ No newline at end of file
diff --git a/Lang/Java/Algebraic-data-types b/Lang/Java/Algebraic-data-types
new file mode 120000
index 0000000000..263f871f37
--- /dev/null
+++ b/Lang/Java/Algebraic-data-types
@@ -0,0 +1 @@
+../../Task/Algebraic-data-types/Java
\ No newline at end of file
diff --git a/Lang/Java/Factorial-base-numbers-indexing-permutations-of-a-collection b/Lang/Java/Factorial-base-numbers-indexing-permutations-of-a-collection
new file mode 120000
index 0000000000..e74c091aba
--- /dev/null
+++ b/Lang/Java/Factorial-base-numbers-indexing-permutations-of-a-collection
@@ -0,0 +1 @@
+../../Task/Factorial-base-numbers-indexing-permutations-of-a-collection/Java
\ No newline at end of file
diff --git a/Lang/Java/Main-step-of-GOST-28147-89 b/Lang/Java/Main-step-of-GOST-28147-89
new file mode 120000
index 0000000000..1604930826
--- /dev/null
+++ b/Lang/Java/Main-step-of-GOST-28147-89
@@ -0,0 +1 @@
+../../Task/Main-step-of-GOST-28147-89/Java
\ No newline at end of file
diff --git a/Lang/Java/Own-digits-power-sum b/Lang/Java/Own-digits-power-sum
new file mode 120000
index 0000000000..52d7afdc8a
--- /dev/null
+++ b/Lang/Java/Own-digits-power-sum
@@ -0,0 +1 @@
+../../Task/Own-digits-power-sum/Java
\ No newline at end of file
diff --git a/Lang/Java/Table-creation-Postal-addresses b/Lang/Java/Table-creation-Postal-addresses
new file mode 120000
index 0000000000..7dc553f160
--- /dev/null
+++ b/Lang/Java/Table-creation-Postal-addresses
@@ -0,0 +1 @@
+../../Task/Table-creation-Postal-addresses/Java
\ No newline at end of file
diff --git a/Lang/Java/Transliterate-English-text-using-the-Greek-alphabet b/Lang/Java/Transliterate-English-text-using-the-Greek-alphabet
new file mode 120000
index 0000000000..bf7b1fc92f
--- /dev/null
+++ b/Lang/Java/Transliterate-English-text-using-the-Greek-alphabet
@@ -0,0 +1 @@
+../../Task/Transliterate-English-text-using-the-Greek-alphabet/Java
\ No newline at end of file
diff --git a/Lang/Java/Ukkonen-s-suffix-tree-construction b/Lang/Java/Ukkonen-s-suffix-tree-construction
new file mode 120000
index 0000000000..8d58725601
--- /dev/null
+++ b/Lang/Java/Ukkonen-s-suffix-tree-construction
@@ -0,0 +1 @@
+../../Task/Ukkonen-s-suffix-tree-construction/Java
\ No newline at end of file
diff --git a/Lang/Java/Variable-size-Set b/Lang/Java/Variable-size-Set
new file mode 120000
index 0000000000..7321e05f76
--- /dev/null
+++ b/Lang/Java/Variable-size-Set
@@ -0,0 +1 @@
+../../Task/Variable-size-Set/Java
\ No newline at end of file
diff --git a/Lang/Java/Wasteful-equidigital-and-frugal-numbers b/Lang/Java/Wasteful-equidigital-and-frugal-numbers
new file mode 120000
index 0000000000..cbd9f1bf78
--- /dev/null
+++ b/Lang/Java/Wasteful-equidigital-and-frugal-numbers
@@ -0,0 +1 @@
+../../Task/Wasteful-equidigital-and-frugal-numbers/Java
\ No newline at end of file
diff --git a/Lang/Java/Wordiff b/Lang/Java/Wordiff
new file mode 120000
index 0000000000..1acc7da1bd
--- /dev/null
+++ b/Lang/Java/Wordiff
@@ -0,0 +1 @@
+../../Task/Wordiff/Java
\ No newline at end of file
diff --git a/Lang/JavaScript/Find-if-a-point-is-within-a-triangle b/Lang/JavaScript/Find-if-a-point-is-within-a-triangle
new file mode 120000
index 0000000000..1aa2b1052e
--- /dev/null
+++ b/Lang/JavaScript/Find-if-a-point-is-within-a-triangle
@@ -0,0 +1 @@
+../../Task/Find-if-a-point-is-within-a-triangle/JavaScript
\ No newline at end of file
diff --git a/Lang/Joy/Sum-multiples-of-3-and-5 b/Lang/Joy/Sum-multiples-of-3-and-5
new file mode 120000
index 0000000000..1a0f4580de
--- /dev/null
+++ b/Lang/Joy/Sum-multiples-of-3-and-5
@@ -0,0 +1 @@
+../../Task/Sum-multiples-of-3-and-5/Joy
\ No newline at end of file
diff --git a/Lang/Julia/B-zier-curves-Intersections b/Lang/Julia/B-zier-curves-Intersections
new file mode 120000
index 0000000000..02cdc8ea33
--- /dev/null
+++ b/Lang/Julia/B-zier-curves-Intersections
@@ -0,0 +1 @@
+../../Task/B-zier-curves-Intersections/Julia
\ No newline at end of file
diff --git a/Lang/KL1/Hello-world-Text b/Lang/KL1/Hello-world-Text
new file mode 120000
index 0000000000..a83e887280
--- /dev/null
+++ b/Lang/KL1/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/KL1
\ No newline at end of file
diff --git a/Lang/Koka/Tic-tac-toe b/Lang/Koka/Tic-tac-toe
new file mode 120000
index 0000000000..0ac61d9c06
--- /dev/null
+++ b/Lang/Koka/Tic-tac-toe
@@ -0,0 +1 @@
+../../Task/Tic-tac-toe/Koka
\ No newline at end of file
diff --git a/Lang/Lean/Hello-world-Standard-error b/Lang/Lean/Hello-world-Standard-error
new file mode 120000
index 0000000000..cad633adb0
--- /dev/null
+++ b/Lang/Lean/Hello-world-Standard-error
@@ -0,0 +1 @@
+../../Task/Hello-world-Standard-error/Lean
\ No newline at end of file
diff --git a/Lang/Logo/00-LANG.txt b/Lang/Logo/00-LANG.txt
index 6deea15712..6f97fd46ee 100644
--- a/Lang/Logo/00-LANG.txt
+++ b/Lang/Logo/00-LANG.txt
@@ -8,6 +8,6 @@
|LCT=yes}}'''Logo''' is a language invented by Seymour Papert in the 1960's designed expressly for teaching programming to children. It is well known for its built-in [[wp:turtle graphics|turtle graphics]]. Unlike other languages which attempt to fill the educational niche, like [[BASIC]], Logo has [[Lisp]]-like underpinnings, and can be used to teach structured, recursive, and functional programming.
==See Also==
-*[http://logo.twentygototen.org/ papert - a Logo interpreter written in JavaScript]
+*[http://rmmh.github.io/papert/static/ papert - a Logo interpreter written in JavaScript]
*[http://www.calormen.com/Logo/ Another Logo interpreter written in JavaScript by Joshua Bell]
*[http://lhogho.sourceforge.net/ Lhogho - a Logo compiler written in C by Pavel Boytchev]
\ No newline at end of file
diff --git a/Lang/Lua/Equal-prime-and-composite-sums b/Lang/Lua/Equal-prime-and-composite-sums
new file mode 120000
index 0000000000..063c8635e5
--- /dev/null
+++ b/Lang/Lua/Equal-prime-and-composite-sums
@@ -0,0 +1 @@
+../../Task/Equal-prime-and-composite-sums/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Giuga-numbers b/Lang/Lua/Giuga-numbers
new file mode 120000
index 0000000000..a65d758127
--- /dev/null
+++ b/Lang/Lua/Giuga-numbers
@@ -0,0 +1 @@
+../../Task/Giuga-numbers/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Jacobi-symbol b/Lang/Lua/Jacobi-symbol
new file mode 120000
index 0000000000..bdc4c4fe10
--- /dev/null
+++ b/Lang/Lua/Jacobi-symbol
@@ -0,0 +1 @@
+../../Task/Jacobi-symbol/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Largest-proper-divisor-of-n b/Lang/Lua/Largest-proper-divisor-of-n
new file mode 120000
index 0000000000..7f2df1345a
--- /dev/null
+++ b/Lang/Lua/Largest-proper-divisor-of-n
@@ -0,0 +1 @@
+../../Task/Largest-proper-divisor-of-n/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Numbers-which-are-not-the-sum-of-distinct-squares b/Lang/Lua/Numbers-which-are-not-the-sum-of-distinct-squares
new file mode 120000
index 0000000000..1fd326f10e
--- /dev/null
+++ b/Lang/Lua/Numbers-which-are-not-the-sum-of-distinct-squares
@@ -0,0 +1 @@
+../../Task/Numbers-which-are-not-the-sum-of-distinct-squares/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Radical-of-an-integer b/Lang/Lua/Radical-of-an-integer
new file mode 120000
index 0000000000..dd64e956a2
--- /dev/null
+++ b/Lang/Lua/Radical-of-an-integer
@@ -0,0 +1 @@
+../../Task/Radical-of-an-integer/Lua
\ No newline at end of file
diff --git a/Lang/MACRO-11/Binary-digits b/Lang/MACRO-11/Binary-digits
new file mode 120000
index 0000000000..a2876ce191
--- /dev/null
+++ b/Lang/MACRO-11/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/MACRO-11
\ No newline at end of file
diff --git a/Lang/MACRO-11/McNuggets-problem b/Lang/MACRO-11/McNuggets-problem
new file mode 120000
index 0000000000..2067890dbc
--- /dev/null
+++ b/Lang/MACRO-11/McNuggets-problem
@@ -0,0 +1 @@
+../../Task/McNuggets-problem/MACRO-11
\ No newline at end of file
diff --git a/Lang/MAD/Count-the-coins b/Lang/MAD/Count-the-coins
new file mode 120000
index 0000000000..fc27a9f988
--- /dev/null
+++ b/Lang/MAD/Count-the-coins
@@ -0,0 +1 @@
+../../Task/Count-the-coins/MAD
\ No newline at end of file
diff --git a/Lang/MSX-Basic/Arithmetic-Integer b/Lang/MSX-Basic/Arithmetic-Integer
new file mode 120000
index 0000000000..aaa58ac04e
--- /dev/null
+++ b/Lang/MSX-Basic/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/MSX-Basic
\ No newline at end of file
diff --git a/Lang/MSX-Basic/Balanced-brackets b/Lang/MSX-Basic/Balanced-brackets
new file mode 120000
index 0000000000..6606d4c62a
--- /dev/null
+++ b/Lang/MSX-Basic/Balanced-brackets
@@ -0,0 +1 @@
+../../Task/Balanced-brackets/MSX-Basic
\ No newline at end of file
diff --git a/Lang/MSX-Basic/Casting-out-nines b/Lang/MSX-Basic/Casting-out-nines
new file mode 120000
index 0000000000..496486e0bb
--- /dev/null
+++ b/Lang/MSX-Basic/Casting-out-nines
@@ -0,0 +1 @@
+../../Task/Casting-out-nines/MSX-Basic
\ No newline at end of file
diff --git a/Lang/MSX-Basic/Catalan-numbers-Pascals-triangle b/Lang/MSX-Basic/Catalan-numbers-Pascals-triangle
new file mode 120000
index 0000000000..0915489acf
--- /dev/null
+++ b/Lang/MSX-Basic/Catalan-numbers-Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Catalan-numbers-Pascals-triangle/MSX-Basic
\ No newline at end of file
diff --git a/Lang/MSX-Basic/Chaos-game b/Lang/MSX-Basic/Chaos-game
new file mode 120000
index 0000000000..84ce60ae68
--- /dev/null
+++ b/Lang/MSX-Basic/Chaos-game
@@ -0,0 +1 @@
+../../Task/Chaos-game/MSX-Basic
\ No newline at end of file
diff --git a/Lang/MSX-Basic/Character-codes b/Lang/MSX-Basic/Character-codes
new file mode 120000
index 0000000000..864fa47ef3
--- /dev/null
+++ b/Lang/MSX-Basic/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/MSX-Basic
\ No newline at end of file
diff --git a/Lang/MSX-Basic/Compare-length-of-two-strings b/Lang/MSX-Basic/Compare-length-of-two-strings
new file mode 120000
index 0000000000..2d9711b8a5
--- /dev/null
+++ b/Lang/MSX-Basic/Compare-length-of-two-strings
@@ -0,0 +1 @@
+../../Task/Compare-length-of-two-strings/MSX-Basic
\ No newline at end of file
diff --git a/Lang/MSX-Basic/Egyptian-division b/Lang/MSX-Basic/Egyptian-division
new file mode 120000
index 0000000000..f728e3679e
--- /dev/null
+++ b/Lang/MSX-Basic/Egyptian-division
@@ -0,0 +1 @@
+../../Task/Egyptian-division/MSX-Basic
\ No newline at end of file
diff --git a/Lang/MSX-Basic/Guess-the-number-With-feedback b/Lang/MSX-Basic/Guess-the-number-With-feedback
new file mode 120000
index 0000000000..fb980893ed
--- /dev/null
+++ b/Lang/MSX-Basic/Guess-the-number-With-feedback
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback/MSX-Basic
\ No newline at end of file
diff --git a/Lang/MSX-Basic/Logical-operations b/Lang/MSX-Basic/Logical-operations
new file mode 120000
index 0000000000..ff8c74475d
--- /dev/null
+++ b/Lang/MSX-Basic/Logical-operations
@@ -0,0 +1 @@
+../../Task/Logical-operations/MSX-Basic
\ No newline at end of file
diff --git a/Lang/MSX-Basic/Longest-string-challenge b/Lang/MSX-Basic/Longest-string-challenge
new file mode 120000
index 0000000000..84c8411c40
--- /dev/null
+++ b/Lang/MSX-Basic/Longest-string-challenge
@@ -0,0 +1 @@
+../../Task/Longest-string-challenge/MSX-Basic
\ No newline at end of file
diff --git a/Lang/MSX-Basic/Magic-squares-of-odd-order b/Lang/MSX-Basic/Magic-squares-of-odd-order
new file mode 120000
index 0000000000..f22c14f72c
--- /dev/null
+++ b/Lang/MSX-Basic/Magic-squares-of-odd-order
@@ -0,0 +1 @@
+../../Task/Magic-squares-of-odd-order/MSX-Basic
\ No newline at end of file
diff --git a/Lang/MSX-Basic/Pig-the-dice-game b/Lang/MSX-Basic/Pig-the-dice-game
new file mode 120000
index 0000000000..f87ec9a67c
--- /dev/null
+++ b/Lang/MSX-Basic/Pig-the-dice-game
@@ -0,0 +1 @@
+../../Task/Pig-the-dice-game/MSX-Basic
\ No newline at end of file
diff --git a/Lang/MSX-Basic/Sorting-algorithms-Gnome-sort b/Lang/MSX-Basic/Sorting-algorithms-Gnome-sort
new file mode 120000
index 0000000000..7f3aa97349
--- /dev/null
+++ b/Lang/MSX-Basic/Sorting-algorithms-Gnome-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Gnome-sort/MSX-Basic
\ No newline at end of file
diff --git a/Lang/Macsyma/00-LANG.txt b/Lang/Macsyma/00-LANG.txt
new file mode 100644
index 0000000000..e5e1fd4a0a
--- /dev/null
+++ b/Lang/Macsyma/00-LANG.txt
@@ -0,0 +1,4 @@
+{{language|Macsyma}}
+"Project MAC's SYmbolic MAnipulator"
+
+Is one of the oldest general-purpose computer algebra systems.
\ No newline at end of file
diff --git a/Lang/Macsyma/00-META.yaml b/Lang/Macsyma/00-META.yaml
new file mode 100644
index 0000000000..e65a9178cf
--- /dev/null
+++ b/Lang/Macsyma/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Macsyma
diff --git a/Lang/Maxima/00-LANG.txt b/Lang/Maxima/00-LANG.txt
index d90dc35da7..3ca362e632 100644
--- a/Lang/Maxima/00-LANG.txt
+++ b/Lang/Maxima/00-LANG.txt
@@ -3,4 +3,7 @@
Maxima is the language used in the computer algebra system of the same name.
[[Category:Mathematical programming languages]]
-[[Category:Lisp related]]
\ No newline at end of file
+[[Category:Lisp related]]
+
+==Todo==
+[[Tasks_not_implemented_in_Maxima]]
\ No newline at end of file
diff --git a/Lang/Maxima/Babbage-problem b/Lang/Maxima/Babbage-problem
new file mode 120000
index 0000000000..8f35ad629d
--- /dev/null
+++ b/Lang/Maxima/Babbage-problem
@@ -0,0 +1 @@
+../../Task/Babbage-problem/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Calculating-the-value-of-e b/Lang/Maxima/Calculating-the-value-of-e
new file mode 120000
index 0000000000..99ef3e7777
--- /dev/null
+++ b/Lang/Maxima/Calculating-the-value-of-e
@@ -0,0 +1 @@
+../../Task/Calculating-the-value-of-e/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Catalan-numbers-Pascals-triangle b/Lang/Maxima/Catalan-numbers-Pascals-triangle
new file mode 120000
index 0000000000..9cf7344fa4
--- /dev/null
+++ b/Lang/Maxima/Catalan-numbers-Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Catalan-numbers-Pascals-triangle/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Motzkin-numbers b/Lang/Maxima/Motzkin-numbers
new file mode 120000
index 0000000000..5663c207ac
--- /dev/null
+++ b/Lang/Maxima/Motzkin-numbers
@@ -0,0 +1 @@
+../../Task/Motzkin-numbers/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Multifactorial b/Lang/Maxima/Multifactorial
new file mode 120000
index 0000000000..46f2b49532
--- /dev/null
+++ b/Lang/Maxima/Multifactorial
@@ -0,0 +1 @@
+../../Task/Multifactorial/Maxima
\ No newline at end of file
diff --git a/Lang/Mia/00-LANG.txt b/Lang/Mia/00-LANG.txt
new file mode 100644
index 0000000000..c25a056976
--- /dev/null
+++ b/Lang/Mia/00-LANG.txt
@@ -0,0 +1 @@
+{{stub}}{{language|Ayrch}}
\ No newline at end of file
diff --git a/Lang/Mia/00-META.yaml b/Lang/Mia/00-META.yaml
new file mode 100644
index 0000000000..5e501a39c7
--- /dev/null
+++ b/Lang/Mia/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Mia
diff --git a/Lang/MiniScript/15-puzzle-game b/Lang/MiniScript/15-puzzle-game
new file mode 120000
index 0000000000..7e5c7af4af
--- /dev/null
+++ b/Lang/MiniScript/15-puzzle-game
@@ -0,0 +1 @@
+../../Task/15-puzzle-game/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/4-rings-or-4-squares-puzzle b/Lang/MiniScript/4-rings-or-4-squares-puzzle
new file mode 120000
index 0000000000..ced2ec47b4
--- /dev/null
+++ b/Lang/MiniScript/4-rings-or-4-squares-puzzle
@@ -0,0 +1 @@
+../../Task/4-rings-or-4-squares-puzzle/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Abelian-sandpile-model b/Lang/MiniScript/Abelian-sandpile-model
new file mode 120000
index 0000000000..204b227af1
--- /dev/null
+++ b/Lang/MiniScript/Abelian-sandpile-model
@@ -0,0 +1 @@
+../../Task/Abelian-sandpile-model/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Abundant-odd-numbers b/Lang/MiniScript/Abundant-odd-numbers
new file mode 120000
index 0000000000..91bcaad5c3
--- /dev/null
+++ b/Lang/MiniScript/Abundant-odd-numbers
@@ -0,0 +1 @@
+../../Task/Abundant-odd-numbers/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Accumulator-factory b/Lang/MiniScript/Accumulator-factory
new file mode 120000
index 0000000000..1405ff6446
--- /dev/null
+++ b/Lang/MiniScript/Accumulator-factory
@@ -0,0 +1 @@
+../../Task/Accumulator-factory/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Additive-primes b/Lang/MiniScript/Additive-primes
new file mode 120000
index 0000000000..9b3b9e3623
--- /dev/null
+++ b/Lang/MiniScript/Additive-primes
@@ -0,0 +1 @@
+../../Task/Additive-primes/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Align-columns b/Lang/MiniScript/Align-columns
new file mode 120000
index 0000000000..bf15d9e815
--- /dev/null
+++ b/Lang/MiniScript/Align-columns
@@ -0,0 +1 @@
+../../Task/Align-columns/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Almost-prime b/Lang/MiniScript/Almost-prime
new file mode 120000
index 0000000000..b20040bcf6
--- /dev/null
+++ b/Lang/MiniScript/Almost-prime
@@ -0,0 +1 @@
+../../Task/Almost-prime/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Anagrams b/Lang/MiniScript/Anagrams
new file mode 120000
index 0000000000..fa29a4485e
--- /dev/null
+++ b/Lang/MiniScript/Anagrams
@@ -0,0 +1 @@
+../../Task/Anagrams/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Archimedean-spiral b/Lang/MiniScript/Archimedean-spiral
new file mode 120000
index 0000000000..4f733ba176
--- /dev/null
+++ b/Lang/MiniScript/Archimedean-spiral
@@ -0,0 +1 @@
+../../Task/Archimedean-spiral/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Attractive-numbers b/Lang/MiniScript/Attractive-numbers
new file mode 120000
index 0000000000..b4e1856e0e
--- /dev/null
+++ b/Lang/MiniScript/Attractive-numbers
@@ -0,0 +1 @@
+../../Task/Attractive-numbers/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Averages-Mean-angle b/Lang/MiniScript/Averages-Mean-angle
new file mode 120000
index 0000000000..d2713dd5a3
--- /dev/null
+++ b/Lang/MiniScript/Averages-Mean-angle
@@ -0,0 +1 @@
+../../Task/Averages-Mean-angle/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Bitmap b/Lang/MiniScript/Bitmap
new file mode 120000
index 0000000000..365ee5eb36
--- /dev/null
+++ b/Lang/MiniScript/Bitmap
@@ -0,0 +1 @@
+../../Task/Bitmap/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Bitmap-B-zier-curves-Cubic b/Lang/MiniScript/Bitmap-B-zier-curves-Cubic
new file mode 120000
index 0000000000..f0e0eca06d
--- /dev/null
+++ b/Lang/MiniScript/Bitmap-B-zier-curves-Cubic
@@ -0,0 +1 @@
+../../Task/Bitmap-B-zier-curves-Cubic/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Bitmap-B-zier-curves-Quadratic b/Lang/MiniScript/Bitmap-B-zier-curves-Quadratic
new file mode 120000
index 0000000000..15d71b6d75
--- /dev/null
+++ b/Lang/MiniScript/Bitmap-B-zier-curves-Quadratic
@@ -0,0 +1 @@
+../../Task/Bitmap-B-zier-curves-Quadratic/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Bitmap-Bresenhams-line-algorithm b/Lang/MiniScript/Bitmap-Bresenhams-line-algorithm
new file mode 120000
index 0000000000..f0f56f0d6e
--- /dev/null
+++ b/Lang/MiniScript/Bitmap-Bresenhams-line-algorithm
@@ -0,0 +1 @@
+../../Task/Bitmap-Bresenhams-line-algorithm/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Bitmap-Flood-fill b/Lang/MiniScript/Bitmap-Flood-fill
new file mode 120000
index 0000000000..34c70cc53f
--- /dev/null
+++ b/Lang/MiniScript/Bitmap-Flood-fill
@@ -0,0 +1 @@
+../../Task/Bitmap-Flood-fill/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Cantor-set b/Lang/MiniScript/Cantor-set
new file mode 120000
index 0000000000..de0a42ce52
--- /dev/null
+++ b/Lang/MiniScript/Cantor-set
@@ -0,0 +1 @@
+../../Task/Cantor-set/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Compare-length-of-two-strings b/Lang/MiniScript/Compare-length-of-two-strings
new file mode 120000
index 0000000000..c99239d3fe
--- /dev/null
+++ b/Lang/MiniScript/Compare-length-of-two-strings
@@ -0,0 +1 @@
+../../Task/Compare-length-of-two-strings/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Count-in-octal b/Lang/MiniScript/Count-in-octal
new file mode 120000
index 0000000000..c68fe650dd
--- /dev/null
+++ b/Lang/MiniScript/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Digital-root b/Lang/MiniScript/Digital-root
new file mode 120000
index 0000000000..05c86864b6
--- /dev/null
+++ b/Lang/MiniScript/Digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Disarium-numbers b/Lang/MiniScript/Disarium-numbers
new file mode 120000
index 0000000000..6059b2cae0
--- /dev/null
+++ b/Lang/MiniScript/Disarium-numbers
@@ -0,0 +1 @@
+../../Task/Disarium-numbers/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Elementary-cellular-automaton b/Lang/MiniScript/Elementary-cellular-automaton
new file mode 120000
index 0000000000..7a23621bbe
--- /dev/null
+++ b/Lang/MiniScript/Elementary-cellular-automaton
@@ -0,0 +1 @@
+../../Task/Elementary-cellular-automaton/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Fractal-tree b/Lang/MiniScript/Fractal-tree
new file mode 120000
index 0000000000..55a8a26736
--- /dev/null
+++ b/Lang/MiniScript/Fractal-tree
@@ -0,0 +1 @@
+../../Task/Fractal-tree/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Grayscale-image b/Lang/MiniScript/Grayscale-image
new file mode 120000
index 0000000000..5b0c8a08a0
--- /dev/null
+++ b/Lang/MiniScript/Grayscale-image
@@ -0,0 +1 @@
+../../Task/Grayscale-image/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Hailstone-sequence b/Lang/MiniScript/Hailstone-sequence
new file mode 120000
index 0000000000..68089b892e
--- /dev/null
+++ b/Lang/MiniScript/Hailstone-sequence
@@ -0,0 +1 @@
+../../Task/Hailstone-sequence/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Hello-world-Graphical b/Lang/MiniScript/Hello-world-Graphical
new file mode 120000
index 0000000000..1cbf28b019
--- /dev/null
+++ b/Lang/MiniScript/Hello-world-Graphical
@@ -0,0 +1 @@
+../../Task/Hello-world-Graphical/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Hex-words b/Lang/MiniScript/Hex-words
new file mode 120000
index 0000000000..5dbe9fd7cc
--- /dev/null
+++ b/Lang/MiniScript/Hex-words
@@ -0,0 +1 @@
+../../Task/Hex-words/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/ISBN13-check-digit b/Lang/MiniScript/ISBN13-check-digit
new file mode 120000
index 0000000000..717a3cde6f
--- /dev/null
+++ b/Lang/MiniScript/ISBN13-check-digit
@@ -0,0 +1 @@
+../../Task/ISBN13-check-digit/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Image-noise b/Lang/MiniScript/Image-noise
new file mode 120000
index 0000000000..1b1884e3d1
--- /dev/null
+++ b/Lang/MiniScript/Image-noise
@@ -0,0 +1 @@
+../../Task/Image-noise/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Longest-string-challenge b/Lang/MiniScript/Longest-string-challenge
new file mode 120000
index 0000000000..04c596eef3
--- /dev/null
+++ b/Lang/MiniScript/Longest-string-challenge
@@ -0,0 +1 @@
+../../Task/Longest-string-challenge/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/MAC-vendor-lookup b/Lang/MiniScript/MAC-vendor-lookup
new file mode 120000
index 0000000000..8111f80017
--- /dev/null
+++ b/Lang/MiniScript/MAC-vendor-lookup
@@ -0,0 +1 @@
+../../Task/MAC-vendor-lookup/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/McNuggets-problem b/Lang/MiniScript/McNuggets-problem
new file mode 120000
index 0000000000..8d97a35c79
--- /dev/null
+++ b/Lang/MiniScript/McNuggets-problem
@@ -0,0 +1 @@
+../../Task/McNuggets-problem/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/N-queens-problem b/Lang/MiniScript/N-queens-problem
new file mode 120000
index 0000000000..56fe34197f
--- /dev/null
+++ b/Lang/MiniScript/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Order-by-pair-comparisons b/Lang/MiniScript/Order-by-pair-comparisons
new file mode 120000
index 0000000000..0647767d0b
--- /dev/null
+++ b/Lang/MiniScript/Order-by-pair-comparisons
@@ -0,0 +1 @@
+../../Task/Order-by-pair-comparisons/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Pi b/Lang/MiniScript/Pi
new file mode 120000
index 0000000000..053fc0881f
--- /dev/null
+++ b/Lang/MiniScript/Pi
@@ -0,0 +1 @@
+../../Task/Pi/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/MiniScript/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
new file mode 120000
index 0000000000..e32d286342
--- /dev/null
+++ b/Lang/MiniScript/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
@@ -0,0 +1 @@
+../../Task/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Sequence:-smallest-number-with-exactly-n-divisors b/Lang/MiniScript/Sequence:-smallest-number-with-exactly-n-divisors
new file mode 120000
index 0000000000..d22e2a69ce
--- /dev/null
+++ b/Lang/MiniScript/Sequence:-smallest-number-with-exactly-n-divisors
@@ -0,0 +1 @@
+../../Task/Sequence:-smallest-number-with-exactly-n-divisors/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Singly-linked-list-Element-definition b/Lang/MiniScript/Singly-linked-list-Element-definition
new file mode 120000
index 0000000000..2a87d3badd
--- /dev/null
+++ b/Lang/MiniScript/Singly-linked-list-Element-definition
@@ -0,0 +1 @@
+../../Task/Singly-linked-list-Element-definition/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Singly-linked-list-Element-insertion b/Lang/MiniScript/Singly-linked-list-Element-insertion
new file mode 120000
index 0000000000..93fef166d0
--- /dev/null
+++ b/Lang/MiniScript/Singly-linked-list-Element-insertion
@@ -0,0 +1 @@
+../../Task/Singly-linked-list-Element-insertion/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Solve-a-Hidato-puzzle b/Lang/MiniScript/Solve-a-Hidato-puzzle
new file mode 120000
index 0000000000..88a97d21c2
--- /dev/null
+++ b/Lang/MiniScript/Solve-a-Hidato-puzzle
@@ -0,0 +1 @@
+../../Task/Solve-a-Hidato-puzzle/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Sort-disjoint-sublist b/Lang/MiniScript/Sort-disjoint-sublist
new file mode 120000
index 0000000000..73ee8d9c24
--- /dev/null
+++ b/Lang/MiniScript/Sort-disjoint-sublist
@@ -0,0 +1 @@
+../../Task/Sort-disjoint-sublist/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Sorting-algorithms-Gnome-sort b/Lang/MiniScript/Sorting-algorithms-Gnome-sort
new file mode 120000
index 0000000000..1859916a86
--- /dev/null
+++ b/Lang/MiniScript/Sorting-algorithms-Gnome-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Gnome-sort/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/String-append b/Lang/MiniScript/String-append
new file mode 120000
index 0000000000..91d9564e08
--- /dev/null
+++ b/Lang/MiniScript/String-append
@@ -0,0 +1 @@
+../../Task/String-append/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Symmetric-difference b/Lang/MiniScript/Symmetric-difference
new file mode 120000
index 0000000000..99a920ff15
--- /dev/null
+++ b/Lang/MiniScript/Symmetric-difference
@@ -0,0 +1 @@
+../../Task/Symmetric-difference/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Tau-function b/Lang/MiniScript/Tau-function
new file mode 120000
index 0000000000..afdfda353c
--- /dev/null
+++ b/Lang/MiniScript/Tau-function
@@ -0,0 +1 @@
+../../Task/Tau-function/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Tau-number b/Lang/MiniScript/Tau-number
new file mode 120000
index 0000000000..989367f598
--- /dev/null
+++ b/Lang/MiniScript/Tau-number
@@ -0,0 +1 @@
+../../Task/Tau-number/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Wireworld b/Lang/MiniScript/Wireworld
new file mode 120000
index 0000000000..05734b25f6
--- /dev/null
+++ b/Lang/MiniScript/Wireworld
@@ -0,0 +1 @@
+../../Task/Wireworld/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Zeckendorf-number-representation b/Lang/MiniScript/Zeckendorf-number-representation
new file mode 120000
index 0000000000..35edc5020d
--- /dev/null
+++ b/Lang/MiniScript/Zeckendorf-number-representation
@@ -0,0 +1 @@
+../../Task/Zeckendorf-number-representation/MiniScript
\ No newline at end of file
diff --git a/Lang/Minimal-BASIC/Arithmetic-Integer b/Lang/Minimal-BASIC/Arithmetic-Integer
new file mode 120000
index 0000000000..933ad3bc56
--- /dev/null
+++ b/Lang/Minimal-BASIC/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/Minimal-BASIC
\ No newline at end of file
diff --git a/Lang/Minimal-BASIC/Arithmetic-geometric-mean b/Lang/Minimal-BASIC/Arithmetic-geometric-mean
new file mode 120000
index 0000000000..3a1459c995
--- /dev/null
+++ b/Lang/Minimal-BASIC/Arithmetic-geometric-mean
@@ -0,0 +1 @@
+../../Task/Arithmetic-geometric-mean/Minimal-BASIC
\ No newline at end of file
diff --git a/Lang/Minimal-BASIC/Array-concatenation b/Lang/Minimal-BASIC/Array-concatenation
new file mode 120000
index 0000000000..b0d0134d77
--- /dev/null
+++ b/Lang/Minimal-BASIC/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/Minimal-BASIC
\ No newline at end of file
diff --git a/Lang/Minimal-BASIC/Find-limit-of-recursion b/Lang/Minimal-BASIC/Find-limit-of-recursion
new file mode 120000
index 0000000000..9f4b00a477
--- /dev/null
+++ b/Lang/Minimal-BASIC/Find-limit-of-recursion
@@ -0,0 +1 @@
+../../Task/Find-limit-of-recursion/Minimal-BASIC
\ No newline at end of file
diff --git a/Lang/Minimal-BASIC/Knuth-shuffle b/Lang/Minimal-BASIC/Knuth-shuffle
new file mode 120000
index 0000000000..3e28bb591e
--- /dev/null
+++ b/Lang/Minimal-BASIC/Knuth-shuffle
@@ -0,0 +1 @@
+../../Task/Knuth-shuffle/Minimal-BASIC
\ No newline at end of file
diff --git a/Lang/Minimal-BASIC/Recamans-sequence b/Lang/Minimal-BASIC/Recamans-sequence
new file mode 120000
index 0000000000..51e560288e
--- /dev/null
+++ b/Lang/Minimal-BASIC/Recamans-sequence
@@ -0,0 +1 @@
+../../Task/Recamans-sequence/Minimal-BASIC
\ No newline at end of file
diff --git a/Lang/Minimal-BASIC/Repeat-a-string b/Lang/Minimal-BASIC/Repeat-a-string
new file mode 120000
index 0000000000..cb9d6c7be2
--- /dev/null
+++ b/Lang/Minimal-BASIC/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Minimal-BASIC
\ No newline at end of file
diff --git a/Lang/Minimal-BASIC/Sorting-algorithms-Gnome-sort b/Lang/Minimal-BASIC/Sorting-algorithms-Gnome-sort
new file mode 120000
index 0000000000..7e0ae10f86
--- /dev/null
+++ b/Lang/Minimal-BASIC/Sorting-algorithms-Gnome-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Gnome-sort/Minimal-BASIC
\ No newline at end of file
diff --git a/Lang/Minimal-BASIC/String-interpolation-included- b/Lang/Minimal-BASIC/String-interpolation-included-
new file mode 120000
index 0000000000..7def120cfb
--- /dev/null
+++ b/Lang/Minimal-BASIC/String-interpolation-included-
@@ -0,0 +1 @@
+../../Task/String-interpolation-included-/Minimal-BASIC
\ No newline at end of file
diff --git a/Lang/Nial/00-LANG.txt b/Lang/Nial/00-LANG.txt
index 9cd63d0ab0..74f94af84f 100644
--- a/Lang/Nial/00-LANG.txt
+++ b/Lang/Nial/00-LANG.txt
@@ -1,8 +1,8 @@
{{language|Nial
|strength=strong
|checking=dynamic
-|site=http://www.nial.com/
+|site=https://www.nial-array-language.org/
|LCT=yes}}'''Nial''' (Nested interactive programming language) is an array programming language similar to [[APL]] and its successor [[J]].
==References==
-* [[wp:Nial|Wikipedia:Nial]]
\ No newline at end of file
+* [[Wikipedia:Nial]]
\ No newline at end of file
diff --git a/Lang/Nu/00-LANG.txt b/Lang/Nu/00-LANG.txt
new file mode 100644
index 0000000000..d173c3d735
--- /dev/null
+++ b/Lang/Nu/00-LANG.txt
@@ -0,0 +1,3 @@
+{{stub}}{{language|Nu}}
+
+Nu is the programming language used by Nushell.
\ No newline at end of file
diff --git a/Lang/Nu/00-META.yaml b/Lang/Nu/00-META.yaml
new file mode 100644
index 0000000000..99859066fe
--- /dev/null
+++ b/Lang/Nu/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Nu
diff --git a/Lang/Nu/A+B b/Lang/Nu/A+B
new file mode 120000
index 0000000000..2da442f92b
--- /dev/null
+++ b/Lang/Nu/A+B
@@ -0,0 +1 @@
+../../Task/A+B/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Arithmetic-Integer b/Lang/Nu/Arithmetic-Integer
new file mode 120000
index 0000000000..204092ead0
--- /dev/null
+++ b/Lang/Nu/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Array-concatenation b/Lang/Nu/Array-concatenation
new file mode 120000
index 0000000000..d98932d8bd
--- /dev/null
+++ b/Lang/Nu/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Array-length b/Lang/Nu/Array-length
new file mode 120000
index 0000000000..5ea0b71e21
--- /dev/null
+++ b/Lang/Nu/Array-length
@@ -0,0 +1 @@
+../../Task/Array-length/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Arrays b/Lang/Nu/Arrays
new file mode 120000
index 0000000000..b71f014ca8
--- /dev/null
+++ b/Lang/Nu/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Balanced-brackets b/Lang/Nu/Balanced-brackets
new file mode 120000
index 0000000000..020bbe6f49
--- /dev/null
+++ b/Lang/Nu/Balanced-brackets
@@ -0,0 +1 @@
+../../Task/Balanced-brackets/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Command-line-arguments b/Lang/Nu/Command-line-arguments
new file mode 120000
index 0000000000..a50eb1100a
--- /dev/null
+++ b/Lang/Nu/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Determine-if-a-string-is-numeric b/Lang/Nu/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..aad071997f
--- /dev/null
+++ b/Lang/Nu/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Environment-variables b/Lang/Nu/Environment-variables
new file mode 120000
index 0000000000..8271af8fa1
--- /dev/null
+++ b/Lang/Nu/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Factorial b/Lang/Nu/Factorial
new file mode 120000
index 0000000000..9cddb3254b
--- /dev/null
+++ b/Lang/Nu/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/Nu
\ No newline at end of file
diff --git a/Lang/Nu/File-input-output b/Lang/Nu/File-input-output
new file mode 120000
index 0000000000..9cf58198ab
--- /dev/null
+++ b/Lang/Nu/File-input-output
@@ -0,0 +1 @@
+../../Task/File-input-output/Nu
\ No newline at end of file
diff --git a/Lang/Nu/FizzBuzz b/Lang/Nu/FizzBuzz
new file mode 120000
index 0000000000..2aded0e368
--- /dev/null
+++ b/Lang/Nu/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Hello-world-Standard-error b/Lang/Nu/Hello-world-Standard-error
new file mode 120000
index 0000000000..717c79f030
--- /dev/null
+++ b/Lang/Nu/Hello-world-Standard-error
@@ -0,0 +1 @@
+../../Task/Hello-world-Standard-error/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Hello-world-Text b/Lang/Nu/Hello-world-Text
new file mode 120000
index 0000000000..10d5ca7e00
--- /dev/null
+++ b/Lang/Nu/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Integer-comparison b/Lang/Nu/Integer-comparison
new file mode 120000
index 0000000000..c2dbb46482
--- /dev/null
+++ b/Lang/Nu/Integer-comparison
@@ -0,0 +1 @@
+../../Task/Integer-comparison/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Logical-operations b/Lang/Nu/Logical-operations
new file mode 120000
index 0000000000..5b1ef33928
--- /dev/null
+++ b/Lang/Nu/Logical-operations
@@ -0,0 +1 @@
+../../Task/Logical-operations/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Loops-Break b/Lang/Nu/Loops-Break
new file mode 120000
index 0000000000..77e2ff157e
--- /dev/null
+++ b/Lang/Nu/Loops-Break
@@ -0,0 +1 @@
+../../Task/Loops-Break/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Loops-Continue b/Lang/Nu/Loops-Continue
new file mode 120000
index 0000000000..1fffd67d1b
--- /dev/null
+++ b/Lang/Nu/Loops-Continue
@@ -0,0 +1 @@
+../../Task/Loops-Continue/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Loops-Do-while b/Lang/Nu/Loops-Do-while
new file mode 120000
index 0000000000..c59b6e9c00
--- /dev/null
+++ b/Lang/Nu/Loops-Do-while
@@ -0,0 +1 @@
+../../Task/Loops-Do-while/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Loops-Downward-for b/Lang/Nu/Loops-Downward-for
new file mode 120000
index 0000000000..6e96da6bb0
--- /dev/null
+++ b/Lang/Nu/Loops-Downward-for
@@ -0,0 +1 @@
+../../Task/Loops-Downward-for/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Loops-For b/Lang/Nu/Loops-For
new file mode 120000
index 0000000000..2429f461c7
--- /dev/null
+++ b/Lang/Nu/Loops-For
@@ -0,0 +1 @@
+../../Task/Loops-For/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Loops-For-with-a-specified-step b/Lang/Nu/Loops-For-with-a-specified-step
new file mode 120000
index 0000000000..7ec15c7851
--- /dev/null
+++ b/Lang/Nu/Loops-For-with-a-specified-step
@@ -0,0 +1 @@
+../../Task/Loops-For-with-a-specified-step/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Loops-Foreach b/Lang/Nu/Loops-Foreach
new file mode 120000
index 0000000000..05555142ae
--- /dev/null
+++ b/Lang/Nu/Loops-Foreach
@@ -0,0 +1 @@
+../../Task/Loops-Foreach/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Loops-Infinite b/Lang/Nu/Loops-Infinite
new file mode 120000
index 0000000000..4557475615
--- /dev/null
+++ b/Lang/Nu/Loops-Infinite
@@ -0,0 +1 @@
+../../Task/Loops-Infinite/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Loops-N-plus-one-half b/Lang/Nu/Loops-N-plus-one-half
new file mode 120000
index 0000000000..cce81b7894
--- /dev/null
+++ b/Lang/Nu/Loops-N-plus-one-half
@@ -0,0 +1 @@
+../../Task/Loops-N-plus-one-half/Nu
\ No newline at end of file
diff --git a/Lang/Nu/MAC-vendor-lookup b/Lang/Nu/MAC-vendor-lookup
new file mode 120000
index 0000000000..93a1e321d8
--- /dev/null
+++ b/Lang/Nu/MAC-vendor-lookup
@@ -0,0 +1 @@
+../../Task/MAC-vendor-lookup/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Nth-root b/Lang/Nu/Nth-root
new file mode 120000
index 0000000000..818bbdff36
--- /dev/null
+++ b/Lang/Nu/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Nu
\ No newline at end of file
diff --git a/Lang/Nu/User-input-Text b/Lang/Nu/User-input-Text
new file mode 120000
index 0000000000..732f6a88d1
--- /dev/null
+++ b/Lang/Nu/User-input-Text
@@ -0,0 +1 @@
+../../Task/User-input-Text/Nu
\ No newline at end of file
diff --git a/Lang/Ol/Convert-decimal-number-to-rational b/Lang/Ol/Convert-decimal-number-to-rational
new file mode 120000
index 0000000000..f7e6486ce6
--- /dev/null
+++ b/Lang/Ol/Convert-decimal-number-to-rational
@@ -0,0 +1 @@
+../../Task/Convert-decimal-number-to-rational/Ol
\ No newline at end of file
diff --git a/Lang/Ol/Multifactorial b/Lang/Ol/Multifactorial
new file mode 120000
index 0000000000..c0b142a608
--- /dev/null
+++ b/Lang/Ol/Multifactorial
@@ -0,0 +1 @@
+../../Task/Multifactorial/Ol
\ No newline at end of file
diff --git a/Lang/Ol/Population-count b/Lang/Ol/Population-count
new file mode 120000
index 0000000000..b38f7ab1ff
--- /dev/null
+++ b/Lang/Ol/Population-count
@@ -0,0 +1 @@
+../../Task/Population-count/Ol
\ No newline at end of file
diff --git a/Lang/PL-0/00-LANG.txt b/Lang/PL-0/00-LANG.txt
index 22766fddb9..b9e87d1426 100644
--- a/Lang/PL-0/00-LANG.txt
+++ b/Lang/PL-0/00-LANG.txt
@@ -1,13 +1,13 @@
{{language|PL/0
|tags=pl0}}
-'''PL/0''' is an educational programming language. It was originally introduced in the book, ''Algorithms + Data Structures = Programs'', by [[Niklaus Wirth]] in 1976. Wirth uses PL/0 as an example of how to construct a compiler. This language has little constructs. Writing real applications in PL/0 is not practical, but the compiler can remain compact and simple.
+'''PL/0''' is an educational programming language. It was originally introduced in the book, ''Algorithms + Data Structures = Programs'', by [[Niklaus Wirth]] in 1976. Wirth uses PL/0 as an example of how to construct a compiler. This language has simple constructs. Writing real applications in PL/0 is not practical, but the compiler can remain compact and simple.
== Features ==
One must explicitly declare all used constants and variables.
-The only data type are integer numbers. The only operators are arithmetical and comparison ones. There is a function odd which examines if the integer argument is odd.
+The only data type is integer. The only operators are arithmetical and comparisons. There is a function odd that examines if its integer argument is odd.
-In the original implementation presented by Wirth, there are no input and output routines. The interpreter prints the new value of each variable when it becomes changed. So, the program:
+In the original implementation presented by Wirth, there are no input and output routines. The interpreter prints the new value of each variable when it changes. So, the program:
0
10
@@ -36,7 +36,7 @@ gives the output:
However, most implementations have single input and single output routines.
-The flow control structures are ''if-then'' and ''while-do'' constructs, and procedures defined by the user. Procedures cannot accept any parameters.
+The flow control structures are ''if-then'' and ''while-do'' constructs, and procedures are defined by the user. Procedures cannot accept any parameters.
== Syntax ==
The syntax rules of PL/0 can be specified in [[extended Backus–Naur form|EBNF]] as follows:
@@ -66,9 +66,9 @@ factor = ident | number | "(" expression ")";
Wirth in his book presents the implementation without ? ("receive an integer value and assign it to the variable") and ! ("display a value of the expression") routines. Some implementations use other routines for receiving and displaying data, usually read and write.
-Due to typograhic conventions, Wirth uses non-ASCII symbols ≠, ≤, and ≥. Some implementations use # for "not equal", [ for "less or equal", and ] for "greater or equal".
+Due to typographic conventions, Wirth uses non-ASCII symbols ≠, ≤, and ≥. Some implementations use # for "not equal", [ for "less or equal", and ] for "greater or equal".
-Some implementations accept only upper-case letters or only lower-case letters in keywords and identifiers.
+Some implementations accept only uppercase letters or only lowercase letters in keywords and identifiers.
== External links==
* Wikipedia has [[wp:PL/0|an article about PL/0]].
diff --git a/Lang/PL-I-80/Sum-multiples-of-3-and-5 b/Lang/PL-I-80/Sum-multiples-of-3-and-5
new file mode 120000
index 0000000000..dfe78f4be2
--- /dev/null
+++ b/Lang/PL-I-80/Sum-multiples-of-3-and-5
@@ -0,0 +1 @@
+../../Task/Sum-multiples-of-3-and-5/PL-I-80
\ No newline at end of file
diff --git a/Lang/PL-M/00-LANG.txt b/Lang/PL-M/00-LANG.txt
index 266637edeb..deaa4f220a 100644
--- a/Lang/PL-M/00-LANG.txt
+++ b/Lang/PL-M/00-LANG.txt
@@ -11,7 +11,7 @@ The following statements from PL/1 (with some changes) were available:
* assignment
* CALL
* DECLARE
-* DO-END
+* DO-END (4 forms: statement grouping, counted loops, while loops and case statements)
* IF-THEN-ELSE
* GOTO
* PROCEDURE-END
diff --git a/Lang/PL-M/Jacobi-symbol b/Lang/PL-M/Jacobi-symbol
new file mode 120000
index 0000000000..9053e83f5f
--- /dev/null
+++ b/Lang/PL-M/Jacobi-symbol
@@ -0,0 +1 @@
+../../Task/Jacobi-symbol/PL-M
\ No newline at end of file
diff --git a/Lang/PL-M/Sorting-algorithms-Gnome-sort b/Lang/PL-M/Sorting-algorithms-Gnome-sort
new file mode 120000
index 0000000000..5fb68055e1
--- /dev/null
+++ b/Lang/PL-M/Sorting-algorithms-Gnome-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Gnome-sort/PL-M
\ No newline at end of file
diff --git a/Lang/Pascal/McNuggets-problem b/Lang/Pascal/McNuggets-problem
new file mode 120000
index 0000000000..5ae885f695
--- /dev/null
+++ b/Lang/Pascal/McNuggets-problem
@@ -0,0 +1 @@
+../../Task/McNuggets-problem/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Square-form-factorization b/Lang/Pascal/Square-form-factorization
new file mode 120000
index 0000000000..83d284e7d7
--- /dev/null
+++ b/Lang/Pascal/Square-form-factorization
@@ -0,0 +1 @@
+../../Task/Square-form-factorization/Pascal
\ No newline at end of file
diff --git a/Lang/Phix/00-LANG.txt b/Lang/Phix/00-LANG.txt
index f89816a59f..18c8f9c2a5 100644
--- a/Lang/Phix/00-LANG.txt
+++ b/Lang/Phix/00-LANG.txt
@@ -39,7 +39,7 @@ Technically Phix does not have a garbage collector, instead it is reference coun
The fundamental goal of Phix is to make debugging easier, a whole subject area that does not seem to get the attention it deserves, despite several studies finding that most programmers actually spend between 70 and 90% of their time debugging. Most of us tend to think that getting just-written code to work is somehow not debugging, but that clipboard-toting researcher stood behind you would disagree.
-Since 1.0.0 you can also run (many/most) Phix programs in a browser, by using pwa/p2js (as included in the distro) to transpile the program to JavaScript (plus a bit of standard HTML and CSS). If you see "'''with javascript_semantics'''" it means the program has been tested and works fine, both on the (Windows/Linux) desktop/Phix and in a browser via pwa/p2js, and in fact unix_dict() has been added to avoid reading unixdict.txt. Conversely, "without js" being present on a rosettacode entry means that (for instance) it uses the local file system, and is therefore desktop/Phix only. It is worth pointing out that "with js" and deep_copy() have proved ''staggeringly'' effective and nowhere near as painful as first feared. In just a few months (1.0.0 was released in July 2021) I have tested, fixed where necessary, and marked as javascript compatible ''[https://rosettacode.org/w/index.php?search=phixonline&title=Special%3ASearch&wprov=acrw1 over 1,200 rosettacode entries]'' for Phix, and only ''[https://rosettacode.org/w/index.php?search=notonline&title=Special%3ASearch&wprov=acrw1 one seventh]'' of that have as yet been marked incompatible, despite things like file i/o being prohibited within a web browser. The [https://rosettacode.org/wiki/Category:Phix/online Phix/online] subcategory currently lists 99 entries deemed interesting enough to bother (manually) uploading to the Phix website (ping me should any stop working), and the next goal is to get pwa/p2js itself runnning online, but obviously without using file i/o directly. Another long term goal is to get Phix running on ARM, and since that would be utterly pointless without a viable GUI, I am currently elbow deep in writing a new cross-platform GUI, as a stepping stone (for both ARM and p2js/online).
+Since 1.0.0 you can also run (many/most) Phix programs in a browser, by using pwa/p2js (as included in the distro) to transpile the program to JavaScript (plus a bit of standard HTML and CSS). If you see "'''with javascript_semantics'''" it means the program has been tested and works fine, both on the (Windows/Linux) desktop/Phix and in a browser via pwa/p2js, and in fact unix_dict() has been added to avoid reading unixdict.txt. Conversely, "without js" being present on a rosettacode entry means that (for instance) it uses the local file system, and is therefore desktop/Phix only. It is worth pointing out that "with js" and deep_copy() have proved ''staggeringly'' effective and nowhere near as painful as first feared. In just a few months (1.0.0 was released in July 2021) I have tested, fixed where necessary, and marked as javascript compatible (Sorry, both links borken since move to WikiTide) ''[https://rosettacode.org/w/index.php?search=phixonline&title=Special%3ASearch&wprov=acrw1 over 1,200 rosettacode entries]'' for Phix, and only ''[https://rosettacode.org/w/index.php?search=notonline&title=Special%3ASearch&wprov=acrw1 one seventh]'' of that have as yet been marked incompatible, despite things like file i/o being prohibited within a web browser. The [https://rosettacode.org/wiki/Category:Phix/online Phix/online] subcategory currently lists 99 entries deemed interesting enough to bother (manually) uploading to the Phix website (ping me should any stop working), and the next goal is to get pwa/p2js itself runnning online, but obviously without using file i/o directly. Another long term goal is to get Phix running on ARM, and since that would be utterly pointless without a viable GUI, I am currently elbow deep in writing a new cross-platform GUI, as a stepping stone (for both ARM and p2js/online).
==See also==
* [http://phix.x10.mx Phix site]
diff --git a/Lang/PostScript/00-LANG.txt b/Lang/PostScript/00-LANG.txt
index 32cddabaf0..8e66f5a6d8 100644
--- a/Lang/PostScript/00-LANG.txt
+++ b/Lang/PostScript/00-LANG.txt
@@ -1,16 +1,14 @@
{{language|PostScript}}
-'''PostScript''' is a concatenative dynamically typed language with abundant meta language facilities. It allows definition of new control structures at run time, allows reflection and reification of stack, scopes, and even continuations. With Display PostScript, the language even has facilities for multi-threaded execution. Since the language is based on stack, it is suitable for combinator based programming, and all the higher order combinators (initiated by joy language) is applicable in postscript. The language also allows a form of prototype based object orientated programming using dictionaries. See {{libheader|initlib}} for implementation of higher order combinators.
+'''PostScript''' is a concatenative, dynamically-typed language with abundant metalanguage facilities. It allows definition of new control structures at runtime, and supports reflection and reification of stack, scopes, and even continuations. With Display PostScript, the language even has facilities for multi-threaded execution. Since the language interpreter is essentially a stack machine, it is suitable for combinator-based programming, and all the higher-order combinators (initiated by joy language) are applicable in PostScript. The language also allows a form of prototype-based, object-orientated programming using dictionaries. See [[Category:Initlib|initlib]] for implementation of higher-order combinators.
-'''PostScript''' originated as a printer definition language invented by the founders of '''Adobe'''. The language was necessitated by the increasing demands of printing and rendering jobs on the computers of the 1970s. These tasks were therefore pushed to the printers themselves, with the result that printers now had chips and built in interpreters for PostScript. With the growth of printing complexity, some printers ended up having even more powerful processors than the master systems themselves.
+PostScript originated as a printer definition language invented by the founders of '''Adobe'''. The language was necessitated by the increasing demands of printing and rendering jobs on the computers of the 1970s. These tasks were therefore pushed to the printers themselves, with the result that printers now had chips and built-in interpreters for PostScript. With the growth of printing complexity, some printers ended up having even more powerful processors than the master systems themselves.
-Although now almost displaced by the '''Portable Document Format''' (PDF), also developed by Adobe, PostScript's unique selling proposition lies in it's being a '''Turing complete''' language with support for the basic data types and fundamental structures and concepts of Computer Science. Many interpreters and viewers of PostScript are available, some even for free. Although primarily a language suited for 2D graphics, PostScript is complete as a language and able to handle normal computation tasks.
+Although now almost displaced by the '''Portable Document Format''' (PDF), also developed by Adobe, PostScript's unique selling proposition lies in it's being a '''Turing complete''' language with support for the basic data types and fundamental structures and concepts of computer science. Many interpreters and viewers of PostScript are available, some even for free. Although primarily a language suited for 2D graphics, PostScript is complete as a language and able to handle normal computation tasks.
-
-
-==See Also==
-*[http://logand.com/sw/wps/index.html WPS - PostScript interpreter written in JavaScript.]
-*[http://code.google.com/p/postcanvas/ postcanvas - Open-source PostScript interpreter written in JavaScript.]
-*[http://pages.cs.wisc.edu/~ghost/ Ghostscript opensource postscript interpreter with a lot of extensions. ]
-*[http://code.google.com/p/xpost/downloads/detail?name=monterey86.pdf Owen Densmore, Object-Oriented Programming in NeWS, describes the use of dictionaries for implementing single- and multiple-inheritance.]
+== See Also ==
+* [http://logand.com/sw/wps/index.html WPS] — PostScript interpreter written in JavaScript.
+* [http://www.feiri.de/pcan/ postcanvas] — Open-source PostScript interpreter written in JavaScript.
+* [https://www.ghostscript.com/ GhostScript] — Open-source PostScript interpreter with a lot of extensions.
+* [https://web.archive.org/web/20160711025645/http://code.google.com/p/xpost/downloads/detail?name=monterey86.pdf ''Object-Oriented Programming in NeWS''] — Paper describing single- and multiple-inheritance implementation using dictionary objects.
{{Language programming paradigm|Concatenative}}
\ No newline at end of file
diff --git a/Lang/Prolog/Ascending-primes b/Lang/Prolog/Ascending-primes
new file mode 120000
index 0000000000..80d5881c3e
--- /dev/null
+++ b/Lang/Prolog/Ascending-primes
@@ -0,0 +1 @@
+../../Task/Ascending-primes/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Descending-primes b/Lang/Prolog/Descending-primes
new file mode 120000
index 0000000000..2841773f73
--- /dev/null
+++ b/Lang/Prolog/Descending-primes
@@ -0,0 +1 @@
+../../Task/Descending-primes/Prolog
\ No newline at end of file
diff --git a/Lang/PureBasic/21-game b/Lang/PureBasic/21-game
new file mode 120000
index 0000000000..25d4ecce76
--- /dev/null
+++ b/Lang/PureBasic/21-game
@@ -0,0 +1 @@
+../../Task/21-game/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Casting-out-nines b/Lang/PureBasic/Casting-out-nines
new file mode 120000
index 0000000000..80d3cd3de2
--- /dev/null
+++ b/Lang/PureBasic/Casting-out-nines
@@ -0,0 +1 @@
+../../Task/Casting-out-nines/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Determine-if-a-string-has-all-unique-characters b/Lang/PureBasic/Determine-if-a-string-has-all-unique-characters
new file mode 120000
index 0000000000..317b8c1e43
--- /dev/null
+++ b/Lang/PureBasic/Determine-if-a-string-has-all-unique-characters
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-has-all-unique-characters/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Equal-prime-and-composite-sums b/Lang/PureBasic/Equal-prime-and-composite-sums
new file mode 120000
index 0000000000..3ab6fbad07
--- /dev/null
+++ b/Lang/PureBasic/Equal-prime-and-composite-sums
@@ -0,0 +1 @@
+../../Task/Equal-prime-and-composite-sums/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Factorial-primes b/Lang/PureBasic/Factorial-primes
new file mode 120000
index 0000000000..070b58c3e7
--- /dev/null
+++ b/Lang/PureBasic/Factorial-primes
@@ -0,0 +1 @@
+../../Task/Factorial-primes/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Padovan-n-step-number-sequences b/Lang/PureBasic/Padovan-n-step-number-sequences
new file mode 120000
index 0000000000..b9dc553ac6
--- /dev/null
+++ b/Lang/PureBasic/Padovan-n-step-number-sequences
@@ -0,0 +1 @@
+../../Task/Padovan-n-step-number-sequences/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/PureBasic/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
new file mode 120000
index 0000000000..a2d1f36259
--- /dev/null
+++ b/Lang/PureBasic/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
@@ -0,0 +1 @@
+../../Task/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Sequence:-smallest-number-with-exactly-n-divisors b/Lang/PureBasic/Sequence:-smallest-number-with-exactly-n-divisors
new file mode 120000
index 0000000000..f415c741d2
--- /dev/null
+++ b/Lang/PureBasic/Sequence:-smallest-number-with-exactly-n-divisors
@@ -0,0 +1 @@
+../../Task/Sequence:-smallest-number-with-exactly-n-divisors/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Van-Eck-sequence b/Lang/PureBasic/Van-Eck-sequence
new file mode 120000
index 0000000000..5f70e418c5
--- /dev/null
+++ b/Lang/PureBasic/Van-Eck-sequence
@@ -0,0 +1 @@
+../../Task/Van-Eck-sequence/PureBasic
\ No newline at end of file
diff --git a/Lang/Python/Home-primes b/Lang/Python/Home-primes
new file mode 120000
index 0000000000..f7be54d4fc
--- /dev/null
+++ b/Lang/Python/Home-primes
@@ -0,0 +1 @@
+../../Task/Home-primes/Python
\ No newline at end of file
diff --git a/Lang/Python/Particle-fountain b/Lang/Python/Particle-fountain
new file mode 120000
index 0000000000..0ce2df8e30
--- /dev/null
+++ b/Lang/Python/Particle-fountain
@@ -0,0 +1 @@
+../../Task/Particle-fountain/Python
\ No newline at end of file
diff --git a/Lang/Python/Radical-of-an-integer b/Lang/Python/Radical-of-an-integer
new file mode 120000
index 0000000000..40dac65e59
--- /dev/null
+++ b/Lang/Python/Radical-of-an-integer
@@ -0,0 +1 @@
+../../Task/Radical-of-an-integer/Python
\ No newline at end of file
diff --git a/Lang/QBasic/21-game b/Lang/QBasic/21-game
new file mode 120000
index 0000000000..1f117a71e8
--- /dev/null
+++ b/Lang/QBasic/21-game
@@ -0,0 +1 @@
+../../Task/21-game/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/Cantor-set b/Lang/QBasic/Cantor-set
new file mode 120000
index 0000000000..7b09b7a9af
--- /dev/null
+++ b/Lang/QBasic/Cantor-set
@@ -0,0 +1 @@
+../../Task/Cantor-set/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/Casting-out-nines b/Lang/QBasic/Casting-out-nines
new file mode 120000
index 0000000000..caa06c9495
--- /dev/null
+++ b/Lang/QBasic/Casting-out-nines
@@ -0,0 +1 @@
+../../Task/Casting-out-nines/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/Longest-string-challenge b/Lang/QBasic/Longest-string-challenge
new file mode 120000
index 0000000000..b81887f21d
--- /dev/null
+++ b/Lang/QBasic/Longest-string-challenge
@@ -0,0 +1 @@
+../../Task/Longest-string-challenge/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/One-dimensional-cellular-automata b/Lang/QBasic/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..e8dd1ff8b5
--- /dev/null
+++ b/Lang/QBasic/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/Padovan-n-step-number-sequences b/Lang/QBasic/Padovan-n-step-number-sequences
new file mode 120000
index 0000000000..cbcc6fa739
--- /dev/null
+++ b/Lang/QBasic/Padovan-n-step-number-sequences
@@ -0,0 +1 @@
+../../Task/Padovan-n-step-number-sequences/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/QBasic/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
new file mode 120000
index 0000000000..a14432943b
--- /dev/null
+++ b/Lang/QBasic/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
@@ -0,0 +1 @@
+../../Task/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/Sequence:-smallest-number-with-exactly-n-divisors b/Lang/QBasic/Sequence:-smallest-number-with-exactly-n-divisors
new file mode 120000
index 0000000000..93a8289260
--- /dev/null
+++ b/Lang/QBasic/Sequence:-smallest-number-with-exactly-n-divisors
@@ -0,0 +1 @@
+../../Task/Sequence:-smallest-number-with-exactly-n-divisors/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/Sorting-algorithms-Gnome-sort b/Lang/QBasic/Sorting-algorithms-Gnome-sort
new file mode 120000
index 0000000000..739e5b845e
--- /dev/null
+++ b/Lang/QBasic/Sorting-algorithms-Gnome-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Gnome-sort/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/Van-Eck-sequence b/Lang/QBasic/Van-Eck-sequence
new file mode 120000
index 0000000000..37756db6e5
--- /dev/null
+++ b/Lang/QBasic/Van-Eck-sequence
@@ -0,0 +1 @@
+../../Task/Van-Eck-sequence/QBasic
\ No newline at end of file
diff --git a/Lang/Quackery/Bifid-cipher b/Lang/Quackery/Bifid-cipher
new file mode 120000
index 0000000000..09f8c92cff
--- /dev/null
+++ b/Lang/Quackery/Bifid-cipher
@@ -0,0 +1 @@
+../../Task/Bifid-cipher/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Bin-given-limits b/Lang/Quackery/Bin-given-limits
new file mode 120000
index 0000000000..4d4b6fb373
--- /dev/null
+++ b/Lang/Quackery/Bin-given-limits
@@ -0,0 +1 @@
+../../Task/Bin-given-limits/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Bulls-and-cows b/Lang/Quackery/Bulls-and-cows
new file mode 120000
index 0000000000..bced5948f3
--- /dev/null
+++ b/Lang/Quackery/Bulls-and-cows
@@ -0,0 +1 @@
+../../Task/Bulls-and-cows/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Conways-Game-of-Life b/Lang/Quackery/Conways-Game-of-Life
new file mode 120000
index 0000000000..f6bf0f9619
--- /dev/null
+++ b/Lang/Quackery/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Deal-cards-for-FreeCell b/Lang/Quackery/Deal-cards-for-FreeCell
new file mode 120000
index 0000000000..57f106f92f
--- /dev/null
+++ b/Lang/Quackery/Deal-cards-for-FreeCell
@@ -0,0 +1 @@
+../../Task/Deal-cards-for-FreeCell/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Determine-if-a-string-has-all-unique-characters b/Lang/Quackery/Determine-if-a-string-has-all-unique-characters
new file mode 120000
index 0000000000..213c79a0dc
--- /dev/null
+++ b/Lang/Quackery/Determine-if-a-string-has-all-unique-characters
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-has-all-unique-characters/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Draw-a-clock b/Lang/Quackery/Draw-a-clock
new file mode 120000
index 0000000000..961f3b71f5
--- /dev/null
+++ b/Lang/Quackery/Draw-a-clock
@@ -0,0 +1 @@
+../../Task/Draw-a-clock/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/First-perfect-square-in-base-n-with-n-unique-digits b/Lang/Quackery/First-perfect-square-in-base-n-with-n-unique-digits
new file mode 120000
index 0000000000..fe9c27dfe0
--- /dev/null
+++ b/Lang/Quackery/First-perfect-square-in-base-n-with-n-unique-digits
@@ -0,0 +1 @@
+../../Task/First-perfect-square-in-base-n-with-n-unique-digits/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Four-bit-adder b/Lang/Quackery/Four-bit-adder
new file mode 120000
index 0000000000..3afb0e55b7
--- /dev/null
+++ b/Lang/Quackery/Four-bit-adder
@@ -0,0 +1 @@
+../../Task/Four-bit-adder/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Hello-world-Graphical b/Lang/Quackery/Hello-world-Graphical
new file mode 120000
index 0000000000..bbd497e545
--- /dev/null
+++ b/Lang/Quackery/Hello-world-Graphical
@@ -0,0 +1 @@
+../../Task/Hello-world-Graphical/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Hofstadter-Figure-Figure-sequences b/Lang/Quackery/Hofstadter-Figure-Figure-sequences
new file mode 120000
index 0000000000..5f784f3739
--- /dev/null
+++ b/Lang/Quackery/Hofstadter-Figure-Figure-sequences
@@ -0,0 +1 @@
+../../Task/Hofstadter-Figure-Figure-sequences/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Hunt-the-Wumpus b/Lang/Quackery/Hunt-the-Wumpus
new file mode 120000
index 0000000000..1347e3f9e8
--- /dev/null
+++ b/Lang/Quackery/Hunt-the-Wumpus
@@ -0,0 +1 @@
+../../Task/Hunt-the-Wumpus/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Longest-common-substring b/Lang/Quackery/Longest-common-substring
new file mode 120000
index 0000000000..1f341435ee
--- /dev/null
+++ b/Lang/Quackery/Longest-common-substring
@@ -0,0 +1 @@
+../../Task/Longest-common-substring/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Longest-string-challenge b/Lang/Quackery/Longest-string-challenge
new file mode 120000
index 0000000000..9ed80c8f1f
--- /dev/null
+++ b/Lang/Quackery/Longest-string-challenge
@@ -0,0 +1 @@
+../../Task/Longest-string-challenge/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Morse-code b/Lang/Quackery/Morse-code
new file mode 120000
index 0000000000..bb500a6fda
--- /dev/null
+++ b/Lang/Quackery/Morse-code
@@ -0,0 +1 @@
+../../Task/Morse-code/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Numbers-which-are-not-the-sum-of-distinct-squares b/Lang/Quackery/Numbers-which-are-not-the-sum-of-distinct-squares
new file mode 120000
index 0000000000..444eb69298
--- /dev/null
+++ b/Lang/Quackery/Numbers-which-are-not-the-sum-of-distinct-squares
@@ -0,0 +1 @@
+../../Task/Numbers-which-are-not-the-sum-of-distinct-squares/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Penneys-game b/Lang/Quackery/Penneys-game
new file mode 120000
index 0000000000..6ee95856ce
--- /dev/null
+++ b/Lang/Quackery/Penneys-game
@@ -0,0 +1 @@
+../../Task/Penneys-game/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Periodic-table b/Lang/Quackery/Periodic-table
new file mode 120000
index 0000000000..8b9c4bf377
--- /dev/null
+++ b/Lang/Quackery/Periodic-table
@@ -0,0 +1 @@
+../../Task/Periodic-table/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Set-consolidation b/Lang/Quackery/Set-consolidation
new file mode 120000
index 0000000000..d012481c58
--- /dev/null
+++ b/Lang/Quackery/Set-consolidation
@@ -0,0 +1 @@
+../../Task/Set-consolidation/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Set-puzzle b/Lang/Quackery/Set-puzzle
new file mode 120000
index 0000000000..6b2dbc8928
--- /dev/null
+++ b/Lang/Quackery/Set-puzzle
@@ -0,0 +1 @@
+../../Task/Set-puzzle/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Set-right-adjacent-bits b/Lang/Quackery/Set-right-adjacent-bits
new file mode 120000
index 0000000000..b13aa5b66e
--- /dev/null
+++ b/Lang/Quackery/Set-right-adjacent-bits
@@ -0,0 +1 @@
+../../Task/Set-right-adjacent-bits/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Speech-synthesis b/Lang/Quackery/Speech-synthesis
new file mode 120000
index 0000000000..e59431a52c
--- /dev/null
+++ b/Lang/Quackery/Speech-synthesis
@@ -0,0 +1 @@
+../../Task/Speech-synthesis/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Spelling-of-ordinal-numbers b/Lang/Quackery/Spelling-of-ordinal-numbers
new file mode 120000
index 0000000000..c573dbf1f0
--- /dev/null
+++ b/Lang/Quackery/Spelling-of-ordinal-numbers
@@ -0,0 +1 @@
+../../Task/Spelling-of-ordinal-numbers/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Subtractive-generator b/Lang/Quackery/Subtractive-generator
new file mode 120000
index 0000000000..1dfd5639a9
--- /dev/null
+++ b/Lang/Quackery/Subtractive-generator
@@ -0,0 +1 @@
+../../Task/Subtractive-generator/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Super-d-numbers b/Lang/Quackery/Super-d-numbers
new file mode 120000
index 0000000000..808553ed7c
--- /dev/null
+++ b/Lang/Quackery/Super-d-numbers
@@ -0,0 +1 @@
+../../Task/Super-d-numbers/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Ulam-spiral-for-primes- b/Lang/Quackery/Ulam-spiral-for-primes-
new file mode 120000
index 0000000000..d0b12aefe3
--- /dev/null
+++ b/Lang/Quackery/Ulam-spiral-for-primes-
@@ -0,0 +1 @@
+../../Task/Ulam-spiral-for-primes-/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Wagstaff-primes b/Lang/Quackery/Wagstaff-primes
new file mode 120000
index 0000000000..1ff48f161f
--- /dev/null
+++ b/Lang/Quackery/Wagstaff-primes
@@ -0,0 +1 @@
+../../Task/Wagstaff-primes/Quackery
\ No newline at end of file
diff --git a/Lang/QuickBASIC/Sorting-algorithms-Gnome-sort b/Lang/QuickBASIC/Sorting-algorithms-Gnome-sort
new file mode 120000
index 0000000000..acc8d6f390
--- /dev/null
+++ b/Lang/QuickBASIC/Sorting-algorithms-Gnome-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Gnome-sort/QuickBASIC
\ No newline at end of file
diff --git a/Lang/Quite-BASIC/Arithmetic-Integer b/Lang/Quite-BASIC/Arithmetic-Integer
new file mode 120000
index 0000000000..61ab92c6dd
--- /dev/null
+++ b/Lang/Quite-BASIC/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/Quite-BASIC
\ No newline at end of file
diff --git a/Lang/Quite-BASIC/Arithmetic-geometric-mean b/Lang/Quite-BASIC/Arithmetic-geometric-mean
new file mode 120000
index 0000000000..abd8fd70e0
--- /dev/null
+++ b/Lang/Quite-BASIC/Arithmetic-geometric-mean
@@ -0,0 +1 @@
+../../Task/Arithmetic-geometric-mean/Quite-BASIC
\ No newline at end of file
diff --git a/Lang/Quite-BASIC/Array-concatenation b/Lang/Quite-BASIC/Array-concatenation
new file mode 120000
index 0000000000..474895b02d
--- /dev/null
+++ b/Lang/Quite-BASIC/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/Quite-BASIC
\ No newline at end of file
diff --git a/Lang/Quite-BASIC/Box-the-compass b/Lang/Quite-BASIC/Box-the-compass
new file mode 120000
index 0000000000..1e9e3a7f0c
--- /dev/null
+++ b/Lang/Quite-BASIC/Box-the-compass
@@ -0,0 +1 @@
+../../Task/Box-the-compass/Quite-BASIC
\ No newline at end of file
diff --git a/Lang/Quite-BASIC/Find-limit-of-recursion b/Lang/Quite-BASIC/Find-limit-of-recursion
new file mode 120000
index 0000000000..1d1a15e407
--- /dev/null
+++ b/Lang/Quite-BASIC/Find-limit-of-recursion
@@ -0,0 +1 @@
+../../Task/Find-limit-of-recursion/Quite-BASIC
\ No newline at end of file
diff --git a/Lang/Quite-BASIC/Logical-operations b/Lang/Quite-BASIC/Logical-operations
new file mode 120000
index 0000000000..1906c27758
--- /dev/null
+++ b/Lang/Quite-BASIC/Logical-operations
@@ -0,0 +1 @@
+../../Task/Logical-operations/Quite-BASIC
\ No newline at end of file
diff --git a/Lang/Quite-BASIC/Periodic-table b/Lang/Quite-BASIC/Periodic-table
new file mode 120000
index 0000000000..e16550052a
--- /dev/null
+++ b/Lang/Quite-BASIC/Periodic-table
@@ -0,0 +1 @@
+../../Task/Periodic-table/Quite-BASIC
\ No newline at end of file
diff --git a/Lang/Quite-BASIC/Repeat-a-string b/Lang/Quite-BASIC/Repeat-a-string
new file mode 120000
index 0000000000..8c2025611d
--- /dev/null
+++ b/Lang/Quite-BASIC/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Quite-BASIC
\ No newline at end of file
diff --git a/Lang/Quite-BASIC/Sorting-algorithms-Gnome-sort b/Lang/Quite-BASIC/Sorting-algorithms-Gnome-sort
new file mode 120000
index 0000000000..6ce3e0bffb
--- /dev/null
+++ b/Lang/Quite-BASIC/Sorting-algorithms-Gnome-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Gnome-sort/Quite-BASIC
\ No newline at end of file
diff --git a/Lang/Quite-BASIC/String-interpolation-included- b/Lang/Quite-BASIC/String-interpolation-included-
new file mode 120000
index 0000000000..ac2807c77b
--- /dev/null
+++ b/Lang/Quite-BASIC/String-interpolation-included-
@@ -0,0 +1 @@
+../../Task/String-interpolation-included-/Quite-BASIC
\ No newline at end of file
diff --git a/Lang/R/Abbreviations-automatic b/Lang/R/Abbreviations-automatic
new file mode 120000
index 0000000000..c9558583a6
--- /dev/null
+++ b/Lang/R/Abbreviations-automatic
@@ -0,0 +1 @@
+../../Task/Abbreviations-automatic/R
\ No newline at end of file
diff --git a/Lang/R/Abbreviations-easy b/Lang/R/Abbreviations-easy
new file mode 120000
index 0000000000..6053b1c5a7
--- /dev/null
+++ b/Lang/R/Abbreviations-easy
@@ -0,0 +1 @@
+../../Task/Abbreviations-easy/R
\ No newline at end of file
diff --git a/Lang/R/Abelian-sandpile-model b/Lang/R/Abelian-sandpile-model
new file mode 120000
index 0000000000..dfec47d8c2
--- /dev/null
+++ b/Lang/R/Abelian-sandpile-model
@@ -0,0 +1 @@
+../../Task/Abelian-sandpile-model/R
\ No newline at end of file
diff --git a/Lang/R/Additive-primes b/Lang/R/Additive-primes
new file mode 120000
index 0000000000..4c8f792a73
--- /dev/null
+++ b/Lang/R/Additive-primes
@@ -0,0 +1 @@
+../../Task/Additive-primes/R
\ No newline at end of file
diff --git a/Lang/R/Execute-Brain- b/Lang/R/Execute-Brain-
new file mode 120000
index 0000000000..a21c162e0a
--- /dev/null
+++ b/Lang/R/Execute-Brain-
@@ -0,0 +1 @@
+../../Task/Execute-Brain-/R
\ No newline at end of file
diff --git a/Lang/RPL/00-LANG.txt b/Lang/RPL/00-LANG.txt
index baf7c8a3a4..ec09c25906 100644
--- a/Lang/RPL/00-LANG.txt
+++ b/Lang/RPL/00-LANG.txt
@@ -10,9 +10,9 @@
|site=https://en.wikipedia.org/wiki/RPL_(programming_language)
}}
-'''RPL''' (an acronym for '''Reverse Polish Lisp''') is the onboard calculator language for the HP-28 and [[wp:HP 48 series|HP 48]] lines of graphing calculators. It is a stack language (not a [[Lisp]]-like language, as its name implies), tightly integrated with the calculator system, with many instructions similar to Forth.
+'''RPL''' (an acronym for '''Reverse Polish Lisp''') is the onboard calculator language for the HP-28, [[wp:HP 48 series|HP 48]] and HP-49/50 lines of graphing calculators. It is a stack language (not a [[Lisp]]-like language, as its name implies), tightly integrated with the calculator system, with many instructions similar to Forth.
-It can natively handle unsigned integers (named ''binary integers''), floating-point numbers (named ''real numbers''), complex numbers, vectors and matrices (named ''arrays''), lists, character strings, and algebraic expressions.
+It can natively handle unsigned integers (named ''binary integers''), floating-point numbers (named ''real numbers''), complex numbers, vectors and matrices (named ''arrays''), lists, character strings, and algebraic expressions. The HP-49/50 models can also handle long integers (up to 500 digits) and benefit from several dedicated built-in functions to work with, including testing and generation of prime numbers.
There are actually two languages with the name RPL: '''User RPL''' and '''System RPL'''. System RPL is used in implementing the operating system, and User RPL is the language users use to write programs on the calculator. System RPL is highly hardware-dependent, whilst User RPL is upwardly compatible.
diff --git a/Lang/Racket/Rare-numbers b/Lang/Racket/Rare-numbers
new file mode 120000
index 0000000000..1d2887fcdc
--- /dev/null
+++ b/Lang/Racket/Rare-numbers
@@ -0,0 +1 @@
+../../Task/Rare-numbers/Racket
\ No newline at end of file
diff --git a/Lang/Raku/B-zier-curves-Intersections b/Lang/Raku/B-zier-curves-Intersections
new file mode 120000
index 0000000000..3ceca0a2d5
--- /dev/null
+++ b/Lang/Raku/B-zier-curves-Intersections
@@ -0,0 +1 @@
+../../Task/B-zier-curves-Intersections/Raku
\ No newline at end of file
diff --git a/Lang/Rhovas/Classes b/Lang/Rhovas/Classes
new file mode 120000
index 0000000000..999aff3694
--- /dev/null
+++ b/Lang/Rhovas/Classes
@@ -0,0 +1 @@
+../../Task/Classes/Rhovas
\ No newline at end of file
diff --git a/Lang/Rhovas/Hello-world-Text b/Lang/Rhovas/Hello-world-Text
new file mode 120000
index 0000000000..ecf43ced4a
--- /dev/null
+++ b/Lang/Rhovas/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Rhovas
\ No newline at end of file
diff --git a/Lang/Rhovas/Palindrome-detection b/Lang/Rhovas/Palindrome-detection
new file mode 120000
index 0000000000..3bf0451ba7
--- /dev/null
+++ b/Lang/Rhovas/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Rhovas
\ No newline at end of file
diff --git a/Lang/Ring/Hex-words b/Lang/Ring/Hex-words
new file mode 120000
index 0000000000..d85ee8e531
--- /dev/null
+++ b/Lang/Ring/Hex-words
@@ -0,0 +1 @@
+../../Task/Hex-words/Ring
\ No newline at end of file
diff --git a/Lang/Ruby/Ormiston-triples b/Lang/Ruby/Ormiston-triples
new file mode 120000
index 0000000000..db7035a22a
--- /dev/null
+++ b/Lang/Ruby/Ormiston-triples
@@ -0,0 +1 @@
+../../Task/Ormiston-triples/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Padovan-n-step-number-sequences b/Lang/Ruby/Padovan-n-step-number-sequences
new file mode 120000
index 0000000000..a80e7c6ea4
--- /dev/null
+++ b/Lang/Ruby/Padovan-n-step-number-sequences
@@ -0,0 +1 @@
+../../Task/Padovan-n-step-number-sequences/Ruby
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Casting-out-nines b/Lang/Run-BASIC/Casting-out-nines
new file mode 120000
index 0000000000..883fdaf9c4
--- /dev/null
+++ b/Lang/Run-BASIC/Casting-out-nines
@@ -0,0 +1 @@
+../../Task/Casting-out-nines/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Largest-proper-divisor-of-n b/Lang/Run-BASIC/Largest-proper-divisor-of-n
new file mode 120000
index 0000000000..aa04ba2bd4
--- /dev/null
+++ b/Lang/Run-BASIC/Largest-proper-divisor-of-n
@@ -0,0 +1 @@
+../../Task/Largest-proper-divisor-of-n/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Population-count b/Lang/Run-BASIC/Population-count
new file mode 120000
index 0000000000..ba78b398e1
--- /dev/null
+++ b/Lang/Run-BASIC/Population-count
@@ -0,0 +1 @@
+../../Task/Population-count/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/Run-BASIC/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
new file mode 120000
index 0000000000..3ec8051a16
--- /dev/null
+++ b/Lang/Run-BASIC/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
@@ -0,0 +1 @@
+../../Task/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Sorting-algorithms-Gnome-sort b/Lang/Run-BASIC/Sorting-algorithms-Gnome-sort
new file mode 120000
index 0000000000..acdf9f6a32
--- /dev/null
+++ b/Lang/Run-BASIC/Sorting-algorithms-Gnome-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Gnome-sort/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Rust/Combinations-and-permutations b/Lang/Rust/Combinations-and-permutations
new file mode 120000
index 0000000000..804dbde6ee
--- /dev/null
+++ b/Lang/Rust/Combinations-and-permutations
@@ -0,0 +1 @@
+../../Task/Combinations-and-permutations/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Find-if-a-point-is-within-a-triangle b/Lang/Rust/Find-if-a-point-is-within-a-triangle
new file mode 120000
index 0000000000..4666c24b6c
--- /dev/null
+++ b/Lang/Rust/Find-if-a-point-is-within-a-triangle
@@ -0,0 +1 @@
+../../Task/Find-if-a-point-is-within-a-triangle/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Largest-proper-divisor-of-n b/Lang/Rust/Largest-proper-divisor-of-n
new file mode 120000
index 0000000000..338cb9cb51
--- /dev/null
+++ b/Lang/Rust/Largest-proper-divisor-of-n
@@ -0,0 +1 @@
+../../Task/Largest-proper-divisor-of-n/Rust
\ No newline at end of file
diff --git a/Lang/Rust/M-bius-function b/Lang/Rust/M-bius-function
new file mode 120000
index 0000000000..96f9ab27ce
--- /dev/null
+++ b/Lang/Rust/M-bius-function
@@ -0,0 +1 @@
+../../Task/M-bius-function/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Own-digits-power-sum b/Lang/Rust/Own-digits-power-sum
new file mode 120000
index 0000000000..2d8de77ac9
--- /dev/null
+++ b/Lang/Rust/Own-digits-power-sum
@@ -0,0 +1 @@
+../../Task/Own-digits-power-sum/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Recamans-sequence b/Lang/Rust/Recamans-sequence
new file mode 120000
index 0000000000..a23a2a87db
--- /dev/null
+++ b/Lang/Rust/Recamans-sequence
@@ -0,0 +1 @@
+../../Task/Recamans-sequence/Rust
\ No newline at end of file
diff --git a/Lang/S-BASIC/Babbage-problem b/Lang/S-BASIC/Babbage-problem
new file mode 120000
index 0000000000..49d0b7178e
--- /dev/null
+++ b/Lang/S-BASIC/Babbage-problem
@@ -0,0 +1 @@
+../../Task/Babbage-problem/S-BASIC
\ No newline at end of file
diff --git a/Lang/S-BASIC/Boolean-values b/Lang/S-BASIC/Boolean-values
new file mode 120000
index 0000000000..20f09efd14
--- /dev/null
+++ b/Lang/S-BASIC/Boolean-values
@@ -0,0 +1 @@
+../../Task/Boolean-values/S-BASIC
\ No newline at end of file
diff --git a/Lang/S-BASIC/Digital-root b/Lang/S-BASIC/Digital-root
new file mode 120000
index 0000000000..859802aa50
--- /dev/null
+++ b/Lang/S-BASIC/Digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root/S-BASIC
\ No newline at end of file
diff --git a/Lang/S-BASIC/Exponentiation-order b/Lang/S-BASIC/Exponentiation-order
new file mode 120000
index 0000000000..e875dfd752
--- /dev/null
+++ b/Lang/S-BASIC/Exponentiation-order
@@ -0,0 +1 @@
+../../Task/Exponentiation-order/S-BASIC
\ No newline at end of file
diff --git a/Lang/S-BASIC/File-input-output b/Lang/S-BASIC/File-input-output
new file mode 120000
index 0000000000..0708277559
--- /dev/null
+++ b/Lang/S-BASIC/File-input-output
@@ -0,0 +1 @@
+../../Task/File-input-output/S-BASIC
\ No newline at end of file
diff --git a/Lang/S-BASIC/Sum-multiples-of-3-and-5 b/Lang/S-BASIC/Sum-multiples-of-3-and-5
new file mode 120000
index 0000000000..e2cf16a9fe
--- /dev/null
+++ b/Lang/S-BASIC/Sum-multiples-of-3-and-5
@@ -0,0 +1 @@
+../../Task/Sum-multiples-of-3-and-5/S-BASIC
\ No newline at end of file
diff --git a/Lang/SETL/100-prisoners b/Lang/SETL/100-prisoners
new file mode 120000
index 0000000000..2a5ecc360e
--- /dev/null
+++ b/Lang/SETL/100-prisoners
@@ -0,0 +1 @@
+../../Task/100-prisoners/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Abundant-deficient-and-perfect-number-classifications b/Lang/SETL/Abundant-deficient-and-perfect-number-classifications
new file mode 120000
index 0000000000..93bdd2c092
--- /dev/null
+++ b/Lang/SETL/Abundant-deficient-and-perfect-number-classifications
@@ -0,0 +1 @@
+../../Task/Abundant-deficient-and-perfect-number-classifications/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Align-columns b/Lang/SETL/Align-columns
new file mode 120000
index 0000000000..2cc05e7b59
--- /dev/null
+++ b/Lang/SETL/Align-columns
@@ -0,0 +1 @@
+../../Task/Align-columns/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Amicable-pairs b/Lang/SETL/Amicable-pairs
new file mode 120000
index 0000000000..16018f911c
--- /dev/null
+++ b/Lang/SETL/Amicable-pairs
@@ -0,0 +1 @@
+../../Task/Amicable-pairs/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Arithmetic-numbers b/Lang/SETL/Arithmetic-numbers
new file mode 120000
index 0000000000..e95266732d
--- /dev/null
+++ b/Lang/SETL/Arithmetic-numbers
@@ -0,0 +1 @@
+../../Task/Arithmetic-numbers/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Attractive-numbers b/Lang/SETL/Attractive-numbers
new file mode 120000
index 0000000000..ad7b8eb1fb
--- /dev/null
+++ b/Lang/SETL/Attractive-numbers
@@ -0,0 +1 @@
+../../Task/Attractive-numbers/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Balanced-brackets b/Lang/SETL/Balanced-brackets
new file mode 120000
index 0000000000..2bcb45bd68
--- /dev/null
+++ b/Lang/SETL/Balanced-brackets
@@ -0,0 +1 @@
+../../Task/Balanced-brackets/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Binary-digits b/Lang/SETL/Binary-digits
new file mode 120000
index 0000000000..d83b37df85
--- /dev/null
+++ b/Lang/SETL/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Bulls-and-cows b/Lang/SETL/Bulls-and-cows
new file mode 120000
index 0000000000..57d987184b
--- /dev/null
+++ b/Lang/SETL/Bulls-and-cows
@@ -0,0 +1 @@
+../../Task/Bulls-and-cows/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Comma-quibbling b/Lang/SETL/Comma-quibbling
new file mode 120000
index 0000000000..d7ce0447e0
--- /dev/null
+++ b/Lang/SETL/Comma-quibbling
@@ -0,0 +1 @@
+../../Task/Comma-quibbling/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Count-occurrences-of-a-substring b/Lang/SETL/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..dfd90171cb
--- /dev/null
+++ b/Lang/SETL/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Count-the-coins b/Lang/SETL/Count-the-coins
new file mode 120000
index 0000000000..ef2a7d61fb
--- /dev/null
+++ b/Lang/SETL/Count-the-coins
@@ -0,0 +1 @@
+../../Task/Count-the-coins/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Disarium-numbers b/Lang/SETL/Disarium-numbers
new file mode 120000
index 0000000000..68cddb21a5
--- /dev/null
+++ b/Lang/SETL/Disarium-numbers
@@ -0,0 +1 @@
+../../Task/Disarium-numbers/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Entropy b/Lang/SETL/Entropy
new file mode 120000
index 0000000000..a16f82bc12
--- /dev/null
+++ b/Lang/SETL/Entropy
@@ -0,0 +1 @@
+../../Task/Entropy/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Euclid-Mullin-sequence b/Lang/SETL/Euclid-Mullin-sequence
new file mode 120000
index 0000000000..0a5822cf4f
--- /dev/null
+++ b/Lang/SETL/Euclid-Mullin-sequence
@@ -0,0 +1 @@
+../../Task/Euclid-Mullin-sequence/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Evolutionary-algorithm b/Lang/SETL/Evolutionary-algorithm
new file mode 120000
index 0000000000..392a92497c
--- /dev/null
+++ b/Lang/SETL/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Execute-Brain- b/Lang/SETL/Execute-Brain-
new file mode 120000
index 0000000000..4d94451eb9
--- /dev/null
+++ b/Lang/SETL/Execute-Brain-
@@ -0,0 +1 @@
+../../Task/Execute-Brain-/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Execute-a-Markov-algorithm b/Lang/SETL/Execute-a-Markov-algorithm
new file mode 120000
index 0000000000..2be6983241
--- /dev/null
+++ b/Lang/SETL/Execute-a-Markov-algorithm
@@ -0,0 +1 @@
+../../Task/Execute-a-Markov-algorithm/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Fibonacci-word b/Lang/SETL/Fibonacci-word
new file mode 120000
index 0000000000..493b496498
--- /dev/null
+++ b/Lang/SETL/Fibonacci-word
@@ -0,0 +1 @@
+../../Task/Fibonacci-word/SETL
\ No newline at end of file
diff --git a/Lang/SETL/FizzBuzz b/Lang/SETL/FizzBuzz
new file mode 120000
index 0000000000..8636f2a4af
--- /dev/null
+++ b/Lang/SETL/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Hailstone-sequence b/Lang/SETL/Hailstone-sequence
new file mode 120000
index 0000000000..4a8fad89a6
--- /dev/null
+++ b/Lang/SETL/Hailstone-sequence
@@ -0,0 +1 @@
+../../Task/Hailstone-sequence/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Harshad-or-Niven-series b/Lang/SETL/Harshad-or-Niven-series
new file mode 120000
index 0000000000..1a226e11f4
--- /dev/null
+++ b/Lang/SETL/Harshad-or-Niven-series
@@ -0,0 +1 @@
+../../Task/Harshad-or-Niven-series/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Hofstadter-Figure-Figure-sequences b/Lang/SETL/Hofstadter-Figure-Figure-sequences
new file mode 120000
index 0000000000..8e11ba344b
--- /dev/null
+++ b/Lang/SETL/Hofstadter-Figure-Figure-sequences
@@ -0,0 +1 @@
+../../Task/Hofstadter-Figure-Figure-sequences/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Hofstadter-Q-sequence b/Lang/SETL/Hofstadter-Q-sequence
new file mode 120000
index 0000000000..ec34c93a76
--- /dev/null
+++ b/Lang/SETL/Hofstadter-Q-sequence
@@ -0,0 +1 @@
+../../Task/Hofstadter-Q-sequence/SETL
\ No newline at end of file
diff --git a/Lang/SETL/I-before-E-except-after-C b/Lang/SETL/I-before-E-except-after-C
new file mode 120000
index 0000000000..eb551181a0
--- /dev/null
+++ b/Lang/SETL/I-before-E-except-after-C
@@ -0,0 +1 @@
+../../Task/I-before-E-except-after-C/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Isqrt-integer-square-root-of-X b/Lang/SETL/Isqrt-integer-square-root-of-X
new file mode 120000
index 0000000000..cdee92f277
--- /dev/null
+++ b/Lang/SETL/Isqrt-integer-square-root-of-X
@@ -0,0 +1 @@
+../../Task/Isqrt-integer-square-root-of-X/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Jacobsthal-numbers b/Lang/SETL/Jacobsthal-numbers
new file mode 120000
index 0000000000..e3f736b41e
--- /dev/null
+++ b/Lang/SETL/Jacobsthal-numbers
@@ -0,0 +1 @@
+../../Task/Jacobsthal-numbers/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Jewels-and-stones b/Lang/SETL/Jewels-and-stones
new file mode 120000
index 0000000000..51fbbc70a9
--- /dev/null
+++ b/Lang/SETL/Jewels-and-stones
@@ -0,0 +1 @@
+../../Task/Jewels-and-stones/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Knuth-shuffle b/Lang/SETL/Knuth-shuffle
new file mode 120000
index 0000000000..004909767e
--- /dev/null
+++ b/Lang/SETL/Knuth-shuffle
@@ -0,0 +1 @@
+../../Task/Knuth-shuffle/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Longest-common-substring b/Lang/SETL/Longest-common-substring
new file mode 120000
index 0000000000..9eb7192015
--- /dev/null
+++ b/Lang/SETL/Longest-common-substring
@@ -0,0 +1 @@
+../../Task/Longest-common-substring/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Look-and-say-sequence b/Lang/SETL/Look-and-say-sequence
new file mode 120000
index 0000000000..a850f015f4
--- /dev/null
+++ b/Lang/SETL/Look-and-say-sequence
@@ -0,0 +1 @@
+../../Task/Look-and-say-sequence/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Magnanimous-numbers b/Lang/SETL/Magnanimous-numbers
new file mode 120000
index 0000000000..53f30352fa
--- /dev/null
+++ b/Lang/SETL/Magnanimous-numbers
@@ -0,0 +1 @@
+../../Task/Magnanimous-numbers/SETL
\ No newline at end of file
diff --git a/Lang/SETL/McNuggets-problem b/Lang/SETL/McNuggets-problem
new file mode 120000
index 0000000000..b2aec73884
--- /dev/null
+++ b/Lang/SETL/McNuggets-problem
@@ -0,0 +1 @@
+../../Task/McNuggets-problem/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Mertens-function b/Lang/SETL/Mertens-function
new file mode 120000
index 0000000000..661391c87c
--- /dev/null
+++ b/Lang/SETL/Mertens-function
@@ -0,0 +1 @@
+../../Task/Mertens-function/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Minimum-multiple-of-m-where-digital-sum-equals-m b/Lang/SETL/Minimum-multiple-of-m-where-digital-sum-equals-m
new file mode 120000
index 0000000000..a5595c5352
--- /dev/null
+++ b/Lang/SETL/Minimum-multiple-of-m-where-digital-sum-equals-m
@@ -0,0 +1 @@
+../../Task/Minimum-multiple-of-m-where-digital-sum-equals-m/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Multifactorial b/Lang/SETL/Multifactorial
new file mode 120000
index 0000000000..e7d0193c33
--- /dev/null
+++ b/Lang/SETL/Multifactorial
@@ -0,0 +1 @@
+../../Task/Multifactorial/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Mutual-recursion b/Lang/SETL/Mutual-recursion
new file mode 120000
index 0000000000..daa374d788
--- /dev/null
+++ b/Lang/SETL/Mutual-recursion
@@ -0,0 +1 @@
+../../Task/Mutual-recursion/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Nth b/Lang/SETL/Nth
new file mode 120000
index 0000000000..e6331e1f30
--- /dev/null
+++ b/Lang/SETL/Nth
@@ -0,0 +1 @@
+../../Task/Nth/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Number-reversal-game b/Lang/SETL/Number-reversal-game
new file mode 120000
index 0000000000..f1abe175ee
--- /dev/null
+++ b/Lang/SETL/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Perfect-shuffle b/Lang/SETL/Perfect-shuffle
new file mode 120000
index 0000000000..25925daae7
--- /dev/null
+++ b/Lang/SETL/Perfect-shuffle
@@ -0,0 +1 @@
+../../Task/Perfect-shuffle/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Pig-the-dice-game b/Lang/SETL/Pig-the-dice-game
new file mode 120000
index 0000000000..6e254b1d9d
--- /dev/null
+++ b/Lang/SETL/Pig-the-dice-game
@@ -0,0 +1 @@
+../../Task/Pig-the-dice-game/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Population-count b/Lang/SETL/Population-count
new file mode 120000
index 0000000000..705b1439fa
--- /dev/null
+++ b/Lang/SETL/Population-count
@@ -0,0 +1 @@
+../../Task/Population-count/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Recamans-sequence b/Lang/SETL/Recamans-sequence
new file mode 120000
index 0000000000..323bd2dfbb
--- /dev/null
+++ b/Lang/SETL/Recamans-sequence
@@ -0,0 +1 @@
+../../Task/Recamans-sequence/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Rep-string b/Lang/SETL/Rep-string
new file mode 120000
index 0000000000..e0f71aa173
--- /dev/null
+++ b/Lang/SETL/Rep-string
@@ -0,0 +1 @@
+../../Task/Rep-string/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Run-length-encoding b/Lang/SETL/Run-length-encoding
new file mode 120000
index 0000000000..a32119613b
--- /dev/null
+++ b/Lang/SETL/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Sequence-of-non-squares b/Lang/SETL/Sequence-of-non-squares
new file mode 120000
index 0000000000..42f3e6d196
--- /dev/null
+++ b/Lang/SETL/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Sequence:-smallest-number-with-exactly-n-divisors b/Lang/SETL/Sequence:-smallest-number-with-exactly-n-divisors
new file mode 120000
index 0000000000..be279b1c99
--- /dev/null
+++ b/Lang/SETL/Sequence:-smallest-number-with-exactly-n-divisors
@@ -0,0 +1 @@
+../../Task/Sequence:-smallest-number-with-exactly-n-divisors/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Set-consolidation b/Lang/SETL/Set-consolidation
new file mode 120000
index 0000000000..68db29abe2
--- /dev/null
+++ b/Lang/SETL/Set-consolidation
@@ -0,0 +1 @@
+../../Task/Set-consolidation/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Sierpinski-triangle b/Lang/SETL/Sierpinski-triangle
new file mode 120000
index 0000000000..fbbf99df57
--- /dev/null
+++ b/Lang/SETL/Sierpinski-triangle
@@ -0,0 +1 @@
+../../Task/Sierpinski-triangle/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Sieve-of-Eratosthenes b/Lang/SETL/Sieve-of-Eratosthenes
new file mode 120000
index 0000000000..aea065e02a
--- /dev/null
+++ b/Lang/SETL/Sieve-of-Eratosthenes
@@ -0,0 +1 @@
+../../Task/Sieve-of-Eratosthenes/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Smith-numbers b/Lang/SETL/Smith-numbers
new file mode 120000
index 0000000000..fbe0a251a7
--- /dev/null
+++ b/Lang/SETL/Smith-numbers
@@ -0,0 +1 @@
+../../Task/Smith-numbers/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Sorting-algorithms-Merge-sort b/Lang/SETL/Sorting-algorithms-Merge-sort
new file mode 120000
index 0000000000..c4887f3d58
--- /dev/null
+++ b/Lang/SETL/Sorting-algorithms-Merge-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Merge-sort/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Subleq b/Lang/SETL/Subleq
new file mode 120000
index 0000000000..8c02c191b8
--- /dev/null
+++ b/Lang/SETL/Subleq
@@ -0,0 +1 @@
+../../Task/Subleq/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Symmetric-difference b/Lang/SETL/Symmetric-difference
new file mode 120000
index 0000000000..0f20da20ec
--- /dev/null
+++ b/Lang/SETL/Symmetric-difference
@@ -0,0 +1 @@
+../../Task/Symmetric-difference/SETL
\ No newline at end of file
diff --git a/Lang/SETL/The-Twelve-Days-of-Christmas b/Lang/SETL/The-Twelve-Days-of-Christmas
new file mode 120000
index 0000000000..8cc8cd0542
--- /dev/null
+++ b/Lang/SETL/The-Twelve-Days-of-Christmas
@@ -0,0 +1 @@
+../../Task/The-Twelve-Days-of-Christmas/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Totient-function b/Lang/SETL/Totient-function
new file mode 120000
index 0000000000..6a46ce245e
--- /dev/null
+++ b/Lang/SETL/Totient-function
@@ -0,0 +1 @@
+../../Task/Totient-function/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Towers-of-Hanoi b/Lang/SETL/Towers-of-Hanoi
new file mode 120000
index 0000000000..1b09a27284
--- /dev/null
+++ b/Lang/SETL/Towers-of-Hanoi
@@ -0,0 +1 @@
+../../Task/Towers-of-Hanoi/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Tree-traversal b/Lang/SETL/Tree-traversal
new file mode 120000
index 0000000000..57c73a640b
--- /dev/null
+++ b/Lang/SETL/Tree-traversal
@@ -0,0 +1 @@
+../../Task/Tree-traversal/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Truth-table b/Lang/SETL/Truth-table
new file mode 120000
index 0000000000..1bc47e2171
--- /dev/null
+++ b/Lang/SETL/Truth-table
@@ -0,0 +1 @@
+../../Task/Truth-table/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Van-Eck-sequence b/Lang/SETL/Van-Eck-sequence
new file mode 120000
index 0000000000..6f522664da
--- /dev/null
+++ b/Lang/SETL/Van-Eck-sequence
@@ -0,0 +1 @@
+../../Task/Van-Eck-sequence/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Yin-and-yang b/Lang/SETL/Yin-and-yang
new file mode 120000
index 0000000000..4dfaa09d59
--- /dev/null
+++ b/Lang/SETL/Yin-and-yang
@@ -0,0 +1 @@
+../../Task/Yin-and-yang/SETL
\ No newline at end of file
diff --git a/Lang/Sidef/Achilles-numbers b/Lang/Sidef/Achilles-numbers
new file mode 120000
index 0000000000..19ed6a8115
--- /dev/null
+++ b/Lang/Sidef/Achilles-numbers
@@ -0,0 +1 @@
+../../Task/Achilles-numbers/Sidef
\ No newline at end of file
diff --git a/Lang/Sidef/Blum-integer b/Lang/Sidef/Blum-integer
new file mode 120000
index 0000000000..9b35b73aa3
--- /dev/null
+++ b/Lang/Sidef/Blum-integer
@@ -0,0 +1 @@
+../../Task/Blum-integer/Sidef
\ No newline at end of file
diff --git a/Lang/Sidef/Compare-sorting-algorithms-performance b/Lang/Sidef/Compare-sorting-algorithms-performance
new file mode 120000
index 0000000000..d575bb9466
--- /dev/null
+++ b/Lang/Sidef/Compare-sorting-algorithms-performance
@@ -0,0 +1 @@
+../../Task/Compare-sorting-algorithms-performance/Sidef
\ No newline at end of file
diff --git a/Lang/Sidef/Erd-s-Nicolas-numbers b/Lang/Sidef/Erd-s-Nicolas-numbers
new file mode 120000
index 0000000000..d1d95c8581
--- /dev/null
+++ b/Lang/Sidef/Erd-s-Nicolas-numbers
@@ -0,0 +1 @@
+../../Task/Erd-s-Nicolas-numbers/Sidef
\ No newline at end of file
diff --git a/Lang/Sidef/Giuga-numbers b/Lang/Sidef/Giuga-numbers
new file mode 120000
index 0000000000..23d148c386
--- /dev/null
+++ b/Lang/Sidef/Giuga-numbers
@@ -0,0 +1 @@
+../../Task/Giuga-numbers/Sidef
\ No newline at end of file
diff --git a/Lang/Sidef/Golden-ratio-Convergence b/Lang/Sidef/Golden-ratio-Convergence
new file mode 120000
index 0000000000..18e029dadb
--- /dev/null
+++ b/Lang/Sidef/Golden-ratio-Convergence
@@ -0,0 +1 @@
+../../Task/Golden-ratio-Convergence/Sidef
\ No newline at end of file
diff --git a/Lang/Sidef/Largest-proper-divisor-of-n b/Lang/Sidef/Largest-proper-divisor-of-n
new file mode 120000
index 0000000000..7e30bcdac2
--- /dev/null
+++ b/Lang/Sidef/Largest-proper-divisor-of-n
@@ -0,0 +1 @@
+../../Task/Largest-proper-divisor-of-n/Sidef
\ No newline at end of file
diff --git a/Lang/Sidef/Meissel-Mertens-constant b/Lang/Sidef/Meissel-Mertens-constant
new file mode 120000
index 0000000000..7eda1518da
--- /dev/null
+++ b/Lang/Sidef/Meissel-Mertens-constant
@@ -0,0 +1 @@
+../../Task/Meissel-Mertens-constant/Sidef
\ No newline at end of file
diff --git a/Lang/Sidef/Numbers-which-are-the-cube-roots-of-the-product-of-their-proper-divisors b/Lang/Sidef/Numbers-which-are-the-cube-roots-of-the-product-of-their-proper-divisors
new file mode 120000
index 0000000000..101dabd3f3
--- /dev/null
+++ b/Lang/Sidef/Numbers-which-are-the-cube-roots-of-the-product-of-their-proper-divisors
@@ -0,0 +1 @@
+../../Task/Numbers-which-are-the-cube-roots-of-the-product-of-their-proper-divisors/Sidef
\ No newline at end of file
diff --git a/Lang/Sidef/Radical-of-an-integer b/Lang/Sidef/Radical-of-an-integer
new file mode 120000
index 0000000000..f3a2787e3f
--- /dev/null
+++ b/Lang/Sidef/Radical-of-an-integer
@@ -0,0 +1 @@
+../../Task/Radical-of-an-integer/Sidef
\ No newline at end of file
diff --git a/Lang/Sidef/Sphenic-numbers b/Lang/Sidef/Sphenic-numbers
new file mode 120000
index 0000000000..52f777ef9a
--- /dev/null
+++ b/Lang/Sidef/Sphenic-numbers
@@ -0,0 +1 @@
+../../Task/Sphenic-numbers/Sidef
\ No newline at end of file
diff --git a/Lang/Sidef/Square-form-factorization b/Lang/Sidef/Square-form-factorization
new file mode 120000
index 0000000000..07ff6377fc
--- /dev/null
+++ b/Lang/Sidef/Square-form-factorization
@@ -0,0 +1 @@
+../../Task/Square-form-factorization/Sidef
\ No newline at end of file
diff --git a/Lang/Tailspin/Word-wrap b/Lang/Tailspin/Word-wrap
new file mode 120000
index 0000000000..f70bd1df77
--- /dev/null
+++ b/Lang/Tailspin/Word-wrap
@@ -0,0 +1 @@
+../../Task/Word-wrap/Tailspin
\ No newline at end of file
diff --git a/Lang/True-BASIC/21-game b/Lang/True-BASIC/21-game
new file mode 120000
index 0000000000..3e04be4a0d
--- /dev/null
+++ b/Lang/True-BASIC/21-game
@@ -0,0 +1 @@
+../../Task/21-game/True-BASIC
\ No newline at end of file
diff --git a/Lang/True-BASIC/Balanced-brackets b/Lang/True-BASIC/Balanced-brackets
new file mode 120000
index 0000000000..3e7fd1fa12
--- /dev/null
+++ b/Lang/True-BASIC/Balanced-brackets
@@ -0,0 +1 @@
+../../Task/Balanced-brackets/True-BASIC
\ No newline at end of file
diff --git a/Lang/True-BASIC/Cantor-set b/Lang/True-BASIC/Cantor-set
new file mode 120000
index 0000000000..e1bc7d9228
--- /dev/null
+++ b/Lang/True-BASIC/Cantor-set
@@ -0,0 +1 @@
+../../Task/Cantor-set/True-BASIC
\ No newline at end of file
diff --git a/Lang/True-BASIC/Casting-out-nines b/Lang/True-BASIC/Casting-out-nines
new file mode 120000
index 0000000000..8de5b0d0d1
--- /dev/null
+++ b/Lang/True-BASIC/Casting-out-nines
@@ -0,0 +1 @@
+../../Task/Casting-out-nines/True-BASIC
\ No newline at end of file
diff --git a/Lang/True-BASIC/McNuggets-problem b/Lang/True-BASIC/McNuggets-problem
new file mode 120000
index 0000000000..9a5d4f9331
--- /dev/null
+++ b/Lang/True-BASIC/McNuggets-problem
@@ -0,0 +1 @@
+../../Task/McNuggets-problem/True-BASIC
\ No newline at end of file
diff --git a/Lang/True-BASIC/Minimum-multiple-of-m-where-digital-sum-equals-m b/Lang/True-BASIC/Minimum-multiple-of-m-where-digital-sum-equals-m
new file mode 120000
index 0000000000..bae83d5055
--- /dev/null
+++ b/Lang/True-BASIC/Minimum-multiple-of-m-where-digital-sum-equals-m
@@ -0,0 +1 @@
+../../Task/Minimum-multiple-of-m-where-digital-sum-equals-m/True-BASIC
\ No newline at end of file
diff --git a/Lang/True-BASIC/Sequence:-smallest-number-with-exactly-n-divisors b/Lang/True-BASIC/Sequence:-smallest-number-with-exactly-n-divisors
new file mode 120000
index 0000000000..d0a3d58964
--- /dev/null
+++ b/Lang/True-BASIC/Sequence:-smallest-number-with-exactly-n-divisors
@@ -0,0 +1 @@
+../../Task/Sequence:-smallest-number-with-exactly-n-divisors/True-BASIC
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Doomsday-rule b/Lang/UNIX-Shell/Doomsday-rule
new file mode 120000
index 0000000000..49350b93c7
--- /dev/null
+++ b/Lang/UNIX-Shell/Doomsday-rule
@@ -0,0 +1 @@
+../../Task/Doomsday-rule/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Generate-Chess960-starting-position b/Lang/UNIX-Shell/Generate-Chess960-starting-position
new file mode 120000
index 0000000000..eee0488395
--- /dev/null
+++ b/Lang/UNIX-Shell/Generate-Chess960-starting-position
@@ -0,0 +1 @@
+../../Task/Generate-Chess960-starting-position/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/Ursalang/00-LANG.txt b/Lang/Ursalang/00-LANG.txt
new file mode 100644
index 0000000000..e32184663d
--- /dev/null
+++ b/Lang/Ursalang/00-LANG.txt
@@ -0,0 +1,5 @@
+{{language|Ursalang|exec=interpreted|site=https://ursalang.github.io|gc=yes}}
+
+Ursalang, or Ursa for short, is a "friendly, stable, general-purpose programming language" according to its [https://ursalang.github.io/ web site]. At present, it is quite new, and not yet stable, but according to its [https://github.com/ursalang/ursa#readme README], "The intention is that once it reaches version 1, the language will not change or evolve further."
+
+Ursa is functional (the syntax consists only of expressions), and imperative (using constructs familiar from mainstream languages) with a familiar syntax similar to JavaScript.
\ No newline at end of file
diff --git a/Lang/Ursalang/00-META.yaml b/Lang/Ursalang/00-META.yaml
new file mode 100644
index 0000000000..4057e32e38
--- /dev/null
+++ b/Lang/Ursalang/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Ursalang
diff --git a/Lang/Ursalang/Accumulator-factory b/Lang/Ursalang/Accumulator-factory
new file mode 120000
index 0000000000..1ee5d49ce5
--- /dev/null
+++ b/Lang/Ursalang/Accumulator-factory
@@ -0,0 +1 @@
+../../Task/Accumulator-factory/Ursalang
\ No newline at end of file
diff --git a/Lang/Ursalang/Ackermann-function b/Lang/Ursalang/Ackermann-function
new file mode 120000
index 0000000000..e0c86bfacd
--- /dev/null
+++ b/Lang/Ursalang/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/Ursalang
\ No newline at end of file
diff --git a/Lang/Ursalang/Conditional-structures b/Lang/Ursalang/Conditional-structures
new file mode 120000
index 0000000000..e8c70b7da2
--- /dev/null
+++ b/Lang/Ursalang/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Ursalang
\ No newline at end of file
diff --git a/Lang/Ursalang/Hello-world-Text b/Lang/Ursalang/Hello-world-Text
new file mode 120000
index 0000000000..ddd916992f
--- /dev/null
+++ b/Lang/Ursalang/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Ursalang
\ No newline at end of file
diff --git a/Lang/Ursalang/Integer-sequence b/Lang/Ursalang/Integer-sequence
new file mode 120000
index 0000000000..7bf5336c2c
--- /dev/null
+++ b/Lang/Ursalang/Integer-sequence
@@ -0,0 +1 @@
+../../Task/Integer-sequence/Ursalang
\ No newline at end of file
diff --git a/Lang/Uxntal/00-LANG.txt b/Lang/Uxntal/00-LANG.txt
new file mode 100644
index 0000000000..362eb3d215
--- /dev/null
+++ b/Lang/Uxntal/00-LANG.txt
@@ -0,0 +1,21 @@
+{{language|Uxntal}}
+
+'''Uxntal''' is the assembly language for the Uxn virtual machine. The VM has 64KiB of addressable memory, two 256-byte stacks (data and return), and a 256-byte block of I/O ports, divided into 16 devices with 16 ports each. The Uxntal assembler features sub-labels, simple lambdas, user-defined macros, and shorthands for common immediate operations.
+
+== Uxn VM ==
+
+The Uxn VM relies on stacks for managing data and control flow. There are two stacks, each containing up to 256 bytes - one for general data, and one for return addresses (or anything else you want to temporarily store there). Additionally, data can be read and written anywhere in the 64KiB main memory, including to parts of the code - self-modifying code is often useful in Uxn.
+
+For I/O, Uxn features two instructions DEO and DEI, which are used to access a separate block of 256 8-bit registers, split into 16 devices of 16 ports each. The Varvara specification defines a standard set of computing devices, including keyboard, mouse, and controller input, and video + audio outputs.
+
+The 256 opcodes are divided into 8 special instructions, and 31 regular instructions with 3 flags each. The special instructions, which do not accept flags are: BRK (break), JCI, JMI, JSI, (immediate jumps), LIT, LIT2, LITr, LIT2r (integer literals). The flags on the regular instructions are: 2 (short mode), r (use return stack), and k (keep operands). The main instructions include general stack operations, load and store operations, arithmetic operations, and jumps, as well as the two I/O instructions mentioned above.
+
+== Syntax ==
+
+Instructions are written in uppercase, followed by any combination of the flags 2kr. Hex values are written with lowercase a-f.
+
+Code can be placed at specific addresses with the | rune, which is especially important for assembling the reset vector at address 0x100 (|0100). Padding can be inserted with the $ rune.
+
+Labels are created with @ and &. The difference is that @ creates a label with the given name, while & creates a sub-label by prefixing the most recent @label and a slash.
+
+For further details on Uxntal syntax, see the [https://wiki.xxiivv.com/site/uxntal_syntax.html syntax page] on the XXIIVV wiki.
\ No newline at end of file
diff --git a/Lang/Uxntal/00-META.yaml b/Lang/Uxntal/00-META.yaml
new file mode 100644
index 0000000000..099ea875db
--- /dev/null
+++ b/Lang/Uxntal/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Uxntal
diff --git a/Lang/Uxntal/Character-codes b/Lang/Uxntal/Character-codes
new file mode 120000
index 0000000000..28a68bb2bb
--- /dev/null
+++ b/Lang/Uxntal/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Colour-bars-Display b/Lang/Uxntal/Colour-bars-Display
new file mode 120000
index 0000000000..68d09e27cb
--- /dev/null
+++ b/Lang/Uxntal/Colour-bars-Display
@@ -0,0 +1 @@
+../../Task/Colour-bars-Display/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Colour-pinstripe-Display b/Lang/Uxntal/Colour-pinstripe-Display
new file mode 120000
index 0000000000..e66d8cf058
--- /dev/null
+++ b/Lang/Uxntal/Colour-pinstripe-Display
@@ -0,0 +1 @@
+../../Task/Colour-pinstripe-Display/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Draw-a-pixel b/Lang/Uxntal/Draw-a-pixel
new file mode 120000
index 0000000000..68f5f2e311
--- /dev/null
+++ b/Lang/Uxntal/Draw-a-pixel
@@ -0,0 +1 @@
+../../Task/Draw-a-pixel/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Factorial b/Lang/Uxntal/Factorial
new file mode 120000
index 0000000000..54fbd0e5fa
--- /dev/null
+++ b/Lang/Uxntal/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/File-input-output b/Lang/Uxntal/File-input-output
new file mode 120000
index 0000000000..62c0978bde
--- /dev/null
+++ b/Lang/Uxntal/File-input-output
@@ -0,0 +1 @@
+../../Task/File-input-output/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Find-limit-of-recursion b/Lang/Uxntal/Find-limit-of-recursion
new file mode 120000
index 0000000000..469da2fb7d
--- /dev/null
+++ b/Lang/Uxntal/Find-limit-of-recursion
@@ -0,0 +1 @@
+../../Task/Find-limit-of-recursion/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Hello-world-Newline-omission b/Lang/Uxntal/Hello-world-Newline-omission
new file mode 120000
index 0000000000..3c0e2f741b
--- /dev/null
+++ b/Lang/Uxntal/Hello-world-Newline-omission
@@ -0,0 +1 @@
+../../Task/Hello-world-Newline-omission/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Hello-world-Text b/Lang/Uxntal/Hello-world-Text
new file mode 120000
index 0000000000..9024a6cde4
--- /dev/null
+++ b/Lang/Uxntal/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Literals-Integer b/Lang/Uxntal/Literals-Integer
new file mode 120000
index 0000000000..cdcaff26dd
--- /dev/null
+++ b/Lang/Uxntal/Literals-Integer
@@ -0,0 +1 @@
+../../Task/Literals-Integer/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Mouse-position b/Lang/Uxntal/Mouse-position
new file mode 120000
index 0000000000..9b9db4cee2
--- /dev/null
+++ b/Lang/Uxntal/Mouse-position
@@ -0,0 +1 @@
+../../Task/Mouse-position/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Rot-13 b/Lang/Uxntal/Rot-13
new file mode 120000
index 0000000000..e4b6e170be
--- /dev/null
+++ b/Lang/Uxntal/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Sum-digits-of-an-integer b/Lang/Uxntal/Sum-digits-of-an-integer
new file mode 120000
index 0000000000..dce70a945e
--- /dev/null
+++ b/Lang/Uxntal/Sum-digits-of-an-integer
@@ -0,0 +1 @@
+../../Task/Sum-digits-of-an-integer/Uxntal
\ No newline at end of file
diff --git a/Lang/V-(Vlang)/00-LANG.txt b/Lang/V-(Vlang)/00-LANG.txt
index c6f78f0d01..9a2f5797f1 100644
--- a/Lang/V-(Vlang)/00-LANG.txt
+++ b/Lang/V-(Vlang)/00-LANG.txt
@@ -1,9 +1,14 @@
{{language|V (Vlang)
+|exec=machine
|gc=allowed
|checking=static
+|safety=safe
|strength=strong
|site=https://vlang.io
-}}The V Programming Language
+|hopl=no
+}}
+{{provides|Concurrency}}{{provides|File access}}{{provides|File system access}}{{provides|First class functions}}{{provides|Network access}}{{provides|Objects}}{{provides|Signal handling}}{{language programming paradigm|concurrent}}{{language programming paradigm|Generic}}{{language programming paradigm|Imperative}}
+The V Programming Language
''Simple, fast, safe, compiled. For developing maintainable software.''
Text(0, "Hello World!")
diff --git a/Lang/XPL0/Align-columns b/Lang/XPL0/Align-columns
new file mode 120000
index 0000000000..ecddcb868c
--- /dev/null
+++ b/Lang/XPL0/Align-columns
@@ -0,0 +1 @@
+../../Task/Align-columns/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Convex-hull b/Lang/XPL0/Convex-hull
new file mode 120000
index 0000000000..7a2a0c2b94
--- /dev/null
+++ b/Lang/XPL0/Convex-hull
@@ -0,0 +1 @@
+../../Task/Convex-hull/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Find-limit-of-recursion b/Lang/XPL0/Find-limit-of-recursion
new file mode 120000
index 0000000000..3f535420c0
--- /dev/null
+++ b/Lang/XPL0/Find-limit-of-recursion
@@ -0,0 +1 @@
+../../Task/Find-limit-of-recursion/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Heronian-triangles b/Lang/XPL0/Heronian-triangles
new file mode 120000
index 0000000000..6766b4c3e4
--- /dev/null
+++ b/Lang/XPL0/Heronian-triangles
@@ -0,0 +1 @@
+../../Task/Heronian-triangles/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Knapsack-problem-Unbounded b/Lang/XPL0/Knapsack-problem-Unbounded
new file mode 120000
index 0000000000..8ccce2288b
--- /dev/null
+++ b/Lang/XPL0/Knapsack-problem-Unbounded
@@ -0,0 +1 @@
+../../Task/Knapsack-problem-Unbounded/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Ramer-Douglas-Peucker-line-simplification b/Lang/XPL0/Ramer-Douglas-Peucker-line-simplification
new file mode 120000
index 0000000000..cfc7731dbf
--- /dev/null
+++ b/Lang/XPL0/Ramer-Douglas-Peucker-line-simplification
@@ -0,0 +1 @@
+../../Task/Ramer-Douglas-Peucker-line-simplification/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Roots-of-a-quadratic-function b/Lang/XPL0/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..f39052a0fc
--- /dev/null
+++ b/Lang/XPL0/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Self-numbers b/Lang/XPL0/Self-numbers
new file mode 120000
index 0000000000..8d7258602b
--- /dev/null
+++ b/Lang/XPL0/Self-numbers
@@ -0,0 +1 @@
+../../Task/Self-numbers/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Write-float-arrays-to-a-text-file b/Lang/XPL0/Write-float-arrays-to-a-text-file
new file mode 120000
index 0000000000..23f438b765
--- /dev/null
+++ b/Lang/XPL0/Write-float-arrays-to-a-text-file
@@ -0,0 +1 @@
+../../Task/Write-float-arrays-to-a-text-file/XPL0
\ No newline at end of file
diff --git a/Lang/Yabasic/21-game b/Lang/Yabasic/21-game
new file mode 120000
index 0000000000..4e021becb9
--- /dev/null
+++ b/Lang/Yabasic/21-game
@@ -0,0 +1 @@
+../../Task/21-game/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Arithmetic-geometric-mean b/Lang/Yabasic/Arithmetic-geometric-mean
new file mode 120000
index 0000000000..8e46032637
--- /dev/null
+++ b/Lang/Yabasic/Arithmetic-geometric-mean
@@ -0,0 +1 @@
+../../Task/Arithmetic-geometric-mean/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Benfords-law b/Lang/Yabasic/Benfords-law
new file mode 120000
index 0000000000..c4443fd7c9
--- /dev/null
+++ b/Lang/Yabasic/Benfords-law
@@ -0,0 +1 @@
+../../Task/Benfords-law/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Boyer-Moore-string-search b/Lang/Yabasic/Boyer-Moore-string-search
new file mode 120000
index 0000000000..b7c5418915
--- /dev/null
+++ b/Lang/Yabasic/Boyer-Moore-string-search
@@ -0,0 +1 @@
+../../Task/Boyer-Moore-string-search/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Cantor-set b/Lang/Yabasic/Cantor-set
new file mode 120000
index 0000000000..f05992b834
--- /dev/null
+++ b/Lang/Yabasic/Cantor-set
@@ -0,0 +1 @@
+../../Task/Cantor-set/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Casting-out-nines b/Lang/Yabasic/Casting-out-nines
new file mode 120000
index 0000000000..ad68a7c4b0
--- /dev/null
+++ b/Lang/Yabasic/Casting-out-nines
@@ -0,0 +1 @@
+../../Task/Casting-out-nines/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Catalan-numbers-Pascals-triangle b/Lang/Yabasic/Catalan-numbers-Pascals-triangle
new file mode 120000
index 0000000000..dd3d68a399
--- /dev/null
+++ b/Lang/Yabasic/Catalan-numbers-Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Catalan-numbers-Pascals-triangle/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Equal-prime-and-composite-sums b/Lang/Yabasic/Equal-prime-and-composite-sums
new file mode 120000
index 0000000000..5f96757056
--- /dev/null
+++ b/Lang/Yabasic/Equal-prime-and-composite-sums
@@ -0,0 +1 @@
+../../Task/Equal-prime-and-composite-sums/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Goldbachs-comet b/Lang/Yabasic/Goldbachs-comet
new file mode 120000
index 0000000000..8391b64a6e
--- /dev/null
+++ b/Lang/Yabasic/Goldbachs-comet
@@ -0,0 +1 @@
+../../Task/Goldbachs-comet/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Padovan-n-step-number-sequences b/Lang/Yabasic/Padovan-n-step-number-sequences
new file mode 120000
index 0000000000..d7ef32db4b
--- /dev/null
+++ b/Lang/Yabasic/Padovan-n-step-number-sequences
@@ -0,0 +1 @@
+../../Task/Padovan-n-step-number-sequences/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Pig-the-dice-game b/Lang/Yabasic/Pig-the-dice-game
new file mode 120000
index 0000000000..4793da4b13
--- /dev/null
+++ b/Lang/Yabasic/Pig-the-dice-game
@@ -0,0 +1 @@
+../../Task/Pig-the-dice-game/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/Yabasic/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
new file mode 120000
index 0000000000..c31a43a3b8
--- /dev/null
+++ b/Lang/Yabasic/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
@@ -0,0 +1 @@
+../../Task/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Sequence:-smallest-number-with-exactly-n-divisors b/Lang/Yabasic/Sequence:-smallest-number-with-exactly-n-divisors
new file mode 120000
index 0000000000..21289ba764
--- /dev/null
+++ b/Lang/Yabasic/Sequence:-smallest-number-with-exactly-n-divisors
@@ -0,0 +1 @@
+../../Task/Sequence:-smallest-number-with-exactly-n-divisors/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Sorting-algorithms-Gnome-sort b/Lang/Yabasic/Sorting-algorithms-Gnome-sort
new file mode 120000
index 0000000000..0f81572e0a
--- /dev/null
+++ b/Lang/Yabasic/Sorting-algorithms-Gnome-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Gnome-sort/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Subleq b/Lang/Yabasic/Subleq
new file mode 120000
index 0000000000..c9afe7bf12
--- /dev/null
+++ b/Lang/Yabasic/Subleq
@@ -0,0 +1 @@
+../../Task/Subleq/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Van-Eck-sequence b/Lang/Yabasic/Van-Eck-sequence
new file mode 120000
index 0000000000..35b84733d2
--- /dev/null
+++ b/Lang/Yabasic/Van-Eck-sequence
@@ -0,0 +1 @@
+../../Task/Van-Eck-sequence/Yabasic
\ No newline at end of file
diff --git a/Lang/Zig/100-prisoners b/Lang/Zig/100-prisoners
new file mode 120000
index 0000000000..fbe8ec3d31
--- /dev/null
+++ b/Lang/Zig/100-prisoners
@@ -0,0 +1 @@
+../../Task/100-prisoners/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Binary-search b/Lang/Zig/Binary-search
new file mode 120000
index 0000000000..0144afc2f0
--- /dev/null
+++ b/Lang/Zig/Binary-search
@@ -0,0 +1 @@
+../../Task/Binary-search/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Case-sensitivity-of-identifiers b/Lang/Zig/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..7a873961b9
--- /dev/null
+++ b/Lang/Zig/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Catamorphism b/Lang/Zig/Catamorphism
new file mode 120000
index 0000000000..d7f93bdd1e
--- /dev/null
+++ b/Lang/Zig/Catamorphism
@@ -0,0 +1 @@
+../../Task/Catamorphism/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Find-limit-of-recursion b/Lang/Zig/Find-limit-of-recursion
new file mode 120000
index 0000000000..fe08755028
--- /dev/null
+++ b/Lang/Zig/Find-limit-of-recursion
@@ -0,0 +1 @@
+../../Task/Find-limit-of-recursion/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Introspection b/Lang/Zig/Introspection
new file mode 120000
index 0000000000..7b0cfb145a
--- /dev/null
+++ b/Lang/Zig/Introspection
@@ -0,0 +1 @@
+../../Task/Introspection/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Levenshtein-distance b/Lang/Zig/Levenshtein-distance
new file mode 120000
index 0000000000..f793f74b09
--- /dev/null
+++ b/Lang/Zig/Levenshtein-distance
@@ -0,0 +1 @@
+../../Task/Levenshtein-distance/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Man-or-boy-test b/Lang/Zig/Man-or-boy-test
new file mode 120000
index 0000000000..bb1768f007
--- /dev/null
+++ b/Lang/Zig/Man-or-boy-test
@@ -0,0 +1 @@
+../../Task/Man-or-boy-test/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Read-entire-file b/Lang/Zig/Read-entire-file
new file mode 120000
index 0000000000..123de25159
--- /dev/null
+++ b/Lang/Zig/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Sort-using-a-custom-comparator b/Lang/Zig/Sort-using-a-custom-comparator
new file mode 120000
index 0000000000..d6d8d488b5
--- /dev/null
+++ b/Lang/Zig/Sort-using-a-custom-comparator
@@ -0,0 +1 @@
+../../Task/Sort-using-a-custom-comparator/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Unicode-variable-names b/Lang/Zig/Unicode-variable-names
new file mode 120000
index 0000000000..2cf5330d25
--- /dev/null
+++ b/Lang/Zig/Unicode-variable-names
@@ -0,0 +1 @@
+../../Task/Unicode-variable-names/Zig
\ No newline at end of file
diff --git a/Task/100-doors/ALGOL-60/100-doors.alg b/Task/100-doors/ALGOL-60/100-doors.alg
deleted file mode 100644
index c558d5cd63..0000000000
--- a/Task/100-doors/ALGOL-60/100-doors.alg
+++ /dev/null
@@ -1,31 +0,0 @@
-begin
-
-comment - 100 doors problem in ALGOL-60;
-
-boolean array doors[1:100];
-integer i, j;
-boolean open, closed;
-
-open := true;
-closed := not true;
-
-outstring(1,"100 Doors Problem\n");
-
-comment - all doors are initially closed;
-for i := 1 step 1 until 100 do
- doors[i] := closed;
-
-comment
- cycle through at increasing intervals
- and flip each door encountered;
-for i := 1 step 1 until 100 do
- for j := i step i until 100 do
- doors[j] := not doors[j];
-
-comment - show which doors are open;
-outstring(1,"The open doors are:");
-for i := 1 step 1 until 100 do
- if doors[i] then
- outinteger(1,i);
-
-end
diff --git a/Task/100-doors/ALGOL-W/100-doors.alg b/Task/100-doors/ALGOL-W/100-doors.alg
deleted file mode 100644
index 89593f1ca1..0000000000
--- a/Task/100-doors/ALGOL-W/100-doors.alg
+++ /dev/null
@@ -1,32 +0,0 @@
-begin
- % -- find the first few squares via the unoptimised door flipping method %
-
- integer doorMax;
- doorMax := 100;
-
- begin
- % -- need to start a new block so the array can have variable bounds %
-
- % -- array of doors - door( i ) is true if open, false if closed %
- logical array door( 1 :: doorMax );
-
- % -- set all doors to closed %
- for i := 1 until doorMax do door( i ) := false;
-
- % -- repeatedly flip the doors %
- for i := 1 until doorMax
- do begin
- for j := i step i until doorMax
- do begin
- door( j ) := not door( j )
- end
- end;
-
- % -- display the results %
- i_w := 1; % -- set integer field width %
- s_w := 1; % -- and separator width %
- for i := 1 until doorMax do if door( i ) then writeon( i )
-
- end
-
-end.
diff --git a/Task/100-doors/EMal/100-doors.emal b/Task/100-doors/EMal/100-doors.emal
index 6f0e0623b1..6f7b1360d1 100644
--- a/Task/100-doors/EMal/100-doors.emal
+++ b/Task/100-doors/EMal/100-doors.emal
@@ -5,27 +5,20 @@ model
int id
Door:State state
new by int =id, Door:State =state do end
- fun toggle = void by block
- me.state = when(me.state == Door:State.CLOSED, Door:State.OPEN, Door:State.CLOSED)
- end
- fun asText = text by block
- return "Door #" + me.id + " is " + when(me.state == Door:State.CLOSED, "closed", "open")
- end
+ fun toggle ← <|me.state ← when(me.state æ Door:State.CLOSED, Door:State.OPEN, Door:State.CLOSED)
+ fun asText ← <|"Door #" + me.id + " is " + when(me.state æ Door:State.CLOSED, "closed", "open")
end
type Main
^|There are 100 doors in a row that are all initially closed.|^
-List doors = Door[].with(100)
-for int i = 0; i < 100; ++i
- doors[i] = Door(i + 1, Door:State.CLOSED)
-end
+List doors ← Door[].with(100, false);
+ var Doors := Array.allocate(100).populate::(n=>false);
for(int i := 0, i < 100, i := i + 1)
{
for(int j := i, j < 100, j := j + i + 1)
diff --git a/Task/100-doors/JavaScript/100-doors-8.js b/Task/100-doors/JavaScript/100-doors-8.js
index 7378d4bae5..fdf195657b 100644
--- a/Task/100-doors/JavaScript/100-doors-8.js
+++ b/Task/100-doors/JavaScript/100-doors-8.js
@@ -4,6 +4,6 @@
var sqrt = Math.sqrt(door);
if (sqrt === (sqrt | 0)) {
- console.log("Door %d is open", door);
+ console.log("Door " + door + " is open");
}
});
diff --git a/Task/100-prisoners/Phix/100-prisoners.phix b/Task/100-prisoners/Phix/100-prisoners.phix
index 16b5b65a25..88107e77e1 100644
--- a/Task/100-prisoners/Phix/100-prisoners.phix
+++ b/Task/100-prisoners/Phix/100-prisoners.phix
@@ -1,30 +1,28 @@
-(phixonline)-->
- function play(integer prisoners, iterations, bool optimal)
- sequence drawers = shuffle(tagset(prisoners))
- integer pardoned = 0
- bool found = false
- for i=1 to iterations do
- drawers = shuffle(drawers)
- for prisoner=1 to prisoners do
- found = false
- integer drawer = iff(optimal?prisoner:rand(prisoners))
- for j=1 to prisoners/2 do
- drawer = drawers[drawer]
- if drawer==prisoner then found = true exit end if
- if not optimal then drawer = rand(prisoners) end if
- end for
- if not found then exit end if
- end for
- pardoned += found
- end for
- return 100*pardoned/iterations
- end function
+function play(integer prisoners, iterations, bool optimal)
+ sequence drawers = shuffle(tagset(prisoners))
+ integer pardoned = 0
+ bool found = false
+ for i=1 to iterations do
+ drawers = shuffle(drawers)
+ for prisoner=1 to prisoners do
+ found = false
+ integer drawer = iff(optimal?prisoner:rand(prisoners))
+ for j=1 to prisoners/2 do
+ drawer = drawers[drawer]
+ if drawer==prisoner then found = true exit end if
+ if not optimal then drawer = rand(prisoners) end if
+ end for
+ if not found then exit end if
+ end for
+ pardoned += found
+ end for
+ return 100*pardoned/iterations
+end function
- constant iterations = 100_000
- printf(1,"Simulation count: %d\n",iterations)
- for prisoners=10 to 100 by 90 do
- atom random = play(prisoners,iterations,false),
- optimal = play(prisoners,iterations,true)
- printf(1,"Prisoners:%d, random:%g, optimal:%g\n",{prisoners,random,optimal})
- end for
-
- constant ESC=27, UP=328, LEFT=331, RIGHT=333, DOWN=336
- sequence board = tagset(15)&0, solve = board
- integer pos = 16
+constant ESC=27, UP=328, LEFT=331, RIGHT=333, DOWN=336
+sequence board = tagset(15)&0, solve = board
+integer pos = 16
- procedure print_board()
- for i=1 to length(board) do
- puts(1,iff(i=pos?" ":sprintf("%3d",{board[i]})))
- if mod(i,4)=0 then puts(1,"\n") end if
- end for
- puts(1,"\n")
- end procedure
+procedure print_board()
+ for i=1 to length(board) do
+ puts(1,iff(i=pos?" ":sprintf("%3d",{board[i]})))
+ if mod(i,4)=0 then puts(1,"\n") end if
+ end for
+ puts(1,"\n")
+end procedure
- procedure move(integer d)
- integer new_pos = pos+{+4,+1,-1,-4}[d]
- if new_pos>=1 and new_pos<=16
- and (mod(pos,4)=mod(new_pos,4) -- same col, or row:
- or floor((pos-1)/4)=floor((new_pos-1)/4)) then
- {board[pos],board[new_pos]} = {board[new_pos],0}
- pos = new_pos
- end if
- end procedure
+procedure move(integer d)
+ integer new_pos = pos+{+4,+1,-1,-4}[d]
+ if new_pos>=1 and new_pos<=16
+ and (mod(pos,4)=mod(new_pos,4) -- same col, or row:
+ or floor((pos-1)/4)=floor((new_pos-1)/4)) then
+ {board[pos],board[new_pos]} = {board[new_pos],0}
+ pos = new_pos
+ end if
+end procedure
- for i=1 to 5 do move(rand(4)) end for
- while 1 do
- print_board()
- if board=solve then exit end if
- integer c = find(wait_key(),{ESC,UP,LEFT,RIGHT,