diff --git a/.gitignore b/.gitignore
index 26ab3c8d09..80f7631497 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,9 @@
+/*.ys
/Cache/
/Meta/
/rosettacode.log
+/entry
+/pick
+/random-clojure-task
+/.clj-kondo/
+/.lsp/
diff --git a/Conf/lang.yaml b/Conf/lang.yaml
index 298e845387..72c972e3d8 100644
--- a/Conf/lang.yaml
+++ b/Conf/lang.yaml
@@ -4,6 +4,7 @@
360 Assembly: '.360'
4D: .4d
4DOS Batch: .4dos
+4ME: .4me
6502 Assembly: '.6502'
68000 Assembly: '.68000'
6800 Assembly: '.6800'
@@ -22,17 +23,19 @@ Acornsoft Lisp: .lisp
Action!: .action
ActionScript: .as
Acurity Architect: .acurity
-Ada: .ada
-Agda: .agda
+Ada: .adb
+Adina: .adina
Agda2: .agda2
+Agda: .agda
Agena: .agena
AHDL: .ahdl
+AIDED NATURAL LANGUAGE: .aided
Aikido: .aikido
Aime: .aime
Algae: .algae
-ALGOL: .alg
ALGOL 60: .alg
ALGOL 68: .alg
+ALGOL: .alg
ALGOL-M: .alg
ALGOL W: .alg
Alice ML: .alice
@@ -50,6 +53,7 @@ Anyways: .anyways
Apex: .apex
APL: .apl
App Inventor: .app
+Apple: .apple
AppleScript: .applescript
Applesoft BASIC: .basic
Application Master: .app
@@ -59,6 +63,8 @@ Arbre: .arbre
Arc: .arc
Arendelle: .arendelle
Argile: .argile
+Aria: .aria
+ArkScript: .ark
ARM Assembly: .arm
ArnoldC: .arnoldc
Arturo: .arturo
@@ -68,7 +74,7 @@ ASP: .asp
AspectC++: .acpp
AspectJ: .aspectj
ASP.Net: .asp
-Assembly: .as
+Assembly: .asm
AssemblyScript: .asmscript
Astro: .astro
Asymptote: .asymptote
@@ -77,15 +83,14 @@ ATS: .ats
AutoHotkey: .ahk
Autohotkey V2: .ahk
AutoHotKey V2: .ahk
-AutoIt: .autoit
-AutoLISP: .l
+AutoIt: .au3
+AutoLISP: .lsp
Avail: .avail
AWK: .awk
Axe: .axe
Axiom: .axiom
Axum: .axum
Ayrch: .ayrch
-B: .b
B4J: .b4j
B4X: .b4x
Babel: .pb
@@ -94,12 +99,13 @@ BaCon: .bacon
Bait: .bait
Ballerina: .ballerina
Bas: .bas
-BASIC: .basic
Basic09: .basic
BASIC256: .basic
+BASIC: .basic
Batari Basic: .basic
Batch File: .bat
Battlestar: .battlestar
+B: .b
BBC BASIC: .basic
Bc: .bc
BCPL: .bcpl
@@ -107,6 +113,7 @@ Beads: .beads
Beef: .beef
Beeswax: .beeswax
Befunge: .bf
+Berkeley Logo: .logo
Beta: .beta
Biferno: .biferno
Binary Lambda Calculus: .blc
@@ -130,23 +137,26 @@ Brat: .brat
Brlcad: .brlcad
Bruijn: .bruijn
Burlesque: .blq
-C++: .cpp
-C: .c
C0H: .c0h
C1R: .c1r
C2: .c2
C3: .c3
CafeOBJ: .cafeobj
+Calc: .calc
+Calcscript: .calc
Caml: .caml
Casio BASIC: .basic
Cat: .cat
CB80: .cb80
+CBASIC: .basic
+C: .c
C++/CLI: .cpp
+C++: .cpp
Cduce: .cduce
Cecil: .cecil
Ceylon: .ceylon
CFEngine: .cfengine
-Chapel: .chapel
+Chapel: .chpl
Chef: .chef
Cherrycake: .cherrycake
Chipmunk Basic: .basic
@@ -155,6 +165,7 @@ ChucK: .chuck
Cilk++: .cilk++
Cilk: .cilk
Cind: .cind
+CJam: .cjam
Clarion: .clarion
Clay: .clay
Clean: .clean
@@ -165,7 +176,7 @@ CLIPS: .clips
Clojure: .clj
CLU: .clu
CMake: .cmake
-COBOL: .cobol
+COBOL: .cob
Cobra: .cobra
Coco: .coco
Coconut: .coconut
@@ -178,19 +189,19 @@ Common Lisp: .lisp
Component Pascal: .pas
Computer/zero Assembly: .0asm
ContextFree: .cf
+Convex: .convex
Coq: .coq
Corescript: .core
Cowgol: .cowgol
Crack: .crack
Craft Basic: .basic
Creative Basic: .basic
-Curto: .curto
-Crystal: .crystal
+Crystal: .cr
C sharp: .cs
C Shell: .csh
Cubescript: .cube
Curry: .curry
-D: .d
+Curto: .curto
Dafny: .dafny
Dao: .dao
Dart: .dart
@@ -199,8 +210,9 @@ DataWeave: .dw
DBL: .dbl
Dc: .dc
DCL: .dcl
+D: .d
DDNC: .ddnc
-Delphi: .delphi
+Delphi: .pas
Deluge: .deluge
DeviousYarn: .dy
DIBOL-11: .dibol-11
@@ -212,20 +224,23 @@ DMS: .dms
Dodo0: .dodo0
Draco: .draco
Dragon: .dragon
+Dragonstone: .dragonstone
DreamBerd: .dreamberd
Dt: .dt
+DuckDB: .duckdb
DUP: .dup
DWScript: .dw
Dyalect: .dyalect
Dylan: .dylan
Dylan.NET: .dylan
-E: .e
EasyLang: .easy
EC: .ec
EchoLisp: .l
ECL: .ecl
Ecstasy: .ecstasy
+Ed: .ed
EDSAC order code: .edsac
+E: .e
Eero: .eero
Efene: .efene
Egel: .egel
@@ -238,10 +253,10 @@ Elan: .elan
ElastiC: .elastic
Elena: .elena
Elisa: .elisa
-Elixir: .elixir
+Elixir: .ex
ELLA: .ella
Elm: .elm
-Emacs Lisp: .l
+Emacs Lisp: .el
EMal: .emal
Emojicode: .emojicode
Enguage: .enguage
@@ -252,28 +267,29 @@ ERRE: .erre
Es: .es
ESQL: .esql
Euler: .euler
-Euphoria: .euphoria
+Euphoria: .eu
Evaldraw: .evaldraw
Excel: .excel
Explore: .explore
Extended BrainF***: .ebf
+Extended Color BASIC: .basic
Ezhil: .ezhil
-F: .f
Factor: .factor
Falcon: .falcon
'FALSE': .false
-Fan: .fan
Fancy: .fancy
+Fan: .fan
Fantom: .fantom
FAUST: .faust
FBSL: .fbsl
-Fe: .fe
FeatureC++: .cpp
+Fe: .fe
Felix: .felix
Fennel: .fennel
Ferite: .ferite
Fermat: .fermat
Fexl: .fexl
+F: .f
Fhidwfe: .fhidwfe
Fish: .fish
FLORA-2: .flora2
@@ -294,6 +310,7 @@ Frink: .frink
FRISC Assembly: .frisc
F Sharp: .fs
FTCBASIC: .basic
+FuncSug: .funcsug
FunL: .funl
Furor: .furor
FurryScript: .furryscript
@@ -323,9 +340,10 @@ GlovePIE: .glovepie
GLSL: .glsl
GML: .gml
Gnuplot: .gnuplot
+Goaldi: .goaldi
+Goboscript: .gobo
Go!: .go
Go: .go
-Goaldi: .goaldi
Golfscript: .golf
Golo: .golo
Goo: .goo
@@ -342,7 +360,7 @@ Halon: .halon
Harbour: .harbour
Hare: .hare
Haskell: .hs
-Haxe: .haxe
+Haxe: .hx
Heron: .heron
Hexiscript: .hexi
HicEst: .hicest
@@ -356,10 +374,11 @@ HQ9+: .hq9+
Huginn: .huginn
Hy: .hy
HyperTalk: .ht
-I: .i
Icon: .icon
IDL: .idl
Idris: .idris
+I: .i
+Imp77: .imp77
Inform 6: '.inf'
Inform 7: '.inf'
Informix 4GL: .4gl
@@ -374,18 +393,19 @@ Iptscrae: .iptscrae
Isabelle: .isabelle
IS-BASIC: .basic
IWBASIC: .basic
-J: .j
Jabaco: .jabaco
Jack: .jack
Jacquard Loom: .jacquard
+Jactl: .jactl
Jakt: .jakt
JAMES II/Rule-based Cellular Automata: .james
Janet: .janet
-Java: .java
JavaFX Script: .javafx
+Java: .java
JavaScript: .js
JCL: .jcl
Jinja: .jinja
+J: .j
JoCaml: .jocaml
JOVIAL: .jovial
Joy: .joy
@@ -394,31 +414,34 @@ JScript.NET: .jscript
JSE: .jse
Jsish: .jsish
JudoScript: .judo
-Julia: .julia
-K: .k
+Julia: .jl
Kabap: .kabap
Kamailio Script: .kamailio
+Kantalo: .kantalo
KAP: .kap
Kaya: .kaya
Keg: .keg
KeyList Databasing: .keylist
Kite: .kite
Kitten: .kitten
+K: .k
KL1: .kl1
Klingphix: .klingphix
Klong: .klong
Koka: .koka
+Komodo: .komodo
KonsolScript: .konsol
-Kotlin: .kotlin
+Kotlin: .kts
KQL: .kql
Ksh: .ksh
-L++: .l++
LabVIEW: .labview
+Labyrinth: .labyrinth
Lambda Prolog: .pro
Lambdatalk: .lambdatalk
-Lang: .lang
Lang5: .lang5
+Lang: .lang
Langur: .langur
+Lapyst: .lapyst
Lasso: .lasso
LAST: .last
LaTeX: .tex
@@ -444,6 +467,7 @@ Little: .little
Little Man Computer: .lmc
LiveCode: .livecode
LiveScript: .live
+L++: .l++
LLP: .llp
LLVM: .llvm
Lobster: .lobster
@@ -456,8 +480,8 @@ Lolli: .lolli
Lotus 123 Macro Scripting: .lotus123
LotusScript: .lotus
Lout: .lout
-LSE: .lse
LSE64: .lse64
+LSE: .lse
LSL: .lsl
LSTS: .lsts
Lua: .lua
@@ -478,6 +502,8 @@ Malbolge: .malbolge
MANOOL: .manool
Maple: .maple
MAPPER: .mapper
+MariaDB: .sql
+Mastermind: .mastermind
Mathcad: .mathcad
MathCortex: .mathcortex
Mathematica: .math
@@ -497,20 +523,21 @@ Metapost: .metapost
MGS: .mgs
Mia: .mia
Microsoft Small Basic: .basic
-Min: .min
MINIL: .minil
Minimal BASIC: .basic
MiniScript: .mini
MiniZinc: .minizinc
+Min: .min
MIPS Assembly: .mips
Mirah: .mirah
Miranda: .miranda
MIRC Scripting Language: .mirc
Mirelle: .mirelle
-ML: .ml
ML/I: .mli
MLite: .mlite
+ML: .ml
MMIX: .mmix
+Mn: .mn
Modula-2: .mod2
Modula-3: .mod3
Mojo: .mojo
@@ -520,6 +547,8 @@ Monkey: .monkey
Monte: .monte
MontiLang: .monti
MOO: .moo
+MoonBit: .moonbit
+MoonRock: .moonrock
MoonScript: .moon
Morfa: .morfa
Mosaic: .mosaic
@@ -558,6 +587,7 @@ Nit: .nit
Niue: .niue
Nix: .nix
NLP++: .nlp++
+Nom: .num
NOWUT: .nowut
NQP: .nqp
NS-HUBASIC: .basic
@@ -566,24 +596,27 @@ N/t/roff: .ntroff
Nu: .nu
Nutt: .nutt
Nyquist: .nyquist
-OASYS: .oasys
OASYS Assembler: .oasys
+OASYS: .oasys
+Oberon-07: .oberon
Oberon: .oberon
Objeck: .objeck
ObjectIcon: .oi
Objective-C: .m
+Object Pascal Implementations: .pas
Object Pascal: .pas
-OCaml: .ocaml
+OCaml: .ml
Occam: .occam
Octave: .octave
Odin: .odin
Oforth: .fth
Ol: .ol
Omega: .omega
+OmniMark: .xom
Onyx: .onyx
Onyx (wasm): .onyx
-OOC: .ooc
OOCalc: .oocalc
+OOC: .ooc
OoRexx: .rexx
Opa: .opa
OpenC++: .openc++
@@ -602,8 +635,9 @@ Panoramic: .panoramic
ParaCL: .paracl
Pare: .pare
PARI/GP: .parigp
-Pascal: .pas
PascalABC.NET: .pas
+Pascal: .pas
+Pascal-P: .pas
PASM: .pasm
PDP-11 Assembly: .pdp11
Pebble: .pebble
@@ -612,15 +646,16 @@ Pentium Assembly: .pentium
PeopleCode: .peoplecode
PepsiScript: .pepsi
Peri: .peri
-Perl: .pl
Perl5i: .p5i
Perl 6: .pl6
+Perl: .pl
Peylang: .peylang
-Phix: .phix
Phixmonti: .phixmonti
+Phix: .phix
PHL: .phl
PHP: .php
Picat: .picat
+Pico-8: .pico8
PicoLisp: .l
Pict: .pict
Piet: .piet
@@ -633,12 +668,13 @@ Plain English: .plain
PlainTeX: .tex
Plan: .plan
PL/B: .plb
-PL/I: .pli
PL/I-80: .pli
+PL/I: .pli
PL/M: .plm
PL/pgSQL: .sql
PL/SQL: .sql
PLUS: .plus
+Pluto: .pluto
PLZ/SYS: .plz
Pointless: .pointless
Polyglot: .polyglot
@@ -651,56 +687,58 @@ POV-Ray: .povray
PowerBASIC: .basic
Powerbuilder: .powerbuilder
PowerPC Assembly: .ppc
-PowerShell: .psh
+PowerShell: .ps1
PPL: .ppl
Processing: .processing
Processing Python mode: .processing-py
Processing.R: .processing-r
ProDOS: .dos
Prog8: .prog8
+ProgressBASIC: .basic
Prolog: .pro
PROMAL: .promal
PSQL: .psql
-Pure: .pure
PureBasic: .basic
Pure Data: .puredata
+Pure: .pure
Purity: .purity
-Pyret: .pyret
+Pyret: .arr
Python: .py
-Q: .q
QB64: .qb64
QBasic: .basic
Qi: .qi
.QL: .ql
QL SuperBASIC: .basic
Qore: .qore
+Q: .q
Quackery: .quackery
QuakeC: .c
QuickBASIC: .basic
Quill: .quill
Quite BASIC: .basic
Quorum: .quorum
-R: .r
-Ra: .ra
Racket: .rkt
Raku: .raku
RapidQ: .rapidq
Rapira: .rapira
+Ra: .ra
Rascal: .rascal
RASEL: .rasel
RATFOR: .ratfor
Raven: .raven
REALbasic: .basic
-Reason: .reason
+Reason: .re
+Rebol: .rebol
REBOL: .rebol
Red: .red
Reduce: .reduce
Refal: .refal
Relation: .relation
-ReScript: .re
+ReScript: .res
Retro: .retro
Revolution: .rev
REXX: .rexx
+Rhombus: .rhombus
Rhope: .rhope
Rhovas: .rhovas
Ring: .ring
@@ -708,28 +746,31 @@ RISC-V Assembly: .asm
RLaB: .rlab
RLSL: .rlsl
Robotic: .robotic
-Roc: .roc
Rockstar: .rockstar
-RPG: .rpg
+Rocq: .rocq
+Roc: .roc
RPGIV: .rpgiv
-RPL: .rpl
+RPG: .rpg
RPL/2: .rpl2
+RPL: .rpl
+R: .r
RTL/2: .rtl2
RTSL: .rtsl
Rubylog: .rubylog
Ruby: .rb
Run BASIC: .basic
-Rust: .rust
-S++: .s++
+Rust: .rs
+Rye: .rye
Sage: .sage
Salmon: .salmon
-SAS: .sas
+SapbotVM: .sapbot
SASL: .sasl
+SAS: .sas
Sass/SCSS: .sass
Sather: .sa
S-BASIC: .basic
Scala: .scala
-Scheme: .ss
+Scheme: .scm
Scilab: .scilab
Scratch: .scratch
ScratchScript: .scratch
@@ -741,14 +782,15 @@ Seed7: .seed7
Self: .self
SenseTalk: .sensetalk
SequenceL: .sequencel
-SETL: .setl
Setl4: .setl4
Set lang: .set
+SETL: .setl
Shale: .shale
SheerPower 4GL: .4gl
Shen: .shen
Shiny: .shiny
Sidef: .sidef
+SIL: .sil
SimpleCode: .simplecode
SimpleLang: .simple
SIMPOL: .simpol
@@ -765,8 +807,8 @@ Smalltalk: .st
Smart BASIC: .basic
SMEQL: .smeql
SmileBASIC: .basic
-Snobol: .sno
SNOBOL4: .sno
+Snobol: .sno
SNUSP: .snusp
Soar: .soar
Soda: .soda
@@ -774,14 +816,15 @@ SoneKing Assembly: .soneking
SPAD: .spad
SPARC Assembly: .sparc
SparForte: .sparforte
-SPARK: .spark
Sparkling: .sparkling
+SPARK: .spark
Spin: .spin
SPL: .spl
SPSS: .spss
-SQL: .sql
SQL PL: .sql
+SQL: .sql
Squirrel: .nut
+S++: .s++
SSEM: .ssem
Standard ML: .ml
Star: .star
@@ -802,22 +845,23 @@ SystemVerilog: .v
TailDot: .taildot
Tailspin: .tailspin
TAL: .tal
+TAV: .tav
Tbas: .tbas
Tcl: .tcl
TechBASIC: .basic
Teco: .teco
TeLa: .tela
Tern: .tern
-Terra: .terra
Terraform: .terraform
+Terra: .terra
TestML: .tml
Thistle: .thistle
Thyrd: .thyrd
-TI BASIC: .basic
TI-57: .ti57
TI-83 BASIC: .basic
TI-83 Hex Assembly: .asm
TI-89 BASIC: .basic
+TI BASIC: .basic
Tiny BASIC: .basic
Tiny Craft Basic: .basic
TIS-100: .tis100
@@ -850,31 +894,30 @@ Uiua: .uiua
Ultimate++: .ultimate++
Unicon: .unicon
Uniface: .uniface
-Unison: .unison
+Unison: .u
UnixPipes: .up
UNIX Shell: .sh
Unlambda: .unlambda
-Ursa: .ursa
-Ursala: .ursala
Ursalang: .ursa
+Ursala: .ursala
+Ursa: .ursa
UScript: .u
UserRPL: .rpl
UTFool: .utfool
Uxntal: .uxnatl
-V: .v
Vala: .vala
Vale: .vale
VAX Assembly: .vax
VB6: .vb6
VBA: .vba
-VBScript: .vb
+VBScript: .vbs
Vedit macro language: .vedit
Verbexx: .verbexx
Verilog: .v
-VHDL: .vhdl
+VHDL: .vhd
Vim Script: .vim
-Visual Basic: .vb
Visual Basic .NET: .vb
+Visual Basic: .vb
Visual FoxPro: .fvp
Visual Objects: .vobj
Visual Prolog: .pro
@@ -883,7 +926,10 @@ Vorpal: .vorpal
Vox: .vox
VRML: .vrml
VTL-2: .vtl-2
+V: .v
V (Vlang): .v
+Vyxal: .vyxal
+Waduzitdo: .waduzitdo
Wart: .wart
WDTE: .wdte
WebAssembly: .wasm
@@ -905,31 +951,32 @@ XBase: .xbase
XBasic: .basic
XBS: .xbs
XEec: .xeec
-XL: .xl
XLISP: .l
+XL: .xl
Xojo: .xojo
XPath 2.0: .xpath
XPL0: .xpl0
XProc: .xproc
XProfan: .xprofan
XQuery: .xquery
-XS: .xs
-XSLT: .xslt
+X-script: .x
XSLT 1.0: .xslt
XSLT 2.0: .xslt
+XSLT: .xslt
+XS: .xs
XTalk: .xtalk
XUL: .xul
-Ya: .ya
Yabasic: .basic
Yacas: .yacas
YAMLScript: .ys
+Ya: .ya
Yorick: .yorick
Z80 Assembly: .z80
ZED: .zed
Zig: .zig
Zkl: .zkl
-Zoea: .zoea
Zoea Visual: .zoea
+Zoea: .zoea
Zonnon: .zonnon
Zoomscript: .zoom
ZPL: .zpl
diff --git a/Lang/11l/Bioinformatics-base-count b/Lang/11l/Bioinformatics-base-count
deleted file mode 120000
index d8c9e2572d..0000000000
--- a/Lang/11l/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/11l
\ No newline at end of file
diff --git a/Lang/11l/Meissel-Mertens-constant b/Lang/11l/Meissel-Mertens-constant
deleted file mode 120000
index 908ef16ca2..0000000000
--- a/Lang/11l/Meissel-Mertens-constant
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Meissel-Mertens-constant/11l
\ No newline at end of file
diff --git a/Lang/11l/Miller-Rabin-primality-test b/Lang/11l/Miller-Rabin-primality-test
deleted file mode 120000
index cec9772a16..0000000000
--- a/Lang/11l/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/11l
\ No newline at end of file
diff --git a/Lang/11l/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/11l/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/11l/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/11l/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/11l/Sequence-smallest-number-with-exactly-n-divisors b/Lang/11l/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/11l/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/11l/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/11l/Sorting-Algorithms-Circle-Sort b/Lang/11l/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index 38059f4dea..0000000000
--- a/Lang/11l/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/11l
\ No newline at end of file
diff --git a/Lang/4D/00-LANG.txt b/Lang/4D/00-LANG.txt
index d591e6be7f..8c8b507919 100644
--- a/Lang/4D/00-LANG.txt
+++ b/Lang/4D/00-LANG.txt
@@ -1,3 +1,6 @@
-{{stub}}{{language|4D}}{{IDE}}'''4D''' (or '''4th Dimension''') is a database management system and [[:Category:Integrated Development Environments|integrated development environment]] authored by Laurent Ribardière in 1984.
+{{stub}}
+{{language|4D
+|site=https://us.4d.com/
+}}{{IDE}}'''4D''' (or '''4th Dimension''') is a database management system and [[:Category:Integrated Development Environments|integrated development environment]] authored by Laurent Ribardière in 1984.
==Citations==
*[[wp:4th_Dimension_%28Software%29|Wikipedia:4th Dimension (Software)]]
\ No newline at end of file
diff --git a/Lang/4ME/00-LANG.txt b/Lang/4ME/00-LANG.txt
new file mode 100644
index 0000000000..d297ba9483
--- /dev/null
+++ b/Lang/4ME/00-LANG.txt
@@ -0,0 +1,7 @@
+{{language|4ME
+|site=https://thevitebsk.github.io/4ME.by/}}
+4ME is a programing language created by [[User:Gaham]] implemented in 04.07.2024 MSK
+==See Also==
+* [https://esolangs.org/wiki/4ME 4ME in Esolangs.org]
+* [https://github.com/Thevitebsk/4me/ Github repo]
+[[Category:Programming paradigm/Concatenative]]
\ No newline at end of file
diff --git a/Lang/4ME/00-META.yaml b/Lang/4ME/00-META.yaml
new file mode 100644
index 0000000000..f0031de2c3
--- /dev/null
+++ b/Lang/4ME/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:4ME
diff --git a/Lang/6502-Assembly/00-LANG.txt b/Lang/6502-Assembly/00-LANG.txt
index a7fa28ad34..1273acfa02 100644
--- a/Lang/6502-Assembly/00-LANG.txt
+++ b/Lang/6502-Assembly/00-LANG.txt
@@ -131,6 +131,29 @@ This flag is set if the BRK command was executed. The BRK basically
* Set with: BRK
* Cleared with: RTI
* There are no branches associated with this command.
+
+This flag is used only for differentiating a BRK from an hardware IRQ
+
===Decimal===
diff --git a/Lang/68000-Assembly/00-LANG.txt b/Lang/68000-Assembly/00-LANG.txt
index cfd37d0eae..245cbaaea5 100644
--- a/Lang/68000-Assembly/00-LANG.txt
+++ b/Lang/68000-Assembly/00-LANG.txt
@@ -3,31 +3,36 @@
{{language}}
68000 assembly is the assembly language used for the Motorola 68000, or commonly known as the 68K. It should not be confused with the 6800 (which predates it). The Motorola 68000 is a big-endian processor with full 32-bit capabilities (despite most systems that use it being considered 16-bit.) It was used in many computers such as the Amiga or the Canon Cat, as well as game consoles such as the Sega Genesis and Neo Geo.
-
==Architecture Overview==
===Big-Endian===
The 68000, unlike most processors of its era, is big-endian. This means that bytes are stored from left to right. The example below illustrates this concept:
-
;hexdump of $100000:
;$100000 = $12
;$100001 = $34
;$100002 = $56
-;$100003 = $78
+;hexdump of $100000
;$100000 = $78
;$100001 = $56
;$100002 = $34
-;$100003 = $12
MOVE.B #3,D0 represents the number 3.
@@ -45,72 +50,88 @@ How you go about defining numbers or text in your code varies wildly between ass
* The operand before the comma is the "source", and the operand after is the "destination." For example, MOVE.L D3,D2 takes the value in D3 and stores it into D2, not the other way around. This is the opposite of x86 and ARM, which have the source on the right and the destination on the left.
-
-Data blocks, on the other hand, begin with DC.B, DC.W, or DC.L and each represents a constant numeric value. Strangely, you do NOT prefix these with # to signify them as constants (doing so will cause an error on most assemblers). However, you can use the $ or % modifiers to denote hexadecimal or binary.
+Data blocks, on the other hand, begin with DC.B, DC.W, or DC.L and each represents a constant numeric value. You do NOT prefix these with # to signify them as constants (doing so will cause an error on most assemblers). However, you can use the $ or % modifiers to denote hexadecimal or binary.
Keep in mind that there is no requirement to use hexadecimal, decimal, or binary in your source code. It all gets converted to binary anyway. However, it is recommended to use the notation that is appropriate for how your data is meant to be interpreted, for readability purposes.
===Data Registers===
There are eight 32-bit data registers on the 68000, numbered D0-D7. As the name implies, these are designed to hold data. Much like in [[ARM Assembly]], each one is identical in terms of which commands it can use. A command that can be used for D0 can be used for any other D-register.
-.B, 2 for .W, 4 for .L).
-MOVE.B it doesn't matter.
====Effective Address====
A calculated offset can be saved to an address register with the LEA command, which stands for "Load Effective Address." [[x86 Assembly]] also has this command, and it serves the same purpose. The syntax for it can be a bit misleading depending on your assembler.
-LEA cannot dereference an address.
If you don't want to store the effective address in an address register, you can use PEA (push effective address) to put it onto the stack instead.
-SP but it is also address register A7. This register is handled differently than the other address registers when pushing bytes onto the stack. A byte value pushed onto the stack will be padded to the right. The stack needs to pad byte-length data so that it can stay word-aligned at all times. Otherwise the CPU would crash as soon as you tried to use the stack for anything other than a byte!
@@ -124,48 +145,48 @@ The 68000 can work with 8-bit, 16-bit, or 32-bit values. Some commands only work
If you don't specify a length with your command, it usually defaults to word length, but ultimately it depends on the command you are using. (Some commands cannot be used at word length.)
Bytes and words moved into a register are always stored on the right-hand side. For example:
-CCR. The 68000 has no built-in commands like CLC for clearing/setting individual flags. Rather, you can alter them directly with MOVE,AND,OR, and EOR. Unfortunately, this means you'll have to remember which bits represent which flags. Or, if your assembler supports macros, you can define a macro that handles this for you.
The flags update automatically after most operations, and take into consideration the operand sizes when doing so. Check out this example:
-ADD.B, D0 now contains $1200, and the extend, carry, and zero flags are all set. Had we done ADD.W, we would get $1300 in D0 with none of those flags set. The flags are based on what the actual instruction "sees", not the entire register at all times.
* X: The eXtend flag is bit 4 of the CCR, and is similar to the carry flag. It gets set and cleared often for the same reasons and is used with the ADDX, SUBX, NEGX, ROXL, and ROXR commands. Why the 68000 has both this and the carry flag, I still don't know.
-
* N: The negative flag is bit 3 of the CCR, and is set when the last operation resulted in a "negative" value. What constitutes a negative value depends on the size of the last operation - for .B instructions, $80-$FF. For .W instructions, $8000-$FFFF, and for .L instructions, $80000000-$FFFFFFFF.
-
* Z: The zero flag is bit 2 of the CCR and works like you would expect - it's set whenever an operation results in zero. Unlike x86 Assembly, this also includes moving 0 directly into a register, clearing a register or memory with CLR, etc.
-
* V: The overflow flag is bit 1 of the CCR. It is set whenever a math operation results in a value crossing the $7F-$80 boundary. (Wraparound from 00 to FF doesn't count as overflow, but it does set the carry flag.)
-
* C: The carry flag is bit 0 of the CCR. It is set when a math operation results in a carry or borrow. Rolling over from FF to 00, or a 1 getting "pushed out" via a bit shift or rotate, set the carry flag. When using CMP, the carry flag determines the unsigned magnitude comparison. Carry set is less than, carry clear is greater than or equal.
-
-
In truth, the flags are a 16-bit register, of which the CCR is just the "low half". The SR (status register) is the full 16-bit register.
There are a few additional flags in the upper half, which are used by the operating system. You can read these but for the most part you won't need to write to them.
@@ -189,13 +210,15 @@ The 68000 supports 7 different interrupts, often called IRQs or Interrupt Reques
==Alignment==
The 68000 can only read or write words and longs at even addresses. Doing so at an odd address will result in the CPU crashing. (Note that reading byte data will not cause a crash regardless of whether it's located at an odd or even address.) This isn't usually a problem, but it can be if the programmer is not careful with the way their data is organized. Consider the following example:
-EVEN directive can be placed after a series of bytes. If the byte count is odd, EVEN will pad the data with an extra byte. If it's already even, the EVEN command is ignored. This saves you the trouble of having to count a long series of bytes without worrying about wasting space.
-ADDA.L #1,A0 and ADDA.L #1,A1 would have worked also, instead of the dummy read. The 68000 gives the programmer a lot of different ways to do a task.
diff --git a/Lang/68000-Assembly/Musical-scale b/Lang/68000-Assembly/Musical-scale
new file mode 120000
index 0000000000..0a23b13b4e
--- /dev/null
+++ b/Lang/68000-Assembly/Musical-scale
@@ -0,0 +1 @@
+../../Task/Musical-scale/68000-Assembly
\ No newline at end of file
diff --git a/Lang/8080-Assembly/Align-columns b/Lang/8080-Assembly/Align-columns
new file mode 120000
index 0000000000..d9134cb487
--- /dev/null
+++ b/Lang/8080-Assembly/Align-columns
@@ -0,0 +1 @@
+../../Task/Align-columns/8080-Assembly
\ No newline at end of file
diff --git a/Lang/8080-Assembly/Display-a-linear-combination b/Lang/8080-Assembly/Display-a-linear-combination
new file mode 120000
index 0000000000..5e499be357
--- /dev/null
+++ b/Lang/8080-Assembly/Display-a-linear-combination
@@ -0,0 +1 @@
+../../Task/Display-a-linear-combination/8080-Assembly
\ No newline at end of file
diff --git a/Lang/8080-Assembly/Integer-comparison b/Lang/8080-Assembly/Integer-comparison
new file mode 120000
index 0000000000..e48c1e8ea4
--- /dev/null
+++ b/Lang/8080-Assembly/Integer-comparison
@@ -0,0 +1 @@
+../../Task/Integer-comparison/8080-Assembly
\ No newline at end of file
diff --git a/Lang/8080-Assembly/Loops-Infinite b/Lang/8080-Assembly/Loops-Infinite
new file mode 120000
index 0000000000..f6336ebca0
--- /dev/null
+++ b/Lang/8080-Assembly/Loops-Infinite
@@ -0,0 +1 @@
+../../Task/Loops-Infinite/8080-Assembly
\ No newline at end of file
diff --git a/Lang/8080-Assembly/Ordered-words b/Lang/8080-Assembly/Ordered-words
new file mode 120000
index 0000000000..eee238f68d
--- /dev/null
+++ b/Lang/8080-Assembly/Ordered-words
@@ -0,0 +1 @@
+../../Task/Ordered-words/8080-Assembly
\ No newline at end of file
diff --git a/Lang/8080-Assembly/Run-length-encoding b/Lang/8080-Assembly/Run-length-encoding
new file mode 120000
index 0000000000..bc3ed9076c
--- /dev/null
+++ b/Lang/8080-Assembly/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/8080-Assembly
\ No newline at end of file
diff --git a/Lang/8080-Assembly/Sieve-of-Eratosthenes b/Lang/8080-Assembly/Sieve-of-Eratosthenes
new file mode 120000
index 0000000000..ddc8441b98
--- /dev/null
+++ b/Lang/8080-Assembly/Sieve-of-Eratosthenes
@@ -0,0 +1 @@
+../../Task/Sieve-of-Eratosthenes/8080-Assembly
\ No newline at end of file
diff --git a/Lang/8080-Assembly/Square-but-not-cube b/Lang/8080-Assembly/Square-but-not-cube
new file mode 120000
index 0000000000..e8de867485
--- /dev/null
+++ b/Lang/8080-Assembly/Square-but-not-cube
@@ -0,0 +1 @@
+../../Task/Square-but-not-cube/8080-Assembly
\ No newline at end of file
diff --git a/Lang/8080-Assembly/Twos-complement b/Lang/8080-Assembly/Twos-complement
new file mode 120000
index 0000000000..86928fcdc9
--- /dev/null
+++ b/Lang/8080-Assembly/Twos-complement
@@ -0,0 +1 @@
+../../Task/Twos-complement/8080-Assembly
\ No newline at end of file
diff --git a/Lang/8080-Assembly/Zeckendorf-number-representation b/Lang/8080-Assembly/Zeckendorf-number-representation
new file mode 120000
index 0000000000..b0569b898c
--- /dev/null
+++ b/Lang/8080-Assembly/Zeckendorf-number-representation
@@ -0,0 +1 @@
+../../Task/Zeckendorf-number-representation/8080-Assembly
\ No newline at end of file
diff --git a/Lang/8086-Assembly/00-LANG.txt b/Lang/8086-Assembly/00-LANG.txt
index 7cf10761fa..9120d12d87 100644
--- a/Lang/8086-Assembly/00-LANG.txt
+++ b/Lang/8086-Assembly/00-LANG.txt
@@ -4,13 +4,13 @@
===Segmented Memory===
The 8086 uses a segmented memory model, similar to the Super Nintendo Entertainment System. Unlike banked memory models used in the Commodore 64 and late NES games, segment addresses are held in segment registers. These segment registers are 16 bit and get left-shifted by 4 and added to the pointer register of interest to determine the memory address to look up. The 8086 has four in total, but only the DS and ES registers can be used by the programmer. (The other two work with the stack pointer and instruction pointer, and are loaded for you.) On the 8086, you can only load segment registers with the value in a data register, or with the POP command. So first you must load a segment into a data register, THEN into a segment register.
-.data and .code, but in order to properly read from/write to these sections you'll need to load their memory locations into ''segment registers.''
@@ -18,17 +18,17 @@ It's important to remember the subtle distinction between a ''segment'' and a ''
There are four data registers: AX, BX, CX, and DX. While most commands can use any of them, some only work with particular data registers. System calls in particular are very specific about which registers can be used for what. On [[MS-DOS]], the AX register is used for selecting the desired interrupt to use with the INT command.
Each data register is 16-bit, but has two eight bit halves ending in H or L, e.g. AH, AL. Instructions can be executed using the whole register or just half of it.
-?X is the same as moving it into ?L, and moving 0 into ?H. (? represents the data register of your choice. They are all the same in this regard.)
-INC AX, then AX would have been incremented to 0x100. Since we only incremented AL, only AL was incremented in this case, and AH '''still equals 0x00!'''
Generally speaking, the 8086's registers serve the following purposes:
@@ -42,24 +42,24 @@ When writing to or reading from consecutive sections of memory, it is helpful to
The syntax for offsetting an index register will vary depending on your assembler. Many assemblers will often accept multiple different ways of writing it, and it comes down to personal preference.
-DS into ES, or vice-versa:
-RET instruction would not properly return to where it came from. As long as you pop at the end the same number of registers you pushed at the start, the stack is "balanced" and your return instruction will return correctly. This is because RET is actually POP IP (IP being the instruction pointer, which you can think of as what "line" of code the CPU is on.) The CPU assumes the top of the stack is the correct place to return to, but has no way of actually verifying it. If the function you just wrote causes the CPU to crash or jump to a completely different part of the code, there's a good chance you might have forgotten to balance the stack properly.
@@ -107,40 +107,40 @@ One other caveat to mention: On early IBM PCs and compatibles, the 8087 was not
===Looping Constructs===
The 8086 has a lot more of these than most CPUs. The most obvious one is LOOP, which will subtract 1 from CX, then jump back to a specified label if CX is nonzero after the subtraction. If CX becomes zero after subtracting 1, then no jump will occur and the instruction pointer simply moves to the next instruction.
-CX inside the loop. It's easy to make a mistake like this if you're in a hurry:
-CX decrements to 0x0FFF with the LOOP instruction but the mov cx,1000h was mistakenly placed ''inside'' the loop, resetting the loop counter back to 0x1000, which means no progress is really being made. The correct way to do this is to set the starting loop counter '''outside''' the loop, like so:
-CX during a loop, like if you want to do bit shifts with a shift amount other than 1, for example. There's a simple fix - use the stack to stash and retrieve the loop counter.
-PUSH CX and POP CX, you can temporarily use CX for something else, as long as you restore it before the LOOP instruction.
You can use other registers as loop counters as well, but not with the LOOP instruction - it's hardcoded to only work with CX. But you can do this:
-REP. REP can be combined with certain instructions to repeat that instruction until CX equals zero. However, unlike LOOP, which can be used to repeat a block of instructions, REP can only repeat one. It doesn't work on all instructions, only the "string" instructions which operate on a block of memory. Typically these include MOVSB, LODSB, STOSB, CMPSB, and SCASB (each has a variant that ends in W instead of B, for 16-bit data.) There are also REPZ and REPNZ, which stand for "Repeat if Zero" and "Repeat if Nonzero" respectively. These two only work properly with CMPSB and SCASB, as MOVSB, LODSB, STOSB do not affect the flags. (The CPU doesn't detect whether CX equals zero using the flags, as the flags never reflect this equality to zero like you would expect.)
diff --git a/Lang/8th/Angle-difference-between-two-bearings b/Lang/8th/Angle-difference-between-two-bearings
new file mode 120000
index 0000000000..9cc882831f
--- /dev/null
+++ b/Lang/8th/Angle-difference-between-two-bearings
@@ -0,0 +1 @@
+../../Task/Angle-difference-between-two-bearings/8th
\ No newline at end of file
diff --git a/Lang/8th/Environment-variables b/Lang/8th/Environment-variables
new file mode 120000
index 0000000000..f15e7e1793
--- /dev/null
+++ b/Lang/8th/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/8th
\ No newline at end of file
diff --git a/Lang/8th/Factorial b/Lang/8th/Factorial
new file mode 120000
index 0000000000..dde7e52e98
--- /dev/null
+++ b/Lang/8th/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/8th
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Bifid-cipher b/Lang/AArch64-Assembly/Bifid-cipher
new file mode 120000
index 0000000000..57b7c95a81
--- /dev/null
+++ b/Lang/AArch64-Assembly/Bifid-cipher
@@ -0,0 +1 @@
+../../Task/Bifid-cipher/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Binary-strings b/Lang/AArch64-Assembly/Binary-strings
new file mode 120000
index 0000000000..09d5581057
--- /dev/null
+++ b/Lang/AArch64-Assembly/Binary-strings
@@ -0,0 +1 @@
+../../Task/Binary-strings/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Bioinformatics-base-count b/Lang/AArch64-Assembly/Bioinformatics-base-count
deleted file mode 120000
index 77532b44f2..0000000000
--- a/Lang/AArch64-Assembly/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Calculating-the-value-of-e b/Lang/AArch64-Assembly/Calculating-the-value-of-e
new file mode 120000
index 0000000000..6be0e9e4dd
--- /dev/null
+++ b/Lang/AArch64-Assembly/Calculating-the-value-of-e
@@ -0,0 +1 @@
+../../Task/Calculating-the-value-of-e/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Comma-quibbling b/Lang/AArch64-Assembly/Comma-quibbling
new file mode 120000
index 0000000000..09eae1e29d
--- /dev/null
+++ b/Lang/AArch64-Assembly/Comma-quibbling
@@ -0,0 +1 @@
+../../Task/Comma-quibbling/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Compound-data-type b/Lang/AArch64-Assembly/Compound-data-type
new file mode 120000
index 0000000000..5e69c433e8
--- /dev/null
+++ b/Lang/AArch64-Assembly/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Conways-Game-of-Life b/Lang/AArch64-Assembly/Conways-Game-of-Life
new file mode 120000
index 0000000000..048d5e56cd
--- /dev/null
+++ b/Lang/AArch64-Assembly/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Create-an-HTML-table b/Lang/AArch64-Assembly/Create-an-HTML-table
new file mode 120000
index 0000000000..53d9451773
--- /dev/null
+++ b/Lang/AArch64-Assembly/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Determine-sentence-type b/Lang/AArch64-Assembly/Determine-sentence-type
new file mode 120000
index 0000000000..9e5de0c792
--- /dev/null
+++ b/Lang/AArch64-Assembly/Determine-sentence-type
@@ -0,0 +1 @@
+../../Task/Determine-sentence-type/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Environment-variables b/Lang/AArch64-Assembly/Environment-variables
new file mode 120000
index 0000000000..bf37f1b011
--- /dev/null
+++ b/Lang/AArch64-Assembly/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Fibonacci-n-step-number-sequences b/Lang/AArch64-Assembly/Fibonacci-n-step-number-sequences
new file mode 120000
index 0000000000..27c6d5155d
--- /dev/null
+++ b/Lang/AArch64-Assembly/Fibonacci-n-step-number-sequences
@@ -0,0 +1 @@
+../../Task/Fibonacci-n-step-number-sequences/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Fibonacci-sequence b/Lang/AArch64-Assembly/Fibonacci-sequence
new file mode 120000
index 0000000000..1b2a811917
--- /dev/null
+++ b/Lang/AArch64-Assembly/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Halt-and-catch-fire b/Lang/AArch64-Assembly/Halt-and-catch-fire
new file mode 120000
index 0000000000..fcd91d9797
--- /dev/null
+++ b/Lang/AArch64-Assembly/Halt-and-catch-fire
@@ -0,0 +1 @@
+../../Task/Halt-and-catch-fire/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Hash-from-two-arrays b/Lang/AArch64-Assembly/Hash-from-two-arrays
new file mode 120000
index 0000000000..8f4af92c06
--- /dev/null
+++ b/Lang/AArch64-Assembly/Hash-from-two-arrays
@@ -0,0 +1 @@
+../../Task/Hash-from-two-arrays/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Hofstadter-Q-sequence b/Lang/AArch64-Assembly/Hofstadter-Q-sequence
new file mode 120000
index 0000000000..249eb0836e
--- /dev/null
+++ b/Lang/AArch64-Assembly/Hofstadter-Q-sequence
@@ -0,0 +1 @@
+../../Task/Hofstadter-Q-sequence/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Keyboard-input-Obtain-a-Y-or-N-response b/Lang/AArch64-Assembly/Keyboard-input-Obtain-a-Y-or-N-response
new file mode 120000
index 0000000000..ea8bafc85e
--- /dev/null
+++ b/Lang/AArch64-Assembly/Keyboard-input-Obtain-a-Y-or-N-response
@@ -0,0 +1 @@
+../../Task/Keyboard-input-Obtain-a-Y-or-N-response/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Leonardo-numbers b/Lang/AArch64-Assembly/Leonardo-numbers
new file mode 120000
index 0000000000..c954cc6b34
--- /dev/null
+++ b/Lang/AArch64-Assembly/Leonardo-numbers
@@ -0,0 +1 @@
+../../Task/Leonardo-numbers/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Logical-operations b/Lang/AArch64-Assembly/Logical-operations
new file mode 120000
index 0000000000..c765c862aa
--- /dev/null
+++ b/Lang/AArch64-Assembly/Logical-operations
@@ -0,0 +1 @@
+../../Task/Logical-operations/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Machine-code b/Lang/AArch64-Assembly/Machine-code
new file mode 120000
index 0000000000..0510df24d2
--- /dev/null
+++ b/Lang/AArch64-Assembly/Machine-code
@@ -0,0 +1 @@
+../../Task/Machine-code/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Magic-8-ball b/Lang/AArch64-Assembly/Magic-8-ball
new file mode 120000
index 0000000000..1c232e0832
--- /dev/null
+++ b/Lang/AArch64-Assembly/Magic-8-ball
@@ -0,0 +1 @@
+../../Task/Magic-8-ball/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Mandelbrot-set b/Lang/AArch64-Assembly/Mandelbrot-set
new file mode 120000
index 0000000000..8e4411d4d0
--- /dev/null
+++ b/Lang/AArch64-Assembly/Mandelbrot-set
@@ -0,0 +1 @@
+../../Task/Mandelbrot-set/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Menu b/Lang/AArch64-Assembly/Menu
new file mode 120000
index 0000000000..5b0688a2c5
--- /dev/null
+++ b/Lang/AArch64-Assembly/Menu
@@ -0,0 +1 @@
+../../Task/Menu/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Miller-Rabin-primality-test b/Lang/AArch64-Assembly/Miller-Rabin-primality-test
deleted file mode 120000
index f452839a71..0000000000
--- a/Lang/AArch64-Assembly/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Phrase-reversals b/Lang/AArch64-Assembly/Phrase-reversals
new file mode 120000
index 0000000000..65751e913c
--- /dev/null
+++ b/Lang/AArch64-Assembly/Phrase-reversals
@@ -0,0 +1 @@
+../../Task/Phrase-reversals/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Pi b/Lang/AArch64-Assembly/Pi
new file mode 120000
index 0000000000..34be149f2d
--- /dev/null
+++ b/Lang/AArch64-Assembly/Pi
@@ -0,0 +1 @@
+../../Task/Pi/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Read-a-configuration-file b/Lang/AArch64-Assembly/Read-a-configuration-file
new file mode 120000
index 0000000000..869fc1989f
--- /dev/null
+++ b/Lang/AArch64-Assembly/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Repeat-a-string b/Lang/AArch64-Assembly/Repeat-a-string
new file mode 120000
index 0000000000..c83eefd8df
--- /dev/null
+++ b/Lang/AArch64-Assembly/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Reverse-words-in-a-string b/Lang/AArch64-Assembly/Reverse-words-in-a-string
new file mode 120000
index 0000000000..2f40f86595
--- /dev/null
+++ b/Lang/AArch64-Assembly/Reverse-words-in-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-words-in-a-string/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Sorting-Algorithms-Circle-Sort b/Lang/AArch64-Assembly/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index 6922a69550..0000000000
--- a/Lang/AArch64-Assembly/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Strip-block-comments b/Lang/AArch64-Assembly/Strip-block-comments
new file mode 120000
index 0000000000..4a2741cf35
--- /dev/null
+++ b/Lang/AArch64-Assembly/Strip-block-comments
@@ -0,0 +1 @@
+../../Task/Strip-block-comments/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Strip-comments-from-a-string b/Lang/AArch64-Assembly/Strip-comments-from-a-string
new file mode 120000
index 0000000000..1e7fb59c48
--- /dev/null
+++ b/Lang/AArch64-Assembly/Strip-comments-from-a-string
@@ -0,0 +1 @@
+../../Task/Strip-comments-from-a-string/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Strip-whitespace-from-a-string-Top-and-tail b/Lang/AArch64-Assembly/Strip-whitespace-from-a-string-Top-and-tail
new file mode 120000
index 0000000000..115198d3ea
--- /dev/null
+++ b/Lang/AArch64-Assembly/Strip-whitespace-from-a-string-Top-and-tail
@@ -0,0 +1 @@
+../../Task/Strip-whitespace-from-a-string-Top-and-tail/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Twos-complement b/Lang/AArch64-Assembly/Twos-complement
new file mode 120000
index 0000000000..92454eff57
--- /dev/null
+++ b/Lang/AArch64-Assembly/Twos-complement
@@ -0,0 +1 @@
+../../Task/Twos-complement/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Update-a-configuration-file b/Lang/AArch64-Assembly/Update-a-configuration-file
new file mode 120000
index 0000000000..c28afd01b6
--- /dev/null
+++ b/Lang/AArch64-Assembly/Update-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Update-a-configuration-file/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Vigen-re-cipher b/Lang/AArch64-Assembly/Vigen-re-cipher
new file mode 120000
index 0000000000..02254d1d9a
--- /dev/null
+++ b/Lang/AArch64-Assembly/Vigen-re-cipher
@@ -0,0 +1 @@
+../../Task/Vigen-re-cipher/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Vigen-re-cipher-Cryptanalysis b/Lang/AArch64-Assembly/Vigen-re-cipher-Cryptanalysis
new file mode 120000
index 0000000000..cc7f7e2227
--- /dev/null
+++ b/Lang/AArch64-Assembly/Vigen-re-cipher-Cryptanalysis
@@ -0,0 +1 @@
+../../Task/Vigen-re-cipher-Cryptanalysis/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/AArch64-Assembly/Visualize-a-tree b/Lang/AArch64-Assembly/Visualize-a-tree
new file mode 120000
index 0000000000..a3e4c5223f
--- /dev/null
+++ b/Lang/AArch64-Assembly/Visualize-a-tree
@@ -0,0 +1 @@
+../../Task/Visualize-a-tree/AArch64-Assembly
\ No newline at end of file
diff --git a/Lang/ABAP/00-LANG.txt b/Lang/ABAP/00-LANG.txt
index 446b44c265..819bd4cbc5 100644
--- a/Lang/ABAP/00-LANG.txt
+++ b/Lang/ABAP/00-LANG.txt
@@ -1,2 +1,14 @@
-{{stub}}{{language|site=http://www.sdn.sap.com/irj/sdn/abap}}
-ABAP (Advanced Business Application Programming) is a programming language developed by the german software vendor SAP. It is mainly used to build high performance business applications.
\ No newline at end of file
+{{stub}}{{language
+|site=http://www.sdn.sap.com/irj/sdn/abap
+|safety=safe
+|strength=strong
+|compat=nominative
+|checking=static
+|tags=abap}}
+ABAP (Advanced Business Application Programming) is a programming language developed by the german software vendor SAP. It is mainly used to build high performance business applications.
+
+==Citation==
+*[https://en.wikipedia.org/wiki/ABAP]
+
+[[Category:Programming paradigm/Object-oriented]]
+[[Category:Programming paradigm/Imperative]]
\ No newline at end of file
diff --git a/Lang/ABC/Arithmetic-derivative b/Lang/ABC/Arithmetic-derivative
new file mode 120000
index 0000000000..4225078056
--- /dev/null
+++ b/Lang/ABC/Arithmetic-derivative
@@ -0,0 +1 @@
+../../Task/Arithmetic-derivative/ABC
\ No newline at end of file
diff --git a/Lang/ABC/Look-and-say-sequence b/Lang/ABC/Look-and-say-sequence
new file mode 120000
index 0000000000..68b9661932
--- /dev/null
+++ b/Lang/ABC/Look-and-say-sequence
@@ -0,0 +1 @@
+../../Task/Look-and-say-sequence/ABC
\ No newline at end of file
diff --git a/Lang/ABC/Population-count b/Lang/ABC/Population-count
new file mode 120000
index 0000000000..6bd44c7e1e
--- /dev/null
+++ b/Lang/ABC/Population-count
@@ -0,0 +1 @@
+../../Task/Population-count/ABC
\ No newline at end of file
diff --git a/Lang/ABC/Square-but-not-cube b/Lang/ABC/Square-but-not-cube
new file mode 120000
index 0000000000..23a046e711
--- /dev/null
+++ b/Lang/ABC/Square-but-not-cube
@@ -0,0 +1 @@
+../../Task/Square-but-not-cube/ABC
\ No newline at end of file
diff --git a/Lang/ABC/Zeckendorf-number-representation b/Lang/ABC/Zeckendorf-number-representation
new file mode 120000
index 0000000000..8384d29a12
--- /dev/null
+++ b/Lang/ABC/Zeckendorf-number-representation
@@ -0,0 +1 @@
+../../Task/Zeckendorf-number-representation/ABC
\ No newline at end of file
diff --git a/Lang/AIDED-NATURAL-LANGUAGE/00-LANG.txt b/Lang/AIDED-NATURAL-LANGUAGE/00-LANG.txt
new file mode 100644
index 0000000000..c25a056976
--- /dev/null
+++ b/Lang/AIDED-NATURAL-LANGUAGE/00-LANG.txt
@@ -0,0 +1 @@
+{{stub}}{{language|Ayrch}}
\ No newline at end of file
diff --git a/Lang/AIDED-NATURAL-LANGUAGE/00-META.yaml b/Lang/AIDED-NATURAL-LANGUAGE/00-META.yaml
new file mode 100644
index 0000000000..8395003e03
--- /dev/null
+++ b/Lang/AIDED-NATURAL-LANGUAGE/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:AIDED_NATURAL_LANGUAGE
diff --git a/Lang/ALGOL-60/00-LANG.txt b/Lang/ALGOL-60/00-LANG.txt
index 725689b57a..2f04de0a7d 100644
--- a/Lang/ALGOL-60/00-LANG.txt
+++ b/Lang/ALGOL-60/00-LANG.txt
@@ -16,4 +16,9 @@ gcc hello.c -lalgol -lm -o hello
*[[wp:ALGOL 60|ALGOL 60 on Wikipedia]]
*[[ALGOL 68]]
*[[ALGOL W]]
-*[[Simula]]
\ No newline at end of file
+*[[Simula]]
+
+==External links==
+* [http://algol60.org algol60.org]
+* [https://softwarepreservation.computerhistory.org/ALGOL/ History of ALGOL] Includes links to documentation (e.g. reports)
+* [https://www.masswerk.at/algol60/report.htm Revised Report on the Algorithmic Language Algol 60] (HTML)
\ No newline at end of file
diff --git a/Lang/ALGOL-60/Additive-primes b/Lang/ALGOL-60/Additive-primes
new file mode 120000
index 0000000000..360a570784
--- /dev/null
+++ b/Lang/ALGOL-60/Additive-primes
@@ -0,0 +1 @@
+../../Task/Additive-primes/ALGOL-60
\ No newline at end of file
diff --git a/Lang/ALGOL-60/Anti-primes b/Lang/ALGOL-60/Anti-primes
new file mode 120000
index 0000000000..6d19745d0e
--- /dev/null
+++ b/Lang/ALGOL-60/Anti-primes
@@ -0,0 +1 @@
+../../Task/Anti-primes/ALGOL-60
\ No newline at end of file
diff --git a/Lang/ALGOL-60/Even-or-odd b/Lang/ALGOL-60/Even-or-odd
new file mode 120000
index 0000000000..13baeccf6c
--- /dev/null
+++ b/Lang/ALGOL-60/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/ALGOL-60
\ No newline at end of file
diff --git a/Lang/ALGOL-60/Factorial b/Lang/ALGOL-60/Factorial
deleted file mode 120000
index 67b243e1d0..0000000000
--- a/Lang/ALGOL-60/Factorial
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Factorial/ALGOL-60
\ No newline at end of file
diff --git a/Lang/ALGOL-60/Harmonic-series b/Lang/ALGOL-60/Harmonic-series
new file mode 120000
index 0000000000..a1eefb4086
--- /dev/null
+++ b/Lang/ALGOL-60/Harmonic-series
@@ -0,0 +1 @@
+../../Task/Harmonic-series/ALGOL-60
\ No newline at end of file
diff --git a/Lang/ALGOL-60/Horners-rule-for-polynomial-evaluation b/Lang/ALGOL-60/Horners-rule-for-polynomial-evaluation
new file mode 120000
index 0000000000..2a520e0e7c
--- /dev/null
+++ b/Lang/ALGOL-60/Horners-rule-for-polynomial-evaluation
@@ -0,0 +1 @@
+../../Task/Horners-rule-for-polynomial-evaluation/ALGOL-60
\ No newline at end of file
diff --git a/Lang/ALGOL-60/Integer-comparison b/Lang/ALGOL-60/Integer-comparison
new file mode 120000
index 0000000000..54a6736fa3
--- /dev/null
+++ b/Lang/ALGOL-60/Integer-comparison
@@ -0,0 +1 @@
+../../Task/Integer-comparison/ALGOL-60
\ No newline at end of file
diff --git a/Lang/ALGOL-60/Largest-proper-divisor-of-n b/Lang/ALGOL-60/Largest-proper-divisor-of-n
new file mode 120000
index 0000000000..bd5f1adbca
--- /dev/null
+++ b/Lang/ALGOL-60/Largest-proper-divisor-of-n
@@ -0,0 +1 @@
+../../Task/Largest-proper-divisor-of-n/ALGOL-60
\ No newline at end of file
diff --git a/Lang/ALGOL-60/Loops-Increment-loop-index-within-loop-body b/Lang/ALGOL-60/Loops-Increment-loop-index-within-loop-body
new file mode 120000
index 0000000000..b6ef8c8c0c
--- /dev/null
+++ b/Lang/ALGOL-60/Loops-Increment-loop-index-within-loop-body
@@ -0,0 +1 @@
+../../Task/Loops-Increment-loop-index-within-loop-body/ALGOL-60
\ No newline at end of file
diff --git a/Lang/ALGOL-60/Nth-root b/Lang/ALGOL-60/Nth-root
new file mode 120000
index 0000000000..3032f52453
--- /dev/null
+++ b/Lang/ALGOL-60/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/ALGOL-60
\ No newline at end of file
diff --git a/Lang/ALGOL-60/Prime-decomposition b/Lang/ALGOL-60/Prime-decomposition
new file mode 120000
index 0000000000..cd5f625ac0
--- /dev/null
+++ b/Lang/ALGOL-60/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/ALGOL-60
\ No newline at end of file
diff --git a/Lang/ALGOL-60/Proper-divisors b/Lang/ALGOL-60/Proper-divisors
new file mode 120000
index 0000000000..7bb12e66dd
--- /dev/null
+++ b/Lang/ALGOL-60/Proper-divisors
@@ -0,0 +1 @@
+../../Task/Proper-divisors/ALGOL-60
\ No newline at end of file
diff --git a/Lang/ALGOL-60/Semiprime b/Lang/ALGOL-60/Semiprime
new file mode 120000
index 0000000000..0981557b93
--- /dev/null
+++ b/Lang/ALGOL-60/Semiprime
@@ -0,0 +1 @@
+../../Task/Semiprime/ALGOL-60
\ No newline at end of file
diff --git a/Lang/ALGOL-60/Sequence-of-primes-by-trial-division b/Lang/ALGOL-60/Sequence-of-primes-by-trial-division
new file mode 120000
index 0000000000..b95a2ebdcc
--- /dev/null
+++ b/Lang/ALGOL-60/Sequence-of-primes-by-trial-division
@@ -0,0 +1 @@
+../../Task/Sequence-of-primes-by-trial-division/ALGOL-60
\ No newline at end of file
diff --git a/Lang/ALGOL-60/Square-free-integers b/Lang/ALGOL-60/Square-free-integers
new file mode 120000
index 0000000000..caff91a536
--- /dev/null
+++ b/Lang/ALGOL-60/Square-free-integers
@@ -0,0 +1 @@
+../../Task/Square-free-integers/ALGOL-60
\ No newline at end of file
diff --git a/Lang/ALGOL-60/Sum-of-a-series b/Lang/ALGOL-60/Sum-of-a-series
new file mode 120000
index 0000000000..48b6d3380c
--- /dev/null
+++ b/Lang/ALGOL-60/Sum-of-a-series
@@ -0,0 +1 @@
+../../Task/Sum-of-a-series/ALGOL-60
\ No newline at end of file
diff --git a/Lang/ALGOL-60/Tau-function b/Lang/ALGOL-60/Tau-function
new file mode 120000
index 0000000000..5e48edf00f
--- /dev/null
+++ b/Lang/ALGOL-60/Tau-function
@@ -0,0 +1 @@
+../../Task/Tau-function/ALGOL-60
\ No newline at end of file
diff --git a/Lang/ALGOL-60/Tau-number b/Lang/ALGOL-60/Tau-number
new file mode 120000
index 0000000000..a054d3d6bb
--- /dev/null
+++ b/Lang/ALGOL-60/Tau-number
@@ -0,0 +1 @@
+../../Task/Tau-number/ALGOL-60
\ No newline at end of file
diff --git a/Lang/ALGOL-68/00-LANG.txt b/Lang/ALGOL-68/00-LANG.txt
index c77464279f..0415892136 100644
--- a/Lang/ALGOL-68/00-LANG.txt
+++ b/Lang/ALGOL-68/00-LANG.txt
@@ -41,7 +41,7 @@ A syntax chart is available [http://www.softwarepreservation.org/projects/ALGOL/
* [http://www.linkedin.com/groups/Algol68-2333923 Algol68 group at linkedin] - includes various famous compiler composers.
'''Books available online''':
-* [http://jmvdveer.home.xs4all.nl/en.algol-68-genie.html Algol 68G Manual - By Marcel van der Veer] Includes the Revised Report
+* [https://algol68genie.nl/ Algol 68G Manual - By Marcel van der Veer] Includes the Revised Report
* [http://www.softwarepreservation.org/projects/ALGOL/book/pame.2008.a4.pdf/view Programming Algol 68 Made Easy - by Sian Mountbatten (on softwarepreservation.org)]
* [http://www.softwarepreservation.org/projects/ALGOL/book/Lindsey_van_der_Meulen-IItA68-Revised.pdf/view Informal Introduction to Algol 68 - by C. H. Lindsey & S. V. Van der Meulen (on softwarepreservation.org)] - if you prefer (and find) a hardcopy, be sure to get the 1977 edition. Highly recomended!
@@ -59,7 +59,7 @@ A syntax chart is available [http://www.softwarepreservation.org/projects/ALGOL/
** AND 50th Birthday '''ALGOL 58'''.
* 23rd August 2009 - [http://sourceforge.net/projects/algol68/files/ algol68g-1.18.0-9h] released
* 20th December 2009 - Happy 51st/41st Birthdays with [[Hamming_numbers#ALGOL_68|Hamming numbers]] - the 200th '''ALGOL 68''' code contribution on rosettacode.org!
-** This time code was by [[User:Algol68g|Marcel van der Veer]], author of [http://www.xs4all.nl/~jmvdveer/algol.html Algol 68 Genie]
+** This time code was by [[User:Algol68g|Marcel van der Veer]], author of [https://algol68genie.nl Algol 68 Genie]
* 25th October 2011 - [[User:Jejones3141|Jejones3141]] added [[Soundex#ALGOL_68|Soundex]] - the 300th '''ALGOL 68''' code specimen.
== Revisions ==
@@ -67,203 +67,12 @@ A syntax chart is available [http://www.softwarepreservation.org/projects/ALGOL/
*Oct. 1968: Penultimate Draft Report on the Algorithmic Language ALGOL 68 - Chapters 1-9 - Edited by: A. van Wijngaarden, B.J. Mailloux, J.E.L. Peck and C.H.A. Koster.
*Dec. 1968: Report on the Algorithmic Language ALGOL 68 - Offprint from Numerische Mathematik, 14, 79-218 (1969); Springer-Verlag. - Edited by: A. van Wijngaarden, B.J. Mailloux, J.E.L. Peck and C.H.A. Koster.
*Sep 1973: Revised Report on the Algorithmic Language Algol 68 - Springer-Verlag 1976 - Edited by: A. van Wijngaarden, B.J. Mailloux, J.E.L. Peck, C.H.A. Koster, M. Sintzoff, C.H. Lindsey, L.G.L.T. Meertens and R.G. Fisker.
-==Coding style of samples==
-Click "Expand" for more details.
-
main:( and a matching ) at the end. These are not actually required in the language, but are included so as to highlight the main routine.
-
-On some compilers, it may be necessary to include appropriate "job cards"
-or preludes in order for the programs to compile successfully. Hopefully
-not too much else is required. Examples:
-{|border="1" style="border-collapse: collapse; border: 5px double grey;" align="center"
-|| Brief Algol68
-|| Algol68 as in rosettacode
-|| Actual ELLA Algol 68RS code
-|-
-||
- print(("Hello, world!",new line))
-||
- main:(
- print(("Hello, world!",new line))
- )
-||
- PROGRAM helloworld CONTEXT VOID
- USE standard
- BEGIN
- print(("Hello, world!", new line))
- END
- FINISH
-|}
-0x04000000 go? It's actually been compressed and fit within those 4 bytes you saw earlier. The ARM is very good at decompressing it, since it's been shrunk to an 8-bit number that can be rotated by an even number of bits. Unfortunately, this compression method is a double-edged sword - some 32-bit numbers can't be compressed this way, and thus many instructions can't work with them!
@@ -18,72 +18,73 @@ Registers are much more flexible than immediate operands. Unlike immediate opera
Getting an address in a register can be achieved with the MOV command, but there are limitations to that which will be explained in detail later. It's more reliable to use ADR which loads a nearby address into a register. This address has to be within a certain distance from the current program counter or it can't be loaded, so it's not a reliable way to load from the heap on many machines. It's mostly intended for loading from nearby read-only data, such as text strings or stored immediates (more on that later). When you type ADR R0,LABEL, the assembler will convert this to MOV R0,PC,#N, where N is the difference between the current program counter value and the label you specified.
LDR can be used in a similar fashion to ADR but there is a subtle distinction between the two. Assume that the section below is assembled starting at memory address 0x04000000:
-ADR only gives you the memory location of a value in memory, where LDR loads ''from'' that memory location.
-
===Data Addressing using LDR and STR===
Unlike its "cousin," the Motorola 68000 (which isn't really related but has a somewhat similar design), the ARM cannot directly write immediate values to memory. Those values must be contained in registers first. Unlike the 68000, the ARM has no "address registers." Rather, enclosing a register name in square brackets turns its value into a reference to a memory location. You'll need to load that memory location's numeric "value" as a constant first. Then you can read from it with LDR and write to it with STR. Not only can you read from a given address, you can also adjust how you read from it, and what you do before or after the read.
-BEGIN { ... } block.
-* ''List users who have /bin/ksh as a shell.''POKE 13312,7 will turn the border color to white. BASIC programs start at 0x3901.[https://www.vdsteenoven.com/aquarius/malloc.html]
+
+BASIC can set and unset 80x72-resolution pixels on the Aquarius with the PSET and PRESET commands (each text character consists of 2x3 pixels). This program for instance draws an ellipsis:
+CLEAR 200 will reserve 200 bytes for strings. You can check with PRINT FRE("a") how much unused string space is still available.
+
+Emulators of the Mattel Aquarius include MAME and [https://aquarius.je/aqualite/ AquaLite].
+
+==See Also==
+* [[wp:Mattel Aquarius|Mattel Aquarius]] at Wikipedia
+* [https://archive.org/search?query=mattel+aquarius Aquarius manuals at the Internet Archive]
\ No newline at end of file
diff --git a/Lang/Aquarius-BASIC/Archimedean-spiral b/Lang/Aquarius-BASIC/Archimedean-spiral
new file mode 120000
index 0000000000..a52a300e36
--- /dev/null
+++ b/Lang/Aquarius-BASIC/Archimedean-spiral
@@ -0,0 +1 @@
+../../Task/Archimedean-spiral/Aquarius-BASIC
\ No newline at end of file
diff --git a/Lang/Aquarius-BASIC/Colour-bars-Display b/Lang/Aquarius-BASIC/Colour-bars-Display
new file mode 120000
index 0000000000..5113e0e205
--- /dev/null
+++ b/Lang/Aquarius-BASIC/Colour-bars-Display
@@ -0,0 +1 @@
+../../Task/Colour-bars-Display/Aquarius-BASIC
\ No newline at end of file
diff --git a/Lang/Aquarius-BASIC/Mandelbrot-set b/Lang/Aquarius-BASIC/Mandelbrot-set
new file mode 120000
index 0000000000..e078ca10a9
--- /dev/null
+++ b/Lang/Aquarius-BASIC/Mandelbrot-set
@@ -0,0 +1 @@
+../../Task/Mandelbrot-set/Aquarius-BASIC
\ No newline at end of file
diff --git a/Lang/Aquarius-BASIC/Matrix-digital-rain b/Lang/Aquarius-BASIC/Matrix-digital-rain
new file mode 120000
index 0000000000..227ab761a1
--- /dev/null
+++ b/Lang/Aquarius-BASIC/Matrix-digital-rain
@@ -0,0 +1 @@
+../../Task/Matrix-digital-rain/Aquarius-BASIC
\ No newline at end of file
diff --git a/Lang/Aquarius-BASIC/Musical-scale b/Lang/Aquarius-BASIC/Musical-scale
new file mode 120000
index 0000000000..16fb0326f5
--- /dev/null
+++ b/Lang/Aquarius-BASIC/Musical-scale
@@ -0,0 +1 @@
+../../Task/Musical-scale/Aquarius-BASIC
\ No newline at end of file
diff --git a/Lang/Aquarius-BASIC/Terminal-control-Display-an-extended-character b/Lang/Aquarius-BASIC/Terminal-control-Display-an-extended-character
new file mode 120000
index 0000000000..908e3614b8
--- /dev/null
+++ b/Lang/Aquarius-BASIC/Terminal-control-Display-an-extended-character
@@ -0,0 +1 @@
+../../Task/Terminal-control-Display-an-extended-character/Aquarius-BASIC
\ No newline at end of file
diff --git a/Lang/Aria/00-LANG.txt b/Lang/Aria/00-LANG.txt
new file mode 100644
index 0000000000..f3d1668eba
--- /dev/null
+++ b/Lang/Aria/00-LANG.txt
@@ -0,0 +1,15 @@
+{{language
+|exec=interpreted
+|site=https://egranata.github.io/aria/
+}}
+
+Aria is a modern, dynamic scripting language. It is meant to be a “sweet spot” language, easy to pick-up and enjoyable to use.
+
+It provides a familiar C-style syntax, with a feature set inspired by well-beloved languages such as Python and Rust. It comes with little ceremony and a focus on getting stuff done.
+
+Aria programs are written as .aria files and passed to the Aria virtual machine, which compiles them down to bytecode and executes them.
+
+The Aria interpreter is written in Rust, 2024 edition.
+
+==Todo==
+[[Tasks_not_implemented_in_Aria]]
\ No newline at end of file
diff --git a/Lang/Aria/00-META.yaml b/Lang/Aria/00-META.yaml
new file mode 100644
index 0000000000..35ebadd91a
--- /dev/null
+++ b/Lang/Aria/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Aria
diff --git a/Lang/Aria/99-bottles-of-beer b/Lang/Aria/99-bottles-of-beer
new file mode 120000
index 0000000000..c2f486227d
--- /dev/null
+++ b/Lang/Aria/99-bottles-of-beer
@@ -0,0 +1 @@
+../../Task/99-bottles-of-beer/Aria
\ No newline at end of file
diff --git a/Lang/Aria/Hello-world-Text b/Lang/Aria/Hello-world-Text
new file mode 120000
index 0000000000..bb8e1db7a7
--- /dev/null
+++ b/Lang/Aria/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Aria
\ No newline at end of file
diff --git a/Lang/ArkScript/00-LANG.txt b/Lang/ArkScript/00-LANG.txt
new file mode 100644
index 0000000000..11fc16bd5b
--- /dev/null
+++ b/Lang/ArkScript/00-LANG.txt
@@ -0,0 +1,43 @@
+{{language|ArkScript
+|exec=bytecode
+|site=https://arkscript-lang.dev
+|gc=no
+|parampass=value
+|strength=strong
+|checking=dynamic
+|tags=arkscript}}
+ArkScript is a small, fast, functional and scripting language for C++ projects, inspired by [[Lua]], [[Lisp]], and [[Python]].
+
+The language has been designed to be concise, with only 9 keywords, and two rules to parse it:
+# the first node after an opening paren ( is a "function", the following nodes are arguments
+# the only exception to the previous rule is when defining the argument list of a function
+
+atari800 -basic. Some important keys in Atari800 are F1=Settings, F5=Reset, F7=Break, F9=Quit, F10=Screenshot; see [https://github.com/atari800/atari800/blob/master/DOC/USAGE DOC/USAGE] for more. Lowercase characters in strings can be entered by first pressing Caps Lock in Atari800.
+
+In Atari800, folders on the host computer can be mounted in ''Emulator Configuration ⇨ Host Device Settings'', so then you can e.g. use LOAD "H1:MYPROG.BAS" to load a program from local disk. By default, folders are mounted read-only.
+
+BASIC programs in tokenized form are loaded and saved with LOAD and SAVE; in ASCII/ATASCII format you load them with ENTER and save them with LIST, e.g. LIST “H1:PROGRAM.LST”.
+
+After 9 minutes of inactivity, a screen saver (called attract mode by Atari) will activate and cycle colors. This can be stopped by an occasional POKE 77,0 to reset the timer.
+
+Like in Palo Alto Tiny BASIC, commands can be abbreviated by their first (unique) letters and a period, e.g. L. for LIST or GR. for GRAPHICS.
+
+==See Also==
+*[https://en.wikipedia.org/wiki/Atari_BASIC Atari BASIC] in Wikipedia
\ No newline at end of file
diff --git a/Lang/Atari-BASIC/Archimedean-spiral b/Lang/Atari-BASIC/Archimedean-spiral
new file mode 120000
index 0000000000..3e75563330
--- /dev/null
+++ b/Lang/Atari-BASIC/Archimedean-spiral
@@ -0,0 +1 @@
+../../Task/Archimedean-spiral/Atari-BASIC
\ No newline at end of file
diff --git a/Lang/Atari-BASIC/Chaos-game b/Lang/Atari-BASIC/Chaos-game
new file mode 120000
index 0000000000..f88e0f8ada
--- /dev/null
+++ b/Lang/Atari-BASIC/Chaos-game
@@ -0,0 +1 @@
+../../Task/Chaos-game/Atari-BASIC
\ No newline at end of file
diff --git a/Lang/Atari-BASIC/Color-of-a-screen-pixel b/Lang/Atari-BASIC/Color-of-a-screen-pixel
new file mode 120000
index 0000000000..b097621245
--- /dev/null
+++ b/Lang/Atari-BASIC/Color-of-a-screen-pixel
@@ -0,0 +1 @@
+../../Task/Color-of-a-screen-pixel/Atari-BASIC
\ No newline at end of file
diff --git a/Lang/Atari-BASIC/Colour-bars-Display b/Lang/Atari-BASIC/Colour-bars-Display
new file mode 120000
index 0000000000..03db8dce96
--- /dev/null
+++ b/Lang/Atari-BASIC/Colour-bars-Display
@@ -0,0 +1 @@
+../../Task/Colour-bars-Display/Atari-BASIC
\ No newline at end of file
diff --git a/Lang/Atari-BASIC/Draw-a-clock b/Lang/Atari-BASIC/Draw-a-clock
new file mode 120000
index 0000000000..f8dd467da4
--- /dev/null
+++ b/Lang/Atari-BASIC/Draw-a-clock
@@ -0,0 +1 @@
+../../Task/Draw-a-clock/Atari-BASIC
\ No newline at end of file
diff --git a/Lang/Atari-BASIC/Mandelbrot-set b/Lang/Atari-BASIC/Mandelbrot-set
new file mode 120000
index 0000000000..45e66ccff0
--- /dev/null
+++ b/Lang/Atari-BASIC/Mandelbrot-set
@@ -0,0 +1 @@
+../../Task/Mandelbrot-set/Atari-BASIC
\ No newline at end of file
diff --git a/Lang/Atari-BASIC/Musical-scale b/Lang/Atari-BASIC/Musical-scale
new file mode 120000
index 0000000000..b870e25059
--- /dev/null
+++ b/Lang/Atari-BASIC/Musical-scale
@@ -0,0 +1 @@
+../../Task/Musical-scale/Atari-BASIC
\ No newline at end of file
diff --git a/Lang/Atari-BASIC/Pi b/Lang/Atari-BASIC/Pi
new file mode 120000
index 0000000000..b081cc7024
--- /dev/null
+++ b/Lang/Atari-BASIC/Pi
@@ -0,0 +1 @@
+../../Task/Pi/Atari-BASIC
\ No newline at end of file
diff --git a/Lang/Atari-BASIC/Random-number-generator-device- b/Lang/Atari-BASIC/Random-number-generator-device-
new file mode 120000
index 0000000000..bc35b665ee
--- /dev/null
+++ b/Lang/Atari-BASIC/Random-number-generator-device-
@@ -0,0 +1 @@
+../../Task/Random-number-generator-device-/Atari-BASIC
\ No newline at end of file
diff --git a/Lang/Atari-BASIC/Reverse-a-string b/Lang/Atari-BASIC/Reverse-a-string
new file mode 120000
index 0000000000..c2ff7e214b
--- /dev/null
+++ b/Lang/Atari-BASIC/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Atari-BASIC
\ No newline at end of file
diff --git a/Lang/Atari-BASIC/System-time b/Lang/Atari-BASIC/System-time
new file mode 120000
index 0000000000..c4df1e6a39
--- /dev/null
+++ b/Lang/Atari-BASIC/System-time
@@ -0,0 +1 @@
+../../Task/System-time/Atari-BASIC
\ No newline at end of file
diff --git a/Lang/Atari-BASIC/Terminal-control-Hiding-the-cursor b/Lang/Atari-BASIC/Terminal-control-Hiding-the-cursor
new file mode 120000
index 0000000000..78972a34b6
--- /dev/null
+++ b/Lang/Atari-BASIC/Terminal-control-Hiding-the-cursor
@@ -0,0 +1 @@
+../../Task/Terminal-control-Hiding-the-cursor/Atari-BASIC
\ No newline at end of file
diff --git a/Lang/Atari-BASIC/Terminal-control-Inverse-video b/Lang/Atari-BASIC/Terminal-control-Inverse-video
new file mode 120000
index 0000000000..8c57f75946
--- /dev/null
+++ b/Lang/Atari-BASIC/Terminal-control-Inverse-video
@@ -0,0 +1 @@
+../../Task/Terminal-control-Inverse-video/Atari-BASIC
\ No newline at end of file
diff --git a/Lang/Atari-BASIC/Terminal-control-Positional-read b/Lang/Atari-BASIC/Terminal-control-Positional-read
new file mode 120000
index 0000000000..a0575b2278
--- /dev/null
+++ b/Lang/Atari-BASIC/Terminal-control-Positional-read
@@ -0,0 +1 @@
+../../Task/Terminal-control-Positional-read/Atari-BASIC
\ No newline at end of file
diff --git a/Lang/Atari-BASIC/Terminal-control-Ringing-the-terminal-bell b/Lang/Atari-BASIC/Terminal-control-Ringing-the-terminal-bell
new file mode 120000
index 0000000000..3666cabb9e
--- /dev/null
+++ b/Lang/Atari-BASIC/Terminal-control-Ringing-the-terminal-bell
@@ -0,0 +1 @@
+../../Task/Terminal-control-Ringing-the-terminal-bell/Atari-BASIC
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Miller-Rabin-primality-test b/Lang/AutoHotkey/Miller-Rabin-primality-test
deleted file mode 120000
index 518dd6b131..0000000000
--- a/Lang/AutoHotkey/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Quaternion-type b/Lang/AutoHotkey/Quaternion-type
deleted file mode 120000
index 00a1a5a068..0000000000
--- a/Lang/AutoHotkey/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/AutoHotkey/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/AutoHotkey/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/AutoHotkey/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/AutoHotkey/Sequence-smallest-number-with-exactly-n-divisors b/Lang/AutoHotkey/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/AutoHotkey/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/AutoHotkey/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/AutoHotkey/Sorting-Algorithms-Circle-Sort b/Lang/AutoHotkey/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index 975740b1fa..0000000000
--- a/Lang/AutoHotkey/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoLISP/100-doors b/Lang/AutoLISP/100-doors
new file mode 120000
index 0000000000..4d97a8a5d6
--- /dev/null
+++ b/Lang/AutoLISP/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/AutoLISP
\ No newline at end of file
diff --git a/Lang/AutoLISP/Babbage-problem b/Lang/AutoLISP/Babbage-problem
new file mode 120000
index 0000000000..0ae3941c82
--- /dev/null
+++ b/Lang/AutoLISP/Babbage-problem
@@ -0,0 +1 @@
+../../Task/Babbage-problem/AutoLISP
\ No newline at end of file
diff --git a/Lang/AutoLISP/Balanced-brackets b/Lang/AutoLISP/Balanced-brackets
new file mode 120000
index 0000000000..b752cfc1d6
--- /dev/null
+++ b/Lang/AutoLISP/Balanced-brackets
@@ -0,0 +1 @@
+../../Task/Balanced-brackets/AutoLISP
\ No newline at end of file
diff --git a/Lang/AutoLISP/Entropy b/Lang/AutoLISP/Entropy
new file mode 120000
index 0000000000..bc1dec235f
--- /dev/null
+++ b/Lang/AutoLISP/Entropy
@@ -0,0 +1 @@
+../../Task/Entropy/AutoLISP
\ No newline at end of file
diff --git a/Lang/AutoLISP/Entropy-Narcissist b/Lang/AutoLISP/Entropy-Narcissist
new file mode 120000
index 0000000000..0a143c87ce
--- /dev/null
+++ b/Lang/AutoLISP/Entropy-Narcissist
@@ -0,0 +1 @@
+../../Task/Entropy-Narcissist/AutoLISP
\ No newline at end of file
diff --git a/Lang/AutoLISP/Environment-variables b/Lang/AutoLISP/Environment-variables
new file mode 120000
index 0000000000..cc9ceec1ff
--- /dev/null
+++ b/Lang/AutoLISP/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/AutoLISP
\ No newline at end of file
diff --git a/Lang/AutoLISP/Largest-proper-divisor-of-n b/Lang/AutoLISP/Largest-proper-divisor-of-n
new file mode 120000
index 0000000000..48c08fae1a
--- /dev/null
+++ b/Lang/AutoLISP/Largest-proper-divisor-of-n
@@ -0,0 +1 @@
+../../Task/Largest-proper-divisor-of-n/AutoLISP
\ No newline at end of file
diff --git a/Lang/AutoLISP/The-Twelve-Days-of-Christmas b/Lang/AutoLISP/The-Twelve-Days-of-Christmas
new file mode 120000
index 0000000000..3dd7563b0d
--- /dev/null
+++ b/Lang/AutoLISP/The-Twelve-Days-of-Christmas
@@ -0,0 +1 @@
+../../Task/The-Twelve-Days-of-Christmas/AutoLISP
\ No newline at end of file
diff --git a/Lang/Axiom/Quaternion-type b/Lang/Axiom/Quaternion-type
deleted file mode 120000
index 483576377a..0000000000
--- a/Lang/Axiom/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Axiom
\ No newline at end of file
diff --git a/Lang/BASIC/00-LANG.txt b/Lang/BASIC/00-LANG.txt
index 8f4f969193..ddee550d0d 100644
--- a/Lang/BASIC/00-LANG.txt
+++ b/Lang/BASIC/00-LANG.txt
@@ -12,25 +12,56 @@ BASIC became popular, with many different implementations for various computers.
==Links==
*[[wp:BASIC|Wikipedia:BASIC]]
+**[[wp:ASIC]]
+**[[wp:Atari BASIC]]
**[[wp:BASIC-PLUS]]
+**[[wp:Basic-256]]
+**[[wp:Batari BASIC]]
+**[[wp:BBC BASIC]]
**[[wp:Benton Harbor BASIC]]
+**[[wp:Beta BASIC]]
**[[wp:CBASIC]]
**[[wp:Chipmunk Basic]]
+**[[wp:DarkBASIC]]
**[[wp:Dartmouth BASIC]]
+**[[wp:FreeBASIC]]
+**[[wp:FutureBASIC]]
+**[[wp:GFA BASIC]]
+**[[wp:GLBasic]]
+**[[wp:Integer BASIC]]
+**[[wp:Liberty BASIC]]
+**[[wp:Locomotive BASIC]]
**[[wp:Microsoft BASIC]]
***[[wp:Altair BASIC]]
***[[wp:Amiga BASIC]]
***[[wp:Applesoft BASIC]]
***[[wp:Atari Microsoft BASIC]]
***[[wp:Commodore BASIC]]
+***[[wp:Extended Color BASIC]]
***[[wp:IBM BASIC]]
-***[[wp:TRS-80 Level II BASIC ]]
+***[[wp:MS BASIC for Macintosh]]
+***[[wp:MSX BASIC]]
+***[[wp:Small Basic]]
+***[[wp:QBasic]]
+***[[wp:QuickBASIC]]
+***[[wp:TRS-80 Level II BASIC]]
+***[[wp:Visual Basic]]
**[[wp:PowerBASIC]]
**[[wp:PureBasic]]
+**[[wp:QB64]]
+**[[wp:Quite BASIC]]
+**[[wp:RapidQ]]
+**[[wp:Realbasic]]
**[[wp:Rocky Mountain BASIC]]
+**[[wp:Run BASIC]]
**[[wp:S-BASIC]]
+**[[wp:ScriptBasic]]
**[[wp:Sinclair BASIC]]
+**[[wp:SmileBASIC]]
**[[wp:SuperBASIC]]
**[[wp:TI BASIC (TI 99/4A)]]
+**[[wp:Tiny BASIC]]
**[[wp:True BASIC]]
+**[[wp:UBASIC]]
+**[[wp:Yabasic]]
{{language programming paradigm|Procedural}}
\ No newline at end of file
diff --git a/Lang/BASIC/Abundant-deficient-and-perfect-number-classifications b/Lang/BASIC/Abundant-deficient-and-perfect-number-classifications
deleted file mode 120000
index 732a066bdf..0000000000
--- a/Lang/BASIC/Abundant-deficient-and-perfect-number-classifications
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Abundant-deficient-and-perfect-number-classifications/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Arithmetic-derivative b/Lang/BASIC/Arithmetic-derivative
new file mode 120000
index 0000000000..25cf9a8b6a
--- /dev/null
+++ b/Lang/BASIC/Arithmetic-derivative
@@ -0,0 +1 @@
+../../Task/Arithmetic-derivative/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Damm-algorithm b/Lang/BASIC/Damm-algorithm
deleted file mode 120000
index 41ee6d1c36..0000000000
--- a/Lang/BASIC/Damm-algorithm
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Damm-algorithm/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Determine-if-a-string-is-collapsible b/Lang/BASIC/Determine-if-a-string-is-collapsible
deleted file mode 120000
index 87084a2029..0000000000
--- a/Lang/BASIC/Determine-if-a-string-is-collapsible
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Determine-if-a-string-is-collapsible/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Ethiopian-multiplication b/Lang/BASIC/Ethiopian-multiplication
deleted file mode 120000
index 94be458bb2..0000000000
--- a/Lang/BASIC/Ethiopian-multiplication
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Ethiopian-multiplication/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Function-definition b/Lang/BASIC/Function-definition
deleted file mode 120000
index a052c63292..0000000000
--- a/Lang/BASIC/Function-definition
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Function-definition/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Gray-code b/Lang/BASIC/Gray-code
deleted file mode 120000
index f0bc6f352f..0000000000
--- a/Lang/BASIC/Gray-code
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Gray-code/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Mayan-numerals b/Lang/BASIC/Mayan-numerals
deleted file mode 120000
index ae24d05061..0000000000
--- a/Lang/BASIC/Mayan-numerals
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Mayan-numerals/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Monty-Hall-problem b/Lang/BASIC/Monty-Hall-problem
deleted file mode 120000
index ba5a5a279d..0000000000
--- a/Lang/BASIC/Monty-Hall-problem
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Monty-Hall-problem/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Move-to-front-algorithm b/Lang/BASIC/Move-to-front-algorithm
new file mode 120000
index 0000000000..a9f8d4df7e
--- /dev/null
+++ b/Lang/BASIC/Move-to-front-algorithm
@@ -0,0 +1 @@
+../../Task/Move-to-front-algorithm/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Ordered-words b/Lang/BASIC/Ordered-words
new file mode 120000
index 0000000000..dd2f98d4e6
--- /dev/null
+++ b/Lang/BASIC/Ordered-words
@@ -0,0 +1 @@
+../../Task/Ordered-words/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Partition-an-integer-x-into-n-primes b/Lang/BASIC/Partition-an-integer-x-into-n-primes
new file mode 120000
index 0000000000..8db316776d
--- /dev/null
+++ b/Lang/BASIC/Partition-an-integer-x-into-n-primes
@@ -0,0 +1 @@
+../../Task/Partition-an-integer-x-into-n-primes/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Rot-13 b/Lang/BASIC/Rot-13
deleted file mode 120000
index 37a240fe69..0000000000
--- a/Lang/BASIC/Rot-13
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Rot-13/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Sorting-algorithms-Quicksort b/Lang/BASIC/Sorting-algorithms-Quicksort
deleted file mode 120000
index f7976ecb9f..0000000000
--- a/Lang/BASIC/Sorting-algorithms-Quicksort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-algorithms-Quicksort/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Temperature-conversion b/Lang/BASIC/Temperature-conversion
deleted file mode 120000
index 21182b0539..0000000000
--- a/Lang/BASIC/Temperature-conversion
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Temperature-conversion/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC256/Associative-array-Merging b/Lang/BASIC256/Associative-array-Merging
new file mode 120000
index 0000000000..20bef5368f
--- /dev/null
+++ b/Lang/BASIC256/Associative-array-Merging
@@ -0,0 +1 @@
+../../Task/Associative-array-Merging/BASIC256
\ No newline at end of file
diff --git a/Lang/BASIC256/Determine-if-a-string-has-all-the-same-characters b/Lang/BASIC256/Determine-if-a-string-has-all-the-same-characters
new file mode 120000
index 0000000000..0fc88a3804
--- /dev/null
+++ b/Lang/BASIC256/Determine-if-a-string-has-all-the-same-characters
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-has-all-the-same-characters/BASIC256
\ No newline at end of file
diff --git a/Lang/BASIC256/Determine-sentence-type b/Lang/BASIC256/Determine-sentence-type
new file mode 120000
index 0000000000..6be21d3753
--- /dev/null
+++ b/Lang/BASIC256/Determine-sentence-type
@@ -0,0 +1 @@
+../../Task/Determine-sentence-type/BASIC256
\ No newline at end of file
diff --git a/Lang/BASIC256/Eban-numbers b/Lang/BASIC256/Eban-numbers
new file mode 120000
index 0000000000..cc54b44b18
--- /dev/null
+++ b/Lang/BASIC256/Eban-numbers
@@ -0,0 +1 @@
+../../Task/Eban-numbers/BASIC256
\ No newline at end of file
diff --git a/Lang/BASIC256/Empty-program b/Lang/BASIC256/Empty-program
deleted file mode 120000
index 163b273495..0000000000
--- a/Lang/BASIC256/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/BASIC256
\ No newline at end of file
diff --git a/Lang/BASIC256/Evaluate-binomial-coefficients b/Lang/BASIC256/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..415fd5e54e
--- /dev/null
+++ b/Lang/BASIC256/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/BASIC256
\ No newline at end of file
diff --git a/Lang/BASIC256/Kronecker-product b/Lang/BASIC256/Kronecker-product
new file mode 120000
index 0000000000..dd258524fe
--- /dev/null
+++ b/Lang/BASIC256/Kronecker-product
@@ -0,0 +1 @@
+../../Task/Kronecker-product/BASIC256
\ No newline at end of file
diff --git a/Lang/BASIC256/Meissel-Mertens-constant b/Lang/BASIC256/Meissel-Mertens-constant
deleted file mode 120000
index 6ff8d02267..0000000000
--- a/Lang/BASIC256/Meissel-Mertens-constant
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Meissel-Mertens-constant/BASIC256
\ No newline at end of file
diff --git a/Lang/BASIC256/Multiple-regression b/Lang/BASIC256/Multiple-regression
new file mode 120000
index 0000000000..4d8b79e98b
--- /dev/null
+++ b/Lang/BASIC256/Multiple-regression
@@ -0,0 +1 @@
+../../Task/Multiple-regression/BASIC256
\ No newline at end of file
diff --git a/Lang/BASIC256/Nested-templated-data b/Lang/BASIC256/Nested-templated-data
new file mode 120000
index 0000000000..f5ddb43f39
--- /dev/null
+++ b/Lang/BASIC256/Nested-templated-data
@@ -0,0 +1 @@
+../../Task/Nested-templated-data/BASIC256
\ No newline at end of file
diff --git a/Lang/BASIC256/Phrase-reversals b/Lang/BASIC256/Phrase-reversals
new file mode 120000
index 0000000000..7bce29f023
--- /dev/null
+++ b/Lang/BASIC256/Phrase-reversals
@@ -0,0 +1 @@
+../../Task/Phrase-reversals/BASIC256
\ No newline at end of file
diff --git a/Lang/BASIC256/Pythagorean-triples b/Lang/BASIC256/Pythagorean-triples
new file mode 120000
index 0000000000..0ded5bc54d
--- /dev/null
+++ b/Lang/BASIC256/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/BASIC256
\ No newline at end of file
diff --git a/Lang/BASIC256/Quaternion-type b/Lang/BASIC256/Quaternion-type
deleted file mode 120000
index ecfff3f315..0000000000
--- a/Lang/BASIC256/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/BASIC256
\ No newline at end of file
diff --git a/Lang/BASIC256/Ramer-Douglas-Peucker-line-simplification b/Lang/BASIC256/Ramer-Douglas-Peucker-line-simplification
new file mode 120000
index 0000000000..9a890661d4
--- /dev/null
+++ b/Lang/BASIC256/Ramer-Douglas-Peucker-line-simplification
@@ -0,0 +1 @@
+../../Task/Ramer-Douglas-Peucker-line-simplification/BASIC256
\ No newline at end of file
diff --git a/Lang/BASIC256/Sailors-coconuts-and-a-monkey-problem b/Lang/BASIC256/Sailors-coconuts-and-a-monkey-problem
new file mode 120000
index 0000000000..3cfdfb5740
--- /dev/null
+++ b/Lang/BASIC256/Sailors-coconuts-and-a-monkey-problem
@@ -0,0 +1 @@
+../../Task/Sailors-coconuts-and-a-monkey-problem/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
similarity index 100%
rename from Lang/BASIC256/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/BASIC256/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/BASIC256/Sequence-smallest-number-with-exactly-n-divisors b/Lang/BASIC256/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/BASIC256/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/BASIC256/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/BASIC256/Sexy-primes b/Lang/BASIC256/Sexy-primes
new file mode 120000
index 0000000000..86fc0a12b9
--- /dev/null
+++ b/Lang/BASIC256/Sexy-primes
@@ -0,0 +1 @@
+../../Task/Sexy-primes/BASIC256
\ No newline at end of file
diff --git a/Lang/BASIC256/Sort-disjoint-sublist b/Lang/BASIC256/Sort-disjoint-sublist
new file mode 120000
index 0000000000..4422d7b840
--- /dev/null
+++ b/Lang/BASIC256/Sort-disjoint-sublist
@@ -0,0 +1 @@
+../../Task/Sort-disjoint-sublist/BASIC256
\ No newline at end of file
diff --git a/Lang/BASIC256/Twos-complement b/Lang/BASIC256/Twos-complement
new file mode 120000
index 0000000000..8b3d33db0a
--- /dev/null
+++ b/Lang/BASIC256/Twos-complement
@@ -0,0 +1 @@
+../../Task/Twos-complement/BASIC256
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Arbitrary-precision-integers-included- b/Lang/BBC-BASIC/Arbitrary-precision-integers-included-
new file mode 120000
index 0000000000..ca18adffdc
--- /dev/null
+++ b/Lang/BBC-BASIC/Arbitrary-precision-integers-included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers-included-/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Bioinformatics-base-count b/Lang/BBC-BASIC/Bioinformatics-base-count
deleted file mode 120000
index 109612c5db..0000000000
--- a/Lang/BBC-BASIC/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Multi-dimensional-array b/Lang/BBC-BASIC/Multi-dimensional-array
new file mode 120000
index 0000000000..4bc7c4a17c
--- /dev/null
+++ b/Lang/BBC-BASIC/Multi-dimensional-array
@@ -0,0 +1 @@
+../../Task/Multi-dimensional-array/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Quaternion-type b/Lang/BBC-BASIC/Quaternion-type
deleted file mode 120000
index 018816057d..0000000000
--- a/Lang/BBC-BASIC/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BCPL/Move-to-front-algorithm b/Lang/BCPL/Move-to-front-algorithm
new file mode 120000
index 0000000000..27c5309df1
--- /dev/null
+++ b/Lang/BCPL/Move-to-front-algorithm
@@ -0,0 +1 @@
+../../Task/Move-to-front-algorithm/BCPL
\ No newline at end of file
diff --git a/Lang/BCPL/Sequence-smallest-number-with-exactly-n-divisors b/Lang/BCPL/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/BCPL/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/BCPL/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/BCPL/Zeckendorf-number-representation b/Lang/BCPL/Zeckendorf-number-representation
new file mode 120000
index 0000000000..6723808a9f
--- /dev/null
+++ b/Lang/BCPL/Zeckendorf-number-representation
@@ -0,0 +1 @@
+../../Task/Zeckendorf-number-representation/BCPL
\ No newline at end of file
diff --git a/Lang/BQN/Abundant-odd-numbers b/Lang/BQN/Abundant-odd-numbers
new file mode 120000
index 0000000000..fdb56e6ed6
--- /dev/null
+++ b/Lang/BQN/Abundant-odd-numbers
@@ -0,0 +1 @@
+../../Task/Abundant-odd-numbers/BQN
\ No newline at end of file
diff --git a/Lang/BQN/Base64-decode-data b/Lang/BQN/Base64-decode-data
new file mode 120000
index 0000000000..2272b7f2a1
--- /dev/null
+++ b/Lang/BQN/Base64-decode-data
@@ -0,0 +1 @@
+../../Task/Base64-decode-data/BQN
\ No newline at end of file
diff --git a/Lang/BQN/Bell-numbers b/Lang/BQN/Bell-numbers
new file mode 120000
index 0000000000..2c520a34e3
--- /dev/null
+++ b/Lang/BQN/Bell-numbers
@@ -0,0 +1 @@
+../../Task/Bell-numbers/BQN
\ No newline at end of file
diff --git a/Lang/BQN/CUSIP b/Lang/BQN/CUSIP
new file mode 120000
index 0000000000..b7ca66ab5f
--- /dev/null
+++ b/Lang/BQN/CUSIP
@@ -0,0 +1 @@
+../../Task/CUSIP/BQN
\ No newline at end of file
diff --git a/Lang/BQN/Call-an-object-method b/Lang/BQN/Call-an-object-method
new file mode 120000
index 0000000000..eb9e8d9920
--- /dev/null
+++ b/Lang/BQN/Call-an-object-method
@@ -0,0 +1 @@
+../../Task/Call-an-object-method/BQN
\ No newline at end of file
diff --git a/Lang/BQN/Cartesian-product-of-two-or-more-lists b/Lang/BQN/Cartesian-product-of-two-or-more-lists
new file mode 120000
index 0000000000..9eca0c70e0
--- /dev/null
+++ b/Lang/BQN/Cartesian-product-of-two-or-more-lists
@@ -0,0 +1 @@
+../../Task/Cartesian-product-of-two-or-more-lists/BQN
\ No newline at end of file
diff --git a/Lang/BQN/Determine-if-a-string-is-squeezable b/Lang/BQN/Determine-if-a-string-is-squeezable
new file mode 120000
index 0000000000..604c0583b1
--- /dev/null
+++ b/Lang/BQN/Determine-if-a-string-is-squeezable
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-squeezable/BQN
\ No newline at end of file
diff --git a/Lang/BQN/Dutch-national-flag-problem b/Lang/BQN/Dutch-national-flag-problem
new file mode 120000
index 0000000000..c24e10da06
--- /dev/null
+++ b/Lang/BQN/Dutch-national-flag-problem
@@ -0,0 +1 @@
+../../Task/Dutch-national-flag-problem/BQN
\ No newline at end of file
diff --git a/Lang/BQN/Find-common-directory-path b/Lang/BQN/Find-common-directory-path
new file mode 120000
index 0000000000..d4456eaa79
--- /dev/null
+++ b/Lang/BQN/Find-common-directory-path
@@ -0,0 +1 @@
+../../Task/Find-common-directory-path/BQN
\ No newline at end of file
diff --git a/Lang/BQN/Globally-replace-text-in-several-files b/Lang/BQN/Globally-replace-text-in-several-files
new file mode 120000
index 0000000000..b13db5355b
--- /dev/null
+++ b/Lang/BQN/Globally-replace-text-in-several-files
@@ -0,0 +1 @@
+../../Task/Globally-replace-text-in-several-files/BQN
\ No newline at end of file
diff --git a/Lang/BQN/Harmonic-series b/Lang/BQN/Harmonic-series
new file mode 120000
index 0000000000..6efb347667
--- /dev/null
+++ b/Lang/BQN/Harmonic-series
@@ -0,0 +1 @@
+../../Task/Harmonic-series/BQN
\ No newline at end of file
diff --git a/Lang/BQN/I-before-E-except-after-C b/Lang/BQN/I-before-E-except-after-C
new file mode 120000
index 0000000000..5fd82fbd92
--- /dev/null
+++ b/Lang/BQN/I-before-E-except-after-C
@@ -0,0 +1 @@
+../../Task/I-before-E-except-after-C/BQN
\ No newline at end of file
diff --git a/Lang/BQN/IBAN b/Lang/BQN/IBAN
new file mode 120000
index 0000000000..501e54d38b
--- /dev/null
+++ b/Lang/BQN/IBAN
@@ -0,0 +1 @@
+../../Task/IBAN/BQN
\ No newline at end of file
diff --git a/Lang/BQN/ISBN13-check-digit b/Lang/BQN/ISBN13-check-digit
new file mode 120000
index 0000000000..70feb3a0c6
--- /dev/null
+++ b/Lang/BQN/ISBN13-check-digit
@@ -0,0 +1 @@
+../../Task/ISBN13-check-digit/BQN
\ No newline at end of file
diff --git a/Lang/BQN/Miller-Rabin-primality-test b/Lang/BQN/Miller-Rabin-primality-test
deleted file mode 120000
index 88fd3a622d..0000000000
--- a/Lang/BQN/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/BQN
\ No newline at end of file
diff --git a/Lang/BQN/Phrase-reversals b/Lang/BQN/Phrase-reversals
new file mode 120000
index 0000000000..a35381900f
--- /dev/null
+++ b/Lang/BQN/Phrase-reversals
@@ -0,0 +1 @@
+../../Task/Phrase-reversals/BQN
\ No newline at end of file
diff --git a/Lang/BQN/Self-describing-numbers b/Lang/BQN/Self-describing-numbers
new file mode 120000
index 0000000000..394307e5cb
--- /dev/null
+++ b/Lang/BQN/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/BQN
\ No newline at end of file
diff --git a/Lang/BQN/Sort-disjoint-sublist b/Lang/BQN/Sort-disjoint-sublist
new file mode 120000
index 0000000000..b6e62b246c
--- /dev/null
+++ b/Lang/BQN/Sort-disjoint-sublist
@@ -0,0 +1 @@
+../../Task/Sort-disjoint-sublist/BQN
\ No newline at end of file
diff --git a/Lang/BQN/Tau-number b/Lang/BQN/Tau-number
new file mode 120000
index 0000000000..0d0f120696
--- /dev/null
+++ b/Lang/BQN/Tau-number
@@ -0,0 +1 @@
+../../Task/Tau-number/BQN
\ No newline at end of file
diff --git a/Lang/BQN/Water-collected-between-towers b/Lang/BQN/Water-collected-between-towers
new file mode 120000
index 0000000000..905f66c364
--- /dev/null
+++ b/Lang/BQN/Water-collected-between-towers
@@ -0,0 +1 @@
+../../Task/Water-collected-between-towers/BQN
\ No newline at end of file
diff --git a/Lang/BaCon/Copy-a-string b/Lang/BaCon/Copy-a-string
deleted file mode 120000
index a2df7bcd98..0000000000
--- a/Lang/BaCon/Copy-a-string
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Copy-a-string/BaCon
\ No newline at end of file
diff --git a/Lang/Bait/Array-length b/Lang/Bait/Array-length
new file mode 120000
index 0000000000..986225a090
--- /dev/null
+++ b/Lang/Bait/Array-length
@@ -0,0 +1 @@
+../../Task/Array-length/Bait
\ No newline at end of file
diff --git a/Lang/Bait/Empty-string b/Lang/Bait/Empty-string
new file mode 120000
index 0000000000..b1bbee2da3
--- /dev/null
+++ b/Lang/Bait/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/Bait
\ No newline at end of file
diff --git a/Lang/Bait/Loops-Continue b/Lang/Bait/Loops-Continue
new file mode 120000
index 0000000000..6e3768fbb1
--- /dev/null
+++ b/Lang/Bait/Loops-Continue
@@ -0,0 +1 @@
+../../Task/Loops-Continue/Bait
\ No newline at end of file
diff --git a/Lang/Ballerina/00-LANG.txt b/Lang/Ballerina/00-LANG.txt
index af215acfd5..211ba0fe40 100644
--- a/Lang/Ballerina/00-LANG.txt
+++ b/Lang/Ballerina/00-LANG.txt
@@ -1 +1,20 @@
-{{stub}}{{language|Ballerina}}
\ No newline at end of file
+{{language|Ballerina
+|exec=bytecode
+|strength=strong
+|safety=safe
+|express=explicit
+|checking=static
+|gc=yes
+|hopl=no
+|site=https://ballerina.io
+}}
+'''[https://en.wikipedia.org/wiki/Ballerina_(programming_language) Ballerina]''' is an open source general-purpose programming language designed and supported by [https://wso2.com/ WSO2] for cloud-era application programmers.
+
+It is under development on [https://github.com/ballerina-platform/ballerina-lang GitHub] and is fully documented [https://ballerina.io here].
+
+Ballerina was first publicly announced in 2017 and version 1.0 was released on September 10, 2019. However, a major overhaul took place in 2022 when [https://blog.ballerina.io/posts/2022-02-01-announcing-ballerina-2201.0.0-swan-lake/ Ballerina 2201.0.0 (Swan Lake)] was released.
+
+The current version (2201.12.3) has distributions available for Windows, Linux and macOS and can be downloaded [https://ballerina.io/downloads/ here].
+
+== See Also ==
+* [https://ballerina.io/learn/by-example/ Ballerina by Example]
\ No newline at end of file
diff --git a/Lang/Ballerina/100-doors b/Lang/Ballerina/100-doors
new file mode 120000
index 0000000000..833a0fc189
--- /dev/null
+++ b/Lang/Ballerina/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/99-bottles-of-beer b/Lang/Ballerina/99-bottles-of-beer
new file mode 120000
index 0000000000..b3bd8e29e3
--- /dev/null
+++ b/Lang/Ballerina/99-bottles-of-beer
@@ -0,0 +1 @@
+../../Task/99-bottles-of-beer/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/A+B b/Lang/Ballerina/A+B
new file mode 120000
index 0000000000..e9aab74a73
--- /dev/null
+++ b/Lang/Ballerina/A+B
@@ -0,0 +1 @@
+../../Task/A+B/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/ABC-problem b/Lang/Ballerina/ABC-problem
new file mode 120000
index 0000000000..49ca7ac9ad
--- /dev/null
+++ b/Lang/Ballerina/ABC-problem
@@ -0,0 +1 @@
+../../Task/ABC-problem/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/AKS-test-for-primes b/Lang/Ballerina/AKS-test-for-primes
new file mode 120000
index 0000000000..9b19f08d80
--- /dev/null
+++ b/Lang/Ballerina/AKS-test-for-primes
@@ -0,0 +1 @@
+../../Task/AKS-test-for-primes/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Abundant-deficient-and-perfect-number-classifications b/Lang/Ballerina/Abundant-deficient-and-perfect-number-classifications
new file mode 120000
index 0000000000..b5353658a4
--- /dev/null
+++ b/Lang/Ballerina/Abundant-deficient-and-perfect-number-classifications
@@ -0,0 +1 @@
+../../Task/Abundant-deficient-and-perfect-number-classifications/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Abundant-odd-numbers b/Lang/Ballerina/Abundant-odd-numbers
new file mode 120000
index 0000000000..0b3a97c4a1
--- /dev/null
+++ b/Lang/Ballerina/Abundant-odd-numbers
@@ -0,0 +1 @@
+../../Task/Abundant-odd-numbers/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Accumulator-factory b/Lang/Ballerina/Accumulator-factory
new file mode 120000
index 0000000000..837dbbe6a0
--- /dev/null
+++ b/Lang/Ballerina/Accumulator-factory
@@ -0,0 +1 @@
+../../Task/Accumulator-factory/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Achilles-numbers b/Lang/Ballerina/Achilles-numbers
new file mode 120000
index 0000000000..3336ab1c37
--- /dev/null
+++ b/Lang/Ballerina/Achilles-numbers
@@ -0,0 +1 @@
+../../Task/Achilles-numbers/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Ackermann-function b/Lang/Ballerina/Ackermann-function
new file mode 120000
index 0000000000..b9748d884d
--- /dev/null
+++ b/Lang/Ballerina/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Add-a-variable-to-a-class-instance-at-runtime b/Lang/Ballerina/Add-a-variable-to-a-class-instance-at-runtime
new file mode 120000
index 0000000000..12efd91bd6
--- /dev/null
+++ b/Lang/Ballerina/Add-a-variable-to-a-class-instance-at-runtime
@@ -0,0 +1 @@
+../../Task/Add-a-variable-to-a-class-instance-at-runtime/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Additive-primes b/Lang/Ballerina/Additive-primes
new file mode 120000
index 0000000000..a504210ea7
--- /dev/null
+++ b/Lang/Ballerina/Additive-primes
@@ -0,0 +1 @@
+../../Task/Additive-primes/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Address-of-a-variable b/Lang/Ballerina/Address-of-a-variable
new file mode 120000
index 0000000000..6428e75ce3
--- /dev/null
+++ b/Lang/Ballerina/Address-of-a-variable
@@ -0,0 +1 @@
+../../Task/Address-of-a-variable/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Almost-prime b/Lang/Ballerina/Almost-prime
new file mode 120000
index 0000000000..33d501af1e
--- /dev/null
+++ b/Lang/Ballerina/Almost-prime
@@ -0,0 +1 @@
+../../Task/Almost-prime/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Amb b/Lang/Ballerina/Amb
new file mode 120000
index 0000000000..7acc58d7c4
--- /dev/null
+++ b/Lang/Ballerina/Amb
@@ -0,0 +1 @@
+../../Task/Amb/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Angle-difference-between-two-bearings b/Lang/Ballerina/Angle-difference-between-two-bearings
new file mode 120000
index 0000000000..04ff00d986
--- /dev/null
+++ b/Lang/Ballerina/Angle-difference-between-two-bearings
@@ -0,0 +1 @@
+../../Task/Angle-difference-between-two-bearings/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Anti-primes b/Lang/Ballerina/Anti-primes
new file mode 120000
index 0000000000..9911fc0bcb
--- /dev/null
+++ b/Lang/Ballerina/Anti-primes
@@ -0,0 +1 @@
+../../Task/Anti-primes/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Apply-a-callback-to-an-array b/Lang/Ballerina/Apply-a-callback-to-an-array
new file mode 120000
index 0000000000..9911480671
--- /dev/null
+++ b/Lang/Ballerina/Apply-a-callback-to-an-array
@@ -0,0 +1 @@
+../../Task/Apply-a-callback-to-an-array/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Approximate-equality b/Lang/Ballerina/Approximate-equality
new file mode 120000
index 0000000000..0ea6692d0d
--- /dev/null
+++ b/Lang/Ballerina/Approximate-equality
@@ -0,0 +1 @@
+../../Task/Approximate-equality/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Arithmetic-Complex b/Lang/Ballerina/Arithmetic-Complex
new file mode 120000
index 0000000000..f87fd15204
--- /dev/null
+++ b/Lang/Ballerina/Arithmetic-Complex
@@ -0,0 +1 @@
+../../Task/Arithmetic-Complex/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Arithmetic-Integer b/Lang/Ballerina/Arithmetic-Integer
new file mode 120000
index 0000000000..a4c8cf5206
--- /dev/null
+++ b/Lang/Ballerina/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Arithmetic-Rational b/Lang/Ballerina/Arithmetic-Rational
new file mode 120000
index 0000000000..422af5f88b
--- /dev/null
+++ b/Lang/Ballerina/Arithmetic-Rational
@@ -0,0 +1 @@
+../../Task/Arithmetic-Rational/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Arithmetic-numbers b/Lang/Ballerina/Arithmetic-numbers
new file mode 120000
index 0000000000..38541780a0
--- /dev/null
+++ b/Lang/Ballerina/Arithmetic-numbers
@@ -0,0 +1 @@
+../../Task/Arithmetic-numbers/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Array-concatenation b/Lang/Ballerina/Array-concatenation
new file mode 120000
index 0000000000..41c2603b74
--- /dev/null
+++ b/Lang/Ballerina/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Array-length b/Lang/Ballerina/Array-length
new file mode 120000
index 0000000000..25020148f9
--- /dev/null
+++ b/Lang/Ballerina/Array-length
@@ -0,0 +1 @@
+../../Task/Array-length/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Arrays b/Lang/Ballerina/Arrays
new file mode 120000
index 0000000000..ec5c5a266e
--- /dev/null
+++ b/Lang/Ballerina/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Ascending-primes b/Lang/Ballerina/Ascending-primes
new file mode 120000
index 0000000000..51444ceb96
--- /dev/null
+++ b/Lang/Ballerina/Ascending-primes
@@ -0,0 +1 @@
+../../Task/Ascending-primes/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Associative-array-Creation b/Lang/Ballerina/Associative-array-Creation
new file mode 120000
index 0000000000..2639b285f3
--- /dev/null
+++ b/Lang/Ballerina/Associative-array-Creation
@@ -0,0 +1 @@
+../../Task/Associative-array-Creation/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Associative-array-Iteration b/Lang/Ballerina/Associative-array-Iteration
new file mode 120000
index 0000000000..d3e31d2374
--- /dev/null
+++ b/Lang/Ballerina/Associative-array-Iteration
@@ -0,0 +1 @@
+../../Task/Associative-array-Iteration/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Associative-array-Merging b/Lang/Ballerina/Associative-array-Merging
new file mode 120000
index 0000000000..cd38137d75
--- /dev/null
+++ b/Lang/Ballerina/Associative-array-Merging
@@ -0,0 +1 @@
+../../Task/Associative-array-Merging/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Averages-Arithmetic-mean b/Lang/Ballerina/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..039d1f0de8
--- /dev/null
+++ b/Lang/Ballerina/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Averages-Mean-angle b/Lang/Ballerina/Averages-Mean-angle
new file mode 120000
index 0000000000..adf77693ce
--- /dev/null
+++ b/Lang/Ballerina/Averages-Mean-angle
@@ -0,0 +1 @@
+../../Task/Averages-Mean-angle/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Averages-Mean-time-of-day b/Lang/Ballerina/Averages-Mean-time-of-day
new file mode 120000
index 0000000000..c969ed84e4
--- /dev/null
+++ b/Lang/Ballerina/Averages-Mean-time-of-day
@@ -0,0 +1 @@
+../../Task/Averages-Mean-time-of-day/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Averages-Median b/Lang/Ballerina/Averages-Median
new file mode 120000
index 0000000000..5bbd39cecb
--- /dev/null
+++ b/Lang/Ballerina/Averages-Median
@@ -0,0 +1 @@
+../../Task/Averages-Median/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Averages-Mode b/Lang/Ballerina/Averages-Mode
new file mode 120000
index 0000000000..72d0e02dae
--- /dev/null
+++ b/Lang/Ballerina/Averages-Mode
@@ -0,0 +1 @@
+../../Task/Averages-Mode/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Averages-Pythagorean-means b/Lang/Ballerina/Averages-Pythagorean-means
new file mode 120000
index 0000000000..fd607a9ee8
--- /dev/null
+++ b/Lang/Ballerina/Averages-Pythagorean-means
@@ -0,0 +1 @@
+../../Task/Averages-Pythagorean-means/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Averages-Root-mean-square b/Lang/Ballerina/Averages-Root-mean-square
new file mode 120000
index 0000000000..48056410d9
--- /dev/null
+++ b/Lang/Ballerina/Averages-Root-mean-square
@@ -0,0 +1 @@
+../../Task/Averages-Root-mean-square/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Averages-Simple-moving-average b/Lang/Ballerina/Averages-Simple-moving-average
new file mode 120000
index 0000000000..7e2849cced
--- /dev/null
+++ b/Lang/Ballerina/Averages-Simple-moving-average
@@ -0,0 +1 @@
+../../Task/Averages-Simple-moving-average/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Balanced-brackets b/Lang/Ballerina/Balanced-brackets
new file mode 120000
index 0000000000..3d78b77dd3
--- /dev/null
+++ b/Lang/Ballerina/Balanced-brackets
@@ -0,0 +1 @@
+../../Task/Balanced-brackets/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Binary-digits b/Lang/Ballerina/Binary-digits
new file mode 120000
index 0000000000..47999ed558
--- /dev/null
+++ b/Lang/Ballerina/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Boolean-values b/Lang/Ballerina/Boolean-values
new file mode 120000
index 0000000000..c01657f16a
--- /dev/null
+++ b/Lang/Ballerina/Boolean-values
@@ -0,0 +1 @@
+../../Task/Boolean-values/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Caesar-cipher b/Lang/Ballerina/Caesar-cipher
new file mode 120000
index 0000000000..8e1a6603e9
--- /dev/null
+++ b/Lang/Ballerina/Caesar-cipher
@@ -0,0 +1 @@
+../../Task/Caesar-cipher/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Calculating-the-value-of-e b/Lang/Ballerina/Calculating-the-value-of-e
new file mode 120000
index 0000000000..af3085b824
--- /dev/null
+++ b/Lang/Ballerina/Calculating-the-value-of-e
@@ -0,0 +1 @@
+../../Task/Calculating-the-value-of-e/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Case-sensitivity-of-identifiers b/Lang/Ballerina/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..42725d41da
--- /dev/null
+++ b/Lang/Ballerina/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Character-codes b/Lang/Ballerina/Character-codes
new file mode 120000
index 0000000000..6abede048f
--- /dev/null
+++ b/Lang/Ballerina/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Classes b/Lang/Ballerina/Classes
new file mode 120000
index 0000000000..0c8bd2434d
--- /dev/null
+++ b/Lang/Ballerina/Classes
@@ -0,0 +1 @@
+../../Task/Classes/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Commatizing-numbers b/Lang/Ballerina/Commatizing-numbers
new file mode 120000
index 0000000000..a644eda1b6
--- /dev/null
+++ b/Lang/Ballerina/Commatizing-numbers
@@ -0,0 +1 @@
+../../Task/Commatizing-numbers/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Comments b/Lang/Ballerina/Comments
new file mode 120000
index 0000000000..6b5d53ddee
--- /dev/null
+++ b/Lang/Ballerina/Comments
@@ -0,0 +1 @@
+../../Task/Comments/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Copy-a-string b/Lang/Ballerina/Copy-a-string
new file mode 120000
index 0000000000..ce5773b181
--- /dev/null
+++ b/Lang/Ballerina/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Count-in-octal b/Lang/Ballerina/Count-in-octal
new file mode 120000
index 0000000000..7e70a67830
--- /dev/null
+++ b/Lang/Ballerina/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Currency b/Lang/Ballerina/Currency
new file mode 120000
index 0000000000..2b278dfa20
--- /dev/null
+++ b/Lang/Ballerina/Currency
@@ -0,0 +1 @@
+../../Task/Currency/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Currying b/Lang/Ballerina/Currying
new file mode 120000
index 0000000000..7e465c7834
--- /dev/null
+++ b/Lang/Ballerina/Currying
@@ -0,0 +1 @@
+../../Task/Currying/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Dot-product b/Lang/Ballerina/Dot-product
new file mode 120000
index 0000000000..327f9d0969
--- /dev/null
+++ b/Lang/Ballerina/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Dynamic-variable-names b/Lang/Ballerina/Dynamic-variable-names
new file mode 120000
index 0000000000..5c549728ae
--- /dev/null
+++ b/Lang/Ballerina/Dynamic-variable-names
@@ -0,0 +1 @@
+../../Task/Dynamic-variable-names/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Empty-string b/Lang/Ballerina/Empty-string
new file mode 120000
index 0000000000..a86a0ffc9d
--- /dev/null
+++ b/Lang/Ballerina/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Even-or-odd b/Lang/Ballerina/Even-or-odd
new file mode 120000
index 0000000000..2d8b1b90ab
--- /dev/null
+++ b/Lang/Ballerina/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Extreme-floating-point-values b/Lang/Ballerina/Extreme-floating-point-values
new file mode 120000
index 0000000000..7f91d37268
--- /dev/null
+++ b/Lang/Ballerina/Extreme-floating-point-values
@@ -0,0 +1 @@
+../../Task/Extreme-floating-point-values/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Factors-of-an-integer b/Lang/Ballerina/Factors-of-an-integer
new file mode 120000
index 0000000000..ac634eef84
--- /dev/null
+++ b/Lang/Ballerina/Factors-of-an-integer
@@ -0,0 +1 @@
+../../Task/Factors-of-an-integer/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Farey-sequence b/Lang/Ballerina/Farey-sequence
new file mode 120000
index 0000000000..d542459c5f
--- /dev/null
+++ b/Lang/Ballerina/Farey-sequence
@@ -0,0 +1 @@
+../../Task/Farey-sequence/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Fibonacci-sequence b/Lang/Ballerina/Fibonacci-sequence
new file mode 120000
index 0000000000..96031e7d01
--- /dev/null
+++ b/Lang/Ballerina/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Filter b/Lang/Ballerina/Filter
new file mode 120000
index 0000000000..b57b5e74be
--- /dev/null
+++ b/Lang/Ballerina/Filter
@@ -0,0 +1 @@
+../../Task/Filter/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Find-limit-of-recursion b/Lang/Ballerina/Find-limit-of-recursion
new file mode 120000
index 0000000000..0c9c45aca0
--- /dev/null
+++ b/Lang/Ballerina/Find-limit-of-recursion
@@ -0,0 +1 @@
+../../Task/Find-limit-of-recursion/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Fivenum b/Lang/Ballerina/Fivenum
new file mode 120000
index 0000000000..0df90aeb78
--- /dev/null
+++ b/Lang/Ballerina/Fivenum
@@ -0,0 +1 @@
+../../Task/Fivenum/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/FizzBuzz b/Lang/Ballerina/FizzBuzz
new file mode 120000
index 0000000000..e7f3aa8019
--- /dev/null
+++ b/Lang/Ballerina/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Floyds-triangle b/Lang/Ballerina/Floyds-triangle
new file mode 120000
index 0000000000..524ef8d9d5
--- /dev/null
+++ b/Lang/Ballerina/Floyds-triangle
@@ -0,0 +1 @@
+../../Task/Floyds-triangle/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Four-bit-adder b/Lang/Ballerina/Four-bit-adder
new file mode 120000
index 0000000000..da1ccb0292
--- /dev/null
+++ b/Lang/Ballerina/Four-bit-adder
@@ -0,0 +1 @@
+../../Task/Four-bit-adder/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Function-definition b/Lang/Ballerina/Function-definition
new file mode 120000
index 0000000000..aad5e07c0c
--- /dev/null
+++ b/Lang/Ballerina/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Gapful-numbers b/Lang/Ballerina/Gapful-numbers
new file mode 120000
index 0000000000..16bb3670f6
--- /dev/null
+++ b/Lang/Ballerina/Gapful-numbers
@@ -0,0 +1 @@
+../../Task/Gapful-numbers/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Greatest-common-divisor b/Lang/Ballerina/Greatest-common-divisor
new file mode 120000
index 0000000000..0f657f13a6
--- /dev/null
+++ b/Lang/Ballerina/Greatest-common-divisor
@@ -0,0 +1 @@
+../../Task/Greatest-common-divisor/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Greatest-element-of-a-list b/Lang/Ballerina/Greatest-element-of-a-list
new file mode 120000
index 0000000000..579d0c3022
--- /dev/null
+++ b/Lang/Ballerina/Greatest-element-of-a-list
@@ -0,0 +1 @@
+../../Task/Greatest-element-of-a-list/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Greatest-subsequential-sum b/Lang/Ballerina/Greatest-subsequential-sum
new file mode 120000
index 0000000000..edc1a686d7
--- /dev/null
+++ b/Lang/Ballerina/Greatest-subsequential-sum
@@ -0,0 +1 @@
+../../Task/Greatest-subsequential-sum/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Hailstone-sequence b/Lang/Ballerina/Hailstone-sequence
new file mode 120000
index 0000000000..41dfb14066
--- /dev/null
+++ b/Lang/Ballerina/Hailstone-sequence
@@ -0,0 +1 @@
+../../Task/Hailstone-sequence/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Hello-world-Graphical b/Lang/Ballerina/Hello-world-Graphical
new file mode 120000
index 0000000000..4e2e7e9224
--- /dev/null
+++ b/Lang/Ballerina/Hello-world-Graphical
@@ -0,0 +1 @@
+../../Task/Hello-world-Graphical/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Hello-world-Newbie b/Lang/Ballerina/Hello-world-Newbie
new file mode 120000
index 0000000000..b59c1b36e9
--- /dev/null
+++ b/Lang/Ballerina/Hello-world-Newbie
@@ -0,0 +1 @@
+../../Task/Hello-world-Newbie/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Hello-world-Newline-omission b/Lang/Ballerina/Hello-world-Newline-omission
new file mode 120000
index 0000000000..1016c5553e
--- /dev/null
+++ b/Lang/Ballerina/Hello-world-Newline-omission
@@ -0,0 +1 @@
+../../Task/Hello-world-Newline-omission/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Hello-world-Standard-error b/Lang/Ballerina/Hello-world-Standard-error
new file mode 120000
index 0000000000..c4921dce1f
--- /dev/null
+++ b/Lang/Ballerina/Hello-world-Standard-error
@@ -0,0 +1 @@
+../../Task/Hello-world-Standard-error/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Increment-a-numerical-string b/Lang/Ballerina/Increment-a-numerical-string
new file mode 120000
index 0000000000..712faa77bf
--- /dev/null
+++ b/Lang/Ballerina/Increment-a-numerical-string
@@ -0,0 +1 @@
+../../Task/Increment-a-numerical-string/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Integer-comparison b/Lang/Ballerina/Integer-comparison
new file mode 120000
index 0000000000..8563637dab
--- /dev/null
+++ b/Lang/Ballerina/Integer-comparison
@@ -0,0 +1 @@
+../../Task/Integer-comparison/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Integer-sequence b/Lang/Ballerina/Integer-sequence
new file mode 120000
index 0000000000..06b95f33f5
--- /dev/null
+++ b/Lang/Ballerina/Integer-sequence
@@ -0,0 +1 @@
+../../Task/Integer-sequence/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Levenshtein-distance b/Lang/Ballerina/Levenshtein-distance
new file mode 120000
index 0000000000..4824e03354
--- /dev/null
+++ b/Lang/Ballerina/Levenshtein-distance
@@ -0,0 +1 @@
+../../Task/Levenshtein-distance/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Logical-operations b/Lang/Ballerina/Logical-operations
new file mode 120000
index 0000000000..06b4043fcb
--- /dev/null
+++ b/Lang/Ballerina/Logical-operations
@@ -0,0 +1 @@
+../../Task/Logical-operations/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Loop-over-multiple-arrays-simultaneously b/Lang/Ballerina/Loop-over-multiple-arrays-simultaneously
new file mode 120000
index 0000000000..9b68d094d5
--- /dev/null
+++ b/Lang/Ballerina/Loop-over-multiple-arrays-simultaneously
@@ -0,0 +1 @@
+../../Task/Loop-over-multiple-arrays-simultaneously/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Loops-Break b/Lang/Ballerina/Loops-Break
new file mode 120000
index 0000000000..6ab612b087
--- /dev/null
+++ b/Lang/Ballerina/Loops-Break
@@ -0,0 +1 @@
+../../Task/Loops-Break/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Loops-Continue b/Lang/Ballerina/Loops-Continue
new file mode 120000
index 0000000000..175be123b9
--- /dev/null
+++ b/Lang/Ballerina/Loops-Continue
@@ -0,0 +1 @@
+../../Task/Loops-Continue/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Loops-Do-while b/Lang/Ballerina/Loops-Do-while
new file mode 120000
index 0000000000..b90c6b3171
--- /dev/null
+++ b/Lang/Ballerina/Loops-Do-while
@@ -0,0 +1 @@
+../../Task/Loops-Do-while/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Loops-Downward-for b/Lang/Ballerina/Loops-Downward-for
new file mode 120000
index 0000000000..e977389f54
--- /dev/null
+++ b/Lang/Ballerina/Loops-Downward-for
@@ -0,0 +1 @@
+../../Task/Loops-Downward-for/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Loops-For b/Lang/Ballerina/Loops-For
new file mode 120000
index 0000000000..8ad2b8fd0c
--- /dev/null
+++ b/Lang/Ballerina/Loops-For
@@ -0,0 +1 @@
+../../Task/Loops-For/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Loops-For-with-a-specified-step b/Lang/Ballerina/Loops-For-with-a-specified-step
new file mode 120000
index 0000000000..cc892dc7f2
--- /dev/null
+++ b/Lang/Ballerina/Loops-For-with-a-specified-step
@@ -0,0 +1 @@
+../../Task/Loops-For-with-a-specified-step/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Loops-Foreach b/Lang/Ballerina/Loops-Foreach
new file mode 120000
index 0000000000..f819fadabe
--- /dev/null
+++ b/Lang/Ballerina/Loops-Foreach
@@ -0,0 +1 @@
+../../Task/Loops-Foreach/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Loops-Increment-loop-index-within-loop-body b/Lang/Ballerina/Loops-Increment-loop-index-within-loop-body
new file mode 120000
index 0000000000..1c9b81a58a
--- /dev/null
+++ b/Lang/Ballerina/Loops-Increment-loop-index-within-loop-body
@@ -0,0 +1 @@
+../../Task/Loops-Increment-loop-index-within-loop-body/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Loops-Infinite b/Lang/Ballerina/Loops-Infinite
new file mode 120000
index 0000000000..312369ce48
--- /dev/null
+++ b/Lang/Ballerina/Loops-Infinite
@@ -0,0 +1 @@
+../../Task/Loops-Infinite/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Loops-N-plus-one-half b/Lang/Ballerina/Loops-N-plus-one-half
new file mode 120000
index 0000000000..220ecbad7f
--- /dev/null
+++ b/Lang/Ballerina/Loops-N-plus-one-half
@@ -0,0 +1 @@
+../../Task/Loops-N-plus-one-half/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Loops-Nested b/Lang/Ballerina/Loops-Nested
new file mode 120000
index 0000000000..f32c9a3c17
--- /dev/null
+++ b/Lang/Ballerina/Loops-Nested
@@ -0,0 +1 @@
+../../Task/Loops-Nested/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Loops-With-multiple-ranges b/Lang/Ballerina/Loops-With-multiple-ranges
new file mode 120000
index 0000000000..2fad29a9f9
--- /dev/null
+++ b/Lang/Ballerina/Loops-With-multiple-ranges
@@ -0,0 +1 @@
+../../Task/Loops-With-multiple-ranges/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Loops-Wrong-ranges b/Lang/Ballerina/Loops-Wrong-ranges
new file mode 120000
index 0000000000..6c8ada2aa7
--- /dev/null
+++ b/Lang/Ballerina/Loops-Wrong-ranges
@@ -0,0 +1 @@
+../../Task/Loops-Wrong-ranges/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Palindrome-detection b/Lang/Ballerina/Palindrome-detection
new file mode 120000
index 0000000000..981d11f5cd
--- /dev/null
+++ b/Lang/Ballerina/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Repeat-a-string b/Lang/Ballerina/Repeat-a-string
new file mode 120000
index 0000000000..83134ceac0
--- /dev/null
+++ b/Lang/Ballerina/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Reverse-a-string b/Lang/Ballerina/Reverse-a-string
new file mode 120000
index 0000000000..f4e8e73220
--- /dev/null
+++ b/Lang/Ballerina/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Rot-13 b/Lang/Ballerina/Rot-13
new file mode 120000
index 0000000000..d33ecacc03
--- /dev/null
+++ b/Lang/Ballerina/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Sieve-of-Eratosthenes b/Lang/Ballerina/Sieve-of-Eratosthenes
new file mode 120000
index 0000000000..4cae2a9d5e
--- /dev/null
+++ b/Lang/Ballerina/Sieve-of-Eratosthenes
@@ -0,0 +1 @@
+../../Task/Sieve-of-Eratosthenes/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Stack b/Lang/Ballerina/Stack
new file mode 120000
index 0000000000..e073045735
--- /dev/null
+++ b/Lang/Ballerina/Stack
@@ -0,0 +1 @@
+../../Task/Stack/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Statistics-Basic b/Lang/Ballerina/Statistics-Basic
new file mode 120000
index 0000000000..7ef892b782
--- /dev/null
+++ b/Lang/Ballerina/Statistics-Basic
@@ -0,0 +1 @@
+../../Task/Statistics-Basic/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/String-case b/Lang/Ballerina/String-case
new file mode 120000
index 0000000000..091d633ac8
--- /dev/null
+++ b/Lang/Ballerina/String-case
@@ -0,0 +1 @@
+../../Task/String-case/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/String-concatenation b/Lang/Ballerina/String-concatenation
new file mode 120000
index 0000000000..a5a366085e
--- /dev/null
+++ b/Lang/Ballerina/String-concatenation
@@ -0,0 +1 @@
+../../Task/String-concatenation/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/String-length b/Lang/Ballerina/String-length
new file mode 120000
index 0000000000..0cdb126aa0
--- /dev/null
+++ b/Lang/Ballerina/String-length
@@ -0,0 +1 @@
+../../Task/String-length/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Sum-and-product-of-an-array b/Lang/Ballerina/Sum-and-product-of-an-array
new file mode 120000
index 0000000000..a5ba732cde
--- /dev/null
+++ b/Lang/Ballerina/Sum-and-product-of-an-array
@@ -0,0 +1 @@
+../../Task/Sum-and-product-of-an-array/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Sum-of-a-series b/Lang/Ballerina/Sum-of-a-series
new file mode 120000
index 0000000000..27da1c4b06
--- /dev/null
+++ b/Lang/Ballerina/Sum-of-a-series
@@ -0,0 +1 @@
+../../Task/Sum-of-a-series/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Sum-of-squares b/Lang/Ballerina/Sum-of-squares
new file mode 120000
index 0000000000..9f1e366796
--- /dev/null
+++ b/Lang/Ballerina/Sum-of-squares
@@ -0,0 +1 @@
+../../Task/Sum-of-squares/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Tokenize-a-string b/Lang/Ballerina/Tokenize-a-string
new file mode 120000
index 0000000000..d9a64c3a3e
--- /dev/null
+++ b/Lang/Ballerina/Tokenize-a-string
@@ -0,0 +1 @@
+../../Task/Tokenize-a-string/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Towers-of-Hanoi b/Lang/Ballerina/Towers-of-Hanoi
new file mode 120000
index 0000000000..81bf7985bd
--- /dev/null
+++ b/Lang/Ballerina/Towers-of-Hanoi
@@ -0,0 +1 @@
+../../Task/Towers-of-Hanoi/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Truncatable-primes b/Lang/Ballerina/Truncatable-primes
new file mode 120000
index 0000000000..044dcb5d58
--- /dev/null
+++ b/Lang/Ballerina/Truncatable-primes
@@ -0,0 +1 @@
+../../Task/Truncatable-primes/Ballerina
\ No newline at end of file
diff --git a/Lang/Ballerina/Unicode-variable-names b/Lang/Ballerina/Unicode-variable-names
new file mode 120000
index 0000000000..7f61255815
--- /dev/null
+++ b/Lang/Ballerina/Unicode-variable-names
@@ -0,0 +1 @@
+../../Task/Unicode-variable-names/Ballerina
\ No newline at end of file
diff --git a/Lang/Basic09/00-LANG.txt b/Lang/Basic09/00-LANG.txt
index 16853881ce..fa600ca16b 100644
--- a/Lang/Basic09/00-LANG.txt
+++ b/Lang/Basic09/00-LANG.txt
@@ -1 +1,3 @@
-{{language|Basic09}}Basic09 is a dialect of BASIC created by Microware Systems Corporation in 1978 for use on the OS-9 operating system designed for the Motorola 6809 microporcessor. There is a version for OS-9/68000, "Microware BASIC", identical save that the INTEGER type is a four-byte signed integer instead of two-byte and REAL is IEEE 754 double precision rather than the five-byte format in the original version.
\ No newline at end of file
+{{language|Basic09}}
+{{implementation|BASIC}}
+Basic09 is a dialect of BASIC created by Microware Systems Corporation in 1978 for use on the OS-9 operating system designed for the Motorola 6809 microporcessor. There is a version for OS-9/68000, "Microware BASIC", identical save that the INTEGER type is a four-byte signed integer instead of two-byte and REAL is IEEE 754 double precision rather than the five-byte format in the original version.
\ No newline at end of file
diff --git a/Lang/Batch-File/00-LANG.txt b/Lang/Batch-File/00-LANG.txt
index 1bcc82760d..06b0c85598 100644
--- a/Lang/Batch-File/00-LANG.txt
+++ b/Lang/Batch-File/00-LANG.txt
@@ -1,3 +1,3 @@
-{{language|Batch File}}'''Batch files''' are the scripting languages for [[Microsoft]] command line shells, such as [[MS-DOS]], COMMAND.EXE, and CMD.EXE. They typically have either the .BAT or .CMD extension.
+{{language|Batch File}}'''Batch file''', sometimes just called Batch, is the common name for the scripting language for [[Microsoft]] command line shells, such as COMMAND.COM (in [[MS-DOS]]), and CMD.EXE (in Windows). They typically have either the .BAT or .CMD extension. Due to the association of batch files with MS-DOS in the public consciousness, sometimes this language is called the MS-DOS programming language even when used on modern versions of Windows, though this usage of the term is not technically correct.
The "batch files" written in the Batch File language are not to be confused with the "bash scripts" written in the [[bash | bash programming language]] for the [[UNIX Shell]].
\ No newline at end of file
diff --git a/Lang/Batch-File/Base64-decode-data b/Lang/Batch-File/Base64-decode-data
new file mode 120000
index 0000000000..ec2f53b5db
--- /dev/null
+++ b/Lang/Batch-File/Base64-decode-data
@@ -0,0 +1 @@
+../../Task/Base64-decode-data/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Call-a-foreign-language-function b/Lang/Batch-File/Call-a-foreign-language-function
new file mode 120000
index 0000000000..82bd97e4ca
--- /dev/null
+++ b/Lang/Batch-File/Call-a-foreign-language-function
@@ -0,0 +1 @@
+../../Task/Call-a-foreign-language-function/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Check-input-device-is-a-terminal b/Lang/Batch-File/Check-input-device-is-a-terminal
new file mode 120000
index 0000000000..e3cbbd272b
--- /dev/null
+++ b/Lang/Batch-File/Check-input-device-is-a-terminal
@@ -0,0 +1 @@
+../../Task/Check-input-device-is-a-terminal/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Check-output-device-is-a-terminal b/Lang/Batch-File/Check-output-device-is-a-terminal
new file mode 120000
index 0000000000..3d54ec8254
--- /dev/null
+++ b/Lang/Batch-File/Check-output-device-is-a-terminal
@@ -0,0 +1 @@
+../../Task/Check-output-device-is-a-terminal/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Chinese-zodiac b/Lang/Batch-File/Chinese-zodiac
new file mode 120000
index 0000000000..c2c7ae27f9
--- /dev/null
+++ b/Lang/Batch-File/Chinese-zodiac
@@ -0,0 +1 @@
+../../Task/Chinese-zodiac/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Copy-stdin-to-stdout b/Lang/Batch-File/Copy-stdin-to-stdout
new file mode 120000
index 0000000000..ec25d70662
--- /dev/null
+++ b/Lang/Batch-File/Copy-stdin-to-stdout
@@ -0,0 +1 @@
+../../Task/Copy-stdin-to-stdout/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Exponentiation-operator b/Lang/Batch-File/Exponentiation-operator
new file mode 120000
index 0000000000..93dda3ab18
--- /dev/null
+++ b/Lang/Batch-File/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Flatten-a-list b/Lang/Batch-File/Flatten-a-list
new file mode 120000
index 0000000000..bdac6d0d38
--- /dev/null
+++ b/Lang/Batch-File/Flatten-a-list
@@ -0,0 +1 @@
+../../Task/Flatten-a-list/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Handle-a-signal b/Lang/Batch-File/Handle-a-signal
new file mode 120000
index 0000000000..5dfc7c6a7d
--- /dev/null
+++ b/Lang/Batch-File/Handle-a-signal
@@ -0,0 +1 @@
+../../Task/Handle-a-signal/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Hello-world-Web-server b/Lang/Batch-File/Hello-world-Web-server
new file mode 120000
index 0000000000..ef5c7e0f66
--- /dev/null
+++ b/Lang/Batch-File/Hello-world-Web-server
@@ -0,0 +1 @@
+../../Task/Hello-world-Web-server/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Input-loop b/Lang/Batch-File/Input-loop
deleted file mode 120000
index a2a4a9b473..0000000000
--- a/Lang/Batch-File/Input-loop
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Input-loop/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Keyboard-input-Keypress-check b/Lang/Batch-File/Keyboard-input-Keypress-check
new file mode 120000
index 0000000000..5711a16a1c
--- /dev/null
+++ b/Lang/Batch-File/Keyboard-input-Keypress-check
@@ -0,0 +1 @@
+../../Task/Keyboard-input-Keypress-check/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Long-year b/Lang/Batch-File/Long-year
new file mode 120000
index 0000000000..2a90ddff12
--- /dev/null
+++ b/Lang/Batch-File/Long-year
@@ -0,0 +1 @@
+../../Task/Long-year/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Make-directory-path b/Lang/Batch-File/Make-directory-path
new file mode 120000
index 0000000000..057c573752
--- /dev/null
+++ b/Lang/Batch-File/Make-directory-path
@@ -0,0 +1 @@
+../../Task/Make-directory-path/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Primality-by-trial-division b/Lang/Batch-File/Primality-by-trial-division
new file mode 120000
index 0000000000..5a253da7c4
--- /dev/null
+++ b/Lang/Batch-File/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Read-a-configuration-file b/Lang/Batch-File/Read-a-configuration-file
new file mode 120000
index 0000000000..163a19758c
--- /dev/null
+++ b/Lang/Batch-File/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Read-entire-file b/Lang/Batch-File/Read-entire-file
new file mode 120000
index 0000000000..a4d22dbb49
--- /dev/null
+++ b/Lang/Batch-File/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/SHA-1 b/Lang/Batch-File/SHA-1
new file mode 120000
index 0000000000..7b80d0565c
--- /dev/null
+++ b/Lang/Batch-File/SHA-1
@@ -0,0 +1 @@
+../../Task/SHA-1/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/SHA-256 b/Lang/Batch-File/SHA-256
new file mode 120000
index 0000000000..88132ba441
--- /dev/null
+++ b/Lang/Batch-File/SHA-256
@@ -0,0 +1 @@
+../../Task/SHA-256/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Simple-windowed-application b/Lang/Batch-File/Simple-windowed-application
new file mode 120000
index 0000000000..98ffbccd11
--- /dev/null
+++ b/Lang/Batch-File/Simple-windowed-application
@@ -0,0 +1 @@
+../../Task/Simple-windowed-application/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Sort-an-integer-array b/Lang/Batch-File/Sort-an-integer-array
new file mode 120000
index 0000000000..9e7fd40b38
--- /dev/null
+++ b/Lang/Batch-File/Sort-an-integer-array
@@ -0,0 +1 @@
+../../Task/Sort-an-integer-array/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Strip-a-set-of-characters-from-a-string b/Lang/Batch-File/Strip-a-set-of-characters-from-a-string
new file mode 120000
index 0000000000..bb3a4f27fc
--- /dev/null
+++ b/Lang/Batch-File/Strip-a-set-of-characters-from-a-string
@@ -0,0 +1 @@
+../../Task/Strip-a-set-of-characters-from-a-string/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Temperature-conversion b/Lang/Batch-File/Temperature-conversion
new file mode 120000
index 0000000000..a928fb35a8
--- /dev/null
+++ b/Lang/Batch-File/Temperature-conversion
@@ -0,0 +1 @@
+../../Task/Temperature-conversion/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Terminal-control-Hiding-the-cursor b/Lang/Batch-File/Terminal-control-Hiding-the-cursor
new file mode 120000
index 0000000000..55e8dcde29
--- /dev/null
+++ b/Lang/Batch-File/Terminal-control-Hiding-the-cursor
@@ -0,0 +1 @@
+../../Task/Terminal-control-Hiding-the-cursor/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Terminal-control-Preserve-screen b/Lang/Batch-File/Terminal-control-Preserve-screen
new file mode 120000
index 0000000000..8bc69bb473
--- /dev/null
+++ b/Lang/Batch-File/Terminal-control-Preserve-screen
@@ -0,0 +1 @@
+../../Task/Terminal-control-Preserve-screen/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Terminal-control-Unicode-output b/Lang/Batch-File/Terminal-control-Unicode-output
new file mode 120000
index 0000000000..d9cf45a55e
--- /dev/null
+++ b/Lang/Batch-File/Terminal-control-Unicode-output
@@ -0,0 +1 @@
+../../Task/Terminal-control-Unicode-output/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Truncate-a-file b/Lang/Batch-File/Truncate-a-file
new file mode 120000
index 0000000000..18bcf16da0
--- /dev/null
+++ b/Lang/Batch-File/Truncate-a-file
@@ -0,0 +1 @@
+../../Task/Truncate-a-file/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/URL-decoding b/Lang/Batch-File/URL-decoding
new file mode 120000
index 0000000000..4081a1f375
--- /dev/null
+++ b/Lang/Batch-File/URL-decoding
@@ -0,0 +1 @@
+../../Task/URL-decoding/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/URL-encoding b/Lang/Batch-File/URL-encoding
new file mode 120000
index 0000000000..5609bac01d
--- /dev/null
+++ b/Lang/Batch-File/URL-encoding
@@ -0,0 +1 @@
+../../Task/URL-encoding/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Unicode-variable-names b/Lang/Batch-File/Unicode-variable-names
new file mode 120000
index 0000000000..04bbb2a08c
--- /dev/null
+++ b/Lang/Batch-File/Unicode-variable-names
@@ -0,0 +1 @@
+../../Task/Unicode-variable-names/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Unix-ls b/Lang/Batch-File/Unix-ls
new file mode 120000
index 0000000000..d789240aba
--- /dev/null
+++ b/Lang/Batch-File/Unix-ls
@@ -0,0 +1 @@
+../../Task/Unix-ls/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Window-creation b/Lang/Batch-File/Window-creation
new file mode 120000
index 0000000000..733ac1868e
--- /dev/null
+++ b/Lang/Batch-File/Window-creation
@@ -0,0 +1 @@
+../../Task/Window-creation/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Write-entire-file b/Lang/Batch-File/Write-entire-file
new file mode 120000
index 0000000000..ace14aef52
--- /dev/null
+++ b/Lang/Batch-File/Write-entire-file
@@ -0,0 +1 @@
+../../Task/Write-entire-file/Batch-File
\ No newline at end of file
diff --git a/Lang/Bc/Anti-primes b/Lang/Bc/Anti-primes
new file mode 120000
index 0000000000..3d900bc4e9
--- /dev/null
+++ b/Lang/Bc/Anti-primes
@@ -0,0 +1 @@
+../../Task/Anti-primes/Bc
\ No newline at end of file
diff --git a/Lang/Bc/Arithmetic-derivative b/Lang/Bc/Arithmetic-derivative
new file mode 120000
index 0000000000..3ff888839e
--- /dev/null
+++ b/Lang/Bc/Arithmetic-derivative
@@ -0,0 +1 @@
+../../Task/Arithmetic-derivative/Bc
\ No newline at end of file
diff --git a/Lang/Bc/Department-numbers b/Lang/Bc/Department-numbers
new file mode 120000
index 0000000000..0e2c9bd91f
--- /dev/null
+++ b/Lang/Bc/Department-numbers
@@ -0,0 +1 @@
+../../Task/Department-numbers/Bc
\ No newline at end of file
diff --git a/Lang/Bc/Fairshare-between-two-and-more b/Lang/Bc/Fairshare-between-two-and-more
new file mode 120000
index 0000000000..f5c1a3523e
--- /dev/null
+++ b/Lang/Bc/Fairshare-between-two-and-more
@@ -0,0 +1 @@
+../../Task/Fairshare-between-two-and-more/Bc
\ No newline at end of file
diff --git a/Lang/Bc/Miller-Rabin-primality-test b/Lang/Bc/Miller-Rabin-primality-test
deleted file mode 120000
index 1ae2fd8406..0000000000
--- a/Lang/Bc/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Bc
\ No newline at end of file
diff --git a/Lang/Bc/Sieve-of-Eratosthenes b/Lang/Bc/Sieve-of-Eratosthenes
new file mode 120000
index 0000000000..de34a684a4
--- /dev/null
+++ b/Lang/Bc/Sieve-of-Eratosthenes
@@ -0,0 +1 @@
+../../Task/Sieve-of-Eratosthenes/Bc
\ No newline at end of file
diff --git a/Lang/Bc/Variables b/Lang/Bc/Variables
new file mode 120000
index 0000000000..03f47bea63
--- /dev/null
+++ b/Lang/Bc/Variables
@@ -0,0 +1 @@
+../../Task/Variables/Bc
\ No newline at end of file
diff --git a/Lang/Beeswax/00-LANG.txt b/Lang/Beeswax/00-LANG.txt
index bea56d7b6b..c131bf7731 100644
--- a/Lang/Beeswax/00-LANG.txt
+++ b/Lang/Beeswax/00-LANG.txt
@@ -25,7 +25,7 @@ All data in the local and global stacks are unsigned 64-bit integers, output as
== More information ==
-* [[eso:Beeswax|Esoteric languages wiki entry]]
+* [http://esolangs.org/wiki/beeswax Esoteric languages wiki entry]
== Reference implementation, example programs and complete language specification ==
diff --git a/Lang/Berkeley-Logo/00-LANG.txt b/Lang/Berkeley-Logo/00-LANG.txt
new file mode 100644
index 0000000000..06b91b5045
--- /dev/null
+++ b/Lang/Berkeley-Logo/00-LANG.txt
@@ -0,0 +1,8 @@
+{{language|Berkeley Logo}}
+{{language programming paradigm|Procedural}}
+{{implementation|Logo}}
+'''Berkeley Logo''' (or '''UCBLogo''') is a portable implementation of the Logo language, maintained by Brian Harvey. He has also written a series of university textbooks using this language, ''Computer Science Logo Style''.
+
+==External links==
+* [http://www.cs.berkeley.edu/~bh/logo.html Home page]
+* [https://github.com/jrincayc/ucblogo-code further UCBLogo development]
\ No newline at end of file
diff --git a/Lang/Berkeley-Logo/00-META.yaml b/Lang/Berkeley-Logo/00-META.yaml
new file mode 100644
index 0000000000..9eabccce73
--- /dev/null
+++ b/Lang/Berkeley-Logo/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Berkeley_Logo
diff --git a/Lang/Berkeley-Logo/Abundant-deficient-and-perfect-number-classifications b/Lang/Berkeley-Logo/Abundant-deficient-and-perfect-number-classifications
new file mode 120000
index 0000000000..04fb2b777b
--- /dev/null
+++ b/Lang/Berkeley-Logo/Abundant-deficient-and-perfect-number-classifications
@@ -0,0 +1 @@
+../../Task/Abundant-deficient-and-perfect-number-classifications/Berkeley-Logo
\ No newline at end of file
diff --git a/Lang/Berkeley-Logo/Associative-array-Creation b/Lang/Berkeley-Logo/Associative-array-Creation
new file mode 120000
index 0000000000..4d2050642e
--- /dev/null
+++ b/Lang/Berkeley-Logo/Associative-array-Creation
@@ -0,0 +1 @@
+../../Task/Associative-array-Creation/Berkeley-Logo
\ No newline at end of file
diff --git a/Lang/Berkeley-Logo/Babbage-problem b/Lang/Berkeley-Logo/Babbage-problem
new file mode 120000
index 0000000000..aa1e4e41aa
--- /dev/null
+++ b/Lang/Berkeley-Logo/Babbage-problem
@@ -0,0 +1 @@
+../../Task/Babbage-problem/Berkeley-Logo
\ No newline at end of file
diff --git a/Lang/Berkeley-Logo/Bell-numbers b/Lang/Berkeley-Logo/Bell-numbers
new file mode 120000
index 0000000000..77a9bcb26c
--- /dev/null
+++ b/Lang/Berkeley-Logo/Bell-numbers
@@ -0,0 +1 @@
+../../Task/Bell-numbers/Berkeley-Logo
\ No newline at end of file
diff --git a/Lang/Berkeley-Logo/Formatted-numeric-output b/Lang/Berkeley-Logo/Formatted-numeric-output
new file mode 120000
index 0000000000..85a340c7e0
--- /dev/null
+++ b/Lang/Berkeley-Logo/Formatted-numeric-output
@@ -0,0 +1 @@
+../../Task/Formatted-numeric-output/Berkeley-Logo
\ No newline at end of file
diff --git a/Lang/Binary-Lambda-Calculus/00-LANG.txt b/Lang/Binary-Lambda-Calculus/00-LANG.txt
index 3f502204f1..694f9a9437 100644
--- a/Lang/Binary-Lambda-Calculus/00-LANG.txt
+++ b/Lang/Binary-Lambda-Calculus/00-LANG.txt
@@ -5,7 +5,16 @@
}}
{{language programming paradigm|functional}}
'''Binary Lambda Calculus''' is a minimal, pure, functional, esoteric language based on lambda calculus. [[provides::Capability:First class functions| ]]
+
==External links==
* https://tromp.github.io/cl/cl.html
* https://www.ioccc.org/2012/tromp/hint.html
-* https://gist.github.com/tromp/86b3184f852f65bfb814e3ab0987d861
\ No newline at end of file
+* https://gist.github.com/tromp/86b3184f852f65bfb814e3ab0987d861
+
+Some implementations of BLC:
+* [https://www.ioccc.org/2012/tromp/hint.html original tromp's implementation] for IOCCC, in pure ANSI C
+* [https://github.com/tromp/AIT tromp's AIT], a project utilizing BLC for Information Theory research. Also includes a Haskell->BLC compiler and several other implementations
+* [https://codeberg.org/aartaka/cl-blc aartaka's cl-blc], implementing BLC in Lisp
+
+==To do==
+[[Tasks not implemented in Binary Lambda Calculus]]
\ No newline at end of file
diff --git a/Lang/Binary-Lambda-Calculus/A+B b/Lang/Binary-Lambda-Calculus/A+B
new file mode 120000
index 0000000000..1a7c10c298
--- /dev/null
+++ b/Lang/Binary-Lambda-Calculus/A+B
@@ -0,0 +1 @@
+../../Task/A+B/Binary-Lambda-Calculus
\ No newline at end of file
diff --git a/Lang/Binary-Lambda-Calculus/Binary-digits b/Lang/Binary-Lambda-Calculus/Binary-digits
new file mode 120000
index 0000000000..f74ad898bd
--- /dev/null
+++ b/Lang/Binary-Lambda-Calculus/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Binary-Lambda-Calculus
\ No newline at end of file
diff --git a/Lang/Binary-Lambda-Calculus/Church-numerals b/Lang/Binary-Lambda-Calculus/Church-numerals
new file mode 120000
index 0000000000..45f7ab14bd
--- /dev/null
+++ b/Lang/Binary-Lambda-Calculus/Church-numerals
@@ -0,0 +1 @@
+../../Task/Church-numerals/Binary-Lambda-Calculus
\ No newline at end of file
diff --git a/Lang/Binary-Lambda-Calculus/Ethiopian-multiplication b/Lang/Binary-Lambda-Calculus/Ethiopian-multiplication
new file mode 120000
index 0000000000..45465fad0c
--- /dev/null
+++ b/Lang/Binary-Lambda-Calculus/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Binary-Lambda-Calculus
\ No newline at end of file
diff --git a/Lang/Binary-Lambda-Calculus/Hailstone-sequence b/Lang/Binary-Lambda-Calculus/Hailstone-sequence
new file mode 120000
index 0000000000..8bb334bdb3
--- /dev/null
+++ b/Lang/Binary-Lambda-Calculus/Hailstone-sequence
@@ -0,0 +1 @@
+../../Task/Hailstone-sequence/Binary-Lambda-Calculus
\ No newline at end of file
diff --git a/Lang/Binary-Lambda-Calculus/Sorting-algorithms-Merge-sort b/Lang/Binary-Lambda-Calculus/Sorting-algorithms-Merge-sort
new file mode 120000
index 0000000000..6a9a8bf4e0
--- /dev/null
+++ b/Lang/Binary-Lambda-Calculus/Sorting-algorithms-Merge-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Merge-sort/Binary-Lambda-Calculus
\ No newline at end of file
diff --git a/Lang/Blade/00-LANG.txt b/Lang/Blade/00-LANG.txt
index f18c210bc3..71d6c9cdba 100644
--- a/Lang/Blade/00-LANG.txt
+++ b/Lang/Blade/00-LANG.txt
@@ -6,25 +6,13 @@
|parampass=value
|LCT=yes}}{{language programming paradigm|Object-oriented}}{{language programming paradigm|functional}}
-'''Blade''' is a simple, fast, clean and dynamic language that allows you to develop complex applications quickly. Blade emphasises algorithm over syntax and for this reason, it has a very small but powerful syntax set with a very natural feel.
+'''Blade''' is a modern general-purpose programming language focused on enterprise Web, IoT, and secure application development. '''Blade''' offers a comprehensive set of tools and libraries out of the box leading to reduced reliance on third-party packages.
-If you’ve ever had experience with a compiled language (e.g. [[C]]/[[C++]], [[Java]], etc), then one thing you’ll quickly notice (at least I did) was how much the whole process of write-compile-run-debug can be tedious and get in the way of creative programming and sometimes you even forget that mind-blowing algorithm you were going to write and take over the world in the whole process of compiling.
+'''Blade''' comes equipped with an integrated package management system, simplifying the management of both internal and external dependencies and a self-hostable repository server making it ideal for private organisational and personal use. Its intuitive syntax and gentle learning curve ensure an accessible experience for developers of all skill levels. Leveraging the best features from JavaScript, Python, Ruby, and Dart, '''Blade''' provides a familiar and robust ecosystem that enables developers to harness the strengths of these languages effortlessly.
-Sometimes, you just want to automate a few tasks, for example, I have a simple program to always remind me to get away from my laptop and eat something (you know how it is) and yet another one to suggest food for me. Do you find yourself needing this often? Do you know why you haven’t written it? Get out of your head, you are writing a compiled language! Compiling takes longer than the time it will take you to convince yourself that you need to eat.
-
-At other times, you have written this amazing program and you want users to be able to control it using a simple scripting language. I know… I know… there are many interpreted languages out there that will do the job just fine. Well… you still have one problem. Your users aren’t going to remember all the crazy going on in many of them (Yes [[Lua]]! I’m staring at you. What you gonna do about it?)
-
-Other times, we kind of find a very good solution to our problem in languages like [[Python]] (I must confess, even '''Blade''' did learn a lot of things from it), but the structure of such languages usually creates a new overhead in writing complex programs. It’s really difficult keeping a tab of indentations in such languages especially when you are not in a GUI IDE environment. I tried to work [[Python]] in nano, but man… it wasn’t easy.
-
-If you are feeling me, then Blade is just right for you.
-
-Blade is a simple language that has tried very much to learn from the mistake and successes of its predecessors.
-
-Blade is interpreted and simple like [[Python]] but with a more generic [[C]]-like syntax and a ridiculously simple Object-orientation similar to [[Dart]] and the granularity of [[JavaScript]] while still maintaining a very minimal syntax and keywords when compared to all of them.
-
-'''Blade is designed to be a memorizable language and the entire “language” can be learned in one sitting. However, Blade is as complete and powerful as any language can be and can be applied in the field of web, mobile, desktop, scientific, academic and research engineering to mention a few.'''
+While '''Blade''' focuses on Web and IoT, it is also great for general software development.
==Links==
-* [https://bladelang.com https://bladelang.com]
+* [https://bladelang.org https://bladelang.org]
* [https://github.com/blade-lang/blade https://github.com/blade-lang/blade]
-* [https://bladelang.com/quick-learn.html Quick Language Introduction]
\ No newline at end of file
+* [https://bladelang.org/quick-learn.html Quick Language Introduction]
\ No newline at end of file
diff --git a/Lang/BlooP/00-LANG.txt b/Lang/BlooP/00-LANG.txt
index 61490d18ec..d0fc3b449f 100644
--- a/Lang/BlooP/00-LANG.txt
+++ b/Lang/BlooP/00-LANG.txt
@@ -20,7 +20,7 @@ The best way to explain BlooP is really just to look at some examples, so here a
Find the factorial of N:
-
diff --git a/Lang/BootBASIC/Empty-program b/Lang/BootBASIC/Empty-program
deleted file mode 120000
index 5aaffbd057..0000000000
--- a/Lang/BootBASIC/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/BootBASIC
\ No newline at end of file
diff --git a/Lang/Bracmat/Miller-Rabin-primality-test b/Lang/Bracmat/Miller-Rabin-primality-test
deleted file mode 120000
index 7c953943cd..0000000000
--- a/Lang/Bracmat/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Bracmat
\ No newline at end of file
diff --git a/Lang/Brainf---/00-LANG.txt b/Lang/Brainf---/00-LANG.txt
index 7b702b4d45..d9ca931bf4 100644
--- a/Lang/Brainf---/00-LANG.txt
+++ b/Lang/Brainf---/00-LANG.txt
@@ -63,10 +63,10 @@ BUT due to vehement opposition to the name [http://esolangs.org/wiki/Cupid vario
==See also==
* [[Rosetta Code:Brainf***]] ( why some people call it BF :)
* [[RCBF]] - BF interpreters as a Rosetta Code task
-
+* [https://esolangs.org/wiki/brainfuck_algorithms brainf*** algorithms]
==Citations==
-* [[eso:Brainfuck|Esoteric languages wiki entry]]
+* [https://esolangs.org/wiki/Brainfuck Esoteric languages wiki entry]
*[[wp:Brainfuck|Wikipedia entry on Brainf***]]
* [http://dmoz.org/Computers/Programming/Languages/Brainfuck/ DMOZ Brainf*** category]
* [http://www.iwriteiam.nl/Ha_BF.html Brainf*** tutorial]
diff --git a/Lang/Brainf---/Loops-While b/Lang/Brainf---/Loops-While
new file mode 120000
index 0000000000..057717ea5a
--- /dev/null
+++ b/Lang/Brainf---/Loops-While
@@ -0,0 +1 @@
+../../Task/Loops-While/Brainf---
\ No newline at end of file
diff --git a/Lang/Bruijn/Harmonic-series b/Lang/Bruijn/Harmonic-series
new file mode 120000
index 0000000000..b39ae4ae88
--- /dev/null
+++ b/Lang/Bruijn/Harmonic-series
@@ -0,0 +1 @@
+../../Task/Harmonic-series/Bruijn
\ No newline at end of file
diff --git a/Lang/Bruijn/Towers-of-Hanoi b/Lang/Bruijn/Towers-of-Hanoi
new file mode 120000
index 0000000000..96dafe6af8
--- /dev/null
+++ b/Lang/Bruijn/Towers-of-Hanoi
@@ -0,0 +1 @@
+../../Task/Towers-of-Hanoi/Bruijn
\ No newline at end of file
diff --git a/Lang/C++/Add-a-variable-to-a-class-instance-at-runtime b/Lang/C++/Add-a-variable-to-a-class-instance-at-runtime
new file mode 120000
index 0000000000..61888079c6
--- /dev/null
+++ b/Lang/C++/Add-a-variable-to-a-class-instance-at-runtime
@@ -0,0 +1 @@
+../../Task/Add-a-variable-to-a-class-instance-at-runtime/C++
\ No newline at end of file
diff --git a/Lang/C++/Bioinformatics-base-count b/Lang/C++/Bioinformatics-base-count
deleted file mode 120000
index e0584bb6b7..0000000000
--- a/Lang/C++/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/C++
\ No newline at end of file
diff --git a/Lang/C++/Bitcoin-address-validation b/Lang/C++/Bitcoin-address-validation
new file mode 120000
index 0000000000..fdb6fa9bf8
--- /dev/null
+++ b/Lang/C++/Bitcoin-address-validation
@@ -0,0 +1 @@
+../../Task/Bitcoin-address-validation/C++
\ No newline at end of file
diff --git a/Lang/C++/Bitcoin-public-point-to-address b/Lang/C++/Bitcoin-public-point-to-address
new file mode 120000
index 0000000000..1229c8b30f
--- /dev/null
+++ b/Lang/C++/Bitcoin-public-point-to-address
@@ -0,0 +1 @@
+../../Task/Bitcoin-public-point-to-address/C++
\ No newline at end of file
diff --git a/Lang/C++/Bitwise-IO b/Lang/C++/Bitwise-IO
new file mode 120000
index 0000000000..0612736bad
--- /dev/null
+++ b/Lang/C++/Bitwise-IO
@@ -0,0 +1 @@
+../../Task/Bitwise-IO/C++
\ No newline at end of file
diff --git a/Lang/C++/Catmull-Clark-subdivision-surface b/Lang/C++/Catmull-Clark-subdivision-surface
new file mode 120000
index 0000000000..dbaa0ac83b
--- /dev/null
+++ b/Lang/C++/Catmull-Clark-subdivision-surface
@@ -0,0 +1 @@
+../../Task/Catmull-Clark-subdivision-surface/C++
\ No newline at end of file
diff --git a/Lang/C++/Commatizing-numbers b/Lang/C++/Commatizing-numbers
new file mode 120000
index 0000000000..96b27f445d
--- /dev/null
+++ b/Lang/C++/Commatizing-numbers
@@ -0,0 +1 @@
+../../Task/Commatizing-numbers/C++
\ No newline at end of file
diff --git a/Lang/C++/Compare-sorting-algorithms-performance b/Lang/C++/Compare-sorting-algorithms-performance
new file mode 120000
index 0000000000..8616fdb726
--- /dev/null
+++ b/Lang/C++/Compare-sorting-algorithms-performance
@@ -0,0 +1 @@
+../../Task/Compare-sorting-algorithms-performance/C++
\ No newline at end of file
diff --git a/Lang/C++/Compiler-virtual-machine-interpreter b/Lang/C++/Compiler-virtual-machine-interpreter
new file mode 120000
index 0000000000..94f3cd637b
--- /dev/null
+++ b/Lang/C++/Compiler-virtual-machine-interpreter
@@ -0,0 +1 @@
+../../Task/Compiler-virtual-machine-interpreter/C++
\ No newline at end of file
diff --git a/Lang/C++/Currency b/Lang/C++/Currency
new file mode 120000
index 0000000000..ae0e8d6190
--- /dev/null
+++ b/Lang/C++/Currency
@@ -0,0 +1 @@
+../../Task/Currency/C++
\ No newline at end of file
diff --git a/Lang/C++/Deconvolution-2D+ b/Lang/C++/Deconvolution-2D+
new file mode 120000
index 0000000000..dba078e8e0
--- /dev/null
+++ b/Lang/C++/Deconvolution-2D+
@@ -0,0 +1 @@
+../../Task/Deconvolution-2D+/C++
\ No newline at end of file
diff --git a/Lang/C++/Documentation b/Lang/C++/Documentation
new file mode 120000
index 0000000000..dd69dde201
--- /dev/null
+++ b/Lang/C++/Documentation
@@ -0,0 +1 @@
+../../Task/Documentation/C++
\ No newline at end of file
diff --git a/Lang/C++/Dominoes b/Lang/C++/Dominoes
new file mode 120000
index 0000000000..5c79b6947b
--- /dev/null
+++ b/Lang/C++/Dominoes
@@ -0,0 +1 @@
+../../Task/Dominoes/C++
\ No newline at end of file
diff --git a/Lang/C++/Euclid-Mullin-sequence b/Lang/C++/Euclid-Mullin-sequence
new file mode 120000
index 0000000000..f743f51e54
--- /dev/null
+++ b/Lang/C++/Euclid-Mullin-sequence
@@ -0,0 +1 @@
+../../Task/Euclid-Mullin-sequence/C++
\ No newline at end of file
diff --git a/Lang/C++/Extend-your-language b/Lang/C++/Extend-your-language
new file mode 120000
index 0000000000..da1eb035c9
--- /dev/null
+++ b/Lang/C++/Extend-your-language
@@ -0,0 +1 @@
+../../Task/Extend-your-language/C++
\ No newline at end of file
diff --git a/Lang/C++/Extreme-floating-point-values b/Lang/C++/Extreme-floating-point-values
new file mode 120000
index 0000000000..36dd74b460
--- /dev/null
+++ b/Lang/C++/Extreme-floating-point-values
@@ -0,0 +1 @@
+../../Task/Extreme-floating-point-values/C++
\ No newline at end of file
diff --git a/Lang/C++/Factorial-base-numbers-indexing-permutations-of-a-collection b/Lang/C++/Factorial-base-numbers-indexing-permutations-of-a-collection
new file mode 120000
index 0000000000..9b984d5ea4
--- /dev/null
+++ b/Lang/C++/Factorial-base-numbers-indexing-permutations-of-a-collection
@@ -0,0 +1 @@
+../../Task/Factorial-base-numbers-indexing-permutations-of-a-collection/C++
\ No newline at end of file
diff --git a/Lang/C++/First-class-environments b/Lang/C++/First-class-environments
new file mode 120000
index 0000000000..652816150b
--- /dev/null
+++ b/Lang/C++/First-class-environments
@@ -0,0 +1 @@
+../../Task/First-class-environments/C++
\ No newline at end of file
diff --git a/Lang/C++/French-Republican-calendar b/Lang/C++/French-Republican-calendar
new file mode 120000
index 0000000000..b361af00f6
--- /dev/null
+++ b/Lang/C++/French-Republican-calendar
@@ -0,0 +1 @@
+../../Task/French-Republican-calendar/C++
\ No newline at end of file
diff --git a/Lang/C++/Functional-coverage-tree b/Lang/C++/Functional-coverage-tree
new file mode 120000
index 0000000000..06e1a4bfaf
--- /dev/null
+++ b/Lang/C++/Functional-coverage-tree
@@ -0,0 +1 @@
+../../Task/Functional-coverage-tree/C++
\ No newline at end of file
diff --git a/Lang/C++/Im-a-software-engineer-get-me-out-of-here b/Lang/C++/Im-a-software-engineer-get-me-out-of-here
new file mode 120000
index 0000000000..7c9de1375f
--- /dev/null
+++ b/Lang/C++/Im-a-software-engineer-get-me-out-of-here
@@ -0,0 +1 @@
+../../Task/Im-a-software-engineer-get-me-out-of-here/C++
\ No newline at end of file
diff --git a/Lang/C++/MD5-Implementation b/Lang/C++/MD5-Implementation
new file mode 120000
index 0000000000..b31aca0e67
--- /dev/null
+++ b/Lang/C++/MD5-Implementation
@@ -0,0 +1 @@
+../../Task/MD5-Implementation/C++
\ No newline at end of file
diff --git a/Lang/C++/Meissel-Mertens-constant b/Lang/C++/Meissel-Mertens-constant
deleted file mode 120000
index 3242c970c7..0000000000
--- a/Lang/C++/Meissel-Mertens-constant
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Meissel-Mertens-constant/C++
\ No newline at end of file
diff --git a/Lang/C++/Miller-Rabin-primality-test b/Lang/C++/Miller-Rabin-primality-test
deleted file mode 120000
index 615ee001e8..0000000000
--- a/Lang/C++/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/C++
\ No newline at end of file
diff --git a/Lang/C++/Natural-sorting b/Lang/C++/Natural-sorting
new file mode 120000
index 0000000000..221a15ac6d
--- /dev/null
+++ b/Lang/C++/Natural-sorting
@@ -0,0 +1 @@
+../../Task/Natural-sorting/C++
\ No newline at end of file
diff --git a/Lang/C++/Non-transitive-dice b/Lang/C++/Non-transitive-dice
new file mode 120000
index 0000000000..2c6300fda7
--- /dev/null
+++ b/Lang/C++/Non-transitive-dice
@@ -0,0 +1 @@
+../../Task/Non-transitive-dice/C++
\ No newline at end of file
diff --git a/Lang/C++/P-Adic-square-roots b/Lang/C++/P-Adic-square-roots
new file mode 120000
index 0000000000..a25d0f7d5c
--- /dev/null
+++ b/Lang/C++/P-Adic-square-roots
@@ -0,0 +1 @@
+../../Task/P-Adic-square-roots/C++
\ No newline at end of file
diff --git a/Lang/C++/Quaternion-type b/Lang/C++/Quaternion-type
deleted file mode 120000
index 053fd1142a..0000000000
--- a/Lang/C++/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/C++
\ No newline at end of file
diff --git a/Lang/C++/Rendezvous b/Lang/C++/Rendezvous
new file mode 120000
index 0000000000..b1c8af4bea
--- /dev/null
+++ b/Lang/C++/Rendezvous
@@ -0,0 +1 @@
+../../Task/Rendezvous/C++
\ No newline at end of file
diff --git a/Lang/C++/Sequence-nth-number-with-exactly-n-divisors b/Lang/C++/Sequence:-nth-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/C++/Sequence-nth-number-with-exactly-n-divisors
rename to Lang/C++/Sequence:-nth-number-with-exactly-n-divisors
diff --git a/Lang/C++/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/C++/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/C++/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/C++/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/C++/Sequence-smallest-number-with-exactly-n-divisors b/Lang/C++/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/C++/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/C++/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/C++/Simple-database b/Lang/C++/Simple-database
new file mode 120000
index 0000000000..60394bf013
--- /dev/null
+++ b/Lang/C++/Simple-database
@@ -0,0 +1 @@
+../../Task/Simple-database/C++
\ No newline at end of file
diff --git a/Lang/C++/Sort-an-outline-at-every-level b/Lang/C++/Sort-an-outline-at-every-level
new file mode 120000
index 0000000000..5467a50bff
--- /dev/null
+++ b/Lang/C++/Sort-an-outline-at-every-level
@@ -0,0 +1 @@
+../../Task/Sort-an-outline-at-every-level/C++
\ No newline at end of file
diff --git a/Lang/C++/Sorting-Algorithms-Circle-Sort b/Lang/C++/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index 91c7b06653..0000000000
--- a/Lang/C++/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/C++
\ No newline at end of file
diff --git a/Lang/C++/Strassens-algorithm b/Lang/C++/Strassens-algorithm
new file mode 120000
index 0000000000..1423f44a39
--- /dev/null
+++ b/Lang/C++/Strassens-algorithm
@@ -0,0 +1 @@
+../../Task/Strassens-algorithm/C++
\ No newline at end of file
diff --git a/Lang/C++/URL-parser b/Lang/C++/URL-parser
new file mode 120000
index 0000000000..c94d78f772
--- /dev/null
+++ b/Lang/C++/URL-parser
@@ -0,0 +1 @@
+../../Task/URL-parser/C++
\ No newline at end of file
diff --git a/Lang/C++/UTF-8-encode-and-decode b/Lang/C++/UTF-8-encode-and-decode
new file mode 120000
index 0000000000..a3942ee81c
--- /dev/null
+++ b/Lang/C++/UTF-8-encode-and-decode
@@ -0,0 +1 @@
+../../Task/UTF-8-encode-and-decode/C++
\ No newline at end of file
diff --git a/Lang/C++/Ukkonen-s-suffix-tree-construction b/Lang/C++/Ukkonen-s-suffix-tree-construction
new file mode 120000
index 0000000000..3dffa49793
--- /dev/null
+++ b/Lang/C++/Ukkonen-s-suffix-tree-construction
@@ -0,0 +1 @@
+../../Task/Ukkonen-s-suffix-tree-construction/C++
\ No newline at end of file
diff --git a/Lang/C++/Update-a-configuration-file b/Lang/C++/Update-a-configuration-file
new file mode 120000
index 0000000000..dd78746576
--- /dev/null
+++ b/Lang/C++/Update-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Update-a-configuration-file/C++
\ No newline at end of file
diff --git a/Lang/C-sharp/00-LANG.txt b/Lang/C-sharp/00-LANG.txt
index 17083312b1..2ffb00e180 100644
--- a/Lang/C-sharp/00-LANG.txt
+++ b/Lang/C-sharp/00-LANG.txt
@@ -17,6 +17,10 @@
==Citations==
*[[wp:C_Sharp_(programming_language)|Wikipedia:C#]]
+== External links ==
+=== Online editors and compilers ===
+*[https://www.onlinegdb.com/ GDB Online Compiler] (Select C#)
+
{{language programming paradigm|Imperative}}
{{language programming paradigm|Object-oriented}}
{{language programming paradigm|Generic}}
diff --git a/Lang/C-sharp/ADFGVX-cipher b/Lang/C-sharp/ADFGVX-cipher
new file mode 120000
index 0000000000..1bd5856497
--- /dev/null
+++ b/Lang/C-sharp/ADFGVX-cipher
@@ -0,0 +1 @@
+../../Task/ADFGVX-cipher/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/ASCII-art-diagram-converter b/Lang/C-sharp/ASCII-art-diagram-converter
new file mode 120000
index 0000000000..a3c0a49ccd
--- /dev/null
+++ b/Lang/C-sharp/ASCII-art-diagram-converter
@@ -0,0 +1 @@
+../../Task/ASCII-art-diagram-converter/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Additive-primes b/Lang/C-sharp/Additive-primes
new file mode 120000
index 0000000000..d958846baf
--- /dev/null
+++ b/Lang/C-sharp/Additive-primes
@@ -0,0 +1 @@
+../../Task/Additive-primes/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Arithmetic-derivative b/Lang/C-sharp/Arithmetic-derivative
new file mode 120000
index 0000000000..99fc50446f
--- /dev/null
+++ b/Lang/C-sharp/Arithmetic-derivative
@@ -0,0 +1 @@
+../../Task/Arithmetic-derivative/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Boyer-Moore-string-search b/Lang/C-sharp/Boyer-Moore-string-search
new file mode 120000
index 0000000000..6d8ebe0502
--- /dev/null
+++ b/Lang/C-sharp/Boyer-Moore-string-search
@@ -0,0 +1 @@
+../../Task/Boyer-Moore-string-search/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Calkin-Wilf-sequence b/Lang/C-sharp/Calkin-Wilf-sequence
new file mode 120000
index 0000000000..75d6e98750
--- /dev/null
+++ b/Lang/C-sharp/Calkin-Wilf-sequence
@@ -0,0 +1 @@
+../../Task/Calkin-Wilf-sequence/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Camel-case-and-snake-case b/Lang/C-sharp/Camel-case-and-snake-case
new file mode 120000
index 0000000000..0b673ec8ed
--- /dev/null
+++ b/Lang/C-sharp/Camel-case-and-snake-case
@@ -0,0 +1 @@
+../../Task/Camel-case-and-snake-case/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Cistercian-numerals b/Lang/C-sharp/Cistercian-numerals
new file mode 120000
index 0000000000..d482ff0533
--- /dev/null
+++ b/Lang/C-sharp/Cistercian-numerals
@@ -0,0 +1 @@
+../../Task/Cistercian-numerals/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Colorful-numbers b/Lang/C-sharp/Colorful-numbers
new file mode 120000
index 0000000000..b35a72c815
--- /dev/null
+++ b/Lang/C-sharp/Colorful-numbers
@@ -0,0 +1 @@
+../../Task/Colorful-numbers/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n- b/Lang/C-sharp/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n-
new file mode 120000
index 0000000000..2adfbd6635
--- /dev/null
+++ b/Lang/C-sharp/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n-
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n-/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Cyclops-numbers b/Lang/C-sharp/Cyclops-numbers
new file mode 120000
index 0000000000..c4380e8ccd
--- /dev/null
+++ b/Lang/C-sharp/Cyclops-numbers
@@ -0,0 +1 @@
+../../Task/Cyclops-numbers/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Elliptic-Curve-Digital-Signature-Algorithm b/Lang/C-sharp/Elliptic-Curve-Digital-Signature-Algorithm
new file mode 120000
index 0000000000..82412a8f32
--- /dev/null
+++ b/Lang/C-sharp/Elliptic-Curve-Digital-Signature-Algorithm
@@ -0,0 +1 @@
+../../Task/Elliptic-Curve-Digital-Signature-Algorithm/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Execute-a-Markov-algorithm b/Lang/C-sharp/Execute-a-Markov-algorithm
new file mode 120000
index 0000000000..fac2e3f425
--- /dev/null
+++ b/Lang/C-sharp/Execute-a-Markov-algorithm
@@ -0,0 +1 @@
+../../Task/Execute-a-Markov-algorithm/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Extensible-prime-generator b/Lang/C-sharp/Extensible-prime-generator
new file mode 120000
index 0000000000..1e4636d3bb
--- /dev/null
+++ b/Lang/C-sharp/Extensible-prime-generator
@@ -0,0 +1 @@
+../../Task/Extensible-prime-generator/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/File-extension-is-in-extensions-list b/Lang/C-sharp/File-extension-is-in-extensions-list
new file mode 120000
index 0000000000..caec470709
--- /dev/null
+++ b/Lang/C-sharp/File-extension-is-in-extensions-list
@@ -0,0 +1 @@
+../../Task/File-extension-is-in-extensions-list/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Find-if-a-point-is-within-a-triangle b/Lang/C-sharp/Find-if-a-point-is-within-a-triangle
new file mode 120000
index 0000000000..0c9dec87d9
--- /dev/null
+++ b/Lang/C-sharp/Find-if-a-point-is-within-a-triangle
@@ -0,0 +1 @@
+../../Task/Find-if-a-point-is-within-a-triangle/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Gotchas b/Lang/C-sharp/Gotchas
new file mode 120000
index 0000000000..c20938cf21
--- /dev/null
+++ b/Lang/C-sharp/Gotchas
@@ -0,0 +1 @@
+../../Task/Gotchas/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Index-finite-lists-of-positive-integers b/Lang/C-sharp/Index-finite-lists-of-positive-integers
new file mode 120000
index 0000000000..692e611ddc
--- /dev/null
+++ b/Lang/C-sharp/Index-finite-lists-of-positive-integers
@@ -0,0 +1 @@
+../../Task/Index-finite-lists-of-positive-integers/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/K-d-tree b/Lang/C-sharp/K-d-tree
new file mode 120000
index 0000000000..9ea6355b83
--- /dev/null
+++ b/Lang/C-sharp/K-d-tree
@@ -0,0 +1 @@
+../../Task/K-d-tree/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Longest-string-challenge b/Lang/C-sharp/Longest-string-challenge
new file mode 120000
index 0000000000..bd57b65702
--- /dev/null
+++ b/Lang/C-sharp/Longest-string-challenge
@@ -0,0 +1 @@
+../../Task/Longest-string-challenge/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/M-bius-function b/Lang/C-sharp/M-bius-function
new file mode 120000
index 0000000000..56f84fb14c
--- /dev/null
+++ b/Lang/C-sharp/M-bius-function
@@ -0,0 +1 @@
+../../Task/M-bius-function/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Miller-Rabin-primality-test b/Lang/C-sharp/Miller-Rabin-primality-test
deleted file mode 120000
index 4d27fefcbd..0000000000
--- a/Lang/C-sharp/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/P-Adic-numbers-basic b/Lang/C-sharp/P-Adic-numbers-basic
new file mode 120000
index 0000000000..564565afb6
--- /dev/null
+++ b/Lang/C-sharp/P-Adic-numbers-basic
@@ -0,0 +1 @@
+../../Task/P-Adic-numbers-basic/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Periodic-table b/Lang/C-sharp/Periodic-table
new file mode 120000
index 0000000000..97d676b17d
--- /dev/null
+++ b/Lang/C-sharp/Periodic-table
@@ -0,0 +1 @@
+../../Task/Periodic-table/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Quaternion-type b/Lang/C-sharp/Quaternion-type
deleted file mode 120000
index 53c4bd6185..0000000000
--- a/Lang/C-sharp/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Reflection-Get-source b/Lang/C-sharp/Reflection-Get-source
new file mode 120000
index 0000000000..a8b2f45e4c
--- /dev/null
+++ b/Lang/C-sharp/Reflection-Get-source
@@ -0,0 +1 @@
+../../Task/Reflection-Get-source/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Sequence:-smallest-number-with-exactly-n-divisors b/Lang/C-sharp/Sequence:-smallest-number-with-exactly-n-divisors
new file mode 120000
index 0000000000..71508d1c44
--- /dev/null
+++ b/Lang/C-sharp/Sequence:-smallest-number-with-exactly-n-divisors
@@ -0,0 +1 @@
+../../Task/Sequence:-smallest-number-with-exactly-n-divisors/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Sorting-Algorithms-Circle-Sort b/Lang/C-sharp/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index 6f1414c420..0000000000
--- a/Lang/C-sharp/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Square-free-integers b/Lang/C-sharp/Square-free-integers
new file mode 120000
index 0000000000..6cabcf20b3
--- /dev/null
+++ b/Lang/C-sharp/Square-free-integers
@@ -0,0 +1 @@
+../../Task/Square-free-integers/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Strassens-algorithm b/Lang/C-sharp/Strassens-algorithm
new file mode 120000
index 0000000000..45fd91dfa9
--- /dev/null
+++ b/Lang/C-sharp/Strassens-algorithm
@@ -0,0 +1 @@
+../../Task/Strassens-algorithm/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Summarize-primes b/Lang/C-sharp/Summarize-primes
new file mode 120000
index 0000000000..de1b22714d
--- /dev/null
+++ b/Lang/C-sharp/Summarize-primes
@@ -0,0 +1 @@
+../../Task/Summarize-primes/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Tau-function b/Lang/C-sharp/Tau-function
new file mode 120000
index 0000000000..aa9069413d
--- /dev/null
+++ b/Lang/C-sharp/Tau-function
@@ -0,0 +1 @@
+../../Task/Tau-function/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Tau-number b/Lang/C-sharp/Tau-number
new file mode 120000
index 0000000000..0980d5ce28
--- /dev/null
+++ b/Lang/C-sharp/Tau-number
@@ -0,0 +1 @@
+../../Task/Tau-number/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Tree-from-nesting-levels b/Lang/C-sharp/Tree-from-nesting-levels
new file mode 120000
index 0000000000..e46b1553ea
--- /dev/null
+++ b/Lang/C-sharp/Tree-from-nesting-levels
@@ -0,0 +1 @@
+../../Task/Tree-from-nesting-levels/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Ultra-useful-primes b/Lang/C-sharp/Ultra-useful-primes
new file mode 120000
index 0000000000..2258e0373a
--- /dev/null
+++ b/Lang/C-sharp/Ultra-useful-primes
@@ -0,0 +1 @@
+../../Task/Ultra-useful-primes/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Variable-declaration-reset b/Lang/C-sharp/Variable-declaration-reset
new file mode 120000
index 0000000000..ec0809da88
--- /dev/null
+++ b/Lang/C-sharp/Variable-declaration-reset
@@ -0,0 +1 @@
+../../Task/Variable-declaration-reset/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Vogels-approximation-method b/Lang/C-sharp/Vogels-approximation-method
new file mode 120000
index 0000000000..bb638d067a
--- /dev/null
+++ b/Lang/C-sharp/Vogels-approximation-method
@@ -0,0 +1 @@
+../../Task/Vogels-approximation-method/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Yellowstone-sequence b/Lang/C-sharp/Yellowstone-sequence
new file mode 120000
index 0000000000..793ce587ba
--- /dev/null
+++ b/Lang/C-sharp/Yellowstone-sequence
@@ -0,0 +1 @@
+../../Task/Yellowstone-sequence/C-sharp
\ No newline at end of file
diff --git a/Lang/C/Achilles-numbers b/Lang/C/Achilles-numbers
new file mode 120000
index 0000000000..5c3326676b
--- /dev/null
+++ b/Lang/C/Achilles-numbers
@@ -0,0 +1 @@
+../../Task/Achilles-numbers/C
\ No newline at end of file
diff --git a/Lang/C/Bioinformatics-base-count b/Lang/C/Bioinformatics-base-count
deleted file mode 120000
index 4819495149..0000000000
--- a/Lang/C/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/C
\ No newline at end of file
diff --git a/Lang/C/Color-wheel b/Lang/C/Color-wheel
new file mode 120000
index 0000000000..9d6561adcd
--- /dev/null
+++ b/Lang/C/Color-wheel
@@ -0,0 +1 @@
+../../Task/Color-wheel/C
\ No newline at end of file
diff --git a/Lang/C/Distance-and-Bearing b/Lang/C/Distance-and-Bearing
new file mode 120000
index 0000000000..4496c69ac6
--- /dev/null
+++ b/Lang/C/Distance-and-Bearing
@@ -0,0 +1 @@
+../../Task/Distance-and-Bearing/C
\ No newline at end of file
diff --git a/Lang/C/Dynamic-variable-names b/Lang/C/Dynamic-variable-names
new file mode 120000
index 0000000000..278fe3b232
--- /dev/null
+++ b/Lang/C/Dynamic-variable-names
@@ -0,0 +1 @@
+../../Task/Dynamic-variable-names/C
\ No newline at end of file
diff --git a/Lang/C/Execute-Computer-Zero b/Lang/C/Execute-Computer-Zero
new file mode 120000
index 0000000000..c10597c078
--- /dev/null
+++ b/Lang/C/Execute-Computer-Zero
@@ -0,0 +1 @@
+../../Task/Execute-Computer-Zero/C
\ No newline at end of file
diff --git a/Lang/C/Harmonic-series b/Lang/C/Harmonic-series
new file mode 120000
index 0000000000..dfebedc2c8
--- /dev/null
+++ b/Lang/C/Harmonic-series
@@ -0,0 +1 @@
+../../Task/Harmonic-series/C
\ No newline at end of file
diff --git a/Lang/C/History-variables b/Lang/C/History-variables
new file mode 120000
index 0000000000..3a73616359
--- /dev/null
+++ b/Lang/C/History-variables
@@ -0,0 +1 @@
+../../Task/History-variables/C
\ No newline at end of file
diff --git a/Lang/C/Hunt-the-Wumpus b/Lang/C/Hunt-the-Wumpus
new file mode 120000
index 0000000000..e7186ced48
--- /dev/null
+++ b/Lang/C/Hunt-the-Wumpus
@@ -0,0 +1 @@
+../../Task/Hunt-the-Wumpus/C
\ No newline at end of file
diff --git a/Lang/C/Magic-constant b/Lang/C/Magic-constant
new file mode 120000
index 0000000000..3d29fd6624
--- /dev/null
+++ b/Lang/C/Magic-constant
@@ -0,0 +1 @@
+../../Task/Magic-constant/C
\ No newline at end of file
diff --git a/Lang/C/Miller-Rabin-primality-test b/Lang/C/Miller-Rabin-primality-test
deleted file mode 120000
index b9ab762a9c..0000000000
--- a/Lang/C/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/C
\ No newline at end of file
diff --git a/Lang/C/Nested-templated-data b/Lang/C/Nested-templated-data
new file mode 120000
index 0000000000..ef78f3cb0c
--- /dev/null
+++ b/Lang/C/Nested-templated-data
@@ -0,0 +1 @@
+../../Task/Nested-templated-data/C
\ No newline at end of file
diff --git a/Lang/C/One-time-pad b/Lang/C/One-time-pad
new file mode 120000
index 0000000000..e0845d9058
--- /dev/null
+++ b/Lang/C/One-time-pad
@@ -0,0 +1 @@
+../../Task/One-time-pad/C
\ No newline at end of file
diff --git a/Lang/C/Pig-the-dice-game-Player b/Lang/C/Pig-the-dice-game-Player
new file mode 120000
index 0000000000..28ecb509a8
--- /dev/null
+++ b/Lang/C/Pig-the-dice-game-Player
@@ -0,0 +1 @@
+../../Task/Pig-the-dice-game-Player/C
\ No newline at end of file
diff --git a/Lang/C/Quaternion-type b/Lang/C/Quaternion-type
deleted file mode 120000
index 25d9910755..0000000000
--- a/Lang/C/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/C
\ No newline at end of file
diff --git a/Lang/C/Sequence-nth-number-with-exactly-n-divisors b/Lang/C/Sequence:-nth-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/C/Sequence-nth-number-with-exactly-n-divisors
rename to Lang/C/Sequence:-nth-number-with-exactly-n-divisors
diff --git a/Lang/C/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/C/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/C/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/C/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/C/Sequence-smallest-number-with-exactly-n-divisors b/Lang/C/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/C/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/C/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/C/Sleeping-Beauty-problem b/Lang/C/Sleeping-Beauty-problem
new file mode 120000
index 0000000000..193e808670
--- /dev/null
+++ b/Lang/C/Sleeping-Beauty-problem
@@ -0,0 +1 @@
+../../Task/Sleeping-Beauty-problem/C
\ No newline at end of file
diff --git a/Lang/C/Sorting-Algorithms-Circle-Sort b/Lang/C/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index 335574f406..0000000000
--- a/Lang/C/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/C
\ No newline at end of file
diff --git a/Lang/C3/Binary-digits b/Lang/C3/Binary-digits
new file mode 120000
index 0000000000..34a04afae2
--- /dev/null
+++ b/Lang/C3/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/C3
\ No newline at end of file
diff --git a/Lang/C3/Bulls-and-cows b/Lang/C3/Bulls-and-cows
new file mode 120000
index 0000000000..b5099b13d9
--- /dev/null
+++ b/Lang/C3/Bulls-and-cows
@@ -0,0 +1 @@
+../../Task/Bulls-and-cows/C3
\ No newline at end of file
diff --git a/Lang/CB80/00-LANG.txt b/Lang/CB80/00-LANG.txt
index 96b8bf005c..86de52ef42 100644
--- a/Lang/CB80/00-LANG.txt
+++ b/Lang/CB80/00-LANG.txt
@@ -1 +1,2 @@
-{{language}}{{Stub}}
\ No newline at end of file
+{{language}}{{Stub}}
+CB80 is not a separate language or dialect but rather a companion compiler for the [[CBASIC]] dialect of BASIC for 8-bit CP/M systems. The CBASIC compiler compiles source code into an intermediate form, which is stored on disk with the file extension INT. The compiled code is executed by invoking a run-time interpreter (CRUN.COM) from the command line. CB80, by contrast, compiles the source into a relocatable machine code file having an REL extension, which is then linked with necessary run-time library routines using the supplied linker (either LINK.COM or LK80.COM), to create a stand-alone executable file with the extension COM, which can be run simply by typing its name on the CP/M command-line. All of the posted CBASIC examples on Rosetta Code as of 9/14/2024 will compile and run without change under CB80. One subtle difference which could affect some programs lies in the behavior of the FOR .. NEXT statement. When run under CBASIC the body of the statement will always be executed at least once even if the index variable exceeds the value of the stop expression. If compiled using CB80, however, the loop will not be executed under those circumstances.
\ No newline at end of file
diff --git a/Lang/CBASIC/00-LANG.txt b/Lang/CBASIC/00-LANG.txt
new file mode 100644
index 0000000000..f0ff8ea32b
--- /dev/null
+++ b/Lang/CBASIC/00-LANG.txt
@@ -0,0 +1,21 @@
+{{stub}} {{language|CBASIC}}
+CBASIC was the commercial outgrowth of the BASIC-E compiler
+written by Gordon Eubanks as his Master's thesis while a
+student at the Naval Postgraduate School. CBASIC -- which
+was marketed for both 8 and 16 bit CP/M systems -- differed from
+many of the BASIC dialects of the day in two major respects:
+(1) line numbers were not required unless the statement was
+the target of a GOTO or GOSUB statement (and were in any event
+treated simply as labels) and (2) real (floating point) variables
+were implemented as 14-digit binary coded decimal (BCD), which,
+particularly in business and accounting applications, avoided round-off
+errors which purely binary floating point computations were prone
+to. Integer and string variables (which required % and $ suffixes,
+respectively) were also provided, as well as multi-dimensional arrays.
+Identifiers could be of any length, although only the first 31
+characters were significant. CBASIC supported multiline user-defined
+functions with parameters passed by value but did not support recursion.
+CBASIC was implemented as a compiler-interpreter: the source code was
+compiled into an intermediate form, which could then be executed by
+invoking a run-time interpreter. A companion compiler, [[CB80]], was
+offered that compiled to machine code.
\ No newline at end of file
diff --git a/Lang/CBASIC/00-META.yaml b/Lang/CBASIC/00-META.yaml
new file mode 100644
index 0000000000..ad24e74664
--- /dev/null
+++ b/Lang/CBASIC/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:CBASIC
diff --git a/Lang/CBASIC/100-doors b/Lang/CBASIC/100-doors
new file mode 120000
index 0000000000..e01a233041
--- /dev/null
+++ b/Lang/CBASIC/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/CBASIC
\ No newline at end of file
diff --git a/Lang/CBASIC/Amicable-pairs b/Lang/CBASIC/Amicable-pairs
new file mode 120000
index 0000000000..6386efc2a5
--- /dev/null
+++ b/Lang/CBASIC/Amicable-pairs
@@ -0,0 +1 @@
+../../Task/Amicable-pairs/CBASIC
\ No newline at end of file
diff --git a/Lang/CBASIC/Binary-digits b/Lang/CBASIC/Binary-digits
new file mode 120000
index 0000000000..d0de913861
--- /dev/null
+++ b/Lang/CBASIC/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/CBASIC
\ No newline at end of file
diff --git a/Lang/CBASIC/Factorial b/Lang/CBASIC/Factorial
new file mode 120000
index 0000000000..97dfd0b137
--- /dev/null
+++ b/Lang/CBASIC/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/CBASIC
\ No newline at end of file
diff --git a/Lang/CBASIC/Fibonacci-sequence b/Lang/CBASIC/Fibonacci-sequence
new file mode 120000
index 0000000000..eb9f8cf7a1
--- /dev/null
+++ b/Lang/CBASIC/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/CBASIC
\ No newline at end of file
diff --git a/Lang/CBASIC/Harmonic-series b/Lang/CBASIC/Harmonic-series
new file mode 120000
index 0000000000..aa1eac83fa
--- /dev/null
+++ b/Lang/CBASIC/Harmonic-series
@@ -0,0 +1 @@
+../../Task/Harmonic-series/CBASIC
\ No newline at end of file
diff --git a/Lang/CBASIC/Perfect-numbers b/Lang/CBASIC/Perfect-numbers
new file mode 120000
index 0000000000..3f847760d8
--- /dev/null
+++ b/Lang/CBASIC/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/CBASIC
\ No newline at end of file
diff --git a/Lang/CBASIC/Rot-13 b/Lang/CBASIC/Rot-13
new file mode 120000
index 0000000000..bbda100cd2
--- /dev/null
+++ b/Lang/CBASIC/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/CBASIC
\ No newline at end of file
diff --git a/Lang/CBASIC/Sieve-of-Eratosthenes b/Lang/CBASIC/Sieve-of-Eratosthenes
new file mode 120000
index 0000000000..ecdf66656a
--- /dev/null
+++ b/Lang/CBASIC/Sieve-of-Eratosthenes
@@ -0,0 +1 @@
+../../Task/Sieve-of-Eratosthenes/CBASIC
\ No newline at end of file
diff --git a/Lang/CJam/00-LANG.txt b/Lang/CJam/00-LANG.txt
new file mode 100644
index 0000000000..9d6f8331dc
--- /dev/null
+++ b/Lang/CJam/00-LANG.txt
@@ -0,0 +1,8 @@
+{{language|site=https://sourceforge.net/p/cjam/wiki/Home/}}
+
+[https://sourceforge.net/projects/cjam/ sf repo]
+
+From the [https://sourceforge.net/p/cjam/wiki/Home/ wiki]:
+
+:In order to run a CJam program, [https://sourceforge.net/projects/cjam/files/ download] the latest jar file, e.g. cjam-0.6.5.jar, and run this command:
+:java -jar cjam-0.6.5.jar file.cjam
\ No newline at end of file
diff --git a/Lang/CJam/00-META.yaml b/Lang/CJam/00-META.yaml
new file mode 100644
index 0000000000..49b8d01361
--- /dev/null
+++ b/Lang/CJam/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:CJam
diff --git a/Lang/CLU/Arithmetic-derivative b/Lang/CLU/Arithmetic-derivative
new file mode 120000
index 0000000000..f0f81c6bc1
--- /dev/null
+++ b/Lang/CLU/Arithmetic-derivative
@@ -0,0 +1 @@
+../../Task/Arithmetic-derivative/CLU
\ No newline at end of file
diff --git a/Lang/CLU/Move-to-front-algorithm b/Lang/CLU/Move-to-front-algorithm
new file mode 120000
index 0000000000..bbdfe9bcdb
--- /dev/null
+++ b/Lang/CLU/Move-to-front-algorithm
@@ -0,0 +1 @@
+../../Task/Move-to-front-algorithm/CLU
\ No newline at end of file
diff --git a/Lang/CLU/Quaternion-type b/Lang/CLU/Quaternion-type
deleted file mode 120000
index abdefd8765..0000000000
--- a/Lang/CLU/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/CLU
\ No newline at end of file
diff --git a/Lang/CLU/Super-d-numbers b/Lang/CLU/Super-d-numbers
new file mode 120000
index 0000000000..a271a5f6dc
--- /dev/null
+++ b/Lang/CLU/Super-d-numbers
@@ -0,0 +1 @@
+../../Task/Super-d-numbers/CLU
\ No newline at end of file
diff --git a/Lang/COBOL/ABC-problem b/Lang/COBOL/ABC-problem
new file mode 120000
index 0000000000..ca521ee81d
--- /dev/null
+++ b/Lang/COBOL/ABC-problem
@@ -0,0 +1 @@
+../../Task/ABC-problem/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/AVL-tree b/Lang/COBOL/AVL-tree
new file mode 120000
index 0000000000..d8a20640c6
--- /dev/null
+++ b/Lang/COBOL/AVL-tree
@@ -0,0 +1 @@
+../../Task/AVL-tree/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Abundant-odd-numbers b/Lang/COBOL/Abundant-odd-numbers
new file mode 120000
index 0000000000..7268a8a6ca
--- /dev/null
+++ b/Lang/COBOL/Abundant-odd-numbers
@@ -0,0 +1 @@
+../../Task/Abundant-odd-numbers/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Achilles-numbers b/Lang/COBOL/Achilles-numbers
new file mode 120000
index 0000000000..4a3a715de1
--- /dev/null
+++ b/Lang/COBOL/Achilles-numbers
@@ -0,0 +1 @@
+../../Task/Achilles-numbers/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Arithmetic-numbers b/Lang/COBOL/Arithmetic-numbers
new file mode 120000
index 0000000000..cf8f3a0323
--- /dev/null
+++ b/Lang/COBOL/Arithmetic-numbers
@@ -0,0 +1 @@
+../../Task/Arithmetic-numbers/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Calkin-Wilf-sequence b/Lang/COBOL/Calkin-Wilf-sequence
new file mode 120000
index 0000000000..f3e314890f
--- /dev/null
+++ b/Lang/COBOL/Calkin-Wilf-sequence
@@ -0,0 +1 @@
+../../Task/Calkin-Wilf-sequence/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Colorful-numbers b/Lang/COBOL/Colorful-numbers
new file mode 120000
index 0000000000..6d5c4f9dff
--- /dev/null
+++ b/Lang/COBOL/Colorful-numbers
@@ -0,0 +1 @@
+../../Task/Colorful-numbers/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Cullen-and-Woodall-numbers b/Lang/COBOL/Cullen-and-Woodall-numbers
new file mode 120000
index 0000000000..b212ad96a5
--- /dev/null
+++ b/Lang/COBOL/Cullen-and-Woodall-numbers
@@ -0,0 +1 @@
+../../Task/Cullen-and-Woodall-numbers/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Damm-algorithm b/Lang/COBOL/Damm-algorithm
new file mode 120000
index 0000000000..e4f3bf1f71
--- /dev/null
+++ b/Lang/COBOL/Damm-algorithm
@@ -0,0 +1 @@
+../../Task/Damm-algorithm/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/De-Bruijn-sequences b/Lang/COBOL/De-Bruijn-sequences
new file mode 120000
index 0000000000..67e8dee974
--- /dev/null
+++ b/Lang/COBOL/De-Bruijn-sequences
@@ -0,0 +1 @@
+../../Task/De-Bruijn-sequences/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Dijkstras-algorithm b/Lang/COBOL/Dijkstras-algorithm
new file mode 120000
index 0000000000..19c743357a
--- /dev/null
+++ b/Lang/COBOL/Dijkstras-algorithm
@@ -0,0 +1 @@
+../../Task/Dijkstras-algorithm/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Farey-sequence b/Lang/COBOL/Farey-sequence
new file mode 120000
index 0000000000..b402aede64
--- /dev/null
+++ b/Lang/COBOL/Farey-sequence
@@ -0,0 +1 @@
+../../Task/Farey-sequence/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Floyd-Warshall-algorithm b/Lang/COBOL/Floyd-Warshall-algorithm
new file mode 120000
index 0000000000..de49182ec8
--- /dev/null
+++ b/Lang/COBOL/Floyd-Warshall-algorithm
@@ -0,0 +1 @@
+../../Task/Floyd-Warshall-algorithm/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Fusc-sequence b/Lang/COBOL/Fusc-sequence
new file mode 120000
index 0000000000..e8b4b1330c
--- /dev/null
+++ b/Lang/COBOL/Fusc-sequence
@@ -0,0 +1 @@
+../../Task/Fusc-sequence/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/K-d-tree b/Lang/COBOL/K-d-tree
new file mode 120000
index 0000000000..af9595a130
--- /dev/null
+++ b/Lang/COBOL/K-d-tree
@@ -0,0 +1 @@
+../../Task/K-d-tree/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Knuths-algorithm-S b/Lang/COBOL/Knuths-algorithm-S
new file mode 120000
index 0000000000..119841f920
--- /dev/null
+++ b/Lang/COBOL/Knuths-algorithm-S
@@ -0,0 +1 @@
+../../Task/Knuths-algorithm-S/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Leonardo-numbers b/Lang/COBOL/Leonardo-numbers
new file mode 120000
index 0000000000..65bc7509a4
--- /dev/null
+++ b/Lang/COBOL/Leonardo-numbers
@@ -0,0 +1 @@
+../../Task/Leonardo-numbers/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Move-to-front-algorithm b/Lang/COBOL/Move-to-front-algorithm
new file mode 120000
index 0000000000..f9458888cc
--- /dev/null
+++ b/Lang/COBOL/Move-to-front-algorithm
@@ -0,0 +1 @@
+../../Task/Move-to-front-algorithm/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Nim-game b/Lang/COBOL/Nim-game
new file mode 120000
index 0000000000..9a7c582b48
--- /dev/null
+++ b/Lang/COBOL/Nim-game
@@ -0,0 +1 @@
+../../Task/Nim-game/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Pancake-numbers b/Lang/COBOL/Pancake-numbers
new file mode 120000
index 0000000000..22e5574a28
--- /dev/null
+++ b/Lang/COBOL/Pancake-numbers
@@ -0,0 +1 @@
+../../Task/Pancake-numbers/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Parametric-polymorphism b/Lang/COBOL/Parametric-polymorphism
new file mode 120000
index 0000000000..44f214df50
--- /dev/null
+++ b/Lang/COBOL/Parametric-polymorphism
@@ -0,0 +1 @@
+../../Task/Parametric-polymorphism/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Soloways-recurring-rainfall b/Lang/COBOL/Soloways-recurring-rainfall
new file mode 120000
index 0000000000..883bf3b2e0
--- /dev/null
+++ b/Lang/COBOL/Soloways-recurring-rainfall
@@ -0,0 +1 @@
+../../Task/Soloways-recurring-rainfall/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Strassens-algorithm b/Lang/COBOL/Strassens-algorithm
new file mode 120000
index 0000000000..488f64d9e2
--- /dev/null
+++ b/Lang/COBOL/Strassens-algorithm
@@ -0,0 +1 @@
+../../Task/Strassens-algorithm/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/The-Name-Game b/Lang/COBOL/The-Name-Game
new file mode 120000
index 0000000000..35866ecb72
--- /dev/null
+++ b/Lang/COBOL/The-Name-Game
@@ -0,0 +1 @@
+../../Task/The-Name-Game/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Twos-complement b/Lang/COBOL/Twos-complement
new file mode 120000
index 0000000000..776801b9e2
--- /dev/null
+++ b/Lang/COBOL/Twos-complement
@@ -0,0 +1 @@
+../../Task/Twos-complement/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Vigen-re-cipher b/Lang/COBOL/Vigen-re-cipher
new file mode 120000
index 0000000000..93e3f53bcb
--- /dev/null
+++ b/Lang/COBOL/Vigen-re-cipher
@@ -0,0 +1 @@
+../../Task/Vigen-re-cipher/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Zeckendorf-number-representation b/Lang/COBOL/Zeckendorf-number-representation
new file mode 120000
index 0000000000..d3c11d47da
--- /dev/null
+++ b/Lang/COBOL/Zeckendorf-number-representation
@@ -0,0 +1 @@
+../../Task/Zeckendorf-number-representation/COBOL
\ No newline at end of file
diff --git a/Lang/Calc/00-LANG.txt b/Lang/Calc/00-LANG.txt
new file mode 100644
index 0000000000..9066fe1741
--- /dev/null
+++ b/Lang/Calc/00-LANG.txt
@@ -0,0 +1,10 @@
+{{language|Calc
+|untyped=yes}}
+{{language programming paradigm|stack-based}}
+{{language programming paradigm|imperative}}
+
+Calc is a stack-based RPN calculator inside [[Emacs]]. Calc is part of GNU Emacs 22, or a package for XEmacs.
+
+Calc presents itself as an interactive calculator. Instructions can also be stored as macros, including control flow instructions (if-then-else, for loop, etc.), which makes Calc fully programmable. Calc also provides a library available in Emacs Lisp programs.
+
+Calc has more numeric types than plain Emacs Lisp. Calc has big integers, big floating-point numbers, rational numbers, complex numbers, and more. (For contrast, plain Emacs Lisp can only handle integers and floating-point numbers of limited precision.) Emacs Lisp with Calc can solve tasks requiring these types of numbers.
\ No newline at end of file
diff --git a/Lang/Calc/00-META.yaml b/Lang/Calc/00-META.yaml
new file mode 100644
index 0000000000..85b0e2ef53
--- /dev/null
+++ b/Lang/Calc/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Calc
diff --git a/Lang/Calc/Averages-Arithmetic-mean b/Lang/Calc/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..8ad84c8dbd
--- /dev/null
+++ b/Lang/Calc/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/Calc
\ No newline at end of file
diff --git a/Lang/Calc/Modular-exponentiation b/Lang/Calc/Modular-exponentiation
new file mode 120000
index 0000000000..b72a4448d5
--- /dev/null
+++ b/Lang/Calc/Modular-exponentiation
@@ -0,0 +1 @@
+../../Task/Modular-exponentiation/Calc
\ No newline at end of file
diff --git a/Lang/Calcscript/00-LANG.txt b/Lang/Calcscript/00-LANG.txt
new file mode 100644
index 0000000000..d2db819bbe
--- /dev/null
+++ b/Lang/Calcscript/00-LANG.txt
@@ -0,0 +1,10 @@
+{{language
+|site=https://gitee.com/jfiewo/calc/
+}}
+Calcscript is a small lisp-like language.
+* It has 3 datatypes: Int, Same, and Invalid.
+* The usual 4 arithmetic operations are supported.
+
+See [https://gitee.com/jfiewo/calc/ the respository] for details.
+{{language programming paradigm|Logic Programming}}
+{{language programming paradigm|Functional}}
\ No newline at end of file
diff --git a/Lang/Calcscript/00-META.yaml b/Lang/Calcscript/00-META.yaml
new file mode 100644
index 0000000000..cee9fc468f
--- /dev/null
+++ b/Lang/Calcscript/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Calcscript
diff --git a/Lang/Chapel/Function-definition b/Lang/Chapel/Function-definition
new file mode 120000
index 0000000000..589b4afa2c
--- /dev/null
+++ b/Lang/Chapel/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/Chapel
\ No newline at end of file
diff --git a/Lang/Chapel/Maze-generation b/Lang/Chapel/Maze-generation
new file mode 120000
index 0000000000..b4c55cfddb
--- /dev/null
+++ b/Lang/Chapel/Maze-generation
@@ -0,0 +1 @@
+../../Task/Maze-generation/Chapel
\ No newline at end of file
diff --git a/Lang/Chapel/Repeat b/Lang/Chapel/Repeat
new file mode 120000
index 0000000000..3c555a4885
--- /dev/null
+++ b/Lang/Chapel/Repeat
@@ -0,0 +1 @@
+../../Task/Repeat/Chapel
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/ASCII-art-diagram-converter b/Lang/Chipmunk-Basic/ASCII-art-diagram-converter
new file mode 120000
index 0000000000..a034d74b58
--- /dev/null
+++ b/Lang/Chipmunk-Basic/ASCII-art-diagram-converter
@@ -0,0 +1 @@
+../../Task/ASCII-art-diagram-converter/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Associative-array-Merging b/Lang/Chipmunk-Basic/Associative-array-Merging
new file mode 120000
index 0000000000..dd87e8e06c
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Associative-array-Merging
@@ -0,0 +1 @@
+../../Task/Associative-array-Merging/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Determine-sentence-type b/Lang/Chipmunk-Basic/Determine-sentence-type
new file mode 120000
index 0000000000..6851894430
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Determine-sentence-type
@@ -0,0 +1 @@
+../../Task/Determine-sentence-type/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Display-a-linear-combination b/Lang/Chipmunk-Basic/Display-a-linear-combination
new file mode 120000
index 0000000000..76f3965566
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Display-a-linear-combination
@@ -0,0 +1 @@
+../../Task/Display-a-linear-combination/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Diversity-prediction-theorem b/Lang/Chipmunk-Basic/Diversity-prediction-theorem
new file mode 120000
index 0000000000..094da6a44e
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Diversity-prediction-theorem
@@ -0,0 +1 @@
+../../Task/Diversity-prediction-theorem/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Eban-numbers b/Lang/Chipmunk-Basic/Eban-numbers
new file mode 120000
index 0000000000..109253525e
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Eban-numbers
@@ -0,0 +1 @@
+../../Task/Eban-numbers/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Evaluate-binomial-coefficients b/Lang/Chipmunk-Basic/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..b45aed06e2
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Fibonacci-n-step-number-sequences b/Lang/Chipmunk-Basic/Fibonacci-n-step-number-sequences
new file mode 120000
index 0000000000..24e6f1fb75
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Fibonacci-n-step-number-sequences
@@ -0,0 +1 @@
+../../Task/Fibonacci-n-step-number-sequences/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Generate-Chess960-starting-position b/Lang/Chipmunk-Basic/Generate-Chess960-starting-position
new file mode 120000
index 0000000000..daceb0cf8f
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Generate-Chess960-starting-position
@@ -0,0 +1 @@
+../../Task/Generate-Chess960-starting-position/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Generate-lower-case-ASCII-alphabet b/Lang/Chipmunk-Basic/Generate-lower-case-ASCII-alphabet
new file mode 120000
index 0000000000..22e12f5ab0
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Generate-lower-case-ASCII-alphabet
@@ -0,0 +1 @@
+../../Task/Generate-lower-case-ASCII-alphabet/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Jensens-Device b/Lang/Chipmunk-Basic/Jensens-Device
new file mode 120000
index 0000000000..927dca2f6f
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Jensens-Device
@@ -0,0 +1 @@
+../../Task/Jensens-Device/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Leonardo-numbers b/Lang/Chipmunk-Basic/Leonardo-numbers
new file mode 120000
index 0000000000..65f7e68a9b
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Leonardo-numbers
@@ -0,0 +1 @@
+../../Task/Leonardo-numbers/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Map-range b/Lang/Chipmunk-Basic/Map-range
new file mode 120000
index 0000000000..3aa5f00ecb
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Map-range
@@ -0,0 +1 @@
+../../Task/Map-range/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Multiple-regression b/Lang/Chipmunk-Basic/Multiple-regression
new file mode 120000
index 0000000000..82844a944e
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Multiple-regression
@@ -0,0 +1 @@
+../../Task/Multiple-regression/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Nested-templated-data b/Lang/Chipmunk-Basic/Nested-templated-data
new file mode 120000
index 0000000000..a7e95ed6f1
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Nested-templated-data
@@ -0,0 +1 @@
+../../Task/Nested-templated-data/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Pascals-triangle b/Lang/Chipmunk-Basic/Pascals-triangle
new file mode 120000
index 0000000000..aa62c07130
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Perfect-numbers b/Lang/Chipmunk-Basic/Perfect-numbers
new file mode 120000
index 0000000000..4bd1876580
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Phrase-reversals b/Lang/Chipmunk-Basic/Phrase-reversals
new file mode 120000
index 0000000000..3d4b70a430
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Phrase-reversals
@@ -0,0 +1 @@
+../../Task/Phrase-reversals/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Price-fraction b/Lang/Chipmunk-Basic/Price-fraction
new file mode 120000
index 0000000000..895d56d4cf
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Proper-divisors b/Lang/Chipmunk-Basic/Proper-divisors
new file mode 120000
index 0000000000..e83b2b6ef0
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Proper-divisors
@@ -0,0 +1 @@
+../../Task/Proper-divisors/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Rate-counter b/Lang/Chipmunk-Basic/Rate-counter
new file mode 120000
index 0000000000..214d671194
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Rate-counter
@@ -0,0 +1 @@
+../../Task/Rate-counter/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
similarity index 100%
rename from Lang/Chipmunk-Basic/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/Chipmunk-Basic/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/Chipmunk-Basic/Shell-one-liner b/Lang/Chipmunk-Basic/Shell-one-liner
new file mode 120000
index 0000000000..a90b838683
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Shell-one-liner
@@ -0,0 +1 @@
+../../Task/Shell-one-liner/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Split-a-character-string-based-on-change-of-character b/Lang/Chipmunk-Basic/Split-a-character-string-based-on-change-of-character
new file mode 120000
index 0000000000..ae1d1da2a7
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Split-a-character-string-based-on-change-of-character
@@ -0,0 +1 @@
+../../Task/Split-a-character-string-based-on-change-of-character/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Sudan-function b/Lang/Chipmunk-Basic/Sudan-function
new file mode 120000
index 0000000000..8b26708ee8
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Sudan-function
@@ -0,0 +1 @@
+../../Task/Sudan-function/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Sum-of-a-series b/Lang/Chipmunk-Basic/Sum-of-a-series
new file mode 120000
index 0000000000..f9bdcf9a6b
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Sum-of-a-series
@@ -0,0 +1 @@
+../../Task/Sum-of-a-series/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/The-Name-Game b/Lang/Chipmunk-Basic/The-Name-Game
new file mode 120000
index 0000000000..5655525e11
--- /dev/null
+++ b/Lang/Chipmunk-Basic/The-Name-Game
@@ -0,0 +1 @@
+../../Task/The-Name-Game/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Twos-complement b/Lang/Chipmunk-Basic/Twos-complement
new file mode 120000
index 0000000000..4eb5b36880
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Twos-complement
@@ -0,0 +1 @@
+../../Task/Twos-complement/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Chipmunk-Basic/Vector b/Lang/Chipmunk-Basic/Vector
new file mode 120000
index 0000000000..68aa51b11b
--- /dev/null
+++ b/Lang/Chipmunk-Basic/Vector
@@ -0,0 +1 @@
+../../Task/Vector/Chipmunk-Basic
\ No newline at end of file
diff --git a/Lang/Clojure/Miller-Rabin-primality-test b/Lang/Clojure/Miller-Rabin-primality-test
deleted file mode 120000
index 67b048eb10..0000000000
--- a/Lang/Clojure/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Clojure
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Empty-program b/Lang/CoffeeScript/Empty-program
deleted file mode 120000
index c325b31ffa..0000000000
--- a/Lang/CoffeeScript/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Sorting-Algorithms-Circle-Sort b/Lang/CoffeeScript/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index e4d7481d88..0000000000
--- a/Lang/CoffeeScript/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/CoffeeScript
\ No newline at end of file
diff --git a/Lang/Comal/Fairshare-between-two-and-more b/Lang/Comal/Fairshare-between-two-and-more
new file mode 120000
index 0000000000..4497e4f55d
--- /dev/null
+++ b/Lang/Comal/Fairshare-between-two-and-more
@@ -0,0 +1 @@
+../../Task/Fairshare-between-two-and-more/Comal
\ No newline at end of file
diff --git a/Lang/Comal/Zeckendorf-number-representation b/Lang/Comal/Zeckendorf-number-representation
new file mode 120000
index 0000000000..55d16429d3
--- /dev/null
+++ b/Lang/Comal/Zeckendorf-number-representation
@@ -0,0 +1 @@
+../../Task/Zeckendorf-number-representation/Comal
\ No newline at end of file
diff --git a/Lang/Commodore-BASIC/Miller-Rabin-primality-test b/Lang/Commodore-BASIC/Miller-Rabin-primality-test
deleted file mode 120000
index 7354bc510f..0000000000
--- a/Lang/Commodore-BASIC/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Commodore-BASIC
\ No newline at end of file
diff --git a/Lang/Commodore-BASIC/N-queens-problem b/Lang/Commodore-BASIC/N-queens-problem
new file mode 120000
index 0000000000..d5a4ff5b7a
--- /dev/null
+++ b/Lang/Commodore-BASIC/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Commodore-BASIC
\ No newline at end of file
diff --git a/Lang/Commodore-BASIC/Random-number-generator-device- b/Lang/Commodore-BASIC/Random-number-generator-device-
new file mode 120000
index 0000000000..f23b1d0d42
--- /dev/null
+++ b/Lang/Commodore-BASIC/Random-number-generator-device-
@@ -0,0 +1 @@
+../../Task/Random-number-generator-device-/Commodore-BASIC
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Blum-integer b/Lang/Common-Lisp/Blum-integer
new file mode 120000
index 0000000000..854dbaeee7
--- /dev/null
+++ b/Lang/Common-Lisp/Blum-integer
@@ -0,0 +1 @@
+../../Task/Blum-integer/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Factorial-primes b/Lang/Common-Lisp/Factorial-primes
new file mode 120000
index 0000000000..cc0d935af1
--- /dev/null
+++ b/Lang/Common-Lisp/Factorial-primes
@@ -0,0 +1 @@
+../../Task/Factorial-primes/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Miller-Rabin-primality-test b/Lang/Common-Lisp/Miller-Rabin-primality-test
deleted file mode 120000
index 4f8dbe695d..0000000000
--- a/Lang/Common-Lisp/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Multi-dimensional-array b/Lang/Common-Lisp/Multi-dimensional-array
new file mode 120000
index 0000000000..37f7ef0979
--- /dev/null
+++ b/Lang/Common-Lisp/Multi-dimensional-array
@@ -0,0 +1 @@
+../../Task/Multi-dimensional-array/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Quaternion-type b/Lang/Common-Lisp/Quaternion-type
deleted file mode 120000
index dd7bafa7e8..0000000000
--- a/Lang/Common-Lisp/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Substitution-cipher b/Lang/Common-Lisp/Substitution-cipher
new file mode 120000
index 0000000000..332d90e9f0
--- /dev/null
+++ b/Lang/Common-Lisp/Substitution-cipher
@@ -0,0 +1 @@
+../../Task/Substitution-cipher/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Wieferich-primes b/Lang/Common-Lisp/Wieferich-primes
new file mode 120000
index 0000000000..91ad6e3ba2
--- /dev/null
+++ b/Lang/Common-Lisp/Wieferich-primes
@@ -0,0 +1 @@
+../../Task/Wieferich-primes/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Component-Pascal/00-LANG.txt b/Lang/Component-Pascal/00-LANG.txt
index a83cc2b2e7..7056dd922c 100644
--- a/Lang/Component-Pascal/00-LANG.txt
+++ b/Lang/Component-Pascal/00-LANG.txt
@@ -1,4 +1,11 @@
{{language|Component Pascal}}'''Component Pascal''' is a programming language in the tradition of Oberon and [[Oberon-2]], the last language Niklaus Wirth designed before he retired in 1999. It bears the name of the [[Pascal]] programming language but is incompatible with it. Instead, it is a minor variant and refinement of Oberon-2, designed and supported by a small ETH Zürich spin-off company called Oberon microsystems. Their [[IDE]] is called BlackBox Component Builder. At the time the first version was released (1994) it presented a novel approach to graphical user interface ([[GUI]]) construction based on editable forms, where fields and command buttons are linked to exported variables and executable procedures. This approach bears some similarity to the code-behind way used in [[Microsoft]]'s [[.NET]] 3.0 to access code in XAML.
==Citations==
-* [http://en.wikipedia.org/wiki/Component_Pascal Wikipedia:Component Pascal]
\ No newline at end of file
+* [http://en.wikipedia.org/wiki/Component_Pascal Wikipedia:Component Pascal]
+
+===See also===
+* [[Oberon-07]]
+* [[Oberon-2]]
+* [[Zonnon]]
+* [[Modula-2]]
+* [[Modula-3]]
\ No newline at end of file
diff --git a/Lang/Component-Pascal/100-doors b/Lang/Component-Pascal/100-doors
deleted file mode 120000
index 76b023254e..0000000000
--- a/Lang/Component-Pascal/100-doors
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/100-doors/Component-Pascal
\ No newline at end of file
diff --git a/Lang/Computer-zero-Assembly/00-LANG.txt b/Lang/Computer-zero-Assembly/00-LANG.txt
index e6ea975211..779b92356f 100644
--- a/Lang/Computer-zero-Assembly/00-LANG.txt
+++ b/Lang/Computer-zero-Assembly/00-LANG.txt
@@ -19,10 +19,10 @@ There are only 32 bytes of memory, and this includes your program code, leaving
==Self-Modifying Code==
With such little RAM available, the biggest tool we have at our disposal for programming is self-modifying code. The CPU makes no distinction between data and instructions, and as such we can store values into memory before that memory is executed, in order to change what the computer will do. Here's an example:
-LDA 4
+LDA 4
STA 2
ADD 3
STP
-SUB 3
+SUB 3
The above snippet of code never actually ADDs anything, since that instruction gets overwritten by SUB 3. And what is SUB 3 subtracting? It's subtracting the value of STP, which can be encoded as any number between 0xE0 and 0xFF. Specifically, the encoding of SUB 3 (i.e. 0b10000011) is decreased by some value between 0xE0 and 0xFF, and since all arithmetic on this CPU is modulo 256 (as is standard for nearly all 8-bit CPUs), there will be roll-over across the FF-00 boundary. Without a hardware carry flag, however, it's difficult to track this overflow.
\ No newline at end of file
diff --git a/Lang/Convex/00-LANG.txt b/Lang/Convex/00-LANG.txt
new file mode 100644
index 0000000000..6676f23dde
--- /dev/null
+++ b/Lang/Convex/00-LANG.txt
@@ -0,0 +1,6 @@
+Convex is a stack-based golfing esolang based on Golfscript and CJam.
+
+{{language|site=https://github.com/ZekNikZ/Convex}}
+
+{{try|Convex|[https://tio.run/#convex Try Convex on tio.run].}}
+{{language_programming_paradigm|Concatenative}}
\ No newline at end of file
diff --git a/Lang/Convex/00-META.yaml b/Lang/Convex/00-META.yaml
new file mode 100644
index 0000000000..b10fffa83e
--- /dev/null
+++ b/Lang/Convex/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Convex
diff --git a/Lang/Coq/00-LANG.txt b/Lang/Coq/00-LANG.txt
index 3a03214cba..dac9774672 100644
--- a/Lang/Coq/00-LANG.txt
+++ b/Lang/Coq/00-LANG.txt
@@ -1,9 +1 @@
-{{language|Coq
-|site=http://coq.inria.fr
-}}
-In computer science, Coq is a proof assistant application. It allows the expression of mathematical assertions, mechanically checks proofs of these assertions, helps to find formal proofs, and extracts a certified program from the constructive proof of its formal specification. Coq works within the theory of the calculus of inductive constructions, a derivative of the calculus of constructions. Coq is not an automated [[wp:Theorem_prover|theorem prover]] but includes automatic theorem proving tactics and various decision procedures.
-
-==Citations==
-* [[wp:Coq|Coq]]
-
-[[Category:Mathematical programming languages]]
\ No newline at end of file
+#REDIRECT [[:Category:Rocq]]
\ No newline at end of file
diff --git a/Lang/Coq/100-doors b/Lang/Coq/100-doors
deleted file mode 120000
index fd39f903ef..0000000000
--- a/Lang/Coq/100-doors
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/100-doors/Coq
\ No newline at end of file
diff --git a/Lang/Coq/Ackermann-function b/Lang/Coq/Ackermann-function
deleted file mode 120000
index 03a0752c76..0000000000
--- a/Lang/Coq/Ackermann-function
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Ackermann-function/Coq
\ No newline at end of file
diff --git a/Lang/Coq/Extend-your-language b/Lang/Coq/Extend-your-language
deleted file mode 120000
index 2e717c1027..0000000000
--- a/Lang/Coq/Extend-your-language
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Extend-your-language/Coq
\ No newline at end of file
diff --git a/Lang/Coq/Factorial b/Lang/Coq/Factorial
deleted file mode 120000
index 3d35ebeb5f..0000000000
--- a/Lang/Coq/Factorial
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Factorial/Coq
\ No newline at end of file
diff --git a/Lang/Coq/Fibonacci-sequence b/Lang/Coq/Fibonacci-sequence
deleted file mode 120000
index fc6d7d958a..0000000000
--- a/Lang/Coq/Fibonacci-sequence
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Fibonacci-sequence/Coq
\ No newline at end of file
diff --git a/Lang/Coq/FizzBuzz b/Lang/Coq/FizzBuzz
deleted file mode 120000
index 966d79dca5..0000000000
--- a/Lang/Coq/FizzBuzz
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/FizzBuzz/Coq
\ No newline at end of file
diff --git a/Lang/Coq/Hello-world-Newbie b/Lang/Coq/Hello-world-Newbie
deleted file mode 120000
index 53590d7473..0000000000
--- a/Lang/Coq/Hello-world-Newbie
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Hello-world-Newbie/Coq
\ No newline at end of file
diff --git a/Lang/Coq/Hello-world-Text b/Lang/Coq/Hello-world-Text
deleted file mode 120000
index 194b2d17df..0000000000
--- a/Lang/Coq/Hello-world-Text
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Hello-world-Text/Coq
\ No newline at end of file
diff --git a/Lang/Coq/Loops-For b/Lang/Coq/Loops-For
deleted file mode 120000
index b1341b994c..0000000000
--- a/Lang/Coq/Loops-For
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Loops-For/Coq
\ No newline at end of file
diff --git a/Lang/Coq/Tree-traversal b/Lang/Coq/Tree-traversal
deleted file mode 120000
index e38e9a0bdd..0000000000
--- a/Lang/Coq/Tree-traversal
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Tree-traversal/Coq
\ No newline at end of file
diff --git a/Lang/Coq/Variadic-function b/Lang/Coq/Variadic-function
deleted file mode 120000
index 391626fb92..0000000000
--- a/Lang/Coq/Variadic-function
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Variadic-function/Coq
\ No newline at end of file
diff --git a/Lang/Cowgol/Align-columns b/Lang/Cowgol/Align-columns
new file mode 120000
index 0000000000..2931644d20
--- /dev/null
+++ b/Lang/Cowgol/Align-columns
@@ -0,0 +1 @@
+../../Task/Align-columns/Cowgol
\ No newline at end of file
diff --git a/Lang/Cowgol/Arithmetic-derivative b/Lang/Cowgol/Arithmetic-derivative
new file mode 120000
index 0000000000..5d9cc4afd2
--- /dev/null
+++ b/Lang/Cowgol/Arithmetic-derivative
@@ -0,0 +1 @@
+../../Task/Arithmetic-derivative/Cowgol
\ No newline at end of file
diff --git a/Lang/Cowgol/Compound-data-type b/Lang/Cowgol/Compound-data-type
new file mode 120000
index 0000000000..f242ef8856
--- /dev/null
+++ b/Lang/Cowgol/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/Cowgol
\ No newline at end of file
diff --git a/Lang/Cowgol/Display-a-linear-combination b/Lang/Cowgol/Display-a-linear-combination
new file mode 120000
index 0000000000..7e169cd6fe
--- /dev/null
+++ b/Lang/Cowgol/Display-a-linear-combination
@@ -0,0 +1 @@
+../../Task/Display-a-linear-combination/Cowgol
\ No newline at end of file
diff --git a/Lang/Cowgol/Move-to-front-algorithm b/Lang/Cowgol/Move-to-front-algorithm
new file mode 120000
index 0000000000..137327f2ab
--- /dev/null
+++ b/Lang/Cowgol/Move-to-front-algorithm
@@ -0,0 +1 @@
+../../Task/Move-to-front-algorithm/Cowgol
\ No newline at end of file
diff --git a/Lang/Cowgol/Sequence-smallest-number-with-exactly-n-divisors b/Lang/Cowgol/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Cowgol/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/Cowgol/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/Cowgol/UTF-8-encode-and-decode b/Lang/Cowgol/UTF-8-encode-and-decode
new file mode 120000
index 0000000000..93ae70053a
--- /dev/null
+++ b/Lang/Cowgol/UTF-8-encode-and-decode
@@ -0,0 +1 @@
+../../Task/UTF-8-encode-and-decode/Cowgol
\ No newline at end of file
diff --git a/Lang/Crystal/00-LANG.txt b/Lang/Crystal/00-LANG.txt
index b671a267bf..2d48345f43 100644
--- a/Lang/Crystal/00-LANG.txt
+++ b/Lang/Crystal/00-LANG.txt
@@ -6,7 +6,8 @@
|strength=strong
|checking=static
|compat=duck
-|site=http://crystal-lang.org}}
+|site=http://crystal-lang.org
+|hopl=no, HOPL only has an older "Crystal" language from 1986}}
Crystal is a programming language with the following goals:
* Have the same syntax as Ruby, or at least as similar as possible.
* Never have to specify the type of a variable or method argument.
@@ -14,4 +15,7 @@ Crystal is a programming language with the following goals:
* Have compile-time evaluation and generation of code, to avoid boilerplate code.
* Compile to efficient native code.
-You can ask for help on Freenode in the #crystal-lang channel.
\ No newline at end of file
+You can ask for help on LiberaChat in the [ircs://irc.libera.chat:6697#crystal-lang #crystal-lang] channel ([https://web.libera.chat/#crystal-lang web]).
+
+==Tasks not implemented in Crystal==
+[[Tasks not implemented in Crystal]]
\ No newline at end of file
diff --git a/Lang/Crystal/ABC-problem b/Lang/Crystal/ABC-problem
new file mode 120000
index 0000000000..4ebb385d2c
--- /dev/null
+++ b/Lang/Crystal/ABC-problem
@@ -0,0 +1 @@
+../../Task/ABC-problem/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/ADFGVX-cipher b/Lang/Crystal/ADFGVX-cipher
new file mode 120000
index 0000000000..20d511e75f
--- /dev/null
+++ b/Lang/Crystal/ADFGVX-cipher
@@ -0,0 +1 @@
+../../Task/ADFGVX-cipher/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/ASCII-art-diagram-converter b/Lang/Crystal/ASCII-art-diagram-converter
new file mode 120000
index 0000000000..0f1238b276
--- /dev/null
+++ b/Lang/Crystal/ASCII-art-diagram-converter
@@ -0,0 +1 @@
+../../Task/ASCII-art-diagram-converter/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Abbreviations-automatic b/Lang/Crystal/Abbreviations-automatic
new file mode 120000
index 0000000000..356658ce4c
--- /dev/null
+++ b/Lang/Crystal/Abbreviations-automatic
@@ -0,0 +1 @@
+../../Task/Abbreviations-automatic/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Abbreviations-easy b/Lang/Crystal/Abbreviations-easy
new file mode 120000
index 0000000000..b3a87e7119
--- /dev/null
+++ b/Lang/Crystal/Abbreviations-easy
@@ -0,0 +1 @@
+../../Task/Abbreviations-easy/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Abelian-sandpile-model b/Lang/Crystal/Abelian-sandpile-model
new file mode 120000
index 0000000000..8c440adf10
--- /dev/null
+++ b/Lang/Crystal/Abelian-sandpile-model
@@ -0,0 +1 @@
+../../Task/Abelian-sandpile-model/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Abelian-sandpile-model-Identity b/Lang/Crystal/Abelian-sandpile-model-Identity
new file mode 120000
index 0000000000..ad1df3a714
--- /dev/null
+++ b/Lang/Crystal/Abelian-sandpile-model-Identity
@@ -0,0 +1 @@
+../../Task/Abelian-sandpile-model-Identity/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Abundant-deficient-and-perfect-number-classifications b/Lang/Crystal/Abundant-deficient-and-perfect-number-classifications
new file mode 120000
index 0000000000..7cba469c21
--- /dev/null
+++ b/Lang/Crystal/Abundant-deficient-and-perfect-number-classifications
@@ -0,0 +1 @@
+../../Task/Abundant-deficient-and-perfect-number-classifications/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Abundant-odd-numbers b/Lang/Crystal/Abundant-odd-numbers
new file mode 120000
index 0000000000..3676d5a336
--- /dev/null
+++ b/Lang/Crystal/Abundant-odd-numbers
@@ -0,0 +1 @@
+../../Task/Abundant-odd-numbers/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Achilles-numbers b/Lang/Crystal/Achilles-numbers
new file mode 120000
index 0000000000..baac6a0487
--- /dev/null
+++ b/Lang/Crystal/Achilles-numbers
@@ -0,0 +1 @@
+../../Task/Achilles-numbers/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Add-a-variable-to-a-class-instance-at-runtime b/Lang/Crystal/Add-a-variable-to-a-class-instance-at-runtime
new file mode 120000
index 0000000000..7c0d033962
--- /dev/null
+++ b/Lang/Crystal/Add-a-variable-to-a-class-instance-at-runtime
@@ -0,0 +1 @@
+../../Task/Add-a-variable-to-a-class-instance-at-runtime/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Address-of-a-variable b/Lang/Crystal/Address-of-a-variable
new file mode 120000
index 0000000000..55aa429a76
--- /dev/null
+++ b/Lang/Crystal/Address-of-a-variable
@@ -0,0 +1 @@
+../../Task/Address-of-a-variable/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Align-columns b/Lang/Crystal/Align-columns
new file mode 120000
index 0000000000..2ab766781e
--- /dev/null
+++ b/Lang/Crystal/Align-columns
@@ -0,0 +1 @@
+../../Task/Align-columns/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Aliquot-sequence-classifications b/Lang/Crystal/Aliquot-sequence-classifications
new file mode 120000
index 0000000000..7453e5fb67
--- /dev/null
+++ b/Lang/Crystal/Aliquot-sequence-classifications
@@ -0,0 +1 @@
+../../Task/Aliquot-sequence-classifications/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Almost-prime b/Lang/Crystal/Almost-prime
new file mode 120000
index 0000000000..782486465b
--- /dev/null
+++ b/Lang/Crystal/Almost-prime
@@ -0,0 +1 @@
+../../Task/Almost-prime/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Amb b/Lang/Crystal/Amb
new file mode 120000
index 0000000000..31a9ff96ef
--- /dev/null
+++ b/Lang/Crystal/Amb
@@ -0,0 +1 @@
+../../Task/Amb/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Anagrams-Deranged-anagrams b/Lang/Crystal/Anagrams-Deranged-anagrams
new file mode 120000
index 0000000000..01826ee4a9
--- /dev/null
+++ b/Lang/Crystal/Anagrams-Deranged-anagrams
@@ -0,0 +1 @@
+../../Task/Anagrams-Deranged-anagrams/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Angle-difference-between-two-bearings b/Lang/Crystal/Angle-difference-between-two-bearings
new file mode 120000
index 0000000000..80eb3d6093
--- /dev/null
+++ b/Lang/Crystal/Angle-difference-between-two-bearings
@@ -0,0 +1 @@
+../../Task/Angle-difference-between-two-bearings/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Angles-geometric-normalization-and-conversion b/Lang/Crystal/Angles-geometric-normalization-and-conversion
new file mode 120000
index 0000000000..a07d6f6045
--- /dev/null
+++ b/Lang/Crystal/Angles-geometric-normalization-and-conversion
@@ -0,0 +1 @@
+../../Task/Angles-geometric-normalization-and-conversion/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Anonymous-recursion b/Lang/Crystal/Anonymous-recursion
new file mode 120000
index 0000000000..8266f214bc
--- /dev/null
+++ b/Lang/Crystal/Anonymous-recursion
@@ -0,0 +1 @@
+../../Task/Anonymous-recursion/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Append-a-record-to-the-end-of-a-text-file b/Lang/Crystal/Append-a-record-to-the-end-of-a-text-file
new file mode 120000
index 0000000000..2a2afc8f9c
--- /dev/null
+++ b/Lang/Crystal/Append-a-record-to-the-end-of-a-text-file
@@ -0,0 +1 @@
+../../Task/Append-a-record-to-the-end-of-a-text-file/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Apply-a-digital-filter-direct-form-II-transposed- b/Lang/Crystal/Apply-a-digital-filter-direct-form-II-transposed-
new file mode 120000
index 0000000000..4772cfa6a5
--- /dev/null
+++ b/Lang/Crystal/Apply-a-digital-filter-direct-form-II-transposed-
@@ -0,0 +1 @@
+../../Task/Apply-a-digital-filter-direct-form-II-transposed-/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Approximate-equality b/Lang/Crystal/Approximate-equality
new file mode 120000
index 0000000000..f45d53cb9c
--- /dev/null
+++ b/Lang/Crystal/Approximate-equality
@@ -0,0 +1 @@
+../../Task/Approximate-equality/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Archimedean-spiral b/Lang/Crystal/Archimedean-spiral
new file mode 120000
index 0000000000..38cdafc563
--- /dev/null
+++ b/Lang/Crystal/Archimedean-spiral
@@ -0,0 +1 @@
+../../Task/Archimedean-spiral/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Arithmetic-Complex b/Lang/Crystal/Arithmetic-Complex
new file mode 120000
index 0000000000..db70676449
--- /dev/null
+++ b/Lang/Crystal/Arithmetic-Complex
@@ -0,0 +1 @@
+../../Task/Arithmetic-Complex/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Arithmetic-Rational b/Lang/Crystal/Arithmetic-Rational
new file mode 120000
index 0000000000..9934cb69b5
--- /dev/null
+++ b/Lang/Crystal/Arithmetic-Rational
@@ -0,0 +1 @@
+../../Task/Arithmetic-Rational/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Arithmetic-derivative b/Lang/Crystal/Arithmetic-derivative
new file mode 120000
index 0000000000..afe551091f
--- /dev/null
+++ b/Lang/Crystal/Arithmetic-derivative
@@ -0,0 +1 @@
+../../Task/Arithmetic-derivative/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Arithmetic-evaluation b/Lang/Crystal/Arithmetic-evaluation
new file mode 120000
index 0000000000..cefbf4e2d9
--- /dev/null
+++ b/Lang/Crystal/Arithmetic-evaluation
@@ -0,0 +1 @@
+../../Task/Arithmetic-evaluation/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Arithmetic-geometric-mean b/Lang/Crystal/Arithmetic-geometric-mean
new file mode 120000
index 0000000000..c8754aa805
--- /dev/null
+++ b/Lang/Crystal/Arithmetic-geometric-mean
@@ -0,0 +1 @@
+../../Task/Arithmetic-geometric-mean/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Arithmetic-geometric-mean-Calculate-Pi b/Lang/Crystal/Arithmetic-geometric-mean-Calculate-Pi
new file mode 120000
index 0000000000..b641674514
--- /dev/null
+++ b/Lang/Crystal/Arithmetic-geometric-mean-Calculate-Pi
@@ -0,0 +1 @@
+../../Task/Arithmetic-geometric-mean-Calculate-Pi/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Arithmetic-numbers b/Lang/Crystal/Arithmetic-numbers
new file mode 120000
index 0000000000..a07126fc36
--- /dev/null
+++ b/Lang/Crystal/Arithmetic-numbers
@@ -0,0 +1 @@
+../../Task/Arithmetic-numbers/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Ascending-primes b/Lang/Crystal/Ascending-primes
new file mode 120000
index 0000000000..159e1b5bed
--- /dev/null
+++ b/Lang/Crystal/Ascending-primes
@@ -0,0 +1 @@
+../../Task/Ascending-primes/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Atomic-updates b/Lang/Crystal/Atomic-updates
new file mode 120000
index 0000000000..332b197fee
--- /dev/null
+++ b/Lang/Crystal/Atomic-updates
@@ -0,0 +1 @@
+../../Task/Atomic-updates/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Attractive-numbers b/Lang/Crystal/Attractive-numbers
new file mode 120000
index 0000000000..04e80138ee
--- /dev/null
+++ b/Lang/Crystal/Attractive-numbers
@@ -0,0 +1 @@
+../../Task/Attractive-numbers/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Average-loop-length b/Lang/Crystal/Average-loop-length
new file mode 120000
index 0000000000..06beee4e14
--- /dev/null
+++ b/Lang/Crystal/Average-loop-length
@@ -0,0 +1 @@
+../../Task/Average-loop-length/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Averages-Mean-angle b/Lang/Crystal/Averages-Mean-angle
new file mode 120000
index 0000000000..8e548785b0
--- /dev/null
+++ b/Lang/Crystal/Averages-Mean-angle
@@ -0,0 +1 @@
+../../Task/Averages-Mean-angle/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Averages-Mean-time-of-day b/Lang/Crystal/Averages-Mean-time-of-day
new file mode 120000
index 0000000000..4952b673eb
--- /dev/null
+++ b/Lang/Crystal/Averages-Mean-time-of-day
@@ -0,0 +1 @@
+../../Task/Averages-Mean-time-of-day/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Averages-Mode b/Lang/Crystal/Averages-Mode
new file mode 120000
index 0000000000..bb15fa305b
--- /dev/null
+++ b/Lang/Crystal/Averages-Mode
@@ -0,0 +1 @@
+../../Task/Averages-Mode/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Averages-Pythagorean-means b/Lang/Crystal/Averages-Pythagorean-means
new file mode 120000
index 0000000000..a97d5df819
--- /dev/null
+++ b/Lang/Crystal/Averages-Pythagorean-means
@@ -0,0 +1 @@
+../../Task/Averages-Pythagorean-means/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Babbage-problem b/Lang/Crystal/Babbage-problem
new file mode 120000
index 0000000000..7e1cc42ea8
--- /dev/null
+++ b/Lang/Crystal/Babbage-problem
@@ -0,0 +1 @@
+../../Task/Babbage-problem/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Babylonian-spiral b/Lang/Crystal/Babylonian-spiral
new file mode 120000
index 0000000000..7478d85b07
--- /dev/null
+++ b/Lang/Crystal/Babylonian-spiral
@@ -0,0 +1 @@
+../../Task/Babylonian-spiral/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Bell-numbers b/Lang/Crystal/Bell-numbers
new file mode 120000
index 0000000000..3f05e224a6
--- /dev/null
+++ b/Lang/Crystal/Bell-numbers
@@ -0,0 +1 @@
+../../Task/Bell-numbers/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Bifid-cipher b/Lang/Crystal/Bifid-cipher
new file mode 120000
index 0000000000..6b07c1520e
--- /dev/null
+++ b/Lang/Crystal/Bifid-cipher
@@ -0,0 +1 @@
+../../Task/Bifid-cipher/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Bin-given-limits b/Lang/Crystal/Bin-given-limits
new file mode 120000
index 0000000000..40a049c833
--- /dev/null
+++ b/Lang/Crystal/Bin-given-limits
@@ -0,0 +1 @@
+../../Task/Bin-given-limits/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Bioinformatics-Global-alignment b/Lang/Crystal/Bioinformatics-Global-alignment
new file mode 120000
index 0000000000..b8310a94b2
--- /dev/null
+++ b/Lang/Crystal/Bioinformatics-Global-alignment
@@ -0,0 +1 @@
+../../Task/Bioinformatics-Global-alignment/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Biorhythms b/Lang/Crystal/Biorhythms
new file mode 120000
index 0000000000..adde97b4c1
--- /dev/null
+++ b/Lang/Crystal/Biorhythms
@@ -0,0 +1 @@
+../../Task/Biorhythms/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Bitmap-Bresenhams-line-algorithm b/Lang/Crystal/Bitmap-Bresenhams-line-algorithm
new file mode 120000
index 0000000000..680f0b15d0
--- /dev/null
+++ b/Lang/Crystal/Bitmap-Bresenhams-line-algorithm
@@ -0,0 +1 @@
+../../Task/Bitmap-Bresenhams-line-algorithm/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Bitmap-Flood-fill b/Lang/Crystal/Bitmap-Flood-fill
new file mode 120000
index 0000000000..82f2b7e4ae
--- /dev/null
+++ b/Lang/Crystal/Bitmap-Flood-fill
@@ -0,0 +1 @@
+../../Task/Bitmap-Flood-fill/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Bitmap-Midpoint-circle-algorithm b/Lang/Crystal/Bitmap-Midpoint-circle-algorithm
new file mode 120000
index 0000000000..fd45ea7903
--- /dev/null
+++ b/Lang/Crystal/Bitmap-Midpoint-circle-algorithm
@@ -0,0 +1 @@
+../../Task/Bitmap-Midpoint-circle-algorithm/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Bitmap-Read-a-PPM-file b/Lang/Crystal/Bitmap-Read-a-PPM-file
new file mode 120000
index 0000000000..72567511a0
--- /dev/null
+++ b/Lang/Crystal/Bitmap-Read-a-PPM-file
@@ -0,0 +1 @@
+../../Task/Bitmap-Read-a-PPM-file/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Bitmap-Write-a-PPM-file b/Lang/Crystal/Bitmap-Write-a-PPM-file
new file mode 120000
index 0000000000..86ca9711aa
--- /dev/null
+++ b/Lang/Crystal/Bitmap-Write-a-PPM-file
@@ -0,0 +1 @@
+../../Task/Bitmap-Write-a-PPM-file/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Bitwise-operations b/Lang/Crystal/Bitwise-operations
new file mode 120000
index 0000000000..1a5350f2cc
--- /dev/null
+++ b/Lang/Crystal/Bitwise-operations
@@ -0,0 +1 @@
+../../Task/Bitwise-operations/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/CUSIP b/Lang/Crystal/CUSIP
new file mode 120000
index 0000000000..b88441138f
--- /dev/null
+++ b/Lang/Crystal/CUSIP
@@ -0,0 +1 @@
+../../Task/CUSIP/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Camel-case-and-snake-case b/Lang/Crystal/Camel-case-and-snake-case
new file mode 120000
index 0000000000..04ca76eb1a
--- /dev/null
+++ b/Lang/Crystal/Camel-case-and-snake-case
@@ -0,0 +1 @@
+../../Task/Camel-case-and-snake-case/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Catamorphism b/Lang/Crystal/Catamorphism
new file mode 120000
index 0000000000..59ec253ef2
--- /dev/null
+++ b/Lang/Crystal/Catamorphism
@@ -0,0 +1 @@
+../../Task/Catamorphism/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Chaocipher b/Lang/Crystal/Chaocipher
new file mode 120000
index 0000000000..b200ad768f
--- /dev/null
+++ b/Lang/Crystal/Chaocipher
@@ -0,0 +1 @@
+../../Task/Chaocipher/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Character-codes b/Lang/Crystal/Character-codes
new file mode 120000
index 0000000000..bd4879b77c
--- /dev/null
+++ b/Lang/Crystal/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Cistercian-numerals b/Lang/Crystal/Cistercian-numerals
new file mode 120000
index 0000000000..b439a8a963
--- /dev/null
+++ b/Lang/Crystal/Cistercian-numerals
@@ -0,0 +1 @@
+../../Task/Cistercian-numerals/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Closures-Value-capture b/Lang/Crystal/Closures-Value-capture
new file mode 120000
index 0000000000..f3038be393
--- /dev/null
+++ b/Lang/Crystal/Closures-Value-capture
@@ -0,0 +1 @@
+../../Task/Closures-Value-capture/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Color-wheel b/Lang/Crystal/Color-wheel
new file mode 120000
index 0000000000..b0d2a4f84a
--- /dev/null
+++ b/Lang/Crystal/Color-wheel
@@ -0,0 +1 @@
+../../Task/Color-wheel/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Colour-bars-Display b/Lang/Crystal/Colour-bars-Display
new file mode 120000
index 0000000000..0ec7f62738
--- /dev/null
+++ b/Lang/Crystal/Colour-bars-Display
@@ -0,0 +1 @@
+../../Task/Colour-bars-Display/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Comma-quibbling b/Lang/Crystal/Comma-quibbling
new file mode 120000
index 0000000000..3151a9c58f
--- /dev/null
+++ b/Lang/Crystal/Comma-quibbling
@@ -0,0 +1 @@
+../../Task/Comma-quibbling/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Compare-a-list-of-strings b/Lang/Crystal/Compare-a-list-of-strings
new file mode 120000
index 0000000000..f978784371
--- /dev/null
+++ b/Lang/Crystal/Compare-a-list-of-strings
@@ -0,0 +1 @@
+../../Task/Compare-a-list-of-strings/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Compile-time-calculation b/Lang/Crystal/Compile-time-calculation
new file mode 120000
index 0000000000..306dfbb009
--- /dev/null
+++ b/Lang/Crystal/Compile-time-calculation
@@ -0,0 +1 @@
+../../Task/Compile-time-calculation/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Consecutive-primes-with-ascending-or-descending-differences b/Lang/Crystal/Consecutive-primes-with-ascending-or-descending-differences
new file mode 120000
index 0000000000..697e7e52cd
--- /dev/null
+++ b/Lang/Crystal/Consecutive-primes-with-ascending-or-descending-differences
@@ -0,0 +1 @@
+../../Task/Consecutive-primes-with-ascending-or-descending-differences/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Convert-seconds-to-compound-duration b/Lang/Crystal/Convert-seconds-to-compound-duration
new file mode 120000
index 0000000000..313254bee3
--- /dev/null
+++ b/Lang/Crystal/Convert-seconds-to-compound-duration
@@ -0,0 +1 @@
+../../Task/Convert-seconds-to-compound-duration/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Count-occurrences-of-a-substring b/Lang/Crystal/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..f235e95129
--- /dev/null
+++ b/Lang/Crystal/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Cullen-and-Woodall-numbers b/Lang/Crystal/Cullen-and-Woodall-numbers
new file mode 120000
index 0000000000..62ef13cd07
--- /dev/null
+++ b/Lang/Crystal/Cullen-and-Woodall-numbers
@@ -0,0 +1 @@
+../../Task/Cullen-and-Woodall-numbers/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Currency b/Lang/Crystal/Currency
new file mode 120000
index 0000000000..275fd9dcb2
--- /dev/null
+++ b/Lang/Crystal/Currency
@@ -0,0 +1 @@
+../../Task/Currency/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Day-of-the-week b/Lang/Crystal/Day-of-the-week
new file mode 120000
index 0000000000..0f98ad94ee
--- /dev/null
+++ b/Lang/Crystal/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Department-numbers b/Lang/Crystal/Department-numbers
new file mode 120000
index 0000000000..1e36b398e9
--- /dev/null
+++ b/Lang/Crystal/Department-numbers
@@ -0,0 +1 @@
+../../Task/Department-numbers/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Detect-division-by-zero b/Lang/Crystal/Detect-division-by-zero
new file mode 120000
index 0000000000..d23bedf4f0
--- /dev/null
+++ b/Lang/Crystal/Detect-division-by-zero
@@ -0,0 +1 @@
+../../Task/Detect-division-by-zero/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Determine-if-a-string-has-all-the-same-characters b/Lang/Crystal/Determine-if-a-string-has-all-the-same-characters
new file mode 120000
index 0000000000..a0bef4d19a
--- /dev/null
+++ b/Lang/Crystal/Determine-if-a-string-has-all-the-same-characters
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-has-all-the-same-characters/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Determine-if-a-string-is-collapsible b/Lang/Crystal/Determine-if-a-string-is-collapsible
new file mode 120000
index 0000000000..7e2d57c2cb
--- /dev/null
+++ b/Lang/Crystal/Determine-if-a-string-is-collapsible
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-collapsible/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Determine-if-a-string-is-numeric b/Lang/Crystal/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..907fa1cc6f
--- /dev/null
+++ b/Lang/Crystal/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Determine-sentence-type b/Lang/Crystal/Determine-sentence-type
new file mode 120000
index 0000000000..95914c2896
--- /dev/null
+++ b/Lang/Crystal/Determine-sentence-type
@@ -0,0 +1 @@
+../../Task/Determine-sentence-type/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Digital-root-Multiplicative-digital-root b/Lang/Crystal/Digital-root-Multiplicative-digital-root
new file mode 120000
index 0000000000..92366c8b32
--- /dev/null
+++ b/Lang/Crystal/Digital-root-Multiplicative-digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root-Multiplicative-digital-root/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Dijkstras-algorithm b/Lang/Crystal/Dijkstras-algorithm
new file mode 120000
index 0000000000..829bbaa132
--- /dev/null
+++ b/Lang/Crystal/Dijkstras-algorithm
@@ -0,0 +1 @@
+../../Task/Dijkstras-algorithm/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Diversity-prediction-theorem b/Lang/Crystal/Diversity-prediction-theorem
new file mode 120000
index 0000000000..bfb6463f86
--- /dev/null
+++ b/Lang/Crystal/Diversity-prediction-theorem
@@ -0,0 +1 @@
+../../Task/Diversity-prediction-theorem/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Dutch-national-flag-problem b/Lang/Crystal/Dutch-national-flag-problem
new file mode 120000
index 0000000000..a920e0b89a
--- /dev/null
+++ b/Lang/Crystal/Dutch-national-flag-problem
@@ -0,0 +1 @@
+../../Task/Dutch-national-flag-problem/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Egyptian-division b/Lang/Crystal/Egyptian-division
new file mode 120000
index 0000000000..6766caec22
--- /dev/null
+++ b/Lang/Crystal/Egyptian-division
@@ -0,0 +1 @@
+../../Task/Egyptian-division/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Elementary-cellular-automaton b/Lang/Crystal/Elementary-cellular-automaton
new file mode 120000
index 0000000000..a397b94a1b
--- /dev/null
+++ b/Lang/Crystal/Elementary-cellular-automaton
@@ -0,0 +1 @@
+../../Task/Elementary-cellular-automaton/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Elementary-cellular-automaton-Random-number-generator b/Lang/Crystal/Elementary-cellular-automaton-Random-number-generator
new file mode 120000
index 0000000000..6d743a5fc8
--- /dev/null
+++ b/Lang/Crystal/Elementary-cellular-automaton-Random-number-generator
@@ -0,0 +1 @@
+../../Task/Elementary-cellular-automaton-Random-number-generator/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Emirp-primes b/Lang/Crystal/Emirp-primes
new file mode 120000
index 0000000000..6a762271db
--- /dev/null
+++ b/Lang/Crystal/Emirp-primes
@@ -0,0 +1 @@
+../../Task/Emirp-primes/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Empty-program b/Lang/Crystal/Empty-program
deleted file mode 120000
index 78e7f559d2..0000000000
--- a/Lang/Crystal/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Enumerations b/Lang/Crystal/Enumerations
new file mode 120000
index 0000000000..81276f7ab4
--- /dev/null
+++ b/Lang/Crystal/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Environment-variables b/Lang/Crystal/Environment-variables
new file mode 120000
index 0000000000..17cbcdefee
--- /dev/null
+++ b/Lang/Crystal/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Equilibrium-index b/Lang/Crystal/Equilibrium-index
new file mode 120000
index 0000000000..1125331aa6
--- /dev/null
+++ b/Lang/Crystal/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Ethiopian-multiplication b/Lang/Crystal/Ethiopian-multiplication
new file mode 120000
index 0000000000..e534df962f
--- /dev/null
+++ b/Lang/Crystal/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Evolutionary-algorithm b/Lang/Crystal/Evolutionary-algorithm
new file mode 120000
index 0000000000..a0bcba6242
--- /dev/null
+++ b/Lang/Crystal/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Execute-Brain- b/Lang/Crystal/Execute-Brain-
new file mode 120000
index 0000000000..4ffee47edd
--- /dev/null
+++ b/Lang/Crystal/Execute-Brain-
@@ -0,0 +1 @@
+../../Task/Execute-Brain-/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Exponentiation-order b/Lang/Crystal/Exponentiation-order
new file mode 120000
index 0000000000..e7f6547257
--- /dev/null
+++ b/Lang/Crystal/Exponentiation-order
@@ -0,0 +1 @@
+../../Task/Exponentiation-order/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Exponentiation-with-infix-operators-in-or-operating-on-the-base b/Lang/Crystal/Exponentiation-with-infix-operators-in-or-operating-on-the-base
new file mode 120000
index 0000000000..bea2082efb
--- /dev/null
+++ b/Lang/Crystal/Exponentiation-with-infix-operators-in-or-operating-on-the-base
@@ -0,0 +1 @@
+../../Task/Exponentiation-with-infix-operators-in-or-operating-on-the-base/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Extensible-prime-generator b/Lang/Crystal/Extensible-prime-generator
new file mode 120000
index 0000000000..f7e46afa3d
--- /dev/null
+++ b/Lang/Crystal/Extensible-prime-generator
@@ -0,0 +1 @@
+../../Task/Extensible-prime-generator/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/File-extension-is-in-extensions-list b/Lang/Crystal/File-extension-is-in-extensions-list
new file mode 120000
index 0000000000..d3f5d5ad97
--- /dev/null
+++ b/Lang/Crystal/File-extension-is-in-extensions-list
@@ -0,0 +1 @@
+../../Task/File-extension-is-in-extensions-list/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/File-modification-time b/Lang/Crystal/File-modification-time
new file mode 120000
index 0000000000..b3a7e1065d
--- /dev/null
+++ b/Lang/Crystal/File-modification-time
@@ -0,0 +1 @@
+../../Task/File-modification-time/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/File-size b/Lang/Crystal/File-size
new file mode 120000
index 0000000000..f7ccd8930e
--- /dev/null
+++ b/Lang/Crystal/File-size
@@ -0,0 +1 @@
+../../Task/File-size/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Filter b/Lang/Crystal/Filter
new file mode 120000
index 0000000000..13d5962733
--- /dev/null
+++ b/Lang/Crystal/Filter
@@ -0,0 +1 @@
+../../Task/Filter/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Find-if-a-point-is-within-a-triangle b/Lang/Crystal/Find-if-a-point-is-within-a-triangle
new file mode 120000
index 0000000000..a3ff575d32
--- /dev/null
+++ b/Lang/Crystal/Find-if-a-point-is-within-a-triangle
@@ -0,0 +1 @@
+../../Task/Find-if-a-point-is-within-a-triangle/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Find-the-last-Sunday-of-each-month b/Lang/Crystal/Find-the-last-Sunday-of-each-month
new file mode 120000
index 0000000000..b7448c15e3
--- /dev/null
+++ b/Lang/Crystal/Find-the-last-Sunday-of-each-month
@@ -0,0 +1 @@
+../../Task/Find-the-last-Sunday-of-each-month/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/First-class-functions b/Lang/Crystal/First-class-functions
new file mode 120000
index 0000000000..41628a5683
--- /dev/null
+++ b/Lang/Crystal/First-class-functions
@@ -0,0 +1 @@
+../../Task/First-class-functions/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Five-weekends b/Lang/Crystal/Five-weekends
new file mode 120000
index 0000000000..aee26e19f7
--- /dev/null
+++ b/Lang/Crystal/Five-weekends
@@ -0,0 +1 @@
+../../Task/Five-weekends/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Four-is-magic b/Lang/Crystal/Four-is-magic
new file mode 120000
index 0000000000..e56a866dc3
--- /dev/null
+++ b/Lang/Crystal/Four-is-magic
@@ -0,0 +1 @@
+../../Task/Four-is-magic/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Function-definition b/Lang/Crystal/Function-definition
new file mode 120000
index 0000000000..1fac36efe3
--- /dev/null
+++ b/Lang/Crystal/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Generate-lower-case-ASCII-alphabet b/Lang/Crystal/Generate-lower-case-ASCII-alphabet
new file mode 120000
index 0000000000..8b481efdf1
--- /dev/null
+++ b/Lang/Crystal/Generate-lower-case-ASCII-alphabet
@@ -0,0 +1 @@
+../../Task/Generate-lower-case-ASCII-alphabet/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Generator-Exponential b/Lang/Crystal/Generator-Exponential
new file mode 120000
index 0000000000..d9c996b99e
--- /dev/null
+++ b/Lang/Crystal/Generator-Exponential
@@ -0,0 +1 @@
+../../Task/Generator-Exponential/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Get-system-command-output b/Lang/Crystal/Get-system-command-output
new file mode 120000
index 0000000000..75fcf73ed6
--- /dev/null
+++ b/Lang/Crystal/Get-system-command-output
@@ -0,0 +1 @@
+../../Task/Get-system-command-output/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Greatest-common-divisor b/Lang/Crystal/Greatest-common-divisor
new file mode 120000
index 0000000000..cac765e22c
--- /dev/null
+++ b/Lang/Crystal/Greatest-common-divisor
@@ -0,0 +1 @@
+../../Task/Greatest-common-divisor/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Hello-world-Newline-omission b/Lang/Crystal/Hello-world-Newline-omission
new file mode 120000
index 0000000000..cf00f3e8a9
--- /dev/null
+++ b/Lang/Crystal/Hello-world-Newline-omission
@@ -0,0 +1 @@
+../../Task/Hello-world-Newline-omission/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Hello-world-Standard-error b/Lang/Crystal/Hello-world-Standard-error
new file mode 120000
index 0000000000..560e23c97c
--- /dev/null
+++ b/Lang/Crystal/Hello-world-Standard-error
@@ -0,0 +1 @@
+../../Task/Hello-world-Standard-error/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Hex-words b/Lang/Crystal/Hex-words
new file mode 120000
index 0000000000..1390f8d3e3
--- /dev/null
+++ b/Lang/Crystal/Hex-words
@@ -0,0 +1 @@
+../../Task/Hex-words/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Hofstadter-Q-sequence b/Lang/Crystal/Hofstadter-Q-sequence
new file mode 120000
index 0000000000..a856d63c6d
--- /dev/null
+++ b/Lang/Crystal/Hofstadter-Q-sequence
@@ -0,0 +1 @@
+../../Task/Hofstadter-Q-sequence/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/ISBN13-check-digit b/Lang/Crystal/ISBN13-check-digit
new file mode 120000
index 0000000000..eedbc71ec1
--- /dev/null
+++ b/Lang/Crystal/ISBN13-check-digit
@@ -0,0 +1 @@
+../../Task/ISBN13-check-digit/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Idiomatically-determine-all-the-lowercase-and-uppercase-letters b/Lang/Crystal/Idiomatically-determine-all-the-lowercase-and-uppercase-letters
new file mode 120000
index 0000000000..9e0f4e23b4
--- /dev/null
+++ b/Lang/Crystal/Idiomatically-determine-all-the-lowercase-and-uppercase-letters
@@ -0,0 +1 @@
+../../Task/Idiomatically-determine-all-the-lowercase-and-uppercase-letters/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Increment-a-numerical-string b/Lang/Crystal/Increment-a-numerical-string
new file mode 120000
index 0000000000..aeae95c765
--- /dev/null
+++ b/Lang/Crystal/Increment-a-numerical-string
@@ -0,0 +1 @@
+../../Task/Increment-a-numerical-string/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Input-loop b/Lang/Crystal/Input-loop
new file mode 120000
index 0000000000..27bc4f9208
--- /dev/null
+++ b/Lang/Crystal/Input-loop
@@ -0,0 +1 @@
+../../Task/Input-loop/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Integer-comparison b/Lang/Crystal/Integer-comparison
new file mode 120000
index 0000000000..1d8d9443a7
--- /dev/null
+++ b/Lang/Crystal/Integer-comparison
@@ -0,0 +1 @@
+../../Task/Integer-comparison/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Integer-overflow b/Lang/Crystal/Integer-overflow
new file mode 120000
index 0000000000..868816b94b
--- /dev/null
+++ b/Lang/Crystal/Integer-overflow
@@ -0,0 +1 @@
+../../Task/Integer-overflow/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Interactive-programming-repl- b/Lang/Crystal/Interactive-programming-repl-
new file mode 120000
index 0000000000..348f845b57
--- /dev/null
+++ b/Lang/Crystal/Interactive-programming-repl-
@@ -0,0 +1 @@
+../../Task/Interactive-programming-repl-/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Inverted-syntax b/Lang/Crystal/Inverted-syntax
new file mode 120000
index 0000000000..33eb9c0c4b
--- /dev/null
+++ b/Lang/Crystal/Inverted-syntax
@@ -0,0 +1 @@
+../../Task/Inverted-syntax/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Isograms-and-heterograms b/Lang/Crystal/Isograms-and-heterograms
new file mode 120000
index 0000000000..46dc26699c
--- /dev/null
+++ b/Lang/Crystal/Isograms-and-heterograms
@@ -0,0 +1 @@
+../../Task/Isograms-and-heterograms/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Isqrt-integer-square-root-of-X b/Lang/Crystal/Isqrt-integer-square-root-of-X
new file mode 120000
index 0000000000..d671dd4e29
--- /dev/null
+++ b/Lang/Crystal/Isqrt-integer-square-root-of-X
@@ -0,0 +1 @@
+../../Task/Isqrt-integer-square-root-of-X/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Jacobsthal-numbers b/Lang/Crystal/Jacobsthal-numbers
new file mode 120000
index 0000000000..da4fc1eede
--- /dev/null
+++ b/Lang/Crystal/Jacobsthal-numbers
@@ -0,0 +1 @@
+../../Task/Jacobsthal-numbers/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Kernighans-large-earthquake-problem b/Lang/Crystal/Kernighans-large-earthquake-problem
new file mode 120000
index 0000000000..d6f60d2a2c
--- /dev/null
+++ b/Lang/Crystal/Kernighans-large-earthquake-problem
@@ -0,0 +1 @@
+../../Task/Kernighans-large-earthquake-problem/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Knuths-algorithm-S b/Lang/Crystal/Knuths-algorithm-S
new file mode 120000
index 0000000000..fbde0f33c9
--- /dev/null
+++ b/Lang/Crystal/Knuths-algorithm-S
@@ -0,0 +1 @@
+../../Task/Knuths-algorithm-S/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Langtons-ant b/Lang/Crystal/Langtons-ant
new file mode 120000
index 0000000000..accd634e59
--- /dev/null
+++ b/Lang/Crystal/Langtons-ant
@@ -0,0 +1 @@
+../../Task/Langtons-ant/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Last-Friday-of-each-month b/Lang/Crystal/Last-Friday-of-each-month
new file mode 120000
index 0000000000..5dd6eb4e30
--- /dev/null
+++ b/Lang/Crystal/Last-Friday-of-each-month
@@ -0,0 +1 @@
+../../Task/Last-Friday-of-each-month/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Least-common-multiple b/Lang/Crystal/Least-common-multiple
new file mode 120000
index 0000000000..ab85fbea40
--- /dev/null
+++ b/Lang/Crystal/Least-common-multiple
@@ -0,0 +1 @@
+../../Task/Least-common-multiple/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Letter-frequency b/Lang/Crystal/Letter-frequency
new file mode 120000
index 0000000000..9aed428d1c
--- /dev/null
+++ b/Lang/Crystal/Letter-frequency
@@ -0,0 +1 @@
+../../Task/Letter-frequency/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Logical-operations b/Lang/Crystal/Logical-operations
new file mode 120000
index 0000000000..efa5e278dd
--- /dev/null
+++ b/Lang/Crystal/Logical-operations
@@ -0,0 +1 @@
+../../Task/Logical-operations/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Logistic-curve-fitting-in-epidemiology b/Lang/Crystal/Logistic-curve-fitting-in-epidemiology
new file mode 120000
index 0000000000..c8d098d82a
--- /dev/null
+++ b/Lang/Crystal/Logistic-curve-fitting-in-epidemiology
@@ -0,0 +1 @@
+../../Task/Logistic-curve-fitting-in-epidemiology/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Long-year b/Lang/Crystal/Long-year
new file mode 120000
index 0000000000..2a978e84d7
--- /dev/null
+++ b/Lang/Crystal/Long-year
@@ -0,0 +1 @@
+../../Task/Long-year/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Longest-string-challenge b/Lang/Crystal/Longest-string-challenge
new file mode 120000
index 0000000000..8a9ac3dfd0
--- /dev/null
+++ b/Lang/Crystal/Longest-string-challenge
@@ -0,0 +1 @@
+../../Task/Longest-string-challenge/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Loops-Do-while b/Lang/Crystal/Loops-Do-while
new file mode 120000
index 0000000000..16d73545fb
--- /dev/null
+++ b/Lang/Crystal/Loops-Do-while
@@ -0,0 +1 @@
+../../Task/Loops-Do-while/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Loops-Foreach b/Lang/Crystal/Loops-Foreach
new file mode 120000
index 0000000000..c20a1c8c2c
--- /dev/null
+++ b/Lang/Crystal/Loops-Foreach
@@ -0,0 +1 @@
+../../Task/Loops-Foreach/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Loops-N-plus-one-half b/Lang/Crystal/Loops-N-plus-one-half
new file mode 120000
index 0000000000..baee612204
--- /dev/null
+++ b/Lang/Crystal/Loops-N-plus-one-half
@@ -0,0 +1 @@
+../../Task/Loops-N-plus-one-half/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Loops-With-multiple-ranges b/Lang/Crystal/Loops-With-multiple-ranges
new file mode 120000
index 0000000000..a0c34f1c73
--- /dev/null
+++ b/Lang/Crystal/Loops-With-multiple-ranges
@@ -0,0 +1 @@
+../../Task/Loops-With-multiple-ranges/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Loops-Wrong-ranges b/Lang/Crystal/Loops-Wrong-ranges
new file mode 120000
index 0000000000..402c2c3d6b
--- /dev/null
+++ b/Lang/Crystal/Loops-Wrong-ranges
@@ -0,0 +1 @@
+../../Task/Loops-Wrong-ranges/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Magic-8-ball b/Lang/Crystal/Magic-8-ball
new file mode 120000
index 0000000000..7694de9dbd
--- /dev/null
+++ b/Lang/Crystal/Magic-8-ball
@@ -0,0 +1 @@
+../../Task/Magic-8-ball/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Magnanimous-numbers b/Lang/Crystal/Magnanimous-numbers
new file mode 120000
index 0000000000..f025f31b2f
--- /dev/null
+++ b/Lang/Crystal/Magnanimous-numbers
@@ -0,0 +1 @@
+../../Task/Magnanimous-numbers/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Map-range b/Lang/Crystal/Map-range
new file mode 120000
index 0000000000..2ce80c8e32
--- /dev/null
+++ b/Lang/Crystal/Map-range
@@ -0,0 +1 @@
+../../Task/Map-range/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Middle-three-digits b/Lang/Crystal/Middle-three-digits
new file mode 120000
index 0000000000..c195484a68
--- /dev/null
+++ b/Lang/Crystal/Middle-three-digits
@@ -0,0 +1 @@
+../../Task/Middle-three-digits/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Miller-Rabin-primality-test b/Lang/Crystal/Miller-Rabin-primality-test
deleted file mode 120000
index 3714050251..0000000000
--- a/Lang/Crystal/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Move-to-front-algorithm b/Lang/Crystal/Move-to-front-algorithm
new file mode 120000
index 0000000000..1fc15ab4a7
--- /dev/null
+++ b/Lang/Crystal/Move-to-front-algorithm
@@ -0,0 +1 @@
+../../Task/Move-to-front-algorithm/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Narcissistic-decimal-number b/Lang/Crystal/Narcissistic-decimal-number
new file mode 120000
index 0000000000..7713050610
--- /dev/null
+++ b/Lang/Crystal/Narcissistic-decimal-number
@@ -0,0 +1 @@
+../../Task/Narcissistic-decimal-number/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Nested-function b/Lang/Crystal/Nested-function
new file mode 120000
index 0000000000..4453485348
--- /dev/null
+++ b/Lang/Crystal/Nested-function
@@ -0,0 +1 @@
+../../Task/Nested-function/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Non-decimal-radices-Convert b/Lang/Crystal/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..342df0f845
--- /dev/null
+++ b/Lang/Crystal/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Number-names b/Lang/Crystal/Number-names
new file mode 120000
index 0000000000..65ddc62215
--- /dev/null
+++ b/Lang/Crystal/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Numbers-with-equal-rises-and-falls b/Lang/Crystal/Numbers-with-equal-rises-and-falls
new file mode 120000
index 0000000000..6aa2426e57
--- /dev/null
+++ b/Lang/Crystal/Numbers-with-equal-rises-and-falls
@@ -0,0 +1 @@
+../../Task/Numbers-with-equal-rises-and-falls/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/One-dimensional-cellular-automata b/Lang/Crystal/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..e519134b4d
--- /dev/null
+++ b/Lang/Crystal/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Order-by-pair-comparisons b/Lang/Crystal/Order-by-pair-comparisons
new file mode 120000
index 0000000000..7f819e26a0
--- /dev/null
+++ b/Lang/Crystal/Order-by-pair-comparisons
@@ -0,0 +1 @@
+../../Task/Order-by-pair-comparisons/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Order-two-numerical-lists b/Lang/Crystal/Order-two-numerical-lists
new file mode 120000
index 0000000000..44bdc040e5
--- /dev/null
+++ b/Lang/Crystal/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Ordered-words b/Lang/Crystal/Ordered-words
new file mode 120000
index 0000000000..52c1bed5c6
--- /dev/null
+++ b/Lang/Crystal/Ordered-words
@@ -0,0 +1 @@
+../../Task/Ordered-words/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Palindrome-dates b/Lang/Crystal/Palindrome-dates
new file mode 120000
index 0000000000..e9d9714cac
--- /dev/null
+++ b/Lang/Crystal/Palindrome-dates
@@ -0,0 +1 @@
+../../Task/Palindrome-dates/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Parallel-brute-force b/Lang/Crystal/Parallel-brute-force
new file mode 120000
index 0000000000..496ce76b45
--- /dev/null
+++ b/Lang/Crystal/Parallel-brute-force
@@ -0,0 +1 @@
+../../Task/Parallel-brute-force/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Parse-an-IP-Address b/Lang/Crystal/Parse-an-IP-Address
new file mode 120000
index 0000000000..940d156ab2
--- /dev/null
+++ b/Lang/Crystal/Parse-an-IP-Address
@@ -0,0 +1 @@
+../../Task/Parse-an-IP-Address/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Parsing-RPN-calculator-algorithm b/Lang/Crystal/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..79e0e2ae7e
--- /dev/null
+++ b/Lang/Crystal/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Parsing-RPN-to-infix-conversion b/Lang/Crystal/Parsing-RPN-to-infix-conversion
new file mode 120000
index 0000000000..e19adc6368
--- /dev/null
+++ b/Lang/Crystal/Parsing-RPN-to-infix-conversion
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-to-infix-conversion/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Parsing-Shunting-yard-algorithm b/Lang/Crystal/Parsing-Shunting-yard-algorithm
new file mode 120000
index 0000000000..a18ff957d5
--- /dev/null
+++ b/Lang/Crystal/Parsing-Shunting-yard-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-Shunting-yard-algorithm/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Partial-function-application b/Lang/Crystal/Partial-function-application
new file mode 120000
index 0000000000..06b96bb5bb
--- /dev/null
+++ b/Lang/Crystal/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Perfect-numbers b/Lang/Crystal/Perfect-numbers
new file mode 120000
index 0000000000..708a2045e2
--- /dev/null
+++ b/Lang/Crystal/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Phrase-reversals b/Lang/Crystal/Phrase-reversals
new file mode 120000
index 0000000000..7a12cc6718
--- /dev/null
+++ b/Lang/Crystal/Phrase-reversals
@@ -0,0 +1 @@
+../../Task/Phrase-reversals/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Power-set b/Lang/Crystal/Power-set
new file mode 120000
index 0000000000..0fd70fd5b9
--- /dev/null
+++ b/Lang/Crystal/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Priority-queue b/Lang/Crystal/Priority-queue
new file mode 120000
index 0000000000..4f7dddb139
--- /dev/null
+++ b/Lang/Crystal/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Program-name b/Lang/Crystal/Program-name
new file mode 120000
index 0000000000..0398fe1a1e
--- /dev/null
+++ b/Lang/Crystal/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Quaternion-type b/Lang/Crystal/Quaternion-type
deleted file mode 120000
index 5a28c33333..0000000000
--- a/Lang/Crystal/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Random-sentence-from-book b/Lang/Crystal/Random-sentence-from-book
new file mode 120000
index 0000000000..916a4913b6
--- /dev/null
+++ b/Lang/Crystal/Random-sentence-from-book
@@ -0,0 +1 @@
+../../Task/Random-sentence-from-book/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Range-extraction b/Lang/Crystal/Range-extraction
new file mode 120000
index 0000000000..984878874c
--- /dev/null
+++ b/Lang/Crystal/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Regular-expressions b/Lang/Crystal/Regular-expressions
new file mode 120000
index 0000000000..1e1b324d69
--- /dev/null
+++ b/Lang/Crystal/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Repeat b/Lang/Crystal/Repeat
new file mode 120000
index 0000000000..cbbc5973da
--- /dev/null
+++ b/Lang/Crystal/Repeat
@@ -0,0 +1 @@
+../../Task/Repeat/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Return-multiple-values b/Lang/Crystal/Return-multiple-values
new file mode 120000
index 0000000000..df0883e4b0
--- /dev/null
+++ b/Lang/Crystal/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Reverse-words-in-a-string b/Lang/Crystal/Reverse-words-in-a-string
new file mode 120000
index 0000000000..44576bae9a
--- /dev/null
+++ b/Lang/Crystal/Reverse-words-in-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-words-in-a-string/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Rosetta-Code-Rank-languages-by-popularity b/Lang/Crystal/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..69fe9e65d5
--- /dev/null
+++ b/Lang/Crystal/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Rot-13 b/Lang/Crystal/Rot-13
new file mode 120000
index 0000000000..430011bd06
--- /dev/null
+++ b/Lang/Crystal/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Run-length-encoding b/Lang/Crystal/Run-length-encoding
new file mode 120000
index 0000000000..1a2b6b241a
--- /dev/null
+++ b/Lang/Crystal/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Search-a-list b/Lang/Crystal/Search-a-list
new file mode 120000
index 0000000000..975cbb3120
--- /dev/null
+++ b/Lang/Crystal/Search-a-list
@@ -0,0 +1 @@
+../../Task/Search-a-list/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Sequence-of-non-squares b/Lang/Crystal/Sequence-of-non-squares
new file mode 120000
index 0000000000..4854c5c8ce
--- /dev/null
+++ b/Lang/Crystal/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Set b/Lang/Crystal/Set
new file mode 120000
index 0000000000..09e0457880
--- /dev/null
+++ b/Lang/Crystal/Set
@@ -0,0 +1 @@
+../../Task/Set/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Short-circuit-evaluation b/Lang/Crystal/Short-circuit-evaluation
new file mode 120000
index 0000000000..42f8d1e06a
--- /dev/null
+++ b/Lang/Crystal/Short-circuit-evaluation
@@ -0,0 +1 @@
+../../Task/Short-circuit-evaluation/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Simple-database b/Lang/Crystal/Simple-database
new file mode 120000
index 0000000000..91a24ce202
--- /dev/null
+++ b/Lang/Crystal/Simple-database
@@ -0,0 +1 @@
+../../Task/Simple-database/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Singly-linked-list-Element-definition b/Lang/Crystal/Singly-linked-list-Element-definition
new file mode 120000
index 0000000000..1c9a4e215c
--- /dev/null
+++ b/Lang/Crystal/Singly-linked-list-Element-definition
@@ -0,0 +1 @@
+../../Task/Singly-linked-list-Element-definition/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Singly-linked-list-Element-insertion b/Lang/Crystal/Singly-linked-list-Element-insertion
new file mode 120000
index 0000000000..e0de17b549
--- /dev/null
+++ b/Lang/Crystal/Singly-linked-list-Element-insertion
@@ -0,0 +1 @@
+../../Task/Singly-linked-list-Element-insertion/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Singly-linked-list-Traversal b/Lang/Crystal/Singly-linked-list-Traversal
new file mode 120000
index 0000000000..e89e5d42db
--- /dev/null
+++ b/Lang/Crystal/Singly-linked-list-Traversal
@@ -0,0 +1 @@
+../../Task/Singly-linked-list-Traversal/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Sleep b/Lang/Crystal/Sleep
new file mode 120000
index 0000000000..1648e77b82
--- /dev/null
+++ b/Lang/Crystal/Sleep
@@ -0,0 +1 @@
+../../Task/Sleep/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Sleeping-Beauty-problem b/Lang/Crystal/Sleeping-Beauty-problem
new file mode 120000
index 0000000000..50b43e53b7
--- /dev/null
+++ b/Lang/Crystal/Sleeping-Beauty-problem
@@ -0,0 +1 @@
+../../Task/Sleeping-Beauty-problem/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Soloways-recurring-rainfall b/Lang/Crystal/Soloways-recurring-rainfall
new file mode 120000
index 0000000000..017187c230
--- /dev/null
+++ b/Lang/Crystal/Soloways-recurring-rainfall
@@ -0,0 +1 @@
+../../Task/Soloways-recurring-rainfall/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Sort-a-list-of-object-identifiers b/Lang/Crystal/Sort-a-list-of-object-identifiers
new file mode 120000
index 0000000000..2b599d3df1
--- /dev/null
+++ b/Lang/Crystal/Sort-a-list-of-object-identifiers
@@ -0,0 +1 @@
+../../Task/Sort-a-list-of-object-identifiers/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Sort-an-array-of-composite-structures b/Lang/Crystal/Sort-an-array-of-composite-structures
new file mode 120000
index 0000000000..5ea781aef9
--- /dev/null
+++ b/Lang/Crystal/Sort-an-array-of-composite-structures
@@ -0,0 +1 @@
+../../Task/Sort-an-array-of-composite-structures/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Sort-disjoint-sublist b/Lang/Crystal/Sort-disjoint-sublist
new file mode 120000
index 0000000000..a252445ff4
--- /dev/null
+++ b/Lang/Crystal/Sort-disjoint-sublist
@@ -0,0 +1 @@
+../../Task/Sort-disjoint-sublist/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Sort-numbers-lexicographically b/Lang/Crystal/Sort-numbers-lexicographically
new file mode 120000
index 0000000000..884dc88521
--- /dev/null
+++ b/Lang/Crystal/Sort-numbers-lexicographically
@@ -0,0 +1 @@
+../../Task/Sort-numbers-lexicographically/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Sort-three-variables b/Lang/Crystal/Sort-three-variables
new file mode 120000
index 0000000000..e206daaf02
--- /dev/null
+++ b/Lang/Crystal/Sort-three-variables
@@ -0,0 +1 @@
+../../Task/Sort-three-variables/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Sort-using-a-custom-comparator b/Lang/Crystal/Sort-using-a-custom-comparator
new file mode 120000
index 0000000000..0614ceb188
--- /dev/null
+++ b/Lang/Crystal/Sort-using-a-custom-comparator
@@ -0,0 +1 @@
+../../Task/Sort-using-a-custom-comparator/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Sorting-algorithms-Bubble-sort b/Lang/Crystal/Sorting-algorithms-Bubble-sort
new file mode 120000
index 0000000000..88a150acfe
--- /dev/null
+++ b/Lang/Crystal/Sorting-algorithms-Bubble-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Bubble-sort/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Sorting-algorithms-Stooge-sort b/Lang/Crystal/Sorting-algorithms-Stooge-sort
new file mode 120000
index 0000000000..9882d0a5e5
--- /dev/null
+++ b/Lang/Crystal/Sorting-algorithms-Stooge-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Stooge-sort/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Sparkline-in-unicode b/Lang/Crystal/Sparkline-in-unicode
new file mode 120000
index 0000000000..986b27240a
--- /dev/null
+++ b/Lang/Crystal/Sparkline-in-unicode
@@ -0,0 +1 @@
+../../Task/Sparkline-in-unicode/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Spelling-of-ordinal-numbers b/Lang/Crystal/Spelling-of-ordinal-numbers
new file mode 120000
index 0000000000..68e66511d0
--- /dev/null
+++ b/Lang/Crystal/Spelling-of-ordinal-numbers
@@ -0,0 +1 @@
+../../Task/Spelling-of-ordinal-numbers/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Split-a-character-string-based-on-change-of-character b/Lang/Crystal/Split-a-character-string-based-on-change-of-character
new file mode 120000
index 0000000000..874feaced9
--- /dev/null
+++ b/Lang/Crystal/Split-a-character-string-based-on-change-of-character
@@ -0,0 +1 @@
+../../Task/Split-a-character-string-based-on-change-of-character/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Stack-traces b/Lang/Crystal/Stack-traces
new file mode 120000
index 0000000000..9cc8cddb52
--- /dev/null
+++ b/Lang/Crystal/Stack-traces
@@ -0,0 +1 @@
+../../Task/Stack-traces/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Stem-and-leaf-plot b/Lang/Crystal/Stem-and-leaf-plot
new file mode 120000
index 0000000000..4fac378f12
--- /dev/null
+++ b/Lang/Crystal/Stem-and-leaf-plot
@@ -0,0 +1 @@
+../../Task/Stem-and-leaf-plot/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Stirling-numbers-of-the-first-kind b/Lang/Crystal/Stirling-numbers-of-the-first-kind
new file mode 120000
index 0000000000..8a52252a36
--- /dev/null
+++ b/Lang/Crystal/Stirling-numbers-of-the-first-kind
@@ -0,0 +1 @@
+../../Task/Stirling-numbers-of-the-first-kind/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Straddling-checkerboard b/Lang/Crystal/Straddling-checkerboard
new file mode 120000
index 0000000000..1550d42cee
--- /dev/null
+++ b/Lang/Crystal/Straddling-checkerboard
@@ -0,0 +1 @@
+../../Task/Straddling-checkerboard/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/String-append b/Lang/Crystal/String-append
new file mode 120000
index 0000000000..4f16bddd70
--- /dev/null
+++ b/Lang/Crystal/String-append
@@ -0,0 +1 @@
+../../Task/String-append/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/String-concatenation b/Lang/Crystal/String-concatenation
new file mode 120000
index 0000000000..1237b70607
--- /dev/null
+++ b/Lang/Crystal/String-concatenation
@@ -0,0 +1 @@
+../../Task/String-concatenation/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/String-interpolation-included- b/Lang/Crystal/String-interpolation-included-
new file mode 120000
index 0000000000..05bff0aabd
--- /dev/null
+++ b/Lang/Crystal/String-interpolation-included-
@@ -0,0 +1 @@
+../../Task/String-interpolation-included-/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/String-matching b/Lang/Crystal/String-matching
new file mode 120000
index 0000000000..439dd1fa36
--- /dev/null
+++ b/Lang/Crystal/String-matching
@@ -0,0 +1 @@
+../../Task/String-matching/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/String-prepend b/Lang/Crystal/String-prepend
new file mode 120000
index 0000000000..2c5c171e4c
--- /dev/null
+++ b/Lang/Crystal/String-prepend
@@ -0,0 +1 @@
+../../Task/String-prepend/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Strip-a-set-of-characters-from-a-string b/Lang/Crystal/Strip-a-set-of-characters-from-a-string
new file mode 120000
index 0000000000..7c09aa4ce1
--- /dev/null
+++ b/Lang/Crystal/Strip-a-set-of-characters-from-a-string
@@ -0,0 +1 @@
+../../Task/Strip-a-set-of-characters-from-a-string/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Strip-block-comments b/Lang/Crystal/Strip-block-comments
new file mode 120000
index 0000000000..2a4303ed27
--- /dev/null
+++ b/Lang/Crystal/Strip-block-comments
@@ -0,0 +1 @@
+../../Task/Strip-block-comments/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Strip-comments-from-a-string b/Lang/Crystal/Strip-comments-from-a-string
new file mode 120000
index 0000000000..bf4a72832d
--- /dev/null
+++ b/Lang/Crystal/Strip-comments-from-a-string
@@ -0,0 +1 @@
+../../Task/Strip-comments-from-a-string/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Strip-control-codes-and-extended-characters-from-a-string b/Lang/Crystal/Strip-control-codes-and-extended-characters-from-a-string
new file mode 120000
index 0000000000..2831009e2a
--- /dev/null
+++ b/Lang/Crystal/Strip-control-codes-and-extended-characters-from-a-string
@@ -0,0 +1 @@
+../../Task/Strip-control-codes-and-extended-characters-from-a-string/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Substring-Top-and-tail b/Lang/Crystal/Substring-Top-and-tail
new file mode 120000
index 0000000000..d3af8a2b7f
--- /dev/null
+++ b/Lang/Crystal/Substring-Top-and-tail
@@ -0,0 +1 @@
+../../Task/Substring-Top-and-tail/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Sudan-function b/Lang/Crystal/Sudan-function
new file mode 120000
index 0000000000..a75bf5defc
--- /dev/null
+++ b/Lang/Crystal/Sudan-function
@@ -0,0 +1 @@
+../../Task/Sudan-function/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Sum-to-100 b/Lang/Crystal/Sum-to-100
new file mode 120000
index 0000000000..02859f9ab7
--- /dev/null
+++ b/Lang/Crystal/Sum-to-100
@@ -0,0 +1 @@
+../../Task/Sum-to-100/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Summarize-and-say-sequence b/Lang/Crystal/Summarize-and-say-sequence
new file mode 120000
index 0000000000..ac69b16598
--- /dev/null
+++ b/Lang/Crystal/Summarize-and-say-sequence
@@ -0,0 +1 @@
+../../Task/Summarize-and-say-sequence/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Sylvesters-sequence b/Lang/Crystal/Sylvesters-sequence
new file mode 120000
index 0000000000..cd026cc33a
--- /dev/null
+++ b/Lang/Crystal/Sylvesters-sequence
@@ -0,0 +1 @@
+../../Task/Sylvesters-sequence/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Symmetric-difference b/Lang/Crystal/Symmetric-difference
new file mode 120000
index 0000000000..566657d82c
--- /dev/null
+++ b/Lang/Crystal/Symmetric-difference
@@ -0,0 +1 @@
+../../Task/Symmetric-difference/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Take-notes-on-the-command-line b/Lang/Crystal/Take-notes-on-the-command-line
new file mode 120000
index 0000000000..e978486e4d
--- /dev/null
+++ b/Lang/Crystal/Take-notes-on-the-command-line
@@ -0,0 +1 @@
+../../Task/Take-notes-on-the-command-line/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Temperature-conversion b/Lang/Crystal/Temperature-conversion
new file mode 120000
index 0000000000..d97258c24c
--- /dev/null
+++ b/Lang/Crystal/Temperature-conversion
@@ -0,0 +1 @@
+../../Task/Temperature-conversion/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Ternary-logic b/Lang/Crystal/Ternary-logic
new file mode 120000
index 0000000000..adfcdc28dd
--- /dev/null
+++ b/Lang/Crystal/Ternary-logic
@@ -0,0 +1 @@
+../../Task/Ternary-logic/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Textonyms b/Lang/Crystal/Textonyms
new file mode 120000
index 0000000000..e9c8a3c5ec
--- /dev/null
+++ b/Lang/Crystal/Textonyms
@@ -0,0 +1 @@
+../../Task/Textonyms/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Towers-of-Hanoi b/Lang/Crystal/Towers-of-Hanoi
new file mode 120000
index 0000000000..49ee652bdd
--- /dev/null
+++ b/Lang/Crystal/Towers-of-Hanoi
@@ -0,0 +1 @@
+../../Task/Towers-of-Hanoi/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Transliterate-English-text-using-the-Greek-alphabet b/Lang/Crystal/Transliterate-English-text-using-the-Greek-alphabet
new file mode 120000
index 0000000000..cb70d2aa14
--- /dev/null
+++ b/Lang/Crystal/Transliterate-English-text-using-the-Greek-alphabet
@@ -0,0 +1 @@
+../../Task/Transliterate-English-text-using-the-Greek-alphabet/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Truncate-a-file b/Lang/Crystal/Truncate-a-file
new file mode 120000
index 0000000000..a75ef5468d
--- /dev/null
+++ b/Lang/Crystal/Truncate-a-file
@@ -0,0 +1 @@
+../../Task/Truncate-a-file/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Truth-table b/Lang/Crystal/Truth-table
new file mode 120000
index 0000000000..7f3aa2a526
--- /dev/null
+++ b/Lang/Crystal/Truth-table
@@ -0,0 +1 @@
+../../Task/Truth-table/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Twos-complement b/Lang/Crystal/Twos-complement
new file mode 120000
index 0000000000..2272e1c36b
--- /dev/null
+++ b/Lang/Crystal/Twos-complement
@@ -0,0 +1 @@
+../../Task/Twos-complement/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/UPC b/Lang/Crystal/UPC
new file mode 120000
index 0000000000..b4d8d405f7
--- /dev/null
+++ b/Lang/Crystal/UPC
@@ -0,0 +1 @@
+../../Task/UPC/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/UTF-8-encode-and-decode b/Lang/Crystal/UTF-8-encode-and-decode
new file mode 120000
index 0000000000..acebf418fa
--- /dev/null
+++ b/Lang/Crystal/UTF-8-encode-and-decode
@@ -0,0 +1 @@
+../../Task/UTF-8-encode-and-decode/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Van-der-Corput-sequence b/Lang/Crystal/Van-der-Corput-sequence
new file mode 120000
index 0000000000..c9bba5d9e9
--- /dev/null
+++ b/Lang/Crystal/Van-der-Corput-sequence
@@ -0,0 +1 @@
+../../Task/Van-der-Corput-sequence/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Variable-length-quantity b/Lang/Crystal/Variable-length-quantity
new file mode 120000
index 0000000000..4664ff0cf8
--- /dev/null
+++ b/Lang/Crystal/Variable-length-quantity
@@ -0,0 +1 @@
+../../Task/Variable-length-quantity/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Vector b/Lang/Crystal/Vector
new file mode 120000
index 0000000000..eff97fd6f9
--- /dev/null
+++ b/Lang/Crystal/Vector
@@ -0,0 +1 @@
+../../Task/Vector/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Wagstaff-primes b/Lang/Crystal/Wagstaff-primes
new file mode 120000
index 0000000000..ce243d1192
--- /dev/null
+++ b/Lang/Crystal/Wagstaff-primes
@@ -0,0 +1 @@
+../../Task/Wagstaff-primes/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Wordiff b/Lang/Crystal/Wordiff
new file mode 120000
index 0000000000..fcf6f8935c
--- /dev/null
+++ b/Lang/Crystal/Wordiff
@@ -0,0 +1 @@
+../../Task/Wordiff/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Write-entire-file b/Lang/Crystal/Write-entire-file
new file mode 120000
index 0000000000..f56680457a
--- /dev/null
+++ b/Lang/Crystal/Write-entire-file
@@ -0,0 +1 @@
+../../Task/Write-entire-file/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Write-language-name-in-3D-ASCII b/Lang/Crystal/Write-language-name-in-3D-ASCII
new file mode 120000
index 0000000000..668585ccef
--- /dev/null
+++ b/Lang/Crystal/Write-language-name-in-3D-ASCII
@@ -0,0 +1 @@
+../../Task/Write-language-name-in-3D-ASCII/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/XML-Input b/Lang/Crystal/XML-Input
new file mode 120000
index 0000000000..186294c638
--- /dev/null
+++ b/Lang/Crystal/XML-Input
@@ -0,0 +1 @@
+../../Task/XML-Input/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/XML-XPath b/Lang/Crystal/XML-XPath
new file mode 120000
index 0000000000..cc58f19135
--- /dev/null
+++ b/Lang/Crystal/XML-XPath
@@ -0,0 +1 @@
+../../Task/XML-XPath/Crystal
\ No newline at end of file
diff --git a/Lang/Crystal/Yellowstone-sequence b/Lang/Crystal/Yellowstone-sequence
new file mode 120000
index 0000000000..e0ffb2052b
--- /dev/null
+++ b/Lang/Crystal/Yellowstone-sequence
@@ -0,0 +1 @@
+../../Task/Yellowstone-sequence/Crystal
\ No newline at end of file
diff --git a/Lang/D/Find-Chess960-starting-position-identifier b/Lang/D/Find-Chess960-starting-position-identifier
new file mode 120000
index 0000000000..79e07139b9
--- /dev/null
+++ b/Lang/D/Find-Chess960-starting-position-identifier
@@ -0,0 +1 @@
+../../Task/Find-Chess960-starting-position-identifier/D
\ No newline at end of file
diff --git a/Lang/D/Miller-Rabin-primality-test b/Lang/D/Miller-Rabin-primality-test
deleted file mode 120000
index 407bdbfce4..0000000000
--- a/Lang/D/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/D
\ No newline at end of file
diff --git a/Lang/D/Quaternion-type b/Lang/D/Quaternion-type
deleted file mode 120000
index 4703070a3f..0000000000
--- a/Lang/D/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/D
\ No newline at end of file
diff --git a/Lang/D/Sequence-nth-number-with-exactly-n-divisors b/Lang/D/Sequence:-nth-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/D/Sequence-nth-number-with-exactly-n-divisors
rename to Lang/D/Sequence:-nth-number-with-exactly-n-divisors
diff --git a/Lang/D/Sorting-Algorithms-Circle-Sort b/Lang/D/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index 950d2a1c8c..0000000000
--- a/Lang/D/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/D
\ No newline at end of file
diff --git a/Lang/Dart/15-puzzle-solver b/Lang/Dart/15-puzzle-solver
new file mode 120000
index 0000000000..9e8e216a39
--- /dev/null
+++ b/Lang/Dart/15-puzzle-solver
@@ -0,0 +1 @@
+../../Task/15-puzzle-solver/Dart
\ No newline at end of file
diff --git a/Lang/Dart/24-game-Solve b/Lang/Dart/24-game-Solve
new file mode 120000
index 0000000000..ae64875d6c
--- /dev/null
+++ b/Lang/Dart/24-game-Solve
@@ -0,0 +1 @@
+../../Task/24-game-Solve/Dart
\ No newline at end of file
diff --git a/Lang/Dart/AVL-tree b/Lang/Dart/AVL-tree
new file mode 120000
index 0000000000..00bc5f9c2f
--- /dev/null
+++ b/Lang/Dart/AVL-tree
@@ -0,0 +1 @@
+../../Task/AVL-tree/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Benfords-law b/Lang/Dart/Benfords-law
new file mode 120000
index 0000000000..bccac375ec
--- /dev/null
+++ b/Lang/Dart/Benfords-law
@@ -0,0 +1 @@
+../../Task/Benfords-law/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Boyer-Moore-string-search b/Lang/Dart/Boyer-Moore-string-search
new file mode 120000
index 0000000000..8b8a6a6060
--- /dev/null
+++ b/Lang/Dart/Boyer-Moore-string-search
@@ -0,0 +1 @@
+../../Task/Boyer-Moore-string-search/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Break-OO-privacy b/Lang/Dart/Break-OO-privacy
new file mode 120000
index 0000000000..e07e79a6ca
--- /dev/null
+++ b/Lang/Dart/Break-OO-privacy
@@ -0,0 +1 @@
+../../Task/Break-OO-privacy/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Character-codes b/Lang/Dart/Character-codes
new file mode 120000
index 0000000000..eee070c4f5
--- /dev/null
+++ b/Lang/Dart/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Continued-fraction b/Lang/Dart/Continued-fraction
new file mode 120000
index 0000000000..ea5b665958
--- /dev/null
+++ b/Lang/Dart/Continued-fraction
@@ -0,0 +1 @@
+../../Task/Continued-fraction/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n- b/Lang/Dart/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n-
new file mode 120000
index 0000000000..eb55960eb5
--- /dev/null
+++ b/Lang/Dart/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n-
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n-/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Cullen-and-Woodall-numbers b/Lang/Dart/Cullen-and-Woodall-numbers
new file mode 120000
index 0000000000..573f34cd4f
--- /dev/null
+++ b/Lang/Dart/Cullen-and-Woodall-numbers
@@ -0,0 +1 @@
+../../Task/Cullen-and-Woodall-numbers/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Day-of-the-week b/Lang/Dart/Day-of-the-week
new file mode 120000
index 0000000000..15dd0e18f6
--- /dev/null
+++ b/Lang/Dart/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/Dart
\ No newline at end of file
diff --git a/Lang/Dart/De-Bruijn-sequences b/Lang/Dart/De-Bruijn-sequences
new file mode 120000
index 0000000000..f7a9a5e2e1
--- /dev/null
+++ b/Lang/Dart/De-Bruijn-sequences
@@ -0,0 +1 @@
+../../Task/De-Bruijn-sequences/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Determine-sentence-type b/Lang/Dart/Determine-sentence-type
new file mode 120000
index 0000000000..cbfbfb1793
--- /dev/null
+++ b/Lang/Dart/Determine-sentence-type
@@ -0,0 +1 @@
+../../Task/Determine-sentence-type/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Dijkstras-algorithm b/Lang/Dart/Dijkstras-algorithm
new file mode 120000
index 0000000000..fc7b73a06b
--- /dev/null
+++ b/Lang/Dart/Dijkstras-algorithm
@@ -0,0 +1 @@
+../../Task/Dijkstras-algorithm/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Diversity-prediction-theorem b/Lang/Dart/Diversity-prediction-theorem
new file mode 120000
index 0000000000..525bb8c4cf
--- /dev/null
+++ b/Lang/Dart/Diversity-prediction-theorem
@@ -0,0 +1 @@
+../../Task/Diversity-prediction-theorem/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Floyd-Warshall-algorithm b/Lang/Dart/Floyd-Warshall-algorithm
new file mode 120000
index 0000000000..34dc98809b
--- /dev/null
+++ b/Lang/Dart/Floyd-Warshall-algorithm
@@ -0,0 +1 @@
+../../Task/Floyd-Warshall-algorithm/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Generate-lower-case-ASCII-alphabet b/Lang/Dart/Generate-lower-case-ASCII-alphabet
new file mode 120000
index 0000000000..947014123e
--- /dev/null
+++ b/Lang/Dart/Generate-lower-case-ASCII-alphabet
@@ -0,0 +1 @@
+../../Task/Generate-lower-case-ASCII-alphabet/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Iterated-digits-squaring b/Lang/Dart/Iterated-digits-squaring
new file mode 120000
index 0000000000..87955b71c0
--- /dev/null
+++ b/Lang/Dart/Iterated-digits-squaring
@@ -0,0 +1 @@
+../../Task/Iterated-digits-squaring/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Jensens-Device b/Lang/Dart/Jensens-Device
new file mode 120000
index 0000000000..973fbf791f
--- /dev/null
+++ b/Lang/Dart/Jensens-Device
@@ -0,0 +1 @@
+../../Task/Jensens-Device/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Jewels-and-stones b/Lang/Dart/Jewels-and-stones
new file mode 120000
index 0000000000..8673bcd41d
--- /dev/null
+++ b/Lang/Dart/Jewels-and-stones
@@ -0,0 +1 @@
+../../Task/Jewels-and-stones/Dart
\ No newline at end of file
diff --git a/Lang/Dart/K-d-tree b/Lang/Dart/K-d-tree
new file mode 120000
index 0000000000..4b4a8013e5
--- /dev/null
+++ b/Lang/Dart/K-d-tree
@@ -0,0 +1 @@
+../../Task/K-d-tree/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Leonardo-numbers b/Lang/Dart/Leonardo-numbers
new file mode 120000
index 0000000000..93d2f002c1
--- /dev/null
+++ b/Lang/Dart/Leonardo-numbers
@@ -0,0 +1 @@
+../../Task/Leonardo-numbers/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Map-range b/Lang/Dart/Map-range
new file mode 120000
index 0000000000..5ed6b07ca1
--- /dev/null
+++ b/Lang/Dart/Map-range
@@ -0,0 +1 @@
+../../Task/Map-range/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Meissel-Mertens-constant b/Lang/Dart/Meissel-Mertens-constant
deleted file mode 120000
index bac3ec4c99..0000000000
--- a/Lang/Dart/Meissel-Mertens-constant
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Meissel-Mertens-constant/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Modular-exponentiation b/Lang/Dart/Modular-exponentiation
new file mode 120000
index 0000000000..afe2138c27
--- /dev/null
+++ b/Lang/Dart/Modular-exponentiation
@@ -0,0 +1 @@
+../../Task/Modular-exponentiation/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Ormiston-triples b/Lang/Dart/Ormiston-triples
new file mode 120000
index 0000000000..ddb933956b
--- /dev/null
+++ b/Lang/Dart/Ormiston-triples
@@ -0,0 +1 @@
+../../Task/Ormiston-triples/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Pancake-numbers b/Lang/Dart/Pancake-numbers
new file mode 120000
index 0000000000..78b8078b97
--- /dev/null
+++ b/Lang/Dart/Pancake-numbers
@@ -0,0 +1 @@
+../../Task/Pancake-numbers/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Parse-an-IP-Address b/Lang/Dart/Parse-an-IP-Address
new file mode 120000
index 0000000000..bbe41020cb
--- /dev/null
+++ b/Lang/Dart/Parse-an-IP-Address
@@ -0,0 +1 @@
+../../Task/Parse-an-IP-Address/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Parsing-Shunting-yard-algorithm b/Lang/Dart/Parsing-Shunting-yard-algorithm
new file mode 120000
index 0000000000..764230d0e5
--- /dev/null
+++ b/Lang/Dart/Parsing-Shunting-yard-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-Shunting-yard-algorithm/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Partition-an-integer-x-into-n-primes b/Lang/Dart/Partition-an-integer-x-into-n-primes
new file mode 120000
index 0000000000..4b67e26b1a
--- /dev/null
+++ b/Lang/Dart/Partition-an-integer-x-into-n-primes
@@ -0,0 +1 @@
+../../Task/Partition-an-integer-x-into-n-primes/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Partition-function-P b/Lang/Dart/Partition-function-P
new file mode 120000
index 0000000000..9146b4b231
--- /dev/null
+++ b/Lang/Dart/Partition-function-P
@@ -0,0 +1 @@
+../../Task/Partition-function-P/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Penneys-game b/Lang/Dart/Penneys-game
new file mode 120000
index 0000000000..f054d83b87
--- /dev/null
+++ b/Lang/Dart/Penneys-game
@@ -0,0 +1 @@
+../../Task/Penneys-game/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Quaternion-type b/Lang/Dart/Quaternion-type
deleted file mode 120000
index fb391b98d0..0000000000
--- a/Lang/Dart/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Random-Latin-squares b/Lang/Dart/Random-Latin-squares
new file mode 120000
index 0000000000..226cba5197
--- /dev/null
+++ b/Lang/Dart/Random-Latin-squares
@@ -0,0 +1 @@
+../../Task/Random-Latin-squares/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Random-sentence-from-book b/Lang/Dart/Random-sentence-from-book
new file mode 120000
index 0000000000..2b4a3a67d4
--- /dev/null
+++ b/Lang/Dart/Random-sentence-from-book
@@ -0,0 +1 @@
+../../Task/Random-sentence-from-book/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Repeat b/Lang/Dart/Repeat
new file mode 120000
index 0000000000..f9635c7eb9
--- /dev/null
+++ b/Lang/Dart/Repeat
@@ -0,0 +1 @@
+../../Task/Repeat/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Solve-a-Numbrix-puzzle b/Lang/Dart/Solve-a-Numbrix-puzzle
new file mode 120000
index 0000000000..38339de00c
--- /dev/null
+++ b/Lang/Dart/Solve-a-Numbrix-puzzle
@@ -0,0 +1 @@
+../../Task/Solve-a-Numbrix-puzzle/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Sorting-algorithms-Gnome-sort b/Lang/Dart/Sorting-algorithms-Gnome-sort
new file mode 120000
index 0000000000..0f0280ed89
--- /dev/null
+++ b/Lang/Dart/Sorting-algorithms-Gnome-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Gnome-sort/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Split-a-character-string-based-on-change-of-character b/Lang/Dart/Split-a-character-string-based-on-change-of-character
new file mode 120000
index 0000000000..06c92b1b7c
--- /dev/null
+++ b/Lang/Dart/Split-a-character-string-based-on-change-of-character
@@ -0,0 +1 @@
+../../Task/Split-a-character-string-based-on-change-of-character/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Strassens-algorithm b/Lang/Dart/Strassens-algorithm
new file mode 120000
index 0000000000..db4cbbbc5d
--- /dev/null
+++ b/Lang/Dart/Strassens-algorithm
@@ -0,0 +1 @@
+../../Task/Strassens-algorithm/Dart
\ No newline at end of file
diff --git a/Lang/Dart/The-Name-Game b/Lang/Dart/The-Name-Game
new file mode 120000
index 0000000000..41a16ad1a3
--- /dev/null
+++ b/Lang/Dart/The-Name-Game
@@ -0,0 +1 @@
+../../Task/The-Name-Game/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Tonelli-Shanks-algorithm b/Lang/Dart/Tonelli-Shanks-algorithm
new file mode 120000
index 0000000000..72acd046bd
--- /dev/null
+++ b/Lang/Dart/Tonelli-Shanks-algorithm
@@ -0,0 +1 @@
+../../Task/Tonelli-Shanks-algorithm/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Topological-sort b/Lang/Dart/Topological-sort
new file mode 120000
index 0000000000..7361beca1d
--- /dev/null
+++ b/Lang/Dart/Topological-sort
@@ -0,0 +1 @@
+../../Task/Topological-sort/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Word-search b/Lang/Dart/Word-search
new file mode 120000
index 0000000000..c9693c2a8f
--- /dev/null
+++ b/Lang/Dart/Word-search
@@ -0,0 +1 @@
+../../Task/Word-search/Dart
\ No newline at end of file
diff --git a/Lang/Dc/Man-or-boy-test b/Lang/Dc/Man-or-boy-test
new file mode 120000
index 0000000000..3b3beb62b4
--- /dev/null
+++ b/Lang/Dc/Man-or-boy-test
@@ -0,0 +1 @@
+../../Task/Man-or-boy-test/Dc
\ No newline at end of file
diff --git a/Lang/Delphi/Bioinformatics-base-count b/Lang/Delphi/Bioinformatics-base-count
deleted file mode 120000
index 8964650820..0000000000
--- a/Lang/Delphi/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Generate-Chess960-starting-position b/Lang/Delphi/Generate-Chess960-starting-position
new file mode 120000
index 0000000000..2c3a66190d
--- /dev/null
+++ b/Lang/Delphi/Generate-Chess960-starting-position
@@ -0,0 +1 @@
+../../Task/Generate-Chess960-starting-position/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Meissel-Mertens-constant b/Lang/Delphi/Meissel-Mertens-constant
deleted file mode 120000
index 2b1c7d3804..0000000000
--- a/Lang/Delphi/Meissel-Mertens-constant
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Meissel-Mertens-constant/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Quaternion-type b/Lang/Delphi/Quaternion-type
deleted file mode 120000
index fe804d3654..0000000000
--- a/Lang/Delphi/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/Delphi/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/Delphi/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/Delphi/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/Delphi/Sequence-smallest-number-with-exactly-n-divisors b/Lang/Delphi/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Delphi/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/Delphi/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/Delphi/Sorting-Algorithms-Circle-Sort b/Lang/Delphi/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index d4a4f938c0..0000000000
--- a/Lang/Delphi/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/Delphi
\ No newline at end of file
diff --git a/Lang/Draco/Align-columns b/Lang/Draco/Align-columns
new file mode 120000
index 0000000000..00c426b153
--- /dev/null
+++ b/Lang/Draco/Align-columns
@@ -0,0 +1 @@
+../../Task/Align-columns/Draco
\ No newline at end of file
diff --git a/Lang/Draco/Anti-primes b/Lang/Draco/Anti-primes
new file mode 120000
index 0000000000..e9ba464537
--- /dev/null
+++ b/Lang/Draco/Anti-primes
@@ -0,0 +1 @@
+../../Task/Anti-primes/Draco
\ No newline at end of file
diff --git a/Lang/Draco/Arithmetic-derivative b/Lang/Draco/Arithmetic-derivative
new file mode 120000
index 0000000000..b83ffadf85
--- /dev/null
+++ b/Lang/Draco/Arithmetic-derivative
@@ -0,0 +1 @@
+../../Task/Arithmetic-derivative/Draco
\ No newline at end of file
diff --git a/Lang/Draco/Compound-data-type b/Lang/Draco/Compound-data-type
new file mode 120000
index 0000000000..4fcd536f99
--- /dev/null
+++ b/Lang/Draco/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/Draco
\ No newline at end of file
diff --git a/Lang/Draco/Cullen-and-Woodall-numbers b/Lang/Draco/Cullen-and-Woodall-numbers
new file mode 120000
index 0000000000..4559430dd4
--- /dev/null
+++ b/Lang/Draco/Cullen-and-Woodall-numbers
@@ -0,0 +1 @@
+../../Task/Cullen-and-Woodall-numbers/Draco
\ No newline at end of file
diff --git a/Lang/Draco/Display-a-linear-combination b/Lang/Draco/Display-a-linear-combination
new file mode 120000
index 0000000000..bbaeb41c31
--- /dev/null
+++ b/Lang/Draco/Display-a-linear-combination
@@ -0,0 +1 @@
+../../Task/Display-a-linear-combination/Draco
\ No newline at end of file
diff --git a/Lang/Draco/Doomsday-rule b/Lang/Draco/Doomsday-rule
new file mode 120000
index 0000000000..50f248643e
--- /dev/null
+++ b/Lang/Draco/Doomsday-rule
@@ -0,0 +1 @@
+../../Task/Doomsday-rule/Draco
\ No newline at end of file
diff --git a/Lang/Draco/Horners-rule-for-polynomial-evaluation b/Lang/Draco/Horners-rule-for-polynomial-evaluation
new file mode 120000
index 0000000000..3be037b7e6
--- /dev/null
+++ b/Lang/Draco/Horners-rule-for-polynomial-evaluation
@@ -0,0 +1 @@
+../../Task/Horners-rule-for-polynomial-evaluation/Draco
\ No newline at end of file
diff --git a/Lang/Draco/Roman-numerals-Encode b/Lang/Draco/Roman-numerals-Encode
new file mode 120000
index 0000000000..11eed87fb8
--- /dev/null
+++ b/Lang/Draco/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Draco
\ No newline at end of file
diff --git a/Lang/Draco/Tokenize-a-string b/Lang/Draco/Tokenize-a-string
new file mode 120000
index 0000000000..b60ddd21df
--- /dev/null
+++ b/Lang/Draco/Tokenize-a-string
@@ -0,0 +1 @@
+../../Task/Tokenize-a-string/Draco
\ No newline at end of file
diff --git a/Lang/Draco/Zeckendorf-number-representation b/Lang/Draco/Zeckendorf-number-representation
new file mode 120000
index 0000000000..5142294607
--- /dev/null
+++ b/Lang/Draco/Zeckendorf-number-representation
@@ -0,0 +1 @@
+../../Task/Zeckendorf-number-representation/Draco
\ No newline at end of file
diff --git a/Lang/Dragonstone/00-LANG.txt b/Lang/Dragonstone/00-LANG.txt
new file mode 100644
index 0000000000..910f7b9a21
--- /dev/null
+++ b/Lang/Dragonstone/00-LANG.txt
@@ -0,0 +1,9 @@
+{{language
+|exec=both
+|gc=optional
+|parampass=both
+|express=both
+|strength=strong
+|checking=both
+|site=http://dragonstone-lang.org}}
+'''Dragonstone''' is a general purpose, high-level, object-oriented programming language. It is both an interpreted and compiled language, it's inspired by Ruby and Crystal but designed for programmer happiness, productivity, and choice.
\ No newline at end of file
diff --git a/Lang/Dragonstone/00-META.yaml b/Lang/Dragonstone/00-META.yaml
new file mode 100644
index 0000000000..33832d2528
--- /dev/null
+++ b/Lang/Dragonstone/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Dragonstone
diff --git a/Lang/Dragonstone/Comments b/Lang/Dragonstone/Comments
new file mode 120000
index 0000000000..49a5841988
--- /dev/null
+++ b/Lang/Dragonstone/Comments
@@ -0,0 +1 @@
+../../Task/Comments/Dragonstone
\ No newline at end of file
diff --git a/Lang/Dragonstone/Hello-world-Newline-omission b/Lang/Dragonstone/Hello-world-Newline-omission
new file mode 120000
index 0000000000..a67c99cc88
--- /dev/null
+++ b/Lang/Dragonstone/Hello-world-Newline-omission
@@ -0,0 +1 @@
+../../Task/Hello-world-Newline-omission/Dragonstone
\ No newline at end of file
diff --git a/Lang/Dragonstone/Hello-world-Text b/Lang/Dragonstone/Hello-world-Text
new file mode 120000
index 0000000000..7f601f87ad
--- /dev/null
+++ b/Lang/Dragonstone/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Dragonstone
\ No newline at end of file
diff --git a/Lang/Dragonstone/Loops-While b/Lang/Dragonstone/Loops-While
new file mode 120000
index 0000000000..c8a2239e27
--- /dev/null
+++ b/Lang/Dragonstone/Loops-While
@@ -0,0 +1 @@
+../../Task/Loops-While/Dragonstone
\ No newline at end of file
diff --git a/Lang/DuckDB/00-LANG.txt b/Lang/DuckDB/00-LANG.txt
new file mode 100644
index 0000000000..2609130966
--- /dev/null
+++ b/Lang/DuckDB/00-LANG.txt
@@ -0,0 +1,4 @@
+[[DuckDB]] is an open-source, fast in-process analytical database management system based on a feature-rich SQL dialect complemented with deep integrations into client APIs.
+
+[[Category:Programming Languages]]
+[[Category:SQL]]
\ No newline at end of file
diff --git a/Lang/DuckDB/00-META.yaml b/Lang/DuckDB/00-META.yaml
new file mode 100644
index 0000000000..c9eafe7cf5
--- /dev/null
+++ b/Lang/DuckDB/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:DuckDB
diff --git a/Lang/DuckDB/100-doors b/Lang/DuckDB/100-doors
new file mode 120000
index 0000000000..a0ee1f337e
--- /dev/null
+++ b/Lang/DuckDB/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/99-bottles-of-beer b/Lang/DuckDB/99-bottles-of-beer
new file mode 120000
index 0000000000..c5f15cd273
--- /dev/null
+++ b/Lang/DuckDB/99-bottles-of-beer
@@ -0,0 +1 @@
+../../Task/99-bottles-of-beer/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/A+B b/Lang/DuckDB/A+B
new file mode 120000
index 0000000000..ae6220876f
--- /dev/null
+++ b/Lang/DuckDB/A+B
@@ -0,0 +1 @@
+../../Task/A+B/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/ABC-problem b/Lang/DuckDB/ABC-problem
new file mode 120000
index 0000000000..36e60dd0cd
--- /dev/null
+++ b/Lang/DuckDB/ABC-problem
@@ -0,0 +1 @@
+../../Task/ABC-problem/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Anagrams b/Lang/DuckDB/Anagrams
new file mode 120000
index 0000000000..e80c01b2e3
--- /dev/null
+++ b/Lang/DuckDB/Anagrams
@@ -0,0 +1 @@
+../../Task/Anagrams/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Anonymous-recursion b/Lang/DuckDB/Anonymous-recursion
new file mode 120000
index 0000000000..e4448d2542
--- /dev/null
+++ b/Lang/DuckDB/Anonymous-recursion
@@ -0,0 +1 @@
+../../Task/Anonymous-recursion/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Arithmetic-Complex b/Lang/DuckDB/Arithmetic-Complex
new file mode 120000
index 0000000000..7e149e59dc
--- /dev/null
+++ b/Lang/DuckDB/Arithmetic-Complex
@@ -0,0 +1 @@
+../../Task/Arithmetic-Complex/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Arithmetic-Integer b/Lang/DuckDB/Arithmetic-Integer
new file mode 120000
index 0000000000..5bc3696b71
--- /dev/null
+++ b/Lang/DuckDB/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Arithmetic-geometric-mean b/Lang/DuckDB/Arithmetic-geometric-mean
new file mode 120000
index 0000000000..2519d0a8f8
--- /dev/null
+++ b/Lang/DuckDB/Arithmetic-geometric-mean
@@ -0,0 +1 @@
+../../Task/Arithmetic-geometric-mean/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Arithmetic-numbers b/Lang/DuckDB/Arithmetic-numbers
new file mode 120000
index 0000000000..a5e7e075b9
--- /dev/null
+++ b/Lang/DuckDB/Arithmetic-numbers
@@ -0,0 +1 @@
+../../Task/Arithmetic-numbers/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Array-concatenation b/Lang/DuckDB/Array-concatenation
new file mode 120000
index 0000000000..7ef5be0b5a
--- /dev/null
+++ b/Lang/DuckDB/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Array-length b/Lang/DuckDB/Array-length
new file mode 120000
index 0000000000..ebd59786ea
--- /dev/null
+++ b/Lang/DuckDB/Array-length
@@ -0,0 +1 @@
+../../Task/Array-length/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Arrays b/Lang/DuckDB/Arrays
new file mode 120000
index 0000000000..85190ece0f
--- /dev/null
+++ b/Lang/DuckDB/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Associative-array-Creation b/Lang/DuckDB/Associative-array-Creation
new file mode 120000
index 0000000000..ea2505f34f
--- /dev/null
+++ b/Lang/DuckDB/Associative-array-Creation
@@ -0,0 +1 @@
+../../Task/Associative-array-Creation/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Associative-array-Iteration b/Lang/DuckDB/Associative-array-Iteration
new file mode 120000
index 0000000000..c8269906e9
--- /dev/null
+++ b/Lang/DuckDB/Associative-array-Iteration
@@ -0,0 +1 @@
+../../Task/Associative-array-Iteration/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Associative-array-Merging b/Lang/DuckDB/Associative-array-Merging
new file mode 120000
index 0000000000..4e70d9ab01
--- /dev/null
+++ b/Lang/DuckDB/Associative-array-Merging
@@ -0,0 +1 @@
+../../Task/Associative-array-Merging/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Averages-Arithmetic-mean b/Lang/DuckDB/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..7ef12ec4b6
--- /dev/null
+++ b/Lang/DuckDB/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Averages-Mean-angle b/Lang/DuckDB/Averages-Mean-angle
new file mode 120000
index 0000000000..5b1aa18e5e
--- /dev/null
+++ b/Lang/DuckDB/Averages-Mean-angle
@@ -0,0 +1 @@
+../../Task/Averages-Mean-angle/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Averages-Mean-time-of-day b/Lang/DuckDB/Averages-Mean-time-of-day
new file mode 120000
index 0000000000..7971faf640
--- /dev/null
+++ b/Lang/DuckDB/Averages-Mean-time-of-day
@@ -0,0 +1 @@
+../../Task/Averages-Mean-time-of-day/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Averages-Mode b/Lang/DuckDB/Averages-Mode
new file mode 120000
index 0000000000..0ba388e74d
--- /dev/null
+++ b/Lang/DuckDB/Averages-Mode
@@ -0,0 +1 @@
+../../Task/Averages-Mode/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Averages-Pythagorean-means b/Lang/DuckDB/Averages-Pythagorean-means
new file mode 120000
index 0000000000..1a5cb3068d
--- /dev/null
+++ b/Lang/DuckDB/Averages-Pythagorean-means
@@ -0,0 +1 @@
+../../Task/Averages-Pythagorean-means/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Babbage-problem b/Lang/DuckDB/Babbage-problem
new file mode 120000
index 0000000000..7cee7b9a76
--- /dev/null
+++ b/Lang/DuckDB/Babbage-problem
@@ -0,0 +1 @@
+../../Task/Babbage-problem/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Benfords-law b/Lang/DuckDB/Benfords-law
new file mode 120000
index 0000000000..9302673cc0
--- /dev/null
+++ b/Lang/DuckDB/Benfords-law
@@ -0,0 +1 @@
+../../Task/Benfords-law/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Bin-given-limits b/Lang/DuckDB/Bin-given-limits
new file mode 120000
index 0000000000..ba754d6a93
--- /dev/null
+++ b/Lang/DuckDB/Bin-given-limits
@@ -0,0 +1 @@
+../../Task/Bin-given-limits/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Binary-digits b/Lang/DuckDB/Binary-digits
new file mode 120000
index 0000000000..c4e4b4a580
--- /dev/null
+++ b/Lang/DuckDB/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Bitwise-IO b/Lang/DuckDB/Bitwise-IO
new file mode 120000
index 0000000000..d00e607776
--- /dev/null
+++ b/Lang/DuckDB/Bitwise-IO
@@ -0,0 +1 @@
+../../Task/Bitwise-IO/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Bitwise-operations b/Lang/DuckDB/Bitwise-operations
new file mode 120000
index 0000000000..a0841908e6
--- /dev/null
+++ b/Lang/DuckDB/Bitwise-operations
@@ -0,0 +1 @@
+../../Task/Bitwise-operations/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/CSV-data-manipulation b/Lang/DuckDB/CSV-data-manipulation
new file mode 120000
index 0000000000..799ed97795
--- /dev/null
+++ b/Lang/DuckDB/CSV-data-manipulation
@@ -0,0 +1 @@
+../../Task/CSV-data-manipulation/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Call-a-function b/Lang/DuckDB/Call-a-function
new file mode 120000
index 0000000000..bf87fb6ba8
--- /dev/null
+++ b/Lang/DuckDB/Call-a-function
@@ -0,0 +1 @@
+../../Task/Call-a-function/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Cartesian-product-of-two-or-more-lists b/Lang/DuckDB/Cartesian-product-of-two-or-more-lists
new file mode 120000
index 0000000000..f0873100b0
--- /dev/null
+++ b/Lang/DuckDB/Cartesian-product-of-two-or-more-lists
@@ -0,0 +1 @@
+../../Task/Cartesian-product-of-two-or-more-lists/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Case-sensitivity-of-identifiers b/Lang/DuckDB/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..2a0900e2e4
--- /dev/null
+++ b/Lang/DuckDB/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Catalan-numbers b/Lang/DuckDB/Catalan-numbers
new file mode 120000
index 0000000000..5591f12e62
--- /dev/null
+++ b/Lang/DuckDB/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Catalan-numbers-Pascals-triangle b/Lang/DuckDB/Catalan-numbers-Pascals-triangle
new file mode 120000
index 0000000000..690dec4614
--- /dev/null
+++ b/Lang/DuckDB/Catalan-numbers-Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Catalan-numbers-Pascals-triangle/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Check-that-file-exists b/Lang/DuckDB/Check-that-file-exists
new file mode 120000
index 0000000000..7a35121080
--- /dev/null
+++ b/Lang/DuckDB/Check-that-file-exists
@@ -0,0 +1 @@
+../../Task/Check-that-file-exists/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Collections b/Lang/DuckDB/Collections
new file mode 120000
index 0000000000..4bd2b4f60a
--- /dev/null
+++ b/Lang/DuckDB/Collections
@@ -0,0 +1 @@
+../../Task/Collections/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Combinations b/Lang/DuckDB/Combinations
new file mode 120000
index 0000000000..61cb39c1bb
--- /dev/null
+++ b/Lang/DuckDB/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Combinations-with-repetitions b/Lang/DuckDB/Combinations-with-repetitions
new file mode 120000
index 0000000000..3781b1dd53
--- /dev/null
+++ b/Lang/DuckDB/Combinations-with-repetitions
@@ -0,0 +1 @@
+../../Task/Combinations-with-repetitions/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Compare-a-list-of-strings b/Lang/DuckDB/Compare-a-list-of-strings
new file mode 120000
index 0000000000..dcf4a9dc8d
--- /dev/null
+++ b/Lang/DuckDB/Compare-a-list-of-strings
@@ -0,0 +1 @@
+../../Task/Compare-a-list-of-strings/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Compare-length-of-two-strings b/Lang/DuckDB/Compare-length-of-two-strings
new file mode 120000
index 0000000000..b29bfdb369
--- /dev/null
+++ b/Lang/DuckDB/Compare-length-of-two-strings
@@ -0,0 +1 @@
+../../Task/Compare-length-of-two-strings/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Compound-data-type b/Lang/DuckDB/Compound-data-type
new file mode 120000
index 0000000000..dc469b307b
--- /dev/null
+++ b/Lang/DuckDB/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Conditional-structures b/Lang/DuckDB/Conditional-structures
new file mode 120000
index 0000000000..19bf4a5caa
--- /dev/null
+++ b/Lang/DuckDB/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Convert-seconds-to-compound-duration b/Lang/DuckDB/Convert-seconds-to-compound-duration
new file mode 120000
index 0000000000..44055a0c42
--- /dev/null
+++ b/Lang/DuckDB/Convert-seconds-to-compound-duration
@@ -0,0 +1 @@
+../../Task/Convert-seconds-to-compound-duration/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Copy-a-string b/Lang/DuckDB/Copy-a-string
new file mode 120000
index 0000000000..d5f908f98d
--- /dev/null
+++ b/Lang/DuckDB/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Count-occurrences-of-a-substring b/Lang/DuckDB/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..82775de6e5
--- /dev/null
+++ b/Lang/DuckDB/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Create-a-two-dimensional-array-at-runtime b/Lang/DuckDB/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..14657f9c21
--- /dev/null
+++ b/Lang/DuckDB/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Cumulative-standard-deviation b/Lang/DuckDB/Cumulative-standard-deviation
new file mode 120000
index 0000000000..f323d6c56e
--- /dev/null
+++ b/Lang/DuckDB/Cumulative-standard-deviation
@@ -0,0 +1 @@
+../../Task/Cumulative-standard-deviation/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Currency b/Lang/DuckDB/Currency
new file mode 120000
index 0000000000..092e5fcb13
--- /dev/null
+++ b/Lang/DuckDB/Currency
@@ -0,0 +1 @@
+../../Task/Currency/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Day-of-the-week b/Lang/DuckDB/Day-of-the-week
new file mode 120000
index 0000000000..467c28db17
--- /dev/null
+++ b/Lang/DuckDB/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Define-a-primitive-data-type b/Lang/DuckDB/Define-a-primitive-data-type
new file mode 120000
index 0000000000..f086397ed2
--- /dev/null
+++ b/Lang/DuckDB/Define-a-primitive-data-type
@@ -0,0 +1 @@
+../../Task/Define-a-primitive-data-type/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Detect-division-by-zero b/Lang/DuckDB/Detect-division-by-zero
new file mode 120000
index 0000000000..92508ad1dd
--- /dev/null
+++ b/Lang/DuckDB/Detect-division-by-zero
@@ -0,0 +1 @@
+../../Task/Detect-division-by-zero/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Determinant-and-permanent b/Lang/DuckDB/Determinant-and-permanent
new file mode 120000
index 0000000000..6bccec7e87
--- /dev/null
+++ b/Lang/DuckDB/Determinant-and-permanent
@@ -0,0 +1 @@
+../../Task/Determinant-and-permanent/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Determine-if-a-string-has-all-the-same-characters b/Lang/DuckDB/Determine-if-a-string-has-all-the-same-characters
new file mode 120000
index 0000000000..3a9bd20a7a
--- /dev/null
+++ b/Lang/DuckDB/Determine-if-a-string-has-all-the-same-characters
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-has-all-the-same-characters/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Determine-if-a-string-has-all-unique-characters b/Lang/DuckDB/Determine-if-a-string-has-all-unique-characters
new file mode 120000
index 0000000000..64885aacf1
--- /dev/null
+++ b/Lang/DuckDB/Determine-if-a-string-has-all-unique-characters
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-has-all-unique-characters/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Determine-if-a-string-is-collapsible b/Lang/DuckDB/Determine-if-a-string-is-collapsible
new file mode 120000
index 0000000000..0bb2727b9c
--- /dev/null
+++ b/Lang/DuckDB/Determine-if-a-string-is-collapsible
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-collapsible/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Determine-if-a-string-is-numeric b/Lang/DuckDB/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..ead16cd478
--- /dev/null
+++ b/Lang/DuckDB/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Determine-if-a-string-is-squeezable b/Lang/DuckDB/Determine-if-a-string-is-squeezable
new file mode 120000
index 0000000000..57414557b7
--- /dev/null
+++ b/Lang/DuckDB/Determine-if-a-string-is-squeezable
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-squeezable/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Determine-sentence-type b/Lang/DuckDB/Determine-sentence-type
new file mode 120000
index 0000000000..50fb0aaf1b
--- /dev/null
+++ b/Lang/DuckDB/Determine-sentence-type
@@ -0,0 +1 @@
+../../Task/Determine-sentence-type/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Digital-root b/Lang/DuckDB/Digital-root
new file mode 120000
index 0000000000..736b8ccc4f
--- /dev/null
+++ b/Lang/DuckDB/Digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Diversity-prediction-theorem b/Lang/DuckDB/Diversity-prediction-theorem
new file mode 120000
index 0000000000..2c04d6784a
--- /dev/null
+++ b/Lang/DuckDB/Diversity-prediction-theorem
@@ -0,0 +1 @@
+../../Task/Diversity-prediction-theorem/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Documentation b/Lang/DuckDB/Documentation
new file mode 120000
index 0000000000..f9f6aaf2ce
--- /dev/null
+++ b/Lang/DuckDB/Documentation
@@ -0,0 +1 @@
+../../Task/Documentation/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Dot-product b/Lang/DuckDB/Dot-product
new file mode 120000
index 0000000000..b17f0214ea
--- /dev/null
+++ b/Lang/DuckDB/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Dynamic-variable-names b/Lang/DuckDB/Dynamic-variable-names
new file mode 120000
index 0000000000..c534bbc61d
--- /dev/null
+++ b/Lang/DuckDB/Dynamic-variable-names
@@ -0,0 +1 @@
+../../Task/Dynamic-variable-names/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Element-wise-operations b/Lang/DuckDB/Element-wise-operations
new file mode 120000
index 0000000000..7d7754f7f7
--- /dev/null
+++ b/Lang/DuckDB/Element-wise-operations
@@ -0,0 +1 @@
+../../Task/Element-wise-operations/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Empty-string b/Lang/DuckDB/Empty-string
new file mode 120000
index 0000000000..67b471da95
--- /dev/null
+++ b/Lang/DuckDB/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Entropy b/Lang/DuckDB/Entropy
new file mode 120000
index 0000000000..9c2bc0a9a7
--- /dev/null
+++ b/Lang/DuckDB/Entropy
@@ -0,0 +1 @@
+../../Task/Entropy/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Enumerations b/Lang/DuckDB/Enumerations
new file mode 120000
index 0000000000..0605dce25b
--- /dev/null
+++ b/Lang/DuckDB/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Equilibrium-index b/Lang/DuckDB/Equilibrium-index
new file mode 120000
index 0000000000..40fbbe81bb
--- /dev/null
+++ b/Lang/DuckDB/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Euler-method b/Lang/DuckDB/Euler-method
new file mode 120000
index 0000000000..61aa9557d0
--- /dev/null
+++ b/Lang/DuckDB/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Eulers-constant-0.5772... b/Lang/DuckDB/Eulers-constant-0.5772...
new file mode 120000
index 0000000000..c954937ec2
--- /dev/null
+++ b/Lang/DuckDB/Eulers-constant-0.5772...
@@ -0,0 +1 @@
+../../Task/Eulers-constant-0.5772.../DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Eulers-identity b/Lang/DuckDB/Eulers-identity
new file mode 120000
index 0000000000..58919d8390
--- /dev/null
+++ b/Lang/DuckDB/Eulers-identity
@@ -0,0 +1 @@
+../../Task/Eulers-identity/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Evaluate-binomial-coefficients b/Lang/DuckDB/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..69d838bb98
--- /dev/null
+++ b/Lang/DuckDB/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Even-or-odd b/Lang/DuckDB/Even-or-odd
new file mode 120000
index 0000000000..e428a57303
--- /dev/null
+++ b/Lang/DuckDB/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Exponentiation-order b/Lang/DuckDB/Exponentiation-order
new file mode 120000
index 0000000000..56438a22ee
--- /dev/null
+++ b/Lang/DuckDB/Exponentiation-order
@@ -0,0 +1 @@
+../../Task/Exponentiation-order/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Extreme-floating-point-values b/Lang/DuckDB/Extreme-floating-point-values
new file mode 120000
index 0000000000..617a7e99de
--- /dev/null
+++ b/Lang/DuckDB/Extreme-floating-point-values
@@ -0,0 +1 @@
+../../Task/Extreme-floating-point-values/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Factorial b/Lang/DuckDB/Factorial
new file mode 120000
index 0000000000..24543aba0b
--- /dev/null
+++ b/Lang/DuckDB/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Factors-of-an-integer b/Lang/DuckDB/Factors-of-an-integer
new file mode 120000
index 0000000000..70e5ed8d56
--- /dev/null
+++ b/Lang/DuckDB/Factors-of-an-integer
@@ -0,0 +1 @@
+../../Task/Factors-of-an-integer/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Fairshare-between-two-and-more b/Lang/DuckDB/Fairshare-between-two-and-more
new file mode 120000
index 0000000000..0c62807925
--- /dev/null
+++ b/Lang/DuckDB/Fairshare-between-two-and-more
@@ -0,0 +1 @@
+../../Task/Fairshare-between-two-and-more/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Feigenbaum-constant-calculation b/Lang/DuckDB/Feigenbaum-constant-calculation
new file mode 120000
index 0000000000..6f57f3044b
--- /dev/null
+++ b/Lang/DuckDB/Feigenbaum-constant-calculation
@@ -0,0 +1 @@
+../../Task/Feigenbaum-constant-calculation/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Fibonacci-sequence b/Lang/DuckDB/Fibonacci-sequence
new file mode 120000
index 0000000000..0411dbf9f3
--- /dev/null
+++ b/Lang/DuckDB/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/File-input-output b/Lang/DuckDB/File-input-output
new file mode 120000
index 0000000000..0bb640b9cd
--- /dev/null
+++ b/Lang/DuckDB/File-input-output
@@ -0,0 +1 @@
+../../Task/File-input-output/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Filter b/Lang/DuckDB/Filter
new file mode 120000
index 0000000000..bec860336f
--- /dev/null
+++ b/Lang/DuckDB/Filter
@@ -0,0 +1 @@
+../../Task/Filter/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Find-limit-of-recursion b/Lang/DuckDB/Find-limit-of-recursion
new file mode 120000
index 0000000000..e7eff55309
--- /dev/null
+++ b/Lang/DuckDB/Find-limit-of-recursion
@@ -0,0 +1 @@
+../../Task/Find-limit-of-recursion/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Find-the-last-Sunday-of-each-month b/Lang/DuckDB/Find-the-last-Sunday-of-each-month
new file mode 120000
index 0000000000..39172062a9
--- /dev/null
+++ b/Lang/DuckDB/Find-the-last-Sunday-of-each-month
@@ -0,0 +1 @@
+../../Task/Find-the-last-Sunday-of-each-month/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Five-weekends b/Lang/DuckDB/Five-weekends
new file mode 120000
index 0000000000..4d8ed3ebe3
--- /dev/null
+++ b/Lang/DuckDB/Five-weekends
@@ -0,0 +1 @@
+../../Task/Five-weekends/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Fixed-length-records b/Lang/DuckDB/Fixed-length-records
new file mode 120000
index 0000000000..0b8d72de87
--- /dev/null
+++ b/Lang/DuckDB/Fixed-length-records
@@ -0,0 +1 @@
+../../Task/Fixed-length-records/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Flatten-a-list b/Lang/DuckDB/Flatten-a-list
new file mode 120000
index 0000000000..5bd1c5b0d8
--- /dev/null
+++ b/Lang/DuckDB/Flatten-a-list
@@ -0,0 +1 @@
+../../Task/Flatten-a-list/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Formatted-numeric-output b/Lang/DuckDB/Formatted-numeric-output
new file mode 120000
index 0000000000..789e647161
--- /dev/null
+++ b/Lang/DuckDB/Formatted-numeric-output
@@ -0,0 +1 @@
+../../Task/Formatted-numeric-output/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Forward-difference b/Lang/DuckDB/Forward-difference
new file mode 120000
index 0000000000..6a0d935f36
--- /dev/null
+++ b/Lang/DuckDB/Forward-difference
@@ -0,0 +1 @@
+../../Task/Forward-difference/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Function-definition b/Lang/DuckDB/Function-definition
new file mode 120000
index 0000000000..b39d093883
--- /dev/null
+++ b/Lang/DuckDB/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Gamma-function b/Lang/DuckDB/Gamma-function
new file mode 120000
index 0000000000..6fcec68436
--- /dev/null
+++ b/Lang/DuckDB/Gamma-function
@@ -0,0 +1 @@
+../../Task/Gamma-function/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Gapful-numbers b/Lang/DuckDB/Gapful-numbers
new file mode 120000
index 0000000000..875c3e4310
--- /dev/null
+++ b/Lang/DuckDB/Gapful-numbers
@@ -0,0 +1 @@
+../../Task/Gapful-numbers/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Generate-lower-case-ASCII-alphabet b/Lang/DuckDB/Generate-lower-case-ASCII-alphabet
new file mode 120000
index 0000000000..51094f97da
--- /dev/null
+++ b/Lang/DuckDB/Generate-lower-case-ASCII-alphabet
@@ -0,0 +1 @@
+../../Task/Generate-lower-case-ASCII-alphabet/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Generic-swap b/Lang/DuckDB/Generic-swap
new file mode 120000
index 0000000000..b384241f1f
--- /dev/null
+++ b/Lang/DuckDB/Generic-swap
@@ -0,0 +1 @@
+../../Task/Generic-swap/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Golden-ratio-Convergence b/Lang/DuckDB/Golden-ratio-Convergence
new file mode 120000
index 0000000000..0ca8f2458f
--- /dev/null
+++ b/Lang/DuckDB/Golden-ratio-Convergence
@@ -0,0 +1 @@
+../../Task/Golden-ratio-Convergence/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Gotchas b/Lang/DuckDB/Gotchas
new file mode 120000
index 0000000000..16cceb3ff0
--- /dev/null
+++ b/Lang/DuckDB/Gotchas
@@ -0,0 +1 @@
+../../Task/Gotchas/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Greatest-common-divisor b/Lang/DuckDB/Greatest-common-divisor
new file mode 120000
index 0000000000..6fb062c771
--- /dev/null
+++ b/Lang/DuckDB/Greatest-common-divisor
@@ -0,0 +1 @@
+../../Task/Greatest-common-divisor/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Greatest-element-of-a-list b/Lang/DuckDB/Greatest-element-of-a-list
new file mode 120000
index 0000000000..5a2c7a66c9
--- /dev/null
+++ b/Lang/DuckDB/Greatest-element-of-a-list
@@ -0,0 +1 @@
+../../Task/Greatest-element-of-a-list/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Greatest-subsequential-sum b/Lang/DuckDB/Greatest-subsequential-sum
new file mode 120000
index 0000000000..dd3661e978
--- /dev/null
+++ b/Lang/DuckDB/Greatest-subsequential-sum
@@ -0,0 +1 @@
+../../Task/Greatest-subsequential-sum/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/HTTP b/Lang/DuckDB/HTTP
new file mode 120000
index 0000000000..f77a3116ff
--- /dev/null
+++ b/Lang/DuckDB/HTTP
@@ -0,0 +1 @@
+../../Task/HTTP/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/HTTPS b/Lang/DuckDB/HTTPS
new file mode 120000
index 0000000000..694faecb0f
--- /dev/null
+++ b/Lang/DuckDB/HTTPS
@@ -0,0 +1 @@
+../../Task/HTTPS/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/HTTPS-Authenticated b/Lang/DuckDB/HTTPS-Authenticated
new file mode 120000
index 0000000000..c1b123b3b8
--- /dev/null
+++ b/Lang/DuckDB/HTTPS-Authenticated
@@ -0,0 +1 @@
+../../Task/HTTPS-Authenticated/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Hailstone-sequence b/Lang/DuckDB/Hailstone-sequence
new file mode 120000
index 0000000000..8cb9cd3c4d
--- /dev/null
+++ b/Lang/DuckDB/Hailstone-sequence
@@ -0,0 +1 @@
+../../Task/Hailstone-sequence/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Harmonic-series b/Lang/DuckDB/Harmonic-series
new file mode 120000
index 0000000000..d5b23dfe32
--- /dev/null
+++ b/Lang/DuckDB/Harmonic-series
@@ -0,0 +1 @@
+../../Task/Harmonic-series/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Hash-from-two-arrays b/Lang/DuckDB/Hash-from-two-arrays
new file mode 120000
index 0000000000..4fd3efc241
--- /dev/null
+++ b/Lang/DuckDB/Hash-from-two-arrays
@@ -0,0 +1 @@
+../../Task/Hash-from-two-arrays/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Hash-join b/Lang/DuckDB/Hash-join
new file mode 120000
index 0000000000..d89e18cc75
--- /dev/null
+++ b/Lang/DuckDB/Hash-join
@@ -0,0 +1 @@
+../../Task/Hash-join/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Haversine-formula b/Lang/DuckDB/Haversine-formula
new file mode 120000
index 0000000000..102a047e33
--- /dev/null
+++ b/Lang/DuckDB/Haversine-formula
@@ -0,0 +1 @@
+../../Task/Haversine-formula/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Hello-world-Text b/Lang/DuckDB/Hello-world-Text
new file mode 120000
index 0000000000..1af484f405
--- /dev/null
+++ b/Lang/DuckDB/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Here-document b/Lang/DuckDB/Here-document
new file mode 120000
index 0000000000..f233028f5b
--- /dev/null
+++ b/Lang/DuckDB/Here-document
@@ -0,0 +1 @@
+../../Task/Here-document/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/ISBN13-check-digit b/Lang/DuckDB/ISBN13-check-digit
new file mode 120000
index 0000000000..ad247e79cf
--- /dev/null
+++ b/Lang/DuckDB/ISBN13-check-digit
@@ -0,0 +1 @@
+../../Task/ISBN13-check-digit/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Identity-matrix b/Lang/DuckDB/Identity-matrix
new file mode 120000
index 0000000000..d8402f7ae8
--- /dev/null
+++ b/Lang/DuckDB/Identity-matrix
@@ -0,0 +1 @@
+../../Task/Identity-matrix/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Idiomatically-determine-all-the-characters-that-can-be-used-for-symbols b/Lang/DuckDB/Idiomatically-determine-all-the-characters-that-can-be-used-for-symbols
new file mode 120000
index 0000000000..90e880a4b1
--- /dev/null
+++ b/Lang/DuckDB/Idiomatically-determine-all-the-characters-that-can-be-used-for-symbols
@@ -0,0 +1 @@
+../../Task/Idiomatically-determine-all-the-characters-that-can-be-used-for-symbols/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Idiomatically-determine-all-the-lowercase-and-uppercase-letters b/Lang/DuckDB/Idiomatically-determine-all-the-lowercase-and-uppercase-letters
new file mode 120000
index 0000000000..3722271469
--- /dev/null
+++ b/Lang/DuckDB/Idiomatically-determine-all-the-lowercase-and-uppercase-letters
@@ -0,0 +1 @@
+../../Task/Idiomatically-determine-all-the-lowercase-and-uppercase-letters/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Increment-a-numerical-string b/Lang/DuckDB/Increment-a-numerical-string
new file mode 120000
index 0000000000..a9f84c0e8c
--- /dev/null
+++ b/Lang/DuckDB/Increment-a-numerical-string
@@ -0,0 +1 @@
+../../Task/Increment-a-numerical-string/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Infinity b/Lang/DuckDB/Infinity
new file mode 120000
index 0000000000..ed12f74690
--- /dev/null
+++ b/Lang/DuckDB/Infinity
@@ -0,0 +1 @@
+../../Task/Infinity/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Integer-comparison b/Lang/DuckDB/Integer-comparison
new file mode 120000
index 0000000000..c6cacfcd06
--- /dev/null
+++ b/Lang/DuckDB/Integer-comparison
@@ -0,0 +1 @@
+../../Task/Integer-comparison/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Introspection b/Lang/DuckDB/Introspection
new file mode 120000
index 0000000000..c3bb6d896d
--- /dev/null
+++ b/Lang/DuckDB/Introspection
@@ -0,0 +1 @@
+../../Task/Introspection/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Inverted-index b/Lang/DuckDB/Inverted-index
new file mode 120000
index 0000000000..81053e0c15
--- /dev/null
+++ b/Lang/DuckDB/Inverted-index
@@ -0,0 +1 @@
+../../Task/Inverted-index/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Inverted-syntax b/Lang/DuckDB/Inverted-syntax
new file mode 120000
index 0000000000..cadc81e3b6
--- /dev/null
+++ b/Lang/DuckDB/Inverted-syntax
@@ -0,0 +1 @@
+../../Task/Inverted-syntax/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/JSON b/Lang/DuckDB/JSON
new file mode 120000
index 0000000000..e4757a4b09
--- /dev/null
+++ b/Lang/DuckDB/JSON
@@ -0,0 +1 @@
+../../Task/JSON/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Jaro-similarity b/Lang/DuckDB/Jaro-similarity
new file mode 120000
index 0000000000..39c64b8488
--- /dev/null
+++ b/Lang/DuckDB/Jaro-similarity
@@ -0,0 +1 @@
+../../Task/Jaro-similarity/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Knuth-shuffle b/Lang/DuckDB/Knuth-shuffle
new file mode 120000
index 0000000000..7d43c57cbe
--- /dev/null
+++ b/Lang/DuckDB/Knuth-shuffle
@@ -0,0 +1 @@
+../../Task/Knuth-shuffle/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Largest-int-from-concatenated-ints b/Lang/DuckDB/Largest-int-from-concatenated-ints
new file mode 120000
index 0000000000..8e73a50292
--- /dev/null
+++ b/Lang/DuckDB/Largest-int-from-concatenated-ints
@@ -0,0 +1 @@
+../../Task/Largest-int-from-concatenated-ints/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Last-Friday-of-each-month b/Lang/DuckDB/Last-Friday-of-each-month
new file mode 120000
index 0000000000..1236ebdc14
--- /dev/null
+++ b/Lang/DuckDB/Last-Friday-of-each-month
@@ -0,0 +1 @@
+../../Task/Last-Friday-of-each-month/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Leap-year b/Lang/DuckDB/Leap-year
new file mode 120000
index 0000000000..5816394f02
--- /dev/null
+++ b/Lang/DuckDB/Leap-year
@@ -0,0 +1 @@
+../../Task/Leap-year/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Left-factorials b/Lang/DuckDB/Left-factorials
new file mode 120000
index 0000000000..6877bf1f73
--- /dev/null
+++ b/Lang/DuckDB/Left-factorials
@@ -0,0 +1 @@
+../../Task/Left-factorials/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Leonardo-numbers b/Lang/DuckDB/Leonardo-numbers
new file mode 120000
index 0000000000..206ddcfce9
--- /dev/null
+++ b/Lang/DuckDB/Leonardo-numbers
@@ -0,0 +1 @@
+../../Task/Leonardo-numbers/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Letter-frequency b/Lang/DuckDB/Letter-frequency
new file mode 120000
index 0000000000..29228c3e0b
--- /dev/null
+++ b/Lang/DuckDB/Letter-frequency
@@ -0,0 +1 @@
+../../Task/Letter-frequency/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Levenshtein-distance b/Lang/DuckDB/Levenshtein-distance
new file mode 120000
index 0000000000..d0954b60f2
--- /dev/null
+++ b/Lang/DuckDB/Levenshtein-distance
@@ -0,0 +1 @@
+../../Task/Levenshtein-distance/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/List-comprehensions b/Lang/DuckDB/List-comprehensions
new file mode 120000
index 0000000000..72558c43a1
--- /dev/null
+++ b/Lang/DuckDB/List-comprehensions
@@ -0,0 +1 @@
+../../Task/List-comprehensions/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Literals-Integer b/Lang/DuckDB/Literals-Integer
new file mode 120000
index 0000000000..39629959b4
--- /dev/null
+++ b/Lang/DuckDB/Literals-Integer
@@ -0,0 +1 @@
+../../Task/Literals-Integer/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Logical-operations b/Lang/DuckDB/Logical-operations
new file mode 120000
index 0000000000..14d59b0f70
--- /dev/null
+++ b/Lang/DuckDB/Logical-operations
@@ -0,0 +1 @@
+../../Task/Logical-operations/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Longest-increasing-subsequence b/Lang/DuckDB/Longest-increasing-subsequence
new file mode 120000
index 0000000000..35a8443499
--- /dev/null
+++ b/Lang/DuckDB/Longest-increasing-subsequence
@@ -0,0 +1 @@
+../../Task/Longest-increasing-subsequence/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Loops-Break b/Lang/DuckDB/Loops-Break
new file mode 120000
index 0000000000..40b7904e3f
--- /dev/null
+++ b/Lang/DuckDB/Loops-Break
@@ -0,0 +1 @@
+../../Task/Loops-Break/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Loops-Do-while b/Lang/DuckDB/Loops-Do-while
new file mode 120000
index 0000000000..257f84d6ba
--- /dev/null
+++ b/Lang/DuckDB/Loops-Do-while
@@ -0,0 +1 @@
+../../Task/Loops-Do-while/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Loops-Downward-for b/Lang/DuckDB/Loops-Downward-for
new file mode 120000
index 0000000000..5516907335
--- /dev/null
+++ b/Lang/DuckDB/Loops-Downward-for
@@ -0,0 +1 @@
+../../Task/Loops-Downward-for/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Loops-For b/Lang/DuckDB/Loops-For
new file mode 120000
index 0000000000..56dde9a604
--- /dev/null
+++ b/Lang/DuckDB/Loops-For
@@ -0,0 +1 @@
+../../Task/Loops-For/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Loops-For-with-a-specified-step b/Lang/DuckDB/Loops-For-with-a-specified-step
new file mode 120000
index 0000000000..f7e2b536d7
--- /dev/null
+++ b/Lang/DuckDB/Loops-For-with-a-specified-step
@@ -0,0 +1 @@
+../../Task/Loops-For-with-a-specified-step/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Loops-Increment-loop-index-within-loop-body b/Lang/DuckDB/Loops-Increment-loop-index-within-loop-body
new file mode 120000
index 0000000000..d530992462
--- /dev/null
+++ b/Lang/DuckDB/Loops-Increment-loop-index-within-loop-body
@@ -0,0 +1 @@
+../../Task/Loops-Increment-loop-index-within-loop-body/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Loops-N-plus-one-half b/Lang/DuckDB/Loops-N-plus-one-half
new file mode 120000
index 0000000000..f9812bda7e
--- /dev/null
+++ b/Lang/DuckDB/Loops-N-plus-one-half
@@ -0,0 +1 @@
+../../Task/Loops-N-plus-one-half/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Loops-Nested b/Lang/DuckDB/Loops-Nested
new file mode 120000
index 0000000000..8b4afa46b5
--- /dev/null
+++ b/Lang/DuckDB/Loops-Nested
@@ -0,0 +1 @@
+../../Task/Loops-Nested/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Loops-While b/Lang/DuckDB/Loops-While
new file mode 120000
index 0000000000..60343480f3
--- /dev/null
+++ b/Lang/DuckDB/Loops-While
@@ -0,0 +1 @@
+../../Task/Loops-While/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Loops-With-multiple-ranges b/Lang/DuckDB/Loops-With-multiple-ranges
new file mode 120000
index 0000000000..540b734a24
--- /dev/null
+++ b/Lang/DuckDB/Loops-With-multiple-ranges
@@ -0,0 +1 @@
+../../Task/Loops-With-multiple-ranges/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Luhn-test-of-credit-card-numbers b/Lang/DuckDB/Luhn-test-of-credit-card-numbers
new file mode 120000
index 0000000000..397557411e
--- /dev/null
+++ b/Lang/DuckDB/Luhn-test-of-credit-card-numbers
@@ -0,0 +1 @@
+../../Task/Luhn-test-of-credit-card-numbers/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/MD5 b/Lang/DuckDB/MD5
new file mode 120000
index 0000000000..ab453e87da
--- /dev/null
+++ b/Lang/DuckDB/MD5
@@ -0,0 +1 @@
+../../Task/MD5/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Map-range b/Lang/DuckDB/Map-range
new file mode 120000
index 0000000000..6cd697a04b
--- /dev/null
+++ b/Lang/DuckDB/Map-range
@@ -0,0 +1 @@
+../../Task/Map-range/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Matrix-multiplication b/Lang/DuckDB/Matrix-multiplication
new file mode 120000
index 0000000000..2110896869
--- /dev/null
+++ b/Lang/DuckDB/Matrix-multiplication
@@ -0,0 +1 @@
+../../Task/Matrix-multiplication/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Matrix-transposition b/Lang/DuckDB/Matrix-transposition
new file mode 120000
index 0000000000..7e416217b2
--- /dev/null
+++ b/Lang/DuckDB/Matrix-transposition
@@ -0,0 +1 @@
+../../Task/Matrix-transposition/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Merge-and-aggregate-datasets b/Lang/DuckDB/Merge-and-aggregate-datasets
new file mode 120000
index 0000000000..e9d467735b
--- /dev/null
+++ b/Lang/DuckDB/Merge-and-aggregate-datasets
@@ -0,0 +1 @@
+../../Task/Merge-and-aggregate-datasets/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Metallic-ratios b/Lang/DuckDB/Metallic-ratios
new file mode 120000
index 0000000000..56fa981641
--- /dev/null
+++ b/Lang/DuckDB/Metallic-ratios
@@ -0,0 +1 @@
+../../Task/Metallic-ratios/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Middle-three-digits b/Lang/DuckDB/Middle-three-digits
new file mode 120000
index 0000000000..9c32c60a1c
--- /dev/null
+++ b/Lang/DuckDB/Middle-three-digits
@@ -0,0 +1 @@
+../../Task/Middle-three-digits/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Monte-Carlo-methods b/Lang/DuckDB/Monte-Carlo-methods
new file mode 120000
index 0000000000..f27be4f0e8
--- /dev/null
+++ b/Lang/DuckDB/Monte-Carlo-methods
@@ -0,0 +1 @@
+../../Task/Monte-Carlo-methods/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Nested-function b/Lang/DuckDB/Nested-function
new file mode 120000
index 0000000000..6ccb0c0029
--- /dev/null
+++ b/Lang/DuckDB/Nested-function
@@ -0,0 +1 @@
+../../Task/Nested-function/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Nth b/Lang/DuckDB/Nth
new file mode 120000
index 0000000000..6d1fd0295b
--- /dev/null
+++ b/Lang/DuckDB/Nth
@@ -0,0 +1 @@
+../../Task/Nth/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Nth-root b/Lang/DuckDB/Nth-root
new file mode 120000
index 0000000000..bdfee4887c
--- /dev/null
+++ b/Lang/DuckDB/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/One-of-n-lines-in-a-file b/Lang/DuckDB/One-of-n-lines-in-a-file
new file mode 120000
index 0000000000..84adf8bb46
--- /dev/null
+++ b/Lang/DuckDB/One-of-n-lines-in-a-file
@@ -0,0 +1 @@
+../../Task/One-of-n-lines-in-a-file/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Order-two-numerical-lists b/Lang/DuckDB/Order-two-numerical-lists
new file mode 120000
index 0000000000..fcd259b6c0
--- /dev/null
+++ b/Lang/DuckDB/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Ordered-words b/Lang/DuckDB/Ordered-words
new file mode 120000
index 0000000000..57d12d9c27
--- /dev/null
+++ b/Lang/DuckDB/Ordered-words
@@ -0,0 +1 @@
+../../Task/Ordered-words/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Palindrome-detection b/Lang/DuckDB/Palindrome-detection
new file mode 120000
index 0000000000..a318cb02ae
--- /dev/null
+++ b/Lang/DuckDB/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Parameterized-SQL-statement b/Lang/DuckDB/Parameterized-SQL-statement
new file mode 120000
index 0000000000..dded36b01b
--- /dev/null
+++ b/Lang/DuckDB/Parameterized-SQL-statement
@@ -0,0 +1 @@
+../../Task/Parameterized-SQL-statement/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Pascals-triangle b/Lang/DuckDB/Pascals-triangle
new file mode 120000
index 0000000000..e38a99fc2d
--- /dev/null
+++ b/Lang/DuckDB/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Permutations b/Lang/DuckDB/Permutations
new file mode 120000
index 0000000000..fa1198c6a6
--- /dev/null
+++ b/Lang/DuckDB/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Permutations-Derangements b/Lang/DuckDB/Permutations-Derangements
new file mode 120000
index 0000000000..b4140ee27e
--- /dev/null
+++ b/Lang/DuckDB/Permutations-Derangements
@@ -0,0 +1 @@
+../../Task/Permutations-Derangements/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Pick-random-element b/Lang/DuckDB/Pick-random-element
new file mode 120000
index 0000000000..4eec54c36e
--- /dev/null
+++ b/Lang/DuckDB/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Primality-by-trial-division b/Lang/DuckDB/Primality-by-trial-division
new file mode 120000
index 0000000000..8e9e10eb1a
--- /dev/null
+++ b/Lang/DuckDB/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Prime-decomposition b/Lang/DuckDB/Prime-decomposition
new file mode 120000
index 0000000000..dbb3b57727
--- /dev/null
+++ b/Lang/DuckDB/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Probabilistic-choice b/Lang/DuckDB/Probabilistic-choice
new file mode 120000
index 0000000000..caa9cf57ce
--- /dev/null
+++ b/Lang/DuckDB/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Proper-divisors b/Lang/DuckDB/Proper-divisors
new file mode 120000
index 0000000000..a8b8cf32ca
--- /dev/null
+++ b/Lang/DuckDB/Proper-divisors
@@ -0,0 +1 @@
+../../Task/Proper-divisors/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Pseudo-random-numbers-Middle-square-method b/Lang/DuckDB/Pseudo-random-numbers-Middle-square-method
new file mode 120000
index 0000000000..3424580b60
--- /dev/null
+++ b/Lang/DuckDB/Pseudo-random-numbers-Middle-square-method
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-Middle-square-method/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Random-numbers b/Lang/DuckDB/Random-numbers
new file mode 120000
index 0000000000..4e7ae21251
--- /dev/null
+++ b/Lang/DuckDB/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Range-expansion b/Lang/DuckDB/Range-expansion
new file mode 120000
index 0000000000..73f7852f3e
--- /dev/null
+++ b/Lang/DuckDB/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Range-extraction b/Lang/DuckDB/Range-extraction
new file mode 120000
index 0000000000..70b9fee7f2
--- /dev/null
+++ b/Lang/DuckDB/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Read-a-file-line-by-line b/Lang/DuckDB/Read-a-file-line-by-line
new file mode 120000
index 0000000000..5698cabe3f
--- /dev/null
+++ b/Lang/DuckDB/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Reflection-List-methods b/Lang/DuckDB/Reflection-List-methods
new file mode 120000
index 0000000000..e87f71ad29
--- /dev/null
+++ b/Lang/DuckDB/Reflection-List-methods
@@ -0,0 +1 @@
+../../Task/Reflection-List-methods/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Reflection-List-properties b/Lang/DuckDB/Reflection-List-properties
new file mode 120000
index 0000000000..61160f5035
--- /dev/null
+++ b/Lang/DuckDB/Reflection-List-properties
@@ -0,0 +1 @@
+../../Task/Reflection-List-properties/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Remove-duplicate-elements b/Lang/DuckDB/Remove-duplicate-elements
new file mode 120000
index 0000000000..e38927d88b
--- /dev/null
+++ b/Lang/DuckDB/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Rep-string b/Lang/DuckDB/Rep-string
new file mode 120000
index 0000000000..ce2543465d
--- /dev/null
+++ b/Lang/DuckDB/Rep-string
@@ -0,0 +1 @@
+../../Task/Rep-string/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Repeat-a-string b/Lang/DuckDB/Repeat-a-string
new file mode 120000
index 0000000000..126fb8a5a7
--- /dev/null
+++ b/Lang/DuckDB/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Return-multiple-values b/Lang/DuckDB/Return-multiple-values
new file mode 120000
index 0000000000..44885d997f
--- /dev/null
+++ b/Lang/DuckDB/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Reverse-a-string b/Lang/DuckDB/Reverse-a-string
new file mode 120000
index 0000000000..9c2fcefbbf
--- /dev/null
+++ b/Lang/DuckDB/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Roots-of-unity b/Lang/DuckDB/Roots-of-unity
new file mode 120000
index 0000000000..fbae972a1d
--- /dev/null
+++ b/Lang/DuckDB/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Run-length-encoding b/Lang/DuckDB/Run-length-encoding
new file mode 120000
index 0000000000..798b72b50c
--- /dev/null
+++ b/Lang/DuckDB/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Search-a-list-of-records b/Lang/DuckDB/Search-a-list-of-records
new file mode 120000
index 0000000000..8875d845bf
--- /dev/null
+++ b/Lang/DuckDB/Search-a-list-of-records
@@ -0,0 +1 @@
+../../Task/Search-a-list-of-records/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Set b/Lang/DuckDB/Set
new file mode 120000
index 0000000000..7e25aac634
--- /dev/null
+++ b/Lang/DuckDB/Set
@@ -0,0 +1 @@
+../../Task/Set/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Set-consolidation b/Lang/DuckDB/Set-consolidation
new file mode 120000
index 0000000000..46e9513ebb
--- /dev/null
+++ b/Lang/DuckDB/Set-consolidation
@@ -0,0 +1 @@
+../../Task/Set-consolidation/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Show-the-epoch b/Lang/DuckDB/Show-the-epoch
new file mode 120000
index 0000000000..6cd68764f9
--- /dev/null
+++ b/Lang/DuckDB/Show-the-epoch
@@ -0,0 +1 @@
+../../Task/Show-the-epoch/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Sieve-of-Eratosthenes b/Lang/DuckDB/Sieve-of-Eratosthenes
new file mode 120000
index 0000000000..ee6aa1fbd3
--- /dev/null
+++ b/Lang/DuckDB/Sieve-of-Eratosthenes
@@ -0,0 +1 @@
+../../Task/Sieve-of-Eratosthenes/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Sort-an-array-of-composite-structures b/Lang/DuckDB/Sort-an-array-of-composite-structures
new file mode 120000
index 0000000000..35612aed66
--- /dev/null
+++ b/Lang/DuckDB/Sort-an-array-of-composite-structures
@@ -0,0 +1 @@
+../../Task/Sort-an-array-of-composite-structures/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Sort-numbers-lexicographically b/Lang/DuckDB/Sort-numbers-lexicographically
new file mode 120000
index 0000000000..390860d685
--- /dev/null
+++ b/Lang/DuckDB/Sort-numbers-lexicographically
@@ -0,0 +1 @@
+../../Task/Sort-numbers-lexicographically/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Statistics-Basic b/Lang/DuckDB/Statistics-Basic
new file mode 120000
index 0000000000..c3caa99be7
--- /dev/null
+++ b/Lang/DuckDB/Statistics-Basic
@@ -0,0 +1 @@
+../../Task/Statistics-Basic/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/String-append b/Lang/DuckDB/String-append
new file mode 120000
index 0000000000..cc8ce5011e
--- /dev/null
+++ b/Lang/DuckDB/String-append
@@ -0,0 +1 @@
+../../Task/String-append/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/String-case b/Lang/DuckDB/String-case
new file mode 120000
index 0000000000..ab3478758f
--- /dev/null
+++ b/Lang/DuckDB/String-case
@@ -0,0 +1 @@
+../../Task/String-case/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/String-comparison b/Lang/DuckDB/String-comparison
new file mode 120000
index 0000000000..b7a7339e14
--- /dev/null
+++ b/Lang/DuckDB/String-comparison
@@ -0,0 +1 @@
+../../Task/String-comparison/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/String-interpolation-included- b/Lang/DuckDB/String-interpolation-included-
new file mode 120000
index 0000000000..807f8abec4
--- /dev/null
+++ b/Lang/DuckDB/String-interpolation-included-
@@ -0,0 +1 @@
+../../Task/String-interpolation-included-/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/String-length b/Lang/DuckDB/String-length
new file mode 120000
index 0000000000..f49078b058
--- /dev/null
+++ b/Lang/DuckDB/String-length
@@ -0,0 +1 @@
+../../Task/String-length/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/String-matching b/Lang/DuckDB/String-matching
new file mode 120000
index 0000000000..e3f7fa5300
--- /dev/null
+++ b/Lang/DuckDB/String-matching
@@ -0,0 +1 @@
+../../Task/String-matching/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/String-prepend b/Lang/DuckDB/String-prepend
new file mode 120000
index 0000000000..ea6f95610c
--- /dev/null
+++ b/Lang/DuckDB/String-prepend
@@ -0,0 +1 @@
+../../Task/String-prepend/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Strip-a-set-of-characters-from-a-string b/Lang/DuckDB/Strip-a-set-of-characters-from-a-string
new file mode 120000
index 0000000000..77ce9f900d
--- /dev/null
+++ b/Lang/DuckDB/Strip-a-set-of-characters-from-a-string
@@ -0,0 +1 @@
+../../Task/Strip-a-set-of-characters-from-a-string/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Strip-comments-from-a-string b/Lang/DuckDB/Strip-comments-from-a-string
new file mode 120000
index 0000000000..f58b2c006d
--- /dev/null
+++ b/Lang/DuckDB/Strip-comments-from-a-string
@@ -0,0 +1 @@
+../../Task/Strip-comments-from-a-string/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Strip-control-codes-and-extended-characters-from-a-string b/Lang/DuckDB/Strip-control-codes-and-extended-characters-from-a-string
new file mode 120000
index 0000000000..e3de3aa487
--- /dev/null
+++ b/Lang/DuckDB/Strip-control-codes-and-extended-characters-from-a-string
@@ -0,0 +1 @@
+../../Task/Strip-control-codes-and-extended-characters-from-a-string/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Strip-whitespace-from-a-string-Top-and-tail b/Lang/DuckDB/Strip-whitespace-from-a-string-Top-and-tail
new file mode 120000
index 0000000000..93405e661f
--- /dev/null
+++ b/Lang/DuckDB/Strip-whitespace-from-a-string-Top-and-tail
@@ -0,0 +1 @@
+../../Task/Strip-whitespace-from-a-string-Top-and-tail/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Substring b/Lang/DuckDB/Substring
new file mode 120000
index 0000000000..fe9daf5b9c
--- /dev/null
+++ b/Lang/DuckDB/Substring
@@ -0,0 +1 @@
+../../Task/Substring/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Sudoku b/Lang/DuckDB/Sudoku
new file mode 120000
index 0000000000..efc19532bb
--- /dev/null
+++ b/Lang/DuckDB/Sudoku
@@ -0,0 +1 @@
+../../Task/Sudoku/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Sum-and-product-of-an-array b/Lang/DuckDB/Sum-and-product-of-an-array
new file mode 120000
index 0000000000..9db07cfe55
--- /dev/null
+++ b/Lang/DuckDB/Sum-and-product-of-an-array
@@ -0,0 +1 @@
+../../Task/Sum-and-product-of-an-array/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Sum-digits-of-an-integer b/Lang/DuckDB/Sum-digits-of-an-integer
new file mode 120000
index 0000000000..2b4e9e5805
--- /dev/null
+++ b/Lang/DuckDB/Sum-digits-of-an-integer
@@ -0,0 +1 @@
+../../Task/Sum-digits-of-an-integer/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Sum-multiples-of-3-and-5 b/Lang/DuckDB/Sum-multiples-of-3-and-5
new file mode 120000
index 0000000000..06a19cefb7
--- /dev/null
+++ b/Lang/DuckDB/Sum-multiples-of-3-and-5
@@ -0,0 +1 @@
+../../Task/Sum-multiples-of-3-and-5/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Sum-of-a-series b/Lang/DuckDB/Sum-of-a-series
new file mode 120000
index 0000000000..db0f6f79c5
--- /dev/null
+++ b/Lang/DuckDB/Sum-of-a-series
@@ -0,0 +1 @@
+../../Task/Sum-of-a-series/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Sum-of-squares b/Lang/DuckDB/Sum-of-squares
new file mode 120000
index 0000000000..fe3d9a8a52
--- /dev/null
+++ b/Lang/DuckDB/Sum-of-squares
@@ -0,0 +1 @@
+../../Task/Sum-of-squares/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Symmetric-difference b/Lang/DuckDB/Symmetric-difference
new file mode 120000
index 0000000000..f254423d5f
--- /dev/null
+++ b/Lang/DuckDB/Symmetric-difference
@@ -0,0 +1 @@
+../../Task/Symmetric-difference/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Table-creation-Postal-addresses b/Lang/DuckDB/Table-creation-Postal-addresses
new file mode 120000
index 0000000000..174f03f886
--- /dev/null
+++ b/Lang/DuckDB/Table-creation-Postal-addresses
@@ -0,0 +1 @@
+../../Task/Table-creation-Postal-addresses/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Test-integerness b/Lang/DuckDB/Test-integerness
new file mode 120000
index 0000000000..0e9573c924
--- /dev/null
+++ b/Lang/DuckDB/Test-integerness
@@ -0,0 +1 @@
+../../Task/Test-integerness/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Text-processing-2 b/Lang/DuckDB/Text-processing-2
new file mode 120000
index 0000000000..b3c883d2ec
--- /dev/null
+++ b/Lang/DuckDB/Text-processing-2
@@ -0,0 +1 @@
+../../Task/Text-processing-2/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Thue-Morse b/Lang/DuckDB/Thue-Morse
new file mode 120000
index 0000000000..e14a41e488
--- /dev/null
+++ b/Lang/DuckDB/Thue-Morse
@@ -0,0 +1 @@
+../../Task/Thue-Morse/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Time-a-function b/Lang/DuckDB/Time-a-function
new file mode 120000
index 0000000000..d82a288f55
--- /dev/null
+++ b/Lang/DuckDB/Time-a-function
@@ -0,0 +1 @@
+../../Task/Time-a-function/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Tokenize-a-string b/Lang/DuckDB/Tokenize-a-string
new file mode 120000
index 0000000000..ee6d07a4b5
--- /dev/null
+++ b/Lang/DuckDB/Tokenize-a-string
@@ -0,0 +1 @@
+../../Task/Tokenize-a-string/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Top-rank-per-group b/Lang/DuckDB/Top-rank-per-group
new file mode 120000
index 0000000000..ada50a852c
--- /dev/null
+++ b/Lang/DuckDB/Top-rank-per-group
@@ -0,0 +1 @@
+../../Task/Top-rank-per-group/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Trigonometric-functions b/Lang/DuckDB/Trigonometric-functions
new file mode 120000
index 0000000000..58530b66ee
--- /dev/null
+++ b/Lang/DuckDB/Trigonometric-functions
@@ -0,0 +1 @@
+../../Task/Trigonometric-functions/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/URL-decoding b/Lang/DuckDB/URL-decoding
new file mode 120000
index 0000000000..c717460642
--- /dev/null
+++ b/Lang/DuckDB/URL-decoding
@@ -0,0 +1 @@
+../../Task/URL-decoding/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/UTF-8-encode-and-decode b/Lang/DuckDB/UTF-8-encode-and-decode
new file mode 120000
index 0000000000..792323a78c
--- /dev/null
+++ b/Lang/DuckDB/UTF-8-encode-and-decode
@@ -0,0 +1 @@
+../../Task/UTF-8-encode-and-decode/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Unix-ls b/Lang/DuckDB/Unix-ls
new file mode 120000
index 0000000000..85287a21f6
--- /dev/null
+++ b/Lang/DuckDB/Unix-ls
@@ -0,0 +1 @@
+../../Task/Unix-ls/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Variable-size-Get b/Lang/DuckDB/Variable-size-Get
new file mode 120000
index 0000000000..3cff7c631a
--- /dev/null
+++ b/Lang/DuckDB/Variable-size-Get
@@ -0,0 +1 @@
+../../Task/Variable-size-Get/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Variable-size-Set b/Lang/DuckDB/Variable-size-Set
new file mode 120000
index 0000000000..ee4a003cfa
--- /dev/null
+++ b/Lang/DuckDB/Variable-size-Set
@@ -0,0 +1 @@
+../../Task/Variable-size-Set/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Vector-products b/Lang/DuckDB/Vector-products
new file mode 120000
index 0000000000..3347aa5bba
--- /dev/null
+++ b/Lang/DuckDB/Vector-products
@@ -0,0 +1 @@
+../../Task/Vector-products/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Zero-to-the-zero-power b/Lang/DuckDB/Zero-to-the-zero-power
new file mode 120000
index 0000000000..7c7bac0f0b
--- /dev/null
+++ b/Lang/DuckDB/Zero-to-the-zero-power
@@ -0,0 +1 @@
+../../Task/Zero-to-the-zero-power/DuckDB
\ No newline at end of file
diff --git a/Lang/DuckDB/Zig-zag-matrix b/Lang/DuckDB/Zig-zag-matrix
new file mode 120000
index 0000000000..dee409f57f
--- /dev/null
+++ b/Lang/DuckDB/Zig-zag-matrix
@@ -0,0 +1 @@
+../../Task/Zig-zag-matrix/DuckDB
\ No newline at end of file
diff --git a/Lang/Dyalect/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/Dyalect/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/Dyalect/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/Dyalect/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/E/Miller-Rabin-primality-test b/Lang/E/Miller-Rabin-primality-test
deleted file mode 120000
index f586feb18b..0000000000
--- a/Lang/E/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/E
\ No newline at end of file
diff --git a/Lang/E/Quaternion-type b/Lang/E/Quaternion-type
deleted file mode 120000
index ecc55ca8a4..0000000000
--- a/Lang/E/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/E
\ No newline at end of file
diff --git a/Lang/EDSAC-order-code/Haversine-formula b/Lang/EDSAC-order-code/Haversine-formula
new file mode 120000
index 0000000000..0cab079f84
--- /dev/null
+++ b/Lang/EDSAC-order-code/Haversine-formula
@@ -0,0 +1 @@
+../../Task/Haversine-formula/EDSAC-order-code
\ No newline at end of file
diff --git a/Lang/EDSAC-order-code/Numerical-integration-Gauss-Legendre-Quadrature b/Lang/EDSAC-order-code/Numerical-integration-Gauss-Legendre-Quadrature
new file mode 120000
index 0000000000..f518a6e1fc
--- /dev/null
+++ b/Lang/EDSAC-order-code/Numerical-integration-Gauss-Legendre-Quadrature
@@ -0,0 +1 @@
+../../Task/Numerical-integration-Gauss-Legendre-Quadrature/EDSAC-order-code
\ No newline at end of file
diff --git a/Lang/EDSAC-order-code/Shoelace-formula-for-polygonal-area b/Lang/EDSAC-order-code/Shoelace-formula-for-polygonal-area
new file mode 120000
index 0000000000..fb3446e1bf
--- /dev/null
+++ b/Lang/EDSAC-order-code/Shoelace-formula-for-polygonal-area
@@ -0,0 +1 @@
+../../Task/Shoelace-formula-for-polygonal-area/EDSAC-order-code
\ No newline at end of file
diff --git a/Lang/EDSAC-order-code/Water-collected-between-towers b/Lang/EDSAC-order-code/Water-collected-between-towers
new file mode 120000
index 0000000000..7c9456760f
--- /dev/null
+++ b/Lang/EDSAC-order-code/Water-collected-between-towers
@@ -0,0 +1 @@
+../../Task/Water-collected-between-towers/EDSAC-order-code
\ No newline at end of file
diff --git a/Lang/EMal/00-LANG.txt b/Lang/EMal/00-LANG.txt
index 9ecf11d932..3af52fab5c 100644
--- a/Lang/EMal/00-LANG.txt
+++ b/Lang/EMal/00-LANG.txt
@@ -6,21 +6,23 @@
|site=https://emal-lang.sourceforge.io
|tags=emal
|gc=yes}}
-EMal is a prototyping programming language that supports english and italian syntax.
+EMal is a prototyping programming language that supports English and Italian syntax.
-EMal wants to be expressive and easy to read.
+EMal wants to be expressive and readable. It supports closures, classes, records; it's influenced by Java, Perl, Javascript.
-This is an example that, inside the same script, calculates F10 = 55 in english and in italian:
+The programming environment consists of an interpreter that directly navigates the AST produced by the parser.
+
+This is an example that, inside the same script, calculates F10 = 55 in English and in Italian:
type FibonacciInEnglish
-fun fibonacci = int by int n
+fun fibonacci ← int by int n
if n < 2 do return n
else do return fibonacci(n - 1) + fibonacci(n - 2)
end
end
writeLine(fibonacci(10))
tipo FibonacciInItaliano
-funzione fibonacci = intero da intero n
+funzione fibonacci ← intero da intero n
se n < 2
ritorna n
altrimenti
diff --git a/Lang/EMal/ABC-problem b/Lang/EMal/ABC-problem
new file mode 120000
index 0000000000..4b49dc2baf
--- /dev/null
+++ b/Lang/EMal/ABC-problem
@@ -0,0 +1 @@
+../../Task/ABC-problem/EMal
\ No newline at end of file
diff --git a/Lang/EMal/Babbage-problem b/Lang/EMal/Babbage-problem
new file mode 120000
index 0000000000..8a7db13311
--- /dev/null
+++ b/Lang/EMal/Babbage-problem
@@ -0,0 +1 @@
+../../Task/Babbage-problem/EMal
\ No newline at end of file
diff --git a/Lang/EMal/Bifid-cipher b/Lang/EMal/Bifid-cipher
new file mode 120000
index 0000000000..1dbee9fec8
--- /dev/null
+++ b/Lang/EMal/Bifid-cipher
@@ -0,0 +1 @@
+../../Task/Bifid-cipher/EMal
\ No newline at end of file
diff --git a/Lang/EMal/Delegates b/Lang/EMal/Delegates
new file mode 120000
index 0000000000..5293d68109
--- /dev/null
+++ b/Lang/EMal/Delegates
@@ -0,0 +1 @@
+../../Task/Delegates/EMal
\ No newline at end of file
diff --git a/Lang/EMal/Determine-if-a-string-is-squeezable b/Lang/EMal/Determine-if-a-string-is-squeezable
new file mode 120000
index 0000000000..27c56fc092
--- /dev/null
+++ b/Lang/EMal/Determine-if-a-string-is-squeezable
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-squeezable/EMal
\ No newline at end of file
diff --git a/Lang/EMal/Dynamic-variable-names b/Lang/EMal/Dynamic-variable-names
new file mode 120000
index 0000000000..28a70b20a1
--- /dev/null
+++ b/Lang/EMal/Dynamic-variable-names
@@ -0,0 +1 @@
+../../Task/Dynamic-variable-names/EMal
\ No newline at end of file
diff --git a/Lang/EMal/Gamma-function b/Lang/EMal/Gamma-function
new file mode 120000
index 0000000000..f928139952
--- /dev/null
+++ b/Lang/EMal/Gamma-function
@@ -0,0 +1 @@
+../../Task/Gamma-function/EMal
\ No newline at end of file
diff --git a/Lang/EMal/Greatest-common-divisor b/Lang/EMal/Greatest-common-divisor
new file mode 120000
index 0000000000..5a6de213e1
--- /dev/null
+++ b/Lang/EMal/Greatest-common-divisor
@@ -0,0 +1 @@
+../../Task/Greatest-common-divisor/EMal
\ No newline at end of file
diff --git a/Lang/EMal/Guess-the-number b/Lang/EMal/Guess-the-number
new file mode 120000
index 0000000000..fc6e3366e6
--- /dev/null
+++ b/Lang/EMal/Guess-the-number
@@ -0,0 +1 @@
+../../Task/Guess-the-number/EMal
\ No newline at end of file
diff --git a/Lang/EMal/Halt-and-catch-fire b/Lang/EMal/Halt-and-catch-fire
new file mode 120000
index 0000000000..63015fddfa
--- /dev/null
+++ b/Lang/EMal/Halt-and-catch-fire
@@ -0,0 +1 @@
+../../Task/Halt-and-catch-fire/EMal
\ No newline at end of file
diff --git a/Lang/EMal/Mutual-recursion b/Lang/EMal/Mutual-recursion
new file mode 120000
index 0000000000..cb3ebc8ca5
--- /dev/null
+++ b/Lang/EMal/Mutual-recursion
@@ -0,0 +1 @@
+../../Task/Mutual-recursion/EMal
\ No newline at end of file
diff --git a/Lang/EMal/Nth-root b/Lang/EMal/Nth-root
new file mode 120000
index 0000000000..58e1f9e30f
--- /dev/null
+++ b/Lang/EMal/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/EMal
\ No newline at end of file
diff --git a/Lang/EMal/Sorting-algorithms-Bogosort b/Lang/EMal/Sorting-algorithms-Bogosort
new file mode 120000
index 0000000000..8dc8cc02d3
--- /dev/null
+++ b/Lang/EMal/Sorting-algorithms-Bogosort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Bogosort/EMal
\ No newline at end of file
diff --git a/Lang/EMal/Sorting-algorithms-Bubble-sort b/Lang/EMal/Sorting-algorithms-Bubble-sort
new file mode 120000
index 0000000000..53f744e6e9
--- /dev/null
+++ b/Lang/EMal/Sorting-algorithms-Bubble-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Bubble-sort/EMal
\ No newline at end of file
diff --git a/Lang/EMal/Sorting-algorithms-Stooge-sort b/Lang/EMal/Sorting-algorithms-Stooge-sort
new file mode 120000
index 0000000000..05296c2a09
--- /dev/null
+++ b/Lang/EMal/Sorting-algorithms-Stooge-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Stooge-sort/EMal
\ No newline at end of file
diff --git a/Lang/EMal/String-comparison b/Lang/EMal/String-comparison
new file mode 120000
index 0000000000..02b430a538
--- /dev/null
+++ b/Lang/EMal/String-comparison
@@ -0,0 +1 @@
+../../Task/String-comparison/EMal
\ No newline at end of file
diff --git a/Lang/EMal/Sudan-function b/Lang/EMal/Sudan-function
new file mode 120000
index 0000000000..ea87f1432e
--- /dev/null
+++ b/Lang/EMal/Sudan-function
@@ -0,0 +1 @@
+../../Task/Sudan-function/EMal
\ No newline at end of file
diff --git a/Lang/EMal/Ternary-logic b/Lang/EMal/Ternary-logic
new file mode 120000
index 0000000000..837bedfab5
--- /dev/null
+++ b/Lang/EMal/Ternary-logic
@@ -0,0 +1 @@
+../../Task/Ternary-logic/EMal
\ No newline at end of file
diff --git a/Lang/EMal/Tree-traversal b/Lang/EMal/Tree-traversal
new file mode 120000
index 0000000000..b693d069a6
--- /dev/null
+++ b/Lang/EMal/Tree-traversal
@@ -0,0 +1 @@
+../../Task/Tree-traversal/EMal
\ No newline at end of file
diff --git a/Lang/EMal/User-input-Text b/Lang/EMal/User-input-Text
new file mode 120000
index 0000000000..3c00cf11ba
--- /dev/null
+++ b/Lang/EMal/User-input-Text
@@ -0,0 +1 @@
+../../Task/User-input-Text/EMal
\ No newline at end of file
diff --git a/Lang/EMal/Van-Eck-sequence b/Lang/EMal/Van-Eck-sequence
new file mode 120000
index 0000000000..45280862ec
--- /dev/null
+++ b/Lang/EMal/Van-Eck-sequence
@@ -0,0 +1 @@
+../../Task/Van-Eck-sequence/EMal
\ No newline at end of file
diff --git a/Lang/ERRE/Leonardo-numbers b/Lang/ERRE/Leonardo-numbers
new file mode 120000
index 0000000000..3e0d0050d1
--- /dev/null
+++ b/Lang/ERRE/Leonardo-numbers
@@ -0,0 +1 @@
+../../Task/Leonardo-numbers/ERRE
\ No newline at end of file
diff --git a/Lang/ERRE/Quaternion-type b/Lang/ERRE/Quaternion-type
deleted file mode 120000
index fcc1edb64e..0000000000
--- a/Lang/ERRE/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/ERRE
\ No newline at end of file
diff --git a/Lang/EasyLang/00-LANG.txt b/Lang/EasyLang/00-LANG.txt
index aa156f93c8..e09a925b83 100644
--- a/Lang/EasyLang/00-LANG.txt
+++ b/Lang/EasyLang/00-LANG.txt
@@ -1,19 +1,19 @@
{{language
|exec=interpreted
-|site=https://easylang.dev/
+|site=https://easylang.online/
|parampass=value, reference
|safety=safe
|express=explicit
|checking=static
|tags=learning, web canvas}}
-[https://easylang.dev/ide/ '''Browser IDE''']
+[https://easylang.online/ide/ '''Browser IDE''']
''Easylang'' is a (beginners) programming language with built-in commands for graphics output. The statically typed language has a reduced syntax and semantics. Variables do not have to be declared, the data type is encoded in the variable name - as was usual in the earlier home computer BASIC. The data types are strings and numbers (floating point), arrays of strings and numbers, and arrays of arrays. Arrays are 1-based and can grow. Programs compiled into an AST tree run in the browser or in the browser IDE.
-[https://easylang.dev/ide/ A browser IDE] with different tutorials, one for beginners, makes programming and learning to program as easy as possible.
+[https://easylang.online/ide/ A browser IDE] with different tutorials, one for beginners, makes programming and learning to program as easy as possible.
-The finished programs can be easily integrated into a [https://easylang.dev/apps/ website].
+The finished programs can be easily integrated into a [https://easylang.online/apps/ website].
==Todo==
[[Tasks not implemented in EasyLang]]
\ No newline at end of file
diff --git a/Lang/EasyLang/2048 b/Lang/EasyLang/2048
new file mode 120000
index 0000000000..4a69b16207
--- /dev/null
+++ b/Lang/EasyLang/2048
@@ -0,0 +1 @@
+../../Task/2048/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/24-game b/Lang/EasyLang/24-game
new file mode 120000
index 0000000000..85da2301e7
--- /dev/null
+++ b/Lang/EasyLang/24-game
@@ -0,0 +1 @@
+../../Task/24-game/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/9-billion-names-of-God-the-integer b/Lang/EasyLang/9-billion-names-of-God-the-integer
new file mode 120000
index 0000000000..eab904ccaa
--- /dev/null
+++ b/Lang/EasyLang/9-billion-names-of-God-the-integer
@@ -0,0 +1 @@
+../../Task/9-billion-names-of-God-the-integer/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/AKS-test-for-primes b/Lang/EasyLang/AKS-test-for-primes
new file mode 120000
index 0000000000..fb3fd809a4
--- /dev/null
+++ b/Lang/EasyLang/AKS-test-for-primes
@@ -0,0 +1 @@
+../../Task/AKS-test-for-primes/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Abbreviations-automatic b/Lang/EasyLang/Abbreviations-automatic
new file mode 120000
index 0000000000..10b2251691
--- /dev/null
+++ b/Lang/EasyLang/Abbreviations-automatic
@@ -0,0 +1 @@
+../../Task/Abbreviations-automatic/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Abbreviations-easy b/Lang/EasyLang/Abbreviations-easy
new file mode 120000
index 0000000000..9f43877f2b
--- /dev/null
+++ b/Lang/EasyLang/Abbreviations-easy
@@ -0,0 +1 @@
+../../Task/Abbreviations-easy/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Abbreviations-simple b/Lang/EasyLang/Abbreviations-simple
new file mode 120000
index 0000000000..53295111be
--- /dev/null
+++ b/Lang/EasyLang/Abbreviations-simple
@@ -0,0 +1 @@
+../../Task/Abbreviations-simple/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Abelian-sandpile-model b/Lang/EasyLang/Abelian-sandpile-model
new file mode 120000
index 0000000000..c97f3c3aa6
--- /dev/null
+++ b/Lang/EasyLang/Abelian-sandpile-model
@@ -0,0 +1 @@
+../../Task/Abelian-sandpile-model/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Abelian-sandpile-model-Identity b/Lang/EasyLang/Abelian-sandpile-model-Identity
new file mode 120000
index 0000000000..c44f8cb53d
--- /dev/null
+++ b/Lang/EasyLang/Abelian-sandpile-model-Identity
@@ -0,0 +1 @@
+../../Task/Abelian-sandpile-model-Identity/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Amb b/Lang/EasyLang/Amb
new file mode 120000
index 0000000000..cee73196db
--- /dev/null
+++ b/Lang/EasyLang/Amb
@@ -0,0 +1 @@
+../../Task/Amb/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Anagrams b/Lang/EasyLang/Anagrams
new file mode 120000
index 0000000000..1a48ded8aa
--- /dev/null
+++ b/Lang/EasyLang/Anagrams
@@ -0,0 +1 @@
+../../Task/Anagrams/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Anagrams-Deranged-anagrams b/Lang/EasyLang/Anagrams-Deranged-anagrams
new file mode 120000
index 0000000000..b7af47405b
--- /dev/null
+++ b/Lang/EasyLang/Anagrams-Deranged-anagrams
@@ -0,0 +1 @@
+../../Task/Anagrams-Deranged-anagrams/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Approximate-equality b/Lang/EasyLang/Approximate-equality
new file mode 120000
index 0000000000..916cbf0873
--- /dev/null
+++ b/Lang/EasyLang/Approximate-equality
@@ -0,0 +1 @@
+../../Task/Approximate-equality/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Arithmetic-Complex b/Lang/EasyLang/Arithmetic-Complex
new file mode 120000
index 0000000000..547a37cd78
--- /dev/null
+++ b/Lang/EasyLang/Arithmetic-Complex
@@ -0,0 +1 @@
+../../Task/Arithmetic-Complex/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Associative-array-Merging b/Lang/EasyLang/Associative-array-Merging
new file mode 120000
index 0000000000..efe48db36d
--- /dev/null
+++ b/Lang/EasyLang/Associative-array-Merging
@@ -0,0 +1 @@
+../../Task/Associative-array-Merging/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Babylonian-spiral b/Lang/EasyLang/Babylonian-spiral
new file mode 120000
index 0000000000..a141d2cd6b
--- /dev/null
+++ b/Lang/EasyLang/Babylonian-spiral
@@ -0,0 +1 @@
+../../Task/Babylonian-spiral/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Bioinformatics-Sequence-mutation b/Lang/EasyLang/Bioinformatics-Sequence-mutation
new file mode 120000
index 0000000000..6d30bfa11e
--- /dev/null
+++ b/Lang/EasyLang/Bioinformatics-Sequence-mutation
@@ -0,0 +1 @@
+../../Task/Bioinformatics-Sequence-mutation/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Bioinformatics-base-count b/Lang/EasyLang/Bioinformatics-base-count
deleted file mode 120000
index 3bc65db849..0000000000
--- a/Lang/EasyLang/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Bitmap-B-zier-curves-Quadratic b/Lang/EasyLang/Bitmap-B-zier-curves-Quadratic
new file mode 120000
index 0000000000..569a661356
--- /dev/null
+++ b/Lang/EasyLang/Bitmap-B-zier-curves-Quadratic
@@ -0,0 +1 @@
+../../Task/Bitmap-B-zier-curves-Quadratic/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Bitmap-Midpoint-circle-algorithm b/Lang/EasyLang/Bitmap-Midpoint-circle-algorithm
new file mode 120000
index 0000000000..9b995802ee
--- /dev/null
+++ b/Lang/EasyLang/Bitmap-Midpoint-circle-algorithm
@@ -0,0 +1 @@
+../../Task/Bitmap-Midpoint-circle-algorithm/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Boyer-Moore-string-search b/Lang/EasyLang/Boyer-Moore-string-search
new file mode 120000
index 0000000000..189112146a
--- /dev/null
+++ b/Lang/EasyLang/Boyer-Moore-string-search
@@ -0,0 +1 @@
+../../Task/Boyer-Moore-string-search/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Brace-expansion b/Lang/EasyLang/Brace-expansion
new file mode 120000
index 0000000000..fadaa7c96a
--- /dev/null
+++ b/Lang/EasyLang/Brace-expansion
@@ -0,0 +1 @@
+../../Task/Brace-expansion/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Bulls-and-cows-Player b/Lang/EasyLang/Bulls-and-cows-Player
new file mode 120000
index 0000000000..9e4aef5378
--- /dev/null
+++ b/Lang/EasyLang/Bulls-and-cows-Player
@@ -0,0 +1 @@
+../../Task/Bulls-and-cows-Player/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Burrows-Wheeler-transform b/Lang/EasyLang/Burrows-Wheeler-transform
new file mode 120000
index 0000000000..d3dcf6a651
--- /dev/null
+++ b/Lang/EasyLang/Burrows-Wheeler-transform
@@ -0,0 +1 @@
+../../Task/Burrows-Wheeler-transform/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/CRC-32 b/Lang/EasyLang/CRC-32
new file mode 120000
index 0000000000..75d250a063
--- /dev/null
+++ b/Lang/EasyLang/CRC-32
@@ -0,0 +1 @@
+../../Task/CRC-32/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Cheryls-birthday b/Lang/EasyLang/Cheryls-birthday
new file mode 120000
index 0000000000..da4092e3ea
--- /dev/null
+++ b/Lang/EasyLang/Cheryls-birthday
@@ -0,0 +1 @@
+../../Task/Cheryls-birthday/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Cholesky-decomposition b/Lang/EasyLang/Cholesky-decomposition
new file mode 120000
index 0000000000..3d9b8e35d4
--- /dev/null
+++ b/Lang/EasyLang/Cholesky-decomposition
@@ -0,0 +1 @@
+../../Task/Cholesky-decomposition/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Convert-decimal-number-to-rational b/Lang/EasyLang/Convert-decimal-number-to-rational
new file mode 120000
index 0000000000..d8af3c05f9
--- /dev/null
+++ b/Lang/EasyLang/Convert-decimal-number-to-rational
@@ -0,0 +1 @@
+../../Task/Convert-decimal-number-to-rational/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Currency b/Lang/EasyLang/Currency
new file mode 120000
index 0000000000..a42c848ea8
--- /dev/null
+++ b/Lang/EasyLang/Currency
@@ -0,0 +1 @@
+../../Task/Currency/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Date-format b/Lang/EasyLang/Date-format
new file mode 120000
index 0000000000..443f76ed6a
--- /dev/null
+++ b/Lang/EasyLang/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Death-Star b/Lang/EasyLang/Death-Star
new file mode 120000
index 0000000000..71ec2dde3d
--- /dev/null
+++ b/Lang/EasyLang/Death-Star
@@ -0,0 +1 @@
+../../Task/Death-Star/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Deconvolution-1D b/Lang/EasyLang/Deconvolution-1D
new file mode 120000
index 0000000000..7dba9ab208
--- /dev/null
+++ b/Lang/EasyLang/Deconvolution-1D
@@ -0,0 +1 @@
+../../Task/Deconvolution-1D/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Deepcopy b/Lang/EasyLang/Deepcopy
new file mode 120000
index 0000000000..4137c6d590
--- /dev/null
+++ b/Lang/EasyLang/Deepcopy
@@ -0,0 +1 @@
+../../Task/Deepcopy/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Determinant-and-permanent b/Lang/EasyLang/Determinant-and-permanent
new file mode 120000
index 0000000000..09ae422506
--- /dev/null
+++ b/Lang/EasyLang/Determinant-and-permanent
@@ -0,0 +1 @@
+../../Task/Determinant-and-permanent/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Distribution-of-0-digits-in-factorial-series b/Lang/EasyLang/Distribution-of-0-digits-in-factorial-series
new file mode 120000
index 0000000000..10532131de
--- /dev/null
+++ b/Lang/EasyLang/Distribution-of-0-digits-in-factorial-series
@@ -0,0 +1 @@
+../../Task/Distribution-of-0-digits-in-factorial-series/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Draw-a-sphere b/Lang/EasyLang/Draw-a-sphere
new file mode 120000
index 0000000000..4a92493ec5
--- /dev/null
+++ b/Lang/EasyLang/Draw-a-sphere
@@ -0,0 +1 @@
+../../Task/Draw-a-sphere/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/EKG-sequence-convergence b/Lang/EasyLang/EKG-sequence-convergence
new file mode 120000
index 0000000000..a5d661cade
--- /dev/null
+++ b/Lang/EasyLang/EKG-sequence-convergence
@@ -0,0 +1 @@
+../../Task/EKG-sequence-convergence/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Earliest-difference-between-prime-gaps b/Lang/EasyLang/Earliest-difference-between-prime-gaps
new file mode 120000
index 0000000000..e8abb13bc1
--- /dev/null
+++ b/Lang/EasyLang/Earliest-difference-between-prime-gaps
@@ -0,0 +1 @@
+../../Task/Earliest-difference-between-prime-gaps/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Element-wise-operations b/Lang/EasyLang/Element-wise-operations
new file mode 120000
index 0000000000..79d10fbb82
--- /dev/null
+++ b/Lang/EasyLang/Element-wise-operations
@@ -0,0 +1 @@
+../../Task/Element-wise-operations/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Elementary-cellular-automaton-Infinite-length b/Lang/EasyLang/Elementary-cellular-automaton-Infinite-length
new file mode 120000
index 0000000000..440a0e3168
--- /dev/null
+++ b/Lang/EasyLang/Elementary-cellular-automaton-Infinite-length
@@ -0,0 +1 @@
+../../Task/Elementary-cellular-automaton-Infinite-length/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Erd-s-Selfridge-categorization-of-primes b/Lang/EasyLang/Erd-s-Selfridge-categorization-of-primes
new file mode 120000
index 0000000000..a64dc7d4f0
--- /dev/null
+++ b/Lang/EasyLang/Erd-s-Selfridge-categorization-of-primes
@@ -0,0 +1 @@
+../../Task/Erd-s-Selfridge-categorization-of-primes/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Eulers-identity b/Lang/EasyLang/Eulers-identity
new file mode 120000
index 0000000000..6753a604ea
--- /dev/null
+++ b/Lang/EasyLang/Eulers-identity
@@ -0,0 +1 @@
+../../Task/Eulers-identity/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Factorions b/Lang/EasyLang/Factorions
new file mode 120000
index 0000000000..52bf4a578c
--- /dev/null
+++ b/Lang/EasyLang/Factorions
@@ -0,0 +1 @@
+../../Task/Factorions/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Fast-Fourier-transform b/Lang/EasyLang/Fast-Fourier-transform
new file mode 120000
index 0000000000..6486d41d10
--- /dev/null
+++ b/Lang/EasyLang/Fast-Fourier-transform
@@ -0,0 +1 @@
+../../Task/Fast-Fourier-transform/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Faulhabers-formula b/Lang/EasyLang/Faulhabers-formula
new file mode 120000
index 0000000000..a0587d4c22
--- /dev/null
+++ b/Lang/EasyLang/Faulhabers-formula
@@ -0,0 +1 @@
+../../Task/Faulhabers-formula/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Faulhabers-triangle b/Lang/EasyLang/Faulhabers-triangle
new file mode 120000
index 0000000000..0ced82832c
--- /dev/null
+++ b/Lang/EasyLang/Faulhabers-triangle
@@ -0,0 +1 @@
+../../Task/Faulhabers-triangle/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Fermat-numbers b/Lang/EasyLang/Fermat-numbers
new file mode 120000
index 0000000000..0bf9bf359c
--- /dev/null
+++ b/Lang/EasyLang/Fermat-numbers
@@ -0,0 +1 @@
+../../Task/Fermat-numbers/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Fibonacci-word-fractal b/Lang/EasyLang/Fibonacci-word-fractal
new file mode 120000
index 0000000000..d075c27d88
--- /dev/null
+++ b/Lang/EasyLang/Fibonacci-word-fractal
@@ -0,0 +1 @@
+../../Task/Fibonacci-word-fractal/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Find-Chess960-starting-position-identifier b/Lang/EasyLang/Find-Chess960-starting-position-identifier
new file mode 120000
index 0000000000..74db5136c0
--- /dev/null
+++ b/Lang/EasyLang/Find-Chess960-starting-position-identifier
@@ -0,0 +1 @@
+../../Task/Find-Chess960-starting-position-identifier/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Find-if-a-point-is-within-a-triangle b/Lang/EasyLang/Find-if-a-point-is-within-a-triangle
new file mode 120000
index 0000000000..cd1bb80075
--- /dev/null
+++ b/Lang/EasyLang/Find-if-a-point-is-within-a-triangle
@@ -0,0 +1 @@
+../../Task/Find-if-a-point-is-within-a-triangle/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Floyd-Warshall-algorithm b/Lang/EasyLang/Floyd-Warshall-algorithm
new file mode 120000
index 0000000000..3210a33bb1
--- /dev/null
+++ b/Lang/EasyLang/Floyd-Warshall-algorithm
@@ -0,0 +1 @@
+../../Task/Floyd-Warshall-algorithm/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Fortunate-numbers b/Lang/EasyLang/Fortunate-numbers
new file mode 120000
index 0000000000..2c6e02874b
--- /dev/null
+++ b/Lang/EasyLang/Fortunate-numbers
@@ -0,0 +1 @@
+../../Task/Fortunate-numbers/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Forward-difference b/Lang/EasyLang/Forward-difference
new file mode 120000
index 0000000000..12de7eedb0
--- /dev/null
+++ b/Lang/EasyLang/Forward-difference
@@ -0,0 +1 @@
+../../Task/Forward-difference/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Fraction-reduction b/Lang/EasyLang/Fraction-reduction
new file mode 120000
index 0000000000..61af524020
--- /dev/null
+++ b/Lang/EasyLang/Fraction-reduction
@@ -0,0 +1 @@
+../../Task/Fraction-reduction/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Fractran b/Lang/EasyLang/Fractran
new file mode 120000
index 0000000000..431453ab79
--- /dev/null
+++ b/Lang/EasyLang/Fractran
@@ -0,0 +1 @@
+../../Task/Fractran/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/French-Republican-calendar b/Lang/EasyLang/French-Republican-calendar
new file mode 120000
index 0000000000..63cacd897e
--- /dev/null
+++ b/Lang/EasyLang/French-Republican-calendar
@@ -0,0 +1 @@
+../../Task/French-Republican-calendar/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Function-prototype b/Lang/EasyLang/Function-prototype
new file mode 120000
index 0000000000..d56b3a5da3
--- /dev/null
+++ b/Lang/EasyLang/Function-prototype
@@ -0,0 +1 @@
+../../Task/Function-prototype/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Greatest-subsequential-sum b/Lang/EasyLang/Greatest-subsequential-sum
new file mode 120000
index 0000000000..679d3c6deb
--- /dev/null
+++ b/Lang/EasyLang/Greatest-subsequential-sum
@@ -0,0 +1 @@
+../../Task/Greatest-subsequential-sum/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Guess-the-number-With-feedback-player- b/Lang/EasyLang/Guess-the-number-With-feedback-player-
new file mode 120000
index 0000000000..56ad8fd02a
--- /dev/null
+++ b/Lang/EasyLang/Guess-the-number-With-feedback-player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback-player-/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Halt-and-catch-fire b/Lang/EasyLang/Halt-and-catch-fire
new file mode 120000
index 0000000000..fe61f64c40
--- /dev/null
+++ b/Lang/EasyLang/Halt-and-catch-fire
@@ -0,0 +1 @@
+../../Task/Halt-and-catch-fire/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Hamming-numbers b/Lang/EasyLang/Hamming-numbers
new file mode 120000
index 0000000000..6f52ef2c78
--- /dev/null
+++ b/Lang/EasyLang/Hamming-numbers
@@ -0,0 +1 @@
+../../Task/Hamming-numbers/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Hash-from-two-arrays b/Lang/EasyLang/Hash-from-two-arrays
new file mode 120000
index 0000000000..0d148a2df3
--- /dev/null
+++ b/Lang/EasyLang/Hash-from-two-arrays
@@ -0,0 +1 @@
+../../Task/Hash-from-two-arrays/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Heronian-triangles b/Lang/EasyLang/Heronian-triangles
new file mode 120000
index 0000000000..8656dc59f0
--- /dev/null
+++ b/Lang/EasyLang/Heronian-triangles
@@ -0,0 +1 @@
+../../Task/Heronian-triangles/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Hex-words b/Lang/EasyLang/Hex-words
new file mode 120000
index 0000000000..0d39e2eee9
--- /dev/null
+++ b/Lang/EasyLang/Hex-words
@@ -0,0 +1 @@
+../../Task/Hex-words/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Hofstadter-Figure-Figure-sequences b/Lang/EasyLang/Hofstadter-Figure-Figure-sequences
new file mode 120000
index 0000000000..d5a34b275d
--- /dev/null
+++ b/Lang/EasyLang/Hofstadter-Figure-Figure-sequences
@@ -0,0 +1 @@
+../../Task/Hofstadter-Figure-Figure-sequences/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Honeycombs b/Lang/EasyLang/Honeycombs
new file mode 120000
index 0000000000..5885102888
--- /dev/null
+++ b/Lang/EasyLang/Honeycombs
@@ -0,0 +1 @@
+../../Task/Honeycombs/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Hunt-the-Wumpus b/Lang/EasyLang/Hunt-the-Wumpus
new file mode 120000
index 0000000000..8a2489577d
--- /dev/null
+++ b/Lang/EasyLang/Hunt-the-Wumpus
@@ -0,0 +1 @@
+../../Task/Hunt-the-Wumpus/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/IBAN b/Lang/EasyLang/IBAN
new file mode 120000
index 0000000000..961014b963
--- /dev/null
+++ b/Lang/EasyLang/IBAN
@@ -0,0 +1 @@
+../../Task/IBAN/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Idiomatically-determine-all-the-characters-that-can-be-used-for-symbols b/Lang/EasyLang/Idiomatically-determine-all-the-characters-that-can-be-used-for-symbols
new file mode 120000
index 0000000000..ff1573925b
--- /dev/null
+++ b/Lang/EasyLang/Idiomatically-determine-all-the-characters-that-can-be-used-for-symbols
@@ -0,0 +1 @@
+../../Task/Idiomatically-determine-all-the-characters-that-can-be-used-for-symbols/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Im-a-software-engineer-get-me-out-of-here b/Lang/EasyLang/Im-a-software-engineer-get-me-out-of-here
new file mode 120000
index 0000000000..70ace224d9
--- /dev/null
+++ b/Lang/EasyLang/Im-a-software-engineer-get-me-out-of-here
@@ -0,0 +1 @@
+../../Task/Im-a-software-engineer-get-me-out-of-here/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Isograms-and-heterograms b/Lang/EasyLang/Isograms-and-heterograms
new file mode 120000
index 0000000000..44f53b57ff
--- /dev/null
+++ b/Lang/EasyLang/Isograms-and-heterograms
@@ -0,0 +1 @@
+../../Task/Isograms-and-heterograms/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Iterated-digits-squaring b/Lang/EasyLang/Iterated-digits-squaring
new file mode 120000
index 0000000000..193be9fcba
--- /dev/null
+++ b/Lang/EasyLang/Iterated-digits-squaring
@@ -0,0 +1 @@
+../../Task/Iterated-digits-squaring/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Jacobi-symbol b/Lang/EasyLang/Jacobi-symbol
new file mode 120000
index 0000000000..fec464ee0d
--- /dev/null
+++ b/Lang/EasyLang/Jacobi-symbol
@@ -0,0 +1 @@
+../../Task/Jacobi-symbol/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Jacobsthal-numbers b/Lang/EasyLang/Jacobsthal-numbers
new file mode 120000
index 0000000000..9469db92c2
--- /dev/null
+++ b/Lang/EasyLang/Jacobsthal-numbers
@@ -0,0 +1 @@
+../../Task/Jacobsthal-numbers/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Jaro-Winkler-distance b/Lang/EasyLang/Jaro-Winkler-distance
new file mode 120000
index 0000000000..727f74b880
--- /dev/null
+++ b/Lang/EasyLang/Jaro-Winkler-distance
@@ -0,0 +1 @@
+../../Task/Jaro-Winkler-distance/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Jaro-similarity b/Lang/EasyLang/Jaro-similarity
new file mode 120000
index 0000000000..d630573e8e
--- /dev/null
+++ b/Lang/EasyLang/Jaro-similarity
@@ -0,0 +1 @@
+../../Task/Jaro-similarity/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/JortSort b/Lang/EasyLang/JortSort
new file mode 120000
index 0000000000..69c9d425de
--- /dev/null
+++ b/Lang/EasyLang/JortSort
@@ -0,0 +1 @@
+../../Task/JortSort/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Juggler-sequence b/Lang/EasyLang/Juggler-sequence
new file mode 120000
index 0000000000..a501986168
--- /dev/null
+++ b/Lang/EasyLang/Juggler-sequence
@@ -0,0 +1 @@
+../../Task/Juggler-sequence/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/K-means++-clustering b/Lang/EasyLang/K-means++-clustering
new file mode 120000
index 0000000000..9c59e662f6
--- /dev/null
+++ b/Lang/EasyLang/K-means++-clustering
@@ -0,0 +1 @@
+../../Task/K-means++-clustering/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Kernighans-large-earthquake-problem b/Lang/EasyLang/Kernighans-large-earthquake-problem
new file mode 120000
index 0000000000..3ab1e4458e
--- /dev/null
+++ b/Lang/EasyLang/Kernighans-large-earthquake-problem
@@ -0,0 +1 @@
+../../Task/Kernighans-large-earthquake-problem/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Keyboard-input-Keypress-check b/Lang/EasyLang/Keyboard-input-Keypress-check
new file mode 120000
index 0000000000..749a963892
--- /dev/null
+++ b/Lang/EasyLang/Keyboard-input-Keypress-check
@@ -0,0 +1 @@
+../../Task/Keyboard-input-Keypress-check/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Keyboard-input-Obtain-a-Y-or-N-response b/Lang/EasyLang/Keyboard-input-Obtain-a-Y-or-N-response
new file mode 120000
index 0000000000..afc72ecd9d
--- /dev/null
+++ b/Lang/EasyLang/Keyboard-input-Obtain-a-Y-or-N-response
@@ -0,0 +1 @@
+../../Task/Keyboard-input-Obtain-a-Y-or-N-response/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Knapsack-problem-Bounded b/Lang/EasyLang/Knapsack-problem-Bounded
new file mode 120000
index 0000000000..d0f7a40df2
--- /dev/null
+++ b/Lang/EasyLang/Knapsack-problem-Bounded
@@ -0,0 +1 @@
+../../Task/Knapsack-problem-Bounded/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Knapsack-problem-Continuous b/Lang/EasyLang/Knapsack-problem-Continuous
new file mode 120000
index 0000000000..a54e4a1363
--- /dev/null
+++ b/Lang/EasyLang/Knapsack-problem-Continuous
@@ -0,0 +1 @@
+../../Task/Knapsack-problem-Continuous/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Knapsack-problem-Unbounded b/Lang/EasyLang/Knapsack-problem-Unbounded
new file mode 120000
index 0000000000..feaf22d24e
--- /dev/null
+++ b/Lang/EasyLang/Knapsack-problem-Unbounded
@@ -0,0 +1 @@
+../../Task/Knapsack-problem-Unbounded/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Knights-tour b/Lang/EasyLang/Knights-tour
new file mode 120000
index 0000000000..c3c72273c2
--- /dev/null
+++ b/Lang/EasyLang/Knights-tour
@@ -0,0 +1 @@
+../../Task/Knights-tour/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Kolakoski-sequence b/Lang/EasyLang/Kolakoski-sequence
new file mode 120000
index 0000000000..0d808caea4
--- /dev/null
+++ b/Lang/EasyLang/Kolakoski-sequence
@@ -0,0 +1 @@
+../../Task/Kolakoski-sequence/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Kosaraju b/Lang/EasyLang/Kosaraju
new file mode 120000
index 0000000000..84b9e66a67
--- /dev/null
+++ b/Lang/EasyLang/Kosaraju
@@ -0,0 +1 @@
+../../Task/Kosaraju/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Kronecker-product b/Lang/EasyLang/Kronecker-product
new file mode 120000
index 0000000000..1246c0ce28
--- /dev/null
+++ b/Lang/EasyLang/Kronecker-product
@@ -0,0 +1 @@
+../../Task/Kronecker-product/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Kronecker-product-based-fractals b/Lang/EasyLang/Kronecker-product-based-fractals
new file mode 120000
index 0000000000..563af0ba71
--- /dev/null
+++ b/Lang/EasyLang/Kronecker-product-based-fractals
@@ -0,0 +1 @@
+../../Task/Kronecker-product-based-fractals/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/LU-decomposition b/Lang/EasyLang/LU-decomposition
new file mode 120000
index 0000000000..b8f8a0d85a
--- /dev/null
+++ b/Lang/EasyLang/LU-decomposition
@@ -0,0 +1 @@
+../../Task/LU-decomposition/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Largest-int-from-concatenated-ints b/Lang/EasyLang/Largest-int-from-concatenated-ints
new file mode 120000
index 0000000000..10e1335e8a
--- /dev/null
+++ b/Lang/EasyLang/Largest-int-from-concatenated-ints
@@ -0,0 +1 @@
+../../Task/Largest-int-from-concatenated-ints/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Last-letter-first-letter b/Lang/EasyLang/Last-letter-first-letter
new file mode 120000
index 0000000000..0b195a1260
--- /dev/null
+++ b/Lang/EasyLang/Last-letter-first-letter
@@ -0,0 +1 @@
+../../Task/Last-letter-first-letter/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Law-of-cosines---triples b/Lang/EasyLang/Law-of-cosines---triples
new file mode 120000
index 0000000000..c863a3f9c0
--- /dev/null
+++ b/Lang/EasyLang/Law-of-cosines---triples
@@ -0,0 +1 @@
+../../Task/Law-of-cosines---triples/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Left-factorials b/Lang/EasyLang/Left-factorials
new file mode 120000
index 0000000000..99571138e4
--- /dev/null
+++ b/Lang/EasyLang/Left-factorials
@@ -0,0 +1 @@
+../../Task/Left-factorials/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Legendre-prime-counting-function b/Lang/EasyLang/Legendre-prime-counting-function
new file mode 120000
index 0000000000..4b5478a288
--- /dev/null
+++ b/Lang/EasyLang/Legendre-prime-counting-function
@@ -0,0 +1 @@
+../../Task/Legendre-prime-counting-function/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/List-rooted-trees b/Lang/EasyLang/List-rooted-trees
new file mode 120000
index 0000000000..14cdfaa5a6
--- /dev/null
+++ b/Lang/EasyLang/List-rooted-trees
@@ -0,0 +1 @@
+../../Task/List-rooted-trees/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Logistic-curve-fitting-in-epidemiology b/Lang/EasyLang/Logistic-curve-fitting-in-epidemiology
new file mode 120000
index 0000000000..265f7cdf24
--- /dev/null
+++ b/Lang/EasyLang/Logistic-curve-fitting-in-epidemiology
@@ -0,0 +1 @@
+../../Task/Logistic-curve-fitting-in-epidemiology/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Long-literals-with-continuations b/Lang/EasyLang/Long-literals-with-continuations
new file mode 120000
index 0000000000..ffe5aa4238
--- /dev/null
+++ b/Lang/EasyLang/Long-literals-with-continuations
@@ -0,0 +1 @@
+../../Task/Long-literals-with-continuations/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Longest-increasing-subsequence b/Lang/EasyLang/Longest-increasing-subsequence
new file mode 120000
index 0000000000..eabf95f750
--- /dev/null
+++ b/Lang/EasyLang/Longest-increasing-subsequence
@@ -0,0 +1 @@
+../../Task/Longest-increasing-subsequence/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Loops-Wrong-ranges b/Lang/EasyLang/Loops-Wrong-ranges
new file mode 120000
index 0000000000..d803a36357
--- /dev/null
+++ b/Lang/EasyLang/Loops-Wrong-ranges
@@ -0,0 +1 @@
+../../Task/Loops-Wrong-ranges/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Ludic-numbers b/Lang/EasyLang/Ludic-numbers
new file mode 120000
index 0000000000..1d6fc2e015
--- /dev/null
+++ b/Lang/EasyLang/Ludic-numbers
@@ -0,0 +1 @@
+../../Task/Ludic-numbers/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Lychrel-numbers b/Lang/EasyLang/Lychrel-numbers
new file mode 120000
index 0000000000..a66932caaa
--- /dev/null
+++ b/Lang/EasyLang/Lychrel-numbers
@@ -0,0 +1 @@
+../../Task/Lychrel-numbers/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/MD4 b/Lang/EasyLang/MD4
new file mode 120000
index 0000000000..607e4d2f65
--- /dev/null
+++ b/Lang/EasyLang/MD4
@@ -0,0 +1 @@
+../../Task/MD4/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Mad-Libs b/Lang/EasyLang/Mad-Libs
new file mode 120000
index 0000000000..80e4f5b2e7
--- /dev/null
+++ b/Lang/EasyLang/Mad-Libs
@@ -0,0 +1 @@
+../../Task/Mad-Libs/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Magic-squares-of-doubly-even-order b/Lang/EasyLang/Magic-squares-of-doubly-even-order
new file mode 120000
index 0000000000..b5f41f3cca
--- /dev/null
+++ b/Lang/EasyLang/Magic-squares-of-doubly-even-order
@@ -0,0 +1 @@
+../../Task/Magic-squares-of-doubly-even-order/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Magic-squares-of-singly-even-order b/Lang/EasyLang/Magic-squares-of-singly-even-order
new file mode 120000
index 0000000000..bffad4e9d9
--- /dev/null
+++ b/Lang/EasyLang/Magic-squares-of-singly-even-order
@@ -0,0 +1 @@
+../../Task/Magic-squares-of-singly-even-order/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Map-range b/Lang/EasyLang/Map-range
new file mode 120000
index 0000000000..7f2fe886c3
--- /dev/null
+++ b/Lang/EasyLang/Map-range
@@ -0,0 +1 @@
+../../Task/Map-range/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Matrix-chain-multiplication b/Lang/EasyLang/Matrix-chain-multiplication
new file mode 120000
index 0000000000..49b2582836
--- /dev/null
+++ b/Lang/EasyLang/Matrix-chain-multiplication
@@ -0,0 +1 @@
+../../Task/Matrix-chain-multiplication/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Matrix-exponentiation-operator b/Lang/EasyLang/Matrix-exponentiation-operator
new file mode 120000
index 0000000000..ffeb77ddad
--- /dev/null
+++ b/Lang/EasyLang/Matrix-exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Matrix-exponentiation-operator/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Mayan-numerals b/Lang/EasyLang/Mayan-numerals
new file mode 120000
index 0000000000..101692428a
--- /dev/null
+++ b/Lang/EasyLang/Mayan-numerals
@@ -0,0 +1 @@
+../../Task/Mayan-numerals/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Meissel-Mertens-constant b/Lang/EasyLang/Meissel-Mertens-constant
deleted file mode 120000
index 2673a3a653..0000000000
--- a/Lang/EasyLang/Meissel-Mertens-constant
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Meissel-Mertens-constant/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Merge-and-aggregate-datasets b/Lang/EasyLang/Merge-and-aggregate-datasets
new file mode 120000
index 0000000000..4240a68719
--- /dev/null
+++ b/Lang/EasyLang/Merge-and-aggregate-datasets
@@ -0,0 +1 @@
+../../Task/Merge-and-aggregate-datasets/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Mian-Chowla-sequence b/Lang/EasyLang/Mian-Chowla-sequence
new file mode 120000
index 0000000000..314aaad4b1
--- /dev/null
+++ b/Lang/EasyLang/Mian-Chowla-sequence
@@ -0,0 +1 @@
+../../Task/Mian-Chowla-sequence/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Minkowski-question-mark-function b/Lang/EasyLang/Minkowski-question-mark-function
new file mode 120000
index 0000000000..e4df814cca
--- /dev/null
+++ b/Lang/EasyLang/Minkowski-question-mark-function
@@ -0,0 +1 @@
+../../Task/Minkowski-question-mark-function/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Modified-random-distribution b/Lang/EasyLang/Modified-random-distribution
new file mode 120000
index 0000000000..127bc0bcb6
--- /dev/null
+++ b/Lang/EasyLang/Modified-random-distribution
@@ -0,0 +1 @@
+../../Task/Modified-random-distribution/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Modular-exponentiation b/Lang/EasyLang/Modular-exponentiation
new file mode 120000
index 0000000000..7257cc430f
--- /dev/null
+++ b/Lang/EasyLang/Modular-exponentiation
@@ -0,0 +1 @@
+../../Task/Modular-exponentiation/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Move-to-front-algorithm b/Lang/EasyLang/Move-to-front-algorithm
new file mode 120000
index 0000000000..8c3f8fe7f9
--- /dev/null
+++ b/Lang/EasyLang/Move-to-front-algorithm
@@ -0,0 +1 @@
+../../Task/Move-to-front-algorithm/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Multi-base-primes b/Lang/EasyLang/Multi-base-primes
new file mode 120000
index 0000000000..0b06b01c9e
--- /dev/null
+++ b/Lang/EasyLang/Multi-base-primes
@@ -0,0 +1 @@
+../../Task/Multi-base-primes/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Multisplit b/Lang/EasyLang/Multisplit
new file mode 120000
index 0000000000..3f480eaeea
--- /dev/null
+++ b/Lang/EasyLang/Multisplit
@@ -0,0 +1 @@
+../../Task/Multisplit/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Negative-base-numbers b/Lang/EasyLang/Negative-base-numbers
new file mode 120000
index 0000000000..750b2fa4de
--- /dev/null
+++ b/Lang/EasyLang/Negative-base-numbers
@@ -0,0 +1 @@
+../../Task/Negative-base-numbers/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Nested-function b/Lang/EasyLang/Nested-function
new file mode 120000
index 0000000000..3d6f80739f
--- /dev/null
+++ b/Lang/EasyLang/Nested-function
@@ -0,0 +1 @@
+../../Task/Nested-function/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Non-continuous-subsequences b/Lang/EasyLang/Non-continuous-subsequences
new file mode 120000
index 0000000000..1ddebfbef7
--- /dev/null
+++ b/Lang/EasyLang/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Non-decimal-radices-Input b/Lang/EasyLang/Non-decimal-radices-Input
new file mode 120000
index 0000000000..15845b7041
--- /dev/null
+++ b/Lang/EasyLang/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Nonoblock b/Lang/EasyLang/Nonoblock
new file mode 120000
index 0000000000..e2c27bd166
--- /dev/null
+++ b/Lang/EasyLang/Nonoblock
@@ -0,0 +1 @@
+../../Task/Nonoblock/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Number-reversal-game b/Lang/EasyLang/Number-reversal-game
new file mode 120000
index 0000000000..a55399f2e0
--- /dev/null
+++ b/Lang/EasyLang/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Order-by-pair-comparisons b/Lang/EasyLang/Order-by-pair-comparisons
new file mode 120000
index 0000000000..78fc8f28e3
--- /dev/null
+++ b/Lang/EasyLang/Order-by-pair-comparisons
@@ -0,0 +1 @@
+../../Task/Order-by-pair-comparisons/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Order-disjoint-list-items b/Lang/EasyLang/Order-disjoint-list-items
new file mode 120000
index 0000000000..bd0f2b89f9
--- /dev/null
+++ b/Lang/EasyLang/Order-disjoint-list-items
@@ -0,0 +1 @@
+../../Task/Order-disjoint-list-items/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Ordered-words b/Lang/EasyLang/Ordered-words
new file mode 120000
index 0000000000..284c4e7df2
--- /dev/null
+++ b/Lang/EasyLang/Ordered-words
@@ -0,0 +1 @@
+../../Task/Ordered-words/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Paraffins b/Lang/EasyLang/Paraffins
new file mode 120000
index 0000000000..954e9b549e
--- /dev/null
+++ b/Lang/EasyLang/Paraffins
@@ -0,0 +1 @@
+../../Task/Paraffins/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Parsing-RPN-calculator-algorithm b/Lang/EasyLang/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..4c308dc876
--- /dev/null
+++ b/Lang/EasyLang/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Partition-an-integer-x-into-n-primes b/Lang/EasyLang/Partition-an-integer-x-into-n-primes
new file mode 120000
index 0000000000..21cc93eeed
--- /dev/null
+++ b/Lang/EasyLang/Partition-an-integer-x-into-n-primes
@@ -0,0 +1 @@
+../../Task/Partition-an-integer-x-into-n-primes/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Partition-function-P b/Lang/EasyLang/Partition-function-P
new file mode 120000
index 0000000000..07b0e608d7
--- /dev/null
+++ b/Lang/EasyLang/Partition-function-P
@@ -0,0 +1 @@
+../../Task/Partition-function-P/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Pascal-matrix-generation b/Lang/EasyLang/Pascal-matrix-generation
new file mode 120000
index 0000000000..2a45a12baf
--- /dev/null
+++ b/Lang/EasyLang/Pascal-matrix-generation
@@ -0,0 +1 @@
+../../Task/Pascal-matrix-generation/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Pascals-triangle-Puzzle b/Lang/EasyLang/Pascals-triangle-Puzzle
new file mode 120000
index 0000000000..bb3b35817e
--- /dev/null
+++ b/Lang/EasyLang/Pascals-triangle-Puzzle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle-Puzzle/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Password-generator b/Lang/EasyLang/Password-generator
new file mode 120000
index 0000000000..004d74f550
--- /dev/null
+++ b/Lang/EasyLang/Password-generator
@@ -0,0 +1 @@
+../../Task/Password-generator/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Pathological-floating-point-problems b/Lang/EasyLang/Pathological-floating-point-problems
new file mode 120000
index 0000000000..feb17cf372
--- /dev/null
+++ b/Lang/EasyLang/Pathological-floating-point-problems
@@ -0,0 +1 @@
+../../Task/Pathological-floating-point-problems/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Penneys-game b/Lang/EasyLang/Penneys-game
new file mode 120000
index 0000000000..8a534b3c6f
--- /dev/null
+++ b/Lang/EasyLang/Penneys-game
@@ -0,0 +1 @@
+../../Task/Penneys-game/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Percolation-Mean-cluster-density b/Lang/EasyLang/Percolation-Mean-cluster-density
new file mode 120000
index 0000000000..5231594fc4
--- /dev/null
+++ b/Lang/EasyLang/Percolation-Mean-cluster-density
@@ -0,0 +1 @@
+../../Task/Percolation-Mean-cluster-density/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Percolation-Site-percolation b/Lang/EasyLang/Percolation-Site-percolation
new file mode 120000
index 0000000000..50ffe015c4
--- /dev/null
+++ b/Lang/EasyLang/Percolation-Site-percolation
@@ -0,0 +1 @@
+../../Task/Percolation-Site-percolation/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Peripheral-drift-illusion b/Lang/EasyLang/Peripheral-drift-illusion
new file mode 120000
index 0000000000..6922becd71
--- /dev/null
+++ b/Lang/EasyLang/Peripheral-drift-illusion
@@ -0,0 +1 @@
+../../Task/Peripheral-drift-illusion/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Permutation-test b/Lang/EasyLang/Permutation-test
new file mode 120000
index 0000000000..d3b1950f7a
--- /dev/null
+++ b/Lang/EasyLang/Permutation-test
@@ -0,0 +1 @@
+../../Task/Permutation-test/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Permutations-Rank-of-a-permutation b/Lang/EasyLang/Permutations-Rank-of-a-permutation
new file mode 120000
index 0000000000..0512aed3af
--- /dev/null
+++ b/Lang/EasyLang/Permutations-Rank-of-a-permutation
@@ -0,0 +1 @@
+../../Task/Permutations-Rank-of-a-permutation/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Phrase-reversals b/Lang/EasyLang/Phrase-reversals
new file mode 120000
index 0000000000..3631697399
--- /dev/null
+++ b/Lang/EasyLang/Phrase-reversals
@@ -0,0 +1 @@
+../../Task/Phrase-reversals/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Pierpont-primes b/Lang/EasyLang/Pierpont-primes
new file mode 120000
index 0000000000..6e3e44c04c
--- /dev/null
+++ b/Lang/EasyLang/Pierpont-primes
@@ -0,0 +1 @@
+../../Task/Pierpont-primes/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Pinstripe-Display b/Lang/EasyLang/Pinstripe-Display
new file mode 120000
index 0000000000..db25917458
--- /dev/null
+++ b/Lang/EasyLang/Pinstripe-Display
@@ -0,0 +1 @@
+../../Task/Pinstripe-Display/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Plasma-effect b/Lang/EasyLang/Plasma-effect
new file mode 120000
index 0000000000..5f845f7e61
--- /dev/null
+++ b/Lang/EasyLang/Plasma-effect
@@ -0,0 +1 @@
+../../Task/Plasma-effect/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Playfair-cipher b/Lang/EasyLang/Playfair-cipher
new file mode 120000
index 0000000000..3d1568669f
--- /dev/null
+++ b/Lang/EasyLang/Playfair-cipher
@@ -0,0 +1 @@
+../../Task/Playfair-cipher/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Poker-hand-analyser b/Lang/EasyLang/Poker-hand-analyser
new file mode 120000
index 0000000000..0d36d9a0f9
--- /dev/null
+++ b/Lang/EasyLang/Poker-hand-analyser
@@ -0,0 +1 @@
+../../Task/Poker-hand-analyser/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Polynomial-long-division b/Lang/EasyLang/Polynomial-long-division
new file mode 120000
index 0000000000..b22845819d
--- /dev/null
+++ b/Lang/EasyLang/Polynomial-long-division
@@ -0,0 +1 @@
+../../Task/Polynomial-long-division/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Prime-numbers-whose-neighboring-pairs-are-tetraprimes b/Lang/EasyLang/Prime-numbers-whose-neighboring-pairs-are-tetraprimes
new file mode 120000
index 0000000000..deadbe682f
--- /dev/null
+++ b/Lang/EasyLang/Prime-numbers-whose-neighboring-pairs-are-tetraprimes
@@ -0,0 +1 @@
+../../Task/Prime-numbers-whose-neighboring-pairs-are-tetraprimes/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Prime-triangle b/Lang/EasyLang/Prime-triangle
new file mode 120000
index 0000000000..1d703d33b5
--- /dev/null
+++ b/Lang/EasyLang/Prime-triangle
@@ -0,0 +1 @@
+../../Task/Prime-triangle/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Primes---allocate-descendants-to-their-ancestors b/Lang/EasyLang/Primes---allocate-descendants-to-their-ancestors
new file mode 120000
index 0000000000..c5cfa0147b
--- /dev/null
+++ b/Lang/EasyLang/Primes---allocate-descendants-to-their-ancestors
@@ -0,0 +1 @@
+../../Task/Primes---allocate-descendants-to-their-ancestors/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Primorial-numbers b/Lang/EasyLang/Primorial-numbers
new file mode 120000
index 0000000000..d0a4900284
--- /dev/null
+++ b/Lang/EasyLang/Primorial-numbers
@@ -0,0 +1 @@
+../../Task/Primorial-numbers/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Pseudo-random-numbers-Combined-recursive-generator-MRG32k3a b/Lang/EasyLang/Pseudo-random-numbers-Combined-recursive-generator-MRG32k3a
new file mode 120000
index 0000000000..4f4d220e94
--- /dev/null
+++ b/Lang/EasyLang/Pseudo-random-numbers-Combined-recursive-generator-MRG32k3a
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-Combined-recursive-generator-MRG32k3a/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Pythagorean-quadruples b/Lang/EasyLang/Pythagorean-quadruples
new file mode 120000
index 0000000000..63bc250851
--- /dev/null
+++ b/Lang/EasyLang/Pythagorean-quadruples
@@ -0,0 +1 @@
+../../Task/Pythagorean-quadruples/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Quaternion-type b/Lang/EasyLang/Quaternion-type
deleted file mode 120000
index fd590dabb6..0000000000
--- a/Lang/EasyLang/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Quoting-constructs b/Lang/EasyLang/Quoting-constructs
new file mode 120000
index 0000000000..4d929963d4
--- /dev/null
+++ b/Lang/EasyLang/Quoting-constructs
@@ -0,0 +1 @@
+../../Task/Quoting-constructs/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/RIPEMD-160 b/Lang/EasyLang/RIPEMD-160
new file mode 120000
index 0000000000..c7b5193d17
--- /dev/null
+++ b/Lang/EasyLang/RIPEMD-160
@@ -0,0 +1 @@
+../../Task/RIPEMD-160/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/RSA-code b/Lang/EasyLang/RSA-code
new file mode 120000
index 0000000000..ab0c3fd0ae
--- /dev/null
+++ b/Lang/EasyLang/RSA-code
@@ -0,0 +1 @@
+../../Task/RSA-code/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Range-consolidation b/Lang/EasyLang/Range-consolidation
new file mode 120000
index 0000000000..2af9d87ce4
--- /dev/null
+++ b/Lang/EasyLang/Range-consolidation
@@ -0,0 +1 @@
+../../Task/Range-consolidation/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Range-expansion b/Lang/EasyLang/Range-expansion
new file mode 120000
index 0000000000..b1e04fdc47
--- /dev/null
+++ b/Lang/EasyLang/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Ranking-methods b/Lang/EasyLang/Ranking-methods
new file mode 120000
index 0000000000..7f1b7f2c09
--- /dev/null
+++ b/Lang/EasyLang/Ranking-methods
@@ -0,0 +1 @@
+../../Task/Ranking-methods/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Read-a-specific-line-from-a-file b/Lang/EasyLang/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..d7d3ddb462
--- /dev/null
+++ b/Lang/EasyLang/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Resistor-mesh b/Lang/EasyLang/Resistor-mesh
new file mode 120000
index 0000000000..7e1b48a0ca
--- /dev/null
+++ b/Lang/EasyLang/Resistor-mesh
@@ -0,0 +1 @@
+../../Task/Resistor-mesh/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Rhonda-numbers b/Lang/EasyLang/Rhonda-numbers
new file mode 120000
index 0000000000..5ec2f03aee
--- /dev/null
+++ b/Lang/EasyLang/Rhonda-numbers
@@ -0,0 +1 @@
+../../Task/Rhonda-numbers/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Rock-paper-scissors b/Lang/EasyLang/Rock-paper-scissors
new file mode 120000
index 0000000000..f5bc56ac98
--- /dev/null
+++ b/Lang/EasyLang/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Ruth-Aaron-numbers b/Lang/EasyLang/Ruth-Aaron-numbers
new file mode 120000
index 0000000000..8c50b35963
--- /dev/null
+++ b/Lang/EasyLang/Ruth-Aaron-numbers
@@ -0,0 +1 @@
+../../Task/Ruth-Aaron-numbers/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/SHA-1 b/Lang/EasyLang/SHA-1
new file mode 120000
index 0000000000..85ee6bdeff
--- /dev/null
+++ b/Lang/EasyLang/SHA-1
@@ -0,0 +1 @@
+../../Task/SHA-1/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/SHA-256 b/Lang/EasyLang/SHA-256
new file mode 120000
index 0000000000..90c60df38f
--- /dev/null
+++ b/Lang/EasyLang/SHA-256
@@ -0,0 +1 @@
+../../Task/SHA-256/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Sailors-coconuts-and-a-monkey-problem b/Lang/EasyLang/Sailors-coconuts-and-a-monkey-problem
new file mode 120000
index 0000000000..13c2416787
--- /dev/null
+++ b/Lang/EasyLang/Sailors-coconuts-and-a-monkey-problem
@@ -0,0 +1 @@
+../../Task/Sailors-coconuts-and-a-monkey-problem/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Scope-Function-names-and-labels b/Lang/EasyLang/Scope-Function-names-and-labels
new file mode 120000
index 0000000000..159b6679bd
--- /dev/null
+++ b/Lang/EasyLang/Scope-Function-names-and-labels
@@ -0,0 +1 @@
+../../Task/Scope-Function-names-and-labels/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Selectively-replace-multiple-instances-of-a-character-within-a-string b/Lang/EasyLang/Selectively-replace-multiple-instances-of-a-character-within-a-string
new file mode 120000
index 0000000000..c9738f521a
--- /dev/null
+++ b/Lang/EasyLang/Selectively-replace-multiple-instances-of-a-character-within-a-string
@@ -0,0 +1 @@
+../../Task/Selectively-replace-multiple-instances-of-a-character-within-a-string/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Self-numbers b/Lang/EasyLang/Self-numbers
new file mode 120000
index 0000000000..219b2abf44
--- /dev/null
+++ b/Lang/EasyLang/Self-numbers
@@ -0,0 +1 @@
+../../Task/Self-numbers/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Semordnilap b/Lang/EasyLang/Semordnilap
new file mode 120000
index 0000000000..54e7d67bd7
--- /dev/null
+++ b/Lang/EasyLang/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/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
similarity index 100%
rename from Lang/EasyLang/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/EasyLang/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/EasyLang/Sequence-smallest-number-with-exactly-n-divisors b/Lang/EasyLang/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/EasyLang/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/EasyLang/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/EasyLang/Show-the-epoch b/Lang/EasyLang/Show-the-epoch
new file mode 120000
index 0000000000..67a6b1a9c5
--- /dev/null
+++ b/Lang/EasyLang/Show-the-epoch
@@ -0,0 +1 @@
+../../Task/Show-the-epoch/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Sierpinski-triangle b/Lang/EasyLang/Sierpinski-triangle
new file mode 120000
index 0000000000..36520550cb
--- /dev/null
+++ b/Lang/EasyLang/Sierpinski-triangle
@@ -0,0 +1 @@
+../../Task/Sierpinski-triangle/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Solve-a-Hidato-puzzle b/Lang/EasyLang/Solve-a-Hidato-puzzle
new file mode 120000
index 0000000000..91cd1509fe
--- /dev/null
+++ b/Lang/EasyLang/Solve-a-Hidato-puzzle
@@ -0,0 +1 @@
+../../Task/Solve-a-Hidato-puzzle/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Solve-a-Holy-Knights-tour b/Lang/EasyLang/Solve-a-Holy-Knights-tour
new file mode 120000
index 0000000000..0807789002
--- /dev/null
+++ b/Lang/EasyLang/Solve-a-Holy-Knights-tour
@@ -0,0 +1 @@
+../../Task/Solve-a-Holy-Knights-tour/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Solve-a-Hopido-puzzle b/Lang/EasyLang/Solve-a-Hopido-puzzle
new file mode 120000
index 0000000000..f1ae260677
--- /dev/null
+++ b/Lang/EasyLang/Solve-a-Hopido-puzzle
@@ -0,0 +1 @@
+../../Task/Solve-a-Hopido-puzzle/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Solve-a-Numbrix-puzzle b/Lang/EasyLang/Solve-a-Numbrix-puzzle
new file mode 120000
index 0000000000..9dc56df255
--- /dev/null
+++ b/Lang/EasyLang/Solve-a-Numbrix-puzzle
@@ -0,0 +1 @@
+../../Task/Solve-a-Numbrix-puzzle/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Solve-the-no-connection-puzzle b/Lang/EasyLang/Solve-the-no-connection-puzzle
new file mode 120000
index 0000000000..759be373e6
--- /dev/null
+++ b/Lang/EasyLang/Solve-the-no-connection-puzzle
@@ -0,0 +1 @@
+../../Task/Solve-the-no-connection-puzzle/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Sort-a-list-of-object-identifiers b/Lang/EasyLang/Sort-a-list-of-object-identifiers
new file mode 120000
index 0000000000..6767e4212b
--- /dev/null
+++ b/Lang/EasyLang/Sort-a-list-of-object-identifiers
@@ -0,0 +1 @@
+../../Task/Sort-a-list-of-object-identifiers/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Sort-an-integer-array b/Lang/EasyLang/Sort-an-integer-array
new file mode 120000
index 0000000000..b6e22e35fd
--- /dev/null
+++ b/Lang/EasyLang/Sort-an-integer-array
@@ -0,0 +1 @@
+../../Task/Sort-an-integer-array/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Sort-an-outline-at-every-level b/Lang/EasyLang/Sort-an-outline-at-every-level
new file mode 120000
index 0000000000..aa549fd59a
--- /dev/null
+++ b/Lang/EasyLang/Sort-an-outline-at-every-level
@@ -0,0 +1 @@
+../../Task/Sort-an-outline-at-every-level/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Sort-numbers-lexicographically b/Lang/EasyLang/Sort-numbers-lexicographically
new file mode 120000
index 0000000000..096e63b030
--- /dev/null
+++ b/Lang/EasyLang/Sort-numbers-lexicographically
@@ -0,0 +1 @@
+../../Task/Sort-numbers-lexicographically/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Sorting-algorithms-Bead-sort b/Lang/EasyLang/Sorting-algorithms-Bead-sort
new file mode 120000
index 0000000000..a450a04067
--- /dev/null
+++ b/Lang/EasyLang/Sorting-algorithms-Bead-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Bead-sort/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Sorting-algorithms-Cocktail-sort b/Lang/EasyLang/Sorting-algorithms-Cocktail-sort
new file mode 120000
index 0000000000..6ea90a8bea
--- /dev/null
+++ b/Lang/EasyLang/Sorting-algorithms-Cocktail-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Cocktail-sort/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Sorting-algorithms-Cocktail-sort-with-shifting-bounds b/Lang/EasyLang/Sorting-algorithms-Cocktail-sort-with-shifting-bounds
new file mode 120000
index 0000000000..885e9fc6f4
--- /dev/null
+++ b/Lang/EasyLang/Sorting-algorithms-Cocktail-sort-with-shifting-bounds
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Cocktail-sort-with-shifting-bounds/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Sorting-algorithms-Comb-sort b/Lang/EasyLang/Sorting-algorithms-Comb-sort
new file mode 120000
index 0000000000..105d051508
--- /dev/null
+++ b/Lang/EasyLang/Sorting-algorithms-Comb-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Comb-sort/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Sorting-algorithms-Pancake-sort b/Lang/EasyLang/Sorting-algorithms-Pancake-sort
new file mode 120000
index 0000000000..7f8da5bd54
--- /dev/null
+++ b/Lang/EasyLang/Sorting-algorithms-Pancake-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Pancake-sort/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Sorting-algorithms-Patience-sort b/Lang/EasyLang/Sorting-algorithms-Patience-sort
new file mode 120000
index 0000000000..6123828d8e
--- /dev/null
+++ b/Lang/EasyLang/Sorting-algorithms-Patience-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Patience-sort/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Sorting-algorithms-Permutation-sort b/Lang/EasyLang/Sorting-algorithms-Permutation-sort
new file mode 120000
index 0000000000..858ffd0315
--- /dev/null
+++ b/Lang/EasyLang/Sorting-algorithms-Permutation-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Permutation-sort/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Sorting-algorithms-Shell-sort b/Lang/EasyLang/Sorting-algorithms-Shell-sort
new file mode 120000
index 0000000000..f5b30c5803
--- /dev/null
+++ b/Lang/EasyLang/Sorting-algorithms-Shell-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Shell-sort/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Sorting-algorithms-Strand-sort b/Lang/EasyLang/Sorting-algorithms-Strand-sort
new file mode 120000
index 0000000000..005353ca66
--- /dev/null
+++ b/Lang/EasyLang/Sorting-algorithms-Strand-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Strand-sort/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Sparkline-in-unicode b/Lang/EasyLang/Sparkline-in-unicode
new file mode 120000
index 0000000000..7ec2356a98
--- /dev/null
+++ b/Lang/EasyLang/Sparkline-in-unicode
@@ -0,0 +1 @@
+../../Task/Sparkline-in-unicode/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Spelling-of-ordinal-numbers b/Lang/EasyLang/Spelling-of-ordinal-numbers
new file mode 120000
index 0000000000..657348f1ae
--- /dev/null
+++ b/Lang/EasyLang/Spelling-of-ordinal-numbers
@@ -0,0 +1 @@
+../../Task/Spelling-of-ordinal-numbers/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Sphenic-numbers b/Lang/EasyLang/Sphenic-numbers
new file mode 120000
index 0000000000..376288b88d
--- /dev/null
+++ b/Lang/EasyLang/Sphenic-numbers
@@ -0,0 +1 @@
+../../Task/Sphenic-numbers/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Square-free-integers b/Lang/EasyLang/Square-free-integers
new file mode 120000
index 0000000000..07046cee4c
--- /dev/null
+++ b/Lang/EasyLang/Square-free-integers
@@ -0,0 +1 @@
+../../Task/Square-free-integers/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Stable-marriage-problem b/Lang/EasyLang/Stable-marriage-problem
new file mode 120000
index 0000000000..5a03ad65b0
--- /dev/null
+++ b/Lang/EasyLang/Stable-marriage-problem
@@ -0,0 +1 @@
+../../Task/Stable-marriage-problem/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Stair-climbing-puzzle b/Lang/EasyLang/Stair-climbing-puzzle
new file mode 120000
index 0000000000..e0c07f706d
--- /dev/null
+++ b/Lang/EasyLang/Stair-climbing-puzzle
@@ -0,0 +1 @@
+../../Task/Stair-climbing-puzzle/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Statistics-Normal-distribution b/Lang/EasyLang/Statistics-Normal-distribution
new file mode 120000
index 0000000000..cfeed445c6
--- /dev/null
+++ b/Lang/EasyLang/Statistics-Normal-distribution
@@ -0,0 +1 @@
+../../Task/Statistics-Normal-distribution/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Stem-and-leaf-plot b/Lang/EasyLang/Stem-and-leaf-plot
new file mode 120000
index 0000000000..cf4dace06c
--- /dev/null
+++ b/Lang/EasyLang/Stem-and-leaf-plot
@@ -0,0 +1 @@
+../../Task/Stem-and-leaf-plot/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Straddling-checkerboard b/Lang/EasyLang/Straddling-checkerboard
new file mode 120000
index 0000000000..df23fad6e0
--- /dev/null
+++ b/Lang/EasyLang/Straddling-checkerboard
@@ -0,0 +1 @@
+../../Task/Straddling-checkerboard/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Suffixation-of-decimal-numbers b/Lang/EasyLang/Suffixation-of-decimal-numbers
new file mode 120000
index 0000000000..2c99b570e5
--- /dev/null
+++ b/Lang/EasyLang/Suffixation-of-decimal-numbers
@@ -0,0 +1 @@
+../../Task/Suffixation-of-decimal-numbers/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Sum-and-product-puzzle b/Lang/EasyLang/Sum-and-product-puzzle
new file mode 120000
index 0000000000..8dd4cbcafb
--- /dev/null
+++ b/Lang/EasyLang/Sum-and-product-puzzle
@@ -0,0 +1 @@
+../../Task/Sum-and-product-puzzle/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Super-d-numbers b/Lang/EasyLang/Super-d-numbers
new file mode 120000
index 0000000000..c760610b85
--- /dev/null
+++ b/Lang/EasyLang/Super-d-numbers
@@ -0,0 +1 @@
+../../Task/Super-d-numbers/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Superpermutation-minimisation b/Lang/EasyLang/Superpermutation-minimisation
new file mode 120000
index 0000000000..6607fe41d8
--- /dev/null
+++ b/Lang/EasyLang/Superpermutation-minimisation
@@ -0,0 +1 @@
+../../Task/Superpermutation-minimisation/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Sutherland-Hodgman-polygon-clipping b/Lang/EasyLang/Sutherland-Hodgman-polygon-clipping
new file mode 120000
index 0000000000..948deb6c32
--- /dev/null
+++ b/Lang/EasyLang/Sutherland-Hodgman-polygon-clipping
@@ -0,0 +1 @@
+../../Task/Sutherland-Hodgman-polygon-clipping/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Taxicab-numbers b/Lang/EasyLang/Taxicab-numbers
new file mode 120000
index 0000000000..7035ad16c4
--- /dev/null
+++ b/Lang/EasyLang/Taxicab-numbers
@@ -0,0 +1 @@
+../../Task/Taxicab-numbers/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Teacup-rim-text b/Lang/EasyLang/Teacup-rim-text
new file mode 120000
index 0000000000..6602971306
--- /dev/null
+++ b/Lang/EasyLang/Teacup-rim-text
@@ -0,0 +1 @@
+../../Task/Teacup-rim-text/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Tokenize-a-string-with-escaping b/Lang/EasyLang/Tokenize-a-string-with-escaping
new file mode 120000
index 0000000000..1059b903ad
--- /dev/null
+++ b/Lang/EasyLang/Tokenize-a-string-with-escaping
@@ -0,0 +1 @@
+../../Task/Tokenize-a-string-with-escaping/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Top-rank-per-group b/Lang/EasyLang/Top-rank-per-group
new file mode 120000
index 0000000000..861db59645
--- /dev/null
+++ b/Lang/EasyLang/Top-rank-per-group
@@ -0,0 +1 @@
+../../Task/Top-rank-per-group/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Topological-sort b/Lang/EasyLang/Topological-sort
new file mode 120000
index 0000000000..8100dde197
--- /dev/null
+++ b/Lang/EasyLang/Topological-sort
@@ -0,0 +1 @@
+../../Task/Topological-sort/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Topswops b/Lang/EasyLang/Topswops
new file mode 120000
index 0000000000..2080f48b84
--- /dev/null
+++ b/Lang/EasyLang/Topswops
@@ -0,0 +1 @@
+../../Task/Topswops/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Truth-table b/Lang/EasyLang/Truth-table
new file mode 120000
index 0000000000..73d0946392
--- /dev/null
+++ b/Lang/EasyLang/Truth-table
@@ -0,0 +1 @@
+../../Task/Truth-table/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/UPC b/Lang/EasyLang/UPC
new file mode 120000
index 0000000000..2bb2969064
--- /dev/null
+++ b/Lang/EasyLang/UPC
@@ -0,0 +1 @@
+../../Task/UPC/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/URL-decoding b/Lang/EasyLang/URL-decoding
new file mode 120000
index 0000000000..a070edc78b
--- /dev/null
+++ b/Lang/EasyLang/URL-decoding
@@ -0,0 +1 @@
+../../Task/URL-decoding/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/URL-encoding b/Lang/EasyLang/URL-encoding
new file mode 120000
index 0000000000..c0b065b1e5
--- /dev/null
+++ b/Lang/EasyLang/URL-encoding
@@ -0,0 +1 @@
+../../Task/URL-encoding/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/UTF-8-encode-and-decode b/Lang/EasyLang/UTF-8-encode-and-decode
new file mode 120000
index 0000000000..c4de9115dc
--- /dev/null
+++ b/Lang/EasyLang/UTF-8-encode-and-decode
@@ -0,0 +1 @@
+../../Task/UTF-8-encode-and-decode/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Unicode-strings b/Lang/EasyLang/Unicode-strings
new file mode 120000
index 0000000000..c52bd4da5c
--- /dev/null
+++ b/Lang/EasyLang/Unicode-strings
@@ -0,0 +1 @@
+../../Task/Unicode-strings/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Universal-Turing-machine b/Lang/EasyLang/Universal-Turing-machine
new file mode 120000
index 0000000000..c6c36c7e83
--- /dev/null
+++ b/Lang/EasyLang/Universal-Turing-machine
@@ -0,0 +1 @@
+../../Task/Universal-Turing-machine/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Unprimeable-numbers b/Lang/EasyLang/Unprimeable-numbers
new file mode 120000
index 0000000000..ae808307c7
--- /dev/null
+++ b/Lang/EasyLang/Unprimeable-numbers
@@ -0,0 +1 @@
+../../Task/Unprimeable-numbers/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Verhoeff-algorithm b/Lang/EasyLang/Verhoeff-algorithm
new file mode 120000
index 0000000000..31c375b7e9
--- /dev/null
+++ b/Lang/EasyLang/Verhoeff-algorithm
@@ -0,0 +1 @@
+../../Task/Verhoeff-algorithm/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Verify-distribution-uniformity-Naive b/Lang/EasyLang/Verify-distribution-uniformity-Naive
new file mode 120000
index 0000000000..bc6d548e1b
--- /dev/null
+++ b/Lang/EasyLang/Verify-distribution-uniformity-Naive
@@ -0,0 +1 @@
+../../Task/Verify-distribution-uniformity-Naive/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Vigen-re-cipher-Cryptanalysis b/Lang/EasyLang/Vigen-re-cipher-Cryptanalysis
new file mode 120000
index 0000000000..019adf3986
--- /dev/null
+++ b/Lang/EasyLang/Vigen-re-cipher-Cryptanalysis
@@ -0,0 +1 @@
+../../Task/Vigen-re-cipher-Cryptanalysis/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Vogels-approximation-method b/Lang/EasyLang/Vogels-approximation-method
new file mode 120000
index 0000000000..576b7c1373
--- /dev/null
+++ b/Lang/EasyLang/Vogels-approximation-method
@@ -0,0 +1 @@
+../../Task/Vogels-approximation-method/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/War-card-game b/Lang/EasyLang/War-card-game
new file mode 120000
index 0000000000..4889819208
--- /dev/null
+++ b/Lang/EasyLang/War-card-game
@@ -0,0 +1 @@
+../../Task/War-card-game/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Wasteful-equidigital-and-frugal-numbers b/Lang/EasyLang/Wasteful-equidigital-and-frugal-numbers
new file mode 120000
index 0000000000..2c61d301f5
--- /dev/null
+++ b/Lang/EasyLang/Wasteful-equidigital-and-frugal-numbers
@@ -0,0 +1 @@
+../../Task/Wasteful-equidigital-and-frugal-numbers/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Weird-numbers b/Lang/EasyLang/Weird-numbers
new file mode 120000
index 0000000000..503b16eabc
--- /dev/null
+++ b/Lang/EasyLang/Weird-numbers
@@ -0,0 +1 @@
+../../Task/Weird-numbers/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Word-ladder b/Lang/EasyLang/Word-ladder
new file mode 120000
index 0000000000..c40a883a5f
--- /dev/null
+++ b/Lang/EasyLang/Word-ladder
@@ -0,0 +1 @@
+../../Task/Word-ladder/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Word-wheel b/Lang/EasyLang/Word-wheel
new file mode 120000
index 0000000000..cc8df0aac8
--- /dev/null
+++ b/Lang/EasyLang/Word-wheel
@@ -0,0 +1 @@
+../../Task/Word-wheel/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/World-Cup-group-stage b/Lang/EasyLang/World-Cup-group-stage
new file mode 120000
index 0000000000..903f2de54b
--- /dev/null
+++ b/Lang/EasyLang/World-Cup-group-stage
@@ -0,0 +1 @@
+../../Task/World-Cup-group-stage/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Xiaolin-Wus-line-algorithm b/Lang/EasyLang/Xiaolin-Wus-line-algorithm
new file mode 120000
index 0000000000..ece28f1e59
--- /dev/null
+++ b/Lang/EasyLang/Xiaolin-Wus-line-algorithm
@@ -0,0 +1 @@
+../../Task/Xiaolin-Wus-line-algorithm/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Zhang-Suen-thinning-algorithm b/Lang/EasyLang/Zhang-Suen-thinning-algorithm
new file mode 120000
index 0000000000..06bef59d73
--- /dev/null
+++ b/Lang/EasyLang/Zhang-Suen-thinning-algorithm
@@ -0,0 +1 @@
+../../Task/Zhang-Suen-thinning-algorithm/EasyLang
\ No newline at end of file
diff --git a/Lang/EasyLang/Zig-zag-matrix b/Lang/EasyLang/Zig-zag-matrix
new file mode 120000
index 0000000000..59c91477d5
--- /dev/null
+++ b/Lang/EasyLang/Zig-zag-matrix
@@ -0,0 +1 @@
+../../Task/Zig-zag-matrix/EasyLang
\ No newline at end of file
diff --git a/Lang/EchoLisp/Miller-Rabin-primality-test b/Lang/EchoLisp/Miller-Rabin-primality-test
deleted file mode 120000
index a1456f561f..0000000000
--- a/Lang/EchoLisp/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/EchoLisp
\ No newline at end of file
diff --git a/Lang/Ecstasy/00-LANG.txt b/Lang/Ecstasy/00-LANG.txt
index 7358e7f1ea..9c977a310d 100644
--- a/Lang/Ecstasy/00-LANG.txt
+++ b/Lang/Ecstasy/00-LANG.txt
@@ -25,4 +25,7 @@ The primary benefits of Ecstasy are:
* A security model designed for the serverless cloud, using lightweight software containers and dependency injection (IOC/DI)
* A reified generic type system with support for unions, intersection, and difference types, first-class tuples and functions, type inference, and type-safe mixins
* Built-in concurrency support, with first-class support for object immutability, and the elimination of shared-mutable data
-* All of the modern capabilities that developers have grown to depend on, such as: [[garbage collection|Automatic memory management]], an integrated module system, first-class lambdas and functions, partial binding and currying, cross-platform portability, and an open source development model
\ No newline at end of file
+* All of the modern capabilities that developers have grown to depend on, such as: [[garbage collection|Automatic memory management]], an integrated module system, first-class lambdas and functions, partial binding and currying, cross-platform portability, and an open source development model
+
+==TODO==
+* [[Tasks not implemented in Ecstasy]]
\ No newline at end of file
diff --git a/Lang/Ecstasy/100-prisoners b/Lang/Ecstasy/100-prisoners
new file mode 120000
index 0000000000..e9fb2d2f70
--- /dev/null
+++ b/Lang/Ecstasy/100-prisoners
@@ -0,0 +1 @@
+../../Task/100-prisoners/Ecstasy
\ No newline at end of file
diff --git a/Lang/Ecstasy/Assertions b/Lang/Ecstasy/Assertions
new file mode 120000
index 0000000000..0802d10c0c
--- /dev/null
+++ b/Lang/Ecstasy/Assertions
@@ -0,0 +1 @@
+../../Task/Assertions/Ecstasy
\ No newline at end of file
diff --git a/Lang/Ecstasy/Pointers-and-references b/Lang/Ecstasy/Pointers-and-references
new file mode 120000
index 0000000000..9b85919b2d
--- /dev/null
+++ b/Lang/Ecstasy/Pointers-and-references
@@ -0,0 +1 @@
+../../Task/Pointers-and-references/Ecstasy
\ No newline at end of file
diff --git a/Lang/Ecstasy/Program-name b/Lang/Ecstasy/Program-name
new file mode 120000
index 0000000000..6411623f47
--- /dev/null
+++ b/Lang/Ecstasy/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Ecstasy
\ No newline at end of file
diff --git a/Lang/Ecstasy/Reflection-List-methods b/Lang/Ecstasy/Reflection-List-methods
new file mode 120000
index 0000000000..f4010fce77
--- /dev/null
+++ b/Lang/Ecstasy/Reflection-List-methods
@@ -0,0 +1 @@
+../../Task/Reflection-List-methods/Ecstasy
\ No newline at end of file
diff --git a/Lang/Ecstasy/Reflection-List-properties b/Lang/Ecstasy/Reflection-List-properties
new file mode 120000
index 0000000000..40ec86fd95
--- /dev/null
+++ b/Lang/Ecstasy/Reflection-List-properties
@@ -0,0 +1 @@
+../../Task/Reflection-List-properties/Ecstasy
\ No newline at end of file
diff --git a/Lang/Ecstasy/Search-a-list b/Lang/Ecstasy/Search-a-list
new file mode 120000
index 0000000000..f6044e825c
--- /dev/null
+++ b/Lang/Ecstasy/Search-a-list
@@ -0,0 +1 @@
+../../Task/Search-a-list/Ecstasy
\ No newline at end of file
diff --git a/Lang/Ecstasy/Send-an-unknown-method-call b/Lang/Ecstasy/Send-an-unknown-method-call
new file mode 120000
index 0000000000..5d1a4cbed5
--- /dev/null
+++ b/Lang/Ecstasy/Send-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Send-an-unknown-method-call/Ecstasy
\ No newline at end of file
diff --git a/Lang/Ecstasy/Singleton b/Lang/Ecstasy/Singleton
new file mode 120000
index 0000000000..8c9a0eb1b2
--- /dev/null
+++ b/Lang/Ecstasy/Singleton
@@ -0,0 +1 @@
+../../Task/Singleton/Ecstasy
\ No newline at end of file
diff --git a/Lang/Ecstasy/String-case b/Lang/Ecstasy/String-case
new file mode 120000
index 0000000000..75c8cc65c2
--- /dev/null
+++ b/Lang/Ecstasy/String-case
@@ -0,0 +1 @@
+../../Task/String-case/Ecstasy
\ No newline at end of file
diff --git a/Lang/Ecstasy/String-comparison b/Lang/Ecstasy/String-comparison
new file mode 120000
index 0000000000..2a690e7c01
--- /dev/null
+++ b/Lang/Ecstasy/String-comparison
@@ -0,0 +1 @@
+../../Task/String-comparison/Ecstasy
\ No newline at end of file
diff --git a/Lang/Ecstasy/String-concatenation b/Lang/Ecstasy/String-concatenation
new file mode 120000
index 0000000000..a8fc37bb41
--- /dev/null
+++ b/Lang/Ecstasy/String-concatenation
@@ -0,0 +1 @@
+../../Task/String-concatenation/Ecstasy
\ No newline at end of file
diff --git a/Lang/Ecstasy/String-length b/Lang/Ecstasy/String-length
new file mode 120000
index 0000000000..e3f6d6a12a
--- /dev/null
+++ b/Lang/Ecstasy/String-length
@@ -0,0 +1 @@
+../../Task/String-length/Ecstasy
\ No newline at end of file
diff --git a/Lang/Ecstasy/Substring b/Lang/Ecstasy/Substring
new file mode 120000
index 0000000000..59160f9d22
--- /dev/null
+++ b/Lang/Ecstasy/Substring
@@ -0,0 +1 @@
+../../Task/Substring/Ecstasy
\ No newline at end of file
diff --git a/Lang/Ecstasy/Substring-Top-and-tail b/Lang/Ecstasy/Substring-Top-and-tail
new file mode 120000
index 0000000000..cf035aa347
--- /dev/null
+++ b/Lang/Ecstasy/Substring-Top-and-tail
@@ -0,0 +1 @@
+../../Task/Substring-Top-and-tail/Ecstasy
\ No newline at end of file
diff --git a/Lang/Ecstasy/System-time b/Lang/Ecstasy/System-time
new file mode 120000
index 0000000000..4b0a593cce
--- /dev/null
+++ b/Lang/Ecstasy/System-time
@@ -0,0 +1 @@
+../../Task/System-time/Ecstasy
\ No newline at end of file
diff --git a/Lang/Ed/00-LANG.txt b/Lang/Ed/00-LANG.txt
new file mode 100644
index 0000000000..0ffa56bf3c
--- /dev/null
+++ b/Lang/Ed/00-LANG.txt
@@ -0,0 +1,27 @@
+{{stub}}
+{{language|Ed}}
+This is the command language used by [[wp:ed_(software)]],
+the line oriented text editor, not to be confused with [[Sed]], the stream editor.
+
+Implementations are [[GNU Ed]], [[Plan 9 Ed]], BSD ed, and original UNIX ed.
+Ed is also a precursor to a whole family of other text editors and command languages.
+Including [[Sed]], ex, vi, vim, sam, and others.
+
+Ed scripts are usually ran as (on the example of [[GNU Ed]])
+
+cat script.ed | ed -lEGs file.in
+
+
+Or, more portably, with Basic Regular Expressions on BSD, Mac, and [[GNU Ed]].
+
+cat script.ed | ed -s file.in
+
+
+There's a convention of starting every ed script with capital H on a line of its own, to toggle more verbose error messages on. And optionally end the script with capital Q to force-quit without saving the changes to file.
+
+A good reference for Ed is it's info page, which can be found online [https://linux.die.net/man/1/ed here].
+
+Also see [[Tasks not implemented in Ed]]
+
+[[Category:Editor]]
+[[Category:Utility]]
\ No newline at end of file
diff --git a/Lang/Ed/00-META.yaml b/Lang/Ed/00-META.yaml
new file mode 100644
index 0000000000..8c668497f3
--- /dev/null
+++ b/Lang/Ed/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Ed
diff --git a/Lang/Ed/A+B b/Lang/Ed/A+B
new file mode 120000
index 0000000000..00ee271a45
--- /dev/null
+++ b/Lang/Ed/A+B
@@ -0,0 +1 @@
+../../Task/A+B/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Address-of-a-variable b/Lang/Ed/Address-of-a-variable
new file mode 120000
index 0000000000..b7216d9c2d
--- /dev/null
+++ b/Lang/Ed/Address-of-a-variable
@@ -0,0 +1 @@
+../../Task/Address-of-a-variable/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Append-a-record-to-the-end-of-a-text-file b/Lang/Ed/Append-a-record-to-the-end-of-a-text-file
new file mode 120000
index 0000000000..c20f4ffb66
--- /dev/null
+++ b/Lang/Ed/Append-a-record-to-the-end-of-a-text-file
@@ -0,0 +1 @@
+../../Task/Append-a-record-to-the-end-of-a-text-file/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Balanced-brackets b/Lang/Ed/Balanced-brackets
new file mode 120000
index 0000000000..12f98da078
--- /dev/null
+++ b/Lang/Ed/Balanced-brackets
@@ -0,0 +1 @@
+../../Task/Balanced-brackets/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Base64-decode-data b/Lang/Ed/Base64-decode-data
new file mode 120000
index 0000000000..d08c0a29a4
--- /dev/null
+++ b/Lang/Ed/Base64-decode-data
@@ -0,0 +1 @@
+../../Task/Base64-decode-data/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Binary-digits b/Lang/Ed/Binary-digits
new file mode 120000
index 0000000000..3593438a83
--- /dev/null
+++ b/Lang/Ed/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Brace-expansion b/Lang/Ed/Brace-expansion
new file mode 120000
index 0000000000..57b88b6984
--- /dev/null
+++ b/Lang/Ed/Brace-expansion
@@ -0,0 +1 @@
+../../Task/Brace-expansion/Ed
\ No newline at end of file
diff --git a/Lang/Ed/CSV-to-HTML-translation b/Lang/Ed/CSV-to-HTML-translation
new file mode 120000
index 0000000000..982d76328a
--- /dev/null
+++ b/Lang/Ed/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Camel-case-and-snake-case b/Lang/Ed/Camel-case-and-snake-case
new file mode 120000
index 0000000000..34e48e10ce
--- /dev/null
+++ b/Lang/Ed/Camel-case-and-snake-case
@@ -0,0 +1 @@
+../../Task/Camel-case-and-snake-case/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Check-input-device-is-a-terminal b/Lang/Ed/Check-input-device-is-a-terminal
new file mode 120000
index 0000000000..aaa70cb2b9
--- /dev/null
+++ b/Lang/Ed/Check-input-device-is-a-terminal
@@ -0,0 +1 @@
+../../Task/Check-input-device-is-a-terminal/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Check-output-device-is-a-terminal b/Lang/Ed/Check-output-device-is-a-terminal
new file mode 120000
index 0000000000..7304043875
--- /dev/null
+++ b/Lang/Ed/Check-output-device-is-a-terminal
@@ -0,0 +1 @@
+../../Task/Check-output-device-is-a-terminal/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Chinese-zodiac b/Lang/Ed/Chinese-zodiac
new file mode 120000
index 0000000000..3a56ea0052
--- /dev/null
+++ b/Lang/Ed/Chinese-zodiac
@@ -0,0 +1 @@
+../../Task/Chinese-zodiac/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Cistercian-numerals b/Lang/Ed/Cistercian-numerals
new file mode 120000
index 0000000000..f8c9ddde28
--- /dev/null
+++ b/Lang/Ed/Cistercian-numerals
@@ -0,0 +1 @@
+../../Task/Cistercian-numerals/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Comma-quibbling b/Lang/Ed/Comma-quibbling
new file mode 120000
index 0000000000..d9dc3b3989
--- /dev/null
+++ b/Lang/Ed/Comma-quibbling
@@ -0,0 +1 @@
+../../Task/Comma-quibbling/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Comments b/Lang/Ed/Comments
new file mode 120000
index 0000000000..08d536496b
--- /dev/null
+++ b/Lang/Ed/Comments
@@ -0,0 +1 @@
+../../Task/Comments/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Conditional-structures b/Lang/Ed/Conditional-structures
new file mode 120000
index 0000000000..46db5ede62
--- /dev/null
+++ b/Lang/Ed/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Copy-a-string b/Lang/Ed/Copy-a-string
new file mode 120000
index 0000000000..55ec74ae6a
--- /dev/null
+++ b/Lang/Ed/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Count-occurrences-of-a-substring b/Lang/Ed/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..1c698d3069
--- /dev/null
+++ b/Lang/Ed/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Create-a-file b/Lang/Ed/Create-a-file
new file mode 120000
index 0000000000..11ca37c1ec
--- /dev/null
+++ b/Lang/Ed/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Date-format b/Lang/Ed/Date-format
new file mode 120000
index 0000000000..972dcea98a
--- /dev/null
+++ b/Lang/Ed/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Delete-a-file b/Lang/Ed/Delete-a-file
new file mode 120000
index 0000000000..f208022c59
--- /dev/null
+++ b/Lang/Ed/Delete-a-file
@@ -0,0 +1 @@
+../../Task/Delete-a-file/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Determine-if-a-string-has-all-the-same-characters b/Lang/Ed/Determine-if-a-string-has-all-the-same-characters
new file mode 120000
index 0000000000..448ed7ccc8
--- /dev/null
+++ b/Lang/Ed/Determine-if-a-string-has-all-the-same-characters
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-has-all-the-same-characters/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Determine-if-a-string-has-all-unique-characters b/Lang/Ed/Determine-if-a-string-has-all-unique-characters
new file mode 120000
index 0000000000..3ce9aedae3
--- /dev/null
+++ b/Lang/Ed/Determine-if-a-string-has-all-unique-characters
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-has-all-unique-characters/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Determine-if-a-string-is-collapsible b/Lang/Ed/Determine-if-a-string-is-collapsible
new file mode 120000
index 0000000000..8b2921d3eb
--- /dev/null
+++ b/Lang/Ed/Determine-if-a-string-is-collapsible
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-collapsible/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Determine-if-a-string-is-numeric b/Lang/Ed/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..05c951f131
--- /dev/null
+++ b/Lang/Ed/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Empty-string b/Lang/Ed/Empty-string
new file mode 120000
index 0000000000..d609b5a73a
--- /dev/null
+++ b/Lang/Ed/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Ethiopian-multiplication b/Lang/Ed/Ethiopian-multiplication
new file mode 120000
index 0000000000..a218310c2e
--- /dev/null
+++ b/Lang/Ed/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Even-or-odd b/Lang/Ed/Even-or-odd
new file mode 120000
index 0000000000..216cea134c
--- /dev/null
+++ b/Lang/Ed/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/Ed
\ No newline at end of file
diff --git a/Lang/Ed/File-input-output b/Lang/Ed/File-input-output
new file mode 120000
index 0000000000..ab2356c090
--- /dev/null
+++ b/Lang/Ed/File-input-output
@@ -0,0 +1 @@
+../../Task/File-input-output/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Filter b/Lang/Ed/Filter
new file mode 120000
index 0000000000..0e10013135
--- /dev/null
+++ b/Lang/Ed/Filter
@@ -0,0 +1 @@
+../../Task/Filter/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Find-common-directory-path b/Lang/Ed/Find-common-directory-path
new file mode 120000
index 0000000000..31b50e9c25
--- /dev/null
+++ b/Lang/Ed/Find-common-directory-path
@@ -0,0 +1 @@
+../../Task/Find-common-directory-path/Ed
\ No newline at end of file
diff --git a/Lang/Ed/FizzBuzz b/Lang/Ed/FizzBuzz
new file mode 120000
index 0000000000..5f01963d2b
--- /dev/null
+++ b/Lang/Ed/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Hello-world-Text b/Lang/Ed/Hello-world-Text
new file mode 120000
index 0000000000..09329e9578
--- /dev/null
+++ b/Lang/Ed/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Here-document b/Lang/Ed/Here-document
new file mode 120000
index 0000000000..1aca222a29
--- /dev/null
+++ b/Lang/Ed/Here-document
@@ -0,0 +1 @@
+../../Task/Here-document/Ed
\ No newline at end of file
diff --git a/Lang/Ed/I-before-E-except-after-C b/Lang/Ed/I-before-E-except-after-C
new file mode 120000
index 0000000000..017b410bd0
--- /dev/null
+++ b/Lang/Ed/I-before-E-except-after-C
@@ -0,0 +1 @@
+../../Task/I-before-E-except-after-C/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Increment-a-numerical-string b/Lang/Ed/Increment-a-numerical-string
new file mode 120000
index 0000000000..e55a87b09f
--- /dev/null
+++ b/Lang/Ed/Increment-a-numerical-string
@@ -0,0 +1 @@
+../../Task/Increment-a-numerical-string/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Jewels-and-stones b/Lang/Ed/Jewels-and-stones
new file mode 120000
index 0000000000..aa6e0865ea
--- /dev/null
+++ b/Lang/Ed/Jewels-and-stones
@@ -0,0 +1 @@
+../../Task/Jewels-and-stones/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Longest-common-subsequence b/Lang/Ed/Longest-common-subsequence
new file mode 120000
index 0000000000..d0e8efbf1e
--- /dev/null
+++ b/Lang/Ed/Longest-common-subsequence
@@ -0,0 +1 @@
+../../Task/Longest-common-subsequence/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Loops-For b/Lang/Ed/Loops-For
new file mode 120000
index 0000000000..3de59c57c2
--- /dev/null
+++ b/Lang/Ed/Loops-For
@@ -0,0 +1 @@
+../../Task/Loops-For/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Loops-Foreach b/Lang/Ed/Loops-Foreach
new file mode 120000
index 0000000000..c06f3655df
--- /dev/null
+++ b/Lang/Ed/Loops-Foreach
@@ -0,0 +1 @@
+../../Task/Loops-Foreach/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Morse-code b/Lang/Ed/Morse-code
new file mode 120000
index 0000000000..e5384e5776
--- /dev/null
+++ b/Lang/Ed/Morse-code
@@ -0,0 +1 @@
+../../Task/Morse-code/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Nth b/Lang/Ed/Nth
new file mode 120000
index 0000000000..d2f15b3c88
--- /dev/null
+++ b/Lang/Ed/Nth
@@ -0,0 +1 @@
+../../Task/Nth/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Palindrome-detection b/Lang/Ed/Palindrome-detection
new file mode 120000
index 0000000000..1bec256a92
--- /dev/null
+++ b/Lang/Ed/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Phrase-reversals b/Lang/Ed/Phrase-reversals
new file mode 120000
index 0000000000..0ee3f41dfa
--- /dev/null
+++ b/Lang/Ed/Phrase-reversals
@@ -0,0 +1 @@
+../../Task/Phrase-reversals/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Quine b/Lang/Ed/Quine
new file mode 120000
index 0000000000..3690e73126
--- /dev/null
+++ b/Lang/Ed/Quine
@@ -0,0 +1 @@
+../../Task/Quine/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Random-number-generator-device- b/Lang/Ed/Random-number-generator-device-
new file mode 120000
index 0000000000..ebfa530984
--- /dev/null
+++ b/Lang/Ed/Random-number-generator-device-
@@ -0,0 +1 @@
+../../Task/Random-number-generator-device-/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Read-a-specific-line-from-a-file b/Lang/Ed/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..68b3526a94
--- /dev/null
+++ b/Lang/Ed/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Regular-expressions b/Lang/Ed/Regular-expressions
new file mode 120000
index 0000000000..03fa790d32
--- /dev/null
+++ b/Lang/Ed/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Rep-string b/Lang/Ed/Rep-string
new file mode 120000
index 0000000000..1cabc7547c
--- /dev/null
+++ b/Lang/Ed/Rep-string
@@ -0,0 +1 @@
+../../Task/Rep-string/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Repeat-a-string b/Lang/Ed/Repeat-a-string
new file mode 120000
index 0000000000..88553bc853
--- /dev/null
+++ b/Lang/Ed/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Reverse-a-string b/Lang/Ed/Reverse-a-string
new file mode 120000
index 0000000000..6104b59dd9
--- /dev/null
+++ b/Lang/Ed/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Reverse-words-in-a-string b/Lang/Ed/Reverse-words-in-a-string
new file mode 120000
index 0000000000..d59e80e1fb
--- /dev/null
+++ b/Lang/Ed/Reverse-words-in-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-words-in-a-string/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Roman-numerals-Decode b/Lang/Ed/Roman-numerals-Decode
new file mode 120000
index 0000000000..81a8608ea4
--- /dev/null
+++ b/Lang/Ed/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Roman-numerals-Encode b/Lang/Ed/Roman-numerals-Encode
new file mode 120000
index 0000000000..686206e904
--- /dev/null
+++ b/Lang/Ed/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Rot-13 b/Lang/Ed/Rot-13
new file mode 120000
index 0000000000..731a496ae9
--- /dev/null
+++ b/Lang/Ed/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Run-length-encoding b/Lang/Ed/Run-length-encoding
new file mode 120000
index 0000000000..69e6b1b531
--- /dev/null
+++ b/Lang/Ed/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Selectively-replace-multiple-instances-of-a-character-within-a-string b/Lang/Ed/Selectively-replace-multiple-instances-of-a-character-within-a-string
new file mode 120000
index 0000000000..e414614b56
--- /dev/null
+++ b/Lang/Ed/Selectively-replace-multiple-instances-of-a-character-within-a-string
@@ -0,0 +1 @@
+../../Task/Selectively-replace-multiple-instances-of-a-character-within-a-string/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Semordnilap b/Lang/Ed/Semordnilap
new file mode 120000
index 0000000000..daf7a5ecb1
--- /dev/null
+++ b/Lang/Ed/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Sort-an-integer-array b/Lang/Ed/Sort-an-integer-array
new file mode 120000
index 0000000000..b1a2a66ffa
--- /dev/null
+++ b/Lang/Ed/Sort-an-integer-array
@@ -0,0 +1 @@
+../../Task/Sort-an-integer-array/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Split-a-character-string-based-on-change-of-character b/Lang/Ed/Split-a-character-string-based-on-change-of-character
new file mode 120000
index 0000000000..0033ba43dd
--- /dev/null
+++ b/Lang/Ed/Split-a-character-string-based-on-change-of-character
@@ -0,0 +1 @@
+../../Task/Split-a-character-string-based-on-change-of-character/Ed
\ No newline at end of file
diff --git a/Lang/Ed/String-case b/Lang/Ed/String-case
new file mode 120000
index 0000000000..daab926f48
--- /dev/null
+++ b/Lang/Ed/String-case
@@ -0,0 +1 @@
+../../Task/String-case/Ed
\ No newline at end of file
diff --git a/Lang/Ed/String-comparison b/Lang/Ed/String-comparison
new file mode 120000
index 0000000000..d24860c04c
--- /dev/null
+++ b/Lang/Ed/String-comparison
@@ -0,0 +1 @@
+../../Task/String-comparison/Ed
\ No newline at end of file
diff --git a/Lang/Ed/String-concatenation b/Lang/Ed/String-concatenation
new file mode 120000
index 0000000000..f24bfde76e
--- /dev/null
+++ b/Lang/Ed/String-concatenation
@@ -0,0 +1 @@
+../../Task/String-concatenation/Ed
\ No newline at end of file
diff --git a/Lang/Ed/String-interpolation-included- b/Lang/Ed/String-interpolation-included-
new file mode 120000
index 0000000000..6b90881c7e
--- /dev/null
+++ b/Lang/Ed/String-interpolation-included-
@@ -0,0 +1 @@
+../../Task/String-interpolation-included-/Ed
\ No newline at end of file
diff --git a/Lang/Ed/String-length b/Lang/Ed/String-length
new file mode 120000
index 0000000000..de41c29ef2
--- /dev/null
+++ b/Lang/Ed/String-length
@@ -0,0 +1 @@
+../../Task/String-length/Ed
\ No newline at end of file
diff --git a/Lang/Ed/String-matching b/Lang/Ed/String-matching
new file mode 120000
index 0000000000..2895138190
--- /dev/null
+++ b/Lang/Ed/String-matching
@@ -0,0 +1 @@
+../../Task/String-matching/Ed
\ No newline at end of file
diff --git a/Lang/Ed/String-prepend b/Lang/Ed/String-prepend
new file mode 120000
index 0000000000..ce1d9a46f5
--- /dev/null
+++ b/Lang/Ed/String-prepend
@@ -0,0 +1 @@
+../../Task/String-prepend/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Strip-a-set-of-characters-from-a-string b/Lang/Ed/Strip-a-set-of-characters-from-a-string
new file mode 120000
index 0000000000..6a57ca5210
--- /dev/null
+++ b/Lang/Ed/Strip-a-set-of-characters-from-a-string
@@ -0,0 +1 @@
+../../Task/Strip-a-set-of-characters-from-a-string/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Strip-block-comments b/Lang/Ed/Strip-block-comments
new file mode 120000
index 0000000000..913cdfb609
--- /dev/null
+++ b/Lang/Ed/Strip-block-comments
@@ -0,0 +1 @@
+../../Task/Strip-block-comments/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Strip-comments-from-a-string b/Lang/Ed/Strip-comments-from-a-string
new file mode 120000
index 0000000000..f7c3c178f3
--- /dev/null
+++ b/Lang/Ed/Strip-comments-from-a-string
@@ -0,0 +1 @@
+../../Task/Strip-comments-from-a-string/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Strip-control-codes-and-extended-characters-from-a-string b/Lang/Ed/Strip-control-codes-and-extended-characters-from-a-string
new file mode 120000
index 0000000000..8cffb60723
--- /dev/null
+++ b/Lang/Ed/Strip-control-codes-and-extended-characters-from-a-string
@@ -0,0 +1 @@
+../../Task/Strip-control-codes-and-extended-characters-from-a-string/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Strip-whitespace-from-a-string-Top-and-tail b/Lang/Ed/Strip-whitespace-from-a-string-Top-and-tail
new file mode 120000
index 0000000000..87421d1e38
--- /dev/null
+++ b/Lang/Ed/Strip-whitespace-from-a-string-Top-and-tail
@@ -0,0 +1 @@
+../../Task/Strip-whitespace-from-a-string-Top-and-tail/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Substring b/Lang/Ed/Substring
new file mode 120000
index 0000000000..373a20b8f4
--- /dev/null
+++ b/Lang/Ed/Substring
@@ -0,0 +1 @@
+../../Task/Substring/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Substring-Top-and-tail b/Lang/Ed/Substring-Top-and-tail
new file mode 120000
index 0000000000..bff998aeb0
--- /dev/null
+++ b/Lang/Ed/Substring-Top-and-tail
@@ -0,0 +1 @@
+../../Task/Substring-Top-and-tail/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Tokenize-a-string b/Lang/Ed/Tokenize-a-string
new file mode 120000
index 0000000000..d8f4499b3c
--- /dev/null
+++ b/Lang/Ed/Tokenize-a-string
@@ -0,0 +1 @@
+../../Task/Tokenize-a-string/Ed
\ No newline at end of file
diff --git a/Lang/Ed/Word-wrap b/Lang/Ed/Word-wrap
new file mode 120000
index 0000000000..b86e0349c6
--- /dev/null
+++ b/Lang/Ed/Word-wrap
@@ -0,0 +1 @@
+../../Task/Word-wrap/Ed
\ No newline at end of file
diff --git a/Lang/Eero/Quaternion-type b/Lang/Eero/Quaternion-type
deleted file mode 120000
index 91a82e433f..0000000000
--- a/Lang/Eero/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Eero
\ No newline at end of file
diff --git a/Lang/Eiffel/Loops-For b/Lang/Eiffel/Loops-For
new file mode 120000
index 0000000000..30f93ee824
--- /dev/null
+++ b/Lang/Eiffel/Loops-For
@@ -0,0 +1 @@
+../../Task/Loops-For/Eiffel
\ No newline at end of file
diff --git a/Lang/Eiffel/Loops-Infinite b/Lang/Eiffel/Loops-Infinite
new file mode 120000
index 0000000000..1016f5af23
--- /dev/null
+++ b/Lang/Eiffel/Loops-Infinite
@@ -0,0 +1 @@
+../../Task/Loops-Infinite/Eiffel
\ No newline at end of file
diff --git a/Lang/Elena/00-LANG.txt b/Lang/Elena/00-LANG.txt
index 671257e3ee..c3a21bf2d4 100644
--- a/Lang/Elena/00-LANG.txt
+++ b/Lang/Elena/00-LANG.txt
@@ -1,5 +1,5 @@
{{language|Elena
-|site=http://elenalang.sourceforge.net
+|site=https://elena-lang.github.io/
|exec=bytecode
|strength=strong
|safety=safe
diff --git a/Lang/Elena/Comma-quibbling b/Lang/Elena/Comma-quibbling
new file mode 120000
index 0000000000..f92aff5654
--- /dev/null
+++ b/Lang/Elena/Comma-quibbling
@@ -0,0 +1 @@
+../../Task/Comma-quibbling/Elena
\ No newline at end of file
diff --git a/Lang/Elena/Concurrent-computing b/Lang/Elena/Concurrent-computing
new file mode 120000
index 0000000000..d22278e519
--- /dev/null
+++ b/Lang/Elena/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/Elena
\ No newline at end of file
diff --git a/Lang/Elena/HTTP b/Lang/Elena/HTTP
new file mode 120000
index 0000000000..c94b6f99cd
--- /dev/null
+++ b/Lang/Elena/HTTP
@@ -0,0 +1 @@
+../../Task/HTTP/Elena
\ No newline at end of file
diff --git a/Lang/Elena/HTTPS b/Lang/Elena/HTTPS
new file mode 120000
index 0000000000..879dfcb045
--- /dev/null
+++ b/Lang/Elena/HTTPS
@@ -0,0 +1 @@
+../../Task/HTTPS/Elena
\ No newline at end of file
diff --git a/Lang/Elena/Quaternion-type b/Lang/Elena/Quaternion-type
deleted file mode 120000
index 1637f784c6..0000000000
--- a/Lang/Elena/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Elena
\ No newline at end of file
diff --git a/Lang/Elixir/Determinant-and-permanent b/Lang/Elixir/Determinant-and-permanent
new file mode 120000
index 0000000000..91e99770a2
--- /dev/null
+++ b/Lang/Elixir/Determinant-and-permanent
@@ -0,0 +1 @@
+../../Task/Determinant-and-permanent/Elixir
\ No newline at end of file
diff --git a/Lang/Elixir/Empty-program b/Lang/Elixir/Empty-program
deleted file mode 120000
index e1c7956a55..0000000000
--- a/Lang/Elixir/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/Elixir
\ No newline at end of file
diff --git a/Lang/Elixir/K-d-tree b/Lang/Elixir/K-d-tree
new file mode 120000
index 0000000000..4a7008abc8
--- /dev/null
+++ b/Lang/Elixir/K-d-tree
@@ -0,0 +1 @@
+../../Task/K-d-tree/Elixir
\ No newline at end of file
diff --git a/Lang/Elixir/Miller-Rabin-primality-test b/Lang/Elixir/Miller-Rabin-primality-test
deleted file mode 120000
index 911bb7e6dd..0000000000
--- a/Lang/Elixir/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Elixir
\ No newline at end of file
diff --git a/Lang/Elixir/Parallel-brute-force b/Lang/Elixir/Parallel-brute-force
new file mode 120000
index 0000000000..154ccc9bb9
--- /dev/null
+++ b/Lang/Elixir/Parallel-brute-force
@@ -0,0 +1 @@
+../../Task/Parallel-brute-force/Elixir
\ No newline at end of file
diff --git a/Lang/Elixir/Parse-an-IP-Address b/Lang/Elixir/Parse-an-IP-Address
new file mode 120000
index 0000000000..bad8e9a86e
--- /dev/null
+++ b/Lang/Elixir/Parse-an-IP-Address
@@ -0,0 +1 @@
+../../Task/Parse-an-IP-Address/Elixir
\ No newline at end of file
diff --git a/Lang/Elixir/Sorting-Algorithms-Circle-Sort b/Lang/Elixir/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index 97335bafb5..0000000000
--- a/Lang/Elixir/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/Elixir
\ No newline at end of file
diff --git a/Lang/Elixir/Strassens-algorithm b/Lang/Elixir/Strassens-algorithm
new file mode 120000
index 0000000000..b73f87ff60
--- /dev/null
+++ b/Lang/Elixir/Strassens-algorithm
@@ -0,0 +1 @@
+../../Task/Strassens-algorithm/Elixir
\ No newline at end of file
diff --git a/Lang/Elm/Caesar-cipher b/Lang/Elm/Caesar-cipher
new file mode 120000
index 0000000000..e2f4604523
--- /dev/null
+++ b/Lang/Elm/Caesar-cipher
@@ -0,0 +1 @@
+../../Task/Caesar-cipher/Elm
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Abbreviations-automatic b/Lang/Emacs-Lisp/Abbreviations-automatic
new file mode 120000
index 0000000000..917fbde092
--- /dev/null
+++ b/Lang/Emacs-Lisp/Abbreviations-automatic
@@ -0,0 +1 @@
+../../Task/Abbreviations-automatic/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Align-columns b/Lang/Emacs-Lisp/Align-columns
new file mode 120000
index 0000000000..9be61160c6
--- /dev/null
+++ b/Lang/Emacs-Lisp/Align-columns
@@ -0,0 +1 @@
+../../Task/Align-columns/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Anagrams b/Lang/Emacs-Lisp/Anagrams
new file mode 120000
index 0000000000..0bf987f884
--- /dev/null
+++ b/Lang/Emacs-Lisp/Anagrams
@@ -0,0 +1 @@
+../../Task/Anagrams/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Bulls-and-cows b/Lang/Emacs-Lisp/Bulls-and-cows
new file mode 120000
index 0000000000..b0602ecaf2
--- /dev/null
+++ b/Lang/Emacs-Lisp/Bulls-and-cows
@@ -0,0 +1 @@
+../../Task/Bulls-and-cows/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Color-wheel b/Lang/Emacs-Lisp/Color-wheel
new file mode 120000
index 0000000000..90b9cec116
--- /dev/null
+++ b/Lang/Emacs-Lisp/Color-wheel
@@ -0,0 +1 @@
+../../Task/Color-wheel/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Compare-length-of-two-strings b/Lang/Emacs-Lisp/Compare-length-of-two-strings
new file mode 120000
index 0000000000..2aa87a97f8
--- /dev/null
+++ b/Lang/Emacs-Lisp/Compare-length-of-two-strings
@@ -0,0 +1 @@
+../../Task/Compare-length-of-two-strings/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Date-manipulation b/Lang/Emacs-Lisp/Date-manipulation
new file mode 120000
index 0000000000..d88e6a9576
--- /dev/null
+++ b/Lang/Emacs-Lisp/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Determine-if-a-string-is-numeric b/Lang/Emacs-Lisp/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..2314291eaa
--- /dev/null
+++ b/Lang/Emacs-Lisp/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Determine-sentence-type b/Lang/Emacs-Lisp/Determine-sentence-type
new file mode 120000
index 0000000000..633b068253
--- /dev/null
+++ b/Lang/Emacs-Lisp/Determine-sentence-type
@@ -0,0 +1 @@
+../../Task/Determine-sentence-type/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Find-palindromic-numbers-in-both-binary-and-ternary-bases b/Lang/Emacs-Lisp/Find-palindromic-numbers-in-both-binary-and-ternary-bases
new file mode 120000
index 0000000000..d1e4e53b61
--- /dev/null
+++ b/Lang/Emacs-Lisp/Find-palindromic-numbers-in-both-binary-and-ternary-bases
@@ -0,0 +1 @@
+../../Task/Find-palindromic-numbers-in-both-binary-and-ternary-bases/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Generate-random-chess-position b/Lang/Emacs-Lisp/Generate-random-chess-position
new file mode 120000
index 0000000000..7ef4f0bf90
--- /dev/null
+++ b/Lang/Emacs-Lisp/Generate-random-chess-position
@@ -0,0 +1 @@
+../../Task/Generate-random-chess-position/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Keyboard-input-Flush-the-keyboard-buffer b/Lang/Emacs-Lisp/Keyboard-input-Flush-the-keyboard-buffer
new file mode 120000
index 0000000000..db888b4ffd
--- /dev/null
+++ b/Lang/Emacs-Lisp/Keyboard-input-Flush-the-keyboard-buffer
@@ -0,0 +1 @@
+../../Task/Keyboard-input-Flush-the-keyboard-buffer/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Keyboard-input-Keypress-check b/Lang/Emacs-Lisp/Keyboard-input-Keypress-check
new file mode 120000
index 0000000000..1bf55a234e
--- /dev/null
+++ b/Lang/Emacs-Lisp/Keyboard-input-Keypress-check
@@ -0,0 +1 @@
+../../Task/Keyboard-input-Keypress-check/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Keyboard-input-Obtain-a-Y-or-N-response b/Lang/Emacs-Lisp/Keyboard-input-Obtain-a-Y-or-N-response
new file mode 120000
index 0000000000..d6205cc54b
--- /dev/null
+++ b/Lang/Emacs-Lisp/Keyboard-input-Obtain-a-Y-or-N-response
@@ -0,0 +1 @@
+../../Task/Keyboard-input-Obtain-a-Y-or-N-response/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Ordered-words b/Lang/Emacs-Lisp/Ordered-words
new file mode 120000
index 0000000000..444b596fcd
--- /dev/null
+++ b/Lang/Emacs-Lisp/Ordered-words
@@ -0,0 +1 @@
+../../Task/Ordered-words/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Search-a-list b/Lang/Emacs-Lisp/Search-a-list
new file mode 120000
index 0000000000..6aef3bcdb0
--- /dev/null
+++ b/Lang/Emacs-Lisp/Search-a-list
@@ -0,0 +1 @@
+../../Task/Search-a-list/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Snake b/Lang/Emacs-Lisp/Snake
new file mode 120000
index 0000000000..b334d7a373
--- /dev/null
+++ b/Lang/Emacs-Lisp/Snake
@@ -0,0 +1 @@
+../../Task/Snake/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Soundex b/Lang/Emacs-Lisp/Soundex
new file mode 120000
index 0000000000..d8aeb9b48e
--- /dev/null
+++ b/Lang/Emacs-Lisp/Soundex
@@ -0,0 +1 @@
+../../Task/Soundex/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Split-a-character-string-based-on-change-of-character b/Lang/Emacs-Lisp/Split-a-character-string-based-on-change-of-character
new file mode 120000
index 0000000000..7bff70bc55
--- /dev/null
+++ b/Lang/Emacs-Lisp/Split-a-character-string-based-on-change-of-character
@@ -0,0 +1 @@
+../../Task/Split-a-character-string-based-on-change-of-character/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Strip-comments-from-a-string b/Lang/Emacs-Lisp/Strip-comments-from-a-string
new file mode 120000
index 0000000000..e8fcd5a3c3
--- /dev/null
+++ b/Lang/Emacs-Lisp/Strip-comments-from-a-string
@@ -0,0 +1 @@
+../../Task/Strip-comments-from-a-string/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Substitution-cipher b/Lang/Emacs-Lisp/Substitution-cipher
new file mode 120000
index 0000000000..93f7ee4d63
--- /dev/null
+++ b/Lang/Emacs-Lisp/Substitution-cipher
@@ -0,0 +1 @@
+../../Task/Substitution-cipher/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Word-frequency b/Lang/Emacs-Lisp/Word-frequency
new file mode 120000
index 0000000000..74fd09e7f4
--- /dev/null
+++ b/Lang/Emacs-Lisp/Word-frequency
@@ -0,0 +1 @@
+../../Task/Word-frequency/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Erlang/Cheryls-birthday b/Lang/Erlang/Cheryls-birthday
new file mode 120000
index 0000000000..2e3c0e28bc
--- /dev/null
+++ b/Lang/Erlang/Cheryls-birthday
@@ -0,0 +1 @@
+../../Task/Cheryls-birthday/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Determinant-and-permanent b/Lang/Erlang/Determinant-and-permanent
new file mode 120000
index 0000000000..1dcba08234
--- /dev/null
+++ b/Lang/Erlang/Determinant-and-permanent
@@ -0,0 +1 @@
+../../Task/Determinant-and-permanent/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Floyd-Warshall-algorithm b/Lang/Erlang/Floyd-Warshall-algorithm
new file mode 120000
index 0000000000..ac856e6ffa
--- /dev/null
+++ b/Lang/Erlang/Floyd-Warshall-algorithm
@@ -0,0 +1 @@
+../../Task/Floyd-Warshall-algorithm/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Long-multiplication b/Lang/Erlang/Long-multiplication
new file mode 120000
index 0000000000..12ca47c665
--- /dev/null
+++ b/Lang/Erlang/Long-multiplication
@@ -0,0 +1 @@
+../../Task/Long-multiplication/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Miller-Rabin-primality-test b/Lang/Erlang/Miller-Rabin-primality-test
deleted file mode 120000
index 5bdd377694..0000000000
--- a/Lang/Erlang/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Parse-an-IP-Address b/Lang/Erlang/Parse-an-IP-Address
new file mode 120000
index 0000000000..3e48d0f0b1
--- /dev/null
+++ b/Lang/Erlang/Parse-an-IP-Address
@@ -0,0 +1 @@
+../../Task/Parse-an-IP-Address/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Stem-and-leaf-plot b/Lang/Erlang/Stem-and-leaf-plot
new file mode 120000
index 0000000000..1763f740f3
--- /dev/null
+++ b/Lang/Erlang/Stem-and-leaf-plot
@@ -0,0 +1 @@
+../../Task/Stem-and-leaf-plot/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Strassens-algorithm b/Lang/Erlang/Strassens-algorithm
new file mode 120000
index 0000000000..62150c659e
--- /dev/null
+++ b/Lang/Erlang/Strassens-algorithm
@@ -0,0 +1 @@
+../../Task/Strassens-algorithm/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Super-d-numbers b/Lang/Erlang/Super-d-numbers
new file mode 120000
index 0000000000..de46d8ba65
--- /dev/null
+++ b/Lang/Erlang/Super-d-numbers
@@ -0,0 +1 @@
+../../Task/Super-d-numbers/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Tonelli-Shanks-algorithm b/Lang/Erlang/Tonelli-Shanks-algorithm
new file mode 120000
index 0000000000..5c601a781e
--- /dev/null
+++ b/Lang/Erlang/Tonelli-Shanks-algorithm
@@ -0,0 +1 @@
+../../Task/Tonelli-Shanks-algorithm/Erlang
\ No newline at end of file
diff --git a/Lang/Euphoria/00-LANG.txt b/Lang/Euphoria/00-LANG.txt
index 702dca9e88..9dc38ade08 100644
--- a/Lang/Euphoria/00-LANG.txt
+++ b/Lang/Euphoria/00-LANG.txt
@@ -18,4 +18,7 @@ Euphoria is a powerful yet simple programming language, developed by Robert Crai
==See also==
* [[wp:Euphoria (programming language)|Euphoria on Wikipedia]]
* [http://rapideuphoria.com/ RapidEuphoria site]
-* [http://openeuphoria.org/ openEuphoria site]
\ No newline at end of file
+* [http://openeuphoria.org/ openEuphoria site]
+
+==Todo==
+[https://rosettacode.org/wiki/Tasks_not_implemented_in_Euphoria Tasks not implemented in Euphoria]
\ No newline at end of file
diff --git a/Lang/Euphoria/Calculating-the-value-of-e b/Lang/Euphoria/Calculating-the-value-of-e
new file mode 120000
index 0000000000..ae2255b209
--- /dev/null
+++ b/Lang/Euphoria/Calculating-the-value-of-e
@@ -0,0 +1 @@
+../../Task/Calculating-the-value-of-e/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Combinations b/Lang/Euphoria/Combinations
new file mode 120000
index 0000000000..10b7f0283e
--- /dev/null
+++ b/Lang/Euphoria/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Convert-seconds-to-compound-duration b/Lang/Euphoria/Convert-seconds-to-compound-duration
new file mode 120000
index 0000000000..91ba9055cf
--- /dev/null
+++ b/Lang/Euphoria/Convert-seconds-to-compound-duration
@@ -0,0 +1 @@
+../../Task/Convert-seconds-to-compound-duration/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Empty-program b/Lang/Euphoria/Empty-program
deleted file mode 120000
index 241cd5711b..0000000000
--- a/Lang/Euphoria/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/File-size-distribution b/Lang/Euphoria/File-size-distribution
new file mode 120000
index 0000000000..a10a0eb48b
--- /dev/null
+++ b/Lang/Euphoria/File-size-distribution
@@ -0,0 +1 @@
+../../Task/File-size-distribution/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Nth b/Lang/Euphoria/Nth
new file mode 120000
index 0000000000..6f87edee5c
--- /dev/null
+++ b/Lang/Euphoria/Nth
@@ -0,0 +1 @@
+../../Task/Nth/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Quaternion-type b/Lang/Euphoria/Quaternion-type
deleted file mode 120000
index aedb6b51e1..0000000000
--- a/Lang/Euphoria/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Repeat b/Lang/Euphoria/Repeat
new file mode 120000
index 0000000000..750ad0f53c
--- /dev/null
+++ b/Lang/Euphoria/Repeat
@@ -0,0 +1 @@
+../../Task/Repeat/Euphoria
\ No newline at end of file
diff --git a/Lang/Excel/Arrays b/Lang/Excel/Arrays
new file mode 120000
index 0000000000..bad8c856a9
--- /dev/null
+++ b/Lang/Excel/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/Excel
\ No newline at end of file
diff --git a/Lang/Excel/Cholesky-decomposition b/Lang/Excel/Cholesky-decomposition
new file mode 120000
index 0000000000..2db67f4a20
--- /dev/null
+++ b/Lang/Excel/Cholesky-decomposition
@@ -0,0 +1 @@
+../../Task/Cholesky-decomposition/Excel
\ No newline at end of file
diff --git a/Lang/Excel/Conditional-structures b/Lang/Excel/Conditional-structures
new file mode 120000
index 0000000000..f4ffdbd4b9
--- /dev/null
+++ b/Lang/Excel/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Excel
\ No newline at end of file
diff --git a/Lang/Excel/FizzBuzz b/Lang/Excel/FizzBuzz
new file mode 120000
index 0000000000..15df08a856
--- /dev/null
+++ b/Lang/Excel/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Excel
\ No newline at end of file
diff --git a/Lang/Excel/Function-definition b/Lang/Excel/Function-definition
new file mode 120000
index 0000000000..e6ecf64bef
--- /dev/null
+++ b/Lang/Excel/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/Excel
\ No newline at end of file
diff --git a/Lang/Excel/Jacobi-symbol b/Lang/Excel/Jacobi-symbol
new file mode 120000
index 0000000000..85f7061c07
--- /dev/null
+++ b/Lang/Excel/Jacobi-symbol
@@ -0,0 +1 @@
+../../Task/Jacobi-symbol/Excel
\ No newline at end of file
diff --git a/Lang/Excel/Loops-For b/Lang/Excel/Loops-For
new file mode 120000
index 0000000000..876b47b179
--- /dev/null
+++ b/Lang/Excel/Loops-For
@@ -0,0 +1 @@
+../../Task/Loops-For/Excel
\ No newline at end of file
diff --git a/Lang/Excel/Repeat-a-string b/Lang/Excel/Repeat-a-string
new file mode 120000
index 0000000000..2c684073cb
--- /dev/null
+++ b/Lang/Excel/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Excel
\ No newline at end of file
diff --git a/Lang/Excel/Reverse-a-string b/Lang/Excel/Reverse-a-string
new file mode 120000
index 0000000000..2a3cf97cfe
--- /dev/null
+++ b/Lang/Excel/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Excel
\ No newline at end of file
diff --git a/Lang/Excel/Tokenize-a-string b/Lang/Excel/Tokenize-a-string
new file mode 120000
index 0000000000..9d5af3b4b4
--- /dev/null
+++ b/Lang/Excel/Tokenize-a-string
@@ -0,0 +1 @@
+../../Task/Tokenize-a-string/Excel
\ No newline at end of file
diff --git a/Lang/Extended-Color-BASIC/00-LANG.txt b/Lang/Extended-Color-BASIC/00-LANG.txt
new file mode 100644
index 0000000000..17efd36e93
--- /dev/null
+++ b/Lang/Extended-Color-BASIC/00-LANG.txt
@@ -0,0 +1,7 @@
+{{language|Extended Color BASIC}}
+
+Microsoft Extended Color BASIC the BASIC interpreter for the Tandy Color Computer and the Dragon Data Motorola 6809 processor based machines.
+
+==See Also==
+* [[wp:Extended Color BASIC|Wikipedia: Extended Color BASIC]]
+* [[Tasks not Implemented in Extended Color BASIC]]
\ No newline at end of file
diff --git a/Lang/Extended-Color-BASIC/00-META.yaml b/Lang/Extended-Color-BASIC/00-META.yaml
new file mode 100644
index 0000000000..57e9e4028d
--- /dev/null
+++ b/Lang/Extended-Color-BASIC/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Extended_Color_BASIC
diff --git a/Lang/Extended-Color-BASIC/Arrays b/Lang/Extended-Color-BASIC/Arrays
new file mode 120000
index 0000000000..2ca9fdf8eb
--- /dev/null
+++ b/Lang/Extended-Color-BASIC/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/Extended-Color-BASIC
\ No newline at end of file
diff --git a/Lang/Extended-Color-BASIC/Copy-a-string b/Lang/Extended-Color-BASIC/Copy-a-string
new file mode 120000
index 0000000000..7a931a182a
--- /dev/null
+++ b/Lang/Extended-Color-BASIC/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Extended-Color-BASIC
\ No newline at end of file
diff --git a/Lang/Extended-Color-BASIC/Hello-world-Text b/Lang/Extended-Color-BASIC/Hello-world-Text
new file mode 120000
index 0000000000..b5cfbf6b90
--- /dev/null
+++ b/Lang/Extended-Color-BASIC/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Extended-Color-BASIC
\ No newline at end of file
diff --git a/Lang/Extended-Color-BASIC/Loops-For b/Lang/Extended-Color-BASIC/Loops-For
new file mode 120000
index 0000000000..8719420a7c
--- /dev/null
+++ b/Lang/Extended-Color-BASIC/Loops-For
@@ -0,0 +1 @@
+../../Task/Loops-For/Extended-Color-BASIC
\ No newline at end of file
diff --git a/Lang/Extended-Color-BASIC/Quine b/Lang/Extended-Color-BASIC/Quine
new file mode 120000
index 0000000000..fb6135d264
--- /dev/null
+++ b/Lang/Extended-Color-BASIC/Quine
@@ -0,0 +1 @@
+../../Task/Quine/Extended-Color-BASIC
\ No newline at end of file
diff --git a/Lang/Extended-Color-BASIC/User-input-Text b/Lang/Extended-Color-BASIC/User-input-Text
new file mode 120000
index 0000000000..545233f9b1
--- /dev/null
+++ b/Lang/Extended-Color-BASIC/User-input-Text
@@ -0,0 +1 @@
+../../Task/User-input-Text/Extended-Color-BASIC
\ No newline at end of file
diff --git a/Lang/F-Sharp/00-LANG.txt b/Lang/F-Sharp/00-LANG.txt
index ba98a5db01..db0c37eee0 100644
--- a/Lang/F-Sharp/00-LANG.txt
+++ b/Lang/F-Sharp/00-LANG.txt
@@ -9,8 +9,9 @@ It is based on the [[Caml]] language, and resembles it in syntax.
F# is included as an 'official' .NET language in [[Visual Studio]] 2010 and later.
-==External Links==
+==Links==
* [http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/default.aspx F# Website at Microsoft]
* [http://blogs.msdn.com/dsyme/ Don Syme's F# Weblog]
+* [[Tasks_not_implemented_in_F_Sharp]]
[[Category:Caml Implementations]]
\ No newline at end of file
diff --git a/Lang/F-Sharp/Bifid-cipher b/Lang/F-Sharp/Bifid-cipher
new file mode 120000
index 0000000000..4ac927ed58
--- /dev/null
+++ b/Lang/F-Sharp/Bifid-cipher
@@ -0,0 +1 @@
+../../Task/Bifid-cipher/F-Sharp
\ No newline at end of file
diff --git a/Lang/F-Sharp/Call-an-object-method b/Lang/F-Sharp/Call-an-object-method
new file mode 120000
index 0000000000..69c90b1041
--- /dev/null
+++ b/Lang/F-Sharp/Call-an-object-method
@@ -0,0 +1 @@
+../../Task/Call-an-object-method/F-Sharp
\ No newline at end of file
diff --git a/Lang/F-Sharp/Define-a-primitive-data-type b/Lang/F-Sharp/Define-a-primitive-data-type
new file mode 120000
index 0000000000..ef08834748
--- /dev/null
+++ b/Lang/F-Sharp/Define-a-primitive-data-type
@@ -0,0 +1 @@
+../../Task/Define-a-primitive-data-type/F-Sharp
\ No newline at end of file
diff --git a/Lang/F-Sharp/Dice-game-probabilities b/Lang/F-Sharp/Dice-game-probabilities
new file mode 120000
index 0000000000..70c873d7d5
--- /dev/null
+++ b/Lang/F-Sharp/Dice-game-probabilities
@@ -0,0 +1 @@
+../../Task/Dice-game-probabilities/F-Sharp
\ No newline at end of file
diff --git a/Lang/F-Sharp/I-before-E-except-after-C b/Lang/F-Sharp/I-before-E-except-after-C
new file mode 120000
index 0000000000..67d12030f9
--- /dev/null
+++ b/Lang/F-Sharp/I-before-E-except-after-C
@@ -0,0 +1 @@
+../../Task/I-before-E-except-after-C/F-Sharp
\ No newline at end of file
diff --git a/Lang/F-Sharp/Long-literals-with-continuations b/Lang/F-Sharp/Long-literals-with-continuations
new file mode 120000
index 0000000000..25a8149ce8
--- /dev/null
+++ b/Lang/F-Sharp/Long-literals-with-continuations
@@ -0,0 +1 @@
+../../Task/Long-literals-with-continuations/F-Sharp
\ No newline at end of file
diff --git a/Lang/F-Sharp/Long-multiplication b/Lang/F-Sharp/Long-multiplication
deleted file mode 120000
index a8ece45d37..0000000000
--- a/Lang/F-Sharp/Long-multiplication
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Long-multiplication/F-Sharp
\ No newline at end of file
diff --git a/Lang/F-Sharp/Long-year b/Lang/F-Sharp/Long-year
new file mode 120000
index 0000000000..94b40682e9
--- /dev/null
+++ b/Lang/F-Sharp/Long-year
@@ -0,0 +1 @@
+../../Task/Long-year/F-Sharp
\ No newline at end of file
diff --git a/Lang/F-Sharp/Mad-Libs b/Lang/F-Sharp/Mad-Libs
new file mode 120000
index 0000000000..69a30ced53
--- /dev/null
+++ b/Lang/F-Sharp/Mad-Libs
@@ -0,0 +1 @@
+../../Task/Mad-Libs/F-Sharp
\ No newline at end of file
diff --git a/Lang/F-Sharp/Miller-Rabin-primality-test b/Lang/F-Sharp/Miller-Rabin-primality-test
deleted file mode 120000
index 4b1a1d67d8..0000000000
--- a/Lang/F-Sharp/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/F-Sharp
\ No newline at end of file
diff --git a/Lang/F-Sharp/Multi-dimensional-array b/Lang/F-Sharp/Multi-dimensional-array
new file mode 120000
index 0000000000..0d6b1aaed5
--- /dev/null
+++ b/Lang/F-Sharp/Multi-dimensional-array
@@ -0,0 +1 @@
+../../Task/Multi-dimensional-array/F-Sharp
\ No newline at end of file
diff --git a/Lang/F-Sharp/Multiplicative-order b/Lang/F-Sharp/Multiplicative-order
new file mode 120000
index 0000000000..b2064cc3e0
--- /dev/null
+++ b/Lang/F-Sharp/Multiplicative-order
@@ -0,0 +1 @@
+../../Task/Multiplicative-order/F-Sharp
\ No newline at end of file
diff --git a/Lang/F-Sharp/Old-lady-swallowed-a-fly b/Lang/F-Sharp/Old-lady-swallowed-a-fly
new file mode 120000
index 0000000000..066ed3c32b
--- /dev/null
+++ b/Lang/F-Sharp/Old-lady-swallowed-a-fly
@@ -0,0 +1 @@
+../../Task/Old-lady-swallowed-a-fly/F-Sharp
\ No newline at end of file
diff --git a/Lang/F-Sharp/Probabilistic-choice b/Lang/F-Sharp/Probabilistic-choice
new file mode 120000
index 0000000000..b7d2692fe4
--- /dev/null
+++ b/Lang/F-Sharp/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/F-Sharp
\ No newline at end of file
diff --git a/Lang/F-Sharp/Quaternion-type b/Lang/F-Sharp/Quaternion-type
deleted file mode 120000
index 2de1d9f870..0000000000
--- a/Lang/F-Sharp/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/F-Sharp
\ No newline at end of file
diff --git a/Lang/F-Sharp/Same-fringe b/Lang/F-Sharp/Same-fringe
new file mode 120000
index 0000000000..04d84b3c5a
--- /dev/null
+++ b/Lang/F-Sharp/Same-fringe
@@ -0,0 +1 @@
+../../Task/Same-fringe/F-Sharp
\ No newline at end of file
diff --git a/Lang/F-Sharp/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/F-Sharp/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/F-Sharp/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/F-Sharp/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/F-Sharp/Sequence-smallest-number-with-exactly-n-divisors b/Lang/F-Sharp/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/F-Sharp/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/F-Sharp/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/F-Sharp/Sockets b/Lang/F-Sharp/Sockets
new file mode 120000
index 0000000000..13e34e4285
--- /dev/null
+++ b/Lang/F-Sharp/Sockets
@@ -0,0 +1 @@
+../../Task/Sockets/F-Sharp
\ No newline at end of file
diff --git a/Lang/F-Sharp/Sort-a-list-of-object-identifiers b/Lang/F-Sharp/Sort-a-list-of-object-identifiers
new file mode 120000
index 0000000000..396fa34539
--- /dev/null
+++ b/Lang/F-Sharp/Sort-a-list-of-object-identifiers
@@ -0,0 +1 @@
+../../Task/Sort-a-list-of-object-identifiers/F-Sharp
\ No newline at end of file
diff --git a/Lang/F-Sharp/Sort-numbers-lexicographically b/Lang/F-Sharp/Sort-numbers-lexicographically
new file mode 120000
index 0000000000..bcc33d5bb2
--- /dev/null
+++ b/Lang/F-Sharp/Sort-numbers-lexicographically
@@ -0,0 +1 @@
+../../Task/Sort-numbers-lexicographically/F-Sharp
\ No newline at end of file
diff --git a/Lang/F-Sharp/Variable-length-quantity b/Lang/F-Sharp/Variable-length-quantity
new file mode 120000
index 0000000000..2c43b02869
--- /dev/null
+++ b/Lang/F-Sharp/Variable-length-quantity
@@ -0,0 +1 @@
+../../Task/Variable-length-quantity/F-Sharp
\ No newline at end of file
diff --git a/Lang/FALSE/Empty-program b/Lang/FALSE/Empty-program
deleted file mode 120000
index 35445789cd..0000000000
--- a/Lang/FALSE/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/FALSE
\ No newline at end of file
diff --git a/Lang/FALSE/Zeckendorf-number-representation b/Lang/FALSE/Zeckendorf-number-representation
new file mode 120000
index 0000000000..fdef231a56
--- /dev/null
+++ b/Lang/FALSE/Zeckendorf-number-representation
@@ -0,0 +1 @@
+../../Task/Zeckendorf-number-representation/FALSE
\ No newline at end of file
diff --git a/Lang/FOCAL/Combinations b/Lang/FOCAL/Combinations
new file mode 120000
index 0000000000..882a5e580d
--- /dev/null
+++ b/Lang/FOCAL/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/FOCAL
\ No newline at end of file
diff --git a/Lang/FOCAL/Hunt-the-Wumpus b/Lang/FOCAL/Hunt-the-Wumpus
new file mode 120000
index 0000000000..098e817517
--- /dev/null
+++ b/Lang/FOCAL/Hunt-the-Wumpus
@@ -0,0 +1 @@
+../../Task/Hunt-the-Wumpus/FOCAL
\ No newline at end of file
diff --git a/Lang/FOCAL/Sierpinski-carpet b/Lang/FOCAL/Sierpinski-carpet
new file mode 120000
index 0000000000..986467c5d7
--- /dev/null
+++ b/Lang/FOCAL/Sierpinski-carpet
@@ -0,0 +1 @@
+../../Task/Sierpinski-carpet/FOCAL
\ No newline at end of file
diff --git a/Lang/FOCAL/Zeckendorf-number-representation b/Lang/FOCAL/Zeckendorf-number-representation
new file mode 120000
index 0000000000..d0cbc5b4d2
--- /dev/null
+++ b/Lang/FOCAL/Zeckendorf-number-representation
@@ -0,0 +1 @@
+../../Task/Zeckendorf-number-representation/FOCAL
\ No newline at end of file
diff --git a/Lang/Factor/Best-shuffle b/Lang/Factor/Best-shuffle
new file mode 120000
index 0000000000..a10c8f5d14
--- /dev/null
+++ b/Lang/Factor/Best-shuffle
@@ -0,0 +1 @@
+../../Task/Best-shuffle/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Bioinformatics-base-count b/Lang/Factor/Bioinformatics-base-count
deleted file mode 120000
index cf4a54a26f..0000000000
--- a/Lang/Factor/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Brownian-tree b/Lang/Factor/Brownian-tree
new file mode 120000
index 0000000000..a93650256d
--- /dev/null
+++ b/Lang/Factor/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Quaternion-type b/Lang/Factor/Quaternion-type
deleted file mode 120000
index 47f0548ea8..0000000000
--- a/Lang/Factor/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Sequence-nth-number-with-exactly-n-divisors b/Lang/Factor/Sequence:-nth-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Factor/Sequence-nth-number-with-exactly-n-divisors
rename to Lang/Factor/Sequence:-nth-number-with-exactly-n-divisors
diff --git a/Lang/Factor/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/Factor/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/Factor/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/Factor/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/Factor/Sequence-smallest-number-with-exactly-n-divisors b/Lang/Factor/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Factor/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/Factor/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/Factor/Tic-tac-toe b/Lang/Factor/Tic-tac-toe
new file mode 120000
index 0000000000..183c5fb3e0
--- /dev/null
+++ b/Lang/Factor/Tic-tac-toe
@@ -0,0 +1 @@
+../../Task/Tic-tac-toe/Factor
\ No newline at end of file
diff --git a/Lang/Fennel/00-LANG.txt b/Lang/Fennel/00-LANG.txt
index d4313c004b..a3b3fb9075 100644
--- a/Lang/Fennel/00-LANG.txt
+++ b/Lang/Fennel/00-LANG.txt
@@ -10,4 +10,9 @@ According to Fennel website: Fennel is a programming language that brings togeth
Anywhere you can run Lua code, you can run Fennel code.
-See more examples at: [https://fennel-lang.org/ Fennel Website]
\ No newline at end of file
+See more examples at: [https://fennel-lang.org/ Fennel Website]
+
+A useful learning tool is antifennel at [https://git.sr.ht/~technomancy/antifennel https://git.sr.ht/~technomancy/antifennel] that can convert Lua programs to Fennel.
+NB, some Lua features are not supported, particularly , and goto and any new features in Lua 5.5.
+
+As well as [[Lua]] 5.x VMs, Fennel programs can also be run with [[Pluto]], though warnings will probably be generated when Pluto parses the generated Lua.
\ No newline at end of file
diff --git a/Lang/Fennel/100-doors b/Lang/Fennel/100-doors
new file mode 120000
index 0000000000..445ef6d734
--- /dev/null
+++ b/Lang/Fennel/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Abundant-deficient-and-perfect-number-classifications b/Lang/Fennel/Abundant-deficient-and-perfect-number-classifications
new file mode 120000
index 0000000000..fbb88cf56d
--- /dev/null
+++ b/Lang/Fennel/Abundant-deficient-and-perfect-number-classifications
@@ -0,0 +1 @@
+../../Task/Abundant-deficient-and-perfect-number-classifications/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Almost-prime b/Lang/Fennel/Almost-prime
new file mode 120000
index 0000000000..ff96ace4e0
--- /dev/null
+++ b/Lang/Fennel/Almost-prime
@@ -0,0 +1 @@
+../../Task/Almost-prime/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Ascending-primes b/Lang/Fennel/Ascending-primes
new file mode 120000
index 0000000000..809d348a6f
--- /dev/null
+++ b/Lang/Fennel/Ascending-primes
@@ -0,0 +1 @@
+../../Task/Ascending-primes/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Associative-array-Iteration b/Lang/Fennel/Associative-array-Iteration
new file mode 120000
index 0000000000..35dee61a57
--- /dev/null
+++ b/Lang/Fennel/Associative-array-Iteration
@@ -0,0 +1 @@
+../../Task/Associative-array-Iteration/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Chowla-numbers b/Lang/Fennel/Chowla-numbers
new file mode 120000
index 0000000000..ceac262e93
--- /dev/null
+++ b/Lang/Fennel/Chowla-numbers
@@ -0,0 +1 @@
+../../Task/Chowla-numbers/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Descending-primes b/Lang/Fennel/Descending-primes
new file mode 120000
index 0000000000..0de026f662
--- /dev/null
+++ b/Lang/Fennel/Descending-primes
@@ -0,0 +1 @@
+../../Task/Descending-primes/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Dot-product b/Lang/Fennel/Dot-product
new file mode 120000
index 0000000000..ef8e13865c
--- /dev/null
+++ b/Lang/Fennel/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Equal-prime-and-composite-sums b/Lang/Fennel/Equal-prime-and-composite-sums
new file mode 120000
index 0000000000..fd46523293
--- /dev/null
+++ b/Lang/Fennel/Equal-prime-and-composite-sums
@@ -0,0 +1 @@
+../../Task/Equal-prime-and-composite-sums/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Euclid-Mullin-sequence b/Lang/Fennel/Euclid-Mullin-sequence
new file mode 120000
index 0000000000..3b36037b43
--- /dev/null
+++ b/Lang/Fennel/Euclid-Mullin-sequence
@@ -0,0 +1 @@
+../../Task/Euclid-Mullin-sequence/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Execute-Brain- b/Lang/Fennel/Execute-Brain-
new file mode 120000
index 0000000000..c651f55913
--- /dev/null
+++ b/Lang/Fennel/Execute-Brain-
@@ -0,0 +1 @@
+../../Task/Execute-Brain-/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Factorial b/Lang/Fennel/Factorial
new file mode 120000
index 0000000000..ad3ab162af
--- /dev/null
+++ b/Lang/Fennel/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Factorial-primes b/Lang/Fennel/Factorial-primes
new file mode 120000
index 0000000000..f7ae7a4fab
--- /dev/null
+++ b/Lang/Fennel/Factorial-primes
@@ -0,0 +1 @@
+../../Task/Factorial-primes/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Goldbachs-comet b/Lang/Fennel/Goldbachs-comet
new file mode 120000
index 0000000000..38a9767c12
--- /dev/null
+++ b/Lang/Fennel/Goldbachs-comet
@@ -0,0 +1 @@
+../../Task/Goldbachs-comet/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Haversine-formula b/Lang/Fennel/Haversine-formula
new file mode 120000
index 0000000000..855dbd8be0
--- /dev/null
+++ b/Lang/Fennel/Haversine-formula
@@ -0,0 +1 @@
+../../Task/Haversine-formula/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Horners-rule-for-polynomial-evaluation b/Lang/Fennel/Horners-rule-for-polynomial-evaluation
new file mode 120000
index 0000000000..74fe37f151
--- /dev/null
+++ b/Lang/Fennel/Horners-rule-for-polynomial-evaluation
@@ -0,0 +1 @@
+../../Task/Horners-rule-for-polynomial-evaluation/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Jacobsthal-numbers b/Lang/Fennel/Jacobsthal-numbers
new file mode 120000
index 0000000000..fcf69f6156
--- /dev/null
+++ b/Lang/Fennel/Jacobsthal-numbers
@@ -0,0 +1 @@
+../../Task/Jacobsthal-numbers/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Jordan-P-lya-numbers b/Lang/Fennel/Jordan-P-lya-numbers
new file mode 120000
index 0000000000..b4c757f403
--- /dev/null
+++ b/Lang/Fennel/Jordan-P-lya-numbers
@@ -0,0 +1 @@
+../../Task/Jordan-P-lya-numbers/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Juggler-sequence b/Lang/Fennel/Juggler-sequence
new file mode 120000
index 0000000000..09d9faa2d8
--- /dev/null
+++ b/Lang/Fennel/Juggler-sequence
@@ -0,0 +1 @@
+../../Task/Juggler-sequence/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Legendre-prime-counting-function b/Lang/Fennel/Legendre-prime-counting-function
new file mode 120000
index 0000000000..da570fb296
--- /dev/null
+++ b/Lang/Fennel/Legendre-prime-counting-function
@@ -0,0 +1 @@
+../../Task/Legendre-prime-counting-function/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Magic-8-ball b/Lang/Fennel/Magic-8-ball
new file mode 120000
index 0000000000..aa85a0a813
--- /dev/null
+++ b/Lang/Fennel/Magic-8-ball
@@ -0,0 +1 @@
+../../Task/Magic-8-ball/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/McNuggets-problem b/Lang/Fennel/McNuggets-problem
new file mode 120000
index 0000000000..6947e9ca17
--- /dev/null
+++ b/Lang/Fennel/McNuggets-problem
@@ -0,0 +1 @@
+../../Task/McNuggets-problem/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Numbers-with-equal-rises-and-falls b/Lang/Fennel/Numbers-with-equal-rises-and-falls
new file mode 120000
index 0000000000..5b24fbe9c6
--- /dev/null
+++ b/Lang/Fennel/Numbers-with-equal-rises-and-falls
@@ -0,0 +1 @@
+../../Task/Numbers-with-equal-rises-and-falls/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Ordered-words b/Lang/Fennel/Ordered-words
new file mode 120000
index 0000000000..e6920afb80
--- /dev/null
+++ b/Lang/Fennel/Ordered-words
@@ -0,0 +1 @@
+../../Task/Ordered-words/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Program-name b/Lang/Fennel/Program-name
new file mode 120000
index 0000000000..c12837ea94
--- /dev/null
+++ b/Lang/Fennel/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Quoting-constructs b/Lang/Fennel/Quoting-constructs
new file mode 120000
index 0000000000..69544d5ca6
--- /dev/null
+++ b/Lang/Fennel/Quoting-constructs
@@ -0,0 +1 @@
+../../Task/Quoting-constructs/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Sleeping-Beauty-problem b/Lang/Fennel/Sleeping-Beauty-problem
new file mode 120000
index 0000000000..35404c74a3
--- /dev/null
+++ b/Lang/Fennel/Sleeping-Beauty-problem
@@ -0,0 +1 @@
+../../Task/Sleeping-Beauty-problem/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Square-but-not-cube b/Lang/Fennel/Square-but-not-cube
new file mode 120000
index 0000000000..55c96cb4bd
--- /dev/null
+++ b/Lang/Fennel/Square-but-not-cube
@@ -0,0 +1 @@
+../../Task/Square-but-not-cube/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Sum-of-elements-below-main-diagonal-of-matrix b/Lang/Fennel/Sum-of-elements-below-main-diagonal-of-matrix
new file mode 120000
index 0000000000..e6054255ef
--- /dev/null
+++ b/Lang/Fennel/Sum-of-elements-below-main-diagonal-of-matrix
@@ -0,0 +1 @@
+../../Task/Sum-of-elements-below-main-diagonal-of-matrix/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Tau-function b/Lang/Fennel/Tau-function
new file mode 120000
index 0000000000..97342018ad
--- /dev/null
+++ b/Lang/Fennel/Tau-function
@@ -0,0 +1 @@
+../../Task/Tau-function/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Tau-number b/Lang/Fennel/Tau-number
new file mode 120000
index 0000000000..b25562b44c
--- /dev/null
+++ b/Lang/Fennel/Tau-number
@@ -0,0 +1 @@
+../../Task/Tau-number/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Thue-Morse b/Lang/Fennel/Thue-Morse
new file mode 120000
index 0000000000..03b98b380a
--- /dev/null
+++ b/Lang/Fennel/Thue-Morse
@@ -0,0 +1 @@
+../../Task/Thue-Morse/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Time-a-function b/Lang/Fennel/Time-a-function
new file mode 120000
index 0000000000..e57c2d9bfb
--- /dev/null
+++ b/Lang/Fennel/Time-a-function
@@ -0,0 +1 @@
+../../Task/Time-a-function/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Wilson-primes-of-order-n b/Lang/Fennel/Wilson-primes-of-order-n
new file mode 120000
index 0000000000..3a829de574
--- /dev/null
+++ b/Lang/Fennel/Wilson-primes-of-order-n
@@ -0,0 +1 @@
+../../Task/Wilson-primes-of-order-n/Fennel
\ No newline at end of file
diff --git a/Lang/Fennel/Yellowstone-sequence b/Lang/Fennel/Yellowstone-sequence
new file mode 120000
index 0000000000..e160b50754
--- /dev/null
+++ b/Lang/Fennel/Yellowstone-sequence
@@ -0,0 +1 @@
+../../Task/Yellowstone-sequence/Fennel
\ No newline at end of file
diff --git a/Lang/Fish/00-LANG.txt b/Lang/Fish/00-LANG.txt
index ae84e9d381..3479165e5a 100644
--- a/Lang/Fish/00-LANG.txt
+++ b/Lang/Fish/00-LANG.txt
@@ -1,4 +1,3 @@
-{{language}}Fish is an Funge-like esoteric language, consisting of the traditional Funge one-character commands.
-A complete specification with a list of implementations can be found at [[eso:Fish|esolangs]].
+{{language}}Fish (properly spelled "><>") is a Funge-like esoteric language, consisting of the traditional Funge one-character commands arranged in a two-dimensional code space. A complete specification with a list of implementations can be found at [[eso:Fish|esolangs]].
[[Category:Esoteric_Languages]]
\ No newline at end of file
diff --git a/Lang/Forth/Almost-prime b/Lang/Forth/Almost-prime
new file mode 120000
index 0000000000..bbe907fa90
--- /dev/null
+++ b/Lang/Forth/Almost-prime
@@ -0,0 +1 @@
+../../Task/Almost-prime/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Bell-numbers b/Lang/Forth/Bell-numbers
new file mode 120000
index 0000000000..d0f973798a
--- /dev/null
+++ b/Lang/Forth/Bell-numbers
@@ -0,0 +1 @@
+../../Task/Bell-numbers/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Bioinformatics-base-count b/Lang/Forth/Bioinformatics-base-count
deleted file mode 120000
index b72b7872d9..0000000000
--- a/Lang/Forth/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Chaocipher b/Lang/Forth/Chaocipher
new file mode 120000
index 0000000000..4e26356ed4
--- /dev/null
+++ b/Lang/Forth/Chaocipher
@@ -0,0 +1 @@
+../../Task/Chaocipher/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Deceptive-numbers b/Lang/Forth/Deceptive-numbers
new file mode 120000
index 0000000000..68978661e4
--- /dev/null
+++ b/Lang/Forth/Deceptive-numbers
@@ -0,0 +1 @@
+../../Task/Deceptive-numbers/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Duffinian-numbers b/Lang/Forth/Duffinian-numbers
new file mode 120000
index 0000000000..9a7e28500f
--- /dev/null
+++ b/Lang/Forth/Duffinian-numbers
@@ -0,0 +1 @@
+../../Task/Duffinian-numbers/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Fibonacci-word b/Lang/Forth/Fibonacci-word
new file mode 120000
index 0000000000..b5b4488597
--- /dev/null
+++ b/Lang/Forth/Fibonacci-word
@@ -0,0 +1 @@
+../../Task/Fibonacci-word/Forth
\ No newline at end of file
diff --git a/Lang/Forth/GUI-component-interaction b/Lang/Forth/GUI-component-interaction
new file mode 120000
index 0000000000..6ac944b586
--- /dev/null
+++ b/Lang/Forth/GUI-component-interaction
@@ -0,0 +1 @@
+../../Task/GUI-component-interaction/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Hunt-the-Wumpus b/Lang/Forth/Hunt-the-Wumpus
new file mode 120000
index 0000000000..3a835dfd4d
--- /dev/null
+++ b/Lang/Forth/Hunt-the-Wumpus
@@ -0,0 +1 @@
+../../Task/Hunt-the-Wumpus/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Lah-numbers b/Lang/Forth/Lah-numbers
new file mode 120000
index 0000000000..63faba81d9
--- /dev/null
+++ b/Lang/Forth/Lah-numbers
@@ -0,0 +1 @@
+../../Task/Lah-numbers/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Leonardo-numbers b/Lang/Forth/Leonardo-numbers
new file mode 120000
index 0000000000..5742a06693
--- /dev/null
+++ b/Lang/Forth/Leonardo-numbers
@@ -0,0 +1 @@
+../../Task/Leonardo-numbers/Forth
\ No newline at end of file
diff --git a/Lang/Forth/M-bius-function b/Lang/Forth/M-bius-function
new file mode 120000
index 0000000000..02d70b9302
--- /dev/null
+++ b/Lang/Forth/M-bius-function
@@ -0,0 +1 @@
+../../Task/M-bius-function/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Miller-Rabin-primality-test b/Lang/Forth/Miller-Rabin-primality-test
deleted file mode 120000
index 6d752b6553..0000000000
--- a/Lang/Forth/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Particle-fountain b/Lang/Forth/Particle-fountain
new file mode 120000
index 0000000000..3ac0d2e0d6
--- /dev/null
+++ b/Lang/Forth/Particle-fountain
@@ -0,0 +1 @@
+../../Task/Particle-fountain/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Pseudo-random-numbers-PCG32 b/Lang/Forth/Pseudo-random-numbers-PCG32
new file mode 120000
index 0000000000..df0bc45550
--- /dev/null
+++ b/Lang/Forth/Pseudo-random-numbers-PCG32
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-PCG32/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Quaternion-type b/Lang/Forth/Quaternion-type
deleted file mode 120000
index bed4c03ac8..0000000000
--- a/Lang/Forth/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Sorting-Algorithms-Circle-Sort b/Lang/Forth/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index 0f0dc80920..0000000000
--- a/Lang/Forth/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Sorting-algorithms-Pancake-sort b/Lang/Forth/Sorting-algorithms-Pancake-sort
new file mode 120000
index 0000000000..84e38b0321
--- /dev/null
+++ b/Lang/Forth/Sorting-algorithms-Pancake-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Pancake-sort/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Stirling-numbers-of-the-first-kind b/Lang/Forth/Stirling-numbers-of-the-first-kind
new file mode 120000
index 0000000000..f35ec2aaf5
--- /dev/null
+++ b/Lang/Forth/Stirling-numbers-of-the-first-kind
@@ -0,0 +1 @@
+../../Task/Stirling-numbers-of-the-first-kind/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Stirling-numbers-of-the-second-kind b/Lang/Forth/Stirling-numbers-of-the-second-kind
new file mode 120000
index 0000000000..a86eb5dfc1
--- /dev/null
+++ b/Lang/Forth/Stirling-numbers-of-the-second-kind
@@ -0,0 +1 @@
+../../Task/Stirling-numbers-of-the-second-kind/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Twin-primes b/Lang/Forth/Twin-primes
new file mode 120000
index 0000000000..7812aac04a
--- /dev/null
+++ b/Lang/Forth/Twin-primes
@@ -0,0 +1 @@
+../../Task/Twin-primes/Forth
\ No newline at end of file
diff --git a/Lang/Fortran/ADFGVX-cipher b/Lang/Fortran/ADFGVX-cipher
new file mode 120000
index 0000000000..dc1d16bc9a
--- /dev/null
+++ b/Lang/Fortran/ADFGVX-cipher
@@ -0,0 +1 @@
+../../Task/ADFGVX-cipher/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Abbreviations-automatic b/Lang/Fortran/Abbreviations-automatic
new file mode 120000
index 0000000000..b006a0de84
--- /dev/null
+++ b/Lang/Fortran/Abbreviations-automatic
@@ -0,0 +1 @@
+../../Task/Abbreviations-automatic/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Abbreviations-easy b/Lang/Fortran/Abbreviations-easy
new file mode 120000
index 0000000000..ad33bd3687
--- /dev/null
+++ b/Lang/Fortran/Abbreviations-easy
@@ -0,0 +1 @@
+../../Task/Abbreviations-easy/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Abbreviations-simple b/Lang/Fortran/Abbreviations-simple
new file mode 120000
index 0000000000..9ddfe0b240
--- /dev/null
+++ b/Lang/Fortran/Abbreviations-simple
@@ -0,0 +1 @@
+../../Task/Abbreviations-simple/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Abelian-sandpile-model-Identity b/Lang/Fortran/Abelian-sandpile-model-Identity
new file mode 120000
index 0000000000..f022469180
--- /dev/null
+++ b/Lang/Fortran/Abelian-sandpile-model-Identity
@@ -0,0 +1 @@
+../../Task/Abelian-sandpile-model-Identity/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Additive-primes b/Lang/Fortran/Additive-primes
new file mode 120000
index 0000000000..ea531b1d68
--- /dev/null
+++ b/Lang/Fortran/Additive-primes
@@ -0,0 +1 @@
+../../Task/Additive-primes/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Apply-a-digital-filter-direct-form-II-transposed- b/Lang/Fortran/Apply-a-digital-filter-direct-form-II-transposed-
new file mode 120000
index 0000000000..dd0e66389d
--- /dev/null
+++ b/Lang/Fortran/Apply-a-digital-filter-direct-form-II-transposed-
@@ -0,0 +1 @@
+../../Task/Apply-a-digital-filter-direct-form-II-transposed-/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Arithmetic-derivative b/Lang/Fortran/Arithmetic-derivative
new file mode 120000
index 0000000000..afa7044404
--- /dev/null
+++ b/Lang/Fortran/Arithmetic-derivative
@@ -0,0 +1 @@
+../../Task/Arithmetic-derivative/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Arithmetic-numbers b/Lang/Fortran/Arithmetic-numbers
new file mode 120000
index 0000000000..19ae0a75dc
--- /dev/null
+++ b/Lang/Fortran/Arithmetic-numbers
@@ -0,0 +1 @@
+../../Task/Arithmetic-numbers/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Associative-array-Merging b/Lang/Fortran/Associative-array-Merging
new file mode 120000
index 0000000000..862cee9b2b
--- /dev/null
+++ b/Lang/Fortran/Associative-array-Merging
@@ -0,0 +1 @@
+../../Task/Associative-array-Merging/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/B-zier-curves-Intersections b/Lang/Fortran/B-zier-curves-Intersections
new file mode 120000
index 0000000000..59ae9a9e9a
--- /dev/null
+++ b/Lang/Fortran/B-zier-curves-Intersections
@@ -0,0 +1 @@
+../../Task/B-zier-curves-Intersections/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Best-shuffle b/Lang/Fortran/Best-shuffle
new file mode 120000
index 0000000000..735756bb7c
--- /dev/null
+++ b/Lang/Fortran/Best-shuffle
@@ -0,0 +1 @@
+../../Task/Best-shuffle/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Bifid-cipher b/Lang/Fortran/Bifid-cipher
new file mode 120000
index 0000000000..65b6def5fd
--- /dev/null
+++ b/Lang/Fortran/Bifid-cipher
@@ -0,0 +1 @@
+../../Task/Bifid-cipher/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Bin-given-limits b/Lang/Fortran/Bin-given-limits
new file mode 120000
index 0000000000..d5ad60904d
--- /dev/null
+++ b/Lang/Fortran/Bin-given-limits
@@ -0,0 +1 @@
+../../Task/Bin-given-limits/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Bioinformatics-Sequence-mutation b/Lang/Fortran/Bioinformatics-Sequence-mutation
new file mode 120000
index 0000000000..9bcd7a681c
--- /dev/null
+++ b/Lang/Fortran/Bioinformatics-Sequence-mutation
@@ -0,0 +1 @@
+../../Task/Bioinformatics-Sequence-mutation/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Blum-integer b/Lang/Fortran/Blum-integer
new file mode 120000
index 0000000000..814d829eed
--- /dev/null
+++ b/Lang/Fortran/Blum-integer
@@ -0,0 +1 @@
+../../Task/Blum-integer/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Brilliant-numbers b/Lang/Fortran/Brilliant-numbers
new file mode 120000
index 0000000000..6c927981ae
--- /dev/null
+++ b/Lang/Fortran/Brilliant-numbers
@@ -0,0 +1 @@
+../../Task/Brilliant-numbers/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Burrows-Wheeler-transform b/Lang/Fortran/Burrows-Wheeler-transform
new file mode 120000
index 0000000000..e312b27f94
--- /dev/null
+++ b/Lang/Fortran/Burrows-Wheeler-transform
@@ -0,0 +1 @@
+../../Task/Burrows-Wheeler-transform/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Calkin-Wilf-sequence b/Lang/Fortran/Calkin-Wilf-sequence
new file mode 120000
index 0000000000..daedbbc7bc
--- /dev/null
+++ b/Lang/Fortran/Calkin-Wilf-sequence
@@ -0,0 +1 @@
+../../Task/Calkin-Wilf-sequence/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Camel-case-and-snake-case b/Lang/Fortran/Camel-case-and-snake-case
new file mode 120000
index 0000000000..8c737ed655
--- /dev/null
+++ b/Lang/Fortran/Camel-case-and-snake-case
@@ -0,0 +1 @@
+../../Task/Camel-case-and-snake-case/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Casting-out-nines b/Lang/Fortran/Casting-out-nines
new file mode 120000
index 0000000000..7062811203
--- /dev/null
+++ b/Lang/Fortran/Casting-out-nines
@@ -0,0 +1 @@
+../../Task/Casting-out-nines/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Catalan-numbers-Pascals-triangle b/Lang/Fortran/Catalan-numbers-Pascals-triangle
new file mode 120000
index 0000000000..e33b331d86
--- /dev/null
+++ b/Lang/Fortran/Catalan-numbers-Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Catalan-numbers-Pascals-triangle/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Chaocipher b/Lang/Fortran/Chaocipher
new file mode 120000
index 0000000000..1db3092120
--- /dev/null
+++ b/Lang/Fortran/Chaocipher
@@ -0,0 +1 @@
+../../Task/Chaocipher/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Check-input-device-is-a-terminal b/Lang/Fortran/Check-input-device-is-a-terminal
new file mode 120000
index 0000000000..a97eabf9a0
--- /dev/null
+++ b/Lang/Fortran/Check-input-device-is-a-terminal
@@ -0,0 +1 @@
+../../Task/Check-input-device-is-a-terminal/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Check-output-device-is-a-terminal b/Lang/Fortran/Check-output-device-is-a-terminal
new file mode 120000
index 0000000000..47a93202b8
--- /dev/null
+++ b/Lang/Fortran/Check-output-device-is-a-terminal
@@ -0,0 +1 @@
+../../Task/Check-output-device-is-a-terminal/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Chinese-zodiac b/Lang/Fortran/Chinese-zodiac
new file mode 120000
index 0000000000..87ed14e5e7
--- /dev/null
+++ b/Lang/Fortran/Chinese-zodiac
@@ -0,0 +1 @@
+../../Task/Chinese-zodiac/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Commatizing-numbers b/Lang/Fortran/Commatizing-numbers
new file mode 120000
index 0000000000..b30a0bb3a4
--- /dev/null
+++ b/Lang/Fortran/Commatizing-numbers
@@ -0,0 +1 @@
+../../Task/Commatizing-numbers/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Consecutive-primes-with-ascending-or-descending-differences b/Lang/Fortran/Consecutive-primes-with-ascending-or-descending-differences
new file mode 120000
index 0000000000..1347a887b7
--- /dev/null
+++ b/Lang/Fortran/Consecutive-primes-with-ascending-or-descending-differences
@@ -0,0 +1 @@
+../../Task/Consecutive-primes-with-ascending-or-descending-differences/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Copy-stdin-to-stdout b/Lang/Fortran/Copy-stdin-to-stdout
new file mode 120000
index 0000000000..47cac281c7
--- /dev/null
+++ b/Lang/Fortran/Copy-stdin-to-stdout
@@ -0,0 +1 @@
+../../Task/Copy-stdin-to-stdout/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Count-the-coins b/Lang/Fortran/Count-the-coins
new file mode 120000
index 0000000000..974abe5d75
--- /dev/null
+++ b/Lang/Fortran/Count-the-coins
@@ -0,0 +1 @@
+../../Task/Count-the-coins/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Cuban-primes b/Lang/Fortran/Cuban-primes
new file mode 120000
index 0000000000..87850fcead
--- /dev/null
+++ b/Lang/Fortran/Cuban-primes
@@ -0,0 +1 @@
+../../Task/Cuban-primes/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Cullen-and-Woodall-numbers b/Lang/Fortran/Cullen-and-Woodall-numbers
new file mode 120000
index 0000000000..ca6a11cd97
--- /dev/null
+++ b/Lang/Fortran/Cullen-and-Woodall-numbers
@@ -0,0 +1 @@
+../../Task/Cullen-and-Woodall-numbers/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Currency b/Lang/Fortran/Currency
new file mode 120000
index 0000000000..2f7b0a58da
--- /dev/null
+++ b/Lang/Fortran/Currency
@@ -0,0 +1 @@
+../../Task/Currency/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Curzon-numbers b/Lang/Fortran/Curzon-numbers
new file mode 120000
index 0000000000..b7d16c2b28
--- /dev/null
+++ b/Lang/Fortran/Curzon-numbers
@@ -0,0 +1 @@
+../../Task/Curzon-numbers/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Cyclops-numbers b/Lang/Fortran/Cyclops-numbers
new file mode 120000
index 0000000000..8c606709ad
--- /dev/null
+++ b/Lang/Fortran/Cyclops-numbers
@@ -0,0 +1 @@
+../../Task/Cyclops-numbers/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Cyclotomic-polynomial b/Lang/Fortran/Cyclotomic-polynomial
new file mode 120000
index 0000000000..0c2fd63e5e
--- /dev/null
+++ b/Lang/Fortran/Cyclotomic-polynomial
@@ -0,0 +1 @@
+../../Task/Cyclotomic-polynomial/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Demings-funnel b/Lang/Fortran/Demings-funnel
new file mode 120000
index 0000000000..0a1ca7ab40
--- /dev/null
+++ b/Lang/Fortran/Demings-funnel
@@ -0,0 +1 @@
+../../Task/Demings-funnel/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Determine-if-a-string-is-collapsible b/Lang/Fortran/Determine-if-a-string-is-collapsible
new file mode 120000
index 0000000000..f496b06786
--- /dev/null
+++ b/Lang/Fortran/Determine-if-a-string-is-collapsible
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-collapsible/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Determine-if-two-triangles-overlap b/Lang/Fortran/Determine-if-two-triangles-overlap
new file mode 120000
index 0000000000..902cd39054
--- /dev/null
+++ b/Lang/Fortran/Determine-if-two-triangles-overlap
@@ -0,0 +1 @@
+../../Task/Determine-if-two-triangles-overlap/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Dice-game-probabilities b/Lang/Fortran/Dice-game-probabilities
new file mode 120000
index 0000000000..1215daca7a
--- /dev/null
+++ b/Lang/Fortran/Dice-game-probabilities
@@ -0,0 +1 @@
+../../Task/Dice-game-probabilities/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Dinesmans-multiple-dwelling-problem b/Lang/Fortran/Dinesmans-multiple-dwelling-problem
new file mode 120000
index 0000000000..4ab5caf233
--- /dev/null
+++ b/Lang/Fortran/Dinesmans-multiple-dwelling-problem
@@ -0,0 +1 @@
+../../Task/Dinesmans-multiple-dwelling-problem/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Dining-philosophers b/Lang/Fortran/Dining-philosophers
new file mode 120000
index 0000000000..8822e00fdf
--- /dev/null
+++ b/Lang/Fortran/Dining-philosophers
@@ -0,0 +1 @@
+../../Task/Dining-philosophers/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Disarium-numbers b/Lang/Fortran/Disarium-numbers
new file mode 120000
index 0000000000..4713bf931d
--- /dev/null
+++ b/Lang/Fortran/Disarium-numbers
@@ -0,0 +1 @@
+../../Task/Disarium-numbers/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Display-a-linear-combination b/Lang/Fortran/Display-a-linear-combination
new file mode 120000
index 0000000000..4a9784f58d
--- /dev/null
+++ b/Lang/Fortran/Display-a-linear-combination
@@ -0,0 +1 @@
+../../Task/Display-a-linear-combination/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Diversity-prediction-theorem b/Lang/Fortran/Diversity-prediction-theorem
new file mode 120000
index 0000000000..c6eafa5019
--- /dev/null
+++ b/Lang/Fortran/Diversity-prediction-theorem
@@ -0,0 +1 @@
+../../Task/Diversity-prediction-theorem/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/EKG-sequence-convergence b/Lang/Fortran/EKG-sequence-convergence
new file mode 120000
index 0000000000..3ba5c0a162
--- /dev/null
+++ b/Lang/Fortran/EKG-sequence-convergence
@@ -0,0 +1 @@
+../../Task/EKG-sequence-convergence/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Eban-numbers b/Lang/Fortran/Eban-numbers
new file mode 120000
index 0000000000..0d435c16c7
--- /dev/null
+++ b/Lang/Fortran/Eban-numbers
@@ -0,0 +1 @@
+../../Task/Eban-numbers/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Egyptian-division b/Lang/Fortran/Egyptian-division
new file mode 120000
index 0000000000..bb7a134139
--- /dev/null
+++ b/Lang/Fortran/Egyptian-division
@@ -0,0 +1 @@
+../../Task/Egyptian-division/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Entropy-Narcissist b/Lang/Fortran/Entropy-Narcissist
new file mode 120000
index 0000000000..9050980c1c
--- /dev/null
+++ b/Lang/Fortran/Entropy-Narcissist
@@ -0,0 +1 @@
+../../Task/Entropy-Narcissist/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Eulers-constant-0.5772... b/Lang/Fortran/Eulers-constant-0.5772...
new file mode 120000
index 0000000000..e2642e24fb
--- /dev/null
+++ b/Lang/Fortran/Eulers-constant-0.5772...
@@ -0,0 +1 @@
+../../Task/Eulers-constant-0.5772.../Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Exponentiation-with-infix-operators-in-or-operating-on-the-base b/Lang/Fortran/Exponentiation-with-infix-operators-in-or-operating-on-the-base
new file mode 120000
index 0000000000..813fe58706
--- /dev/null
+++ b/Lang/Fortran/Exponentiation-with-infix-operators-in-or-operating-on-the-base
@@ -0,0 +1 @@
+../../Task/Exponentiation-with-infix-operators-in-or-operating-on-the-base/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/FASTA-format b/Lang/Fortran/FASTA-format
new file mode 120000
index 0000000000..b5442ba0f5
--- /dev/null
+++ b/Lang/Fortran/FASTA-format
@@ -0,0 +1 @@
+../../Task/FASTA-format/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Factorions b/Lang/Fortran/Factorions
new file mode 120000
index 0000000000..2a48b53fa3
--- /dev/null
+++ b/Lang/Fortran/Factorions
@@ -0,0 +1 @@
+../../Task/Factorions/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Farey-sequence b/Lang/Fortran/Farey-sequence
new file mode 120000
index 0000000000..d7c19f96de
--- /dev/null
+++ b/Lang/Fortran/Farey-sequence
@@ -0,0 +1 @@
+../../Task/Farey-sequence/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Fibonacci-word b/Lang/Fortran/Fibonacci-word
new file mode 120000
index 0000000000..e92e6e10a6
--- /dev/null
+++ b/Lang/Fortran/Fibonacci-word
@@ -0,0 +1 @@
+../../Task/Fibonacci-word/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Find-Chess960-starting-position-identifier b/Lang/Fortran/Find-Chess960-starting-position-identifier
new file mode 120000
index 0000000000..9300b24a96
--- /dev/null
+++ b/Lang/Fortran/Find-Chess960-starting-position-identifier
@@ -0,0 +1 @@
+../../Task/Find-Chess960-starting-position-identifier/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Find-common-directory-path b/Lang/Fortran/Find-common-directory-path
new file mode 120000
index 0000000000..87683f2dbe
--- /dev/null
+++ b/Lang/Fortran/Find-common-directory-path
@@ -0,0 +1 @@
+../../Task/Find-common-directory-path/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Find-the-intersection-of-a-line-with-a-plane b/Lang/Fortran/Find-the-intersection-of-a-line-with-a-plane
new file mode 120000
index 0000000000..b07ee0b0a7
--- /dev/null
+++ b/Lang/Fortran/Find-the-intersection-of-a-line-with-a-plane
@@ -0,0 +1 @@
+../../Task/Find-the-intersection-of-a-line-with-a-plane/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/First-perfect-square-in-base-n-with-n-unique-digits b/Lang/Fortran/First-perfect-square-in-base-n-with-n-unique-digits
new file mode 120000
index 0000000000..6f8a8ab270
--- /dev/null
+++ b/Lang/Fortran/First-perfect-square-in-base-n-with-n-unique-digits
@@ -0,0 +1 @@
+../../Task/First-perfect-square-in-base-n-with-n-unique-digits/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Fivenum b/Lang/Fortran/Fivenum
new file mode 120000
index 0000000000..a8fe9953dc
--- /dev/null
+++ b/Lang/Fortran/Fivenum
@@ -0,0 +1 @@
+../../Task/Fivenum/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Fixed-length-records b/Lang/Fortran/Fixed-length-records
new file mode 120000
index 0000000000..aa68735e7e
--- /dev/null
+++ b/Lang/Fortran/Fixed-length-records
@@ -0,0 +1 @@
+../../Task/Fixed-length-records/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Fraction-reduction b/Lang/Fortran/Fraction-reduction
new file mode 120000
index 0000000000..f7daa9279c
--- /dev/null
+++ b/Lang/Fortran/Fraction-reduction
@@ -0,0 +1 @@
+../../Task/Fraction-reduction/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/French-Republican-calendar b/Lang/Fortran/French-Republican-calendar
new file mode 120000
index 0000000000..765942db3d
--- /dev/null
+++ b/Lang/Fortran/French-Republican-calendar
@@ -0,0 +1 @@
+../../Task/French-Republican-calendar/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Fusc-sequence b/Lang/Fortran/Fusc-sequence
new file mode 120000
index 0000000000..c5e3005573
--- /dev/null
+++ b/Lang/Fortran/Fusc-sequence
@@ -0,0 +1 @@
+../../Task/Fusc-sequence/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Gapful-numbers b/Lang/Fortran/Gapful-numbers
new file mode 120000
index 0000000000..7500b01654
--- /dev/null
+++ b/Lang/Fortran/Gapful-numbers
@@ -0,0 +1 @@
+../../Task/Gapful-numbers/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Giuga-numbers b/Lang/Fortran/Giuga-numbers
new file mode 120000
index 0000000000..9f15a4c7e2
--- /dev/null
+++ b/Lang/Fortran/Giuga-numbers
@@ -0,0 +1 @@
+../../Task/Giuga-numbers/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Greedy-algorithm-for-Egyptian-fractions b/Lang/Fortran/Greedy-algorithm-for-Egyptian-fractions
new file mode 120000
index 0000000000..053e501120
--- /dev/null
+++ b/Lang/Fortran/Greedy-algorithm-for-Egyptian-fractions
@@ -0,0 +1 @@
+../../Task/Greedy-algorithm-for-Egyptian-fractions/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/HTTP b/Lang/Fortran/HTTP
new file mode 120000
index 0000000000..24f0692116
--- /dev/null
+++ b/Lang/Fortran/HTTP
@@ -0,0 +1 @@
+../../Task/HTTP/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Harmonic-series b/Lang/Fortran/Harmonic-series
new file mode 120000
index 0000000000..6a6cd246a2
--- /dev/null
+++ b/Lang/Fortran/Harmonic-series
@@ -0,0 +1 @@
+../../Task/Harmonic-series/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Hex-words b/Lang/Fortran/Hex-words
new file mode 120000
index 0000000000..2b9a4573e8
--- /dev/null
+++ b/Lang/Fortran/Hex-words
@@ -0,0 +1 @@
+../../Task/Hex-words/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Hofstadter-Figure-Figure-sequences b/Lang/Fortran/Hofstadter-Figure-Figure-sequences
new file mode 120000
index 0000000000..46497cf751
--- /dev/null
+++ b/Lang/Fortran/Hofstadter-Figure-Figure-sequences
@@ -0,0 +1 @@
+../../Task/Hofstadter-Figure-Figure-sequences/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Humble-numbers b/Lang/Fortran/Humble-numbers
new file mode 120000
index 0000000000..5aff41aed9
--- /dev/null
+++ b/Lang/Fortran/Humble-numbers
@@ -0,0 +1 @@
+../../Task/Humble-numbers/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Intersecting-number-wheels b/Lang/Fortran/Intersecting-number-wheels
new file mode 120000
index 0000000000..f87ba36725
--- /dev/null
+++ b/Lang/Fortran/Intersecting-number-wheels
@@ -0,0 +1 @@
+../../Task/Intersecting-number-wheels/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Isograms-and-heterograms b/Lang/Fortran/Isograms-and-heterograms
new file mode 120000
index 0000000000..cc9bb4e50b
--- /dev/null
+++ b/Lang/Fortran/Isograms-and-heterograms
@@ -0,0 +1 @@
+../../Task/Isograms-and-heterograms/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Iterated-digits-squaring b/Lang/Fortran/Iterated-digits-squaring
new file mode 120000
index 0000000000..b72dc14257
--- /dev/null
+++ b/Lang/Fortran/Iterated-digits-squaring
@@ -0,0 +1 @@
+../../Task/Iterated-digits-squaring/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Jewels-and-stones b/Lang/Fortran/Jewels-and-stones
new file mode 120000
index 0000000000..5375572de2
--- /dev/null
+++ b/Lang/Fortran/Jewels-and-stones
@@ -0,0 +1 @@
+../../Task/Jewels-and-stones/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/K-d-tree b/Lang/Fortran/K-d-tree
new file mode 120000
index 0000000000..3b7491c540
--- /dev/null
+++ b/Lang/Fortran/K-d-tree
@@ -0,0 +1 @@
+../../Task/K-d-tree/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Kernighans-large-earthquake-problem b/Lang/Fortran/Kernighans-large-earthquake-problem
new file mode 120000
index 0000000000..ae20f8ddbd
--- /dev/null
+++ b/Lang/Fortran/Kernighans-large-earthquake-problem
@@ -0,0 +1 @@
+../../Task/Kernighans-large-earthquake-problem/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Knapsack-problem-Bounded b/Lang/Fortran/Knapsack-problem-Bounded
new file mode 120000
index 0000000000..9f9870702b
--- /dev/null
+++ b/Lang/Fortran/Knapsack-problem-Bounded
@@ -0,0 +1 @@
+../../Task/Knapsack-problem-Bounded/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Knuths-algorithm-S b/Lang/Fortran/Knuths-algorithm-S
new file mode 120000
index 0000000000..fe5b21ade9
--- /dev/null
+++ b/Lang/Fortran/Knuths-algorithm-S
@@ -0,0 +1 @@
+../../Task/Knuths-algorithm-S/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Knuths-power-tree b/Lang/Fortran/Knuths-power-tree
new file mode 120000
index 0000000000..163172c51f
--- /dev/null
+++ b/Lang/Fortran/Knuths-power-tree
@@ -0,0 +1 @@
+../../Task/Knuths-power-tree/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Largest-number-divisible-by-its-digits b/Lang/Fortran/Largest-number-divisible-by-its-digits
new file mode 120000
index 0000000000..cd7d8d0694
--- /dev/null
+++ b/Lang/Fortran/Largest-number-divisible-by-its-digits
@@ -0,0 +1 @@
+../../Task/Largest-number-divisible-by-its-digits/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Logistic-curve-fitting-in-epidemiology b/Lang/Fortran/Logistic-curve-fitting-in-epidemiology
new file mode 120000
index 0000000000..c968939bbf
--- /dev/null
+++ b/Lang/Fortran/Logistic-curve-fitting-in-epidemiology
@@ -0,0 +1 @@
+../../Task/Logistic-curve-fitting-in-epidemiology/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Long-literals-with-continuations b/Lang/Fortran/Long-literals-with-continuations
new file mode 120000
index 0000000000..7af1186694
--- /dev/null
+++ b/Lang/Fortran/Long-literals-with-continuations
@@ -0,0 +1 @@
+../../Task/Long-literals-with-continuations/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Longest-increasing-subsequence b/Lang/Fortran/Longest-increasing-subsequence
new file mode 120000
index 0000000000..4d7a715c23
--- /dev/null
+++ b/Lang/Fortran/Longest-increasing-subsequence
@@ -0,0 +1 @@
+../../Task/Longest-increasing-subsequence/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Loops-Wrong-ranges b/Lang/Fortran/Loops-Wrong-ranges
new file mode 120000
index 0000000000..ecb218786f
--- /dev/null
+++ b/Lang/Fortran/Loops-Wrong-ranges
@@ -0,0 +1 @@
+../../Task/Loops-Wrong-ranges/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Lucky-and-even-lucky-numbers b/Lang/Fortran/Lucky-and-even-lucky-numbers
new file mode 120000
index 0000000000..5ac4d084fd
--- /dev/null
+++ b/Lang/Fortran/Lucky-and-even-lucky-numbers
@@ -0,0 +1 @@
+../../Task/Lucky-and-even-lucky-numbers/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Magic-constant b/Lang/Fortran/Magic-constant
new file mode 120000
index 0000000000..011d77bc86
--- /dev/null
+++ b/Lang/Fortran/Magic-constant
@@ -0,0 +1 @@
+../../Task/Magic-constant/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/McNuggets-problem b/Lang/Fortran/McNuggets-problem
new file mode 120000
index 0000000000..6e4b8bc9dd
--- /dev/null
+++ b/Lang/Fortran/McNuggets-problem
@@ -0,0 +1 @@
+../../Task/McNuggets-problem/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Metallic-ratios b/Lang/Fortran/Metallic-ratios
new file mode 120000
index 0000000000..21133a8990
--- /dev/null
+++ b/Lang/Fortran/Metallic-ratios
@@ -0,0 +1 @@
+../../Task/Metallic-ratios/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Miller-Rabin-primality-test b/Lang/Fortran/Miller-Rabin-primality-test
deleted file mode 120000
index 6d501f45e9..0000000000
--- a/Lang/Fortran/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Mind-boggling-card-trick b/Lang/Fortran/Mind-boggling-card-trick
new file mode 120000
index 0000000000..bda2aaf5f0
--- /dev/null
+++ b/Lang/Fortran/Mind-boggling-card-trick
@@ -0,0 +1 @@
+../../Task/Mind-boggling-card-trick/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Minimum-multiple-of-m-where-digital-sum-equals-m b/Lang/Fortran/Minimum-multiple-of-m-where-digital-sum-equals-m
new file mode 120000
index 0000000000..0e425fef14
--- /dev/null
+++ b/Lang/Fortran/Minimum-multiple-of-m-where-digital-sum-equals-m
@@ -0,0 +1 @@
+../../Task/Minimum-multiple-of-m-where-digital-sum-equals-m/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Minimum-positive-multiple-in-base-10-using-only-0-and-1 b/Lang/Fortran/Minimum-positive-multiple-in-base-10-using-only-0-and-1
new file mode 120000
index 0000000000..2524fb63f9
--- /dev/null
+++ b/Lang/Fortran/Minimum-positive-multiple-in-base-10-using-only-0-and-1
@@ -0,0 +1 @@
+../../Task/Minimum-positive-multiple-in-base-10-using-only-0-and-1/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Modified-random-distribution b/Lang/Fortran/Modified-random-distribution
new file mode 120000
index 0000000000..b886daca51
--- /dev/null
+++ b/Lang/Fortran/Modified-random-distribution
@@ -0,0 +1 @@
+../../Task/Modified-random-distribution/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Move-to-front-algorithm b/Lang/Fortran/Move-to-front-algorithm
new file mode 120000
index 0000000000..aaea4a888b
--- /dev/null
+++ b/Lang/Fortran/Move-to-front-algorithm
@@ -0,0 +1 @@
+../../Task/Move-to-front-algorithm/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Multisplit b/Lang/Fortran/Multisplit
new file mode 120000
index 0000000000..f032908bb4
--- /dev/null
+++ b/Lang/Fortran/Multisplit
@@ -0,0 +1 @@
+../../Task/Multisplit/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Numbers-which-are-the-cube-roots-of-the-product-of-their-proper-divisors b/Lang/Fortran/Numbers-which-are-the-cube-roots-of-the-product-of-their-proper-divisors
new file mode 120000
index 0000000000..2f7237b820
--- /dev/null
+++ b/Lang/Fortran/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/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Ormiston-triples b/Lang/Fortran/Ormiston-triples
new file mode 120000
index 0000000000..a2f8794905
--- /dev/null
+++ b/Lang/Fortran/Ormiston-triples
@@ -0,0 +1 @@
+../../Task/Ormiston-triples/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Palindrome-dates b/Lang/Fortran/Palindrome-dates
new file mode 120000
index 0000000000..0f7da68189
--- /dev/null
+++ b/Lang/Fortran/Palindrome-dates
@@ -0,0 +1 @@
+../../Task/Palindrome-dates/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Parallel-brute-force b/Lang/Fortran/Parallel-brute-force
new file mode 120000
index 0000000000..85bd9c5ced
--- /dev/null
+++ b/Lang/Fortran/Parallel-brute-force
@@ -0,0 +1 @@
+../../Task/Parallel-brute-force/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Parse-an-IP-Address b/Lang/Fortran/Parse-an-IP-Address
new file mode 120000
index 0000000000..33994c1cc1
--- /dev/null
+++ b/Lang/Fortran/Parse-an-IP-Address
@@ -0,0 +1 @@
+../../Task/Parse-an-IP-Address/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Pascals-triangle-Puzzle b/Lang/Fortran/Pascals-triangle-Puzzle
new file mode 120000
index 0000000000..5cea267339
--- /dev/null
+++ b/Lang/Fortran/Pascals-triangle-Puzzle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle-Puzzle/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Password-generator b/Lang/Fortran/Password-generator
new file mode 120000
index 0000000000..5ff2015452
--- /dev/null
+++ b/Lang/Fortran/Password-generator
@@ -0,0 +1 @@
+../../Task/Password-generator/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Pells-equation b/Lang/Fortran/Pells-equation
new file mode 120000
index 0000000000..5929e39745
--- /dev/null
+++ b/Lang/Fortran/Pells-equation
@@ -0,0 +1 @@
+../../Task/Pells-equation/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Playfair-cipher b/Lang/Fortran/Playfair-cipher
new file mode 120000
index 0000000000..7f02f8e934
--- /dev/null
+++ b/Lang/Fortran/Playfair-cipher
@@ -0,0 +1 @@
+../../Task/Playfair-cipher/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Primality-by-Wilsons-theorem b/Lang/Fortran/Primality-by-Wilsons-theorem
new file mode 120000
index 0000000000..228dd95d2d
--- /dev/null
+++ b/Lang/Fortran/Primality-by-Wilsons-theorem
@@ -0,0 +1 @@
+../../Task/Primality-by-Wilsons-theorem/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Pseudo-random-numbers-Splitmix64 b/Lang/Fortran/Pseudo-random-numbers-Splitmix64
new file mode 120000
index 0000000000..39aac5cdd2
--- /dev/null
+++ b/Lang/Fortran/Pseudo-random-numbers-Splitmix64
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-Splitmix64/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Quaternion-type b/Lang/Fortran/Quaternion-type
deleted file mode 120000
index a1829748df..0000000000
--- a/Lang/Fortran/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Ramanujan-primes-twins b/Lang/Fortran/Ramanujan-primes-twins
new file mode 120000
index 0000000000..bdb1a22484
--- /dev/null
+++ b/Lang/Fortran/Ramanujan-primes-twins
@@ -0,0 +1 @@
+../../Task/Ramanujan-primes-twins/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Ramanujans-constant b/Lang/Fortran/Ramanujans-constant
new file mode 120000
index 0000000000..8de4420011
--- /dev/null
+++ b/Lang/Fortran/Ramanujans-constant
@@ -0,0 +1 @@
+../../Task/Ramanujans-constant/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Ramer-Douglas-Peucker-line-simplification b/Lang/Fortran/Ramer-Douglas-Peucker-line-simplification
new file mode 120000
index 0000000000..a601cbd90f
--- /dev/null
+++ b/Lang/Fortran/Ramer-Douglas-Peucker-line-simplification
@@ -0,0 +1 @@
+../../Task/Ramer-Douglas-Peucker-line-simplification/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Ranking-methods b/Lang/Fortran/Ranking-methods
new file mode 120000
index 0000000000..a369cc6fab
--- /dev/null
+++ b/Lang/Fortran/Ranking-methods
@@ -0,0 +1 @@
+../../Task/Ranking-methods/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Read-a-file-character-by-character-UTF8 b/Lang/Fortran/Read-a-file-character-by-character-UTF8
new file mode 120000
index 0000000000..4e9ecfa6e0
--- /dev/null
+++ b/Lang/Fortran/Read-a-file-character-by-character-UTF8
@@ -0,0 +1 @@
+../../Task/Read-a-file-character-by-character-UTF8/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Resistor-mesh b/Lang/Fortran/Resistor-mesh
new file mode 120000
index 0000000000..4c45bf818f
--- /dev/null
+++ b/Lang/Fortran/Resistor-mesh
@@ -0,0 +1 @@
+../../Task/Resistor-mesh/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Sailors-coconuts-and-a-monkey-problem b/Lang/Fortran/Sailors-coconuts-and-a-monkey-problem
new file mode 120000
index 0000000000..e105172665
--- /dev/null
+++ b/Lang/Fortran/Sailors-coconuts-and-a-monkey-problem
@@ -0,0 +1 @@
+../../Task/Sailors-coconuts-and-a-monkey-problem/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Sieve-of-Pritchard b/Lang/Fortran/Sieve-of-Pritchard
new file mode 120000
index 0000000000..a74974dd66
--- /dev/null
+++ b/Lang/Fortran/Sieve-of-Pritchard
@@ -0,0 +1 @@
+../../Task/Sieve-of-Pritchard/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Sleeping-Beauty-problem b/Lang/Fortran/Sleeping-Beauty-problem
new file mode 120000
index 0000000000..35b7547112
--- /dev/null
+++ b/Lang/Fortran/Sleeping-Beauty-problem
@@ -0,0 +1 @@
+../../Task/Sleeping-Beauty-problem/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Solve-a-Hopido-puzzle b/Lang/Fortran/Solve-a-Hopido-puzzle
new file mode 120000
index 0000000000..4726977710
--- /dev/null
+++ b/Lang/Fortran/Solve-a-Hopido-puzzle
@@ -0,0 +1 @@
+../../Task/Solve-a-Hopido-puzzle/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Sorting-Algorithms-Circle-Sort b/Lang/Fortran/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index 62558aaa6e..0000000000
--- a/Lang/Fortran/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Sorting-algorithms-Cocktail-sort-with-shifting-bounds b/Lang/Fortran/Sorting-algorithms-Cocktail-sort-with-shifting-bounds
new file mode 120000
index 0000000000..cbe69052c4
--- /dev/null
+++ b/Lang/Fortran/Sorting-algorithms-Cocktail-sort-with-shifting-bounds
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Cocktail-sort-with-shifting-bounds/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Square-but-not-cube b/Lang/Fortran/Square-but-not-cube
new file mode 120000
index 0000000000..13809f6e51
--- /dev/null
+++ b/Lang/Fortran/Square-but-not-cube
@@ -0,0 +1 @@
+../../Task/Square-but-not-cube/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Stable-marriage-problem b/Lang/Fortran/Stable-marriage-problem
new file mode 120000
index 0000000000..b61f49608c
--- /dev/null
+++ b/Lang/Fortran/Stable-marriage-problem
@@ -0,0 +1 @@
+../../Task/Stable-marriage-problem/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Strassens-algorithm b/Lang/Fortran/Strassens-algorithm
new file mode 120000
index 0000000000..f73f6498f4
--- /dev/null
+++ b/Lang/Fortran/Strassens-algorithm
@@ -0,0 +1 @@
+../../Task/Strassens-algorithm/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Strip-whitespace-from-a-string-Top-and-tail b/Lang/Fortran/Strip-whitespace-from-a-string-Top-and-tail
new file mode 120000
index 0000000000..e6e0c4696a
--- /dev/null
+++ b/Lang/Fortran/Strip-whitespace-from-a-string-Top-and-tail
@@ -0,0 +1 @@
+../../Task/Strip-whitespace-from-a-string-Top-and-tail/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Sum-of-elements-below-main-diagonal-of-matrix b/Lang/Fortran/Sum-of-elements-below-main-diagonal-of-matrix
new file mode 120000
index 0000000000..a739c37e8e
--- /dev/null
+++ b/Lang/Fortran/Sum-of-elements-below-main-diagonal-of-matrix
@@ -0,0 +1 @@
+../../Task/Sum-of-elements-below-main-diagonal-of-matrix/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Synchronous-concurrency b/Lang/Fortran/Synchronous-concurrency
new file mode 120000
index 0000000000..f0f128cdfd
--- /dev/null
+++ b/Lang/Fortran/Synchronous-concurrency
@@ -0,0 +1 @@
+../../Task/Synchronous-concurrency/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Tarjan b/Lang/Fortran/Tarjan
new file mode 120000
index 0000000000..22149d08b7
--- /dev/null
+++ b/Lang/Fortran/Tarjan
@@ -0,0 +1 @@
+../../Task/Tarjan/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Thieles-interpolation-formula b/Lang/Fortran/Thieles-interpolation-formula
new file mode 120000
index 0000000000..f8f82960bc
--- /dev/null
+++ b/Lang/Fortran/Thieles-interpolation-formula
@@ -0,0 +1 @@
+../../Task/Thieles-interpolation-formula/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Total-circles-area b/Lang/Fortran/Total-circles-area
new file mode 120000
index 0000000000..7ea452c217
--- /dev/null
+++ b/Lang/Fortran/Total-circles-area
@@ -0,0 +1 @@
+../../Task/Total-circles-area/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Totient-function b/Lang/Fortran/Totient-function
new file mode 120000
index 0000000000..2559e22f69
--- /dev/null
+++ b/Lang/Fortran/Totient-function
@@ -0,0 +1 @@
+../../Task/Totient-function/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Tree-datastructures b/Lang/Fortran/Tree-datastructures
new file mode 120000
index 0000000000..0155519b78
--- /dev/null
+++ b/Lang/Fortran/Tree-datastructures
@@ -0,0 +1 @@
+../../Task/Tree-datastructures/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Twelve-statements b/Lang/Fortran/Twelve-statements
new file mode 120000
index 0000000000..dfaa2166b8
--- /dev/null
+++ b/Lang/Fortran/Twelve-statements
@@ -0,0 +1 @@
+../../Task/Twelve-statements/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Two-bullet-roulette b/Lang/Fortran/Two-bullet-roulette
new file mode 120000
index 0000000000..67f7fb2512
--- /dev/null
+++ b/Lang/Fortran/Two-bullet-roulette
@@ -0,0 +1 @@
+../../Task/Two-bullet-roulette/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Twos-complement b/Lang/Fortran/Twos-complement
new file mode 120000
index 0000000000..b8e6672d37
--- /dev/null
+++ b/Lang/Fortran/Twos-complement
@@ -0,0 +1 @@
+../../Task/Twos-complement/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Ukkonen-s-suffix-tree-construction b/Lang/Fortran/Ukkonen-s-suffix-tree-construction
new file mode 120000
index 0000000000..183d59f5c8
--- /dev/null
+++ b/Lang/Fortran/Ukkonen-s-suffix-tree-construction
@@ -0,0 +1 @@
+../../Task/Ukkonen-s-suffix-tree-construction/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Unprimeable-numbers b/Lang/Fortran/Unprimeable-numbers
new file mode 120000
index 0000000000..9835babcf5
--- /dev/null
+++ b/Lang/Fortran/Unprimeable-numbers
@@ -0,0 +1 @@
+../../Task/Unprimeable-numbers/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Vampire-number b/Lang/Fortran/Vampire-number
new file mode 120000
index 0000000000..fda3c25555
--- /dev/null
+++ b/Lang/Fortran/Vampire-number
@@ -0,0 +1 @@
+../../Task/Vampire-number/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Verhoeff-algorithm b/Lang/Fortran/Verhoeff-algorithm
new file mode 120000
index 0000000000..da50f29648
--- /dev/null
+++ b/Lang/Fortran/Verhoeff-algorithm
@@ -0,0 +1 @@
+../../Task/Verhoeff-algorithm/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Vigen-re-cipher-Cryptanalysis b/Lang/Fortran/Vigen-re-cipher-Cryptanalysis
new file mode 120000
index 0000000000..1fbd3a2ec4
--- /dev/null
+++ b/Lang/Fortran/Vigen-re-cipher-Cryptanalysis
@@ -0,0 +1 @@
+../../Task/Vigen-re-cipher-Cryptanalysis/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Vogels-approximation-method b/Lang/Fortran/Vogels-approximation-method
new file mode 120000
index 0000000000..3098233175
--- /dev/null
+++ b/Lang/Fortran/Vogels-approximation-method
@@ -0,0 +1 @@
+../../Task/Vogels-approximation-method/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Word-search b/Lang/Fortran/Word-search
new file mode 120000
index 0000000000..1675b7de44
--- /dev/null
+++ b/Lang/Fortran/Word-search
@@ -0,0 +1 @@
+../../Task/Word-search/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Yellowstone-sequence b/Lang/Fortran/Yellowstone-sequence
new file mode 120000
index 0000000000..ba08bc09f7
--- /dev/null
+++ b/Lang/Fortran/Yellowstone-sequence
@@ -0,0 +1 @@
+../../Task/Yellowstone-sequence/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Zebra-puzzle b/Lang/Fortran/Zebra-puzzle
new file mode 120000
index 0000000000..93816a6fc6
--- /dev/null
+++ b/Lang/Fortran/Zebra-puzzle
@@ -0,0 +1 @@
+../../Task/Zebra-puzzle/Fortran
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/ADFGVX-cipher b/Lang/Free-Pascal-Lazarus/ADFGVX-cipher
new file mode 120000
index 0000000000..b14ee34ace
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/ADFGVX-cipher
@@ -0,0 +1 @@
+../../Task/ADFGVX-cipher/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/Abstract-type b/Lang/Free-Pascal-Lazarus/Abstract-type
new file mode 120000
index 0000000000..89db3c6334
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/Abstract-type
@@ -0,0 +1 @@
+../../Task/Abstract-type/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/Abundant-odd-numbers b/Lang/Free-Pascal-Lazarus/Abundant-odd-numbers
new file mode 120000
index 0000000000..04dfaa00e1
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/Abundant-odd-numbers
@@ -0,0 +1 @@
+../../Task/Abundant-odd-numbers/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/Bell-numbers b/Lang/Free-Pascal-Lazarus/Bell-numbers
new file mode 120000
index 0000000000..889cd61708
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/Bell-numbers
@@ -0,0 +1 @@
+../../Task/Bell-numbers/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/Bin-given-limits b/Lang/Free-Pascal-Lazarus/Bin-given-limits
new file mode 120000
index 0000000000..090d25165e
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/Bin-given-limits
@@ -0,0 +1 @@
+../../Task/Bin-given-limits/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/Binary-strings b/Lang/Free-Pascal-Lazarus/Binary-strings
new file mode 120000
index 0000000000..f6ed90f24b
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/Binary-strings
@@ -0,0 +1 @@
+../../Task/Binary-strings/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/Boyer-Moore-string-search b/Lang/Free-Pascal-Lazarus/Boyer-Moore-string-search
new file mode 120000
index 0000000000..9902c3a3ea
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/Boyer-Moore-string-search
@@ -0,0 +1 @@
+../../Task/Boyer-Moore-string-search/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/Brazilian-numbers b/Lang/Free-Pascal-Lazarus/Brazilian-numbers
new file mode 120000
index 0000000000..2f21964a49
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/Brazilian-numbers
@@ -0,0 +1 @@
+../../Task/Brazilian-numbers/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/Brilliant-numbers b/Lang/Free-Pascal-Lazarus/Brilliant-numbers
new file mode 120000
index 0000000000..07a95dbd77
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/Brilliant-numbers
@@ -0,0 +1 @@
+../../Task/Brilliant-numbers/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/Cistercian-numerals b/Lang/Free-Pascal-Lazarus/Cistercian-numerals
new file mode 120000
index 0000000000..e09b44b1be
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/Cistercian-numerals
@@ -0,0 +1 @@
+../../Task/Cistercian-numerals/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/Closures-Value-capture b/Lang/Free-Pascal-Lazarus/Closures-Value-capture
new file mode 120000
index 0000000000..4b2493493f
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/Closures-Value-capture
@@ -0,0 +1 @@
+../../Task/Closures-Value-capture/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/DNS-query b/Lang/Free-Pascal-Lazarus/DNS-query
new file mode 120000
index 0000000000..f7c79b4afe
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/DNS-query
@@ -0,0 +1 @@
+../../Task/DNS-query/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/Duffinian-numbers b/Lang/Free-Pascal-Lazarus/Duffinian-numbers
new file mode 120000
index 0000000000..d54184ff4d
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/Duffinian-numbers
@@ -0,0 +1 @@
+../../Task/Duffinian-numbers/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/Dutch-national-flag-problem b/Lang/Free-Pascal-Lazarus/Dutch-national-flag-problem
new file mode 120000
index 0000000000..da47f4535f
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/Dutch-national-flag-problem
@@ -0,0 +1 @@
+../../Task/Dutch-national-flag-problem/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/Ethiopian-multiplication b/Lang/Free-Pascal-Lazarus/Ethiopian-multiplication
new file mode 120000
index 0000000000..845adfef13
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/Fractal-tree b/Lang/Free-Pascal-Lazarus/Fractal-tree
new file mode 120000
index 0000000000..c2081a0860
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/Fractal-tree
@@ -0,0 +1 @@
+../../Task/Fractal-tree/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/Gamma-function b/Lang/Free-Pascal-Lazarus/Gamma-function
new file mode 120000
index 0000000000..9c45231564
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/Gamma-function
@@ -0,0 +1 @@
+../../Task/Gamma-function/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/Hickerson-series-of-almost-integers b/Lang/Free-Pascal-Lazarus/Hickerson-series-of-almost-integers
new file mode 120000
index 0000000000..e8c446d1f2
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/Hickerson-series-of-almost-integers
@@ -0,0 +1 @@
+../../Task/Hickerson-series-of-almost-integers/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/Kaprekar-numbers b/Lang/Free-Pascal-Lazarus/Kaprekar-numbers
new file mode 120000
index 0000000000..7aca236c6b
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/Kaprekar-numbers
@@ -0,0 +1 @@
+../../Task/Kaprekar-numbers/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/Largest-number-divisible-by-its-digits b/Lang/Free-Pascal-Lazarus/Largest-number-divisible-by-its-digits
new file mode 120000
index 0000000000..702d65adc8
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/Largest-number-divisible-by-its-digits
@@ -0,0 +1 @@
+../../Task/Largest-number-divisible-by-its-digits/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/Leap-year b/Lang/Free-Pascal-Lazarus/Leap-year
new file mode 120000
index 0000000000..1dc9648945
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/Leap-year
@@ -0,0 +1 @@
+../../Task/Leap-year/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/Leonardo-numbers b/Lang/Free-Pascal-Lazarus/Leonardo-numbers
new file mode 120000
index 0000000000..5fc9b6dc54
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/Leonardo-numbers
@@ -0,0 +1 @@
+../../Task/Leonardo-numbers/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/Levenshtein-distance b/Lang/Free-Pascal-Lazarus/Levenshtein-distance
new file mode 120000
index 0000000000..eebdca8158
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/Levenshtein-distance
@@ -0,0 +1 @@
+../../Task/Levenshtein-distance/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/Map-range b/Lang/Free-Pascal-Lazarus/Map-range
new file mode 120000
index 0000000000..65b07f3cc6
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/Map-range
@@ -0,0 +1 @@
+../../Task/Map-range/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/Numbers-with-equal-rises-and-falls b/Lang/Free-Pascal-Lazarus/Numbers-with-equal-rises-and-falls
new file mode 120000
index 0000000000..d3988596ad
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/Numbers-with-equal-rises-and-falls
@@ -0,0 +1 @@
+../../Task/Numbers-with-equal-rises-and-falls/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/Ordered-words b/Lang/Free-Pascal-Lazarus/Ordered-words
new file mode 120000
index 0000000000..ec364f330e
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/Ordered-words
@@ -0,0 +1 @@
+../../Task/Ordered-words/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/Pancake-numbers b/Lang/Free-Pascal-Lazarus/Pancake-numbers
new file mode 120000
index 0000000000..e82c81624b
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/Pancake-numbers
@@ -0,0 +1 @@
+../../Task/Pancake-numbers/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/Parallel-brute-force b/Lang/Free-Pascal-Lazarus/Parallel-brute-force
new file mode 120000
index 0000000000..cdb4d87e7a
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/Parallel-brute-force
@@ -0,0 +1 @@
+../../Task/Parallel-brute-force/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/Parallel-calculations b/Lang/Free-Pascal-Lazarus/Parallel-calculations
new file mode 120000
index 0000000000..191ed1dae7
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/Parallel-calculations
@@ -0,0 +1 @@
+../../Task/Parallel-calculations/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/Prime-decomposition b/Lang/Free-Pascal-Lazarus/Prime-decomposition
new file mode 120000
index 0000000000..358a72f6ea
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/Probabilistic-choice b/Lang/Free-Pascal-Lazarus/Probabilistic-choice
new file mode 120000
index 0000000000..0f85f5937f
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/Sorting-algorithms-Shell-sort b/Lang/Free-Pascal-Lazarus/Sorting-algorithms-Shell-sort
new file mode 120000
index 0000000000..e5c8120991
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/Sorting-algorithms-Shell-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Shell-sort/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/Free-Pascal-Lazarus/Square-free-integers b/Lang/Free-Pascal-Lazarus/Square-free-integers
new file mode 120000
index 0000000000..88fe83b6b1
--- /dev/null
+++ b/Lang/Free-Pascal-Lazarus/Square-free-integers
@@ -0,0 +1 @@
+../../Task/Square-free-integers/Free-Pascal-Lazarus
\ No newline at end of file
diff --git a/Lang/FreeBASIC/15-puzzle-solver b/Lang/FreeBASIC/15-puzzle-solver
new file mode 120000
index 0000000000..aac40387ff
--- /dev/null
+++ b/Lang/FreeBASIC/15-puzzle-solver
@@ -0,0 +1 @@
+../../Task/15-puzzle-solver/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/24-game-Solve b/Lang/FreeBASIC/24-game-Solve
new file mode 120000
index 0000000000..68ad0335d9
--- /dev/null
+++ b/Lang/FreeBASIC/24-game-Solve
@@ -0,0 +1 @@
+../../Task/24-game-Solve/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/ADFGVX-cipher b/Lang/FreeBASIC/ADFGVX-cipher
new file mode 120000
index 0000000000..43433b4959
--- /dev/null
+++ b/Lang/FreeBASIC/ADFGVX-cipher
@@ -0,0 +1 @@
+../../Task/ADFGVX-cipher/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/ASCII-art-diagram-converter b/Lang/FreeBASIC/ASCII-art-diagram-converter
new file mode 120000
index 0000000000..f349074235
--- /dev/null
+++ b/Lang/FreeBASIC/ASCII-art-diagram-converter
@@ -0,0 +1 @@
+../../Task/ASCII-art-diagram-converter/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/AVL-tree b/Lang/FreeBASIC/AVL-tree
new file mode 120000
index 0000000000..7500f1c637
--- /dev/null
+++ b/Lang/FreeBASIC/AVL-tree
@@ -0,0 +1 @@
+../../Task/AVL-tree/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Abbreviations-simple b/Lang/FreeBASIC/Abbreviations-simple
new file mode 120000
index 0000000000..de9c8f171b
--- /dev/null
+++ b/Lang/FreeBASIC/Abbreviations-simple
@@ -0,0 +1 @@
+../../Task/Abbreviations-simple/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Abelian-sandpile-model-Identity b/Lang/FreeBASIC/Abelian-sandpile-model-Identity
new file mode 120000
index 0000000000..e9077c65f8
--- /dev/null
+++ b/Lang/FreeBASIC/Abelian-sandpile-model-Identity
@@ -0,0 +1 @@
+../../Task/Abelian-sandpile-model-Identity/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Algebraic-data-types b/Lang/FreeBASIC/Algebraic-data-types
new file mode 120000
index 0000000000..f2fce8f3dc
--- /dev/null
+++ b/Lang/FreeBASIC/Algebraic-data-types
@@ -0,0 +1 @@
+../../Task/Algebraic-data-types/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Almkvist-Giullera-formula-for-pi b/Lang/FreeBASIC/Almkvist-Giullera-formula-for-pi
new file mode 120000
index 0000000000..37082cc7bb
--- /dev/null
+++ b/Lang/FreeBASIC/Almkvist-Giullera-formula-for-pi
@@ -0,0 +1 @@
+../../Task/Almkvist-Giullera-formula-for-pi/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Arithmetic-Rational b/Lang/FreeBASIC/Arithmetic-Rational
new file mode 120000
index 0000000000..3182d3a125
--- /dev/null
+++ b/Lang/FreeBASIC/Arithmetic-Rational
@@ -0,0 +1 @@
+../../Task/Arithmetic-Rational/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Arithmetic-derivative b/Lang/FreeBASIC/Arithmetic-derivative
new file mode 120000
index 0000000000..2a22a10780
--- /dev/null
+++ b/Lang/FreeBASIC/Arithmetic-derivative
@@ -0,0 +1 @@
+../../Task/Arithmetic-derivative/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Associative-array-Merging b/Lang/FreeBASIC/Associative-array-Merging
new file mode 120000
index 0000000000..77edeb4249
--- /dev/null
+++ b/Lang/FreeBASIC/Associative-array-Merging
@@ -0,0 +1 @@
+../../Task/Associative-array-Merging/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/B-zier-curves-Intersections b/Lang/FreeBASIC/B-zier-curves-Intersections
new file mode 120000
index 0000000000..e1718d7dc9
--- /dev/null
+++ b/Lang/FreeBASIC/B-zier-curves-Intersections
@@ -0,0 +1 @@
+../../Task/B-zier-curves-Intersections/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Babylonian-spiral b/Lang/FreeBASIC/Babylonian-spiral
new file mode 120000
index 0000000000..e141e5d456
--- /dev/null
+++ b/Lang/FreeBASIC/Babylonian-spiral
@@ -0,0 +1 @@
+../../Task/Babylonian-spiral/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Bifid-cipher b/Lang/FreeBASIC/Bifid-cipher
new file mode 120000
index 0000000000..6fc87c7ae7
--- /dev/null
+++ b/Lang/FreeBASIC/Bifid-cipher
@@ -0,0 +1 @@
+../../Task/Bifid-cipher/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Bioinformatics-Global-alignment b/Lang/FreeBASIC/Bioinformatics-Global-alignment
new file mode 120000
index 0000000000..93fb335c5b
--- /dev/null
+++ b/Lang/FreeBASIC/Bioinformatics-Global-alignment
@@ -0,0 +1 @@
+../../Task/Bioinformatics-Global-alignment/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Bioinformatics-base-count b/Lang/FreeBASIC/Bioinformatics-base-count
deleted file mode 120000
index 89403f2018..0000000000
--- a/Lang/FreeBASIC/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Bitcoin-public-point-to-address b/Lang/FreeBASIC/Bitcoin-public-point-to-address
new file mode 120000
index 0000000000..6ff9b61a5b
--- /dev/null
+++ b/Lang/FreeBASIC/Bitcoin-public-point-to-address
@@ -0,0 +1 @@
+../../Task/Bitcoin-public-point-to-address/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Bitmap-Histogram b/Lang/FreeBASIC/Bitmap-Histogram
new file mode 120000
index 0000000000..dc9da15219
--- /dev/null
+++ b/Lang/FreeBASIC/Bitmap-Histogram
@@ -0,0 +1 @@
+../../Task/Bitmap-Histogram/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Bitmap-PPM-conversion-through-a-pipe b/Lang/FreeBASIC/Bitmap-PPM-conversion-through-a-pipe
new file mode 120000
index 0000000000..9082778f9e
--- /dev/null
+++ b/Lang/FreeBASIC/Bitmap-PPM-conversion-through-a-pipe
@@ -0,0 +1 @@
+../../Task/Bitmap-PPM-conversion-through-a-pipe/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Bitmap-Read-an-image-through-a-pipe b/Lang/FreeBASIC/Bitmap-Read-an-image-through-a-pipe
new file mode 120000
index 0000000000..17dd1b6040
--- /dev/null
+++ b/Lang/FreeBASIC/Bitmap-Read-an-image-through-a-pipe
@@ -0,0 +1 @@
+../../Task/Bitmap-Read-an-image-through-a-pipe/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Bitmap-Write-a-PPM-file b/Lang/FreeBASIC/Bitmap-Write-a-PPM-file
new file mode 120000
index 0000000000..91057d85e5
--- /dev/null
+++ b/Lang/FreeBASIC/Bitmap-Write-a-PPM-file
@@ -0,0 +1 @@
+../../Task/Bitmap-Write-a-PPM-file/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Brace-expansion b/Lang/FreeBASIC/Brace-expansion
new file mode 120000
index 0000000000..b08a413ab2
--- /dev/null
+++ b/Lang/FreeBASIC/Brace-expansion
@@ -0,0 +1 @@
+../../Task/Brace-expansion/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Bulls-and-cows-Player b/Lang/FreeBASIC/Bulls-and-cows-Player
new file mode 120000
index 0000000000..3f30549ded
--- /dev/null
+++ b/Lang/FreeBASIC/Bulls-and-cows-Player
@@ -0,0 +1 @@
+../../Task/Bulls-and-cows-Player/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Calkin-Wilf-sequence b/Lang/FreeBASIC/Calkin-Wilf-sequence
deleted file mode 120000
index 0cfeafa7e2..0000000000
--- a/Lang/FreeBASIC/Calkin-Wilf-sequence
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Calkin-Wilf-sequence/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Canny-edge-detector b/Lang/FreeBASIC/Canny-edge-detector
new file mode 120000
index 0000000000..17dd124847
--- /dev/null
+++ b/Lang/FreeBASIC/Canny-edge-detector
@@ -0,0 +1 @@
+../../Task/Canny-edge-detector/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Catmull-Clark-subdivision-surface b/Lang/FreeBASIC/Catmull-Clark-subdivision-surface
new file mode 120000
index 0000000000..aa2f6e5ed9
--- /dev/null
+++ b/Lang/FreeBASIC/Catmull-Clark-subdivision-surface
@@ -0,0 +1 @@
+../../Task/Catmull-Clark-subdivision-surface/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Chat-server b/Lang/FreeBASIC/Chat-server
new file mode 120000
index 0000000000..59f06de348
--- /dev/null
+++ b/Lang/FreeBASIC/Chat-server
@@ -0,0 +1 @@
+../../Task/Chat-server/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Cistercian-numerals b/Lang/FreeBASIC/Cistercian-numerals
new file mode 120000
index 0000000000..ceb56b6604
--- /dev/null
+++ b/Lang/FreeBASIC/Cistercian-numerals
@@ -0,0 +1 @@
+../../Task/Cistercian-numerals/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Color-quantization b/Lang/FreeBASIC/Color-quantization
new file mode 120000
index 0000000000..ddc5eaabb7
--- /dev/null
+++ b/Lang/FreeBASIC/Color-quantization
@@ -0,0 +1 @@
+../../Task/Color-quantization/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Colorful-numbers b/Lang/FreeBASIC/Colorful-numbers
new file mode 120000
index 0000000000..dcf0a876c1
--- /dev/null
+++ b/Lang/FreeBASIC/Colorful-numbers
@@ -0,0 +1 @@
+../../Task/Colorful-numbers/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Compiler-AST-interpreter b/Lang/FreeBASIC/Compiler-AST-interpreter
new file mode 120000
index 0000000000..ea89d91369
--- /dev/null
+++ b/Lang/FreeBASIC/Compiler-AST-interpreter
@@ -0,0 +1 @@
+../../Task/Compiler-AST-interpreter/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Compiler-code-generator b/Lang/FreeBASIC/Compiler-code-generator
new file mode 120000
index 0000000000..836b1482c2
--- /dev/null
+++ b/Lang/FreeBASIC/Compiler-code-generator
@@ -0,0 +1 @@
+../../Task/Compiler-code-generator/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Compiler-syntax-analyzer b/Lang/FreeBASIC/Compiler-syntax-analyzer
new file mode 120000
index 0000000000..a7d7204b01
--- /dev/null
+++ b/Lang/FreeBASIC/Compiler-syntax-analyzer
@@ -0,0 +1 @@
+../../Task/Compiler-syntax-analyzer/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Compiler-virtual-machine-interpreter b/Lang/FreeBASIC/Compiler-virtual-machine-interpreter
new file mode 120000
index 0000000000..18e70488f2
--- /dev/null
+++ b/Lang/FreeBASIC/Compiler-virtual-machine-interpreter
@@ -0,0 +1 @@
+../../Task/Compiler-virtual-machine-interpreter/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Constrained-genericity b/Lang/FreeBASIC/Constrained-genericity
new file mode 120000
index 0000000000..1fc68e6907
--- /dev/null
+++ b/Lang/FreeBASIC/Constrained-genericity
@@ -0,0 +1 @@
+../../Task/Constrained-genericity/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n- b/Lang/FreeBASIC/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n-
new file mode 120000
index 0000000000..e2defb3109
--- /dev/null
+++ b/Lang/FreeBASIC/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n-
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n-/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Cut-a-rectangle b/Lang/FreeBASIC/Cut-a-rectangle
new file mode 120000
index 0000000000..16e664db93
--- /dev/null
+++ b/Lang/FreeBASIC/Cut-a-rectangle
@@ -0,0 +1 @@
+../../Task/Cut-a-rectangle/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Cyclotomic-polynomial b/Lang/FreeBASIC/Cyclotomic-polynomial
new file mode 120000
index 0000000000..82e1fdeb03
--- /dev/null
+++ b/Lang/FreeBASIC/Cyclotomic-polynomial
@@ -0,0 +1 @@
+../../Task/Cyclotomic-polynomial/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/De-Bruijn-sequences b/Lang/FreeBASIC/De-Bruijn-sequences
new file mode 120000
index 0000000000..2f6e2651ca
--- /dev/null
+++ b/Lang/FreeBASIC/De-Bruijn-sequences
@@ -0,0 +1 @@
+../../Task/De-Bruijn-sequences/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Death-Star b/Lang/FreeBASIC/Death-Star
new file mode 120000
index 0000000000..b45f2416c8
--- /dev/null
+++ b/Lang/FreeBASIC/Death-Star
@@ -0,0 +1 @@
+../../Task/Death-Star/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Deconvolution-2D+ b/Lang/FreeBASIC/Deconvolution-2D+
new file mode 120000
index 0000000000..2a10e72230
--- /dev/null
+++ b/Lang/FreeBASIC/Deconvolution-2D+
@@ -0,0 +1 @@
+../../Task/Deconvolution-2D+/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Dijkstras-algorithm b/Lang/FreeBASIC/Dijkstras-algorithm
new file mode 120000
index 0000000000..4465c347e7
--- /dev/null
+++ b/Lang/FreeBASIC/Dijkstras-algorithm
@@ -0,0 +1 @@
+../../Task/Dijkstras-algorithm/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Dining-philosophers b/Lang/FreeBASIC/Dining-philosophers
new file mode 120000
index 0000000000..5d616c69b5
--- /dev/null
+++ b/Lang/FreeBASIC/Dining-philosophers
@@ -0,0 +1 @@
+../../Task/Dining-philosophers/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Display-an-outline-as-a-nested-table b/Lang/FreeBASIC/Display-an-outline-as-a-nested-table
new file mode 120000
index 0000000000..e1fe23aa03
--- /dev/null
+++ b/Lang/FreeBASIC/Display-an-outline-as-a-nested-table
@@ -0,0 +1 @@
+../../Task/Display-an-outline-as-a-nested-table/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Distance-and-Bearing b/Lang/FreeBASIC/Distance-and-Bearing
new file mode 120000
index 0000000000..14b1500a35
--- /dev/null
+++ b/Lang/FreeBASIC/Distance-and-Bearing
@@ -0,0 +1 @@
+../../Task/Distance-and-Bearing/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Distributed-programming b/Lang/FreeBASIC/Distributed-programming
new file mode 120000
index 0000000000..3c9ea14752
--- /dev/null
+++ b/Lang/FreeBASIC/Distributed-programming
@@ -0,0 +1 @@
+../../Task/Distributed-programming/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Distribution-of-0-digits-in-factorial-series b/Lang/FreeBASIC/Distribution-of-0-digits-in-factorial-series
new file mode 120000
index 0000000000..caef600e25
--- /dev/null
+++ b/Lang/FreeBASIC/Distribution-of-0-digits-in-factorial-series
@@ -0,0 +1 @@
+../../Task/Distribution-of-0-digits-in-factorial-series/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Dominoes b/Lang/FreeBASIC/Dominoes
new file mode 120000
index 0000000000..46d9dcf5f4
--- /dev/null
+++ b/Lang/FreeBASIC/Dominoes
@@ -0,0 +1 @@
+../../Task/Dominoes/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Echo-server b/Lang/FreeBASIC/Echo-server
new file mode 120000
index 0000000000..af11371400
--- /dev/null
+++ b/Lang/FreeBASIC/Echo-server
@@ -0,0 +1 @@
+../../Task/Echo-server/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Elementary-cellular-automaton-Infinite-length b/Lang/FreeBASIC/Elementary-cellular-automaton-Infinite-length
new file mode 120000
index 0000000000..ab22fce8e1
--- /dev/null
+++ b/Lang/FreeBASIC/Elementary-cellular-automaton-Infinite-length
@@ -0,0 +1 @@
+../../Task/Elementary-cellular-automaton-Infinite-length/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Elliptic-curve-arithmetic b/Lang/FreeBASIC/Elliptic-curve-arithmetic
new file mode 120000
index 0000000000..ab0b3f0aed
--- /dev/null
+++ b/Lang/FreeBASIC/Elliptic-curve-arithmetic
@@ -0,0 +1 @@
+../../Task/Elliptic-curve-arithmetic/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Executable-library b/Lang/FreeBASIC/Executable-library
new file mode 120000
index 0000000000..ece6e47b6f
--- /dev/null
+++ b/Lang/FreeBASIC/Executable-library
@@ -0,0 +1 @@
+../../Task/Executable-library/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Execute-Computer-Zero b/Lang/FreeBASIC/Execute-Computer-Zero
new file mode 120000
index 0000000000..018dffe9b4
--- /dev/null
+++ b/Lang/FreeBASIC/Execute-Computer-Zero
@@ -0,0 +1 @@
+../../Task/Execute-Computer-Zero/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Execute-SNUSP b/Lang/FreeBASIC/Execute-SNUSP
new file mode 120000
index 0000000000..7b179aedb8
--- /dev/null
+++ b/Lang/FreeBASIC/Execute-SNUSP
@@ -0,0 +1 @@
+../../Task/Execute-SNUSP/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Execute-a-Markov-algorithm b/Lang/FreeBASIC/Execute-a-Markov-algorithm
new file mode 120000
index 0000000000..7f61263c19
--- /dev/null
+++ b/Lang/FreeBASIC/Execute-a-Markov-algorithm
@@ -0,0 +1 @@
+../../Task/Execute-a-Markov-algorithm/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Faces-from-a-mesh b/Lang/FreeBASIC/Faces-from-a-mesh
new file mode 120000
index 0000000000..33d860451f
--- /dev/null
+++ b/Lang/FreeBASIC/Faces-from-a-mesh
@@ -0,0 +1 @@
+../../Task/Faces-from-a-mesh/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Factorial-base-numbers-indexing-permutations-of-a-collection b/Lang/FreeBASIC/Factorial-base-numbers-indexing-permutations-of-a-collection
new file mode 120000
index 0000000000..1f2b24105a
--- /dev/null
+++ b/Lang/FreeBASIC/Factorial-base-numbers-indexing-permutations-of-a-collection
@@ -0,0 +1 @@
+../../Task/Factorial-base-numbers-indexing-permutations-of-a-collection/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Fermat-numbers b/Lang/FreeBASIC/Fermat-numbers
new file mode 120000
index 0000000000..b6ff867057
--- /dev/null
+++ b/Lang/FreeBASIC/Fermat-numbers
@@ -0,0 +1 @@
+../../Task/Fermat-numbers/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/File-size-distribution b/Lang/FreeBASIC/File-size-distribution
new file mode 120000
index 0000000000..fa04d214bc
--- /dev/null
+++ b/Lang/FreeBASIC/File-size-distribution
@@ -0,0 +1 @@
+../../Task/File-size-distribution/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Find-duplicate-files b/Lang/FreeBASIC/Find-duplicate-files
new file mode 120000
index 0000000000..f2becdf037
--- /dev/null
+++ b/Lang/FreeBASIC/Find-duplicate-files
@@ -0,0 +1 @@
+../../Task/Find-duplicate-files/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Find-largest-left-truncatable-prime-in-a-given-base b/Lang/FreeBASIC/Find-largest-left-truncatable-prime-in-a-given-base
new file mode 120000
index 0000000000..90493830d8
--- /dev/null
+++ b/Lang/FreeBASIC/Find-largest-left-truncatable-prime-in-a-given-base
@@ -0,0 +1 @@
+../../Task/Find-largest-left-truncatable-prime-in-a-given-base/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Four-is-the-number-of-letters-in-the-... b/Lang/FreeBASIC/Four-is-the-number-of-letters-in-the-...
new file mode 120000
index 0000000000..7c1f37136c
--- /dev/null
+++ b/Lang/FreeBASIC/Four-is-the-number-of-letters-in-the-...
@@ -0,0 +1 @@
+../../Task/Four-is-the-number-of-letters-in-the-.../FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Fraction-reduction b/Lang/FreeBASIC/Fraction-reduction
new file mode 120000
index 0000000000..fe901cf96d
--- /dev/null
+++ b/Lang/FreeBASIC/Fraction-reduction
@@ -0,0 +1 @@
+../../Task/Fraction-reduction/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Functional-coverage-tree b/Lang/FreeBASIC/Functional-coverage-tree
new file mode 120000
index 0000000000..03b730b6d0
--- /dev/null
+++ b/Lang/FreeBASIC/Functional-coverage-tree
@@ -0,0 +1 @@
+../../Task/Functional-coverage-tree/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Galton-box-animation b/Lang/FreeBASIC/Galton-box-animation
new file mode 120000
index 0000000000..d8550e96b6
--- /dev/null
+++ b/Lang/FreeBASIC/Galton-box-animation
@@ -0,0 +1 @@
+../../Task/Galton-box-animation/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Gotchas b/Lang/FreeBASIC/Gotchas
new file mode 120000
index 0000000000..152b1da45f
--- /dev/null
+++ b/Lang/FreeBASIC/Gotchas
@@ -0,0 +1 @@
+../../Task/Gotchas/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Graph-colouring b/Lang/FreeBASIC/Graph-colouring
new file mode 120000
index 0000000000..2b6f6e444d
--- /dev/null
+++ b/Lang/FreeBASIC/Graph-colouring
@@ -0,0 +1 @@
+../../Task/Graph-colouring/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/HTTPS b/Lang/FreeBASIC/HTTPS
new file mode 120000
index 0000000000..ffa1e6ee82
--- /dev/null
+++ b/Lang/FreeBASIC/HTTPS
@@ -0,0 +1 @@
+../../Task/HTTPS/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/HTTPS-Authenticated b/Lang/FreeBASIC/HTTPS-Authenticated
new file mode 120000
index 0000000000..3da86c1cef
--- /dev/null
+++ b/Lang/FreeBASIC/HTTPS-Authenticated
@@ -0,0 +1 @@
+../../Task/HTTPS-Authenticated/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/HTTPS-Client-authenticated b/Lang/FreeBASIC/HTTPS-Client-authenticated
new file mode 120000
index 0000000000..8c2cbfcd86
--- /dev/null
+++ b/Lang/FreeBASIC/HTTPS-Client-authenticated
@@ -0,0 +1 @@
+../../Task/HTTPS-Client-authenticated/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Hello-world-Web-server b/Lang/FreeBASIC/Hello-world-Web-server
new file mode 120000
index 0000000000..25d52ccee6
--- /dev/null
+++ b/Lang/FreeBASIC/Hello-world-Web-server
@@ -0,0 +1 @@
+../../Task/Hello-world-Web-server/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Hex-words b/Lang/FreeBASIC/Hex-words
new file mode 120000
index 0000000000..fa25607a2e
--- /dev/null
+++ b/Lang/FreeBASIC/Hex-words
@@ -0,0 +1 @@
+../../Task/Hex-words/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/History-variables b/Lang/FreeBASIC/History-variables
new file mode 120000
index 0000000000..68f4bcd858
--- /dev/null
+++ b/Lang/FreeBASIC/History-variables
@@ -0,0 +1 @@
+../../Task/History-variables/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Honeycombs b/Lang/FreeBASIC/Honeycombs
new file mode 120000
index 0000000000..12b1cd0046
--- /dev/null
+++ b/Lang/FreeBASIC/Honeycombs
@@ -0,0 +1 @@
+../../Task/Honeycombs/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Hough-transform b/Lang/FreeBASIC/Hough-transform
new file mode 120000
index 0000000000..b825046529
--- /dev/null
+++ b/Lang/FreeBASIC/Hough-transform
@@ -0,0 +1 @@
+../../Task/Hough-transform/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Im-a-software-engineer-get-me-out-of-here b/Lang/FreeBASIC/Im-a-software-engineer-get-me-out-of-here
new file mode 120000
index 0000000000..2169aad43b
--- /dev/null
+++ b/Lang/FreeBASIC/Im-a-software-engineer-get-me-out-of-here
@@ -0,0 +1 @@
+../../Task/Im-a-software-engineer-get-me-out-of-here/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Image-convolution b/Lang/FreeBASIC/Image-convolution
new file mode 120000
index 0000000000..5f1451fadd
--- /dev/null
+++ b/Lang/FreeBASIC/Image-convolution
@@ -0,0 +1 @@
+../../Task/Image-convolution/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Imaginary-base-numbers b/Lang/FreeBASIC/Imaginary-base-numbers
new file mode 120000
index 0000000000..00ee9d8fe6
--- /dev/null
+++ b/Lang/FreeBASIC/Imaginary-base-numbers
@@ -0,0 +1 @@
+../../Task/Imaginary-base-numbers/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Intersecting-number-wheels b/Lang/FreeBASIC/Intersecting-number-wheels
new file mode 120000
index 0000000000..42313ae624
--- /dev/null
+++ b/Lang/FreeBASIC/Intersecting-number-wheels
@@ -0,0 +1 @@
+../../Task/Intersecting-number-wheels/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Inverted-index b/Lang/FreeBASIC/Inverted-index
new file mode 120000
index 0000000000..affc1bf23c
--- /dev/null
+++ b/Lang/FreeBASIC/Inverted-index
@@ -0,0 +1 @@
+../../Task/Inverted-index/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Isograms-and-heterograms b/Lang/FreeBASIC/Isograms-and-heterograms
new file mode 120000
index 0000000000..c142330285
--- /dev/null
+++ b/Lang/FreeBASIC/Isograms-and-heterograms
@@ -0,0 +1 @@
+../../Task/Isograms-and-heterograms/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Jaro-Winkler-distance b/Lang/FreeBASIC/Jaro-Winkler-distance
new file mode 120000
index 0000000000..567e61dfba
--- /dev/null
+++ b/Lang/FreeBASIC/Jaro-Winkler-distance
@@ -0,0 +1 @@
+../../Task/Jaro-Winkler-distance/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Juggler-sequence b/Lang/FreeBASIC/Juggler-sequence
new file mode 120000
index 0000000000..5aaf9a794f
--- /dev/null
+++ b/Lang/FreeBASIC/Juggler-sequence
@@ -0,0 +1 @@
+../../Task/Juggler-sequence/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/K-d-tree b/Lang/FreeBASIC/K-d-tree
new file mode 120000
index 0000000000..f6319abaa1
--- /dev/null
+++ b/Lang/FreeBASIC/K-d-tree
@@ -0,0 +1 @@
+../../Task/K-d-tree/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Knuths-algorithm-S b/Lang/FreeBASIC/Knuths-algorithm-S
new file mode 120000
index 0000000000..720a4a3a7e
--- /dev/null
+++ b/Lang/FreeBASIC/Knuths-algorithm-S
@@ -0,0 +1 @@
+../../Task/Knuths-algorithm-S/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Knuths-power-tree b/Lang/FreeBASIC/Knuths-power-tree
new file mode 120000
index 0000000000..b6075609dd
--- /dev/null
+++ b/Lang/FreeBASIC/Knuths-power-tree
@@ -0,0 +1 @@
+../../Task/Knuths-power-tree/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Kolakoski-sequence b/Lang/FreeBASIC/Kolakoski-sequence
new file mode 120000
index 0000000000..fce085b91c
--- /dev/null
+++ b/Lang/FreeBASIC/Kolakoski-sequence
@@ -0,0 +1 @@
+../../Task/Kolakoski-sequence/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Kosaraju b/Lang/FreeBASIC/Kosaraju
new file mode 120000
index 0000000000..b8d8396338
--- /dev/null
+++ b/Lang/FreeBASIC/Kosaraju
@@ -0,0 +1 @@
+../../Task/Kosaraju/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/LU-decomposition b/Lang/FreeBASIC/LU-decomposition
new file mode 120000
index 0000000000..a239ac6c87
--- /dev/null
+++ b/Lang/FreeBASIC/LU-decomposition
@@ -0,0 +1 @@
+../../Task/LU-decomposition/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Last-letter-first-letter b/Lang/FreeBASIC/Last-letter-first-letter
new file mode 120000
index 0000000000..436ebfb8b9
--- /dev/null
+++ b/Lang/FreeBASIC/Last-letter-first-letter
@@ -0,0 +1 @@
+../../Task/Last-letter-first-letter/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Latin-Squares-in-reduced-form b/Lang/FreeBASIC/Latin-Squares-in-reduced-form
new file mode 120000
index 0000000000..db9e5d8a88
--- /dev/null
+++ b/Lang/FreeBASIC/Latin-Squares-in-reduced-form
@@ -0,0 +1 @@
+../../Task/Latin-Squares-in-reduced-form/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/List-rooted-trees b/Lang/FreeBASIC/List-rooted-trees
new file mode 120000
index 0000000000..d641d1dcf0
--- /dev/null
+++ b/Lang/FreeBASIC/List-rooted-trees
@@ -0,0 +1 @@
+../../Task/List-rooted-trees/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Lucky-and-even-lucky-numbers b/Lang/FreeBASIC/Lucky-and-even-lucky-numbers
new file mode 120000
index 0000000000..ab68b27195
--- /dev/null
+++ b/Lang/FreeBASIC/Lucky-and-even-lucky-numbers
@@ -0,0 +1 @@
+../../Task/Lucky-and-even-lucky-numbers/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Mayan-calendar b/Lang/FreeBASIC/Mayan-calendar
new file mode 120000
index 0000000000..4de11e93f6
--- /dev/null
+++ b/Lang/FreeBASIC/Mayan-calendar
@@ -0,0 +1 @@
+../../Task/Mayan-calendar/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Maze-solving b/Lang/FreeBASIC/Maze-solving
new file mode 120000
index 0000000000..2140d087ef
--- /dev/null
+++ b/Lang/FreeBASIC/Maze-solving
@@ -0,0 +1 @@
+../../Task/Maze-solving/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Median-filter b/Lang/FreeBASIC/Median-filter
new file mode 120000
index 0000000000..a0d5eec8a2
--- /dev/null
+++ b/Lang/FreeBASIC/Median-filter
@@ -0,0 +1 @@
+../../Task/Median-filter/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Meissel-Mertens-constant b/Lang/FreeBASIC/Meissel-Mertens-constant
deleted file mode 120000
index f9f037c2ea..0000000000
--- a/Lang/FreeBASIC/Meissel-Mertens-constant
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Meissel-Mertens-constant/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Metallic-ratios b/Lang/FreeBASIC/Metallic-ratios
new file mode 120000
index 0000000000..46551c0b17
--- /dev/null
+++ b/Lang/FreeBASIC/Metallic-ratios
@@ -0,0 +1 @@
+../../Task/Metallic-ratios/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Miller-Rabin-primality-test b/Lang/FreeBASIC/Miller-Rabin-primality-test
deleted file mode 120000
index 31ca057e36..0000000000
--- a/Lang/FreeBASIC/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Multiplicative-order b/Lang/FreeBASIC/Multiplicative-order
new file mode 120000
index 0000000000..1ba98d9611
--- /dev/null
+++ b/Lang/FreeBASIC/Multiplicative-order
@@ -0,0 +1 @@
+../../Task/Multiplicative-order/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/N-smooth-numbers b/Lang/FreeBASIC/N-smooth-numbers
new file mode 120000
index 0000000000..7dad0a8519
--- /dev/null
+++ b/Lang/FreeBASIC/N-smooth-numbers
@@ -0,0 +1 @@
+../../Task/N-smooth-numbers/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Natural-sorting b/Lang/FreeBASIC/Natural-sorting
new file mode 120000
index 0000000000..00267c2e93
--- /dev/null
+++ b/Lang/FreeBASIC/Natural-sorting
@@ -0,0 +1 @@
+../../Task/Natural-sorting/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Nested-templated-data b/Lang/FreeBASIC/Nested-templated-data
new file mode 120000
index 0000000000..064256a2d8
--- /dev/null
+++ b/Lang/FreeBASIC/Nested-templated-data
@@ -0,0 +1 @@
+../../Task/Nested-templated-data/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Non-transitive-dice b/Lang/FreeBASIC/Non-transitive-dice
new file mode 120000
index 0000000000..a320f65fd4
--- /dev/null
+++ b/Lang/FreeBASIC/Non-transitive-dice
@@ -0,0 +1 @@
+../../Task/Non-transitive-dice/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Nonoblock b/Lang/FreeBASIC/Nonoblock
new file mode 120000
index 0000000000..18e71abc62
--- /dev/null
+++ b/Lang/FreeBASIC/Nonoblock
@@ -0,0 +1 @@
+../../Task/Nonoblock/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Numerical-and-alphabetical-suffixes b/Lang/FreeBASIC/Numerical-and-alphabetical-suffixes
new file mode 120000
index 0000000000..f6a2f778c0
--- /dev/null
+++ b/Lang/FreeBASIC/Numerical-and-alphabetical-suffixes
@@ -0,0 +1 @@
+../../Task/Numerical-and-alphabetical-suffixes/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/OLE-automation b/Lang/FreeBASIC/OLE-automation
new file mode 120000
index 0000000000..eb6c2ccae6
--- /dev/null
+++ b/Lang/FreeBASIC/OLE-automation
@@ -0,0 +1 @@
+../../Task/OLE-automation/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Order-disjoint-list-items b/Lang/FreeBASIC/Order-disjoint-list-items
new file mode 120000
index 0000000000..d5dc6c71fd
--- /dev/null
+++ b/Lang/FreeBASIC/Order-disjoint-list-items
@@ -0,0 +1 @@
+../../Task/Order-disjoint-list-items/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/P-value-correction b/Lang/FreeBASIC/P-value-correction
new file mode 120000
index 0000000000..a2f7c2e1e2
--- /dev/null
+++ b/Lang/FreeBASIC/P-value-correction
@@ -0,0 +1 @@
+../../Task/P-value-correction/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Padovan-sequence b/Lang/FreeBASIC/Padovan-sequence
new file mode 120000
index 0000000000..efb5ea56df
--- /dev/null
+++ b/Lang/FreeBASIC/Padovan-sequence
@@ -0,0 +1 @@
+../../Task/Padovan-sequence/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Parse-an-IP-Address b/Lang/FreeBASIC/Parse-an-IP-Address
new file mode 120000
index 0000000000..4b51728d74
--- /dev/null
+++ b/Lang/FreeBASIC/Parse-an-IP-Address
@@ -0,0 +1 @@
+../../Task/Parse-an-IP-Address/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Parsing-RPN-to-infix-conversion b/Lang/FreeBASIC/Parsing-RPN-to-infix-conversion
new file mode 120000
index 0000000000..d524880dde
--- /dev/null
+++ b/Lang/FreeBASIC/Parsing-RPN-to-infix-conversion
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-to-infix-conversion/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Parsing-Shunting-yard-algorithm b/Lang/FreeBASIC/Parsing-Shunting-yard-algorithm
new file mode 120000
index 0000000000..c598b75c18
--- /dev/null
+++ b/Lang/FreeBASIC/Parsing-Shunting-yard-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-Shunting-yard-algorithm/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Particle-fountain b/Lang/FreeBASIC/Particle-fountain
new file mode 120000
index 0000000000..e93e8b964f
--- /dev/null
+++ b/Lang/FreeBASIC/Particle-fountain
@@ -0,0 +1 @@
+../../Task/Particle-fountain/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Partition-an-integer-x-into-n-primes b/Lang/FreeBASIC/Partition-an-integer-x-into-n-primes
new file mode 120000
index 0000000000..1e3ac14a3f
--- /dev/null
+++ b/Lang/FreeBASIC/Partition-an-integer-x-into-n-primes
@@ -0,0 +1 @@
+../../Task/Partition-an-integer-x-into-n-primes/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Pentagram b/Lang/FreeBASIC/Pentagram
new file mode 120000
index 0000000000..60996db876
--- /dev/null
+++ b/Lang/FreeBASIC/Pentagram
@@ -0,0 +1 @@
+../../Task/Pentagram/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Pentomino-tiling b/Lang/FreeBASIC/Pentomino-tiling
new file mode 120000
index 0000000000..684a3829b3
--- /dev/null
+++ b/Lang/FreeBASIC/Pentomino-tiling
@@ -0,0 +1 @@
+../../Task/Pentomino-tiling/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Percentage-difference-between-images b/Lang/FreeBASIC/Percentage-difference-between-images
new file mode 120000
index 0000000000..4b5a28d9b2
--- /dev/null
+++ b/Lang/FreeBASIC/Percentage-difference-between-images
@@ -0,0 +1 @@
+../../Task/Percentage-difference-between-images/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Percolation-Bond-percolation b/Lang/FreeBASIC/Percolation-Bond-percolation
new file mode 120000
index 0000000000..15d6381502
--- /dev/null
+++ b/Lang/FreeBASIC/Percolation-Bond-percolation
@@ -0,0 +1 @@
+../../Task/Percolation-Bond-percolation/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Percolation-Mean-cluster-density b/Lang/FreeBASIC/Percolation-Mean-cluster-density
new file mode 120000
index 0000000000..6d9dff89ca
--- /dev/null
+++ b/Lang/FreeBASIC/Percolation-Mean-cluster-density
@@ -0,0 +1 @@
+../../Task/Percolation-Mean-cluster-density/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Peripheral-drift-illusion b/Lang/FreeBASIC/Peripheral-drift-illusion
new file mode 120000
index 0000000000..8fbf1d3fb4
--- /dev/null
+++ b/Lang/FreeBASIC/Peripheral-drift-illusion
@@ -0,0 +1 @@
+../../Task/Peripheral-drift-illusion/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Pig-the-dice-game-Player b/Lang/FreeBASIC/Pig-the-dice-game-Player
new file mode 120000
index 0000000000..5766e4e5d7
--- /dev/null
+++ b/Lang/FreeBASIC/Pig-the-dice-game-Player
@@ -0,0 +1 @@
+../../Task/Pig-the-dice-game-Player/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Pinstripe-Printer b/Lang/FreeBASIC/Pinstripe-Printer
new file mode 120000
index 0000000000..be78fdd396
--- /dev/null
+++ b/Lang/FreeBASIC/Pinstripe-Printer
@@ -0,0 +1 @@
+../../Task/Pinstripe-Printer/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Pisano-period b/Lang/FreeBASIC/Pisano-period
new file mode 120000
index 0000000000..33961710c0
--- /dev/null
+++ b/Lang/FreeBASIC/Pisano-period
@@ -0,0 +1 @@
+../../Task/Pisano-period/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Play-recorded-sounds b/Lang/FreeBASIC/Play-recorded-sounds
new file mode 120000
index 0000000000..a80641ee64
--- /dev/null
+++ b/Lang/FreeBASIC/Play-recorded-sounds
@@ -0,0 +1 @@
+../../Task/Play-recorded-sounds/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Primes---allocate-descendants-to-their-ancestors b/Lang/FreeBASIC/Primes---allocate-descendants-to-their-ancestors
new file mode 120000
index 0000000000..49848d0592
--- /dev/null
+++ b/Lang/FreeBASIC/Primes---allocate-descendants-to-their-ancestors
@@ -0,0 +1 @@
+../../Task/Primes---allocate-descendants-to-their-ancestors/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Pseudo-random-numbers-Combined-recursive-generator-MRG32k3a b/Lang/FreeBASIC/Pseudo-random-numbers-Combined-recursive-generator-MRG32k3a
new file mode 120000
index 0000000000..a870f104af
--- /dev/null
+++ b/Lang/FreeBASIC/Pseudo-random-numbers-Combined-recursive-generator-MRG32k3a
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-Combined-recursive-generator-MRG32k3a/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Pseudo-random-numbers-PCG32 b/Lang/FreeBASIC/Pseudo-random-numbers-PCG32
new file mode 120000
index 0000000000..8a007fed91
--- /dev/null
+++ b/Lang/FreeBASIC/Pseudo-random-numbers-PCG32
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-PCG32/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Pseudo-random-numbers-Splitmix64 b/Lang/FreeBASIC/Pseudo-random-numbers-Splitmix64
new file mode 120000
index 0000000000..233c73713f
--- /dev/null
+++ b/Lang/FreeBASIC/Pseudo-random-numbers-Splitmix64
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-Splitmix64/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Pseudo-random-numbers-Xorshift-star b/Lang/FreeBASIC/Pseudo-random-numbers-Xorshift-star
new file mode 120000
index 0000000000..a40446f6c8
--- /dev/null
+++ b/Lang/FreeBASIC/Pseudo-random-numbers-Xorshift-star
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-Xorshift-star/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/QR-decomposition b/Lang/FreeBASIC/QR-decomposition
new file mode 120000
index 0000000000..b4e25e341a
--- /dev/null
+++ b/Lang/FreeBASIC/QR-decomposition
@@ -0,0 +1 @@
+../../Task/QR-decomposition/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Quaternion-type b/Lang/FreeBASIC/Quaternion-type
deleted file mode 120000
index f82c3a440e..0000000000
--- a/Lang/FreeBASIC/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Random-sentence-from-book b/Lang/FreeBASIC/Random-sentence-from-book
new file mode 120000
index 0000000000..9834480618
--- /dev/null
+++ b/Lang/FreeBASIC/Random-sentence-from-book
@@ -0,0 +1 @@
+../../Task/Random-sentence-from-book/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Reflection-List-methods b/Lang/FreeBASIC/Reflection-List-methods
new file mode 120000
index 0000000000..c065c312ec
--- /dev/null
+++ b/Lang/FreeBASIC/Reflection-List-methods
@@ -0,0 +1 @@
+../../Task/Reflection-List-methods/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Reflection-List-properties b/Lang/FreeBASIC/Reflection-List-properties
new file mode 120000
index 0000000000..0fd1a0e61e
--- /dev/null
+++ b/Lang/FreeBASIC/Reflection-List-properties
@@ -0,0 +1 @@
+../../Task/Reflection-List-properties/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Rendezvous b/Lang/FreeBASIC/Rendezvous
new file mode 120000
index 0000000000..1f852cdb53
--- /dev/null
+++ b/Lang/FreeBASIC/Rendezvous
@@ -0,0 +1 @@
+../../Task/Rendezvous/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Repunit-primes b/Lang/FreeBASIC/Repunit-primes
new file mode 120000
index 0000000000..f9270140df
--- /dev/null
+++ b/Lang/FreeBASIC/Repunit-primes
@@ -0,0 +1 @@
+../../Task/Repunit-primes/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Rosetta-Code-Count-examples b/Lang/FreeBASIC/Rosetta-Code-Count-examples
new file mode 120000
index 0000000000..c38f53ad75
--- /dev/null
+++ b/Lang/FreeBASIC/Rosetta-Code-Count-examples
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Count-examples/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Rosetta-Code-Find-bare-lang-tags b/Lang/FreeBASIC/Rosetta-Code-Find-bare-lang-tags
new file mode 120000
index 0000000000..c9a2ddc646
--- /dev/null
+++ b/Lang/FreeBASIC/Rosetta-Code-Find-bare-lang-tags
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Find-bare-lang-tags/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Rosetta-Code-Find-unimplemented-tasks b/Lang/FreeBASIC/Rosetta-Code-Find-unimplemented-tasks
new file mode 120000
index 0000000000..3f89d2cb42
--- /dev/null
+++ b/Lang/FreeBASIC/Rosetta-Code-Find-unimplemented-tasks
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Find-unimplemented-tasks/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Rosetta-Code-Fix-code-tags b/Lang/FreeBASIC/Rosetta-Code-Fix-code-tags
new file mode 120000
index 0000000000..53b438e29f
--- /dev/null
+++ b/Lang/FreeBASIC/Rosetta-Code-Fix-code-tags
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Fix-code-tags/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Rosetta-Code-Rank-languages-by-popularity b/Lang/FreeBASIC/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..71d538269e
--- /dev/null
+++ b/Lang/FreeBASIC/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Runtime-evaluation-In-an-environment b/Lang/FreeBASIC/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..80c5a69b35
--- /dev/null
+++ b/Lang/FreeBASIC/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/S-expressions b/Lang/FreeBASIC/S-expressions
new file mode 120000
index 0000000000..9a014b780a
--- /dev/null
+++ b/Lang/FreeBASIC/S-expressions
@@ -0,0 +1 @@
+../../Task/S-expressions/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/SOAP b/Lang/FreeBASIC/SOAP
new file mode 120000
index 0000000000..927bc2295a
--- /dev/null
+++ b/Lang/FreeBASIC/SOAP
@@ -0,0 +1 @@
+../../Task/SOAP/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/SQL-based-authentication b/Lang/FreeBASIC/SQL-based-authentication
new file mode 120000
index 0000000000..19b09b4fc4
--- /dev/null
+++ b/Lang/FreeBASIC/SQL-based-authentication
@@ -0,0 +1 @@
+../../Task/SQL-based-authentication/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Same-fringe b/Lang/FreeBASIC/Same-fringe
new file mode 120000
index 0000000000..756cf55a7d
--- /dev/null
+++ b/Lang/FreeBASIC/Same-fringe
@@ -0,0 +1 @@
+../../Task/Same-fringe/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Search-in-paragraphs-text b/Lang/FreeBASIC/Search-in-paragraphs-text
new file mode 120000
index 0000000000..bb0ecc2e40
--- /dev/null
+++ b/Lang/FreeBASIC/Search-in-paragraphs-text
@@ -0,0 +1 @@
+../../Task/Search-in-paragraphs-text/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Sequence-nth-number-with-exactly-n-divisors b/Lang/FreeBASIC/Sequence:-nth-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/FreeBASIC/Sequence-nth-number-with-exactly-n-divisors
rename to Lang/FreeBASIC/Sequence:-nth-number-with-exactly-n-divisors
diff --git a/Lang/FreeBASIC/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/FreeBASIC/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/FreeBASIC/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/FreeBASIC/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/FreeBASIC/Sequence-smallest-number-with-exactly-n-divisors b/Lang/FreeBASIC/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/FreeBASIC/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/FreeBASIC/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/FreeBASIC/Set-puzzle b/Lang/FreeBASIC/Set-puzzle
new file mode 120000
index 0000000000..bdebb4443c
--- /dev/null
+++ b/Lang/FreeBASIC/Set-puzzle
@@ -0,0 +1 @@
+../../Task/Set-puzzle/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Simple-database b/Lang/FreeBASIC/Simple-database
new file mode 120000
index 0000000000..8d38b56c2d
--- /dev/null
+++ b/Lang/FreeBASIC/Simple-database
@@ -0,0 +1 @@
+../../Task/Simple-database/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Simulate-input-Keyboard b/Lang/FreeBASIC/Simulate-input-Keyboard
new file mode 120000
index 0000000000..504f3b18d3
--- /dev/null
+++ b/Lang/FreeBASIC/Simulate-input-Keyboard
@@ -0,0 +1 @@
+../../Task/Simulate-input-Keyboard/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Singular-value-decomposition b/Lang/FreeBASIC/Singular-value-decomposition
new file mode 120000
index 0000000000..efbf29e97a
--- /dev/null
+++ b/Lang/FreeBASIC/Singular-value-decomposition
@@ -0,0 +1 @@
+../../Task/Singular-value-decomposition/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Sisyphus-sequence b/Lang/FreeBASIC/Sisyphus-sequence
new file mode 120000
index 0000000000..10074b9571
--- /dev/null
+++ b/Lang/FreeBASIC/Sisyphus-sequence
@@ -0,0 +1 @@
+../../Task/Sisyphus-sequence/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Sokoban b/Lang/FreeBASIC/Sokoban
new file mode 120000
index 0000000000..4305dae36d
--- /dev/null
+++ b/Lang/FreeBASIC/Sokoban
@@ -0,0 +1 @@
+../../Task/Sokoban/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Solve-a-Hidato-puzzle b/Lang/FreeBASIC/Solve-a-Hidato-puzzle
new file mode 120000
index 0000000000..ad49dd7d72
--- /dev/null
+++ b/Lang/FreeBASIC/Solve-a-Hidato-puzzle
@@ -0,0 +1 @@
+../../Task/Solve-a-Hidato-puzzle/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Solve-a-Holy-Knights-tour b/Lang/FreeBASIC/Solve-a-Holy-Knights-tour
new file mode 120000
index 0000000000..f7260b5f2d
--- /dev/null
+++ b/Lang/FreeBASIC/Solve-a-Holy-Knights-tour
@@ -0,0 +1 @@
+../../Task/Solve-a-Holy-Knights-tour/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Solve-a-Hopido-puzzle b/Lang/FreeBASIC/Solve-a-Hopido-puzzle
new file mode 120000
index 0000000000..3af9403ab8
--- /dev/null
+++ b/Lang/FreeBASIC/Solve-a-Hopido-puzzle
@@ -0,0 +1 @@
+../../Task/Solve-a-Hopido-puzzle/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Solve-a-Numbrix-puzzle b/Lang/FreeBASIC/Solve-a-Numbrix-puzzle
new file mode 120000
index 0000000000..9212eac2bb
--- /dev/null
+++ b/Lang/FreeBASIC/Solve-a-Numbrix-puzzle
@@ -0,0 +1 @@
+../../Task/Solve-a-Numbrix-puzzle/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Solve-the-no-connection-puzzle b/Lang/FreeBASIC/Solve-the-no-connection-puzzle
new file mode 120000
index 0000000000..b14a0d6097
--- /dev/null
+++ b/Lang/FreeBASIC/Solve-the-no-connection-puzzle
@@ -0,0 +1 @@
+../../Task/Solve-the-no-connection-puzzle/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Sort-a-list-of-object-identifiers b/Lang/FreeBASIC/Sort-a-list-of-object-identifiers
new file mode 120000
index 0000000000..2c5a5fbb3b
--- /dev/null
+++ b/Lang/FreeBASIC/Sort-a-list-of-object-identifiers
@@ -0,0 +1 @@
+../../Task/Sort-a-list-of-object-identifiers/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Sort-an-outline-at-every-level b/Lang/FreeBASIC/Sort-an-outline-at-every-level
new file mode 120000
index 0000000000..ae4c555049
--- /dev/null
+++ b/Lang/FreeBASIC/Sort-an-outline-at-every-level
@@ -0,0 +1 @@
+../../Task/Sort-an-outline-at-every-level/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Sorting-Algorithms-Circle-Sort b/Lang/FreeBASIC/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index ea5bf17e30..0000000000
--- a/Lang/FreeBASIC/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Sorting-algorithms-Patience-sort b/Lang/FreeBASIC/Sorting-algorithms-Patience-sort
new file mode 120000
index 0000000000..1fc80c416d
--- /dev/null
+++ b/Lang/FreeBASIC/Sorting-algorithms-Patience-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Patience-sort/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Sorting-algorithms-Radix-sort b/Lang/FreeBASIC/Sorting-algorithms-Radix-sort
new file mode 120000
index 0000000000..bddec7031b
--- /dev/null
+++ b/Lang/FreeBASIC/Sorting-algorithms-Radix-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Radix-sort/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Sorting-algorithms-Strand-sort b/Lang/FreeBASIC/Sorting-algorithms-Strand-sort
new file mode 120000
index 0000000000..5305f3c6f7
--- /dev/null
+++ b/Lang/FreeBASIC/Sorting-algorithms-Strand-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Strand-sort/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Stable-marriage-problem b/Lang/FreeBASIC/Stable-marriage-problem
new file mode 120000
index 0000000000..e54d2883a7
--- /dev/null
+++ b/Lang/FreeBASIC/Stable-marriage-problem
@@ -0,0 +1 @@
+../../Task/Stable-marriage-problem/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/State-name-puzzle b/Lang/FreeBASIC/State-name-puzzle
new file mode 120000
index 0000000000..31d5af215a
--- /dev/null
+++ b/Lang/FreeBASIC/State-name-puzzle
@@ -0,0 +1 @@
+../../Task/State-name-puzzle/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Strassens-algorithm b/Lang/FreeBASIC/Strassens-algorithm
new file mode 120000
index 0000000000..a5c6e9ef78
--- /dev/null
+++ b/Lang/FreeBASIC/Strassens-algorithm
@@ -0,0 +1 @@
+../../Task/Strassens-algorithm/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Summarize-and-say-sequence b/Lang/FreeBASIC/Summarize-and-say-sequence
new file mode 120000
index 0000000000..c59e649aca
--- /dev/null
+++ b/Lang/FreeBASIC/Summarize-and-say-sequence
@@ -0,0 +1 @@
+../../Task/Summarize-and-say-sequence/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Synchronous-concurrency b/Lang/FreeBASIC/Synchronous-concurrency
new file mode 120000
index 0000000000..787a5aebfc
--- /dev/null
+++ b/Lang/FreeBASIC/Synchronous-concurrency
@@ -0,0 +1 @@
+../../Task/Synchronous-concurrency/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Tarjan b/Lang/FreeBASIC/Tarjan
new file mode 120000
index 0000000000..2088963b57
--- /dev/null
+++ b/Lang/FreeBASIC/Tarjan
@@ -0,0 +1 @@
+../../Task/Tarjan/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Teacup-rim-text b/Lang/FreeBASIC/Teacup-rim-text
new file mode 120000
index 0000000000..e0ebee7a7f
--- /dev/null
+++ b/Lang/FreeBASIC/Teacup-rim-text
@@ -0,0 +1 @@
+../../Task/Teacup-rim-text/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Text-processing-1 b/Lang/FreeBASIC/Text-processing-1
new file mode 120000
index 0000000000..1e52cc9a2a
--- /dev/null
+++ b/Lang/FreeBASIC/Text-processing-1
@@ -0,0 +1 @@
+../../Task/Text-processing-1/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Text-processing-2 b/Lang/FreeBASIC/Text-processing-2
new file mode 120000
index 0000000000..03a524d892
--- /dev/null
+++ b/Lang/FreeBASIC/Text-processing-2
@@ -0,0 +1 @@
+../../Task/Text-processing-2/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Textonyms b/Lang/FreeBASIC/Textonyms
new file mode 120000
index 0000000000..1d60439533
--- /dev/null
+++ b/Lang/FreeBASIC/Textonyms
@@ -0,0 +1 @@
+../../Task/Textonyms/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Topological-sort b/Lang/FreeBASIC/Topological-sort
new file mode 120000
index 0000000000..c6cd407c9f
--- /dev/null
+++ b/Lang/FreeBASIC/Topological-sort
@@ -0,0 +1 @@
+../../Task/Topological-sort/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Transliterate-English-text-using-the-Greek-alphabet b/Lang/FreeBASIC/Transliterate-English-text-using-the-Greek-alphabet
new file mode 120000
index 0000000000..a3142e6912
--- /dev/null
+++ b/Lang/FreeBASIC/Transliterate-English-text-using-the-Greek-alphabet
@@ -0,0 +1 @@
+../../Task/Transliterate-English-text-using-the-Greek-alphabet/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Tree-datastructures b/Lang/FreeBASIC/Tree-datastructures
new file mode 120000
index 0000000000..9ca72e7eb6
--- /dev/null
+++ b/Lang/FreeBASIC/Tree-datastructures
@@ -0,0 +1 @@
+../../Task/Tree-datastructures/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Truth-table b/Lang/FreeBASIC/Truth-table
new file mode 120000
index 0000000000..228be906c6
--- /dev/null
+++ b/Lang/FreeBASIC/Truth-table
@@ -0,0 +1 @@
+../../Task/Truth-table/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/UPC b/Lang/FreeBASIC/UPC
new file mode 120000
index 0000000000..ddcf027e49
--- /dev/null
+++ b/Lang/FreeBASIC/UPC
@@ -0,0 +1 @@
+../../Task/UPC/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/URL-parser b/Lang/FreeBASIC/URL-parser
new file mode 120000
index 0000000000..870d1a309b
--- /dev/null
+++ b/Lang/FreeBASIC/URL-parser
@@ -0,0 +1 @@
+../../Task/URL-parser/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Ukkonen-s-suffix-tree-construction b/Lang/FreeBASIC/Ukkonen-s-suffix-tree-construction
new file mode 120000
index 0000000000..6686d05c91
--- /dev/null
+++ b/Lang/FreeBASIC/Ukkonen-s-suffix-tree-construction
@@ -0,0 +1 @@
+../../Task/Ukkonen-s-suffix-tree-construction/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Universal-Turing-machine b/Lang/FreeBASIC/Universal-Turing-machine
new file mode 120000
index 0000000000..a29b2e6201
--- /dev/null
+++ b/Lang/FreeBASIC/Universal-Turing-machine
@@ -0,0 +1 @@
+../../Task/Universal-Turing-machine/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Use-another-language-to-call-a-function b/Lang/FreeBASIC/Use-another-language-to-call-a-function
new file mode 120000
index 0000000000..5d195ad8f5
--- /dev/null
+++ b/Lang/FreeBASIC/Use-another-language-to-call-a-function
@@ -0,0 +1 @@
+../../Task/Use-another-language-to-call-a-function/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/User-input-Graphical b/Lang/FreeBASIC/User-input-Graphical
new file mode 120000
index 0000000000..8c4f2f8158
--- /dev/null
+++ b/Lang/FreeBASIC/User-input-Graphical
@@ -0,0 +1 @@
+../../Task/User-input-Graphical/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Verify-distribution-uniformity-Chi-squared-test b/Lang/FreeBASIC/Verify-distribution-uniformity-Chi-squared-test
new file mode 120000
index 0000000000..8088ed160e
--- /dev/null
+++ b/Lang/FreeBASIC/Verify-distribution-uniformity-Chi-squared-test
@@ -0,0 +1 @@
+../../Task/Verify-distribution-uniformity-Chi-squared-test/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Vigen-re-cipher-Cryptanalysis b/Lang/FreeBASIC/Vigen-re-cipher-Cryptanalysis
new file mode 120000
index 0000000000..a802341d36
--- /dev/null
+++ b/Lang/FreeBASIC/Vigen-re-cipher-Cryptanalysis
@@ -0,0 +1 @@
+../../Task/Vigen-re-cipher-Cryptanalysis/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Vogels-approximation-method b/Lang/FreeBASIC/Vogels-approximation-method
new file mode 120000
index 0000000000..e685ba3d8d
--- /dev/null
+++ b/Lang/FreeBASIC/Vogels-approximation-method
@@ -0,0 +1 @@
+../../Task/Vogels-approximation-method/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Wasteful-equidigital-and-frugal-numbers b/Lang/FreeBASIC/Wasteful-equidigital-and-frugal-numbers
new file mode 120000
index 0000000000..7889ec2570
--- /dev/null
+++ b/Lang/FreeBASIC/Wasteful-equidigital-and-frugal-numbers
@@ -0,0 +1 @@
+../../Task/Wasteful-equidigital-and-frugal-numbers/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Web-scraping b/Lang/FreeBASIC/Web-scraping
new file mode 120000
index 0000000000..ef3ee370f4
--- /dev/null
+++ b/Lang/FreeBASIC/Web-scraping
@@ -0,0 +1 @@
+../../Task/Web-scraping/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Window-management b/Lang/FreeBASIC/Window-management
new file mode 120000
index 0000000000..f998cbb6ef
--- /dev/null
+++ b/Lang/FreeBASIC/Window-management
@@ -0,0 +1 @@
+../../Task/Window-management/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Word-ladder b/Lang/FreeBASIC/Word-ladder
new file mode 120000
index 0000000000..1390108efe
--- /dev/null
+++ b/Lang/FreeBASIC/Word-ladder
@@ -0,0 +1 @@
+../../Task/Word-ladder/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/World-Cup-group-stage b/Lang/FreeBASIC/World-Cup-group-stage
new file mode 120000
index 0000000000..10c687e006
--- /dev/null
+++ b/Lang/FreeBASIC/World-Cup-group-stage
@@ -0,0 +1 @@
+../../Task/World-Cup-group-stage/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Write-to-Windows-event-log b/Lang/FreeBASIC/Write-to-Windows-event-log
new file mode 120000
index 0000000000..8993ae4828
--- /dev/null
+++ b/Lang/FreeBASIC/Write-to-Windows-event-log
@@ -0,0 +1 @@
+../../Task/Write-to-Windows-event-log/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Yahoo-search-interface b/Lang/FreeBASIC/Yahoo-search-interface
new file mode 120000
index 0000000000..f92d06f36d
--- /dev/null
+++ b/Lang/FreeBASIC/Yahoo-search-interface
@@ -0,0 +1 @@
+../../Task/Yahoo-search-interface/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Zebra-puzzle b/Lang/FreeBASIC/Zebra-puzzle
new file mode 120000
index 0000000000..aa6204ae2d
--- /dev/null
+++ b/Lang/FreeBASIC/Zebra-puzzle
@@ -0,0 +1 @@
+../../Task/Zebra-puzzle/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Zeckendorf-arithmetic b/Lang/FreeBASIC/Zeckendorf-arithmetic
new file mode 120000
index 0000000000..5830437272
--- /dev/null
+++ b/Lang/FreeBASIC/Zeckendorf-arithmetic
@@ -0,0 +1 @@
+../../Task/Zeckendorf-arithmetic/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Zumkeller-numbers b/Lang/FreeBASIC/Zumkeller-numbers
new file mode 120000
index 0000000000..6994043985
--- /dev/null
+++ b/Lang/FreeBASIC/Zumkeller-numbers
@@ -0,0 +1 @@
+../../Task/Zumkeller-numbers/FreeBASIC
\ No newline at end of file
diff --git a/Lang/Frink/24-game b/Lang/Frink/24-game
new file mode 120000
index 0000000000..843d6f51e2
--- /dev/null
+++ b/Lang/Frink/24-game
@@ -0,0 +1 @@
+../../Task/24-game/Frink
\ No newline at end of file
diff --git a/Lang/Frink/Averages-Root-mean-square b/Lang/Frink/Averages-Root-mean-square
new file mode 120000
index 0000000000..5ccaff432e
--- /dev/null
+++ b/Lang/Frink/Averages-Root-mean-square
@@ -0,0 +1 @@
+../../Task/Averages-Root-mean-square/Frink
\ No newline at end of file
diff --git a/Lang/Frink/Blum-integer b/Lang/Frink/Blum-integer
new file mode 120000
index 0000000000..51dea63ee5
--- /dev/null
+++ b/Lang/Frink/Blum-integer
@@ -0,0 +1 @@
+../../Task/Blum-integer/Frink
\ No newline at end of file
diff --git a/Lang/Frink/Combinations b/Lang/Frink/Combinations
new file mode 120000
index 0000000000..ca07ce8ac3
--- /dev/null
+++ b/Lang/Frink/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/Frink
\ No newline at end of file
diff --git a/Lang/Frink/Disarium-numbers b/Lang/Frink/Disarium-numbers
new file mode 120000
index 0000000000..30da6e89d2
--- /dev/null
+++ b/Lang/Frink/Disarium-numbers
@@ -0,0 +1 @@
+../../Task/Disarium-numbers/Frink
\ No newline at end of file
diff --git a/Lang/Frink/Entropy b/Lang/Frink/Entropy
new file mode 120000
index 0000000000..686a6c7be3
--- /dev/null
+++ b/Lang/Frink/Entropy
@@ -0,0 +1 @@
+../../Task/Entropy/Frink
\ No newline at end of file
diff --git a/Lang/Frink/Factorial-primes b/Lang/Frink/Factorial-primes
new file mode 120000
index 0000000000..704a6876ac
--- /dev/null
+++ b/Lang/Frink/Factorial-primes
@@ -0,0 +1 @@
+../../Task/Factorial-primes/Frink
\ No newline at end of file
diff --git a/Lang/Frink/Find-palindromic-numbers-in-both-binary-and-ternary-bases b/Lang/Frink/Find-palindromic-numbers-in-both-binary-and-ternary-bases
new file mode 120000
index 0000000000..8a6a61669b
--- /dev/null
+++ b/Lang/Frink/Find-palindromic-numbers-in-both-binary-and-ternary-bases
@@ -0,0 +1 @@
+../../Task/Find-palindromic-numbers-in-both-binary-and-ternary-bases/Frink
\ No newline at end of file
diff --git a/Lang/Frink/Floyds-triangle b/Lang/Frink/Floyds-triangle
new file mode 120000
index 0000000000..993ee6e3c2
--- /dev/null
+++ b/Lang/Frink/Floyds-triangle
@@ -0,0 +1 @@
+../../Task/Floyds-triangle/Frink
\ No newline at end of file
diff --git a/Lang/Frink/Happy-numbers b/Lang/Frink/Happy-numbers
new file mode 120000
index 0000000000..e83b081fcc
--- /dev/null
+++ b/Lang/Frink/Happy-numbers
@@ -0,0 +1 @@
+../../Task/Happy-numbers/Frink
\ No newline at end of file
diff --git a/Lang/Frink/Knapsack-problem-0-1 b/Lang/Frink/Knapsack-problem-0-1
new file mode 120000
index 0000000000..ae292bd7e7
--- /dev/null
+++ b/Lang/Frink/Knapsack-problem-0-1
@@ -0,0 +1 @@
+../../Task/Knapsack-problem-0-1/Frink
\ No newline at end of file
diff --git a/Lang/Frink/Knapsack-problem-Bounded b/Lang/Frink/Knapsack-problem-Bounded
new file mode 120000
index 0000000000..52649c831e
--- /dev/null
+++ b/Lang/Frink/Knapsack-problem-Bounded
@@ -0,0 +1 @@
+../../Task/Knapsack-problem-Bounded/Frink
\ No newline at end of file
diff --git a/Lang/Frink/Order-two-numerical-lists b/Lang/Frink/Order-two-numerical-lists
new file mode 120000
index 0000000000..7daa415aeb
--- /dev/null
+++ b/Lang/Frink/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/Frink
\ No newline at end of file
diff --git a/Lang/Frink/Palindrome-dates b/Lang/Frink/Palindrome-dates
new file mode 120000
index 0000000000..9b0bf86617
--- /dev/null
+++ b/Lang/Frink/Palindrome-dates
@@ -0,0 +1 @@
+../../Task/Palindrome-dates/Frink
\ No newline at end of file
diff --git a/Lang/Frink/Search-a-list b/Lang/Frink/Search-a-list
new file mode 120000
index 0000000000..71db52cc8c
--- /dev/null
+++ b/Lang/Frink/Search-a-list
@@ -0,0 +1 @@
+../../Task/Search-a-list/Frink
\ No newline at end of file
diff --git a/Lang/Frink/Smith-numbers b/Lang/Frink/Smith-numbers
new file mode 120000
index 0000000000..368b2f0d50
--- /dev/null
+++ b/Lang/Frink/Smith-numbers
@@ -0,0 +1 @@
+../../Task/Smith-numbers/Frink
\ No newline at end of file
diff --git a/Lang/Frink/Square-free-integers b/Lang/Frink/Square-free-integers
new file mode 120000
index 0000000000..23755894dd
--- /dev/null
+++ b/Lang/Frink/Square-free-integers
@@ -0,0 +1 @@
+../../Task/Square-free-integers/Frink
\ No newline at end of file
diff --git a/Lang/Frink/String-matching b/Lang/Frink/String-matching
new file mode 120000
index 0000000000..f56424a6a3
--- /dev/null
+++ b/Lang/Frink/String-matching
@@ -0,0 +1 @@
+../../Task/String-matching/Frink
\ No newline at end of file
diff --git a/Lang/FunL/Miller-Rabin-primality-test b/Lang/FunL/Miller-Rabin-primality-test
deleted file mode 120000
index 592d9059fa..0000000000
--- a/Lang/FunL/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/FunL
\ No newline at end of file
diff --git a/Lang/FuncSug/00-LANG.txt b/Lang/FuncSug/00-LANG.txt
new file mode 100644
index 0000000000..9239e3a1ef
--- /dev/null
+++ b/Lang/FuncSug/00-LANG.txt
@@ -0,0 +1 @@
+{{stub}}{{language|FuncSug}}
\ No newline at end of file
diff --git a/Lang/FuncSug/00-META.yaml b/Lang/FuncSug/00-META.yaml
new file mode 100644
index 0000000000..0613d9bea7
--- /dev/null
+++ b/Lang/FuncSug/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:FuncSug
diff --git a/Lang/FuncSug/15-puzzle-game b/Lang/FuncSug/15-puzzle-game
new file mode 120000
index 0000000000..76eb121586
--- /dev/null
+++ b/Lang/FuncSug/15-puzzle-game
@@ -0,0 +1 @@
+../../Task/15-puzzle-game/FuncSug
\ No newline at end of file
diff --git a/Lang/FuncSug/GUI-component-interaction b/Lang/FuncSug/GUI-component-interaction
new file mode 120000
index 0000000000..744e9aac1b
--- /dev/null
+++ b/Lang/FuncSug/GUI-component-interaction
@@ -0,0 +1 @@
+../../Task/GUI-component-interaction/FuncSug
\ No newline at end of file
diff --git a/Lang/FuncSug/GUI-enabling-disabling-of-controls b/Lang/FuncSug/GUI-enabling-disabling-of-controls
new file mode 120000
index 0000000000..049595483a
--- /dev/null
+++ b/Lang/FuncSug/GUI-enabling-disabling-of-controls
@@ -0,0 +1 @@
+../../Task/GUI-enabling-disabling-of-controls/FuncSug
\ No newline at end of file
diff --git a/Lang/FuncSug/Hello-world-Text b/Lang/FuncSug/Hello-world-Text
new file mode 120000
index 0000000000..f188530df7
--- /dev/null
+++ b/Lang/FuncSug/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/FuncSug
\ No newline at end of file
diff --git a/Lang/FuncSug/Play-recorded-sounds b/Lang/FuncSug/Play-recorded-sounds
new file mode 120000
index 0000000000..9418947577
--- /dev/null
+++ b/Lang/FuncSug/Play-recorded-sounds
@@ -0,0 +1 @@
+../../Task/Play-recorded-sounds/FuncSug
\ No newline at end of file
diff --git a/Lang/FuncSug/Simple-windowed-application b/Lang/FuncSug/Simple-windowed-application
new file mode 120000
index 0000000000..8eec686bff
--- /dev/null
+++ b/Lang/FuncSug/Simple-windowed-application
@@ -0,0 +1 @@
+../../Task/Simple-windowed-application/FuncSug
\ No newline at end of file
diff --git a/Lang/FuncSug/Simulate-input-Mouse b/Lang/FuncSug/Simulate-input-Mouse
new file mode 120000
index 0000000000..186d49bf08
--- /dev/null
+++ b/Lang/FuncSug/Simulate-input-Mouse
@@ -0,0 +1 @@
+../../Task/Simulate-input-Mouse/FuncSug
\ No newline at end of file
diff --git a/Lang/FuncSug/User-input-Graphical b/Lang/FuncSug/User-input-Graphical
new file mode 120000
index 0000000000..b685a2412e
--- /dev/null
+++ b/Lang/FuncSug/User-input-Graphical
@@ -0,0 +1 @@
+../../Task/User-input-Graphical/FuncSug
\ No newline at end of file
diff --git a/Lang/FutureBasic/00-LANG.txt b/Lang/FutureBasic/00-LANG.txt
index d3dbdba2ec..36f5f0b065 100644
--- a/Lang/FutureBasic/00-LANG.txt
+++ b/Lang/FutureBasic/00-LANG.txt
@@ -12,7 +12,11 @@
[[File:FutureBasicIcon.png|64px|top]]
-FutureBasic began life as Zbasic, a commercial variant of [[BASIC]] for the early Macintoshes, but has grown far beyond that into a mature freeware IDE that, through its FBtoC translator, can be used to compile C and Objective-C [[object-oriented]] code using the clang compiler included with an Xcode installation. It is excellent as a educational tool and for fast prototyping -- especially in Objective-C (Cocoa) by those who prefer programmatic code without the overhead of Xcode. Among its enthusiasts are commercial developers, engineers, professors, doctors, musicians, writers and a host of amateurs who program with FB for the sheer joy of it.
+FutureBasic — commonly called FB by its users — is a robust freeware Macintosh IDE.
+
+It began life as Zbasic, a commercial variant of [[BASIC]] for the early Macintoshes, but has grown far beyond that into a mature IDE compatible with the latest macOSes. Through its FBtoC translator, it can be used to compile C and Objective-C [[object-oriented]] code. It uses the industry-standard clang compiler included with an Xcode installation.
+
+FB is excellent as a educational tool, for fast prototyping and for commercial application development. In addition to its native language, it can incorporate C and Objective-C (Cocoa) for those who prefer programmatic code without the overhead of Xcode. It is compatible with Xcode nib and xib files used for building GUIs. Among its enthusiasts are commercial developers, engineers, professors, doctors, musicians, writers and a host of amateurs who program with FB for the sheer joy of it.
== FutureBasic Home Page & Download ==
@@ -64,11 +68,11 @@ In 1995 Staz Software, led by Chris Stasny based in Diamondhead, Miss., acquired
When Apple transitioned the Mac from 68k to PowerPC, the FB editor was rewritten by Stasny and was coupled with an adaptation of the compiler by Andy Gariepy. The result of their efforts, a dramatically enhanced IDE called FB^3 (FB-cubed) was released in September 1999.
-Major update releases introduced a full-featured Appearance Compliant runtime written by the late New Zealander Robert Purves renown for his brilliant programming. Once completely carbonized to run natively on the Mac OS X, the FutureBASIC Integrated Development Environment (FB IDE) was called FB4 and released in July 2004.
+Major update releases introduced a full-featured Appearance Compliant runtime written by the late New Zealander Robert Purves renowned for his brilliant programming. Once completely carbonized to run natively on the Mac OS X, the FutureBASIC Integrated Development Environment (FB IDE) was called FB4 and released in July 2004.
In August 2005, Staz Software was devastated by Hurricane Katrina just at the time Apple was transitioning from Motorola PPC microprocessors to Intel chips. FB development slowed almost to a standstill. On January 1, 2008, Staz Software announced that FB would henceforth be freeware and FB4 with FBtoC 1.0 was made available.
-Since that time, an independent team of volunteer developers initially lead by Purves continued to improve FBtoC, which took code produced by the FB Editor and translated it to C for processing by gcc which was eventually transitioned to the more robust clang.
+Since that time, an independent team of volunteer developers initially led by Purves continued to improve FBtoC, which took code produced by the FB Editor and translated it to C for processing by gcc which was eventually transitioned to the more robust clang.
On Sunday, June 3, 2012, members of the FB List Serve were notified that Robert Purves had died after a long bout with cancer. The news came as a surprise to many FB developers who were unaware of Purves' illness. While coping with cancer, he continued as an active member of the FB community, improving FB, answering questions, solving problems, and posting exquisitely terse code often salted with pithy remarks from his wonderfully dry humor. He never mentioned his health problems and never complained. A tribute to Purves can be found at the bottom of the FB Home Page
diff --git a/Lang/FutureBasic/15-puzzle-solver b/Lang/FutureBasic/15-puzzle-solver
new file mode 120000
index 0000000000..db2f936a7e
--- /dev/null
+++ b/Lang/FutureBasic/15-puzzle-solver
@@ -0,0 +1 @@
+../../Task/15-puzzle-solver/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/24-game b/Lang/FutureBasic/24-game
new file mode 120000
index 0000000000..f1ea3d0684
--- /dev/null
+++ b/Lang/FutureBasic/24-game
@@ -0,0 +1 @@
+../../Task/24-game/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/9-billion-names-of-God-the-integer b/Lang/FutureBasic/9-billion-names-of-God-the-integer
new file mode 120000
index 0000000000..2c2322b6ea
--- /dev/null
+++ b/Lang/FutureBasic/9-billion-names-of-God-the-integer
@@ -0,0 +1 @@
+../../Task/9-billion-names-of-God-the-integer/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/ADFGVX-cipher b/Lang/FutureBasic/ADFGVX-cipher
new file mode 120000
index 0000000000..e5f0c8a31e
--- /dev/null
+++ b/Lang/FutureBasic/ADFGVX-cipher
@@ -0,0 +1 @@
+../../Task/ADFGVX-cipher/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/AKS-test-for-primes b/Lang/FutureBasic/AKS-test-for-primes
new file mode 120000
index 0000000000..d7fcaa6502
--- /dev/null
+++ b/Lang/FutureBasic/AKS-test-for-primes
@@ -0,0 +1 @@
+../../Task/AKS-test-for-primes/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/ASCII-art-diagram-converter b/Lang/FutureBasic/ASCII-art-diagram-converter
new file mode 120000
index 0000000000..cb5711ff54
--- /dev/null
+++ b/Lang/FutureBasic/ASCII-art-diagram-converter
@@ -0,0 +1 @@
+../../Task/ASCII-art-diagram-converter/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Achilles-numbers b/Lang/FutureBasic/Achilles-numbers
new file mode 120000
index 0000000000..a912859c01
--- /dev/null
+++ b/Lang/FutureBasic/Achilles-numbers
@@ -0,0 +1 @@
+../../Task/Achilles-numbers/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Aliquot-sequence-classifications b/Lang/FutureBasic/Aliquot-sequence-classifications
new file mode 120000
index 0000000000..d24c82afdc
--- /dev/null
+++ b/Lang/FutureBasic/Aliquot-sequence-classifications
@@ -0,0 +1 @@
+../../Task/Aliquot-sequence-classifications/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Almkvist-Giullera-formula-for-pi b/Lang/FutureBasic/Almkvist-Giullera-formula-for-pi
new file mode 120000
index 0000000000..0079b2eae5
--- /dev/null
+++ b/Lang/FutureBasic/Almkvist-Giullera-formula-for-pi
@@ -0,0 +1 @@
+../../Task/Almkvist-Giullera-formula-for-pi/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Amb b/Lang/FutureBasic/Amb
new file mode 120000
index 0000000000..399b8a70d5
--- /dev/null
+++ b/Lang/FutureBasic/Amb
@@ -0,0 +1 @@
+../../Task/Amb/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Angles-geometric-normalization-and-conversion b/Lang/FutureBasic/Angles-geometric-normalization-and-conversion
new file mode 120000
index 0000000000..63c4e835a4
--- /dev/null
+++ b/Lang/FutureBasic/Angles-geometric-normalization-and-conversion
@@ -0,0 +1 @@
+../../Task/Angles-geometric-normalization-and-conversion/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Anonymous-recursion b/Lang/FutureBasic/Anonymous-recursion
new file mode 120000
index 0000000000..d52f4bbda0
--- /dev/null
+++ b/Lang/FutureBasic/Anonymous-recursion
@@ -0,0 +1 @@
+../../Task/Anonymous-recursion/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Arbitrary-precision-integers-included- b/Lang/FutureBasic/Arbitrary-precision-integers-included-
new file mode 120000
index 0000000000..ca9deb04e2
--- /dev/null
+++ b/Lang/FutureBasic/Arbitrary-precision-integers-included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers-included-/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Arithmetic-Complex b/Lang/FutureBasic/Arithmetic-Complex
new file mode 120000
index 0000000000..eab72eafe1
--- /dev/null
+++ b/Lang/FutureBasic/Arithmetic-Complex
@@ -0,0 +1 @@
+../../Task/Arithmetic-Complex/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Arithmetic-Rational b/Lang/FutureBasic/Arithmetic-Rational
new file mode 120000
index 0000000000..4ba3750b0f
--- /dev/null
+++ b/Lang/FutureBasic/Arithmetic-Rational
@@ -0,0 +1 @@
+../../Task/Arithmetic-Rational/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Arithmetic-derivative b/Lang/FutureBasic/Arithmetic-derivative
new file mode 120000
index 0000000000..4b54c16b3d
--- /dev/null
+++ b/Lang/FutureBasic/Arithmetic-derivative
@@ -0,0 +1 @@
+../../Task/Arithmetic-derivative/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Arithmetic-geometric-mean b/Lang/FutureBasic/Arithmetic-geometric-mean
new file mode 120000
index 0000000000..2894f4733f
--- /dev/null
+++ b/Lang/FutureBasic/Arithmetic-geometric-mean
@@ -0,0 +1 @@
+../../Task/Arithmetic-geometric-mean/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Assertions b/Lang/FutureBasic/Assertions
new file mode 120000
index 0000000000..6270ababb4
--- /dev/null
+++ b/Lang/FutureBasic/Assertions
@@ -0,0 +1 @@
+../../Task/Assertions/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Averages-Mean-angle b/Lang/FutureBasic/Averages-Mean-angle
new file mode 120000
index 0000000000..45c7d861f6
--- /dev/null
+++ b/Lang/FutureBasic/Averages-Mean-angle
@@ -0,0 +1 @@
+../../Task/Averages-Mean-angle/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Averages-Mean-time-of-day b/Lang/FutureBasic/Averages-Mean-time-of-day
new file mode 120000
index 0000000000..0caef5a9a0
--- /dev/null
+++ b/Lang/FutureBasic/Averages-Mean-time-of-day
@@ -0,0 +1 @@
+../../Task/Averages-Mean-time-of-day/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Averages-Root-mean-square b/Lang/FutureBasic/Averages-Root-mean-square
new file mode 120000
index 0000000000..f04b81a3b0
--- /dev/null
+++ b/Lang/FutureBasic/Averages-Root-mean-square
@@ -0,0 +1 @@
+../../Task/Averages-Root-mean-square/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Barnsley-fern b/Lang/FutureBasic/Barnsley-fern
new file mode 120000
index 0000000000..a6da4c722a
--- /dev/null
+++ b/Lang/FutureBasic/Barnsley-fern
@@ -0,0 +1 @@
+../../Task/Barnsley-fern/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Bernoulli-numbers b/Lang/FutureBasic/Bernoulli-numbers
new file mode 120000
index 0000000000..3ed522958e
--- /dev/null
+++ b/Lang/FutureBasic/Bernoulli-numbers
@@ -0,0 +1 @@
+../../Task/Bernoulli-numbers/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Bin-given-limits b/Lang/FutureBasic/Bin-given-limits
new file mode 120000
index 0000000000..6397588001
--- /dev/null
+++ b/Lang/FutureBasic/Bin-given-limits
@@ -0,0 +1 @@
+../../Task/Bin-given-limits/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Binary-search b/Lang/FutureBasic/Binary-search
new file mode 120000
index 0000000000..55e96bcbd8
--- /dev/null
+++ b/Lang/FutureBasic/Binary-search
@@ -0,0 +1 @@
+../../Task/Binary-search/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Bioinformatics-base-count b/Lang/FutureBasic/Bioinformatics-base-count
deleted file mode 120000
index 8f826b0063..0000000000
--- a/Lang/FutureBasic/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Biorhythms b/Lang/FutureBasic/Biorhythms
new file mode 120000
index 0000000000..db55b5c43b
--- /dev/null
+++ b/Lang/FutureBasic/Biorhythms
@@ -0,0 +1 @@
+../../Task/Biorhythms/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Bitmap b/Lang/FutureBasic/Bitmap
new file mode 120000
index 0000000000..5e3f607822
--- /dev/null
+++ b/Lang/FutureBasic/Bitmap
@@ -0,0 +1 @@
+../../Task/Bitmap/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Bitmap-B-zier-curves-Cubic b/Lang/FutureBasic/Bitmap-B-zier-curves-Cubic
new file mode 120000
index 0000000000..743bf83068
--- /dev/null
+++ b/Lang/FutureBasic/Bitmap-B-zier-curves-Cubic
@@ -0,0 +1 @@
+../../Task/Bitmap-B-zier-curves-Cubic/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Blum-integer b/Lang/FutureBasic/Blum-integer
new file mode 120000
index 0000000000..0ccbf69775
--- /dev/null
+++ b/Lang/FutureBasic/Blum-integer
@@ -0,0 +1 @@
+../../Task/Blum-integer/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Box-the-compass b/Lang/FutureBasic/Box-the-compass
new file mode 120000
index 0000000000..7b89a8413c
--- /dev/null
+++ b/Lang/FutureBasic/Box-the-compass
@@ -0,0 +1 @@
+../../Task/Box-the-compass/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Boyer-Moore-string-search b/Lang/FutureBasic/Boyer-Moore-string-search
new file mode 120000
index 0000000000..574c899ddd
--- /dev/null
+++ b/Lang/FutureBasic/Boyer-Moore-string-search
@@ -0,0 +1 @@
+../../Task/Boyer-Moore-string-search/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Brazilian-numbers b/Lang/FutureBasic/Brazilian-numbers
new file mode 120000
index 0000000000..ea4e519da9
--- /dev/null
+++ b/Lang/FutureBasic/Brazilian-numbers
@@ -0,0 +1 @@
+../../Task/Brazilian-numbers/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Brilliant-numbers b/Lang/FutureBasic/Brilliant-numbers
new file mode 120000
index 0000000000..0ee49e027a
--- /dev/null
+++ b/Lang/FutureBasic/Brilliant-numbers
@@ -0,0 +1 @@
+../../Task/Brilliant-numbers/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Brownian-tree b/Lang/FutureBasic/Brownian-tree
new file mode 120000
index 0000000000..26e06861c7
--- /dev/null
+++ b/Lang/FutureBasic/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/CRC-32 b/Lang/FutureBasic/CRC-32
new file mode 120000
index 0000000000..8330772d04
--- /dev/null
+++ b/Lang/FutureBasic/CRC-32
@@ -0,0 +1 @@
+../../Task/CRC-32/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Caesar-cipher b/Lang/FutureBasic/Caesar-cipher
new file mode 120000
index 0000000000..c0196256fa
--- /dev/null
+++ b/Lang/FutureBasic/Caesar-cipher
@@ -0,0 +1 @@
+../../Task/Caesar-cipher/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Canonicalize-CIDR b/Lang/FutureBasic/Canonicalize-CIDR
new file mode 120000
index 0000000000..77fabb43fd
--- /dev/null
+++ b/Lang/FutureBasic/Canonicalize-CIDR
@@ -0,0 +1 @@
+../../Task/Canonicalize-CIDR/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Carmichael-3-strong-pseudoprimes b/Lang/FutureBasic/Carmichael-3-strong-pseudoprimes
new file mode 120000
index 0000000000..17664f9781
--- /dev/null
+++ b/Lang/FutureBasic/Carmichael-3-strong-pseudoprimes
@@ -0,0 +1 @@
+../../Task/Carmichael-3-strong-pseudoprimes/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Catalan-numbers-Pascals-triangle b/Lang/FutureBasic/Catalan-numbers-Pascals-triangle
new file mode 120000
index 0000000000..48a5bd3f8b
--- /dev/null
+++ b/Lang/FutureBasic/Catalan-numbers-Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Catalan-numbers-Pascals-triangle/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Catamorphism b/Lang/FutureBasic/Catamorphism
new file mode 120000
index 0000000000..25e6699616
--- /dev/null
+++ b/Lang/FutureBasic/Catamorphism
@@ -0,0 +1 @@
+../../Task/Catamorphism/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Check-output-device-is-a-terminal b/Lang/FutureBasic/Check-output-device-is-a-terminal
new file mode 120000
index 0000000000..e2e8c9c4eb
--- /dev/null
+++ b/Lang/FutureBasic/Check-output-device-is-a-terminal
@@ -0,0 +1 @@
+../../Task/Check-output-device-is-a-terminal/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Chinese-remainder-theorem b/Lang/FutureBasic/Chinese-remainder-theorem
new file mode 120000
index 0000000000..2cdd3a4f64
--- /dev/null
+++ b/Lang/FutureBasic/Chinese-remainder-theorem
@@ -0,0 +1 @@
+../../Task/Chinese-remainder-theorem/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Chinese-zodiac b/Lang/FutureBasic/Chinese-zodiac
new file mode 120000
index 0000000000..df6e098031
--- /dev/null
+++ b/Lang/FutureBasic/Chinese-zodiac
@@ -0,0 +1 @@
+../../Task/Chinese-zodiac/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Colorful-numbers b/Lang/FutureBasic/Colorful-numbers
new file mode 120000
index 0000000000..f9f2dd43bc
--- /dev/null
+++ b/Lang/FutureBasic/Colorful-numbers
@@ -0,0 +1 @@
+../../Task/Colorful-numbers/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Combinations b/Lang/FutureBasic/Combinations
new file mode 120000
index 0000000000..d7395ea4d1
--- /dev/null
+++ b/Lang/FutureBasic/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Command-line-arguments b/Lang/FutureBasic/Command-line-arguments
new file mode 120000
index 0000000000..2926af8716
--- /dev/null
+++ b/Lang/FutureBasic/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Compile-time-calculation b/Lang/FutureBasic/Compile-time-calculation
new file mode 120000
index 0000000000..ef10ff644e
--- /dev/null
+++ b/Lang/FutureBasic/Compile-time-calculation
@@ -0,0 +1 @@
+../../Task/Compile-time-calculation/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Composite-numbers-k-with-no-single-digit-factors-whose-factors-are-all-substrings-of-k b/Lang/FutureBasic/Composite-numbers-k-with-no-single-digit-factors-whose-factors-are-all-substrings-of-k
new file mode 120000
index 0000000000..2fbac26654
--- /dev/null
+++ b/Lang/FutureBasic/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/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Consecutive-primes-with-ascending-or-descending-differences b/Lang/FutureBasic/Consecutive-primes-with-ascending-or-descending-differences
new file mode 120000
index 0000000000..ca47092ad1
--- /dev/null
+++ b/Lang/FutureBasic/Consecutive-primes-with-ascending-or-descending-differences
@@ -0,0 +1 @@
+../../Task/Consecutive-primes-with-ascending-or-descending-differences/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Constrained-random-points-on-a-circle b/Lang/FutureBasic/Constrained-random-points-on-a-circle
new file mode 120000
index 0000000000..db1c784250
--- /dev/null
+++ b/Lang/FutureBasic/Constrained-random-points-on-a-circle
@@ -0,0 +1 @@
+../../Task/Constrained-random-points-on-a-circle/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Continued-fraction-Arithmetic-Construct-from-rational-number b/Lang/FutureBasic/Continued-fraction-Arithmetic-Construct-from-rational-number
new file mode 120000
index 0000000000..fa25a1c542
--- /dev/null
+++ b/Lang/FutureBasic/Continued-fraction-Arithmetic-Construct-from-rational-number
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-Construct-from-rational-number/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Copy-stdin-to-stdout b/Lang/FutureBasic/Copy-stdin-to-stdout
new file mode 120000
index 0000000000..9a5df43082
--- /dev/null
+++ b/Lang/FutureBasic/Copy-stdin-to-stdout
@@ -0,0 +1 @@
+../../Task/Copy-stdin-to-stdout/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Cuban-primes b/Lang/FutureBasic/Cuban-primes
new file mode 120000
index 0000000000..3b2980081c
--- /dev/null
+++ b/Lang/FutureBasic/Cuban-primes
@@ -0,0 +1 @@
+../../Task/Cuban-primes/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Cumulative-standard-deviation b/Lang/FutureBasic/Cumulative-standard-deviation
new file mode 120000
index 0000000000..e51653c2b1
--- /dev/null
+++ b/Lang/FutureBasic/Cumulative-standard-deviation
@@ -0,0 +1 @@
+../../Task/Cumulative-standard-deviation/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Curzon-numbers b/Lang/FutureBasic/Curzon-numbers
new file mode 120000
index 0000000000..bcd7e577f6
--- /dev/null
+++ b/Lang/FutureBasic/Curzon-numbers
@@ -0,0 +1 @@
+../../Task/Curzon-numbers/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Damm-algorithm b/Lang/FutureBasic/Damm-algorithm
new file mode 120000
index 0000000000..1a53ae4466
--- /dev/null
+++ b/Lang/FutureBasic/Damm-algorithm
@@ -0,0 +1 @@
+../../Task/Damm-algorithm/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Deal-cards-for-FreeCell b/Lang/FutureBasic/Deal-cards-for-FreeCell
new file mode 120000
index 0000000000..b84bfb771c
--- /dev/null
+++ b/Lang/FutureBasic/Deal-cards-for-FreeCell
@@ -0,0 +1 @@
+../../Task/Deal-cards-for-FreeCell/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Death-Star b/Lang/FutureBasic/Death-Star
new file mode 120000
index 0000000000..6a87d38224
--- /dev/null
+++ b/Lang/FutureBasic/Death-Star
@@ -0,0 +1 @@
+../../Task/Death-Star/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Deceptive-numbers b/Lang/FutureBasic/Deceptive-numbers
new file mode 120000
index 0000000000..82f50bcc9e
--- /dev/null
+++ b/Lang/FutureBasic/Deceptive-numbers
@@ -0,0 +1 @@
+../../Task/Deceptive-numbers/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Demings-funnel b/Lang/FutureBasic/Demings-funnel
new file mode 120000
index 0000000000..a0b916f84d
--- /dev/null
+++ b/Lang/FutureBasic/Demings-funnel
@@ -0,0 +1 @@
+../../Task/Demings-funnel/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Determine-if-a-string-has-all-the-same-characters b/Lang/FutureBasic/Determine-if-a-string-has-all-the-same-characters
new file mode 120000
index 0000000000..94f004e3ea
--- /dev/null
+++ b/Lang/FutureBasic/Determine-if-a-string-has-all-the-same-characters
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-has-all-the-same-characters/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Determine-if-a-string-is-squeezable b/Lang/FutureBasic/Determine-if-a-string-is-squeezable
new file mode 120000
index 0000000000..3b259327b7
--- /dev/null
+++ b/Lang/FutureBasic/Determine-if-a-string-is-squeezable
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-squeezable/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Determine-if-only-one-instance-is-running b/Lang/FutureBasic/Determine-if-only-one-instance-is-running
new file mode 120000
index 0000000000..e3fa96a5b5
--- /dev/null
+++ b/Lang/FutureBasic/Determine-if-only-one-instance-is-running
@@ -0,0 +1 @@
+../../Task/Determine-if-only-one-instance-is-running/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Determine-if-two-triangles-overlap b/Lang/FutureBasic/Determine-if-two-triangles-overlap
new file mode 120000
index 0000000000..40f32b74b7
--- /dev/null
+++ b/Lang/FutureBasic/Determine-if-two-triangles-overlap
@@ -0,0 +1 @@
+../../Task/Determine-if-two-triangles-overlap/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Determine-sentence-type b/Lang/FutureBasic/Determine-sentence-type
new file mode 120000
index 0000000000..fce2322962
--- /dev/null
+++ b/Lang/FutureBasic/Determine-sentence-type
@@ -0,0 +1 @@
+../../Task/Determine-sentence-type/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Digital-root b/Lang/FutureBasic/Digital-root
new file mode 120000
index 0000000000..63da54faf1
--- /dev/null
+++ b/Lang/FutureBasic/Digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Dinesmans-multiple-dwelling-problem b/Lang/FutureBasic/Dinesmans-multiple-dwelling-problem
new file mode 120000
index 0000000000..cdb0294902
--- /dev/null
+++ b/Lang/FutureBasic/Dinesmans-multiple-dwelling-problem
@@ -0,0 +1 @@
+../../Task/Dinesmans-multiple-dwelling-problem/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Distribution-of-0-digits-in-factorial-series b/Lang/FutureBasic/Distribution-of-0-digits-in-factorial-series
new file mode 120000
index 0000000000..2e525770b5
--- /dev/null
+++ b/Lang/FutureBasic/Distribution-of-0-digits-in-factorial-series
@@ -0,0 +1 @@
+../../Task/Distribution-of-0-digits-in-factorial-series/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Diversity-prediction-theorem b/Lang/FutureBasic/Diversity-prediction-theorem
new file mode 120000
index 0000000000..75ad65e089
--- /dev/null
+++ b/Lang/FutureBasic/Diversity-prediction-theorem
@@ -0,0 +1 @@
+../../Task/Diversity-prediction-theorem/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Doubly-linked-list-Definition b/Lang/FutureBasic/Doubly-linked-list-Definition
new file mode 120000
index 0000000000..dbb3fa0478
--- /dev/null
+++ b/Lang/FutureBasic/Doubly-linked-list-Definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Definition/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Dutch-national-flag-problem b/Lang/FutureBasic/Dutch-national-flag-problem
new file mode 120000
index 0000000000..a769d7e0d9
--- /dev/null
+++ b/Lang/FutureBasic/Dutch-national-flag-problem
@@ -0,0 +1 @@
+../../Task/Dutch-national-flag-problem/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Eban-numbers b/Lang/FutureBasic/Eban-numbers
new file mode 120000
index 0000000000..2ae3f59434
--- /dev/null
+++ b/Lang/FutureBasic/Eban-numbers
@@ -0,0 +1 @@
+../../Task/Eban-numbers/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Echo-server b/Lang/FutureBasic/Echo-server
new file mode 120000
index 0000000000..25d59262e7
--- /dev/null
+++ b/Lang/FutureBasic/Echo-server
@@ -0,0 +1 @@
+../../Task/Echo-server/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Eertree b/Lang/FutureBasic/Eertree
new file mode 120000
index 0000000000..f3374493cf
--- /dev/null
+++ b/Lang/FutureBasic/Eertree
@@ -0,0 +1 @@
+../../Task/Eertree/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Egyptian-division b/Lang/FutureBasic/Egyptian-division
new file mode 120000
index 0000000000..5961af2842
--- /dev/null
+++ b/Lang/FutureBasic/Egyptian-division
@@ -0,0 +1 @@
+../../Task/Egyptian-division/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Entropy b/Lang/FutureBasic/Entropy
new file mode 120000
index 0000000000..6336540906
--- /dev/null
+++ b/Lang/FutureBasic/Entropy
@@ -0,0 +1 @@
+../../Task/Entropy/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Equilibrium-index b/Lang/FutureBasic/Equilibrium-index
new file mode 120000
index 0000000000..92d577887f
--- /dev/null
+++ b/Lang/FutureBasic/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Euclid-Mullin-sequence b/Lang/FutureBasic/Euclid-Mullin-sequence
new file mode 120000
index 0000000000..20745da07c
--- /dev/null
+++ b/Lang/FutureBasic/Euclid-Mullin-sequence
@@ -0,0 +1 @@
+../../Task/Euclid-Mullin-sequence/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Euler-method b/Lang/FutureBasic/Euler-method
new file mode 120000
index 0000000000..89a7e85a03
--- /dev/null
+++ b/Lang/FutureBasic/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Evaluate-binomial-coefficients b/Lang/FutureBasic/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..59e49028f9
--- /dev/null
+++ b/Lang/FutureBasic/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Evolutionary-algorithm b/Lang/FutureBasic/Evolutionary-algorithm
new file mode 120000
index 0000000000..6ad9576429
--- /dev/null
+++ b/Lang/FutureBasic/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Exceptions b/Lang/FutureBasic/Exceptions
new file mode 120000
index 0000000000..0e25a15f85
--- /dev/null
+++ b/Lang/FutureBasic/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/FutureBasic/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..fd7f3bd9e7
--- /dev/null
+++ b/Lang/FutureBasic/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/FASTA-format b/Lang/FutureBasic/FASTA-format
new file mode 120000
index 0000000000..739187f0ef
--- /dev/null
+++ b/Lang/FutureBasic/FASTA-format
@@ -0,0 +1 @@
+../../Task/FASTA-format/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Factors-of-a-Mersenne-number b/Lang/FutureBasic/Factors-of-a-Mersenne-number
new file mode 120000
index 0000000000..c65e3bfb3a
--- /dev/null
+++ b/Lang/FutureBasic/Factors-of-a-Mersenne-number
@@ -0,0 +1 @@
+../../Task/Factors-of-a-Mersenne-number/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Fermat-numbers b/Lang/FutureBasic/Fermat-numbers
new file mode 120000
index 0000000000..2c5c3120a2
--- /dev/null
+++ b/Lang/FutureBasic/Fermat-numbers
@@ -0,0 +1 @@
+../../Task/Fermat-numbers/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Fibonacci-n-step-number-sequences b/Lang/FutureBasic/Fibonacci-n-step-number-sequences
new file mode 120000
index 0000000000..4131a2e05b
--- /dev/null
+++ b/Lang/FutureBasic/Fibonacci-n-step-number-sequences
@@ -0,0 +1 @@
+../../Task/Fibonacci-n-step-number-sequences/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Fibonacci-word b/Lang/FutureBasic/Fibonacci-word
new file mode 120000
index 0000000000..c773eeed44
--- /dev/null
+++ b/Lang/FutureBasic/Fibonacci-word
@@ -0,0 +1 @@
+../../Task/Fibonacci-word/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Find-limit-of-recursion b/Lang/FutureBasic/Find-limit-of-recursion
new file mode 120000
index 0000000000..cbc1e3a568
--- /dev/null
+++ b/Lang/FutureBasic/Find-limit-of-recursion
@@ -0,0 +1 @@
+../../Task/Find-limit-of-recursion/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Find-the-missing-permutation b/Lang/FutureBasic/Find-the-missing-permutation
new file mode 120000
index 0000000000..83f97c5dbb
--- /dev/null
+++ b/Lang/FutureBasic/Find-the-missing-permutation
@@ -0,0 +1 @@
+../../Task/Find-the-missing-permutation/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Five-weekends b/Lang/FutureBasic/Five-weekends
new file mode 120000
index 0000000000..d11a92b953
--- /dev/null
+++ b/Lang/FutureBasic/Five-weekends
@@ -0,0 +1 @@
+../../Task/Five-weekends/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Flipping-bits-game b/Lang/FutureBasic/Flipping-bits-game
new file mode 120000
index 0000000000..439479c614
--- /dev/null
+++ b/Lang/FutureBasic/Flipping-bits-game
@@ -0,0 +1 @@
+../../Task/Flipping-bits-game/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Flow-control-structures b/Lang/FutureBasic/Flow-control-structures
new file mode 120000
index 0000000000..47305c16bf
--- /dev/null
+++ b/Lang/FutureBasic/Flow-control-structures
@@ -0,0 +1 @@
+../../Task/Flow-control-structures/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Floyds-triangle b/Lang/FutureBasic/Floyds-triangle
new file mode 120000
index 0000000000..134b2be232
--- /dev/null
+++ b/Lang/FutureBasic/Floyds-triangle
@@ -0,0 +1 @@
+../../Task/Floyds-triangle/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Forest-fire b/Lang/FutureBasic/Forest-fire
new file mode 120000
index 0000000000..5ed21f66e0
--- /dev/null
+++ b/Lang/FutureBasic/Forest-fire
@@ -0,0 +1 @@
+../../Task/Forest-fire/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Forward-difference b/Lang/FutureBasic/Forward-difference
new file mode 120000
index 0000000000..8669b1c1f5
--- /dev/null
+++ b/Lang/FutureBasic/Forward-difference
@@ -0,0 +1 @@
+../../Task/Forward-difference/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Function-composition b/Lang/FutureBasic/Function-composition
new file mode 120000
index 0000000000..363444c694
--- /dev/null
+++ b/Lang/FutureBasic/Function-composition
@@ -0,0 +1 @@
+../../Task/Function-composition/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Function-prototype b/Lang/FutureBasic/Function-prototype
new file mode 120000
index 0000000000..00a31e111b
--- /dev/null
+++ b/Lang/FutureBasic/Function-prototype
@@ -0,0 +1 @@
+../../Task/Function-prototype/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Fusc-sequence b/Lang/FutureBasic/Fusc-sequence
new file mode 120000
index 0000000000..603bccf327
--- /dev/null
+++ b/Lang/FutureBasic/Fusc-sequence
@@ -0,0 +1 @@
+../../Task/Fusc-sequence/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Gamma-function b/Lang/FutureBasic/Gamma-function
new file mode 120000
index 0000000000..fbf1cf8878
--- /dev/null
+++ b/Lang/FutureBasic/Gamma-function
@@ -0,0 +1 @@
+../../Task/Gamma-function/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Gaussian-elimination b/Lang/FutureBasic/Gaussian-elimination
new file mode 120000
index 0000000000..f8adccdee8
--- /dev/null
+++ b/Lang/FutureBasic/Gaussian-elimination
@@ -0,0 +1 @@
+../../Task/Gaussian-elimination/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Go-Fish b/Lang/FutureBasic/Go-Fish
new file mode 120000
index 0000000000..cc2210d25a
--- /dev/null
+++ b/Lang/FutureBasic/Go-Fish
@@ -0,0 +1 @@
+../../Task/Go-Fish/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Golden-ratio-Convergence b/Lang/FutureBasic/Golden-ratio-Convergence
new file mode 120000
index 0000000000..2807889e38
--- /dev/null
+++ b/Lang/FutureBasic/Golden-ratio-Convergence
@@ -0,0 +1 @@
+../../Task/Golden-ratio-Convergence/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Gray-code b/Lang/FutureBasic/Gray-code
new file mode 120000
index 0000000000..5eafcaba04
--- /dev/null
+++ b/Lang/FutureBasic/Gray-code
@@ -0,0 +1 @@
+../../Task/Gray-code/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Greatest-subsequential-sum b/Lang/FutureBasic/Greatest-subsequential-sum
new file mode 120000
index 0000000000..cf9f89b8cf
--- /dev/null
+++ b/Lang/FutureBasic/Greatest-subsequential-sum
@@ -0,0 +1 @@
+../../Task/Greatest-subsequential-sum/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Greedy-algorithm-for-Egyptian-fractions b/Lang/FutureBasic/Greedy-algorithm-for-Egyptian-fractions
new file mode 120000
index 0000000000..65dad8fc47
--- /dev/null
+++ b/Lang/FutureBasic/Greedy-algorithm-for-Egyptian-fractions
@@ -0,0 +1 @@
+../../Task/Greedy-algorithm-for-Egyptian-fractions/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Guess-the-number-With-feedback-player- b/Lang/FutureBasic/Guess-the-number-With-feedback-player-
new file mode 120000
index 0000000000..0ee5d26b61
--- /dev/null
+++ b/Lang/FutureBasic/Guess-the-number-With-feedback-player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback-player-/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/HTTPS-Authenticated b/Lang/FutureBasic/HTTPS-Authenticated
new file mode 120000
index 0000000000..9edb1d8326
--- /dev/null
+++ b/Lang/FutureBasic/HTTPS-Authenticated
@@ -0,0 +1 @@
+../../Task/HTTPS-Authenticated/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Halt-and-catch-fire b/Lang/FutureBasic/Halt-and-catch-fire
new file mode 120000
index 0000000000..d78c73210e
--- /dev/null
+++ b/Lang/FutureBasic/Halt-and-catch-fire
@@ -0,0 +1 @@
+../../Task/Halt-and-catch-fire/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Hamming-numbers b/Lang/FutureBasic/Hamming-numbers
new file mode 120000
index 0000000000..69b0f1ea7d
--- /dev/null
+++ b/Lang/FutureBasic/Hamming-numbers
@@ -0,0 +1 @@
+../../Task/Hamming-numbers/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Hello-world-Standard-error b/Lang/FutureBasic/Hello-world-Standard-error
new file mode 120000
index 0000000000..326ae936a9
--- /dev/null
+++ b/Lang/FutureBasic/Hello-world-Standard-error
@@ -0,0 +1 @@
+../../Task/Hello-world-Standard-error/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Here-document b/Lang/FutureBasic/Here-document
new file mode 120000
index 0000000000..44b4edadd8
--- /dev/null
+++ b/Lang/FutureBasic/Here-document
@@ -0,0 +1 @@
+../../Task/Here-document/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Hickerson-series-of-almost-integers b/Lang/FutureBasic/Hickerson-series-of-almost-integers
new file mode 120000
index 0000000000..22531fa967
--- /dev/null
+++ b/Lang/FutureBasic/Hickerson-series-of-almost-integers
@@ -0,0 +1 @@
+../../Task/Hickerson-series-of-almost-integers/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Hofstadter-Q-sequence b/Lang/FutureBasic/Hofstadter-Q-sequence
new file mode 120000
index 0000000000..bb38370ecf
--- /dev/null
+++ b/Lang/FutureBasic/Hofstadter-Q-sequence
@@ -0,0 +1 @@
+../../Task/Hofstadter-Q-sequence/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Home-primes b/Lang/FutureBasic/Home-primes
new file mode 120000
index 0000000000..4744c5ec64
--- /dev/null
+++ b/Lang/FutureBasic/Home-primes
@@ -0,0 +1 @@
+../../Task/Home-primes/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Honeycombs b/Lang/FutureBasic/Honeycombs
new file mode 120000
index 0000000000..306c30d982
--- /dev/null
+++ b/Lang/FutureBasic/Honeycombs
@@ -0,0 +1 @@
+../../Task/Honeycombs/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Host-introspection b/Lang/FutureBasic/Host-introspection
new file mode 120000
index 0000000000..c342a7333a
--- /dev/null
+++ b/Lang/FutureBasic/Host-introspection
@@ -0,0 +1 @@
+../../Task/Host-introspection/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Hunt-the-Wumpus b/Lang/FutureBasic/Hunt-the-Wumpus
new file mode 120000
index 0000000000..6ac2d19ea6
--- /dev/null
+++ b/Lang/FutureBasic/Hunt-the-Wumpus
@@ -0,0 +1 @@
+../../Task/Hunt-the-Wumpus/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/ISBN13-check-digit b/Lang/FutureBasic/ISBN13-check-digit
new file mode 120000
index 0000000000..ad5e4cffb4
--- /dev/null
+++ b/Lang/FutureBasic/ISBN13-check-digit
@@ -0,0 +1 @@
+../../Task/ISBN13-check-digit/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Integer-overflow b/Lang/FutureBasic/Integer-overflow
new file mode 120000
index 0000000000..37f3cd9e93
--- /dev/null
+++ b/Lang/FutureBasic/Integer-overflow
@@ -0,0 +1 @@
+../../Task/Integer-overflow/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/JortSort b/Lang/FutureBasic/JortSort
new file mode 120000
index 0000000000..a21b94121b
--- /dev/null
+++ b/Lang/FutureBasic/JortSort
@@ -0,0 +1 @@
+../../Task/JortSort/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Josephus-problem b/Lang/FutureBasic/Josephus-problem
new file mode 120000
index 0000000000..d84fa33d5d
--- /dev/null
+++ b/Lang/FutureBasic/Josephus-problem
@@ -0,0 +1 @@
+../../Task/Josephus-problem/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Juggler-sequence b/Lang/FutureBasic/Juggler-sequence
new file mode 120000
index 0000000000..f39646025c
--- /dev/null
+++ b/Lang/FutureBasic/Juggler-sequence
@@ -0,0 +1 @@
+../../Task/Juggler-sequence/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Keyboard-input-Flush-the-keyboard-buffer b/Lang/FutureBasic/Keyboard-input-Flush-the-keyboard-buffer
new file mode 120000
index 0000000000..958993035a
--- /dev/null
+++ b/Lang/FutureBasic/Keyboard-input-Flush-the-keyboard-buffer
@@ -0,0 +1 @@
+../../Task/Keyboard-input-Flush-the-keyboard-buffer/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Largest-number-divisible-by-its-digits b/Lang/FutureBasic/Largest-number-divisible-by-its-digits
new file mode 120000
index 0000000000..3dcba1705b
--- /dev/null
+++ b/Lang/FutureBasic/Largest-number-divisible-by-its-digits
@@ -0,0 +1 @@
+../../Task/Largest-number-divisible-by-its-digits/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Last-Friday-of-each-month b/Lang/FutureBasic/Last-Friday-of-each-month
new file mode 120000
index 0000000000..a3476e0672
--- /dev/null
+++ b/Lang/FutureBasic/Last-Friday-of-each-month
@@ -0,0 +1 @@
+../../Task/Last-Friday-of-each-month/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Last-letter-first-letter b/Lang/FutureBasic/Last-letter-first-letter
new file mode 120000
index 0000000000..82ed39c3f0
--- /dev/null
+++ b/Lang/FutureBasic/Last-letter-first-letter
@@ -0,0 +1 @@
+../../Task/Last-letter-first-letter/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Least-common-multiple b/Lang/FutureBasic/Least-common-multiple
new file mode 120000
index 0000000000..23b8dbfe57
--- /dev/null
+++ b/Lang/FutureBasic/Least-common-multiple
@@ -0,0 +1 @@
+../../Task/Least-common-multiple/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Left-factorials b/Lang/FutureBasic/Left-factorials
new file mode 120000
index 0000000000..b771fa0031
--- /dev/null
+++ b/Lang/FutureBasic/Left-factorials
@@ -0,0 +1 @@
+../../Task/Left-factorials/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Long-literals-with-continuations b/Lang/FutureBasic/Long-literals-with-continuations
new file mode 120000
index 0000000000..09dff817df
--- /dev/null
+++ b/Lang/FutureBasic/Long-literals-with-continuations
@@ -0,0 +1 @@
+../../Task/Long-literals-with-continuations/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Long-multiplication b/Lang/FutureBasic/Long-multiplication
new file mode 120000
index 0000000000..cc3dd93634
--- /dev/null
+++ b/Lang/FutureBasic/Long-multiplication
@@ -0,0 +1 @@
+../../Task/Long-multiplication/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Long-year b/Lang/FutureBasic/Long-year
new file mode 120000
index 0000000000..ae89f1d742
--- /dev/null
+++ b/Lang/FutureBasic/Long-year
@@ -0,0 +1 @@
+../../Task/Long-year/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Loops-Increment-loop-index-within-loop-body b/Lang/FutureBasic/Loops-Increment-loop-index-within-loop-body
new file mode 120000
index 0000000000..ff81b810cd
--- /dev/null
+++ b/Lang/FutureBasic/Loops-Increment-loop-index-within-loop-body
@@ -0,0 +1 @@
+../../Task/Loops-Increment-loop-index-within-loop-body/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Lucas-Lehmer-test b/Lang/FutureBasic/Lucas-Lehmer-test
new file mode 120000
index 0000000000..0d48052ee1
--- /dev/null
+++ b/Lang/FutureBasic/Lucas-Lehmer-test
@@ -0,0 +1 @@
+../../Task/Lucas-Lehmer-test/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/MAC-vendor-lookup b/Lang/FutureBasic/MAC-vendor-lookup
new file mode 120000
index 0000000000..63a0a7c0b7
--- /dev/null
+++ b/Lang/FutureBasic/MAC-vendor-lookup
@@ -0,0 +1 @@
+../../Task/MAC-vendor-lookup/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Magic-constant b/Lang/FutureBasic/Magic-constant
new file mode 120000
index 0000000000..1b88b55f67
--- /dev/null
+++ b/Lang/FutureBasic/Magic-constant
@@ -0,0 +1 @@
+../../Task/Magic-constant/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Man-or-boy-test b/Lang/FutureBasic/Man-or-boy-test
new file mode 120000
index 0000000000..ffaf61719d
--- /dev/null
+++ b/Lang/FutureBasic/Man-or-boy-test
@@ -0,0 +1 @@
+../../Task/Man-or-boy-test/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Mastermind b/Lang/FutureBasic/Mastermind
new file mode 120000
index 0000000000..e02911b738
--- /dev/null
+++ b/Lang/FutureBasic/Mastermind
@@ -0,0 +1 @@
+../../Task/Mastermind/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Matrix-digital-rain b/Lang/FutureBasic/Matrix-digital-rain
new file mode 120000
index 0000000000..26c9356719
--- /dev/null
+++ b/Lang/FutureBasic/Matrix-digital-rain
@@ -0,0 +1 @@
+../../Task/Matrix-digital-rain/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Mayan-calendar b/Lang/FutureBasic/Mayan-calendar
new file mode 120000
index 0000000000..7b5f78ca25
--- /dev/null
+++ b/Lang/FutureBasic/Mayan-calendar
@@ -0,0 +1 @@
+../../Task/Mayan-calendar/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Mayan-numerals b/Lang/FutureBasic/Mayan-numerals
new file mode 120000
index 0000000000..cbc6204e00
--- /dev/null
+++ b/Lang/FutureBasic/Mayan-numerals
@@ -0,0 +1 @@
+../../Task/Mayan-numerals/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Minesweeper-game b/Lang/FutureBasic/Minesweeper-game
new file mode 120000
index 0000000000..fdc515bbc6
--- /dev/null
+++ b/Lang/FutureBasic/Minesweeper-game
@@ -0,0 +1 @@
+../../Task/Minesweeper-game/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Minimum-multiple-of-m-where-digital-sum-equals-m b/Lang/FutureBasic/Minimum-multiple-of-m-where-digital-sum-equals-m
new file mode 120000
index 0000000000..088e4f56af
--- /dev/null
+++ b/Lang/FutureBasic/Minimum-multiple-of-m-where-digital-sum-equals-m
@@ -0,0 +1 @@
+../../Task/Minimum-multiple-of-m-where-digital-sum-equals-m/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Modular-inverse b/Lang/FutureBasic/Modular-inverse
new file mode 120000
index 0000000000..89556b3bbe
--- /dev/null
+++ b/Lang/FutureBasic/Modular-inverse
@@ -0,0 +1 @@
+../../Task/Modular-inverse/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Monte-Carlo-methods b/Lang/FutureBasic/Monte-Carlo-methods
new file mode 120000
index 0000000000..729102269f
--- /dev/null
+++ b/Lang/FutureBasic/Monte-Carlo-methods
@@ -0,0 +1 @@
+../../Task/Monte-Carlo-methods/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Monty-Hall-problem b/Lang/FutureBasic/Monty-Hall-problem
new file mode 120000
index 0000000000..0d9da7e7cc
--- /dev/null
+++ b/Lang/FutureBasic/Monty-Hall-problem
@@ -0,0 +1 @@
+../../Task/Monty-Hall-problem/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Multi-dimensional-array b/Lang/FutureBasic/Multi-dimensional-array
new file mode 120000
index 0000000000..89411e3bf7
--- /dev/null
+++ b/Lang/FutureBasic/Multi-dimensional-array
@@ -0,0 +1 @@
+../../Task/Multi-dimensional-array/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Munching-squares b/Lang/FutureBasic/Munching-squares
new file mode 120000
index 0000000000..3fb288f688
--- /dev/null
+++ b/Lang/FutureBasic/Munching-squares
@@ -0,0 +1 @@
+../../Task/Munching-squares/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Mutex b/Lang/FutureBasic/Mutex
new file mode 120000
index 0000000000..027130dc63
--- /dev/null
+++ b/Lang/FutureBasic/Mutex
@@ -0,0 +1 @@
+../../Task/Mutex/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/N-queens-problem b/Lang/FutureBasic/N-queens-problem
new file mode 120000
index 0000000000..68d9aebc8f
--- /dev/null
+++ b/Lang/FutureBasic/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Named-parameters b/Lang/FutureBasic/Named-parameters
new file mode 120000
index 0000000000..77a79a818c
--- /dev/null
+++ b/Lang/FutureBasic/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Nim-game b/Lang/FutureBasic/Nim-game
new file mode 120000
index 0000000000..edc10ed0c5
--- /dev/null
+++ b/Lang/FutureBasic/Nim-game
@@ -0,0 +1 @@
+../../Task/Nim-game/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Nth b/Lang/FutureBasic/Nth
new file mode 120000
index 0000000000..10c058fbd2
--- /dev/null
+++ b/Lang/FutureBasic/Nth
@@ -0,0 +1 @@
+../../Task/Nth/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Own-digits-power-sum b/Lang/FutureBasic/Own-digits-power-sum
new file mode 120000
index 0000000000..5cd998b558
--- /dev/null
+++ b/Lang/FutureBasic/Own-digits-power-sum
@@ -0,0 +1 @@
+../../Task/Own-digits-power-sum/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Palindrome-dates b/Lang/FutureBasic/Palindrome-dates
new file mode 120000
index 0000000000..2b72c0230b
--- /dev/null
+++ b/Lang/FutureBasic/Palindrome-dates
@@ -0,0 +1 @@
+../../Task/Palindrome-dates/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Pascals-triangle b/Lang/FutureBasic/Pascals-triangle
new file mode 120000
index 0000000000..31e8218285
--- /dev/null
+++ b/Lang/FutureBasic/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Pascals-triangle-Puzzle b/Lang/FutureBasic/Pascals-triangle-Puzzle
new file mode 120000
index 0000000000..142f796d16
--- /dev/null
+++ b/Lang/FutureBasic/Pascals-triangle-Puzzle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle-Puzzle/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Pentagram b/Lang/FutureBasic/Pentagram
new file mode 120000
index 0000000000..036f2d484a
--- /dev/null
+++ b/Lang/FutureBasic/Pentagram
@@ -0,0 +1 @@
+../../Task/Pentagram/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Perfect-shuffle b/Lang/FutureBasic/Perfect-shuffle
new file mode 120000
index 0000000000..6d2e5e3668
--- /dev/null
+++ b/Lang/FutureBasic/Perfect-shuffle
@@ -0,0 +1 @@
+../../Task/Perfect-shuffle/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Pinstripe-Display b/Lang/FutureBasic/Pinstripe-Display
new file mode 120000
index 0000000000..da5d8bc2b0
--- /dev/null
+++ b/Lang/FutureBasic/Pinstripe-Display
@@ -0,0 +1 @@
+../../Task/Pinstripe-Display/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Playing-cards b/Lang/FutureBasic/Playing-cards
new file mode 120000
index 0000000000..965405f346
--- /dev/null
+++ b/Lang/FutureBasic/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Poker-hand-analyser b/Lang/FutureBasic/Poker-hand-analyser
new file mode 120000
index 0000000000..35dd2acb93
--- /dev/null
+++ b/Lang/FutureBasic/Poker-hand-analyser
@@ -0,0 +1 @@
+../../Task/Poker-hand-analyser/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Prime-conspiracy b/Lang/FutureBasic/Prime-conspiracy
new file mode 120000
index 0000000000..73d0f046b0
--- /dev/null
+++ b/Lang/FutureBasic/Prime-conspiracy
@@ -0,0 +1 @@
+../../Task/Prime-conspiracy/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Prime-decomposition b/Lang/FutureBasic/Prime-decomposition
new file mode 120000
index 0000000000..16553faec7
--- /dev/null
+++ b/Lang/FutureBasic/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Pythagorean-triples b/Lang/FutureBasic/Pythagorean-triples
new file mode 120000
index 0000000000..f0267047e8
--- /dev/null
+++ b/Lang/FutureBasic/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Radical-of-an-integer b/Lang/FutureBasic/Radical-of-an-integer
new file mode 120000
index 0000000000..6713bbf881
--- /dev/null
+++ b/Lang/FutureBasic/Radical-of-an-integer
@@ -0,0 +1 @@
+../../Task/Radical-of-an-integer/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Range-expansion b/Lang/FutureBasic/Range-expansion
new file mode 120000
index 0000000000..9b92918178
--- /dev/null
+++ b/Lang/FutureBasic/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Range-extraction b/Lang/FutureBasic/Range-extraction
new file mode 120000
index 0000000000..9a5f1d0533
--- /dev/null
+++ b/Lang/FutureBasic/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Read-a-file-character-by-character-UTF8 b/Lang/FutureBasic/Read-a-file-character-by-character-UTF8
new file mode 120000
index 0000000000..beadc18b56
--- /dev/null
+++ b/Lang/FutureBasic/Read-a-file-character-by-character-UTF8
@@ -0,0 +1 @@
+../../Task/Read-a-file-character-by-character-UTF8/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Read-a-file-line-by-line b/Lang/FutureBasic/Read-a-file-line-by-line
new file mode 120000
index 0000000000..43ff8334a4
--- /dev/null
+++ b/Lang/FutureBasic/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Record-sound b/Lang/FutureBasic/Record-sound
new file mode 120000
index 0000000000..7ce89c688d
--- /dev/null
+++ b/Lang/FutureBasic/Record-sound
@@ -0,0 +1 @@
+../../Task/Record-sound/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Regular-expressions b/Lang/FutureBasic/Regular-expressions
new file mode 120000
index 0000000000..cd49461444
--- /dev/null
+++ b/Lang/FutureBasic/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Rep-string b/Lang/FutureBasic/Rep-string
new file mode 120000
index 0000000000..99b81bb2f4
--- /dev/null
+++ b/Lang/FutureBasic/Rep-string
@@ -0,0 +1 @@
+../../Task/Rep-string/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Repunit-primes b/Lang/FutureBasic/Repunit-primes
new file mode 120000
index 0000000000..366d1fc05e
--- /dev/null
+++ b/Lang/FutureBasic/Repunit-primes
@@ -0,0 +1 @@
+../../Task/Repunit-primes/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Resistor-mesh b/Lang/FutureBasic/Resistor-mesh
new file mode 120000
index 0000000000..318a1a0f13
--- /dev/null
+++ b/Lang/FutureBasic/Resistor-mesh
@@ -0,0 +1 @@
+../../Task/Resistor-mesh/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/SEDOLs b/Lang/FutureBasic/SEDOLs
new file mode 120000
index 0000000000..87a0048d3a
--- /dev/null
+++ b/Lang/FutureBasic/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/SHA-256 b/Lang/FutureBasic/SHA-256
new file mode 120000
index 0000000000..0d14776e97
--- /dev/null
+++ b/Lang/FutureBasic/SHA-256
@@ -0,0 +1 @@
+../../Task/SHA-256/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Search-a-list-of-records b/Lang/FutureBasic/Search-a-list-of-records
new file mode 120000
index 0000000000..3fefc25b7b
--- /dev/null
+++ b/Lang/FutureBasic/Search-a-list-of-records
@@ -0,0 +1 @@
+../../Task/Search-a-list-of-records/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Semiprime b/Lang/FutureBasic/Semiprime
new file mode 120000
index 0000000000..71cf62e6e6
--- /dev/null
+++ b/Lang/FutureBasic/Semiprime
@@ -0,0 +1 @@
+../../Task/Semiprime/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Semordnilap b/Lang/FutureBasic/Semordnilap
new file mode 120000
index 0000000000..23f6715ad0
--- /dev/null
+++ b/Lang/FutureBasic/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Sequence-of-primorial-primes b/Lang/FutureBasic/Sequence-of-primorial-primes
new file mode 120000
index 0000000000..9447c777cb
--- /dev/null
+++ b/Lang/FutureBasic/Sequence-of-primorial-primes
@@ -0,0 +1 @@
+../../Task/Sequence-of-primorial-primes/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Sierpinski-arrowhead-curve b/Lang/FutureBasic/Sierpinski-arrowhead-curve
new file mode 120000
index 0000000000..d52f730a0b
--- /dev/null
+++ b/Lang/FutureBasic/Sierpinski-arrowhead-curve
@@ -0,0 +1 @@
+../../Task/Sierpinski-arrowhead-curve/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Sierpinski-carpet b/Lang/FutureBasic/Sierpinski-carpet
new file mode 120000
index 0000000000..c79bb878a8
--- /dev/null
+++ b/Lang/FutureBasic/Sierpinski-carpet
@@ -0,0 +1 @@
+../../Task/Sierpinski-carpet/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Sierpinski-pentagon b/Lang/FutureBasic/Sierpinski-pentagon
new file mode 120000
index 0000000000..1e105b6fb4
--- /dev/null
+++ b/Lang/FutureBasic/Sierpinski-pentagon
@@ -0,0 +1 @@
+../../Task/Sierpinski-pentagon/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Sierpinski-square-curve b/Lang/FutureBasic/Sierpinski-square-curve
new file mode 120000
index 0000000000..2938f1fa47
--- /dev/null
+++ b/Lang/FutureBasic/Sierpinski-square-curve
@@ -0,0 +1 @@
+../../Task/Sierpinski-square-curve/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Sierpinski-triangle b/Lang/FutureBasic/Sierpinski-triangle
new file mode 120000
index 0000000000..300049c10c
--- /dev/null
+++ b/Lang/FutureBasic/Sierpinski-triangle
@@ -0,0 +1 @@
+../../Task/Sierpinski-triangle/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Sleep b/Lang/FutureBasic/Sleep
new file mode 120000
index 0000000000..8ce099ff7d
--- /dev/null
+++ b/Lang/FutureBasic/Sleep
@@ -0,0 +1 @@
+../../Task/Sleep/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Smallest-number-k-such-that-k+2^m-is-composite-for-all-m-less-than-k b/Lang/FutureBasic/Smallest-number-k-such-that-k+2^m-is-composite-for-all-m-less-than-k
new file mode 120000
index 0000000000..8cc89de701
--- /dev/null
+++ b/Lang/FutureBasic/Smallest-number-k-such-that-k+2^m-is-composite-for-all-m-less-than-k
@@ -0,0 +1 @@
+../../Task/Smallest-number-k-such-that-k+2^m-is-composite-for-all-m-less-than-k/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Smarandache-Wellin-primes b/Lang/FutureBasic/Smarandache-Wellin-primes
new file mode 120000
index 0000000000..7564a9b0b8
--- /dev/null
+++ b/Lang/FutureBasic/Smarandache-Wellin-primes
@@ -0,0 +1 @@
+../../Task/Smarandache-Wellin-primes/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Smarandache-prime-digital-sequence b/Lang/FutureBasic/Smarandache-prime-digital-sequence
new file mode 120000
index 0000000000..879ea05348
--- /dev/null
+++ b/Lang/FutureBasic/Smarandache-prime-digital-sequence
@@ -0,0 +1 @@
+../../Task/Smarandache-prime-digital-sequence/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Sort-an-array-of-composite-structures b/Lang/FutureBasic/Sort-an-array-of-composite-structures
new file mode 120000
index 0000000000..ffd97b8a5e
--- /dev/null
+++ b/Lang/FutureBasic/Sort-an-array-of-composite-structures
@@ -0,0 +1 @@
+../../Task/Sort-an-array-of-composite-structures/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Sort-disjoint-sublist b/Lang/FutureBasic/Sort-disjoint-sublist
new file mode 120000
index 0000000000..030bf0bfd7
--- /dev/null
+++ b/Lang/FutureBasic/Sort-disjoint-sublist
@@ -0,0 +1 @@
+../../Task/Sort-disjoint-sublist/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Sort-numbers-lexicographically b/Lang/FutureBasic/Sort-numbers-lexicographically
new file mode 120000
index 0000000000..b8d6f91892
--- /dev/null
+++ b/Lang/FutureBasic/Sort-numbers-lexicographically
@@ -0,0 +1 @@
+../../Task/Sort-numbers-lexicographically/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Sort-three-variables b/Lang/FutureBasic/Sort-three-variables
new file mode 120000
index 0000000000..48424426c7
--- /dev/null
+++ b/Lang/FutureBasic/Sort-three-variables
@@ -0,0 +1 @@
+../../Task/Sort-three-variables/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Sorting-algorithms-Insertion-sort b/Lang/FutureBasic/Sorting-algorithms-Insertion-sort
new file mode 120000
index 0000000000..d1f91f0286
--- /dev/null
+++ b/Lang/FutureBasic/Sorting-algorithms-Insertion-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Insertion-sort/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Sorting-algorithms-Sleep-sort b/Lang/FutureBasic/Sorting-algorithms-Sleep-sort
new file mode 120000
index 0000000000..b94b39a51d
--- /dev/null
+++ b/Lang/FutureBasic/Sorting-algorithms-Sleep-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Sleep-sort/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Spinning-rod-animation-Text b/Lang/FutureBasic/Spinning-rod-animation-Text
new file mode 120000
index 0000000000..a0c68e7478
--- /dev/null
+++ b/Lang/FutureBasic/Spinning-rod-animation-Text
@@ -0,0 +1 @@
+../../Task/Spinning-rod-animation-Text/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Spiral-matrix b/Lang/FutureBasic/Spiral-matrix
new file mode 120000
index 0000000000..4d24174200
--- /dev/null
+++ b/Lang/FutureBasic/Spiral-matrix
@@ -0,0 +1 @@
+../../Task/Spiral-matrix/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Square-but-not-cube b/Lang/FutureBasic/Square-but-not-cube
new file mode 120000
index 0000000000..a8c6d02eba
--- /dev/null
+++ b/Lang/FutureBasic/Square-but-not-cube
@@ -0,0 +1 @@
+../../Task/Square-but-not-cube/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Square-free-integers b/Lang/FutureBasic/Square-free-integers
new file mode 120000
index 0000000000..d3a0459f3e
--- /dev/null
+++ b/Lang/FutureBasic/Square-free-integers
@@ -0,0 +1 @@
+../../Task/Square-free-integers/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Stack b/Lang/FutureBasic/Stack
new file mode 120000
index 0000000000..638a183bbc
--- /dev/null
+++ b/Lang/FutureBasic/Stack
@@ -0,0 +1 @@
+../../Task/Stack/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Stack-traces b/Lang/FutureBasic/Stack-traces
new file mode 120000
index 0000000000..589e50b2fa
--- /dev/null
+++ b/Lang/FutureBasic/Stack-traces
@@ -0,0 +1 @@
+../../Task/Stack-traces/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Start-from-a-main-routine b/Lang/FutureBasic/Start-from-a-main-routine
new file mode 120000
index 0000000000..c3215fed19
--- /dev/null
+++ b/Lang/FutureBasic/Start-from-a-main-routine
@@ -0,0 +1 @@
+../../Task/Start-from-a-main-routine/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/String-length b/Lang/FutureBasic/String-length
new file mode 120000
index 0000000000..6df040b0bc
--- /dev/null
+++ b/Lang/FutureBasic/String-length
@@ -0,0 +1 @@
+../../Task/String-length/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Strip-block-comments b/Lang/FutureBasic/Strip-block-comments
new file mode 120000
index 0000000000..1f0c4fb53d
--- /dev/null
+++ b/Lang/FutureBasic/Strip-block-comments
@@ -0,0 +1 @@
+../../Task/Strip-block-comments/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Strip-control-codes-and-extended-characters-from-a-string b/Lang/FutureBasic/Strip-control-codes-and-extended-characters-from-a-string
new file mode 120000
index 0000000000..ae3840dae2
--- /dev/null
+++ b/Lang/FutureBasic/Strip-control-codes-and-extended-characters-from-a-string
@@ -0,0 +1 @@
+../../Task/Strip-control-codes-and-extended-characters-from-a-string/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Sudan-function b/Lang/FutureBasic/Sudan-function
new file mode 120000
index 0000000000..1f582a9d0d
--- /dev/null
+++ b/Lang/FutureBasic/Sudan-function
@@ -0,0 +1 @@
+../../Task/Sudan-function/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Sum-digits-of-an-integer b/Lang/FutureBasic/Sum-digits-of-an-integer
new file mode 120000
index 0000000000..cf8ab32c2c
--- /dev/null
+++ b/Lang/FutureBasic/Sum-digits-of-an-integer
@@ -0,0 +1 @@
+../../Task/Sum-digits-of-an-integer/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Sum-of-a-series b/Lang/FutureBasic/Sum-of-a-series
new file mode 120000
index 0000000000..44687bc461
--- /dev/null
+++ b/Lang/FutureBasic/Sum-of-a-series
@@ -0,0 +1 @@
+../../Task/Sum-of-a-series/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Sum-of-squares b/Lang/FutureBasic/Sum-of-squares
new file mode 120000
index 0000000000..3bded3f286
--- /dev/null
+++ b/Lang/FutureBasic/Sum-of-squares
@@ -0,0 +1 @@
+../../Task/Sum-of-squares/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Sum-to-100 b/Lang/FutureBasic/Sum-to-100
new file mode 120000
index 0000000000..5cdb7cf4a8
--- /dev/null
+++ b/Lang/FutureBasic/Sum-to-100
@@ -0,0 +1 @@
+../../Task/Sum-to-100/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Super-d-numbers b/Lang/FutureBasic/Super-d-numbers
new file mode 120000
index 0000000000..77af2a994a
--- /dev/null
+++ b/Lang/FutureBasic/Super-d-numbers
@@ -0,0 +1 @@
+../../Task/Super-d-numbers/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Sylvesters-sequence b/Lang/FutureBasic/Sylvesters-sequence
new file mode 120000
index 0000000000..1e1ae008f1
--- /dev/null
+++ b/Lang/FutureBasic/Sylvesters-sequence
@@ -0,0 +1 @@
+../../Task/Sylvesters-sequence/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Tau-function b/Lang/FutureBasic/Tau-function
new file mode 120000
index 0000000000..4d9cc08c3d
--- /dev/null
+++ b/Lang/FutureBasic/Tau-function
@@ -0,0 +1 @@
+../../Task/Tau-function/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Tau-number b/Lang/FutureBasic/Tau-number
new file mode 120000
index 0000000000..363cfbc636
--- /dev/null
+++ b/Lang/FutureBasic/Tau-number
@@ -0,0 +1 @@
+../../Task/Tau-number/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Temperature-conversion b/Lang/FutureBasic/Temperature-conversion
new file mode 120000
index 0000000000..b60c2baf77
--- /dev/null
+++ b/Lang/FutureBasic/Temperature-conversion
@@ -0,0 +1 @@
+../../Task/Temperature-conversion/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Terminal-control-Clear-the-screen b/Lang/FutureBasic/Terminal-control-Clear-the-screen
new file mode 120000
index 0000000000..878687a038
--- /dev/null
+++ b/Lang/FutureBasic/Terminal-control-Clear-the-screen
@@ -0,0 +1 @@
+../../Task/Terminal-control-Clear-the-screen/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Terminal-control-Coloured-text b/Lang/FutureBasic/Terminal-control-Coloured-text
new file mode 120000
index 0000000000..6858a62734
--- /dev/null
+++ b/Lang/FutureBasic/Terminal-control-Coloured-text
@@ -0,0 +1 @@
+../../Task/Terminal-control-Coloured-text/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Terminal-control-Cursor-movement b/Lang/FutureBasic/Terminal-control-Cursor-movement
new file mode 120000
index 0000000000..050e1439d6
--- /dev/null
+++ b/Lang/FutureBasic/Terminal-control-Cursor-movement
@@ -0,0 +1 @@
+../../Task/Terminal-control-Cursor-movement/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Terminal-control-Cursor-positioning b/Lang/FutureBasic/Terminal-control-Cursor-positioning
new file mode 120000
index 0000000000..22f710aaf6
--- /dev/null
+++ b/Lang/FutureBasic/Terminal-control-Cursor-positioning
@@ -0,0 +1 @@
+../../Task/Terminal-control-Cursor-positioning/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Terminal-control-Hiding-the-cursor b/Lang/FutureBasic/Terminal-control-Hiding-the-cursor
new file mode 120000
index 0000000000..22bc1dda83
--- /dev/null
+++ b/Lang/FutureBasic/Terminal-control-Hiding-the-cursor
@@ -0,0 +1 @@
+../../Task/Terminal-control-Hiding-the-cursor/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Terminal-control-Ringing-the-terminal-bell b/Lang/FutureBasic/Terminal-control-Ringing-the-terminal-bell
new file mode 120000
index 0000000000..6f8d6c609a
--- /dev/null
+++ b/Lang/FutureBasic/Terminal-control-Ringing-the-terminal-bell
@@ -0,0 +1 @@
+../../Task/Terminal-control-Ringing-the-terminal-bell/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Terminal-control-Unicode-output b/Lang/FutureBasic/Terminal-control-Unicode-output
new file mode 120000
index 0000000000..712dfa9fa9
--- /dev/null
+++ b/Lang/FutureBasic/Terminal-control-Unicode-output
@@ -0,0 +1 @@
+../../Task/Terminal-control-Unicode-output/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/The-Name-Game b/Lang/FutureBasic/The-Name-Game
new file mode 120000
index 0000000000..2e6c9ef1a6
--- /dev/null
+++ b/Lang/FutureBasic/The-Name-Game
@@ -0,0 +1 @@
+../../Task/The-Name-Game/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/The-sieve-of-Sundaram b/Lang/FutureBasic/The-sieve-of-Sundaram
new file mode 120000
index 0000000000..439633bf42
--- /dev/null
+++ b/Lang/FutureBasic/The-sieve-of-Sundaram
@@ -0,0 +1 @@
+../../Task/The-sieve-of-Sundaram/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Tic-tac-toe b/Lang/FutureBasic/Tic-tac-toe
new file mode 120000
index 0000000000..e0c70b24fe
--- /dev/null
+++ b/Lang/FutureBasic/Tic-tac-toe
@@ -0,0 +1 @@
+../../Task/Tic-tac-toe/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Time-a-function b/Lang/FutureBasic/Time-a-function
new file mode 120000
index 0000000000..819601365f
--- /dev/null
+++ b/Lang/FutureBasic/Time-a-function
@@ -0,0 +1 @@
+../../Task/Time-a-function/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Transliterate-English-text-using-the-Greek-alphabet b/Lang/FutureBasic/Transliterate-English-text-using-the-Greek-alphabet
new file mode 120000
index 0000000000..f300e3db8a
--- /dev/null
+++ b/Lang/FutureBasic/Transliterate-English-text-using-the-Greek-alphabet
@@ -0,0 +1 @@
+../../Task/Transliterate-English-text-using-the-Greek-alphabet/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Truncate-a-file b/Lang/FutureBasic/Truncate-a-file
new file mode 120000
index 0000000000..29710d148d
--- /dev/null
+++ b/Lang/FutureBasic/Truncate-a-file
@@ -0,0 +1 @@
+../../Task/Truncate-a-file/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Twin-primes b/Lang/FutureBasic/Twin-primes
new file mode 120000
index 0000000000..172e832801
--- /dev/null
+++ b/Lang/FutureBasic/Twin-primes
@@ -0,0 +1 @@
+../../Task/Twin-primes/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/URL-decoding b/Lang/FutureBasic/URL-decoding
new file mode 120000
index 0000000000..001e7a5dfa
--- /dev/null
+++ b/Lang/FutureBasic/URL-decoding
@@ -0,0 +1 @@
+../../Task/URL-decoding/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/URL-parser b/Lang/FutureBasic/URL-parser
new file mode 120000
index 0000000000..46cddba12b
--- /dev/null
+++ b/Lang/FutureBasic/URL-parser
@@ -0,0 +1 @@
+../../Task/URL-parser/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Ultra-useful-primes b/Lang/FutureBasic/Ultra-useful-primes
new file mode 120000
index 0000000000..eff79aec0f
--- /dev/null
+++ b/Lang/FutureBasic/Ultra-useful-primes
@@ -0,0 +1 @@
+../../Task/Ultra-useful-primes/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Unicode-strings b/Lang/FutureBasic/Unicode-strings
new file mode 120000
index 0000000000..dd71b73f3c
--- /dev/null
+++ b/Lang/FutureBasic/Unicode-strings
@@ -0,0 +1 @@
+../../Task/Unicode-strings/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Use-another-language-to-call-a-function b/Lang/FutureBasic/Use-another-language-to-call-a-function
new file mode 120000
index 0000000000..704ff5c0c8
--- /dev/null
+++ b/Lang/FutureBasic/Use-another-language-to-call-a-function
@@ -0,0 +1 @@
+../../Task/Use-another-language-to-call-a-function/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/User-input-Text b/Lang/FutureBasic/User-input-Text
new file mode 120000
index 0000000000..3d0e3bd7f1
--- /dev/null
+++ b/Lang/FutureBasic/User-input-Text
@@ -0,0 +1 @@
+../../Task/User-input-Text/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Validate-International-Securities-Identification-Number b/Lang/FutureBasic/Validate-International-Securities-Identification-Number
new file mode 120000
index 0000000000..81f74f067a
--- /dev/null
+++ b/Lang/FutureBasic/Validate-International-Securities-Identification-Number
@@ -0,0 +1 @@
+../../Task/Validate-International-Securities-Identification-Number/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Wagstaff-primes b/Lang/FutureBasic/Wagstaff-primes
new file mode 120000
index 0000000000..455c60b96b
--- /dev/null
+++ b/Lang/FutureBasic/Wagstaff-primes
@@ -0,0 +1 @@
+../../Task/Wagstaff-primes/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Wieferich-primes b/Lang/FutureBasic/Wieferich-primes
new file mode 120000
index 0000000000..1c38642d13
--- /dev/null
+++ b/Lang/FutureBasic/Wieferich-primes
@@ -0,0 +1 @@
+../../Task/Wieferich-primes/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Wilson-primes-of-order-n b/Lang/FutureBasic/Wilson-primes-of-order-n
new file mode 120000
index 0000000000..027bdd5d80
--- /dev/null
+++ b/Lang/FutureBasic/Wilson-primes-of-order-n
@@ -0,0 +1 @@
+../../Task/Wilson-primes-of-order-n/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Word-wrap b/Lang/FutureBasic/Word-wrap
new file mode 120000
index 0000000000..d1cd565464
--- /dev/null
+++ b/Lang/FutureBasic/Word-wrap
@@ -0,0 +1 @@
+../../Task/Word-wrap/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/XML-Output b/Lang/FutureBasic/XML-Output
new file mode 120000
index 0000000000..7889975674
--- /dev/null
+++ b/Lang/FutureBasic/XML-Output
@@ -0,0 +1 @@
+../../Task/XML-Output/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Yahoo-search-interface b/Lang/FutureBasic/Yahoo-search-interface
new file mode 120000
index 0000000000..9f29c6ac04
--- /dev/null
+++ b/Lang/FutureBasic/Yahoo-search-interface
@@ -0,0 +1 @@
+../../Task/Yahoo-search-interface/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Yellowstone-sequence b/Lang/FutureBasic/Yellowstone-sequence
new file mode 120000
index 0000000000..8a816499f6
--- /dev/null
+++ b/Lang/FutureBasic/Yellowstone-sequence
@@ -0,0 +1 @@
+../../Task/Yellowstone-sequence/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Zebra-puzzle b/Lang/FutureBasic/Zebra-puzzle
new file mode 120000
index 0000000000..68d36dbfcd
--- /dev/null
+++ b/Lang/FutureBasic/Zebra-puzzle
@@ -0,0 +1 @@
+../../Task/Zebra-puzzle/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Zeckendorf-number-representation b/Lang/FutureBasic/Zeckendorf-number-representation
new file mode 120000
index 0000000000..c805683421
--- /dev/null
+++ b/Lang/FutureBasic/Zeckendorf-number-representation
@@ -0,0 +1 @@
+../../Task/Zeckendorf-number-representation/FutureBasic
\ No newline at end of file
diff --git a/Lang/GAP/Character-codes b/Lang/GAP/Character-codes
new file mode 120000
index 0000000000..ff4a3d2754
--- /dev/null
+++ b/Lang/GAP/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/GAP
\ No newline at end of file
diff --git a/Lang/GAP/Quaternion-type b/Lang/GAP/Quaternion-type
deleted file mode 120000
index 67ec7fa115..0000000000
--- a/Lang/GAP/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/GAP
\ No newline at end of file
diff --git a/Lang/GDScript/Playing-cards b/Lang/GDScript/Playing-cards
new file mode 120000
index 0000000000..11180c642f
--- /dev/null
+++ b/Lang/GDScript/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/GDScript
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Abundant-deficient-and-perfect-number-classifications b/Lang/GW-BASIC/Abundant-deficient-and-perfect-number-classifications
new file mode 120000
index 0000000000..4709185f8a
--- /dev/null
+++ b/Lang/GW-BASIC/Abundant-deficient-and-perfect-number-classifications
@@ -0,0 +1 @@
+../../Task/Abundant-deficient-and-perfect-number-classifications/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Associative-array-Merging b/Lang/GW-BASIC/Associative-array-Merging
new file mode 120000
index 0000000000..bd171c9e89
--- /dev/null
+++ b/Lang/GW-BASIC/Associative-array-Merging
@@ -0,0 +1 @@
+../../Task/Associative-array-Merging/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Case-sensitivity-of-identifiers b/Lang/GW-BASIC/Case-sensitivity-of-identifiers
deleted file mode 120000
index 605ddebd53..0000000000
--- a/Lang/GW-BASIC/Case-sensitivity-of-identifiers
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Case-sensitivity-of-identifiers/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Colour-pinstripe-Display b/Lang/GW-BASIC/Colour-pinstripe-Display
new file mode 120000
index 0000000000..383619acfb
--- /dev/null
+++ b/Lang/GW-BASIC/Colour-pinstripe-Display
@@ -0,0 +1 @@
+../../Task/Colour-pinstripe-Display/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Damm-algorithm b/Lang/GW-BASIC/Damm-algorithm
new file mode 120000
index 0000000000..b0cc19e6df
--- /dev/null
+++ b/Lang/GW-BASIC/Damm-algorithm
@@ -0,0 +1 @@
+../../Task/Damm-algorithm/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Determine-if-a-string-is-collapsible b/Lang/GW-BASIC/Determine-if-a-string-is-collapsible
new file mode 120000
index 0000000000..2b997d0c38
--- /dev/null
+++ b/Lang/GW-BASIC/Determine-if-a-string-is-collapsible
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-collapsible/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Determine-sentence-type b/Lang/GW-BASIC/Determine-sentence-type
new file mode 120000
index 0000000000..0a4310dab2
--- /dev/null
+++ b/Lang/GW-BASIC/Determine-sentence-type
@@ -0,0 +1 @@
+../../Task/Determine-sentence-type/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Display-a-linear-combination b/Lang/GW-BASIC/Display-a-linear-combination
new file mode 120000
index 0000000000..8162367d7b
--- /dev/null
+++ b/Lang/GW-BASIC/Display-a-linear-combination
@@ -0,0 +1 @@
+../../Task/Display-a-linear-combination/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Dutch-national-flag-problem b/Lang/GW-BASIC/Dutch-national-flag-problem
new file mode 120000
index 0000000000..96431612bd
--- /dev/null
+++ b/Lang/GW-BASIC/Dutch-national-flag-problem
@@ -0,0 +1 @@
+../../Task/Dutch-national-flag-problem/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Gray-code b/Lang/GW-BASIC/Gray-code
new file mode 120000
index 0000000000..a45f2031ed
--- /dev/null
+++ b/Lang/GW-BASIC/Gray-code
@@ -0,0 +1 @@
+../../Task/Gray-code/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Jensens-Device b/Lang/GW-BASIC/Jensens-Device
new file mode 120000
index 0000000000..0236b00319
--- /dev/null
+++ b/Lang/GW-BASIC/Jensens-Device
@@ -0,0 +1 @@
+../../Task/Jensens-Device/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Langtons-ant b/Lang/GW-BASIC/Langtons-ant
new file mode 120000
index 0000000000..4d565760ef
--- /dev/null
+++ b/Lang/GW-BASIC/Langtons-ant
@@ -0,0 +1 @@
+../../Task/Langtons-ant/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Leonardo-numbers b/Lang/GW-BASIC/Leonardo-numbers
new file mode 120000
index 0000000000..f7945f7063
--- /dev/null
+++ b/Lang/GW-BASIC/Leonardo-numbers
@@ -0,0 +1 @@
+../../Task/Leonardo-numbers/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Levenshtein-distance b/Lang/GW-BASIC/Levenshtein-distance
new file mode 120000
index 0000000000..4605e15436
--- /dev/null
+++ b/Lang/GW-BASIC/Levenshtein-distance
@@ -0,0 +1 @@
+../../Task/Levenshtein-distance/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Luhn-test-of-credit-card-numbers b/Lang/GW-BASIC/Luhn-test-of-credit-card-numbers
new file mode 120000
index 0000000000..3e46368b55
--- /dev/null
+++ b/Lang/GW-BASIC/Luhn-test-of-credit-card-numbers
@@ -0,0 +1 @@
+../../Task/Luhn-test-of-credit-card-numbers/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Magic-constant b/Lang/GW-BASIC/Magic-constant
new file mode 120000
index 0000000000..4dbe3ee401
--- /dev/null
+++ b/Lang/GW-BASIC/Magic-constant
@@ -0,0 +1 @@
+../../Task/Magic-constant/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Map-range b/Lang/GW-BASIC/Map-range
new file mode 120000
index 0000000000..487538bdd0
--- /dev/null
+++ b/Lang/GW-BASIC/Map-range
@@ -0,0 +1 @@
+../../Task/Map-range/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Mayan-numerals b/Lang/GW-BASIC/Mayan-numerals
new file mode 120000
index 0000000000..5c6a4bdb6a
--- /dev/null
+++ b/Lang/GW-BASIC/Mayan-numerals
@@ -0,0 +1 @@
+../../Task/Mayan-numerals/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Nested-templated-data b/Lang/GW-BASIC/Nested-templated-data
new file mode 120000
index 0000000000..bb39849801
--- /dev/null
+++ b/Lang/GW-BASIC/Nested-templated-data
@@ -0,0 +1 @@
+../../Task/Nested-templated-data/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Nth-root b/Lang/GW-BASIC/Nth-root
new file mode 120000
index 0000000000..44da5f255f
--- /dev/null
+++ b/Lang/GW-BASIC/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Old-Russian-measure-of-length b/Lang/GW-BASIC/Old-Russian-measure-of-length
new file mode 120000
index 0000000000..6121a6a7b1
--- /dev/null
+++ b/Lang/GW-BASIC/Old-Russian-measure-of-length
@@ -0,0 +1 @@
+../../Task/Old-Russian-measure-of-length/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Phrase-reversals b/Lang/GW-BASIC/Phrase-reversals
new file mode 120000
index 0000000000..f735fa85b8
--- /dev/null
+++ b/Lang/GW-BASIC/Phrase-reversals
@@ -0,0 +1 @@
+../../Task/Phrase-reversals/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Pinstripe-Display b/Lang/GW-BASIC/Pinstripe-Display
new file mode 120000
index 0000000000..282b987dfa
--- /dev/null
+++ b/Lang/GW-BASIC/Pinstripe-Display
@@ -0,0 +1 @@
+../../Task/Pinstripe-Display/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Primality-by-trial-division b/Lang/GW-BASIC/Primality-by-trial-division
new file mode 120000
index 0000000000..2b782a101b
--- /dev/null
+++ b/Lang/GW-BASIC/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Sort-an-integer-array b/Lang/GW-BASIC/Sort-an-integer-array
new file mode 120000
index 0000000000..47749b90fd
--- /dev/null
+++ b/Lang/GW-BASIC/Sort-an-integer-array
@@ -0,0 +1 @@
+../../Task/Sort-an-integer-array/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Split-a-character-string-based-on-change-of-character b/Lang/GW-BASIC/Split-a-character-string-based-on-change-of-character
new file mode 120000
index 0000000000..55c414402a
--- /dev/null
+++ b/Lang/GW-BASIC/Split-a-character-string-based-on-change-of-character
@@ -0,0 +1 @@
+../../Task/Split-a-character-string-based-on-change-of-character/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Sum-of-a-series b/Lang/GW-BASIC/Sum-of-a-series
new file mode 120000
index 0000000000..0eb15c49ab
--- /dev/null
+++ b/Lang/GW-BASIC/Sum-of-a-series
@@ -0,0 +1 @@
+../../Task/Sum-of-a-series/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Twos-complement b/Lang/GW-BASIC/Twos-complement
new file mode 120000
index 0000000000..6a1e61b45b
--- /dev/null
+++ b/Lang/GW-BASIC/Twos-complement
@@ -0,0 +1 @@
+../../Task/Twos-complement/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Vector b/Lang/GW-BASIC/Vector
new file mode 120000
index 0000000000..6d1d7a6796
--- /dev/null
+++ b/Lang/GW-BASIC/Vector
@@ -0,0 +1 @@
+../../Task/Vector/GW-BASIC
\ No newline at end of file
diff --git a/Lang/Gambas/Determine-if-a-string-has-all-the-same-characters b/Lang/Gambas/Determine-if-a-string-has-all-the-same-characters
new file mode 120000
index 0000000000..448e7d07b5
--- /dev/null
+++ b/Lang/Gambas/Determine-if-a-string-has-all-the-same-characters
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-has-all-the-same-characters/Gambas
\ No newline at end of file
diff --git a/Lang/Gambas/Determine-sentence-type b/Lang/Gambas/Determine-sentence-type
new file mode 120000
index 0000000000..2d6d98f0ec
--- /dev/null
+++ b/Lang/Gambas/Determine-sentence-type
@@ -0,0 +1 @@
+../../Task/Determine-sentence-type/Gambas
\ No newline at end of file
diff --git a/Lang/Gambas/Diversity-prediction-theorem b/Lang/Gambas/Diversity-prediction-theorem
new file mode 120000
index 0000000000..f0154a9ba0
--- /dev/null
+++ b/Lang/Gambas/Diversity-prediction-theorem
@@ -0,0 +1 @@
+../../Task/Diversity-prediction-theorem/Gambas
\ No newline at end of file
diff --git a/Lang/Gambas/Eban-numbers b/Lang/Gambas/Eban-numbers
new file mode 120000
index 0000000000..238b6dbb7b
--- /dev/null
+++ b/Lang/Gambas/Eban-numbers
@@ -0,0 +1 @@
+../../Task/Eban-numbers/Gambas
\ No newline at end of file
diff --git a/Lang/Gambas/Evaluate-binomial-coefficients b/Lang/Gambas/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..d84c9e286a
--- /dev/null
+++ b/Lang/Gambas/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/Gambas
\ No newline at end of file
diff --git a/Lang/Gambas/Generate-Chess960-starting-position b/Lang/Gambas/Generate-Chess960-starting-position
new file mode 120000
index 0000000000..3ee17430bf
--- /dev/null
+++ b/Lang/Gambas/Generate-Chess960-starting-position
@@ -0,0 +1 @@
+../../Task/Generate-Chess960-starting-position/Gambas
\ No newline at end of file
diff --git a/Lang/Gambas/Hofstadter-Q-sequence b/Lang/Gambas/Hofstadter-Q-sequence
new file mode 120000
index 0000000000..6288d88da4
--- /dev/null
+++ b/Lang/Gambas/Hofstadter-Q-sequence
@@ -0,0 +1 @@
+../../Task/Hofstadter-Q-sequence/Gambas
\ No newline at end of file
diff --git a/Lang/Gambas/Jensens-Device b/Lang/Gambas/Jensens-Device
new file mode 120000
index 0000000000..cf682dd548
--- /dev/null
+++ b/Lang/Gambas/Jensens-Device
@@ -0,0 +1 @@
+../../Task/Jensens-Device/Gambas
\ No newline at end of file
diff --git a/Lang/Gambas/Jewels-and-stones b/Lang/Gambas/Jewels-and-stones
new file mode 120000
index 0000000000..b13ca1d825
--- /dev/null
+++ b/Lang/Gambas/Jewels-and-stones
@@ -0,0 +1 @@
+../../Task/Jewels-and-stones/Gambas
\ No newline at end of file
diff --git a/Lang/Gambas/Leonardo-numbers b/Lang/Gambas/Leonardo-numbers
new file mode 120000
index 0000000000..92f225b368
--- /dev/null
+++ b/Lang/Gambas/Leonardo-numbers
@@ -0,0 +1 @@
+../../Task/Leonardo-numbers/Gambas
\ No newline at end of file
diff --git a/Lang/Gambas/M-bius-function b/Lang/Gambas/M-bius-function
new file mode 120000
index 0000000000..4846367944
--- /dev/null
+++ b/Lang/Gambas/M-bius-function
@@ -0,0 +1 @@
+../../Task/M-bius-function/Gambas
\ No newline at end of file
diff --git a/Lang/Gambas/Magic-constant b/Lang/Gambas/Magic-constant
new file mode 120000
index 0000000000..3e63290c94
--- /dev/null
+++ b/Lang/Gambas/Magic-constant
@@ -0,0 +1 @@
+../../Task/Magic-constant/Gambas
\ No newline at end of file
diff --git a/Lang/Gambas/Map-range b/Lang/Gambas/Map-range
new file mode 120000
index 0000000000..47ffb049ec
--- /dev/null
+++ b/Lang/Gambas/Map-range
@@ -0,0 +1 @@
+../../Task/Map-range/Gambas
\ No newline at end of file
diff --git a/Lang/Gambas/Proper-divisors b/Lang/Gambas/Proper-divisors
new file mode 120000
index 0000000000..c95a4aae71
--- /dev/null
+++ b/Lang/Gambas/Proper-divisors
@@ -0,0 +1 @@
+../../Task/Proper-divisors/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
similarity index 100%
rename from Lang/Gambas/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/Gambas/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/Gambas/Sort-disjoint-sublist b/Lang/Gambas/Sort-disjoint-sublist
new file mode 120000
index 0000000000..d77e8ada49
--- /dev/null
+++ b/Lang/Gambas/Sort-disjoint-sublist
@@ -0,0 +1 @@
+../../Task/Sort-disjoint-sublist/Gambas
\ No newline at end of file
diff --git a/Lang/Gambas/The-Name-Game b/Lang/Gambas/The-Name-Game
new file mode 120000
index 0000000000..03cc006601
--- /dev/null
+++ b/Lang/Gambas/The-Name-Game
@@ -0,0 +1 @@
+../../Task/The-Name-Game/Gambas
\ No newline at end of file
diff --git a/Lang/Gambas/Twos-complement b/Lang/Gambas/Twos-complement
new file mode 120000
index 0000000000..4ed9e66d7c
--- /dev/null
+++ b/Lang/Gambas/Twos-complement
@@ -0,0 +1 @@
+../../Task/Twos-complement/Gambas
\ No newline at end of file
diff --git a/Lang/Gleam/00-LANG.txt b/Lang/Gleam/00-LANG.txt
index 1105755c96..6a2642caa9 100644
--- a/Lang/Gleam/00-LANG.txt
+++ b/Lang/Gleam/00-LANG.txt
@@ -1,2 +1,5 @@
{{stub}}{{language|Gleam|hopl=no|site=https://gleam.run/}}
-Gleam is a type-safe functional programming language that runs on the [[Erlang]] virtual machine.
\ No newline at end of file
+Gleam is a type-safe functional programming language that runs on the [[Erlang]] virtual machine.
+
+== Todo ==
+[https://rosettacode.org/wiki/Tasks_not_implemented_in_Gleam Tasks not implemented in Gleam]
\ No newline at end of file
diff --git a/Lang/Gleam/Abstract-type b/Lang/Gleam/Abstract-type
new file mode 120000
index 0000000000..e0dafb7309
--- /dev/null
+++ b/Lang/Gleam/Abstract-type
@@ -0,0 +1 @@
+../../Task/Abstract-type/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Ackermann-function b/Lang/Gleam/Ackermann-function
new file mode 120000
index 0000000000..6d193a9b28
--- /dev/null
+++ b/Lang/Gleam/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Apply-a-callback-to-an-array b/Lang/Gleam/Apply-a-callback-to-an-array
new file mode 120000
index 0000000000..45d13702b0
--- /dev/null
+++ b/Lang/Gleam/Apply-a-callback-to-an-array
@@ -0,0 +1 @@
+../../Task/Apply-a-callback-to-an-array/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Arithmetic-Integer b/Lang/Gleam/Arithmetic-Integer
new file mode 120000
index 0000000000..cf77808968
--- /dev/null
+++ b/Lang/Gleam/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Array-concatenation b/Lang/Gleam/Array-concatenation
new file mode 120000
index 0000000000..a1a9260979
--- /dev/null
+++ b/Lang/Gleam/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Array-length b/Lang/Gleam/Array-length
new file mode 120000
index 0000000000..ab180dc3f2
--- /dev/null
+++ b/Lang/Gleam/Array-length
@@ -0,0 +1 @@
+../../Task/Array-length/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Assertions b/Lang/Gleam/Assertions
new file mode 120000
index 0000000000..aca06893a5
--- /dev/null
+++ b/Lang/Gleam/Assertions
@@ -0,0 +1 @@
+../../Task/Assertions/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Associative-array-Creation b/Lang/Gleam/Associative-array-Creation
new file mode 120000
index 0000000000..954ca71884
--- /dev/null
+++ b/Lang/Gleam/Associative-array-Creation
@@ -0,0 +1 @@
+../../Task/Associative-array-Creation/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Binary-digits b/Lang/Gleam/Binary-digits
new file mode 120000
index 0000000000..a13df512cd
--- /dev/null
+++ b/Lang/Gleam/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Catamorphism b/Lang/Gleam/Catamorphism
new file mode 120000
index 0000000000..a390f8e444
--- /dev/null
+++ b/Lang/Gleam/Catamorphism
@@ -0,0 +1 @@
+../../Task/Catamorphism/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Comments b/Lang/Gleam/Comments
new file mode 120000
index 0000000000..e7d9705951
--- /dev/null
+++ b/Lang/Gleam/Comments
@@ -0,0 +1 @@
+../../Task/Comments/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Compare-a-list-of-strings b/Lang/Gleam/Compare-a-list-of-strings
new file mode 120000
index 0000000000..1669281682
--- /dev/null
+++ b/Lang/Gleam/Compare-a-list-of-strings
@@ -0,0 +1 @@
+../../Task/Compare-a-list-of-strings/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Compound-data-type b/Lang/Gleam/Compound-data-type
new file mode 120000
index 0000000000..7cff564dfe
--- /dev/null
+++ b/Lang/Gleam/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Conditional-structures b/Lang/Gleam/Conditional-structures
new file mode 120000
index 0000000000..c889229abf
--- /dev/null
+++ b/Lang/Gleam/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Copy-a-string b/Lang/Gleam/Copy-a-string
new file mode 120000
index 0000000000..8cf2c44a17
--- /dev/null
+++ b/Lang/Gleam/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Count-in-octal b/Lang/Gleam/Count-in-octal
new file mode 120000
index 0000000000..15c2c2e9c2
--- /dev/null
+++ b/Lang/Gleam/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Date-format b/Lang/Gleam/Date-format
new file mode 120000
index 0000000000..328512d62f
--- /dev/null
+++ b/Lang/Gleam/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Delete-a-file b/Lang/Gleam/Delete-a-file
new file mode 120000
index 0000000000..85116e4edd
--- /dev/null
+++ b/Lang/Gleam/Delete-a-file
@@ -0,0 +1 @@
+../../Task/Delete-a-file/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Detect-division-by-zero b/Lang/Gleam/Detect-division-by-zero
new file mode 120000
index 0000000000..9eea7618bf
--- /dev/null
+++ b/Lang/Gleam/Detect-division-by-zero
@@ -0,0 +1 @@
+../../Task/Detect-division-by-zero/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Determine-if-a-string-is-numeric b/Lang/Gleam/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..a9d9a1d6a1
--- /dev/null
+++ b/Lang/Gleam/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Dice-game-probabilities b/Lang/Gleam/Dice-game-probabilities
new file mode 120000
index 0000000000..1cf64df0ec
--- /dev/null
+++ b/Lang/Gleam/Dice-game-probabilities
@@ -0,0 +1 @@
+../../Task/Dice-game-probabilities/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Digital-root b/Lang/Gleam/Digital-root
new file mode 120000
index 0000000000..f4b00d8cfb
--- /dev/null
+++ b/Lang/Gleam/Digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Dot-product b/Lang/Gleam/Dot-product
new file mode 120000
index 0000000000..cf4ac49af6
--- /dev/null
+++ b/Lang/Gleam/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Empty-directory b/Lang/Gleam/Empty-directory
new file mode 120000
index 0000000000..1ce790d8fd
--- /dev/null
+++ b/Lang/Gleam/Empty-directory
@@ -0,0 +1 @@
+../../Task/Empty-directory/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Empty-string b/Lang/Gleam/Empty-string
new file mode 120000
index 0000000000..5b7f7b9014
--- /dev/null
+++ b/Lang/Gleam/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Ethiopian-multiplication b/Lang/Gleam/Ethiopian-multiplication
new file mode 120000
index 0000000000..f93edec2ee
--- /dev/null
+++ b/Lang/Gleam/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Even-or-odd b/Lang/Gleam/Even-or-odd
new file mode 120000
index 0000000000..e725b0e8c1
--- /dev/null
+++ b/Lang/Gleam/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Factorial b/Lang/Gleam/Factorial
new file mode 120000
index 0000000000..a5b5b846f8
--- /dev/null
+++ b/Lang/Gleam/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Fibonacci-sequence b/Lang/Gleam/Fibonacci-sequence
new file mode 120000
index 0000000000..1d18c4a46d
--- /dev/null
+++ b/Lang/Gleam/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Filter b/Lang/Gleam/Filter
new file mode 120000
index 0000000000..556438c396
--- /dev/null
+++ b/Lang/Gleam/Filter
@@ -0,0 +1 @@
+../../Task/Filter/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Function-definition b/Lang/Gleam/Function-definition
new file mode 120000
index 0000000000..ba4dddd180
--- /dev/null
+++ b/Lang/Gleam/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Generic-swap b/Lang/Gleam/Generic-swap
new file mode 120000
index 0000000000..21212ee1ef
--- /dev/null
+++ b/Lang/Gleam/Generic-swap
@@ -0,0 +1 @@
+../../Task/Generic-swap/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Greatest-common-divisor b/Lang/Gleam/Greatest-common-divisor
new file mode 120000
index 0000000000..9040d6ace0
--- /dev/null
+++ b/Lang/Gleam/Greatest-common-divisor
@@ -0,0 +1 @@
+../../Task/Greatest-common-divisor/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Greatest-element-of-a-list b/Lang/Gleam/Greatest-element-of-a-list
new file mode 120000
index 0000000000..0479d1d5ea
--- /dev/null
+++ b/Lang/Gleam/Greatest-element-of-a-list
@@ -0,0 +1 @@
+../../Task/Greatest-element-of-a-list/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Increment-a-numerical-string b/Lang/Gleam/Increment-a-numerical-string
new file mode 120000
index 0000000000..7bddbff85b
--- /dev/null
+++ b/Lang/Gleam/Increment-a-numerical-string
@@ -0,0 +1 @@
+../../Task/Increment-a-numerical-string/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Integer-sequence b/Lang/Gleam/Integer-sequence
new file mode 120000
index 0000000000..d2b7a0c5c2
--- /dev/null
+++ b/Lang/Gleam/Integer-sequence
@@ -0,0 +1 @@
+../../Task/Integer-sequence/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Jewels-and-stones b/Lang/Gleam/Jewels-and-stones
new file mode 120000
index 0000000000..2eb704c9d0
--- /dev/null
+++ b/Lang/Gleam/Jewels-and-stones
@@ -0,0 +1 @@
+../../Task/Jewels-and-stones/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Kernighans-large-earthquake-problem b/Lang/Gleam/Kernighans-large-earthquake-problem
new file mode 120000
index 0000000000..06b9c08a6c
--- /dev/null
+++ b/Lang/Gleam/Kernighans-large-earthquake-problem
@@ -0,0 +1 @@
+../../Task/Kernighans-large-earthquake-problem/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Look-and-say-sequence b/Lang/Gleam/Look-and-say-sequence
new file mode 120000
index 0000000000..dafdaa21e3
--- /dev/null
+++ b/Lang/Gleam/Look-and-say-sequence
@@ -0,0 +1 @@
+../../Task/Look-and-say-sequence/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Luhn-test-of-credit-card-numbers b/Lang/Gleam/Luhn-test-of-credit-card-numbers
new file mode 120000
index 0000000000..784acc9d8d
--- /dev/null
+++ b/Lang/Gleam/Luhn-test-of-credit-card-numbers
@@ -0,0 +1 @@
+../../Task/Luhn-test-of-credit-card-numbers/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Multiplication-tables b/Lang/Gleam/Multiplication-tables
new file mode 120000
index 0000000000..4745c27425
--- /dev/null
+++ b/Lang/Gleam/Multiplication-tables
@@ -0,0 +1 @@
+../../Task/Multiplication-tables/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Nth b/Lang/Gleam/Nth
new file mode 120000
index 0000000000..9607d54630
--- /dev/null
+++ b/Lang/Gleam/Nth
@@ -0,0 +1 @@
+../../Task/Nth/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Order-by-pair-comparisons b/Lang/Gleam/Order-by-pair-comparisons
new file mode 120000
index 0000000000..fc683495ba
--- /dev/null
+++ b/Lang/Gleam/Order-by-pair-comparisons
@@ -0,0 +1 @@
+../../Task/Order-by-pair-comparisons/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Primality-by-Wilsons-theorem b/Lang/Gleam/Primality-by-Wilsons-theorem
new file mode 120000
index 0000000000..96d456e3fb
--- /dev/null
+++ b/Lang/Gleam/Primality-by-Wilsons-theorem
@@ -0,0 +1 @@
+../../Task/Primality-by-Wilsons-theorem/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/RPG-attributes-generator b/Lang/Gleam/RPG-attributes-generator
new file mode 120000
index 0000000000..800e60ff4c
--- /dev/null
+++ b/Lang/Gleam/RPG-attributes-generator
@@ -0,0 +1 @@
+../../Task/RPG-attributes-generator/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Repeat b/Lang/Gleam/Repeat
new file mode 120000
index 0000000000..fab6759fe5
--- /dev/null
+++ b/Lang/Gleam/Repeat
@@ -0,0 +1 @@
+../../Task/Repeat/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Repeat-a-string b/Lang/Gleam/Repeat-a-string
new file mode 120000
index 0000000000..587cd9830b
--- /dev/null
+++ b/Lang/Gleam/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Set b/Lang/Gleam/Set
new file mode 120000
index 0000000000..c138abd777
--- /dev/null
+++ b/Lang/Gleam/Set
@@ -0,0 +1 @@
+../../Task/Set/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Sort-an-integer-array b/Lang/Gleam/Sort-an-integer-array
new file mode 120000
index 0000000000..39c8723c40
--- /dev/null
+++ b/Lang/Gleam/Sort-an-integer-array
@@ -0,0 +1 @@
+../../Task/Sort-an-integer-array/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Sorting-algorithms-Quicksort b/Lang/Gleam/Sorting-algorithms-Quicksort
new file mode 120000
index 0000000000..f1e07b6052
--- /dev/null
+++ b/Lang/Gleam/Sorting-algorithms-Quicksort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Quicksort/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Stack b/Lang/Gleam/Stack
new file mode 120000
index 0000000000..174c4b56e2
--- /dev/null
+++ b/Lang/Gleam/Stack
@@ -0,0 +1 @@
+../../Task/Stack/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/String-append b/Lang/Gleam/String-append
new file mode 120000
index 0000000000..8450c82d83
--- /dev/null
+++ b/Lang/Gleam/String-append
@@ -0,0 +1 @@
+../../Task/String-append/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/String-length b/Lang/Gleam/String-length
new file mode 120000
index 0000000000..f57922e1a7
--- /dev/null
+++ b/Lang/Gleam/String-length
@@ -0,0 +1 @@
+../../Task/String-length/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/String-prepend b/Lang/Gleam/String-prepend
new file mode 120000
index 0000000000..a7f4b33fae
--- /dev/null
+++ b/Lang/Gleam/String-prepend
@@ -0,0 +1 @@
+../../Task/String-prepend/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Sum-and-product-of-an-array b/Lang/Gleam/Sum-and-product-of-an-array
new file mode 120000
index 0000000000..15ce85c799
--- /dev/null
+++ b/Lang/Gleam/Sum-and-product-of-an-array
@@ -0,0 +1 @@
+../../Task/Sum-and-product-of-an-array/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Sum-digits-of-an-integer b/Lang/Gleam/Sum-digits-of-an-integer
new file mode 120000
index 0000000000..cfe6f1a5d3
--- /dev/null
+++ b/Lang/Gleam/Sum-digits-of-an-integer
@@ -0,0 +1 @@
+../../Task/Sum-digits-of-an-integer/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Sum-multiples-of-3-and-5 b/Lang/Gleam/Sum-multiples-of-3-and-5
new file mode 120000
index 0000000000..3e5a3657a3
--- /dev/null
+++ b/Lang/Gleam/Sum-multiples-of-3-and-5
@@ -0,0 +1 @@
+../../Task/Sum-multiples-of-3-and-5/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Sum-of-squares b/Lang/Gleam/Sum-of-squares
new file mode 120000
index 0000000000..34f0e02665
--- /dev/null
+++ b/Lang/Gleam/Sum-of-squares
@@ -0,0 +1 @@
+../../Task/Sum-of-squares/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Symmetric-difference b/Lang/Gleam/Symmetric-difference
new file mode 120000
index 0000000000..51ff7c4a32
--- /dev/null
+++ b/Lang/Gleam/Symmetric-difference
@@ -0,0 +1 @@
+../../Task/Symmetric-difference/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Temperature-conversion b/Lang/Gleam/Temperature-conversion
new file mode 120000
index 0000000000..2d1d9f16a7
--- /dev/null
+++ b/Lang/Gleam/Temperature-conversion
@@ -0,0 +1 @@
+../../Task/Temperature-conversion/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Tree-traversal b/Lang/Gleam/Tree-traversal
new file mode 120000
index 0000000000..b8d43d9b74
--- /dev/null
+++ b/Lang/Gleam/Tree-traversal
@@ -0,0 +1 @@
+../../Task/Tree-traversal/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Variables b/Lang/Gleam/Variables
new file mode 120000
index 0000000000..b43723c7ff
--- /dev/null
+++ b/Lang/Gleam/Variables
@@ -0,0 +1 @@
+../../Task/Variables/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Vector-products b/Lang/Gleam/Vector-products
new file mode 120000
index 0000000000..e08e49670f
--- /dev/null
+++ b/Lang/Gleam/Vector-products
@@ -0,0 +1 @@
+../../Task/Vector-products/Gleam
\ No newline at end of file
diff --git a/Lang/Gleam/Water-collected-between-towers b/Lang/Gleam/Water-collected-between-towers
new file mode 120000
index 0000000000..787299f258
--- /dev/null
+++ b/Lang/Gleam/Water-collected-between-towers
@@ -0,0 +1 @@
+../../Task/Water-collected-between-towers/Gleam
\ No newline at end of file
diff --git a/Lang/Go/Bifid-cipher b/Lang/Go/Bifid-cipher
new file mode 120000
index 0000000000..329ffb397d
--- /dev/null
+++ b/Lang/Go/Bifid-cipher
@@ -0,0 +1 @@
+../../Task/Bifid-cipher/Go
\ No newline at end of file
diff --git a/Lang/Go/Bioinformatics-base-count b/Lang/Go/Bioinformatics-base-count
deleted file mode 120000
index 485b68c3c6..0000000000
--- a/Lang/Go/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/Go
\ No newline at end of file
diff --git a/Lang/Go/Boyer-Moore-string-search b/Lang/Go/Boyer-Moore-string-search
new file mode 120000
index 0000000000..0b971fdf3b
--- /dev/null
+++ b/Lang/Go/Boyer-Moore-string-search
@@ -0,0 +1 @@
+../../Task/Boyer-Moore-string-search/Go
\ No newline at end of file
diff --git a/Lang/Go/Camel-case-and-snake-case b/Lang/Go/Camel-case-and-snake-case
new file mode 120000
index 0000000000..580007cb79
--- /dev/null
+++ b/Lang/Go/Camel-case-and-snake-case
@@ -0,0 +1 @@
+../../Task/Camel-case-and-snake-case/Go
\ No newline at end of file
diff --git a/Lang/Go/Distance-and-Bearing b/Lang/Go/Distance-and-Bearing
new file mode 120000
index 0000000000..566b8d5b53
--- /dev/null
+++ b/Lang/Go/Distance-and-Bearing
@@ -0,0 +1 @@
+../../Task/Distance-and-Bearing/Go
\ No newline at end of file
diff --git a/Lang/Go/Factorial-primes b/Lang/Go/Factorial-primes
new file mode 120000
index 0000000000..5b25426fd0
--- /dev/null
+++ b/Lang/Go/Factorial-primes
@@ -0,0 +1 @@
+../../Task/Factorial-primes/Go
\ No newline at end of file
diff --git a/Lang/Go/Goldbachs-comet b/Lang/Go/Goldbachs-comet
new file mode 120000
index 0000000000..e80a90c082
--- /dev/null
+++ b/Lang/Go/Goldbachs-comet
@@ -0,0 +1 @@
+../../Task/Goldbachs-comet/Go
\ No newline at end of file
diff --git a/Lang/Go/Meissel-Mertens-constant b/Lang/Go/Meissel-Mertens-constant
deleted file mode 120000
index 8c13ff2d6b..0000000000
--- a/Lang/Go/Meissel-Mertens-constant
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Meissel-Mertens-constant/Go
\ No newline at end of file
diff --git a/Lang/Go/Miller-Rabin-primality-test b/Lang/Go/Miller-Rabin-primality-test
deleted file mode 120000
index c9da74462b..0000000000
--- a/Lang/Go/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Go
\ No newline at end of file
diff --git a/Lang/Go/P-Adic-square-roots b/Lang/Go/P-Adic-square-roots
new file mode 120000
index 0000000000..064157bec0
--- /dev/null
+++ b/Lang/Go/P-Adic-square-roots
@@ -0,0 +1 @@
+../../Task/P-Adic-square-roots/Go
\ No newline at end of file
diff --git a/Lang/Go/Quaternion-type b/Lang/Go/Quaternion-type
deleted file mode 120000
index e62c595975..0000000000
--- a/Lang/Go/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Go
\ No newline at end of file
diff --git a/Lang/Go/Sequence-nth-number-with-exactly-n-divisors b/Lang/Go/Sequence:-nth-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Go/Sequence-nth-number-with-exactly-n-divisors
rename to Lang/Go/Sequence:-nth-number-with-exactly-n-divisors
diff --git a/Lang/Go/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/Go/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/Go/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/Go/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/Go/Sequence-smallest-number-with-exactly-n-divisors b/Lang/Go/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Go/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/Go/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/Go/Simple-turtle-graphics b/Lang/Go/Simple-turtle-graphics
new file mode 120000
index 0000000000..81f4233716
--- /dev/null
+++ b/Lang/Go/Simple-turtle-graphics
@@ -0,0 +1 @@
+../../Task/Simple-turtle-graphics/Go
\ No newline at end of file
diff --git a/Lang/Go/Sorting-Algorithms-Circle-Sort b/Lang/Go/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index 1288f4ddcf..0000000000
--- a/Lang/Go/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/Go
\ No newline at end of file
diff --git a/Lang/Go/Terminal-control-Unicode-output b/Lang/Go/Terminal-control-Unicode-output
deleted file mode 120000
index 7532989408..0000000000
--- a/Lang/Go/Terminal-control-Unicode-output
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Terminal-control-Unicode-output/Go
\ No newline at end of file
diff --git a/Lang/Goboscript/00-LANG.txt b/Lang/Goboscript/00-LANG.txt
new file mode 100644
index 0000000000..fbf55e819e
--- /dev/null
+++ b/Lang/Goboscript/00-LANG.txt
@@ -0,0 +1,15 @@
+{{stub}}{{language
+|tags=compiled, transpiled, Scratch
+| site=https://aspizu.github.io/goboscript/
+|parampass=value
+|goboscript}}
+
+From [https://github.com/aspizu/goboscript/ the goboscript repo]:
+
+goboscript is a text-based programming language that compiles to Scratch. Write Scratch projects in text, and compile it into a .sb3 file -- which can be opened in the Scratch editor, TurboWarp or be uploaded to the Scratch website.
+
+===Package managers===
+Despite being a relatively new programming language, goboscript has multiple package managers.
+
+* [https://github.com/aspizu/backpack backpack] - The official goboscript package manager
+* [https://github.com/inflated-goboscript/inflator inflator] - A more powerful package manager inspired by Python's pip
\ No newline at end of file
diff --git a/Lang/Goboscript/00-META.yaml b/Lang/Goboscript/00-META.yaml
new file mode 100644
index 0000000000..48464a36ad
--- /dev/null
+++ b/Lang/Goboscript/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Goboscript
diff --git a/Lang/Goboscript/100-doors b/Lang/Goboscript/100-doors
new file mode 120000
index 0000000000..293aa8a0f0
--- /dev/null
+++ b/Lang/Goboscript/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/Goboscript
\ No newline at end of file
diff --git a/Lang/Goboscript/99-bottles-of-beer b/Lang/Goboscript/99-bottles-of-beer
new file mode 120000
index 0000000000..5a60ef7f8c
--- /dev/null
+++ b/Lang/Goboscript/99-bottles-of-beer
@@ -0,0 +1 @@
+../../Task/99-bottles-of-beer/Goboscript
\ No newline at end of file
diff --git a/Lang/Goboscript/Arithmetic-Complex b/Lang/Goboscript/Arithmetic-Complex
new file mode 120000
index 0000000000..ed35177c3c
--- /dev/null
+++ b/Lang/Goboscript/Arithmetic-Complex
@@ -0,0 +1 @@
+../../Task/Arithmetic-Complex/Goboscript
\ No newline at end of file
diff --git a/Lang/Golfscript/00-LANG.txt b/Lang/Golfscript/00-LANG.txt
index 67be1df4fd..ce1ed4276d 100644
--- a/Lang/Golfscript/00-LANG.txt
+++ b/Lang/Golfscript/00-LANG.txt
@@ -1,5 +1,10 @@
{{language|GolfScript
|site=http://www.golfscript.com/golfscript/index.html
}}
+{{try|Golfscript|[https://tio.run/#golfscript Try Golfscript on tio.run].}}
{{language programming paradigm|Concatenative}}
-GolfScript is a stack oriented esoteric programming language aimed at solving problems (holes) in as few keystrokes as possible. It also aims to be simple and easy to write.
\ No newline at end of file
+GolfScript is a stack oriented esoteric programming language aimed at solving problems (holes) in as few keystrokes as possible. It also aims to be simple and easy to write.
+
+== External links ==
+* [https://golfscript.com/golfscript/ Official website]
+* [https://codegolf.stackexchange.com/questions/5264/tips-for-golfing-in-golfscript Tips for golfing in Golfscript]
\ No newline at end of file
diff --git a/Lang/Golfscript/Primality-by-trial-division b/Lang/Golfscript/Primality-by-trial-division
new file mode 120000
index 0000000000..42e31431cb
--- /dev/null
+++ b/Lang/Golfscript/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Golfscript
\ No newline at end of file
diff --git a/Lang/Groovy/Empty-program b/Lang/Groovy/Empty-program
deleted file mode 120000
index 8d1c7a42ae..0000000000
--- a/Lang/Groovy/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/Groovy
\ No newline at end of file
diff --git a/Lang/Guile/2048 b/Lang/Guile/2048
new file mode 120000
index 0000000000..69532585e1
--- /dev/null
+++ b/Lang/Guile/2048
@@ -0,0 +1 @@
+../../Task/2048/Guile
\ No newline at end of file
diff --git a/Lang/Guile/A+B b/Lang/Guile/A+B
new file mode 120000
index 0000000000..ea7ff34909
--- /dev/null
+++ b/Lang/Guile/A+B
@@ -0,0 +1 @@
+../../Task/A+B/Guile
\ No newline at end of file
diff --git a/Lang/Guile/MD5-Implementation b/Lang/Guile/MD5-Implementation
new file mode 120000
index 0000000000..c467572ebf
--- /dev/null
+++ b/Lang/Guile/MD5-Implementation
@@ -0,0 +1 @@
+../../Task/MD5-Implementation/Guile
\ No newline at end of file
diff --git a/Lang/Guish/00-LANG.txt b/Lang/Guish/00-LANG.txt
index 593da31c91..e15298f7c3 100644
--- a/Lang/Guish/00-LANG.txt
+++ b/Lang/Guish/00-LANG.txt
@@ -1016,7 +1016,7 @@ Any element that's not a page has a particular text alignment that can be change
-Francesco Palumbo <phranz@subfc.net>
+Francesco Palumbo
= THANKS =
diff --git a/Lang/HPPPL/A+B b/Lang/HPPPL/A+B
new file mode 120000
index 0000000000..dd8d8fff42
--- /dev/null
+++ b/Lang/HPPPL/A+B
@@ -0,0 +1 @@
+../../Task/A+B/HPPPL
\ No newline at end of file
diff --git a/Lang/HPPPL/Ackermann-function b/Lang/HPPPL/Ackermann-function
new file mode 120000
index 0000000000..ff1ef99b52
--- /dev/null
+++ b/Lang/HPPPL/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/HPPPL
\ No newline at end of file
diff --git a/Lang/HPPPL/Babbage-problem b/Lang/HPPPL/Babbage-problem
new file mode 120000
index 0000000000..441aa0d4f6
--- /dev/null
+++ b/Lang/HPPPL/Babbage-problem
@@ -0,0 +1 @@
+../../Task/Babbage-problem/HPPPL
\ No newline at end of file
diff --git a/Lang/HPPPL/Jacobsthal-numbers b/Lang/HPPPL/Jacobsthal-numbers
new file mode 120000
index 0000000000..5f5706ea3b
--- /dev/null
+++ b/Lang/HPPPL/Jacobsthal-numbers
@@ -0,0 +1 @@
+../../Task/Jacobsthal-numbers/HPPPL
\ No newline at end of file
diff --git a/Lang/HPPPL/Jaro-similarity b/Lang/HPPPL/Jaro-similarity
new file mode 120000
index 0000000000..022c80a0a8
--- /dev/null
+++ b/Lang/HPPPL/Jaro-similarity
@@ -0,0 +1 @@
+../../Task/Jaro-similarity/HPPPL
\ No newline at end of file
diff --git a/Lang/HPPPL/Numbers-with-equal-rises-and-falls b/Lang/HPPPL/Numbers-with-equal-rises-and-falls
new file mode 120000
index 0000000000..7d6ca5c6b5
--- /dev/null
+++ b/Lang/HPPPL/Numbers-with-equal-rises-and-falls
@@ -0,0 +1 @@
+../../Task/Numbers-with-equal-rises-and-falls/HPPPL
\ No newline at end of file
diff --git a/Lang/HPPPL/Primality-by-trial-division b/Lang/HPPPL/Primality-by-trial-division
new file mode 120000
index 0000000000..2127fa3655
--- /dev/null
+++ b/Lang/HPPPL/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/HPPPL
\ No newline at end of file
diff --git a/Lang/HPPPL/Tau-number b/Lang/HPPPL/Tau-number
new file mode 120000
index 0000000000..1180967c35
--- /dev/null
+++ b/Lang/HPPPL/Tau-number
@@ -0,0 +1 @@
+../../Task/Tau-number/HPPPL
\ No newline at end of file
diff --git a/Lang/Hare/Execute-Brain- b/Lang/Hare/Execute-Brain-
new file mode 120000
index 0000000000..dc8caabad0
--- /dev/null
+++ b/Lang/Hare/Execute-Brain-
@@ -0,0 +1 @@
+../../Task/Execute-Brain-/Hare
\ No newline at end of file
diff --git a/Lang/Haskell/00-LANG.txt b/Lang/Haskell/00-LANG.txt
index fe49ebce44..9b79cdd879 100644
--- a/Lang/Haskell/00-LANG.txt
+++ b/Lang/Haskell/00-LANG.txt
@@ -20,5 +20,5 @@ Linspire GNU/[[Linux]] chose Haskell for system tools development.
==Citations==
* [[wp:Haskell_%28programming_language%29|Wikipedia:Haskell (programming language)]]
-==Todo==
-[[Reports:Tasks_not_implemented_in_Haskell]]
\ No newline at end of file
+==Unimplemented Tasks==
+* [[Tasks_not_implemented_in_Haskell|Haskell Unimplemented]]
\ No newline at end of file
diff --git a/Lang/Haskell/Arithmetic-numbers b/Lang/Haskell/Arithmetic-numbers
new file mode 120000
index 0000000000..ca4dc61dcb
--- /dev/null
+++ b/Lang/Haskell/Arithmetic-numbers
@@ -0,0 +1 @@
+../../Task/Arithmetic-numbers/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Ascending-primes b/Lang/Haskell/Ascending-primes
new file mode 120000
index 0000000000..443d61be19
--- /dev/null
+++ b/Lang/Haskell/Ascending-primes
@@ -0,0 +1 @@
+../../Task/Ascending-primes/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Bifid-cipher b/Lang/Haskell/Bifid-cipher
new file mode 120000
index 0000000000..e9402d0afc
--- /dev/null
+++ b/Lang/Haskell/Bifid-cipher
@@ -0,0 +1 @@
+../../Task/Bifid-cipher/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Bioinformatics-Global-alignment b/Lang/Haskell/Bioinformatics-Global-alignment
new file mode 120000
index 0000000000..adcd5f4ce2
--- /dev/null
+++ b/Lang/Haskell/Bioinformatics-Global-alignment
@@ -0,0 +1 @@
+../../Task/Bioinformatics-Global-alignment/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Bioinformatics-base-count b/Lang/Haskell/Bioinformatics-base-count
deleted file mode 120000
index cf913dcdcd..0000000000
--- a/Lang/Haskell/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Cistercian-numerals b/Lang/Haskell/Cistercian-numerals
new file mode 120000
index 0000000000..2a13541c88
--- /dev/null
+++ b/Lang/Haskell/Cistercian-numerals
@@ -0,0 +1 @@
+../../Task/Cistercian-numerals/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Deceptive-numbers b/Lang/Haskell/Deceptive-numbers
new file mode 120000
index 0000000000..6fa6eb6011
--- /dev/null
+++ b/Lang/Haskell/Deceptive-numbers
@@ -0,0 +1 @@
+../../Task/Deceptive-numbers/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Descending-primes b/Lang/Haskell/Descending-primes
new file mode 120000
index 0000000000..58817d1239
--- /dev/null
+++ b/Lang/Haskell/Descending-primes
@@ -0,0 +1 @@
+../../Task/Descending-primes/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Duffinian-numbers b/Lang/Haskell/Duffinian-numbers
new file mode 120000
index 0000000000..282d30bb6b
--- /dev/null
+++ b/Lang/Haskell/Duffinian-numbers
@@ -0,0 +1 @@
+../../Task/Duffinian-numbers/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Factorial-primes b/Lang/Haskell/Factorial-primes
new file mode 120000
index 0000000000..004f7e5f7d
--- /dev/null
+++ b/Lang/Haskell/Factorial-primes
@@ -0,0 +1 @@
+../../Task/Factorial-primes/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Jordan-P-lya-numbers b/Lang/Haskell/Jordan-P-lya-numbers
new file mode 120000
index 0000000000..0e7225789a
--- /dev/null
+++ b/Lang/Haskell/Jordan-P-lya-numbers
@@ -0,0 +1 @@
+../../Task/Jordan-P-lya-numbers/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Miller-Rabin-primality-test b/Lang/Haskell/Miller-Rabin-primality-test
deleted file mode 120000
index c41f1ba06c..0000000000
--- a/Lang/Haskell/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Mouse-position b/Lang/Haskell/Mouse-position
new file mode 120000
index 0000000000..842d59376f
--- /dev/null
+++ b/Lang/Haskell/Mouse-position
@@ -0,0 +1 @@
+../../Task/Mouse-position/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Pathological-floating-point-problems b/Lang/Haskell/Pathological-floating-point-problems
new file mode 120000
index 0000000000..f17bacf62a
--- /dev/null
+++ b/Lang/Haskell/Pathological-floating-point-problems
@@ -0,0 +1 @@
+../../Task/Pathological-floating-point-problems/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Quaternion-type b/Lang/Haskell/Quaternion-type
deleted file mode 120000
index 14aca84bfa..0000000000
--- a/Lang/Haskell/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Sequence-nth-number-with-exactly-n-divisors b/Lang/Haskell/Sequence:-nth-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Haskell/Sequence-nth-number-with-exactly-n-divisors
rename to Lang/Haskell/Sequence:-nth-number-with-exactly-n-divisors
diff --git a/Lang/Haskell/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/Haskell/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/Haskell/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/Haskell/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/Haskell/Sequence-smallest-number-with-exactly-n-divisors b/Lang/Haskell/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Haskell/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/Haskell/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/Haskell/Sorting-Algorithms-Circle-Sort b/Lang/Haskell/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index 7f6f1559db..0000000000
--- a/Lang/Haskell/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Strassens-algorithm b/Lang/Haskell/Strassens-algorithm
new file mode 120000
index 0000000000..f39dbbfd50
--- /dev/null
+++ b/Lang/Haskell/Strassens-algorithm
@@ -0,0 +1 @@
+../../Task/Strassens-algorithm/Haskell
\ No newline at end of file
diff --git a/Lang/Haxe/Abstract-type b/Lang/Haxe/Abstract-type
new file mode 120000
index 0000000000..6ff9aba1f6
--- /dev/null
+++ b/Lang/Haxe/Abstract-type
@@ -0,0 +1 @@
+../../Task/Abstract-type/Haxe
\ No newline at end of file
diff --git a/Lang/Haxe/Apply-a-callback-to-an-array b/Lang/Haxe/Apply-a-callback-to-an-array
new file mode 120000
index 0000000000..6fdb21da75
--- /dev/null
+++ b/Lang/Haxe/Apply-a-callback-to-an-array
@@ -0,0 +1 @@
+../../Task/Apply-a-callback-to-an-array/Haxe
\ No newline at end of file
diff --git a/Lang/Haxe/Arrays b/Lang/Haxe/Arrays
new file mode 120000
index 0000000000..bd303e4884
--- /dev/null
+++ b/Lang/Haxe/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/Haxe
\ No newline at end of file
diff --git a/Lang/Haxe/Associative-array-Creation b/Lang/Haxe/Associative-array-Creation
new file mode 120000
index 0000000000..38347f6de6
--- /dev/null
+++ b/Lang/Haxe/Associative-array-Creation
@@ -0,0 +1 @@
+../../Task/Associative-array-Creation/Haxe
\ No newline at end of file
diff --git a/Lang/Haxe/Associative-array-Iteration b/Lang/Haxe/Associative-array-Iteration
new file mode 120000
index 0000000000..aa7c7951b8
--- /dev/null
+++ b/Lang/Haxe/Associative-array-Iteration
@@ -0,0 +1 @@
+../../Task/Associative-array-Iteration/Haxe
\ No newline at end of file
diff --git a/Lang/Haxe/Binary-digits b/Lang/Haxe/Binary-digits
new file mode 120000
index 0000000000..9bf8952c0d
--- /dev/null
+++ b/Lang/Haxe/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Haxe
\ No newline at end of file
diff --git a/Lang/Haxe/Boolean-values b/Lang/Haxe/Boolean-values
new file mode 120000
index 0000000000..b5ef0e7d8b
--- /dev/null
+++ b/Lang/Haxe/Boolean-values
@@ -0,0 +1 @@
+../../Task/Boolean-values/Haxe
\ No newline at end of file
diff --git a/Lang/Haxe/Call-an-object-method b/Lang/Haxe/Call-an-object-method
new file mode 120000
index 0000000000..953d02b76c
--- /dev/null
+++ b/Lang/Haxe/Call-an-object-method
@@ -0,0 +1 @@
+../../Task/Call-an-object-method/Haxe
\ No newline at end of file
diff --git a/Lang/Haxe/Character-codes b/Lang/Haxe/Character-codes
new file mode 120000
index 0000000000..92ab060a1a
--- /dev/null
+++ b/Lang/Haxe/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Haxe
\ No newline at end of file
diff --git a/Lang/Haxe/Classes b/Lang/Haxe/Classes
new file mode 120000
index 0000000000..5c922938d4
--- /dev/null
+++ b/Lang/Haxe/Classes
@@ -0,0 +1 @@
+../../Task/Classes/Haxe
\ No newline at end of file
diff --git a/Lang/IDL/00-LANG.txt b/Lang/IDL/00-LANG.txt
index ef4aad38d6..fed6398ad2 100644
--- a/Lang/IDL/00-LANG.txt
+++ b/Lang/IDL/00-LANG.txt
@@ -1,4 +1,4 @@
{{stub}}{{language|IDL}}
IDL (Interactive Data Language) is an [[array]] programming language designed by David Stern.
[[wp:IDL_%28programming_language%29|Wikipedia article]]
-(free implementation: GDL - GNU Data Language http://gnudatalanguage.sourceforge.net)
\ No newline at end of file
+(free implementation: GDL - GNU Data Language https://github.com/gnudatalanguage/gdl)
\ No newline at end of file
diff --git a/Lang/IS-BASIC/Determine-if-a-string-has-all-the-same-characters b/Lang/IS-BASIC/Determine-if-a-string-has-all-the-same-characters
new file mode 120000
index 0000000000..3a0ac72c5c
--- /dev/null
+++ b/Lang/IS-BASIC/Determine-if-a-string-has-all-the-same-characters
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-has-all-the-same-characters/IS-BASIC
\ No newline at end of file
diff --git a/Lang/Icon/00-LANG.txt b/Lang/Icon/00-LANG.txt
index 6d6b15bfc2..16054a3927 100644
--- a/Lang/Icon/00-LANG.txt
+++ b/Lang/Icon/00-LANG.txt
@@ -39,5 +39,7 @@ Several extensions of Icon were developed to improve functionality. Many of the
* [[Icon%2BUnicon/Intro|An introduction to Icon and Unicon for Rosetta Code]]
* [[:Category:Icon/Omit|Unimplementable tasks]]
* [[:Category:Icon_examples_needing_attention|Tasks requiring attention]]
-* [[Reports:Tasks_not_implemented_in_Icon|Tasks not yet implemented]]
-* [[:Category:Icon_Programming_Library|The Icon Programming Library]]
\ No newline at end of file
+* [[:Category:Icon_Programming_Library|The Icon Programming Library]]
+
+==Todo==
+* [[Tasks not implemented in Icon]]
\ No newline at end of file
diff --git a/Lang/Icon/100-prisoners b/Lang/Icon/100-prisoners
new file mode 120000
index 0000000000..9bc15827ac
--- /dev/null
+++ b/Lang/Icon/100-prisoners
@@ -0,0 +1 @@
+../../Task/100-prisoners/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Additive-primes b/Lang/Icon/Additive-primes
new file mode 120000
index 0000000000..f7253ea73d
--- /dev/null
+++ b/Lang/Icon/Additive-primes
@@ -0,0 +1 @@
+../../Task/Additive-primes/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Amicable-pairs b/Lang/Icon/Amicable-pairs
new file mode 120000
index 0000000000..13242a82ae
--- /dev/null
+++ b/Lang/Icon/Amicable-pairs
@@ -0,0 +1 @@
+../../Task/Amicable-pairs/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Anti-primes b/Lang/Icon/Anti-primes
new file mode 120000
index 0000000000..63243658da
--- /dev/null
+++ b/Lang/Icon/Anti-primes
@@ -0,0 +1 @@
+../../Task/Anti-primes/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Ascending-primes b/Lang/Icon/Ascending-primes
new file mode 120000
index 0000000000..e30e0fc896
--- /dev/null
+++ b/Lang/Icon/Ascending-primes
@@ -0,0 +1 @@
+../../Task/Ascending-primes/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Attractive-numbers b/Lang/Icon/Attractive-numbers
new file mode 120000
index 0000000000..743b113011
--- /dev/null
+++ b/Lang/Icon/Attractive-numbers
@@ -0,0 +1 @@
+../../Task/Attractive-numbers/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Babbage-problem b/Lang/Icon/Babbage-problem
new file mode 120000
index 0000000000..735fcc5c8a
--- /dev/null
+++ b/Lang/Icon/Babbage-problem
@@ -0,0 +1 @@
+../../Task/Babbage-problem/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Bin-given-limits b/Lang/Icon/Bin-given-limits
new file mode 120000
index 0000000000..39a04e7b2e
--- /dev/null
+++ b/Lang/Icon/Bin-given-limits
@@ -0,0 +1 @@
+../../Task/Bin-given-limits/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Brilliant-numbers b/Lang/Icon/Brilliant-numbers
new file mode 120000
index 0000000000..1a8f34ef87
--- /dev/null
+++ b/Lang/Icon/Brilliant-numbers
@@ -0,0 +1 @@
+../../Task/Brilliant-numbers/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Colorful-numbers b/Lang/Icon/Colorful-numbers
new file mode 120000
index 0000000000..d1f1a0b56b
--- /dev/null
+++ b/Lang/Icon/Colorful-numbers
@@ -0,0 +1 @@
+../../Task/Colorful-numbers/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Compare-length-of-two-strings b/Lang/Icon/Compare-length-of-two-strings
new file mode 120000
index 0000000000..beabf2e98e
--- /dev/null
+++ b/Lang/Icon/Compare-length-of-two-strings
@@ -0,0 +1 @@
+../../Task/Compare-length-of-two-strings/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Copy-stdin-to-stdout b/Lang/Icon/Copy-stdin-to-stdout
new file mode 120000
index 0000000000..7a52714a89
--- /dev/null
+++ b/Lang/Icon/Copy-stdin-to-stdout
@@ -0,0 +1 @@
+../../Task/Copy-stdin-to-stdout/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Curzon-numbers b/Lang/Icon/Curzon-numbers
new file mode 120000
index 0000000000..4ee931a90d
--- /dev/null
+++ b/Lang/Icon/Curzon-numbers
@@ -0,0 +1 @@
+../../Task/Curzon-numbers/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Damm-algorithm b/Lang/Icon/Damm-algorithm
new file mode 120000
index 0000000000..67c033a005
--- /dev/null
+++ b/Lang/Icon/Damm-algorithm
@@ -0,0 +1 @@
+../../Task/Damm-algorithm/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Department-numbers b/Lang/Icon/Department-numbers
new file mode 120000
index 0000000000..ce0a0885c3
--- /dev/null
+++ b/Lang/Icon/Department-numbers
@@ -0,0 +1 @@
+../../Task/Department-numbers/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Descending-primes b/Lang/Icon/Descending-primes
new file mode 120000
index 0000000000..c0f125d9e3
--- /dev/null
+++ b/Lang/Icon/Descending-primes
@@ -0,0 +1 @@
+../../Task/Descending-primes/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Determine-if-a-string-is-collapsible b/Lang/Icon/Determine-if-a-string-is-collapsible
new file mode 120000
index 0000000000..d589db9f61
--- /dev/null
+++ b/Lang/Icon/Determine-if-a-string-is-collapsible
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-collapsible/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Determine-if-a-string-is-squeezable b/Lang/Icon/Determine-if-a-string-is-squeezable
new file mode 120000
index 0000000000..46209569af
--- /dev/null
+++ b/Lang/Icon/Determine-if-a-string-is-squeezable
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-squeezable/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Disarium-numbers b/Lang/Icon/Disarium-numbers
new file mode 120000
index 0000000000..12c9e05e7d
--- /dev/null
+++ b/Lang/Icon/Disarium-numbers
@@ -0,0 +1 @@
+../../Task/Disarium-numbers/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Duffinian-numbers b/Lang/Icon/Duffinian-numbers
new file mode 120000
index 0000000000..5897c057e3
--- /dev/null
+++ b/Lang/Icon/Duffinian-numbers
@@ -0,0 +1 @@
+../../Task/Duffinian-numbers/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Exponentiation-order b/Lang/Icon/Exponentiation-order
new file mode 120000
index 0000000000..c87e5174b5
--- /dev/null
+++ b/Lang/Icon/Exponentiation-order
@@ -0,0 +1 @@
+../../Task/Exponentiation-order/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Exponentiation-with-infix-operators-in-or-operating-on-the-base b/Lang/Icon/Exponentiation-with-infix-operators-in-or-operating-on-the-base
new file mode 120000
index 0000000000..08ed217100
--- /dev/null
+++ b/Lang/Icon/Exponentiation-with-infix-operators-in-or-operating-on-the-base
@@ -0,0 +1 @@
+../../Task/Exponentiation-with-infix-operators-in-or-operating-on-the-base/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Gapful-numbers b/Lang/Icon/Gapful-numbers
new file mode 120000
index 0000000000..fc3d78f9a2
--- /dev/null
+++ b/Lang/Icon/Gapful-numbers
@@ -0,0 +1 @@
+../../Task/Gapful-numbers/Icon
\ No newline at end of file
diff --git a/Lang/Icon/General-FizzBuzz b/Lang/Icon/General-FizzBuzz
new file mode 120000
index 0000000000..ea33dc312a
--- /dev/null
+++ b/Lang/Icon/General-FizzBuzz
@@ -0,0 +1 @@
+../../Task/General-FizzBuzz/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Halt-and-catch-fire b/Lang/Icon/Halt-and-catch-fire
new file mode 120000
index 0000000000..cc36db873b
--- /dev/null
+++ b/Lang/Icon/Halt-and-catch-fire
@@ -0,0 +1 @@
+../../Task/Halt-and-catch-fire/Icon
\ No newline at end of file
diff --git a/Lang/Icon/History-variables b/Lang/Icon/History-variables
new file mode 120000
index 0000000000..3757ea49f2
--- /dev/null
+++ b/Lang/Icon/History-variables
@@ -0,0 +1 @@
+../../Task/History-variables/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Humble-numbers b/Lang/Icon/Humble-numbers
new file mode 120000
index 0000000000..4ff6385336
--- /dev/null
+++ b/Lang/Icon/Humble-numbers
@@ -0,0 +1 @@
+../../Task/Humble-numbers/Icon
\ No newline at end of file
diff --git a/Lang/Icon/JSON b/Lang/Icon/JSON
new file mode 120000
index 0000000000..cac5544cb8
--- /dev/null
+++ b/Lang/Icon/JSON
@@ -0,0 +1 @@
+../../Task/JSON/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Jewels-and-stones b/Lang/Icon/Jewels-and-stones
new file mode 120000
index 0000000000..5dee8d7cee
--- /dev/null
+++ b/Lang/Icon/Jewels-and-stones
@@ -0,0 +1 @@
+../../Task/Jewels-and-stones/Icon
\ No newline at end of file
diff --git a/Lang/Icon/JortSort b/Lang/Icon/JortSort
new file mode 120000
index 0000000000..f9d0bbf2dd
--- /dev/null
+++ b/Lang/Icon/JortSort
@@ -0,0 +1 @@
+../../Task/JortSort/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Kernighans-large-earthquake-problem b/Lang/Icon/Kernighans-large-earthquake-problem
new file mode 120000
index 0000000000..c766366430
--- /dev/null
+++ b/Lang/Icon/Kernighans-large-earthquake-problem
@@ -0,0 +1 @@
+../../Task/Kernighans-large-earthquake-problem/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Largest-number-divisible-by-its-digits b/Lang/Icon/Largest-number-divisible-by-its-digits
new file mode 120000
index 0000000000..13b83b49d7
--- /dev/null
+++ b/Lang/Icon/Largest-number-divisible-by-its-digits
@@ -0,0 +1 @@
+../../Task/Largest-number-divisible-by-its-digits/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Largest-proper-divisor-of-n b/Lang/Icon/Largest-proper-divisor-of-n
new file mode 120000
index 0000000000..31002a6508
--- /dev/null
+++ b/Lang/Icon/Largest-proper-divisor-of-n
@@ -0,0 +1 @@
+../../Task/Largest-proper-divisor-of-n/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Longest-common-substring b/Lang/Icon/Longest-common-substring
new file mode 120000
index 0000000000..911a5f7a03
--- /dev/null
+++ b/Lang/Icon/Longest-common-substring
@@ -0,0 +1 @@
+../../Task/Longest-common-substring/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Loops-Increment-loop-index-within-loop-body b/Lang/Icon/Loops-Increment-loop-index-within-loop-body
new file mode 120000
index 0000000000..19c94ce3da
--- /dev/null
+++ b/Lang/Icon/Loops-Increment-loop-index-within-loop-body
@@ -0,0 +1 @@
+../../Task/Loops-Increment-loop-index-within-loop-body/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Loops-Wrong-ranges b/Lang/Icon/Loops-Wrong-ranges
new file mode 120000
index 0000000000..0317af2079
--- /dev/null
+++ b/Lang/Icon/Loops-Wrong-ranges
@@ -0,0 +1 @@
+../../Task/Loops-Wrong-ranges/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Lychrel-numbers b/Lang/Icon/Lychrel-numbers
new file mode 120000
index 0000000000..17b9194dd0
--- /dev/null
+++ b/Lang/Icon/Lychrel-numbers
@@ -0,0 +1 @@
+../../Task/Lychrel-numbers/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Matrix-exponentiation-operator b/Lang/Icon/Matrix-exponentiation-operator
new file mode 120000
index 0000000000..7d0b44e7a5
--- /dev/null
+++ b/Lang/Icon/Matrix-exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Matrix-exponentiation-operator/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Mian-Chowla-sequence b/Lang/Icon/Mian-Chowla-sequence
new file mode 120000
index 0000000000..c2755bd935
--- /dev/null
+++ b/Lang/Icon/Mian-Chowla-sequence
@@ -0,0 +1 @@
+../../Task/Mian-Chowla-sequence/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Miller-Rabin-primality-test b/Lang/Icon/Miller-Rabin-primality-test
deleted file mode 120000
index 0a9d526a8b..0000000000
--- a/Lang/Icon/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Minimum-multiple-of-m-where-digital-sum-equals-m b/Lang/Icon/Minimum-multiple-of-m-where-digital-sum-equals-m
new file mode 120000
index 0000000000..e9ef6d5260
--- /dev/null
+++ b/Lang/Icon/Minimum-multiple-of-m-where-digital-sum-equals-m
@@ -0,0 +1 @@
+../../Task/Minimum-multiple-of-m-where-digital-sum-equals-m/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Palindromic-gapful-numbers b/Lang/Icon/Palindromic-gapful-numbers
new file mode 120000
index 0000000000..0baaac39e3
--- /dev/null
+++ b/Lang/Icon/Palindromic-gapful-numbers
@@ -0,0 +1 @@
+../../Task/Palindromic-gapful-numbers/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Perfect-shuffle b/Lang/Icon/Perfect-shuffle
new file mode 120000
index 0000000000..6f3471d6c3
--- /dev/null
+++ b/Lang/Icon/Perfect-shuffle
@@ -0,0 +1 @@
+../../Task/Perfect-shuffle/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Repeat b/Lang/Icon/Repeat
new file mode 120000
index 0000000000..c83ed88406
--- /dev/null
+++ b/Lang/Icon/Repeat
@@ -0,0 +1 @@
+../../Task/Repeat/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Search-a-list-of-records b/Lang/Icon/Search-a-list-of-records
new file mode 120000
index 0000000000..b796eca599
--- /dev/null
+++ b/Lang/Icon/Search-a-list-of-records
@@ -0,0 +1 @@
+../../Task/Search-a-list-of-records/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Sort-numbers-lexicographically b/Lang/Icon/Sort-numbers-lexicographically
new file mode 120000
index 0000000000..7c99f7d928
--- /dev/null
+++ b/Lang/Icon/Sort-numbers-lexicographically
@@ -0,0 +1 @@
+../../Task/Sort-numbers-lexicographically/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Tau-function b/Lang/Icon/Tau-function
new file mode 120000
index 0000000000..a9852ae0fc
--- /dev/null
+++ b/Lang/Icon/Tau-function
@@ -0,0 +1 @@
+../../Task/Tau-function/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Tau-number b/Lang/Icon/Tau-number
new file mode 120000
index 0000000000..16be5aedc6
--- /dev/null
+++ b/Lang/Icon/Tau-number
@@ -0,0 +1 @@
+../../Task/Tau-number/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Thue-Morse b/Lang/Icon/Thue-Morse
new file mode 120000
index 0000000000..bfa031f039
--- /dev/null
+++ b/Lang/Icon/Thue-Morse
@@ -0,0 +1 @@
+../../Task/Thue-Morse/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Tokenize-a-string-with-escaping b/Lang/Icon/Tokenize-a-string-with-escaping
new file mode 120000
index 0000000000..6a5856de9c
--- /dev/null
+++ b/Lang/Icon/Tokenize-a-string-with-escaping
@@ -0,0 +1 @@
+../../Task/Tokenize-a-string-with-escaping/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Tree-from-nesting-levels b/Lang/Icon/Tree-from-nesting-levels
new file mode 120000
index 0000000000..670d6ecf62
--- /dev/null
+++ b/Lang/Icon/Tree-from-nesting-levels
@@ -0,0 +1 @@
+../../Task/Tree-from-nesting-levels/Icon
\ No newline at end of file
diff --git a/Lang/Icon/UTF-8-encode-and-decode b/Lang/Icon/UTF-8-encode-and-decode
new file mode 120000
index 0000000000..354f23e4f3
--- /dev/null
+++ b/Lang/Icon/UTF-8-encode-and-decode
@@ -0,0 +1 @@
+../../Task/UTF-8-encode-and-decode/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Unix-ls b/Lang/Icon/Unix-ls
new file mode 120000
index 0000000000..a60d089d88
--- /dev/null
+++ b/Lang/Icon/Unix-ls
@@ -0,0 +1 @@
+../../Task/Unix-ls/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Word-frequency b/Lang/Icon/Word-frequency
new file mode 120000
index 0000000000..24fef71b7b
--- /dev/null
+++ b/Lang/Icon/Word-frequency
@@ -0,0 +1 @@
+../../Task/Word-frequency/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Write-entire-file b/Lang/Icon/Write-entire-file
new file mode 120000
index 0000000000..a982401a37
--- /dev/null
+++ b/Lang/Icon/Write-entire-file
@@ -0,0 +1 @@
+../../Task/Write-entire-file/Icon
\ No newline at end of file
diff --git a/Lang/Idris/Comments b/Lang/Idris/Comments
new file mode 120000
index 0000000000..ffaead275c
--- /dev/null
+++ b/Lang/Idris/Comments
@@ -0,0 +1 @@
+../../Task/Comments/Idris
\ No newline at end of file
diff --git a/Lang/Idris/Palindrome-detection b/Lang/Idris/Palindrome-detection
new file mode 120000
index 0000000000..58af724843
--- /dev/null
+++ b/Lang/Idris/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Idris
\ No newline at end of file
diff --git a/Lang/Idris/Quaternion-type b/Lang/Idris/Quaternion-type
deleted file mode 120000
index 6489466168..0000000000
--- a/Lang/Idris/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Idris
\ No newline at end of file
diff --git a/Lang/Imp77/00-LANG.txt b/Lang/Imp77/00-LANG.txt
new file mode 100644
index 0000000000..85ea555671
--- /dev/null
+++ b/Lang/Imp77/00-LANG.txt
@@ -0,0 +1,37 @@
+{{language
+|exec=machine
+|gc=no
+|parampass=value or by address
+|checking=static
+|tags=imp77
+}}{{language programming paradigm|Imperative}}
+'''Imp77''' is a general-purpose, [[procedural programming|procedural]], [[imperative programming|imperative]] computer programming language developed around 1977 by the Computer Science Department at Edinburgh University. The original Imp was an incremental development of its predecessor, [[derived from::AtlasAutocode]], via Imp9 .
+
+==Versions==
+* '''Atlas Autocode''' was originally created by Tony Brooker as his response to the 1958 IAL proposal which was the prototype for Algol60. It was very similar to Algol 60 but without some of the problematic areas such as 'call-by-name'.
+* '''Imp(AA)''' was the first Imp compiler (running on the KDF9) to use the name Imp, but it was almost identical to Atlas Autocode apart from having removed a few unused language features such as %complex variables and minor syntax that was dependent on the use of the Flexowriter and the KDF9 character set, which happened when the compiler was modified to use the 7-bit ISO character set.
+* '''Imp9''' was the final release of Imp on the ICL System 4/75. By this point Imp had acquired records and strings.
+* '''Impi''' was an interactive version of the Imp language based on the Imp9 specification, which compiled a statement at a time or a procedure at a time to executable code in memory. Although the Impi name meant "Imp Interpreter" it was not an interpreter in the sense of interpreting an intermediate code, but was rather a true dynamic and interactive compiler.
+* '''Iopt''' was the Imp9 compiler modernised and ported to the ICL 29XX range. This was the most fully-featured version of Imp until Imp77 was created.
+* '''Skimp''' was a cut-down version of the language, at about the same level of complexity as Atlas Autocode, used for teaching compiler-writing to third-year computer science students at Edinburgh University. It was also used as a bootstrapping compiler when porting imp to new systems.
+* '''Imp15''' was an implementation of Imp for the PDP9 and PDP15 systems, which ran in 8K words (words being 18 bits).
+* '''Imp11''' was a version of Imp, bootstrapped through Skimp but implementing most of the language, written to support the PDP11 processors used at Edinburgh for the communications network.
+* '''Imp77''' was a full implementation of Imp supporting all language features, written by Peter Robertson of the Department of Computer Science in support of his PhD thesis on the subject of portable intermediate codes. Imp77 was adopted as the primary compiler of the Department of Computer Science at Edinburgh and made available on many architectures. Most Imp submissions to Rosetta Code will be in Imp77 because it is the only version of Imp remaining with a native compiler available (x86) although there are a few other architectures still usable under emulation. The current Imp77 compiler is a hobbyist revival and is to some extent still under development, lacking the extensive library support and runtime diagnostics that were present in Edinburgh University implementations.
+* '''Imp80''' was an attempt to merge Iopt and Imp77 into a common subset language, as the versions of Imp used by the Edinburgh Regional Computing Center and the Department of Computer Science had diverged sufficiently by 1980, that much code was not compatible between the two versions. The standardisation process that Imp80 started was never completed as Edinburgh abandoned the use of Imp in the 1980's, under political pressure to switch to using languages with a broader code base.
+
+==Overview==
+
+Imp is structurally very similar to Algol 60 except that instead of Algol's "name" parameters which implement a somewhat broken call-by-substitution mechanism, Imp uses call-by-reference, passing the address of a variable instead, and implicitly de-referencing such variables within a procedure, without requiring explicit syntax to access them as would be done in C for example.
+
+==Stropping==
+
+Imp uses keywords rather than reserved words, and in principle keywords in an Imp program are written with underlining. However this was seldom done in practise (in fact the last implementation to support underlining was back when the language was still called Atlas Autocode) and the convention used was that alphabetic sequences introduced by a '%' character were to be considered as being underlined, with the underlining terminating on the first non-alphabetic character. Imp compilers applied a 'line reconstruction' phase to their input, converting underlined letters into an internal representation distinct from regular letters, whilst removing all spaces (but not line endings) from the input other than within quoted strings and characters.
+
+It is however quite acceptable to show listings of Imp programs with underlined (or bold) keywords in place of %-stropped keywords.
+==Citation==
+
+==Todo==
+* [[Tasks not implemented in Imp77]]
+
+
+{{language programming paradigm|Imperative}}
\ No newline at end of file
diff --git a/Lang/Imp77/00-META.yaml b/Lang/Imp77/00-META.yaml
new file mode 100644
index 0000000000..382e836f84
--- /dev/null
+++ b/Lang/Imp77/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Imp77
diff --git a/Lang/Imp77/Towers-of-Hanoi b/Lang/Imp77/Towers-of-Hanoi
new file mode 120000
index 0000000000..9cf1e23a14
--- /dev/null
+++ b/Lang/Imp77/Towers-of-Hanoi
@@ -0,0 +1 @@
+../../Task/Towers-of-Hanoi/Imp77
\ No newline at end of file
diff --git a/Lang/Imp77/Trabb-Pardo-Knuth-algorithm b/Lang/Imp77/Trabb-Pardo-Knuth-algorithm
new file mode 120000
index 0000000000..974a19fbc9
--- /dev/null
+++ b/Lang/Imp77/Trabb-Pardo-Knuth-algorithm
@@ -0,0 +1 @@
+../../Task/Trabb-Pardo-Knuth-algorithm/Imp77
\ No newline at end of file
diff --git a/Lang/Insitux/00-LANG.txt b/Lang/Insitux/00-LANG.txt
index ffe7dc9e9e..b852a0706e 100644
--- a/Lang/Insitux/00-LANG.txt
+++ b/Lang/Insitux/00-LANG.txt
@@ -3,10 +3,8 @@
|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.
+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 now targets Node.js/Bun and client-side web.
-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.
+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; and improving language performance since dropping Roblox compatibility in 2024.
{{language programming paradigm|functional}}
\ No newline at end of file
diff --git a/Lang/Isabelle/Bernoulli-numbers b/Lang/Isabelle/Bernoulli-numbers
new file mode 120000
index 0000000000..73728f3564
--- /dev/null
+++ b/Lang/Isabelle/Bernoulli-numbers
@@ -0,0 +1 @@
+../../Task/Bernoulli-numbers/Isabelle
\ No newline at end of file
diff --git a/Lang/Isabelle/Catalan-numbers b/Lang/Isabelle/Catalan-numbers
new file mode 120000
index 0000000000..b2ce7b3a40
--- /dev/null
+++ b/Lang/Isabelle/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Isabelle
\ No newline at end of file
diff --git a/Lang/J/00-LANG.txt b/Lang/J/00-LANG.txt
index c3a67e79d5..5ca185b4f1 100644
--- a/Lang/J/00-LANG.txt
+++ b/Lang/J/00-LANG.txt
@@ -117,6 +117,7 @@ Discussion of the goals of the J community on RC and general guidelines for pres
*[[User:Lambertdw|David Lambert]]:[[Special:Contributions/Lambertdw|contributions]]
*[[User:JimTheriot|JimTheriot]]: [[Special:Contributions/JimTheriot|contributions]]
*[[User:DevonMcC|Devon McCormick]]: [[Special:Contributions/DevonMcC|contributions]]
+*[[User:Cchando|Cameron Chandoke]]: [[Special:Contributions/Cchando|contributions]], [[j:User:Cameron_Chandoke|J wiki]]
== Try me ==
diff --git a/Lang/J/Bioinformatics-base-count b/Lang/J/Bioinformatics-base-count
deleted file mode 120000
index 78c6127b60..0000000000
--- a/Lang/J/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/J
\ No newline at end of file
diff --git a/Lang/J/Meissel-Mertens-constant b/Lang/J/Meissel-Mertens-constant
deleted file mode 120000
index 04eb0042a3..0000000000
--- a/Lang/J/Meissel-Mertens-constant
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Meissel-Mertens-constant/J
\ No newline at end of file
diff --git a/Lang/J/Quaternion-type b/Lang/J/Quaternion-type
deleted file mode 120000
index 0868577467..0000000000
--- a/Lang/J/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/J
\ No newline at end of file
diff --git a/Lang/J/Sequence-nth-number-with-exactly-n-divisors b/Lang/J/Sequence:-nth-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/J/Sequence-nth-number-with-exactly-n-divisors
rename to Lang/J/Sequence:-nth-number-with-exactly-n-divisors
diff --git a/Lang/J/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/J/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/J/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/J/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/J/Sequence-smallest-number-with-exactly-n-divisors b/Lang/J/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/J/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/J/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/J/Sorting-Algorithms-Circle-Sort b/Lang/J/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index c9563959dd..0000000000
--- a/Lang/J/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/J
\ No newline at end of file
diff --git a/Lang/Jactl/00-LANG.txt b/Lang/Jactl/00-LANG.txt
new file mode 100644
index 0000000000..108b3303c1
--- /dev/null
+++ b/Lang/Jactl/00-LANG.txt
@@ -0,0 +1,8 @@
+{{stub}}{{language|Jactl}}
+
+Jactl is an open source scripting language that compiles to JVM byte-code.
+It can be run stand-alone or embedded in Java applications.
+
+Documentation site: https://jactl.io
+
+Github repository: https://github.com/jaccomoc/jactl
\ No newline at end of file
diff --git a/Lang/Jactl/00-META.yaml b/Lang/Jactl/00-META.yaml
new file mode 100644
index 0000000000..c4f2a6e6a8
--- /dev/null
+++ b/Lang/Jactl/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Jactl
diff --git a/Lang/Jactl/Apply-a-callback-to-an-array b/Lang/Jactl/Apply-a-callback-to-an-array
new file mode 120000
index 0000000000..0b25c16ea6
--- /dev/null
+++ b/Lang/Jactl/Apply-a-callback-to-an-array
@@ -0,0 +1 @@
+../../Task/Apply-a-callback-to-an-array/Jactl
\ No newline at end of file
diff --git a/Lang/Jactl/Associative-array-Creation b/Lang/Jactl/Associative-array-Creation
new file mode 120000
index 0000000000..df471994d0
--- /dev/null
+++ b/Lang/Jactl/Associative-array-Creation
@@ -0,0 +1 @@
+../../Task/Associative-array-Creation/Jactl
\ No newline at end of file
diff --git a/Lang/Jactl/Associative-array-Iteration b/Lang/Jactl/Associative-array-Iteration
new file mode 120000
index 0000000000..c89bf33985
--- /dev/null
+++ b/Lang/Jactl/Associative-array-Iteration
@@ -0,0 +1 @@
+../../Task/Associative-array-Iteration/Jactl
\ No newline at end of file
diff --git a/Lang/Jactl/Closures-Value-capture b/Lang/Jactl/Closures-Value-capture
new file mode 120000
index 0000000000..838f9ae309
--- /dev/null
+++ b/Lang/Jactl/Closures-Value-capture
@@ -0,0 +1 @@
+../../Task/Closures-Value-capture/Jactl
\ No newline at end of file
diff --git a/Lang/Jactl/Colorful-numbers b/Lang/Jactl/Colorful-numbers
new file mode 120000
index 0000000000..a03bdecce3
--- /dev/null
+++ b/Lang/Jactl/Colorful-numbers
@@ -0,0 +1 @@
+../../Task/Colorful-numbers/Jactl
\ No newline at end of file
diff --git a/Lang/Jactl/Fibonacci-sequence b/Lang/Jactl/Fibonacci-sequence
new file mode 120000
index 0000000000..6763bcee23
--- /dev/null
+++ b/Lang/Jactl/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/Jactl
\ No newline at end of file
diff --git a/Lang/Jactl/FizzBuzz b/Lang/Jactl/FizzBuzz
new file mode 120000
index 0000000000..fd8d004ee0
--- /dev/null
+++ b/Lang/Jactl/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Jactl
\ No newline at end of file
diff --git a/Lang/Jactl/Hello-world-Newline-omission b/Lang/Jactl/Hello-world-Newline-omission
new file mode 120000
index 0000000000..d612b43ea9
--- /dev/null
+++ b/Lang/Jactl/Hello-world-Newline-omission
@@ -0,0 +1 @@
+../../Task/Hello-world-Newline-omission/Jactl
\ No newline at end of file
diff --git a/Lang/Jactl/Hello-world-Text b/Lang/Jactl/Hello-world-Text
new file mode 120000
index 0000000000..fba754494d
--- /dev/null
+++ b/Lang/Jactl/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Jactl
\ No newline at end of file
diff --git a/Lang/Jactl/Loop-over-multiple-arrays-simultaneously b/Lang/Jactl/Loop-over-multiple-arrays-simultaneously
new file mode 120000
index 0000000000..208e0c484c
--- /dev/null
+++ b/Lang/Jactl/Loop-over-multiple-arrays-simultaneously
@@ -0,0 +1 @@
+../../Task/Loop-over-multiple-arrays-simultaneously/Jactl
\ No newline at end of file
diff --git a/Lang/Jactl/Loops-Break b/Lang/Jactl/Loops-Break
new file mode 120000
index 0000000000..e1f4382462
--- /dev/null
+++ b/Lang/Jactl/Loops-Break
@@ -0,0 +1 @@
+../../Task/Loops-Break/Jactl
\ No newline at end of file
diff --git a/Lang/Jactl/Loops-Continue b/Lang/Jactl/Loops-Continue
new file mode 120000
index 0000000000..d7062f586e
--- /dev/null
+++ b/Lang/Jactl/Loops-Continue
@@ -0,0 +1 @@
+../../Task/Loops-Continue/Jactl
\ No newline at end of file
diff --git a/Lang/Jactl/Loops-Do-while b/Lang/Jactl/Loops-Do-while
new file mode 120000
index 0000000000..70f4e6642c
--- /dev/null
+++ b/Lang/Jactl/Loops-Do-while
@@ -0,0 +1 @@
+../../Task/Loops-Do-while/Jactl
\ No newline at end of file
diff --git a/Lang/Jactl/Loops-Downward-for b/Lang/Jactl/Loops-Downward-for
new file mode 120000
index 0000000000..e955b7c7cb
--- /dev/null
+++ b/Lang/Jactl/Loops-Downward-for
@@ -0,0 +1 @@
+../../Task/Loops-Downward-for/Jactl
\ No newline at end of file
diff --git a/Lang/Jactl/Loops-For b/Lang/Jactl/Loops-For
new file mode 120000
index 0000000000..69ac8efd8b
--- /dev/null
+++ b/Lang/Jactl/Loops-For
@@ -0,0 +1 @@
+../../Task/Loops-For/Jactl
\ No newline at end of file
diff --git a/Lang/Jactl/Loops-For-with-a-specified-step b/Lang/Jactl/Loops-For-with-a-specified-step
new file mode 120000
index 0000000000..cc4794f4cd
--- /dev/null
+++ b/Lang/Jactl/Loops-For-with-a-specified-step
@@ -0,0 +1 @@
+../../Task/Loops-For-with-a-specified-step/Jactl
\ No newline at end of file
diff --git a/Lang/Jactl/Loops-Foreach b/Lang/Jactl/Loops-Foreach
new file mode 120000
index 0000000000..5acefa1624
--- /dev/null
+++ b/Lang/Jactl/Loops-Foreach
@@ -0,0 +1 @@
+../../Task/Loops-Foreach/Jactl
\ No newline at end of file
diff --git a/Lang/Jactl/Loops-Increment-loop-index-within-loop-body b/Lang/Jactl/Loops-Increment-loop-index-within-loop-body
new file mode 120000
index 0000000000..db9efe2bf3
--- /dev/null
+++ b/Lang/Jactl/Loops-Increment-loop-index-within-loop-body
@@ -0,0 +1 @@
+../../Task/Loops-Increment-loop-index-within-loop-body/Jactl
\ No newline at end of file
diff --git a/Lang/Jactl/Loops-Infinite b/Lang/Jactl/Loops-Infinite
new file mode 120000
index 0000000000..7f2c46419c
--- /dev/null
+++ b/Lang/Jactl/Loops-Infinite
@@ -0,0 +1 @@
+../../Task/Loops-Infinite/Jactl
\ No newline at end of file
diff --git a/Lang/Jactl/Loops-N-plus-one-half b/Lang/Jactl/Loops-N-plus-one-half
new file mode 120000
index 0000000000..03de5e2ce5
--- /dev/null
+++ b/Lang/Jactl/Loops-N-plus-one-half
@@ -0,0 +1 @@
+../../Task/Loops-N-plus-one-half/Jactl
\ No newline at end of file
diff --git a/Lang/Jactl/Loops-Nested b/Lang/Jactl/Loops-Nested
new file mode 120000
index 0000000000..4ee2958398
--- /dev/null
+++ b/Lang/Jactl/Loops-Nested
@@ -0,0 +1 @@
+../../Task/Loops-Nested/Jactl
\ No newline at end of file
diff --git a/Lang/Jactl/Loops-While b/Lang/Jactl/Loops-While
new file mode 120000
index 0000000000..306a1e9dea
--- /dev/null
+++ b/Lang/Jactl/Loops-While
@@ -0,0 +1 @@
+../../Task/Loops-While/Jactl
\ No newline at end of file
diff --git a/Lang/Jactl/Selectively-replace-multiple-instances-of-a-character-within-a-string b/Lang/Jactl/Selectively-replace-multiple-instances-of-a-character-within-a-string
new file mode 120000
index 0000000000..5c89cea762
--- /dev/null
+++ b/Lang/Jactl/Selectively-replace-multiple-instances-of-a-character-within-a-string
@@ -0,0 +1 @@
+../../Task/Selectively-replace-multiple-instances-of-a-character-within-a-string/Jactl
\ No newline at end of file
diff --git a/Lang/Jactl/Sorting-algorithms-Merge-sort b/Lang/Jactl/Sorting-algorithms-Merge-sort
new file mode 120000
index 0000000000..f5d29cd0bd
--- /dev/null
+++ b/Lang/Jactl/Sorting-algorithms-Merge-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Merge-sort/Jactl
\ No newline at end of file
diff --git a/Lang/Jactl/Sorting-algorithms-Quicksort b/Lang/Jactl/Sorting-algorithms-Quicksort
new file mode 120000
index 0000000000..6ebc4a30df
--- /dev/null
+++ b/Lang/Jactl/Sorting-algorithms-Quicksort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Quicksort/Jactl
\ No newline at end of file
diff --git a/Lang/Jactl/String-interpolation-included- b/Lang/Jactl/String-interpolation-included-
new file mode 120000
index 0000000000..4aeb71ddbe
--- /dev/null
+++ b/Lang/Jactl/String-interpolation-included-
@@ -0,0 +1 @@
+../../Task/String-interpolation-included-/Jactl
\ No newline at end of file
diff --git a/Lang/Janet/Check-input-device-is-a-terminal b/Lang/Janet/Check-input-device-is-a-terminal
new file mode 120000
index 0000000000..2a4f62bb71
--- /dev/null
+++ b/Lang/Janet/Check-input-device-is-a-terminal
@@ -0,0 +1 @@
+../../Task/Check-input-device-is-a-terminal/Janet
\ No newline at end of file
diff --git a/Lang/Janet/Check-output-device-is-a-terminal b/Lang/Janet/Check-output-device-is-a-terminal
new file mode 120000
index 0000000000..8405e395e2
--- /dev/null
+++ b/Lang/Janet/Check-output-device-is-a-terminal
@@ -0,0 +1 @@
+../../Task/Check-output-device-is-a-terminal/Janet
\ No newline at end of file
diff --git a/Lang/Janet/Comments b/Lang/Janet/Comments
new file mode 120000
index 0000000000..b5297d4f4d
--- /dev/null
+++ b/Lang/Janet/Comments
@@ -0,0 +1 @@
+../../Task/Comments/Janet
\ No newline at end of file
diff --git a/Lang/Janet/Determine-if-a-string-has-all-the-same-characters b/Lang/Janet/Determine-if-a-string-has-all-the-same-characters
new file mode 120000
index 0000000000..361efcff47
--- /dev/null
+++ b/Lang/Janet/Determine-if-a-string-has-all-the-same-characters
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-has-all-the-same-characters/Janet
\ No newline at end of file
diff --git a/Lang/Janet/Environment-variables b/Lang/Janet/Environment-variables
new file mode 120000
index 0000000000..7f09b690ca
--- /dev/null
+++ b/Lang/Janet/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Janet
\ No newline at end of file
diff --git a/Lang/Janet/Loops-Infinite b/Lang/Janet/Loops-Infinite
new file mode 120000
index 0000000000..6c4ed476ed
--- /dev/null
+++ b/Lang/Janet/Loops-Infinite
@@ -0,0 +1 @@
+../../Task/Loops-Infinite/Janet
\ No newline at end of file
diff --git a/Lang/Janet/Nested-function b/Lang/Janet/Nested-function
new file mode 120000
index 0000000000..cc57c8a9fa
--- /dev/null
+++ b/Lang/Janet/Nested-function
@@ -0,0 +1 @@
+../../Task/Nested-function/Janet
\ No newline at end of file
diff --git a/Lang/Janet/Partial-function-application b/Lang/Janet/Partial-function-application
new file mode 120000
index 0000000000..2936ce5923
--- /dev/null
+++ b/Lang/Janet/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/Janet
\ No newline at end of file
diff --git a/Lang/Janet/Short-circuit-evaluation b/Lang/Janet/Short-circuit-evaluation
new file mode 120000
index 0000000000..c41f99f9ac
--- /dev/null
+++ b/Lang/Janet/Short-circuit-evaluation
@@ -0,0 +1 @@
+../../Task/Short-circuit-evaluation/Janet
\ No newline at end of file
diff --git a/Lang/Janet/Sum-and-product-of-an-array b/Lang/Janet/Sum-and-product-of-an-array
new file mode 120000
index 0000000000..798628772b
--- /dev/null
+++ b/Lang/Janet/Sum-and-product-of-an-array
@@ -0,0 +1 @@
+../../Task/Sum-and-product-of-an-array/Janet
\ No newline at end of file
diff --git a/Lang/Java/00-LANG.txt b/Lang/Java/00-LANG.txt
index 72a980a538..9df12a7429 100644
--- a/Lang/Java/00-LANG.txt
+++ b/Lang/Java/00-LANG.txt
@@ -41,4 +41,4 @@ Useful Java links:
* [http://openjdk.java.net OpenJDK]
==Todo==
-[[Reports:Tasks_not_implemented_in_Java]]
\ No newline at end of file
+[https://rosettacode.org/wiki/Tasks_not_implemented_in_Java Tasks not implemented in Java]
\ No newline at end of file
diff --git a/Lang/Java/Arena-storage-pool b/Lang/Java/Arena-storage-pool
new file mode 120000
index 0000000000..11592b83c1
--- /dev/null
+++ b/Lang/Java/Arena-storage-pool
@@ -0,0 +1 @@
+../../Task/Arena-storage-pool/Java
\ No newline at end of file
diff --git a/Lang/Java/Bioinformatics-base-count b/Lang/Java/Bioinformatics-base-count
deleted file mode 120000
index a3d5761560..0000000000
--- a/Lang/Java/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/Java
\ No newline at end of file
diff --git a/Lang/Java/Bitcoin-public-point-to-address b/Lang/Java/Bitcoin-public-point-to-address
new file mode 120000
index 0000000000..cbdcab404f
--- /dev/null
+++ b/Lang/Java/Bitcoin-public-point-to-address
@@ -0,0 +1 @@
+../../Task/Bitcoin-public-point-to-address/Java
\ No newline at end of file
diff --git a/Lang/Java/Bitwise-IO b/Lang/Java/Bitwise-IO
new file mode 120000
index 0000000000..91887eddd0
--- /dev/null
+++ b/Lang/Java/Bitwise-IO
@@ -0,0 +1 @@
+../../Task/Bitwise-IO/Java
\ No newline at end of file
diff --git a/Lang/Java/Catmull-Clark-subdivision-surface b/Lang/Java/Catmull-Clark-subdivision-surface
new file mode 120000
index 0000000000..cc0173bf86
--- /dev/null
+++ b/Lang/Java/Catmull-Clark-subdivision-surface
@@ -0,0 +1 @@
+../../Task/Catmull-Clark-subdivision-surface/Java
\ No newline at end of file
diff --git a/Lang/Java/Check-output-device-is-a-terminal b/Lang/Java/Check-output-device-is-a-terminal
new file mode 120000
index 0000000000..f5afcf5e18
--- /dev/null
+++ b/Lang/Java/Check-output-device-is-a-terminal
@@ -0,0 +1 @@
+../../Task/Check-output-device-is-a-terminal/Java
\ No newline at end of file
diff --git a/Lang/Java/Compare-sorting-algorithms-performance b/Lang/Java/Compare-sorting-algorithms-performance
new file mode 120000
index 0000000000..1c312e8af3
--- /dev/null
+++ b/Lang/Java/Compare-sorting-algorithms-performance
@@ -0,0 +1 @@
+../../Task/Compare-sorting-algorithms-performance/Java
\ No newline at end of file
diff --git a/Lang/Java/Compiler-virtual-machine-interpreter b/Lang/Java/Compiler-virtual-machine-interpreter
new file mode 120000
index 0000000000..8a6c333099
--- /dev/null
+++ b/Lang/Java/Compiler-virtual-machine-interpreter
@@ -0,0 +1 @@
+../../Task/Compiler-virtual-machine-interpreter/Java
\ No newline at end of file
diff --git a/Lang/Java/Cyclops-numbers b/Lang/Java/Cyclops-numbers
new file mode 120000
index 0000000000..2d9674ea30
--- /dev/null
+++ b/Lang/Java/Cyclops-numbers
@@ -0,0 +1 @@
+../../Task/Cyclops-numbers/Java
\ No newline at end of file
diff --git a/Lang/Java/Deconvolution-2D+ b/Lang/Java/Deconvolution-2D+
new file mode 120000
index 0000000000..a4641fed07
--- /dev/null
+++ b/Lang/Java/Deconvolution-2D+
@@ -0,0 +1 @@
+../../Task/Deconvolution-2D+/Java
\ No newline at end of file
diff --git a/Lang/Java/Dominoes b/Lang/Java/Dominoes
new file mode 120000
index 0000000000..f00d194617
--- /dev/null
+++ b/Lang/Java/Dominoes
@@ -0,0 +1 @@
+../../Task/Dominoes/Java
\ No newline at end of file
diff --git a/Lang/Java/Events b/Lang/Java/Events
new file mode 120000
index 0000000000..c4d1c5d403
--- /dev/null
+++ b/Lang/Java/Events
@@ -0,0 +1 @@
+../../Task/Events/Java
\ No newline at end of file
diff --git a/Lang/Java/Fixed-length-records b/Lang/Java/Fixed-length-records
new file mode 120000
index 0000000000..8506be253e
--- /dev/null
+++ b/Lang/Java/Fixed-length-records
@@ -0,0 +1 @@
+../../Task/Fixed-length-records/Java
\ No newline at end of file
diff --git a/Lang/Java/French-Republican-calendar b/Lang/Java/French-Republican-calendar
new file mode 120000
index 0000000000..2451cb085a
--- /dev/null
+++ b/Lang/Java/French-Republican-calendar
@@ -0,0 +1 @@
+../../Task/French-Republican-calendar/Java
\ No newline at end of file
diff --git a/Lang/Java/Im-a-software-engineer-get-me-out-of-here b/Lang/Java/Im-a-software-engineer-get-me-out-of-here
new file mode 120000
index 0000000000..5e4c7fd308
--- /dev/null
+++ b/Lang/Java/Im-a-software-engineer-get-me-out-of-here
@@ -0,0 +1 @@
+../../Task/Im-a-software-engineer-get-me-out-of-here/Java
\ No newline at end of file
diff --git a/Lang/Java/Matrix-exponentiation-operator b/Lang/Java/Matrix-exponentiation-operator
new file mode 120000
index 0000000000..e07ce3d287
--- /dev/null
+++ b/Lang/Java/Matrix-exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Matrix-exponentiation-operator/Java
\ No newline at end of file
diff --git a/Lang/Java/Meissel-Mertens-constant b/Lang/Java/Meissel-Mertens-constant
deleted file mode 120000
index f7dce3ca3d..0000000000
--- a/Lang/Java/Meissel-Mertens-constant
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Meissel-Mertens-constant/Java
\ No newline at end of file
diff --git a/Lang/Java/Miller-Rabin-primality-test b/Lang/Java/Miller-Rabin-primality-test
deleted file mode 120000
index 5708188da1..0000000000
--- a/Lang/Java/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Java
\ No newline at end of file
diff --git a/Lang/Java/Natural-sorting b/Lang/Java/Natural-sorting
new file mode 120000
index 0000000000..9f37ed8709
--- /dev/null
+++ b/Lang/Java/Natural-sorting
@@ -0,0 +1 @@
+../../Task/Natural-sorting/Java
\ No newline at end of file
diff --git a/Lang/Java/Nested-templated-data b/Lang/Java/Nested-templated-data
new file mode 120000
index 0000000000..ffed37deff
--- /dev/null
+++ b/Lang/Java/Nested-templated-data
@@ -0,0 +1 @@
+../../Task/Nested-templated-data/Java
\ No newline at end of file
diff --git a/Lang/Java/Numerical-and-alphabetical-suffixes b/Lang/Java/Numerical-and-alphabetical-suffixes
new file mode 120000
index 0000000000..b77e52fdf7
--- /dev/null
+++ b/Lang/Java/Numerical-and-alphabetical-suffixes
@@ -0,0 +1 @@
+../../Task/Numerical-and-alphabetical-suffixes/Java
\ No newline at end of file
diff --git a/Lang/Java/P-Adic-square-roots b/Lang/Java/P-Adic-square-roots
new file mode 120000
index 0000000000..768922bdbb
--- /dev/null
+++ b/Lang/Java/P-Adic-square-roots
@@ -0,0 +1 @@
+../../Task/P-Adic-square-roots/Java
\ No newline at end of file
diff --git a/Lang/Java/Quaternion-type b/Lang/Java/Quaternion-type
deleted file mode 120000
index 3cf154640d..0000000000
--- a/Lang/Java/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Java
\ No newline at end of file
diff --git a/Lang/Java/Rendezvous b/Lang/Java/Rendezvous
new file mode 120000
index 0000000000..b182a3392e
--- /dev/null
+++ b/Lang/Java/Rendezvous
@@ -0,0 +1 @@
+../../Task/Rendezvous/Java
\ No newline at end of file
diff --git a/Lang/Java/Sequence-nth-number-with-exactly-n-divisors b/Lang/Java/Sequence:-nth-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Java/Sequence-nth-number-with-exactly-n-divisors
rename to Lang/Java/Sequence:-nth-number-with-exactly-n-divisors
diff --git a/Lang/Java/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/Java/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/Java/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/Java/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/Java/Sequence-smallest-number-with-exactly-n-divisors b/Lang/Java/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Java/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/Java/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/Java/Sorting-Algorithms-Circle-Sort b/Lang/Java/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index 2c7141e7c3..0000000000
--- a/Lang/Java/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/Java
\ No newline at end of file
diff --git a/Lang/Java/Strassens-algorithm b/Lang/Java/Strassens-algorithm
new file mode 120000
index 0000000000..1c8b3f279b
--- /dev/null
+++ b/Lang/Java/Strassens-algorithm
@@ -0,0 +1 @@
+../../Task/Strassens-algorithm/Java
\ No newline at end of file
diff --git a/Lang/Java/Suffixation-of-decimal-numbers b/Lang/Java/Suffixation-of-decimal-numbers
new file mode 120000
index 0000000000..a2b82d2da9
--- /dev/null
+++ b/Lang/Java/Suffixation-of-decimal-numbers
@@ -0,0 +1 @@
+../../Task/Suffixation-of-decimal-numbers/Java
\ No newline at end of file
diff --git a/Lang/Java/Sylvesters-sequence b/Lang/Java/Sylvesters-sequence
new file mode 120000
index 0000000000..6dfb05d095
--- /dev/null
+++ b/Lang/Java/Sylvesters-sequence
@@ -0,0 +1 @@
+../../Task/Sylvesters-sequence/Java
\ No newline at end of file
diff --git a/Lang/Java/Topic-variable b/Lang/Java/Topic-variable
new file mode 120000
index 0000000000..25c03be6d5
--- /dev/null
+++ b/Lang/Java/Topic-variable
@@ -0,0 +1 @@
+../../Task/Topic-variable/Java
\ No newline at end of file
diff --git a/Lang/Java/Untouchable-numbers b/Lang/Java/Untouchable-numbers
new file mode 120000
index 0000000000..4fdd94665a
--- /dev/null
+++ b/Lang/Java/Untouchable-numbers
@@ -0,0 +1 @@
+../../Task/Untouchable-numbers/Java
\ No newline at end of file
diff --git a/Lang/JavaScript/15-puzzle-solver b/Lang/JavaScript/15-puzzle-solver
new file mode 120000
index 0000000000..34b980cd29
--- /dev/null
+++ b/Lang/JavaScript/15-puzzle-solver
@@ -0,0 +1 @@
+../../Task/15-puzzle-solver/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/ADFGVX-cipher b/Lang/JavaScript/ADFGVX-cipher
new file mode 120000
index 0000000000..eeef4038b2
--- /dev/null
+++ b/Lang/JavaScript/ADFGVX-cipher
@@ -0,0 +1 @@
+../../Task/ADFGVX-cipher/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Achilles-numbers b/Lang/JavaScript/Achilles-numbers
new file mode 120000
index 0000000000..0c343baad5
--- /dev/null
+++ b/Lang/JavaScript/Achilles-numbers
@@ -0,0 +1 @@
+../../Task/Achilles-numbers/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Aliquot-sequence-classifications b/Lang/JavaScript/Aliquot-sequence-classifications
new file mode 120000
index 0000000000..5043f9bf29
--- /dev/null
+++ b/Lang/JavaScript/Aliquot-sequence-classifications
@@ -0,0 +1 @@
+../../Task/Aliquot-sequence-classifications/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Arithmetic-geometric-mean-Calculate-Pi b/Lang/JavaScript/Arithmetic-geometric-mean-Calculate-Pi
new file mode 120000
index 0000000000..28dcd16b9c
--- /dev/null
+++ b/Lang/JavaScript/Arithmetic-geometric-mean-Calculate-Pi
@@ -0,0 +1 @@
+../../Task/Arithmetic-geometric-mean-Calculate-Pi/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Arithmetic-numbers b/Lang/JavaScript/Arithmetic-numbers
new file mode 120000
index 0000000000..ca8b16d782
--- /dev/null
+++ b/Lang/JavaScript/Arithmetic-numbers
@@ -0,0 +1 @@
+../../Task/Arithmetic-numbers/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Average-loop-length b/Lang/JavaScript/Average-loop-length
new file mode 120000
index 0000000000..c1bd894dc5
--- /dev/null
+++ b/Lang/JavaScript/Average-loop-length
@@ -0,0 +1 @@
+../../Task/Average-loop-length/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/B-zier-curves-Intersections b/Lang/JavaScript/B-zier-curves-Intersections
new file mode 120000
index 0000000000..e14b622f07
--- /dev/null
+++ b/Lang/JavaScript/B-zier-curves-Intersections
@@ -0,0 +1 @@
+../../Task/B-zier-curves-Intersections/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Babylonian-spiral b/Lang/JavaScript/Babylonian-spiral
new file mode 120000
index 0000000000..c1ab7a098f
--- /dev/null
+++ b/Lang/JavaScript/Babylonian-spiral
@@ -0,0 +1 @@
+../../Task/Babylonian-spiral/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Balanced-ternary b/Lang/JavaScript/Balanced-ternary
new file mode 120000
index 0000000000..c71298b653
--- /dev/null
+++ b/Lang/JavaScript/Balanced-ternary
@@ -0,0 +1 @@
+../../Task/Balanced-ternary/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Bell-numbers b/Lang/JavaScript/Bell-numbers
new file mode 120000
index 0000000000..d4be94731e
--- /dev/null
+++ b/Lang/JavaScript/Bell-numbers
@@ -0,0 +1 @@
+../../Task/Bell-numbers/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Bernoulli-numbers b/Lang/JavaScript/Bernoulli-numbers
new file mode 120000
index 0000000000..96368f729e
--- /dev/null
+++ b/Lang/JavaScript/Bernoulli-numbers
@@ -0,0 +1 @@
+../../Task/Bernoulli-numbers/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Bifid-cipher b/Lang/JavaScript/Bifid-cipher
new file mode 120000
index 0000000000..837e122e66
--- /dev/null
+++ b/Lang/JavaScript/Bifid-cipher
@@ -0,0 +1 @@
+../../Task/Bifid-cipher/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Bioinformatics-base-count b/Lang/JavaScript/Bioinformatics-base-count
deleted file mode 120000
index 033fba4ffa..0000000000
--- a/Lang/JavaScript/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Bitcoin-address-validation b/Lang/JavaScript/Bitcoin-address-validation
new file mode 120000
index 0000000000..d09d433cd8
--- /dev/null
+++ b/Lang/JavaScript/Bitcoin-address-validation
@@ -0,0 +1 @@
+../../Task/Bitcoin-address-validation/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Bitcoin-public-point-to-address b/Lang/JavaScript/Bitcoin-public-point-to-address
new file mode 120000
index 0000000000..c3f037151b
--- /dev/null
+++ b/Lang/JavaScript/Bitcoin-public-point-to-address
@@ -0,0 +1 @@
+../../Task/Bitcoin-public-point-to-address/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Boyer-Moore-string-search b/Lang/JavaScript/Boyer-Moore-string-search
new file mode 120000
index 0000000000..b25016942d
--- /dev/null
+++ b/Lang/JavaScript/Boyer-Moore-string-search
@@ -0,0 +1 @@
+../../Task/Boyer-Moore-string-search/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Brazilian-numbers b/Lang/JavaScript/Brazilian-numbers
new file mode 120000
index 0000000000..a5d5cf431a
--- /dev/null
+++ b/Lang/JavaScript/Brazilian-numbers
@@ -0,0 +1 @@
+../../Task/Brazilian-numbers/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Break-OO-privacy b/Lang/JavaScript/Break-OO-privacy
new file mode 120000
index 0000000000..085d7969ff
--- /dev/null
+++ b/Lang/JavaScript/Break-OO-privacy
@@ -0,0 +1 @@
+../../Task/Break-OO-privacy/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Brilliant-numbers b/Lang/JavaScript/Brilliant-numbers
new file mode 120000
index 0000000000..447591badd
--- /dev/null
+++ b/Lang/JavaScript/Brilliant-numbers
@@ -0,0 +1 @@
+../../Task/Brilliant-numbers/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Burrows-Wheeler-transform b/Lang/JavaScript/Burrows-Wheeler-transform
new file mode 120000
index 0000000000..79a79f877d
--- /dev/null
+++ b/Lang/JavaScript/Burrows-Wheeler-transform
@@ -0,0 +1 @@
+../../Task/Burrows-Wheeler-transform/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Calkin-Wilf-sequence b/Lang/JavaScript/Calkin-Wilf-sequence
new file mode 120000
index 0000000000..3eaf3f5375
--- /dev/null
+++ b/Lang/JavaScript/Calkin-Wilf-sequence
@@ -0,0 +1 @@
+../../Task/Calkin-Wilf-sequence/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Camel-case-and-snake-case b/Lang/JavaScript/Camel-case-and-snake-case
new file mode 120000
index 0000000000..0e52d396b8
--- /dev/null
+++ b/Lang/JavaScript/Camel-case-and-snake-case
@@ -0,0 +1 @@
+../../Task/Camel-case-and-snake-case/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Carmichael-3-strong-pseudoprimes b/Lang/JavaScript/Carmichael-3-strong-pseudoprimes
new file mode 120000
index 0000000000..a3d0ffd992
--- /dev/null
+++ b/Lang/JavaScript/Carmichael-3-strong-pseudoprimes
@@ -0,0 +1 @@
+../../Task/Carmichael-3-strong-pseudoprimes/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Catmull-Clark-subdivision-surface b/Lang/JavaScript/Catmull-Clark-subdivision-surface
new file mode 120000
index 0000000000..40bf4ef0fc
--- /dev/null
+++ b/Lang/JavaScript/Catmull-Clark-subdivision-surface
@@ -0,0 +1 @@
+../../Task/Catmull-Clark-subdivision-surface/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Check-output-device-is-a-terminal b/Lang/JavaScript/Check-output-device-is-a-terminal
new file mode 120000
index 0000000000..0efca1a6ff
--- /dev/null
+++ b/Lang/JavaScript/Check-output-device-is-a-terminal
@@ -0,0 +1 @@
+../../Task/Check-output-device-is-a-terminal/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Checkpoint-synchronization b/Lang/JavaScript/Checkpoint-synchronization
new file mode 120000
index 0000000000..cf18aef6aa
--- /dev/null
+++ b/Lang/JavaScript/Checkpoint-synchronization
@@ -0,0 +1 @@
+../../Task/Checkpoint-synchronization/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Chernicks-Carmichael-numbers b/Lang/JavaScript/Chernicks-Carmichael-numbers
new file mode 120000
index 0000000000..45e47ff0f0
--- /dev/null
+++ b/Lang/JavaScript/Chernicks-Carmichael-numbers
@@ -0,0 +1 @@
+../../Task/Chernicks-Carmichael-numbers/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Chowla-numbers b/Lang/JavaScript/Chowla-numbers
new file mode 120000
index 0000000000..44b573de9f
--- /dev/null
+++ b/Lang/JavaScript/Chowla-numbers
@@ -0,0 +1 @@
+../../Task/Chowla-numbers/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Circular-primes b/Lang/JavaScript/Circular-primes
new file mode 120000
index 0000000000..ce0d83b0b4
--- /dev/null
+++ b/Lang/JavaScript/Circular-primes
@@ -0,0 +1 @@
+../../Task/Circular-primes/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Colorful-numbers b/Lang/JavaScript/Colorful-numbers
new file mode 120000
index 0000000000..861658de92
--- /dev/null
+++ b/Lang/JavaScript/Colorful-numbers
@@ -0,0 +1 @@
+../../Task/Colorful-numbers/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Commatizing-numbers b/Lang/JavaScript/Commatizing-numbers
new file mode 120000
index 0000000000..dac4a7f279
--- /dev/null
+++ b/Lang/JavaScript/Commatizing-numbers
@@ -0,0 +1 @@
+../../Task/Commatizing-numbers/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Compiler-code-generator b/Lang/JavaScript/Compiler-code-generator
new file mode 120000
index 0000000000..7b6f8e25b0
--- /dev/null
+++ b/Lang/JavaScript/Compiler-code-generator
@@ -0,0 +1 @@
+../../Task/Compiler-code-generator/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Composite-numbers-k-with-no-single-digit-factors-whose-factors-are-all-substrings-of-k b/Lang/JavaScript/Composite-numbers-k-with-no-single-digit-factors-whose-factors-are-all-substrings-of-k
new file mode 120000
index 0000000000..2b7b501bb6
--- /dev/null
+++ b/Lang/JavaScript/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/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Continued-fraction b/Lang/JavaScript/Continued-fraction
new file mode 120000
index 0000000000..73bc586c57
--- /dev/null
+++ b/Lang/JavaScript/Continued-fraction
@@ -0,0 +1 @@
+../../Task/Continued-fraction/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Continued-fraction-Arithmetic-Construct-from-rational-number b/Lang/JavaScript/Continued-fraction-Arithmetic-Construct-from-rational-number
new file mode 120000
index 0000000000..b87cd7b6a5
--- /dev/null
+++ b/Lang/JavaScript/Continued-fraction-Arithmetic-Construct-from-rational-number
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-Construct-from-rational-number/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n- b/Lang/JavaScript/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n-
new file mode 120000
index 0000000000..95862446c9
--- /dev/null
+++ b/Lang/JavaScript/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n-
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n-/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Create-a-file-on-magnetic-tape b/Lang/JavaScript/Create-a-file-on-magnetic-tape
new file mode 120000
index 0000000000..0f15206dcf
--- /dev/null
+++ b/Lang/JavaScript/Create-a-file-on-magnetic-tape
@@ -0,0 +1 @@
+../../Task/Create-a-file-on-magnetic-tape/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Cuban-primes b/Lang/JavaScript/Cuban-primes
new file mode 120000
index 0000000000..4659a4500f
--- /dev/null
+++ b/Lang/JavaScript/Cuban-primes
@@ -0,0 +1 @@
+../../Task/Cuban-primes/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Cullen-and-Woodall-numbers b/Lang/JavaScript/Cullen-and-Woodall-numbers
new file mode 120000
index 0000000000..7d700fedb9
--- /dev/null
+++ b/Lang/JavaScript/Cullen-and-Woodall-numbers
@@ -0,0 +1 @@
+../../Task/Cullen-and-Woodall-numbers/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Curzon-numbers b/Lang/JavaScript/Curzon-numbers
new file mode 120000
index 0000000000..5d5da06bda
--- /dev/null
+++ b/Lang/JavaScript/Curzon-numbers
@@ -0,0 +1 @@
+../../Task/Curzon-numbers/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Cyclops-numbers b/Lang/JavaScript/Cyclops-numbers
new file mode 120000
index 0000000000..6c3c7fc0d0
--- /dev/null
+++ b/Lang/JavaScript/Cyclops-numbers
@@ -0,0 +1 @@
+../../Task/Cyclops-numbers/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Cyclotomic-polynomial b/Lang/JavaScript/Cyclotomic-polynomial
new file mode 120000
index 0000000000..1407b6559c
--- /dev/null
+++ b/Lang/JavaScript/Cyclotomic-polynomial
@@ -0,0 +1 @@
+../../Task/Cyclotomic-polynomial/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/De-Bruijn-sequences b/Lang/JavaScript/De-Bruijn-sequences
new file mode 120000
index 0000000000..d753d9f9d0
--- /dev/null
+++ b/Lang/JavaScript/De-Bruijn-sequences
@@ -0,0 +1 @@
+../../Task/De-Bruijn-sequences/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Deconvolution-1D b/Lang/JavaScript/Deconvolution-1D
new file mode 120000
index 0000000000..719c208ec2
--- /dev/null
+++ b/Lang/JavaScript/Deconvolution-1D
@@ -0,0 +1 @@
+../../Task/Deconvolution-1D/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Deconvolution-2D+ b/Lang/JavaScript/Deconvolution-2D+
new file mode 120000
index 0000000000..61f93d9cd6
--- /dev/null
+++ b/Lang/JavaScript/Deconvolution-2D+
@@ -0,0 +1 @@
+../../Task/Deconvolution-2D+/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Demings-funnel b/Lang/JavaScript/Demings-funnel
new file mode 120000
index 0000000000..6225280d4a
--- /dev/null
+++ b/Lang/JavaScript/Demings-funnel
@@ -0,0 +1 @@
+../../Task/Demings-funnel/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Digital-root-Multiplicative-digital-root b/Lang/JavaScript/Digital-root-Multiplicative-digital-root
new file mode 120000
index 0000000000..6bac52bd37
--- /dev/null
+++ b/Lang/JavaScript/Digital-root-Multiplicative-digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root-Multiplicative-digital-root/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Display-a-linear-combination b/Lang/JavaScript/Display-a-linear-combination
new file mode 120000
index 0000000000..4b7084cb84
--- /dev/null
+++ b/Lang/JavaScript/Display-a-linear-combination
@@ -0,0 +1 @@
+../../Task/Display-a-linear-combination/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Distribution-of-0-digits-in-factorial-series b/Lang/JavaScript/Distribution-of-0-digits-in-factorial-series
new file mode 120000
index 0000000000..3fd7f0feb5
--- /dev/null
+++ b/Lang/JavaScript/Distribution-of-0-digits-in-factorial-series
@@ -0,0 +1 @@
+../../Task/Distribution-of-0-digits-in-factorial-series/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Dominoes b/Lang/JavaScript/Dominoes
new file mode 120000
index 0000000000..240a06d327
--- /dev/null
+++ b/Lang/JavaScript/Dominoes
@@ -0,0 +1 @@
+../../Task/Dominoes/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Doomsday-rule b/Lang/JavaScript/Doomsday-rule
new file mode 120000
index 0000000000..53e067c157
--- /dev/null
+++ b/Lang/JavaScript/Doomsday-rule
@@ -0,0 +1 @@
+../../Task/Doomsday-rule/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Duffinian-numbers b/Lang/JavaScript/Duffinian-numbers
new file mode 120000
index 0000000000..852d875370
--- /dev/null
+++ b/Lang/JavaScript/Duffinian-numbers
@@ -0,0 +1 @@
+../../Task/Duffinian-numbers/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/EKG-sequence-convergence b/Lang/JavaScript/EKG-sequence-convergence
new file mode 120000
index 0000000000..2eef93ef6c
--- /dev/null
+++ b/Lang/JavaScript/EKG-sequence-convergence
@@ -0,0 +1 @@
+../../Task/EKG-sequence-convergence/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Eban-numbers b/Lang/JavaScript/Eban-numbers
new file mode 120000
index 0000000000..584fb39bde
--- /dev/null
+++ b/Lang/JavaScript/Eban-numbers
@@ -0,0 +1 @@
+../../Task/Eban-numbers/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Element-wise-operations b/Lang/JavaScript/Element-wise-operations
new file mode 120000
index 0000000000..179f9154f4
--- /dev/null
+++ b/Lang/JavaScript/Element-wise-operations
@@ -0,0 +1 @@
+../../Task/Element-wise-operations/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Elliptic-Curve-Digital-Signature-Algorithm b/Lang/JavaScript/Elliptic-Curve-Digital-Signature-Algorithm
new file mode 120000
index 0000000000..b9a9906259
--- /dev/null
+++ b/Lang/JavaScript/Elliptic-Curve-Digital-Signature-Algorithm
@@ -0,0 +1 @@
+../../Task/Elliptic-Curve-Digital-Signature-Algorithm/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Elliptic-curve-arithmetic b/Lang/JavaScript/Elliptic-curve-arithmetic
new file mode 120000
index 0000000000..41de6c075f
--- /dev/null
+++ b/Lang/JavaScript/Elliptic-curve-arithmetic
@@ -0,0 +1 @@
+../../Task/Elliptic-curve-arithmetic/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Erd-s-Nicolas-numbers b/Lang/JavaScript/Erd-s-Nicolas-numbers
new file mode 120000
index 0000000000..2d8924574b
--- /dev/null
+++ b/Lang/JavaScript/Erd-s-Nicolas-numbers
@@ -0,0 +1 @@
+../../Task/Erd-s-Nicolas-numbers/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Erd-s-Selfridge-categorization-of-primes b/Lang/JavaScript/Erd-s-Selfridge-categorization-of-primes
new file mode 120000
index 0000000000..376367be26
--- /dev/null
+++ b/Lang/JavaScript/Erd-s-Selfridge-categorization-of-primes
@@ -0,0 +1 @@
+../../Task/Erd-s-Selfridge-categorization-of-primes/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Euclid-Mullin-sequence b/Lang/JavaScript/Euclid-Mullin-sequence
new file mode 120000
index 0000000000..f2430affeb
--- /dev/null
+++ b/Lang/JavaScript/Euclid-Mullin-sequence
@@ -0,0 +1 @@
+../../Task/Euclid-Mullin-sequence/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Eulers-constant-0.5772... b/Lang/JavaScript/Eulers-constant-0.5772...
new file mode 120000
index 0000000000..3aac1cafba
--- /dev/null
+++ b/Lang/JavaScript/Eulers-constant-0.5772...
@@ -0,0 +1 @@
+../../Task/Eulers-constant-0.5772.../JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Exponentiation-order b/Lang/JavaScript/Exponentiation-order
new file mode 120000
index 0000000000..a3de1259b9
--- /dev/null
+++ b/Lang/JavaScript/Exponentiation-order
@@ -0,0 +1 @@
+../../Task/Exponentiation-order/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Exponentiation-with-infix-operators-in-or-operating-on-the-base b/Lang/JavaScript/Exponentiation-with-infix-operators-in-or-operating-on-the-base
new file mode 120000
index 0000000000..d16e5defb5
--- /dev/null
+++ b/Lang/JavaScript/Exponentiation-with-infix-operators-in-or-operating-on-the-base
@@ -0,0 +1 @@
+../../Task/Exponentiation-with-infix-operators-in-or-operating-on-the-base/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Factorial-base-numbers-indexing-permutations-of-a-collection b/Lang/JavaScript/Factorial-base-numbers-indexing-permutations-of-a-collection
new file mode 120000
index 0000000000..7b4e06b0ab
--- /dev/null
+++ b/Lang/JavaScript/Factorial-base-numbers-indexing-permutations-of-a-collection
@@ -0,0 +1 @@
+../../Task/Factorial-base-numbers-indexing-permutations-of-a-collection/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Factorions b/Lang/JavaScript/Factorions
new file mode 120000
index 0000000000..d7c8ae41c4
--- /dev/null
+++ b/Lang/JavaScript/Factorions
@@ -0,0 +1 @@
+../../Task/Factorions/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Farey-sequence b/Lang/JavaScript/Farey-sequence
new file mode 120000
index 0000000000..e324d68d34
--- /dev/null
+++ b/Lang/JavaScript/Farey-sequence
@@ -0,0 +1 @@
+../../Task/Farey-sequence/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Faulhabers-formula b/Lang/JavaScript/Faulhabers-formula
new file mode 120000
index 0000000000..547452171f
--- /dev/null
+++ b/Lang/JavaScript/Faulhabers-formula
@@ -0,0 +1 @@
+../../Task/Faulhabers-formula/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Fermat-numbers b/Lang/JavaScript/Fermat-numbers
new file mode 120000
index 0000000000..14c8b8d697
--- /dev/null
+++ b/Lang/JavaScript/Fermat-numbers
@@ -0,0 +1 @@
+../../Task/Fermat-numbers/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Fraction-reduction b/Lang/JavaScript/Fraction-reduction
new file mode 120000
index 0000000000..f3f2ab2629
--- /dev/null
+++ b/Lang/JavaScript/Fraction-reduction
@@ -0,0 +1 @@
+../../Task/Fraction-reduction/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/French-Republican-calendar b/Lang/JavaScript/French-Republican-calendar
new file mode 120000
index 0000000000..b3233aa527
--- /dev/null
+++ b/Lang/JavaScript/French-Republican-calendar
@@ -0,0 +1 @@
+../../Task/French-Republican-calendar/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Gauss-Jordan-matrix-inversion b/Lang/JavaScript/Gauss-Jordan-matrix-inversion
new file mode 120000
index 0000000000..77acac5de4
--- /dev/null
+++ b/Lang/JavaScript/Gauss-Jordan-matrix-inversion
@@ -0,0 +1 @@
+../../Task/Gauss-Jordan-matrix-inversion/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Giuga-numbers b/Lang/JavaScript/Giuga-numbers
new file mode 120000
index 0000000000..757d93b792
--- /dev/null
+++ b/Lang/JavaScript/Giuga-numbers
@@ -0,0 +1 @@
+../../Task/Giuga-numbers/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Graph-colouring b/Lang/JavaScript/Graph-colouring
new file mode 120000
index 0000000000..8c22e6e014
--- /dev/null
+++ b/Lang/JavaScript/Graph-colouring
@@ -0,0 +1 @@
+../../Task/Graph-colouring/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Greedy-algorithm-for-Egyptian-fractions b/Lang/JavaScript/Greedy-algorithm-for-Egyptian-fractions
new file mode 120000
index 0000000000..4b7a0299ee
--- /dev/null
+++ b/Lang/JavaScript/Greedy-algorithm-for-Egyptian-fractions
@@ -0,0 +1 @@
+../../Task/Greedy-algorithm-for-Egyptian-fractions/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Halt-and-catch-fire b/Lang/JavaScript/Halt-and-catch-fire
new file mode 120000
index 0000000000..34a6fcf7d2
--- /dev/null
+++ b/Lang/JavaScript/Halt-and-catch-fire
@@ -0,0 +1 @@
+../../Task/Halt-and-catch-fire/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Home-primes b/Lang/JavaScript/Home-primes
new file mode 120000
index 0000000000..903d43b23e
--- /dev/null
+++ b/Lang/JavaScript/Home-primes
@@ -0,0 +1 @@
+../../Task/Home-primes/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Horizontal-sundial-calculations b/Lang/JavaScript/Horizontal-sundial-calculations
new file mode 120000
index 0000000000..854f95761b
--- /dev/null
+++ b/Lang/JavaScript/Horizontal-sundial-calculations
@@ -0,0 +1 @@
+../../Task/Horizontal-sundial-calculations/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/ISBN13-check-digit b/Lang/JavaScript/ISBN13-check-digit
new file mode 120000
index 0000000000..a76c26065c
--- /dev/null
+++ b/Lang/JavaScript/ISBN13-check-digit
@@ -0,0 +1 @@
+../../Task/ISBN13-check-digit/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Isqrt-integer-square-root-of-X b/Lang/JavaScript/Isqrt-integer-square-root-of-X
new file mode 120000
index 0000000000..7c262657f5
--- /dev/null
+++ b/Lang/JavaScript/Isqrt-integer-square-root-of-X
@@ -0,0 +1 @@
+../../Task/Isqrt-integer-square-root-of-X/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Jacobi-symbol b/Lang/JavaScript/Jacobi-symbol
new file mode 120000
index 0000000000..7ca750b7ca
--- /dev/null
+++ b/Lang/JavaScript/Jacobi-symbol
@@ -0,0 +1 @@
+../../Task/Jacobi-symbol/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Jaro-Winkler-distance b/Lang/JavaScript/Jaro-Winkler-distance
new file mode 120000
index 0000000000..48d79ffb3b
--- /dev/null
+++ b/Lang/JavaScript/Jaro-Winkler-distance
@@ -0,0 +1 @@
+../../Task/Jaro-Winkler-distance/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Jaro-similarity b/Lang/JavaScript/Jaro-similarity
new file mode 120000
index 0000000000..72e11e0e2b
--- /dev/null
+++ b/Lang/JavaScript/Jaro-similarity
@@ -0,0 +1 @@
+../../Task/Jaro-similarity/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Jordan-P-lya-numbers b/Lang/JavaScript/Jordan-P-lya-numbers
new file mode 120000
index 0000000000..1c850674c3
--- /dev/null
+++ b/Lang/JavaScript/Jordan-P-lya-numbers
@@ -0,0 +1 @@
+../../Task/Jordan-P-lya-numbers/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/K-d-tree b/Lang/JavaScript/K-d-tree
new file mode 120000
index 0000000000..f551f8aa55
--- /dev/null
+++ b/Lang/JavaScript/K-d-tree
@@ -0,0 +1 @@
+../../Task/K-d-tree/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Knuths-algorithm-S b/Lang/JavaScript/Knuths-algorithm-S
new file mode 120000
index 0000000000..78ce9e9420
--- /dev/null
+++ b/Lang/JavaScript/Knuths-algorithm-S
@@ -0,0 +1 @@
+../../Task/Knuths-algorithm-S/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Knuths-power-tree b/Lang/JavaScript/Knuths-power-tree
new file mode 120000
index 0000000000..65f212b8ef
--- /dev/null
+++ b/Lang/JavaScript/Knuths-power-tree
@@ -0,0 +1 @@
+../../Task/Knuths-power-tree/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Kolakoski-sequence b/Lang/JavaScript/Kolakoski-sequence
new file mode 120000
index 0000000000..eac78035ff
--- /dev/null
+++ b/Lang/JavaScript/Kolakoski-sequence
@@ -0,0 +1 @@
+../../Task/Kolakoski-sequence/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Kosaraju b/Lang/JavaScript/Kosaraju
new file mode 120000
index 0000000000..679452fdc1
--- /dev/null
+++ b/Lang/JavaScript/Kosaraju
@@ -0,0 +1 @@
+../../Task/Kosaraju/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Largest-number-divisible-by-its-digits b/Lang/JavaScript/Largest-number-divisible-by-its-digits
new file mode 120000
index 0000000000..04fdf583a0
--- /dev/null
+++ b/Lang/JavaScript/Largest-number-divisible-by-its-digits
@@ -0,0 +1 @@
+../../Task/Largest-number-divisible-by-its-digits/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Largest-proper-divisor-of-n b/Lang/JavaScript/Largest-proper-divisor-of-n
new file mode 120000
index 0000000000..3f1ca809f7
--- /dev/null
+++ b/Lang/JavaScript/Largest-proper-divisor-of-n
@@ -0,0 +1 @@
+../../Task/Largest-proper-divisor-of-n/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Levenshtein-distance-Alignment b/Lang/JavaScript/Levenshtein-distance-Alignment
new file mode 120000
index 0000000000..fabac4db0b
--- /dev/null
+++ b/Lang/JavaScript/Levenshtein-distance-Alignment
@@ -0,0 +1 @@
+../../Task/Levenshtein-distance-Alignment/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Linear-congruential-generator b/Lang/JavaScript/Linear-congruential-generator
new file mode 120000
index 0000000000..9664d4ce1d
--- /dev/null
+++ b/Lang/JavaScript/Linear-congruential-generator
@@ -0,0 +1 @@
+../../Task/Linear-congruential-generator/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Literals-Floating-point b/Lang/JavaScript/Literals-Floating-point
new file mode 120000
index 0000000000..d4ebfbadf6
--- /dev/null
+++ b/Lang/JavaScript/Literals-Floating-point
@@ -0,0 +1 @@
+../../Task/Literals-Floating-point/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Long-literals-with-continuations b/Lang/JavaScript/Long-literals-with-continuations
new file mode 120000
index 0000000000..51b7c2433b
--- /dev/null
+++ b/Lang/JavaScript/Long-literals-with-continuations
@@ -0,0 +1 @@
+../../Task/Long-literals-with-continuations/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Loops-With-multiple-ranges b/Lang/JavaScript/Loops-With-multiple-ranges
new file mode 120000
index 0000000000..0fe86f1b4e
--- /dev/null
+++ b/Lang/JavaScript/Loops-With-multiple-ranges
@@ -0,0 +1 @@
+../../Task/Loops-With-multiple-ranges/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Loops-Wrong-ranges b/Lang/JavaScript/Loops-Wrong-ranges
new file mode 120000
index 0000000000..285ca2bf4f
--- /dev/null
+++ b/Lang/JavaScript/Loops-Wrong-ranges
@@ -0,0 +1 @@
+../../Task/Loops-Wrong-ranges/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Lychrel-numbers b/Lang/JavaScript/Lychrel-numbers
new file mode 120000
index 0000000000..ddc0a3b2ae
--- /dev/null
+++ b/Lang/JavaScript/Lychrel-numbers
@@ -0,0 +1 @@
+../../Task/Lychrel-numbers/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/M-bius-function b/Lang/JavaScript/M-bius-function
new file mode 120000
index 0000000000..8b88e437b9
--- /dev/null
+++ b/Lang/JavaScript/M-bius-function
@@ -0,0 +1 @@
+../../Task/M-bius-function/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/MD5 b/Lang/JavaScript/MD5
new file mode 120000
index 0000000000..764b1e5dd2
--- /dev/null
+++ b/Lang/JavaScript/MD5
@@ -0,0 +1 @@
+../../Task/MD5/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/MD5-Implementation b/Lang/JavaScript/MD5-Implementation
new file mode 120000
index 0000000000..96da37623c
--- /dev/null
+++ b/Lang/JavaScript/MD5-Implementation
@@ -0,0 +1 @@
+../../Task/MD5-Implementation/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Magic-constant b/Lang/JavaScript/Magic-constant
new file mode 120000
index 0000000000..93ac503011
--- /dev/null
+++ b/Lang/JavaScript/Magic-constant
@@ -0,0 +1 @@
+../../Task/Magic-constant/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Memory-layout-of-a-data-structure b/Lang/JavaScript/Memory-layout-of-a-data-structure
new file mode 120000
index 0000000000..40a22a351b
--- /dev/null
+++ b/Lang/JavaScript/Memory-layout-of-a-data-structure
@@ -0,0 +1 @@
+../../Task/Memory-layout-of-a-data-structure/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Merge-and-aggregate-datasets b/Lang/JavaScript/Merge-and-aggregate-datasets
new file mode 120000
index 0000000000..d1ec3fd3c7
--- /dev/null
+++ b/Lang/JavaScript/Merge-and-aggregate-datasets
@@ -0,0 +1 @@
+../../Task/Merge-and-aggregate-datasets/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Miller-Rabin-primality-test b/Lang/JavaScript/Miller-Rabin-primality-test
deleted file mode 120000
index 41f625032e..0000000000
--- a/Lang/JavaScript/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Motzkin-numbers b/Lang/JavaScript/Motzkin-numbers
new file mode 120000
index 0000000000..f887ca66ad
--- /dev/null
+++ b/Lang/JavaScript/Motzkin-numbers
@@ -0,0 +1 @@
+../../Task/Motzkin-numbers/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Numeric-error-propagation b/Lang/JavaScript/Numeric-error-propagation
new file mode 120000
index 0000000000..4c3115218f
--- /dev/null
+++ b/Lang/JavaScript/Numeric-error-propagation
@@ -0,0 +1 @@
+../../Task/Numeric-error-propagation/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Numerical-integration b/Lang/JavaScript/Numerical-integration
new file mode 120000
index 0000000000..b80325338d
--- /dev/null
+++ b/Lang/JavaScript/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Old-lady-swallowed-a-fly b/Lang/JavaScript/Old-lady-swallowed-a-fly
new file mode 120000
index 0000000000..a49e302025
--- /dev/null
+++ b/Lang/JavaScript/Old-lady-swallowed-a-fly
@@ -0,0 +1 @@
+../../Task/Old-lady-swallowed-a-fly/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Own-digits-power-sum b/Lang/JavaScript/Own-digits-power-sum
new file mode 120000
index 0000000000..af2067363a
--- /dev/null
+++ b/Lang/JavaScript/Own-digits-power-sum
@@ -0,0 +1 @@
+../../Task/Own-digits-power-sum/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/P-Adic-numbers-basic b/Lang/JavaScript/P-Adic-numbers-basic
new file mode 120000
index 0000000000..8430626fe6
--- /dev/null
+++ b/Lang/JavaScript/P-Adic-numbers-basic
@@ -0,0 +1 @@
+../../Task/P-Adic-numbers-basic/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/P-Adic-square-roots b/Lang/JavaScript/P-Adic-square-roots
new file mode 120000
index 0000000000..dc1614d80a
--- /dev/null
+++ b/Lang/JavaScript/P-Adic-square-roots
@@ -0,0 +1 @@
+../../Task/P-Adic-square-roots/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/P-value-correction b/Lang/JavaScript/P-value-correction
new file mode 120000
index 0000000000..0bb6d9d877
--- /dev/null
+++ b/Lang/JavaScript/P-value-correction
@@ -0,0 +1 @@
+../../Task/P-value-correction/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Palindromic-gapful-numbers b/Lang/JavaScript/Palindromic-gapful-numbers
new file mode 120000
index 0000000000..3ea405216b
--- /dev/null
+++ b/Lang/JavaScript/Palindromic-gapful-numbers
@@ -0,0 +1 @@
+../../Task/Palindromic-gapful-numbers/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Pancake-numbers b/Lang/JavaScript/Pancake-numbers
new file mode 120000
index 0000000000..6f2eb315df
--- /dev/null
+++ b/Lang/JavaScript/Pancake-numbers
@@ -0,0 +1 @@
+../../Task/Pancake-numbers/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Paraffins b/Lang/JavaScript/Paraffins
new file mode 120000
index 0000000000..583d8a86f5
--- /dev/null
+++ b/Lang/JavaScript/Paraffins
@@ -0,0 +1 @@
+../../Task/Paraffins/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Parse-an-IP-Address b/Lang/JavaScript/Parse-an-IP-Address
new file mode 120000
index 0000000000..5981d2ba9f
--- /dev/null
+++ b/Lang/JavaScript/Parse-an-IP-Address
@@ -0,0 +1 @@
+../../Task/Parse-an-IP-Address/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Pascals-triangle-Puzzle b/Lang/JavaScript/Pascals-triangle-Puzzle
new file mode 120000
index 0000000000..2acf8cdb4d
--- /dev/null
+++ b/Lang/JavaScript/Pascals-triangle-Puzzle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle-Puzzle/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Percolation-Bond-percolation b/Lang/JavaScript/Percolation-Bond-percolation
new file mode 120000
index 0000000000..b784faa7b0
--- /dev/null
+++ b/Lang/JavaScript/Percolation-Bond-percolation
@@ -0,0 +1 @@
+../../Task/Percolation-Bond-percolation/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Percolation-Mean-cluster-density b/Lang/JavaScript/Percolation-Mean-cluster-density
new file mode 120000
index 0000000000..8cad881ab4
--- /dev/null
+++ b/Lang/JavaScript/Percolation-Mean-cluster-density
@@ -0,0 +1 @@
+../../Task/Percolation-Mean-cluster-density/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Percolation-Mean-run-density b/Lang/JavaScript/Percolation-Mean-run-density
new file mode 120000
index 0000000000..6c804e3579
--- /dev/null
+++ b/Lang/JavaScript/Percolation-Mean-run-density
@@ -0,0 +1 @@
+../../Task/Percolation-Mean-run-density/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Percolation-Site-percolation b/Lang/JavaScript/Percolation-Site-percolation
new file mode 120000
index 0000000000..3d8672383d
--- /dev/null
+++ b/Lang/JavaScript/Percolation-Site-percolation
@@ -0,0 +1 @@
+../../Task/Percolation-Site-percolation/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Periodic-table b/Lang/JavaScript/Periodic-table
new file mode 120000
index 0000000000..3252400859
--- /dev/null
+++ b/Lang/JavaScript/Periodic-table
@@ -0,0 +1 @@
+../../Task/Periodic-table/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Perlin-noise b/Lang/JavaScript/Perlin-noise
new file mode 120000
index 0000000000..d4cfceb70d
--- /dev/null
+++ b/Lang/JavaScript/Perlin-noise
@@ -0,0 +1 @@
+../../Task/Perlin-noise/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Playfair-cipher b/Lang/JavaScript/Playfair-cipher
new file mode 120000
index 0000000000..e94d50f327
--- /dev/null
+++ b/Lang/JavaScript/Playfair-cipher
@@ -0,0 +1 @@
+../../Task/Playfair-cipher/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Priority-queue b/Lang/JavaScript/Priority-queue
new file mode 120000
index 0000000000..01d2cd2765
--- /dev/null
+++ b/Lang/JavaScript/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Pseudo-random-numbers-Middle-square-method b/Lang/JavaScript/Pseudo-random-numbers-Middle-square-method
new file mode 120000
index 0000000000..670dfa6542
--- /dev/null
+++ b/Lang/JavaScript/Pseudo-random-numbers-Middle-square-method
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-Middle-square-method/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Pseudo-random-numbers-PCG32 b/Lang/JavaScript/Pseudo-random-numbers-PCG32
new file mode 120000
index 0000000000..689b737182
--- /dev/null
+++ b/Lang/JavaScript/Pseudo-random-numbers-PCG32
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-PCG32/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Pseudo-random-numbers-Splitmix64 b/Lang/JavaScript/Pseudo-random-numbers-Splitmix64
new file mode 120000
index 0000000000..e21d263f6d
--- /dev/null
+++ b/Lang/JavaScript/Pseudo-random-numbers-Splitmix64
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-Splitmix64/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Pseudo-random-numbers-Xorshift-star b/Lang/JavaScript/Pseudo-random-numbers-Xorshift-star
new file mode 120000
index 0000000000..40211cc2a7
--- /dev/null
+++ b/Lang/JavaScript/Pseudo-random-numbers-Xorshift-star
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-Xorshift-star/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/QR-decomposition b/Lang/JavaScript/QR-decomposition
new file mode 120000
index 0000000000..0913aa7d30
--- /dev/null
+++ b/Lang/JavaScript/QR-decomposition
@@ -0,0 +1 @@
+../../Task/QR-decomposition/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Quaternion-type b/Lang/JavaScript/Quaternion-type
deleted file mode 120000
index e2a6535526..0000000000
--- a/Lang/JavaScript/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/RIPEMD-160 b/Lang/JavaScript/RIPEMD-160
new file mode 120000
index 0000000000..aa85f54790
--- /dev/null
+++ b/Lang/JavaScript/RIPEMD-160
@@ -0,0 +1 @@
+../../Task/RIPEMD-160/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Repeat b/Lang/JavaScript/Repeat
new file mode 120000
index 0000000000..e8bb71f4ce
--- /dev/null
+++ b/Lang/JavaScript/Repeat
@@ -0,0 +1 @@
+../../Task/Repeat/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/SHA-1 b/Lang/JavaScript/SHA-1
new file mode 120000
index 0000000000..2773e9c63c
--- /dev/null
+++ b/Lang/JavaScript/SHA-1
@@ -0,0 +1 @@
+../../Task/SHA-1/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/SHA-256-Merkle-tree b/Lang/JavaScript/SHA-256-Merkle-tree
new file mode 120000
index 0000000000..0c2b665899
--- /dev/null
+++ b/Lang/JavaScript/SHA-256-Merkle-tree
@@ -0,0 +1 @@
+../../Task/SHA-256-Merkle-tree/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Sequence-smallest-number-with-exactly-n-divisors b/Lang/JavaScript/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/JavaScript/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/JavaScript/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/JavaScript/Set-puzzle b/Lang/JavaScript/Set-puzzle
new file mode 120000
index 0000000000..22b0bad552
--- /dev/null
+++ b/Lang/JavaScript/Set-puzzle
@@ -0,0 +1 @@
+../../Task/Set-puzzle/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Shortest-common-supersequence b/Lang/JavaScript/Shortest-common-supersequence
new file mode 120000
index 0000000000..4e107e522e
--- /dev/null
+++ b/Lang/JavaScript/Shortest-common-supersequence
@@ -0,0 +1 @@
+../../Task/Shortest-common-supersequence/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Sisyphus-sequence b/Lang/JavaScript/Sisyphus-sequence
new file mode 120000
index 0000000000..67b00353f0
--- /dev/null
+++ b/Lang/JavaScript/Sisyphus-sequence
@@ -0,0 +1 @@
+../../Task/Sisyphus-sequence/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Smarandache-prime-digital-sequence b/Lang/JavaScript/Smarandache-prime-digital-sequence
new file mode 120000
index 0000000000..14cb702228
--- /dev/null
+++ b/Lang/JavaScript/Smarandache-prime-digital-sequence
@@ -0,0 +1 @@
+../../Task/Smarandache-prime-digital-sequence/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Sokoban b/Lang/JavaScript/Sokoban
new file mode 120000
index 0000000000..3ab86467bd
--- /dev/null
+++ b/Lang/JavaScript/Sokoban
@@ -0,0 +1 @@
+../../Task/Sokoban/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Solve-a-Hidato-puzzle b/Lang/JavaScript/Solve-a-Hidato-puzzle
new file mode 120000
index 0000000000..3e3c25cd7c
--- /dev/null
+++ b/Lang/JavaScript/Solve-a-Hidato-puzzle
@@ -0,0 +1 @@
+../../Task/Solve-a-Hidato-puzzle/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Solve-a-Hopido-puzzle b/Lang/JavaScript/Solve-a-Hopido-puzzle
new file mode 120000
index 0000000000..aea3983b76
--- /dev/null
+++ b/Lang/JavaScript/Solve-a-Hopido-puzzle
@@ -0,0 +1 @@
+../../Task/Solve-a-Hopido-puzzle/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Solve-a-Numbrix-puzzle b/Lang/JavaScript/Solve-a-Numbrix-puzzle
new file mode 120000
index 0000000000..43202401f9
--- /dev/null
+++ b/Lang/JavaScript/Solve-a-Numbrix-puzzle
@@ -0,0 +1 @@
+../../Task/Solve-a-Numbrix-puzzle/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Sort-numbers-lexicographically b/Lang/JavaScript/Sort-numbers-lexicographically
new file mode 120000
index 0000000000..0350e5ac3a
--- /dev/null
+++ b/Lang/JavaScript/Sort-numbers-lexicographically
@@ -0,0 +1 @@
+../../Task/Sort-numbers-lexicographically/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Sorting-algorithms-Radix-sort b/Lang/JavaScript/Sorting-algorithms-Radix-sort
new file mode 120000
index 0000000000..0d4b9cb23d
--- /dev/null
+++ b/Lang/JavaScript/Sorting-algorithms-Radix-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Radix-sort/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Spelling-of-ordinal-numbers b/Lang/JavaScript/Spelling-of-ordinal-numbers
new file mode 120000
index 0000000000..5ed638cc81
--- /dev/null
+++ b/Lang/JavaScript/Spelling-of-ordinal-numbers
@@ -0,0 +1 @@
+../../Task/Spelling-of-ordinal-numbers/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Square-free-integers b/Lang/JavaScript/Square-free-integers
new file mode 120000
index 0000000000..5f495f4fd4
--- /dev/null
+++ b/Lang/JavaScript/Square-free-integers
@@ -0,0 +1 @@
+../../Task/Square-free-integers/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/State-name-puzzle b/Lang/JavaScript/State-name-puzzle
new file mode 120000
index 0000000000..12f667dc4c
--- /dev/null
+++ b/Lang/JavaScript/State-name-puzzle
@@ -0,0 +1 @@
+../../Task/State-name-puzzle/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Steffensens-method b/Lang/JavaScript/Steffensens-method
new file mode 120000
index 0000000000..12c21e29e2
--- /dev/null
+++ b/Lang/JavaScript/Steffensens-method
@@ -0,0 +1 @@
+../../Task/Steffensens-method/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Strassens-algorithm b/Lang/JavaScript/Strassens-algorithm
new file mode 120000
index 0000000000..f4d0497694
--- /dev/null
+++ b/Lang/JavaScript/Strassens-algorithm
@@ -0,0 +1 @@
+../../Task/Strassens-algorithm/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Stream-merge b/Lang/JavaScript/Stream-merge
new file mode 120000
index 0000000000..cf7057043d
--- /dev/null
+++ b/Lang/JavaScript/Stream-merge
@@ -0,0 +1 @@
+../../Task/Stream-merge/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Subleq b/Lang/JavaScript/Subleq
new file mode 120000
index 0000000000..19f1606c88
--- /dev/null
+++ b/Lang/JavaScript/Subleq
@@ -0,0 +1 @@
+../../Task/Subleq/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Substitution-cipher b/Lang/JavaScript/Substitution-cipher
new file mode 120000
index 0000000000..e8fd969b4a
--- /dev/null
+++ b/Lang/JavaScript/Substitution-cipher
@@ -0,0 +1 @@
+../../Task/Substitution-cipher/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Superpermutation-minimisation b/Lang/JavaScript/Superpermutation-minimisation
new file mode 120000
index 0000000000..a257c8e7e7
--- /dev/null
+++ b/Lang/JavaScript/Superpermutation-minimisation
@@ -0,0 +1 @@
+../../Task/Superpermutation-minimisation/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Sylvesters-sequence b/Lang/JavaScript/Sylvesters-sequence
new file mode 120000
index 0000000000..472599a8bf
--- /dev/null
+++ b/Lang/JavaScript/Sylvesters-sequence
@@ -0,0 +1 @@
+../../Task/Sylvesters-sequence/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Tarjan b/Lang/JavaScript/Tarjan
new file mode 120000
index 0000000000..c299c7aebb
--- /dev/null
+++ b/Lang/JavaScript/Tarjan
@@ -0,0 +1 @@
+../../Task/Tarjan/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Tau-number b/Lang/JavaScript/Tau-number
new file mode 120000
index 0000000000..ff78310d47
--- /dev/null
+++ b/Lang/JavaScript/Tau-number
@@ -0,0 +1 @@
+../../Task/Tau-number/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Thieles-interpolation-formula b/Lang/JavaScript/Thieles-interpolation-formula
new file mode 120000
index 0000000000..4aa6c84146
--- /dev/null
+++ b/Lang/JavaScript/Thieles-interpolation-formula
@@ -0,0 +1 @@
+../../Task/Thieles-interpolation-formula/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Tonelli-Shanks-algorithm b/Lang/JavaScript/Tonelli-Shanks-algorithm
new file mode 120000
index 0000000000..f646a271d1
--- /dev/null
+++ b/Lang/JavaScript/Tonelli-Shanks-algorithm
@@ -0,0 +1 @@
+../../Task/Tonelli-Shanks-algorithm/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Topswops b/Lang/JavaScript/Topswops
new file mode 120000
index 0000000000..cffdbd99df
--- /dev/null
+++ b/Lang/JavaScript/Topswops
@@ -0,0 +1 @@
+../../Task/Topswops/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Transliterate-English-text-using-the-Greek-alphabet b/Lang/JavaScript/Transliterate-English-text-using-the-Greek-alphabet
new file mode 120000
index 0000000000..90b7eb9492
--- /dev/null
+++ b/Lang/JavaScript/Transliterate-English-text-using-the-Greek-alphabet
@@ -0,0 +1 @@
+../../Task/Transliterate-English-text-using-the-Greek-alphabet/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Twos-complement b/Lang/JavaScript/Twos-complement
new file mode 120000
index 0000000000..d0b1730478
--- /dev/null
+++ b/Lang/JavaScript/Twos-complement
@@ -0,0 +1 @@
+../../Task/Twos-complement/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Ukkonen-s-suffix-tree-construction b/Lang/JavaScript/Ukkonen-s-suffix-tree-construction
new file mode 120000
index 0000000000..7a4d0832f5
--- /dev/null
+++ b/Lang/JavaScript/Ukkonen-s-suffix-tree-construction
@@ -0,0 +1 @@
+../../Task/Ukkonen-s-suffix-tree-construction/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Unbias-a-random-generator b/Lang/JavaScript/Unbias-a-random-generator
new file mode 120000
index 0000000000..1e801c1fa5
--- /dev/null
+++ b/Lang/JavaScript/Unbias-a-random-generator
@@ -0,0 +1 @@
+../../Task/Unbias-a-random-generator/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Unicode-strings b/Lang/JavaScript/Unicode-strings
new file mode 120000
index 0000000000..ad6c128bef
--- /dev/null
+++ b/Lang/JavaScript/Unicode-strings
@@ -0,0 +1 @@
+../../Task/Unicode-strings/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Van-der-Corput-sequence b/Lang/JavaScript/Van-der-Corput-sequence
new file mode 120000
index 0000000000..41397b68df
--- /dev/null
+++ b/Lang/JavaScript/Van-der-Corput-sequence
@@ -0,0 +1 @@
+../../Task/Van-der-Corput-sequence/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Vector b/Lang/JavaScript/Vector
new file mode 120000
index 0000000000..fec6065641
--- /dev/null
+++ b/Lang/JavaScript/Vector
@@ -0,0 +1 @@
+../../Task/Vector/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Verhoeff-algorithm b/Lang/JavaScript/Verhoeff-algorithm
new file mode 120000
index 0000000000..cd27def09b
--- /dev/null
+++ b/Lang/JavaScript/Verhoeff-algorithm
@@ -0,0 +1 @@
+../../Task/Verhoeff-algorithm/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Vigen-re-cipher-Cryptanalysis b/Lang/JavaScript/Vigen-re-cipher-Cryptanalysis
new file mode 120000
index 0000000000..53c004e91c
--- /dev/null
+++ b/Lang/JavaScript/Vigen-re-cipher-Cryptanalysis
@@ -0,0 +1 @@
+../../Task/Vigen-re-cipher-Cryptanalysis/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Vogels-approximation-method b/Lang/JavaScript/Vogels-approximation-method
new file mode 120000
index 0000000000..72693f1daa
--- /dev/null
+++ b/Lang/JavaScript/Vogels-approximation-method
@@ -0,0 +1 @@
+../../Task/Vogels-approximation-method/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Word-ladder b/Lang/JavaScript/Word-ladder
new file mode 120000
index 0000000000..f78d94e145
--- /dev/null
+++ b/Lang/JavaScript/Word-ladder
@@ -0,0 +1 @@
+../../Task/Word-ladder/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Wordiff b/Lang/JavaScript/Wordiff
new file mode 120000
index 0000000000..18ec352da6
--- /dev/null
+++ b/Lang/JavaScript/Wordiff
@@ -0,0 +1 @@
+../../Task/Wordiff/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Zebra-puzzle b/Lang/JavaScript/Zebra-puzzle
new file mode 120000
index 0000000000..5c531004b3
--- /dev/null
+++ b/Lang/JavaScript/Zebra-puzzle
@@ -0,0 +1 @@
+../../Task/Zebra-puzzle/JavaScript
\ No newline at end of file
diff --git a/Lang/Joy/Case-sensitivity-of-identifiers b/Lang/Joy/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..e8f5c2c1db
--- /dev/null
+++ b/Lang/Joy/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/Joy
\ No newline at end of file
diff --git a/Lang/Joy/Read-a-file-line-by-line b/Lang/Joy/Read-a-file-line-by-line
new file mode 120000
index 0000000000..9985d0bc9c
--- /dev/null
+++ b/Lang/Joy/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Joy
\ No newline at end of file
diff --git a/Lang/Joy/Sort-an-integer-array b/Lang/Joy/Sort-an-integer-array
new file mode 120000
index 0000000000..91921cd08e
--- /dev/null
+++ b/Lang/Joy/Sort-an-integer-array
@@ -0,0 +1 @@
+../../Task/Sort-an-integer-array/Joy
\ No newline at end of file
diff --git a/Lang/Joy/Unicode-variable-names b/Lang/Joy/Unicode-variable-names
new file mode 120000
index 0000000000..b7f93a76ef
--- /dev/null
+++ b/Lang/Joy/Unicode-variable-names
@@ -0,0 +1 @@
+../../Task/Unicode-variable-names/Joy
\ No newline at end of file
diff --git a/Lang/Jq/00-LANG.txt b/Lang/Jq/00-LANG.txt
index 3eba7f05c0..a2d6626be7 100644
--- a/Lang/Jq/00-LANG.txt
+++ b/Lang/Jq/00-LANG.txt
@@ -7,9 +7,14 @@ jq was originally designed and developed by Stephen Dolan.
==jq Modules at rosettacode.org==
* [[:Category:Jq/assert.jq|assert.jq]] - module to support assertions
+* [[:Category:Jq/bitwise.jq|bitwise.jq]] - bit streams, bit arrays, and integers
* [[:Category:Jq/fibonacci.jq|fibonacci.jq]] - Fibonacci sequence and Fibonacci coding
* [[:Category:Jq/peg.jq|peg.jq]] - Parsing Expression Grammar foundations
* [[:Category:Jq/polynomials.jq|polynomials.jq]] - polynomials as JSON arrays
+* [[:Category:Jq/rational.jq|rational.jq]] - rational numbers
+
+* [[:Category:Jq/Date.jq|Date.jq]] - Gregorian calendar from the year 1
+* [[:Category:Jq/MRG32k3a.jq|MRG32k3a.jq]] - MRG32k3a Combined Recursive Pseudo-Random Number Generator
* [[:Category:Jq/RealSet.jq|RealSet.jq]] - Union of finite real intervals
==Todo==
diff --git a/Lang/Jq/15-puzzle-game b/Lang/Jq/15-puzzle-game
new file mode 120000
index 0000000000..9c065d8ccc
--- /dev/null
+++ b/Lang/Jq/15-puzzle-game
@@ -0,0 +1 @@
+../../Task/15-puzzle-game/Jq
\ No newline at end of file
diff --git a/Lang/Jq/15-puzzle-solver b/Lang/Jq/15-puzzle-solver
new file mode 120000
index 0000000000..e822e3d4e7
--- /dev/null
+++ b/Lang/Jq/15-puzzle-solver
@@ -0,0 +1 @@
+../../Task/15-puzzle-solver/Jq
\ No newline at end of file
diff --git a/Lang/Jq/2048 b/Lang/Jq/2048
new file mode 120000
index 0000000000..e78d154a28
--- /dev/null
+++ b/Lang/Jq/2048
@@ -0,0 +1 @@
+../../Task/2048/Jq
\ No newline at end of file
diff --git a/Lang/Jq/24-game b/Lang/Jq/24-game
new file mode 120000
index 0000000000..1db8a29eb4
--- /dev/null
+++ b/Lang/Jq/24-game
@@ -0,0 +1 @@
+../../Task/24-game/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Averages-Simple-moving-average b/Lang/Jq/Averages-Simple-moving-average
new file mode 120000
index 0000000000..7c27d5bee2
--- /dev/null
+++ b/Lang/Jq/Averages-Simple-moving-average
@@ -0,0 +1 @@
+../../Task/Averages-Simple-moving-average/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Bioinformatics-base-count b/Lang/Jq/Bioinformatics-base-count
deleted file mode 120000
index 87df406d18..0000000000
--- a/Lang/Jq/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Bitwise-operations b/Lang/Jq/Bitwise-operations
new file mode 120000
index 0000000000..eff5a2f904
--- /dev/null
+++ b/Lang/Jq/Bitwise-operations
@@ -0,0 +1 @@
+../../Task/Bitwise-operations/Jq
\ No newline at end of file
diff --git a/Lang/Jq/CRC-32 b/Lang/Jq/CRC-32
new file mode 120000
index 0000000000..800ab8f0ad
--- /dev/null
+++ b/Lang/Jq/CRC-32
@@ -0,0 +1 @@
+../../Task/CRC-32/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Chaocipher b/Lang/Jq/Chaocipher
new file mode 120000
index 0000000000..3383992151
--- /dev/null
+++ b/Lang/Jq/Chaocipher
@@ -0,0 +1 @@
+../../Task/Chaocipher/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Continued-fraction-Arithmetic-Construct-from-rational-number b/Lang/Jq/Continued-fraction-Arithmetic-Construct-from-rational-number
new file mode 120000
index 0000000000..90c56c3b3a
--- /dev/null
+++ b/Lang/Jq/Continued-fraction-Arithmetic-Construct-from-rational-number
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-Construct-from-rational-number/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Deconvolution-1D b/Lang/Jq/Deconvolution-1D
new file mode 120000
index 0000000000..4f872c1005
--- /dev/null
+++ b/Lang/Jq/Deconvolution-1D
@@ -0,0 +1 @@
+../../Task/Deconvolution-1D/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Display-an-outline-as-a-nested-table b/Lang/Jq/Display-an-outline-as-a-nested-table
new file mode 120000
index 0000000000..37137659b6
--- /dev/null
+++ b/Lang/Jq/Display-an-outline-as-a-nested-table
@@ -0,0 +1 @@
+../../Task/Display-an-outline-as-a-nested-table/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Draw-a-cuboid b/Lang/Jq/Draw-a-cuboid
new file mode 120000
index 0000000000..2af657c230
--- /dev/null
+++ b/Lang/Jq/Draw-a-cuboid
@@ -0,0 +1 @@
+../../Task/Draw-a-cuboid/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Entropy-Narcissist b/Lang/Jq/Entropy-Narcissist
new file mode 120000
index 0000000000..f142d7e681
--- /dev/null
+++ b/Lang/Jq/Entropy-Narcissist
@@ -0,0 +1 @@
+../../Task/Entropy-Narcissist/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Factors-of-a-Mersenne-number b/Lang/Jq/Factors-of-a-Mersenne-number
new file mode 120000
index 0000000000..e34af6567d
--- /dev/null
+++ b/Lang/Jq/Factors-of-a-Mersenne-number
@@ -0,0 +1 @@
+../../Task/Factors-of-a-Mersenne-number/Jq
\ No newline at end of file
diff --git a/Lang/Jq/File-size-distribution b/Lang/Jq/File-size-distribution
new file mode 120000
index 0000000000..d42e94402e
--- /dev/null
+++ b/Lang/Jq/File-size-distribution
@@ -0,0 +1 @@
+../../Task/File-size-distribution/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Find-Chess960-starting-position-identifier b/Lang/Jq/Find-Chess960-starting-position-identifier
new file mode 120000
index 0000000000..ea292cff65
--- /dev/null
+++ b/Lang/Jq/Find-Chess960-starting-position-identifier
@@ -0,0 +1 @@
+../../Task/Find-Chess960-starting-position-identifier/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Find-duplicate-files b/Lang/Jq/Find-duplicate-files
new file mode 120000
index 0000000000..289f08d02f
--- /dev/null
+++ b/Lang/Jq/Find-duplicate-files
@@ -0,0 +1 @@
+../../Task/Find-duplicate-files/Jq
\ No newline at end of file
diff --git a/Lang/Jq/French-Republican-calendar b/Lang/Jq/French-Republican-calendar
new file mode 120000
index 0000000000..d495d14d71
--- /dev/null
+++ b/Lang/Jq/French-Republican-calendar
@@ -0,0 +1 @@
+../../Task/French-Republican-calendar/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Generate-random-chess-position b/Lang/Jq/Generate-random-chess-position
new file mode 120000
index 0000000000..a6ff2b1df0
--- /dev/null
+++ b/Lang/Jq/Generate-random-chess-position
@@ -0,0 +1 @@
+../../Task/Generate-random-chess-position/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Giuga-numbers b/Lang/Jq/Giuga-numbers
new file mode 120000
index 0000000000..b5850902a3
--- /dev/null
+++ b/Lang/Jq/Giuga-numbers
@@ -0,0 +1 @@
+../../Task/Giuga-numbers/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Graph-colouring b/Lang/Jq/Graph-colouring
new file mode 120000
index 0000000000..07b418f3a3
--- /dev/null
+++ b/Lang/Jq/Graph-colouring
@@ -0,0 +1 @@
+../../Task/Graph-colouring/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Introspection b/Lang/Jq/Introspection
new file mode 120000
index 0000000000..cdb6f22cc1
--- /dev/null
+++ b/Lang/Jq/Introspection
@@ -0,0 +1 @@
+../../Task/Introspection/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Knights-tour b/Lang/Jq/Knights-tour
new file mode 120000
index 0000000000..ca47275558
--- /dev/null
+++ b/Lang/Jq/Knights-tour
@@ -0,0 +1 @@
+../../Task/Knights-tour/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Levenshtein-distance-Alignment b/Lang/Jq/Levenshtein-distance-Alignment
new file mode 120000
index 0000000000..b331da38ff
--- /dev/null
+++ b/Lang/Jq/Levenshtein-distance-Alignment
@@ -0,0 +1 @@
+../../Task/Levenshtein-distance-Alignment/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Mayan-calendar b/Lang/Jq/Mayan-calendar
new file mode 120000
index 0000000000..aa0964c1d8
--- /dev/null
+++ b/Lang/Jq/Mayan-calendar
@@ -0,0 +1 @@
+../../Task/Mayan-calendar/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Mind-boggling-card-trick b/Lang/Jq/Mind-boggling-card-trick
new file mode 120000
index 0000000000..11a1e6dd3d
--- /dev/null
+++ b/Lang/Jq/Mind-boggling-card-trick
@@ -0,0 +1 @@
+../../Task/Mind-boggling-card-trick/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Minimal-steps-down-to-1 b/Lang/Jq/Minimal-steps-down-to-1
new file mode 120000
index 0000000000..d05488db25
--- /dev/null
+++ b/Lang/Jq/Minimal-steps-down-to-1
@@ -0,0 +1 @@
+../../Task/Minimal-steps-down-to-1/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Modified-random-distribution b/Lang/Jq/Modified-random-distribution
new file mode 120000
index 0000000000..5585f4b8dd
--- /dev/null
+++ b/Lang/Jq/Modified-random-distribution
@@ -0,0 +1 @@
+../../Task/Modified-random-distribution/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Multiplicative-order b/Lang/Jq/Multiplicative-order
new file mode 120000
index 0000000000..72c4d667a9
--- /dev/null
+++ b/Lang/Jq/Multiplicative-order
@@ -0,0 +1 @@
+../../Task/Multiplicative-order/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Nonoblock b/Lang/Jq/Nonoblock
new file mode 120000
index 0000000000..f2323057e5
--- /dev/null
+++ b/Lang/Jq/Nonoblock
@@ -0,0 +1 @@
+../../Task/Nonoblock/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Nonogram-solver b/Lang/Jq/Nonogram-solver
new file mode 120000
index 0000000000..2ae5949d16
--- /dev/null
+++ b/Lang/Jq/Nonogram-solver
@@ -0,0 +1 @@
+../../Task/Nonogram-solver/Jq
\ No newline at end of file
diff --git a/Lang/Jq/P-value-correction b/Lang/Jq/P-value-correction
new file mode 120000
index 0000000000..4685fd057d
--- /dev/null
+++ b/Lang/Jq/P-value-correction
@@ -0,0 +1 @@
+../../Task/P-value-correction/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Palindromic-gapful-numbers b/Lang/Jq/Palindromic-gapful-numbers
new file mode 120000
index 0000000000..3f1d4b0a65
--- /dev/null
+++ b/Lang/Jq/Palindromic-gapful-numbers
@@ -0,0 +1 @@
+../../Task/Palindromic-gapful-numbers/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Pancake-numbers b/Lang/Jq/Pancake-numbers
new file mode 120000
index 0000000000..7c0b6487cc
--- /dev/null
+++ b/Lang/Jq/Pancake-numbers
@@ -0,0 +1 @@
+../../Task/Pancake-numbers/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Peaceful-chess-queen-armies b/Lang/Jq/Peaceful-chess-queen-armies
new file mode 120000
index 0000000000..7c675a3306
--- /dev/null
+++ b/Lang/Jq/Peaceful-chess-queen-armies
@@ -0,0 +1 @@
+../../Task/Peaceful-chess-queen-armies/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Pentomino-tiling b/Lang/Jq/Pentomino-tiling
new file mode 120000
index 0000000000..cce133df04
--- /dev/null
+++ b/Lang/Jq/Pentomino-tiling
@@ -0,0 +1 @@
+../../Task/Pentomino-tiling/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Perlin-noise b/Lang/Jq/Perlin-noise
new file mode 120000
index 0000000000..eb52c317a2
--- /dev/null
+++ b/Lang/Jq/Perlin-noise
@@ -0,0 +1 @@
+../../Task/Perlin-noise/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Pisano-period b/Lang/Jq/Pisano-period
new file mode 120000
index 0000000000..223468a26a
--- /dev/null
+++ b/Lang/Jq/Pisano-period
@@ -0,0 +1 @@
+../../Task/Pisano-period/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Poker-hand-analyser b/Lang/Jq/Poker-hand-analyser
new file mode 120000
index 0000000000..fd9738ce61
--- /dev/null
+++ b/Lang/Jq/Poker-hand-analyser
@@ -0,0 +1 @@
+../../Task/Poker-hand-analyser/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Polynomial-regression b/Lang/Jq/Polynomial-regression
new file mode 120000
index 0000000000..56985e2ba4
--- /dev/null
+++ b/Lang/Jq/Polynomial-regression
@@ -0,0 +1 @@
+../../Task/Polynomial-regression/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Prime-numbers-whose-neighboring-pairs-are-tetraprimes b/Lang/Jq/Prime-numbers-whose-neighboring-pairs-are-tetraprimes
new file mode 120000
index 0000000000..e1fd0d226c
--- /dev/null
+++ b/Lang/Jq/Prime-numbers-whose-neighboring-pairs-are-tetraprimes
@@ -0,0 +1 @@
+../../Task/Prime-numbers-whose-neighboring-pairs-are-tetraprimes/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Pseudo-random-numbers-Combined-recursive-generator-MRG32k3a b/Lang/Jq/Pseudo-random-numbers-Combined-recursive-generator-MRG32k3a
new file mode 120000
index 0000000000..8a1fa69d52
--- /dev/null
+++ b/Lang/Jq/Pseudo-random-numbers-Combined-recursive-generator-MRG32k3a
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-Combined-recursive-generator-MRG32k3a/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Pseudo-random-numbers-PCG32 b/Lang/Jq/Pseudo-random-numbers-PCG32
new file mode 120000
index 0000000000..c80dea5d5d
--- /dev/null
+++ b/Lang/Jq/Pseudo-random-numbers-PCG32
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-PCG32/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Pseudo-random-numbers-Xorshift-star b/Lang/Jq/Pseudo-random-numbers-Xorshift-star
new file mode 120000
index 0000000000..54ff010417
--- /dev/null
+++ b/Lang/Jq/Pseudo-random-numbers-Xorshift-star
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-Xorshift-star/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Quaternion-type b/Lang/Jq/Quaternion-type
deleted file mode 120000
index 36df977f17..0000000000
--- a/Lang/Jq/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Ramer-Douglas-Peucker-line-simplification b/Lang/Jq/Ramer-Douglas-Peucker-line-simplification
new file mode 120000
index 0000000000..2692c011c6
--- /dev/null
+++ b/Lang/Jq/Ramer-Douglas-Peucker-line-simplification
@@ -0,0 +1 @@
+../../Task/Ramer-Douglas-Peucker-line-simplification/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Random-sentence-from-book b/Lang/Jq/Random-sentence-from-book
new file mode 120000
index 0000000000..677f7ffdcc
--- /dev/null
+++ b/Lang/Jq/Random-sentence-from-book
@@ -0,0 +1 @@
+../../Task/Random-sentence-from-book/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Rosetta-Code-Rank-languages-by-number-of-users b/Lang/Jq/Rosetta-Code-Rank-languages-by-number-of-users
new file mode 120000
index 0000000000..41c301e751
--- /dev/null
+++ b/Lang/Jq/Rosetta-Code-Rank-languages-by-number-of-users
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-number-of-users/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Sequence-nth-number-with-exactly-n-divisors b/Lang/Jq/Sequence:-nth-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Jq/Sequence-nth-number-with-exactly-n-divisors
rename to Lang/Jq/Sequence:-nth-number-with-exactly-n-divisors
diff --git a/Lang/Jq/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/Jq/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/Jq/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/Jq/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/Jq/Sequence-smallest-number-with-exactly-n-divisors b/Lang/Jq/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Jq/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/Jq/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/Jq/Set-puzzle b/Lang/Jq/Set-puzzle
new file mode 120000
index 0000000000..4d4860ff33
--- /dev/null
+++ b/Lang/Jq/Set-puzzle
@@ -0,0 +1 @@
+../../Task/Set-puzzle/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Set-right-adjacent-bits b/Lang/Jq/Set-right-adjacent-bits
new file mode 120000
index 0000000000..74d85af7c9
--- /dev/null
+++ b/Lang/Jq/Set-right-adjacent-bits
@@ -0,0 +1 @@
+../../Task/Set-right-adjacent-bits/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Sierpinski-pentagon b/Lang/Jq/Sierpinski-pentagon
new file mode 120000
index 0000000000..25b52521df
--- /dev/null
+++ b/Lang/Jq/Sierpinski-pentagon
@@ -0,0 +1 @@
+../../Task/Sierpinski-pentagon/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Sleeping-Beauty-problem b/Lang/Jq/Sleeping-Beauty-problem
new file mode 120000
index 0000000000..56204d6c76
--- /dev/null
+++ b/Lang/Jq/Sleeping-Beauty-problem
@@ -0,0 +1 @@
+../../Task/Sleeping-Beauty-problem/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Solve-a-Hidato-puzzle b/Lang/Jq/Solve-a-Hidato-puzzle
new file mode 120000
index 0000000000..e3f6b38721
--- /dev/null
+++ b/Lang/Jq/Solve-a-Hidato-puzzle
@@ -0,0 +1 @@
+../../Task/Solve-a-Hidato-puzzle/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Solve-a-Holy-Knights-tour b/Lang/Jq/Solve-a-Holy-Knights-tour
new file mode 120000
index 0000000000..d69331eff1
--- /dev/null
+++ b/Lang/Jq/Solve-a-Holy-Knights-tour
@@ -0,0 +1 @@
+../../Task/Solve-a-Holy-Knights-tour/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Solve-a-Numbrix-puzzle b/Lang/Jq/Solve-a-Numbrix-puzzle
new file mode 120000
index 0000000000..29721632e1
--- /dev/null
+++ b/Lang/Jq/Solve-a-Numbrix-puzzle
@@ -0,0 +1 @@
+../../Task/Solve-a-Numbrix-puzzle/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Sort-an-outline-at-every-level b/Lang/Jq/Sort-an-outline-at-every-level
new file mode 120000
index 0000000000..bce371340d
--- /dev/null
+++ b/Lang/Jq/Sort-an-outline-at-every-level
@@ -0,0 +1 @@
+../../Task/Sort-an-outline-at-every-level/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Sorting-Algorithms-Circle-Sort b/Lang/Jq/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index acb625912d..0000000000
--- a/Lang/Jq/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Strassens-algorithm b/Lang/Jq/Strassens-algorithm
new file mode 120000
index 0000000000..d6ccda4254
--- /dev/null
+++ b/Lang/Jq/Strassens-algorithm
@@ -0,0 +1 @@
+../../Task/Strassens-algorithm/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Thieles-interpolation-formula b/Lang/Jq/Thieles-interpolation-formula
new file mode 120000
index 0000000000..25d4327e8c
--- /dev/null
+++ b/Lang/Jq/Thieles-interpolation-formula
@@ -0,0 +1 @@
+../../Task/Thieles-interpolation-formula/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Tic-tac-toe b/Lang/Jq/Tic-tac-toe
new file mode 120000
index 0000000000..29e18a13ef
--- /dev/null
+++ b/Lang/Jq/Tic-tac-toe
@@ -0,0 +1 @@
+../../Task/Tic-tac-toe/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Twos-complement b/Lang/Jq/Twos-complement
new file mode 120000
index 0000000000..79d28d31d7
--- /dev/null
+++ b/Lang/Jq/Twos-complement
@@ -0,0 +1 @@
+../../Task/Twos-complement/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Vogels-approximation-method b/Lang/Jq/Vogels-approximation-method
new file mode 120000
index 0000000000..fb9aff7884
--- /dev/null
+++ b/Lang/Jq/Vogels-approximation-method
@@ -0,0 +1 @@
+../../Task/Vogels-approximation-method/Jq
\ No newline at end of file
diff --git a/Lang/Jq/War-card-game b/Lang/Jq/War-card-game
new file mode 120000
index 0000000000..428c4a1307
--- /dev/null
+++ b/Lang/Jq/War-card-game
@@ -0,0 +1 @@
+../../Task/War-card-game/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Wordiff b/Lang/Jq/Wordiff
new file mode 120000
index 0000000000..61aa15852c
--- /dev/null
+++ b/Lang/Jq/Wordiff
@@ -0,0 +1 @@
+../../Task/Wordiff/Jq
\ No newline at end of file
diff --git a/Lang/Julia/Bioinformatics-base-count b/Lang/Julia/Bioinformatics-base-count
deleted file mode 120000
index 37835d6558..0000000000
--- a/Lang/Julia/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/Julia
\ No newline at end of file
diff --git a/Lang/Julia/Meissel-Mertens-constant b/Lang/Julia/Meissel-Mertens-constant
deleted file mode 120000
index 24fa8f526c..0000000000
--- a/Lang/Julia/Meissel-Mertens-constant
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Meissel-Mertens-constant/Julia
\ No newline at end of file
diff --git a/Lang/Julia/Miller-Rabin-primality-test b/Lang/Julia/Miller-Rabin-primality-test
deleted file mode 120000
index 1a7339a0d3..0000000000
--- a/Lang/Julia/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Julia
\ No newline at end of file
diff --git a/Lang/Julia/OLE-automation b/Lang/Julia/OLE-automation
new file mode 120000
index 0000000000..58b1722653
--- /dev/null
+++ b/Lang/Julia/OLE-automation
@@ -0,0 +1 @@
+../../Task/OLE-automation/Julia
\ No newline at end of file
diff --git a/Lang/Julia/Quaternion-type b/Lang/Julia/Quaternion-type
deleted file mode 120000
index 8a462d73ba..0000000000
--- a/Lang/Julia/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Julia
\ No newline at end of file
diff --git a/Lang/Julia/Sequence-nth-number-with-exactly-n-divisors b/Lang/Julia/Sequence:-nth-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Julia/Sequence-nth-number-with-exactly-n-divisors
rename to Lang/Julia/Sequence:-nth-number-with-exactly-n-divisors
diff --git a/Lang/Julia/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/Julia/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/Julia/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/Julia/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/Julia/Sequence-smallest-number-with-exactly-n-divisors b/Lang/Julia/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Julia/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/Julia/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/Julia/Simulate-input-Keyboard b/Lang/Julia/Simulate-input-Keyboard
new file mode 120000
index 0000000000..79cc3689e4
--- /dev/null
+++ b/Lang/Julia/Simulate-input-Keyboard
@@ -0,0 +1 @@
+../../Task/Simulate-input-Keyboard/Julia
\ No newline at end of file
diff --git a/Lang/Julia/Sorting-Algorithms-Circle-Sort b/Lang/Julia/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index a8c5c2c2be..0000000000
--- a/Lang/Julia/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/Julia
\ No newline at end of file
diff --git a/Lang/Julia/Use-another-language-to-call-a-function b/Lang/Julia/Use-another-language-to-call-a-function
new file mode 120000
index 0000000000..c21a8c88ad
--- /dev/null
+++ b/Lang/Julia/Use-another-language-to-call-a-function
@@ -0,0 +1 @@
+../../Task/Use-another-language-to-call-a-function/Julia
\ No newline at end of file
diff --git a/Lang/K/Abundant-odd-numbers b/Lang/K/Abundant-odd-numbers
new file mode 120000
index 0000000000..e7fe0d3fc3
--- /dev/null
+++ b/Lang/K/Abundant-odd-numbers
@@ -0,0 +1 @@
+../../Task/Abundant-odd-numbers/K
\ No newline at end of file
diff --git a/Lang/K/Ascending-primes b/Lang/K/Ascending-primes
new file mode 120000
index 0000000000..d9555980d2
--- /dev/null
+++ b/Lang/K/Ascending-primes
@@ -0,0 +1 @@
+../../Task/Ascending-primes/K
\ No newline at end of file
diff --git a/Lang/K/Benfords-law b/Lang/K/Benfords-law
new file mode 120000
index 0000000000..75ff9d97ad
--- /dev/null
+++ b/Lang/K/Benfords-law
@@ -0,0 +1 @@
+../../Task/Benfords-law/K
\ No newline at end of file
diff --git a/Lang/K/Bulls-and-cows b/Lang/K/Bulls-and-cows
new file mode 120000
index 0000000000..97544c963d
--- /dev/null
+++ b/Lang/K/Bulls-and-cows
@@ -0,0 +1 @@
+../../Task/Bulls-and-cows/K
\ No newline at end of file
diff --git a/Lang/K/Circular-primes b/Lang/K/Circular-primes
new file mode 120000
index 0000000000..5e07afa7a8
--- /dev/null
+++ b/Lang/K/Circular-primes
@@ -0,0 +1 @@
+../../Task/Circular-primes/K
\ No newline at end of file
diff --git a/Lang/K/Compare-a-list-of-strings b/Lang/K/Compare-a-list-of-strings
new file mode 120000
index 0000000000..e673df5891
--- /dev/null
+++ b/Lang/K/Compare-a-list-of-strings
@@ -0,0 +1 @@
+../../Task/Compare-a-list-of-strings/K
\ No newline at end of file
diff --git a/Lang/K/Compare-length-of-two-strings b/Lang/K/Compare-length-of-two-strings
new file mode 120000
index 0000000000..9854a6e09b
--- /dev/null
+++ b/Lang/K/Compare-length-of-two-strings
@@ -0,0 +1 @@
+../../Task/Compare-length-of-two-strings/K
\ No newline at end of file
diff --git a/Lang/K/Descending-primes b/Lang/K/Descending-primes
new file mode 120000
index 0000000000..1478a33e22
--- /dev/null
+++ b/Lang/K/Descending-primes
@@ -0,0 +1 @@
+../../Task/Descending-primes/K
\ No newline at end of file
diff --git a/Lang/K/Distribution-of-0-digits-in-factorial-series b/Lang/K/Distribution-of-0-digits-in-factorial-series
new file mode 120000
index 0000000000..c4d66f6a7e
--- /dev/null
+++ b/Lang/K/Distribution-of-0-digits-in-factorial-series
@@ -0,0 +1 @@
+../../Task/Distribution-of-0-digits-in-factorial-series/K
\ No newline at end of file
diff --git a/Lang/K/Empty-program b/Lang/K/Empty-program
deleted file mode 120000
index f255a9c6f6..0000000000
--- a/Lang/K/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/K
\ No newline at end of file
diff --git a/Lang/K/Euler-method b/Lang/K/Euler-method
new file mode 120000
index 0000000000..c1f821dc7c
--- /dev/null
+++ b/Lang/K/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/K
\ No newline at end of file
diff --git a/Lang/K/Find-common-directory-path b/Lang/K/Find-common-directory-path
new file mode 120000
index 0000000000..21e1ffcdd3
--- /dev/null
+++ b/Lang/K/Find-common-directory-path
@@ -0,0 +1 @@
+../../Task/Find-common-directory-path/K
\ No newline at end of file
diff --git a/Lang/K/M-bius-function b/Lang/K/M-bius-function
new file mode 120000
index 0000000000..e4dca86d37
--- /dev/null
+++ b/Lang/K/M-bius-function
@@ -0,0 +1 @@
+../../Task/M-bius-function/K
\ No newline at end of file
diff --git a/Lang/K/Monads-Maybe-monad b/Lang/K/Monads-Maybe-monad
new file mode 120000
index 0000000000..c39136ba4b
--- /dev/null
+++ b/Lang/K/Monads-Maybe-monad
@@ -0,0 +1 @@
+../../Task/Monads-Maybe-monad/K
\ No newline at end of file
diff --git a/Lang/K/Monty-Hall-problem b/Lang/K/Monty-Hall-problem
new file mode 120000
index 0000000000..8fb0f9e98b
--- /dev/null
+++ b/Lang/K/Monty-Hall-problem
@@ -0,0 +1 @@
+../../Task/Monty-Hall-problem/K
\ No newline at end of file
diff --git a/Lang/K/Reverse-words-in-a-string b/Lang/K/Reverse-words-in-a-string
new file mode 120000
index 0000000000..d83b97640c
--- /dev/null
+++ b/Lang/K/Reverse-words-in-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-words-in-a-string/K
\ No newline at end of file
diff --git a/Lang/K/Sieve-of-Eratosthenes b/Lang/K/Sieve-of-Eratosthenes
new file mode 120000
index 0000000000..c66b9a1b22
--- /dev/null
+++ b/Lang/K/Sieve-of-Eratosthenes
@@ -0,0 +1 @@
+../../Task/Sieve-of-Eratosthenes/K
\ No newline at end of file
diff --git a/Lang/K/Square-free-integers b/Lang/K/Square-free-integers
new file mode 120000
index 0000000000..a0f2a0affe
--- /dev/null
+++ b/Lang/K/Square-free-integers
@@ -0,0 +1 @@
+../../Task/Square-free-integers/K
\ No newline at end of file
diff --git a/Lang/K/Substring b/Lang/K/Substring
new file mode 120000
index 0000000000..002d50df4f
--- /dev/null
+++ b/Lang/K/Substring
@@ -0,0 +1 @@
+../../Task/Substring/K
\ No newline at end of file
diff --git a/Lang/K/Sum-multiples-of-3-and-5 b/Lang/K/Sum-multiples-of-3-and-5
new file mode 120000
index 0000000000..625ba55b5f
--- /dev/null
+++ b/Lang/K/Sum-multiples-of-3-and-5
@@ -0,0 +1 @@
+../../Task/Sum-multiples-of-3-and-5/K
\ No newline at end of file
diff --git a/Lang/K/Tic-tac-toe b/Lang/K/Tic-tac-toe
new file mode 120000
index 0000000000..bdd7e9ba5b
--- /dev/null
+++ b/Lang/K/Tic-tac-toe
@@ -0,0 +1 @@
+../../Task/Tic-tac-toe/K
\ No newline at end of file
diff --git a/Lang/K/UTF-8-encode-and-decode b/Lang/K/UTF-8-encode-and-decode
new file mode 120000
index 0000000000..f38c9e1894
--- /dev/null
+++ b/Lang/K/UTF-8-encode-and-decode
@@ -0,0 +1 @@
+../../Task/UTF-8-encode-and-decode/K
\ No newline at end of file
diff --git a/Lang/K/Write-float-arrays-to-a-text-file b/Lang/K/Write-float-arrays-to-a-text-file
new file mode 120000
index 0000000000..2af99671ba
--- /dev/null
+++ b/Lang/K/Write-float-arrays-to-a-text-file
@@ -0,0 +1 @@
+../../Task/Write-float-arrays-to-a-text-file/K
\ No newline at end of file
diff --git a/Lang/Kantalo/00-LANG.txt b/Lang/Kantalo/00-LANG.txt
new file mode 100644
index 0000000000..453580c58d
--- /dev/null
+++ b/Lang/Kantalo/00-LANG.txt
@@ -0,0 +1,40 @@
+{{language|Kantalo
+|version=0.0.2
+|exec=interpreted
+|strength=weak
+|express=explicit
+|checking=dynamic
+|gc=yes
+|tags=Kantalo,Language
+|LCT=yes
+|hopl=no
+|safety=unsafe
+|site=http://kantalo.kesug.com/}}
+
+=={{header|Kantalo}}==
+
+Kantalo is a non-object-oriented programming language, with the aim of making it easier to use.
+
+==Main commands==
+
+Here are some kantalo commands:
+
+var.save - It is used to define variable.
+var.import - Import variable outside functions.
+var.edit - Edit an Existing Variable.
+terminal.text - Returns a message passed within the argument.
+terminal.input - Creates a text input.
+if- Used to create conditions .
+func - It is used to create functions.
+execute - Performs functions.
+
+
+Simple Hello world with kantalo:
+
+
+var.save nome = "Alice",
+func saudacao > (
+ terminal.text("Seja bem-vindo(a), -*nome*-!")
+)
+execute saudacao
+
\ No newline at end of file
diff --git a/Lang/Kantalo/00-META.yaml b/Lang/Kantalo/00-META.yaml
new file mode 100644
index 0000000000..c7d465ac08
--- /dev/null
+++ b/Lang/Kantalo/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Kantalo
diff --git a/Lang/Koka/00-LANG.txt b/Lang/Koka/00-LANG.txt
index 96ea39de13..540a8fe180 100644
--- a/Lang/Koka/00-LANG.txt
+++ b/Lang/Koka/00-LANG.txt
@@ -3,7 +3,7 @@
Releases:
- https://github.com/koka-lang/koka/releases
-Latest: v2.4.2
+Latest: v3.1.3
'''Language Reference'''
diff --git a/Lang/Koka/A+B b/Lang/Koka/A+B
new file mode 120000
index 0000000000..5fcfbb2462
--- /dev/null
+++ b/Lang/Koka/A+B
@@ -0,0 +1 @@
+../../Task/A+B/Koka
\ No newline at end of file
diff --git a/Lang/Koka/Extend-your-language b/Lang/Koka/Extend-your-language
new file mode 120000
index 0000000000..fa9d061610
--- /dev/null
+++ b/Lang/Koka/Extend-your-language
@@ -0,0 +1 @@
+../../Task/Extend-your-language/Koka
\ No newline at end of file
diff --git a/Lang/Koka/Jump-anywhere b/Lang/Koka/Jump-anywhere
new file mode 120000
index 0000000000..39d5f8124d
--- /dev/null
+++ b/Lang/Koka/Jump-anywhere
@@ -0,0 +1 @@
+../../Task/Jump-anywhere/Koka
\ No newline at end of file
diff --git a/Lang/Koka/Letter-frequency b/Lang/Koka/Letter-frequency
new file mode 120000
index 0000000000..35e2486b2e
--- /dev/null
+++ b/Lang/Koka/Letter-frequency
@@ -0,0 +1 @@
+../../Task/Letter-frequency/Koka
\ No newline at end of file
diff --git a/Lang/Koka/Loops-Break b/Lang/Koka/Loops-Break
new file mode 120000
index 0000000000..21d8774db0
--- /dev/null
+++ b/Lang/Koka/Loops-Break
@@ -0,0 +1 @@
+../../Task/Loops-Break/Koka
\ No newline at end of file
diff --git a/Lang/Koka/Man-or-boy-test b/Lang/Koka/Man-or-boy-test
new file mode 120000
index 0000000000..d04c480201
--- /dev/null
+++ b/Lang/Koka/Man-or-boy-test
@@ -0,0 +1 @@
+../../Task/Man-or-boy-test/Koka
\ No newline at end of file
diff --git a/Lang/Koka/Monads-Writer-monad b/Lang/Koka/Monads-Writer-monad
new file mode 120000
index 0000000000..21e3e4c596
--- /dev/null
+++ b/Lang/Koka/Monads-Writer-monad
@@ -0,0 +1 @@
+../../Task/Monads-Writer-monad/Koka
\ No newline at end of file
diff --git a/Lang/Koka/Nim-game b/Lang/Koka/Nim-game
new file mode 120000
index 0000000000..f3fed42c95
--- /dev/null
+++ b/Lang/Koka/Nim-game
@@ -0,0 +1 @@
+../../Task/Nim-game/Koka
\ No newline at end of file
diff --git a/Lang/Koka/Order-by-pair-comparisons b/Lang/Koka/Order-by-pair-comparisons
new file mode 120000
index 0000000000..f453142a5f
--- /dev/null
+++ b/Lang/Koka/Order-by-pair-comparisons
@@ -0,0 +1 @@
+../../Task/Order-by-pair-comparisons/Koka
\ No newline at end of file
diff --git a/Lang/Komodo/00-LANG.txt b/Lang/Komodo/00-LANG.txt
new file mode 100644
index 0000000000..90f6e00b5c
--- /dev/null
+++ b/Lang/Komodo/00-LANG.txt
@@ -0,0 +1,4 @@
+{{language
+|exec=interpreted
+|site=https://komodo-lang.org}}{{language programming paradigm|Declarative}}{{language programming paradigm|Procedural}}
+Komodo is a programming language to test ideas in a fast and easy way. It is ideal for problems with basic discrete structures, like numbers and words. Komodo tries to make operating with these entities as easy as possible while minimizing the amount of code needed to achieve a successful implementation. Komodo is a scripting language regarding its flexibility, but it is a pretty specific language with a lot of assumptions about how things should be. Komodo is an experimental language, and some of its features are there because I had a personal preference for them.
\ No newline at end of file
diff --git a/Lang/Komodo/00-META.yaml b/Lang/Komodo/00-META.yaml
new file mode 100644
index 0000000000..c626a5f324
--- /dev/null
+++ b/Lang/Komodo/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Komodo
diff --git a/Lang/Komodo/Arithmetic-Integer b/Lang/Komodo/Arithmetic-Integer
new file mode 120000
index 0000000000..bfaefbd88d
--- /dev/null
+++ b/Lang/Komodo/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/Komodo
\ No newline at end of file
diff --git a/Lang/Komodo/Array-concatenation b/Lang/Komodo/Array-concatenation
new file mode 120000
index 0000000000..bc329941d2
--- /dev/null
+++ b/Lang/Komodo/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/Komodo
\ No newline at end of file
diff --git a/Lang/Komodo/Empty-string b/Lang/Komodo/Empty-string
new file mode 120000
index 0000000000..9210767339
--- /dev/null
+++ b/Lang/Komodo/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/Komodo
\ No newline at end of file
diff --git a/Lang/Komodo/FizzBuzz b/Lang/Komodo/FizzBuzz
new file mode 120000
index 0000000000..49b35c998a
--- /dev/null
+++ b/Lang/Komodo/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Komodo
\ No newline at end of file
diff --git a/Lang/Komodo/Function-definition b/Lang/Komodo/Function-definition
new file mode 120000
index 0000000000..375c03b7e3
--- /dev/null
+++ b/Lang/Komodo/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/Komodo
\ No newline at end of file
diff --git a/Lang/Komodo/Greatest-element-of-a-list b/Lang/Komodo/Greatest-element-of-a-list
new file mode 120000
index 0000000000..61a341a27e
--- /dev/null
+++ b/Lang/Komodo/Greatest-element-of-a-list
@@ -0,0 +1 @@
+../../Task/Greatest-element-of-a-list/Komodo
\ No newline at end of file
diff --git a/Lang/Komodo/Hello-world-Text b/Lang/Komodo/Hello-world-Text
new file mode 120000
index 0000000000..cf4d6242bb
--- /dev/null
+++ b/Lang/Komodo/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Komodo
\ No newline at end of file
diff --git a/Lang/Komodo/Literals-Integer b/Lang/Komodo/Literals-Integer
new file mode 120000
index 0000000000..e770e3710e
--- /dev/null
+++ b/Lang/Komodo/Literals-Integer
@@ -0,0 +1 @@
+../../Task/Literals-Integer/Komodo
\ No newline at end of file
diff --git a/Lang/Komodo/Logical-operations b/Lang/Komodo/Logical-operations
new file mode 120000
index 0000000000..f15b7485a0
--- /dev/null
+++ b/Lang/Komodo/Logical-operations
@@ -0,0 +1 @@
+../../Task/Logical-operations/Komodo
\ No newline at end of file
diff --git a/Lang/Komodo/Null-object b/Lang/Komodo/Null-object
new file mode 120000
index 0000000000..a6a020a8ca
--- /dev/null
+++ b/Lang/Komodo/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Komodo
\ No newline at end of file
diff --git a/Lang/Komodo/Set b/Lang/Komodo/Set
new file mode 120000
index 0000000000..a5c8370f07
--- /dev/null
+++ b/Lang/Komodo/Set
@@ -0,0 +1 @@
+../../Task/Set/Komodo
\ No newline at end of file
diff --git a/Lang/Komodo/String-concatenation b/Lang/Komodo/String-concatenation
new file mode 120000
index 0000000000..72385e6195
--- /dev/null
+++ b/Lang/Komodo/String-concatenation
@@ -0,0 +1 @@
+../../Task/String-concatenation/Komodo
\ No newline at end of file
diff --git a/Lang/Kotlin/00-LANG.txt b/Lang/Kotlin/00-LANG.txt
index 5f33d4bd2a..95d9b59867 100644
--- a/Lang/Kotlin/00-LANG.txt
+++ b/Lang/Kotlin/00-LANG.txt
@@ -4,7 +4,7 @@
|site=http://kotlinlang.org
|hopl=no
}}
-Kotlin is a statically-typed programming language that runs on the [[JVM]] and can also be compiled to JavaScript. It is being developed by JetBrains with assistance from open source contributors and is intended for industrial use.
+Kotlin is a statically-typed programming language that runs on the [[runs on vm::Java Virtual Machine]] (JVM) and can also be compiled to JavaScript. It is being developed by JetBrains with assistance from open source contributors and is intended for industrial use.
In addition, a separate team at JetBrains is developing a version of Kotlin which compiles (via LLVM) directly to machine code for various platforms. The first Technology Preview for this version was rolled out in April 2017.
diff --git a/Lang/Kotlin/Bioinformatics-base-count b/Lang/Kotlin/Bioinformatics-base-count
deleted file mode 120000
index 998809c6ab..0000000000
--- a/Lang/Kotlin/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/Kotlin
\ No newline at end of file
diff --git a/Lang/Kotlin/Boyer-Moore-string-search b/Lang/Kotlin/Boyer-Moore-string-search
new file mode 120000
index 0000000000..985c6560bd
--- /dev/null
+++ b/Lang/Kotlin/Boyer-Moore-string-search
@@ -0,0 +1 @@
+../../Task/Boyer-Moore-string-search/Kotlin
\ No newline at end of file
diff --git a/Lang/Kotlin/Compare-length-of-two-strings b/Lang/Kotlin/Compare-length-of-two-strings
new file mode 120000
index 0000000000..a8c0b8d6cf
--- /dev/null
+++ b/Lang/Kotlin/Compare-length-of-two-strings
@@ -0,0 +1 @@
+../../Task/Compare-length-of-two-strings/Kotlin
\ No newline at end of file
diff --git a/Lang/Kotlin/Compiler-AST-interpreter b/Lang/Kotlin/Compiler-AST-interpreter
new file mode 120000
index 0000000000..5990b7f53e
--- /dev/null
+++ b/Lang/Kotlin/Compiler-AST-interpreter
@@ -0,0 +1 @@
+../../Task/Compiler-AST-interpreter/Kotlin
\ No newline at end of file
diff --git a/Lang/Kotlin/Factorial-primes b/Lang/Kotlin/Factorial-primes
new file mode 120000
index 0000000000..36b19250f9
--- /dev/null
+++ b/Lang/Kotlin/Factorial-primes
@@ -0,0 +1 @@
+../../Task/Factorial-primes/Kotlin
\ No newline at end of file
diff --git a/Lang/Kotlin/Miller-Rabin-primality-test b/Lang/Kotlin/Miller-Rabin-primality-test
deleted file mode 120000
index 4a724f8c08..0000000000
--- a/Lang/Kotlin/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Kotlin
\ No newline at end of file
diff --git a/Lang/Kotlin/Quaternion-type b/Lang/Kotlin/Quaternion-type
deleted file mode 120000
index a85b316d4c..0000000000
--- a/Lang/Kotlin/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Kotlin
\ No newline at end of file
diff --git a/Lang/Kotlin/Radical-of-an-integer b/Lang/Kotlin/Radical-of-an-integer
new file mode 120000
index 0000000000..e9d51e3e8d
--- /dev/null
+++ b/Lang/Kotlin/Radical-of-an-integer
@@ -0,0 +1 @@
+../../Task/Radical-of-an-integer/Kotlin
\ No newline at end of file
diff --git a/Lang/Kotlin/Sequence-nth-number-with-exactly-n-divisors b/Lang/Kotlin/Sequence:-nth-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Kotlin/Sequence-nth-number-with-exactly-n-divisors
rename to Lang/Kotlin/Sequence:-nth-number-with-exactly-n-divisors
diff --git a/Lang/Kotlin/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/Kotlin/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/Kotlin/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/Kotlin/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/Kotlin/Sequence-smallest-number-with-exactly-n-divisors b/Lang/Kotlin/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Kotlin/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/Kotlin/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/Kotlin/Sorting-Algorithms-Circle-Sort b/Lang/Kotlin/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index 74cde5ab2a..0000000000
--- a/Lang/Kotlin/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/Kotlin
\ No newline at end of file
diff --git a/Lang/Kotlin/Strassens-algorithm b/Lang/Kotlin/Strassens-algorithm
new file mode 120000
index 0000000000..f68cd59b88
--- /dev/null
+++ b/Lang/Kotlin/Strassens-algorithm
@@ -0,0 +1 @@
+../../Task/Strassens-algorithm/Kotlin
\ No newline at end of file
diff --git a/Lang/LDPL/Command-line-arguments b/Lang/LDPL/Command-line-arguments
new file mode 120000
index 0000000000..7b4b88a226
--- /dev/null
+++ b/Lang/LDPL/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/LDPL
\ No newline at end of file
diff --git a/Lang/LOLCODE/00-LANG.txt b/Lang/LOLCODE/00-LANG.txt
index 57c4165430..2195760c79 100644
--- a/Lang/LOLCODE/00-LANG.txt
+++ b/Lang/LOLCODE/00-LANG.txt
@@ -3,4 +3,21 @@
|site=http://lolcode.org/
|hopl=no
}}
+
+LOLCODE is an esoteric language created by Adam Lindsay in 2007. It was inspired by the [https://en.wikipedia.org/wiki/Lolcat lolcat] phenomenon which began a year earlier. LOLCODE uses intentionally grammatically incorrect text known as lolspeak, a humorous imagining of what a cat might say if it could speak something resembling English.
+
+Here is an example program that prints the numbers 0 through 9 to standard output:
+
+HAI 1.3
+
+IM IN YR loop UPPIN YR var TIL BOTH SAEM var AN 10
+ VISIBLE var
+IM OUTTA YR loop
+
+KTHXBYE
+
+
+==Todo==
+[https://rosettacode.org/wiki/Tasks_not_implemented_in_LOLCODE Tasks not implemented in LOLCODE]
+
[[Category:Esoteric Languages]]
\ No newline at end of file
diff --git a/Lang/LOLCODE/A+B b/Lang/LOLCODE/A+B
new file mode 120000
index 0000000000..d5ea45853c
--- /dev/null
+++ b/Lang/LOLCODE/A+B
@@ -0,0 +1 @@
+../../Task/A+B/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Arithmetic-Integer b/Lang/LOLCODE/Arithmetic-Integer
new file mode 120000
index 0000000000..bba2907420
--- /dev/null
+++ b/Lang/LOLCODE/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Boolean-values b/Lang/LOLCODE/Boolean-values
new file mode 120000
index 0000000000..b3ad6a0e0d
--- /dev/null
+++ b/Lang/LOLCODE/Boolean-values
@@ -0,0 +1 @@
+../../Task/Boolean-values/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Case-sensitivity-of-identifiers b/Lang/LOLCODE/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..32c69366ea
--- /dev/null
+++ b/Lang/LOLCODE/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Catalan-numbers b/Lang/LOLCODE/Catalan-numbers
new file mode 120000
index 0000000000..3fdf885cda
--- /dev/null
+++ b/Lang/LOLCODE/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Chinese-zodiac b/Lang/LOLCODE/Chinese-zodiac
new file mode 120000
index 0000000000..0169fc21dd
--- /dev/null
+++ b/Lang/LOLCODE/Chinese-zodiac
@@ -0,0 +1 @@
+../../Task/Chinese-zodiac/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Compound-data-type b/Lang/LOLCODE/Compound-data-type
new file mode 120000
index 0000000000..a58d5bfd2a
--- /dev/null
+++ b/Lang/LOLCODE/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Conditional-structures b/Lang/LOLCODE/Conditional-structures
new file mode 120000
index 0000000000..15617a63e0
--- /dev/null
+++ b/Lang/LOLCODE/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Copy-a-string b/Lang/LOLCODE/Copy-a-string
new file mode 120000
index 0000000000..deb186939a
--- /dev/null
+++ b/Lang/LOLCODE/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Determine-if-a-string-has-all-the-same-characters b/Lang/LOLCODE/Determine-if-a-string-has-all-the-same-characters
new file mode 120000
index 0000000000..492082be7e
--- /dev/null
+++ b/Lang/LOLCODE/Determine-if-a-string-has-all-the-same-characters
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-has-all-the-same-characters/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Dot-product b/Lang/LOLCODE/Dot-product
new file mode 120000
index 0000000000..0667fd8bc3
--- /dev/null
+++ b/Lang/LOLCODE/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Empty-program b/Lang/LOLCODE/Empty-program
new file mode 120000
index 0000000000..31b87c5a4b
--- /dev/null
+++ b/Lang/LOLCODE/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Evaluate-binomial-coefficients b/Lang/LOLCODE/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..f6f761fd40
--- /dev/null
+++ b/Lang/LOLCODE/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Function-definition b/Lang/LOLCODE/Function-definition
new file mode 120000
index 0000000000..c9fc3fa7a5
--- /dev/null
+++ b/Lang/LOLCODE/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Gotchas b/Lang/LOLCODE/Gotchas
new file mode 120000
index 0000000000..753dc0a0c3
--- /dev/null
+++ b/Lang/LOLCODE/Gotchas
@@ -0,0 +1 @@
+../../Task/Gotchas/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Hello-world-Newline-omission b/Lang/LOLCODE/Hello-world-Newline-omission
new file mode 120000
index 0000000000..29d6dd8c2e
--- /dev/null
+++ b/Lang/LOLCODE/Hello-world-Newline-omission
@@ -0,0 +1 @@
+../../Task/Hello-world-Newline-omission/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Integer-comparison b/Lang/LOLCODE/Integer-comparison
new file mode 120000
index 0000000000..565277c685
--- /dev/null
+++ b/Lang/LOLCODE/Integer-comparison
@@ -0,0 +1 @@
+../../Task/Integer-comparison/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Isqrt-integer-square-root-of-X b/Lang/LOLCODE/Isqrt-integer-square-root-of-X
new file mode 120000
index 0000000000..4aa1c0772e
--- /dev/null
+++ b/Lang/LOLCODE/Isqrt-integer-square-root-of-X
@@ -0,0 +1 @@
+../../Task/Isqrt-integer-square-root-of-X/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Jewels-and-stones b/Lang/LOLCODE/Jewels-and-stones
new file mode 120000
index 0000000000..5c30a50d3b
--- /dev/null
+++ b/Lang/LOLCODE/Jewels-and-stones
@@ -0,0 +1 @@
+../../Task/Jewels-and-stones/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Jordan-P-lya-numbers b/Lang/LOLCODE/Jordan-P-lya-numbers
new file mode 120000
index 0000000000..d942ad0dab
--- /dev/null
+++ b/Lang/LOLCODE/Jordan-P-lya-numbers
@@ -0,0 +1 @@
+../../Task/Jordan-P-lya-numbers/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Loops-Do-while b/Lang/LOLCODE/Loops-Do-while
new file mode 120000
index 0000000000..55da8969f1
--- /dev/null
+++ b/Lang/LOLCODE/Loops-Do-while
@@ -0,0 +1 @@
+../../Task/Loops-Do-while/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Loops-Downward-for b/Lang/LOLCODE/Loops-Downward-for
new file mode 120000
index 0000000000..098dda4410
--- /dev/null
+++ b/Lang/LOLCODE/Loops-Downward-for
@@ -0,0 +1 @@
+../../Task/Loops-Downward-for/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Loops-For b/Lang/LOLCODE/Loops-For
new file mode 120000
index 0000000000..131d677c68
--- /dev/null
+++ b/Lang/LOLCODE/Loops-For
@@ -0,0 +1 @@
+../../Task/Loops-For/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Loops-For-with-a-specified-step b/Lang/LOLCODE/Loops-For-with-a-specified-step
new file mode 120000
index 0000000000..5debcbe8c4
--- /dev/null
+++ b/Lang/LOLCODE/Loops-For-with-a-specified-step
@@ -0,0 +1 @@
+../../Task/Loops-For-with-a-specified-step/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Loops-N-plus-one-half b/Lang/LOLCODE/Loops-N-plus-one-half
new file mode 120000
index 0000000000..f67d63ceea
--- /dev/null
+++ b/Lang/LOLCODE/Loops-N-plus-one-half
@@ -0,0 +1 @@
+../../Task/Loops-N-plus-one-half/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Menu b/Lang/LOLCODE/Menu
new file mode 120000
index 0000000000..8ec9ba2bbb
--- /dev/null
+++ b/Lang/LOLCODE/Menu
@@ -0,0 +1 @@
+../../Task/Menu/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Nested-function b/Lang/LOLCODE/Nested-function
new file mode 120000
index 0000000000..28b8eedc4f
--- /dev/null
+++ b/Lang/LOLCODE/Nested-function
@@ -0,0 +1 @@
+../../Task/Nested-function/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Nim-game b/Lang/LOLCODE/Nim-game
new file mode 120000
index 0000000000..8694962a96
--- /dev/null
+++ b/Lang/LOLCODE/Nim-game
@@ -0,0 +1 @@
+../../Task/Nim-game/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Nth b/Lang/LOLCODE/Nth
new file mode 120000
index 0000000000..ca0f39b290
--- /dev/null
+++ b/Lang/LOLCODE/Nth
@@ -0,0 +1 @@
+../../Task/Nth/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Primality-by-trial-division b/Lang/LOLCODE/Primality-by-trial-division
new file mode 120000
index 0000000000..243da2a0b6
--- /dev/null
+++ b/Lang/LOLCODE/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Real-constants-and-functions b/Lang/LOLCODE/Real-constants-and-functions
new file mode 120000
index 0000000000..9cae154fda
--- /dev/null
+++ b/Lang/LOLCODE/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Repeat b/Lang/LOLCODE/Repeat
new file mode 120000
index 0000000000..bfb28ef859
--- /dev/null
+++ b/Lang/LOLCODE/Repeat
@@ -0,0 +1 @@
+../../Task/Repeat/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Repeat-a-string b/Lang/LOLCODE/Repeat-a-string
new file mode 120000
index 0000000000..b733bdc3e9
--- /dev/null
+++ b/Lang/LOLCODE/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Return-multiple-values b/Lang/LOLCODE/Return-multiple-values
new file mode 120000
index 0000000000..326bda4561
--- /dev/null
+++ b/Lang/LOLCODE/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Reverse-a-string b/Lang/LOLCODE/Reverse-a-string
new file mode 120000
index 0000000000..c092ce2e24
--- /dev/null
+++ b/Lang/LOLCODE/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Short-circuit-evaluation b/Lang/LOLCODE/Short-circuit-evaluation
new file mode 120000
index 0000000000..747e2d63b6
--- /dev/null
+++ b/Lang/LOLCODE/Short-circuit-evaluation
@@ -0,0 +1 @@
+../../Task/Short-circuit-evaluation/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Split-a-character-string-based-on-change-of-character b/Lang/LOLCODE/Split-a-character-string-based-on-change-of-character
new file mode 120000
index 0000000000..3d417eb3b9
--- /dev/null
+++ b/Lang/LOLCODE/Split-a-character-string-based-on-change-of-character
@@ -0,0 +1 @@
+../../Task/Split-a-character-string-based-on-change-of-character/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/String-concatenation b/Lang/LOLCODE/String-concatenation
new file mode 120000
index 0000000000..8f1d425354
--- /dev/null
+++ b/Lang/LOLCODE/String-concatenation
@@ -0,0 +1 @@
+../../Task/String-concatenation/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/String-interpolation-included- b/Lang/LOLCODE/String-interpolation-included-
new file mode 120000
index 0000000000..2477427706
--- /dev/null
+++ b/Lang/LOLCODE/String-interpolation-included-
@@ -0,0 +1 @@
+../../Task/String-interpolation-included-/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Sum-of-a-series b/Lang/LOLCODE/Sum-of-a-series
new file mode 120000
index 0000000000..3071bb174e
--- /dev/null
+++ b/Lang/LOLCODE/Sum-of-a-series
@@ -0,0 +1 @@
+../../Task/Sum-of-a-series/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Terminal-control-Display-an-extended-character b/Lang/LOLCODE/Terminal-control-Display-an-extended-character
new file mode 120000
index 0000000000..506d7e357c
--- /dev/null
+++ b/Lang/LOLCODE/Terminal-control-Display-an-extended-character
@@ -0,0 +1 @@
+../../Task/Terminal-control-Display-an-extended-character/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Terminal-control-Ringing-the-terminal-bell b/Lang/LOLCODE/Terminal-control-Ringing-the-terminal-bell
new file mode 120000
index 0000000000..a3dce93aeb
--- /dev/null
+++ b/Lang/LOLCODE/Terminal-control-Ringing-the-terminal-bell
@@ -0,0 +1 @@
+../../Task/Terminal-control-Ringing-the-terminal-bell/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Tokenize-a-string b/Lang/LOLCODE/Tokenize-a-string
new file mode 120000
index 0000000000..61653af306
--- /dev/null
+++ b/Lang/LOLCODE/Tokenize-a-string
@@ -0,0 +1 @@
+../../Task/Tokenize-a-string/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Topic-variable b/Lang/LOLCODE/Topic-variable
new file mode 120000
index 0000000000..8a1f58e75e
--- /dev/null
+++ b/Lang/LOLCODE/Topic-variable
@@ -0,0 +1 @@
+../../Task/Topic-variable/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Variable-declaration-reset b/Lang/LOLCODE/Variable-declaration-reset
new file mode 120000
index 0000000000..126975a58e
--- /dev/null
+++ b/Lang/LOLCODE/Variable-declaration-reset
@@ -0,0 +1 @@
+../../Task/Variable-declaration-reset/LOLCODE
\ No newline at end of file
diff --git a/Lang/LOLCODE/Zeckendorf-number-representation b/Lang/LOLCODE/Zeckendorf-number-representation
new file mode 120000
index 0000000000..093dc5325c
--- /dev/null
+++ b/Lang/LOLCODE/Zeckendorf-number-representation
@@ -0,0 +1 @@
+../../Task/Zeckendorf-number-representation/LOLCODE
\ No newline at end of file
diff --git a/Lang/LSE/Empty-program b/Lang/LSE/Empty-program
deleted file mode 120000
index 16856f6969..0000000000
--- a/Lang/LSE/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/LSE
\ No newline at end of file
diff --git a/Lang/LSL/00-LANG.txt b/Lang/LSL/00-LANG.txt
index bdb68f1bc2..3025477b27 100644
--- a/Lang/LSL/00-LANG.txt
+++ b/Lang/LSL/00-LANG.txt
@@ -1,25 +1,42 @@
{{language
|hopl=no
}}
-The [[wp:Linden_Scripting_Language|'''Linden Scripting Language''']], usually just called '''LSL''' for short, is a language developed by [http://en.wikipedia.org/wiki/Linden_Lab Linden Labs] for their [[wp:Second_Life|Second Life]] virtual world. LSL allows Second Life objects to sense, respond to events, and interact with the (virtual) world around them, and the Avatars in that world.
+'''LSL''' ([[wp:Linden_Scripting_Language|'''Linden Scripting Language''']]) is the scripting language developed by [http://en.wikipedia.org/wiki/Linden_Lab Linden Labs] for their virtual sandbox world [[wp:Second_Life|Second Life]]. Also [[wp:OpenSimulator|OpenSimulator]] along with other [https://omrg.org Open Metaverse] proprietors run a largely compatible superset version of LSL. LSL scripts allow objects rezzed in-world(in-game) to interact with and manipulate the virtual world around them, but also the internet in limited fashion. LSL has many built-in functions, and the ability for inter script messaging, http POST and GET requests, gui dialog boxes, chat channel messaging, java & C like semantics, is turning complete, etc.
+
+==In Depth: Syntax Structure==
+LSL is C-like with scoping of local varaibles and global; strict typing with type-recasting possible; use of {} to encapsulate function blocks, and ; to denote an execution block, and () to encapsulate parameters, and equivalency from right to left and for assignment myint=1-2, variables can be formed as procedures that return a value. Oprands are the same, but there are no pointers nor triple oprands such as +++.
+LSL is not like C in many ways, there are only 3 basic types, and 4 special types of data structures: integer (unsigned 32bit), float (unsigned 32bit), string (max string length varies), key ( a 32bit base16 UUID often treated as a string),vectors (set of three floats, aka a tuple <0.0,0.0,0.0> ); quaternions or rot ( set of four floats <0.0,0.0,0.0,0.0> ); lists (1D array that can contain any of or a mix of types of data), There is no void as a type! Nor is there any keyword for functions. Simply outside of a script's default loop function called a state, one forms a function with it's name(type prams){;} and can be called anywhere else. Over-loading is not valid, nor is under-loading when calling a function or variable-function that returns a value.
+
+==In Depth: Where & when LSL scripts can run==
+Rezzing is dragging and dropping from the user's inventory into to the virtual world space, or being worn as attachments to one's avatar (including HUDs). These aforementioned objects take the form of built-in 3d models of basic shapes commonly known as primitives or just prims, sculpted prims, and user uploaded 3D models. Each object has in-turn it's own inventory where the scripts run. In truth one can link many objects into a meta-object known as a link-set, each linked object retains it's own inventory instance, and running scripts. When an object is derezzed, that is brought back into the user's inventory, or an attached object derezzes when the user logs off the scripts' current status is paused and saved.
+
+==In Depth: LSL basic script structure==
+Each script must contain a default script state, this is very similar to the default loop found with in Arduino Clike programming. It is possible to switch the currently running state of a script to a knew one, and back again, thus ignoring/clearing any callback functions called "events". (However the timer does not get cleared upon state changes).
+Each state in LSL scripts can have built in call-back functions known as "event types" which are triggered with interrupt like behavior from a cue that is filled by the current simulator or sim (a sim is world instance, generally a 256x256meter block, although some communication with adjacent sims maybe possible) the script is residing in. Most events are repeatable, but there are logically single fire events such as state_entry, on_rez, on_attach, on_deattach. Aforementioned user functions, variables,
+
+==Back-ends of LSL with in Second-Life==
+In Second-life, one can save & run scripts optionally for the two current back-ends that actually run the code over a server, each with their own pros and cons.
+[https://wiki.secondlife.com/wiki/LSO LSO] exists for backward compatibility. LSO saved scripts are interpreted at runtime by the server. LSO scripts take less initial script memory, they are limited to less available memory as well. In rare circumstances LSO may run faster than MONO. However LSO suffers from memory fragmentation slow downs with list connotation (there are some work around). LSO handles the jump to @location in unexpected ways.
+Mono saved scripts are compiled under [[wp:Mono_(software)|Mono]] (the most recent) to byte-code ran by the server.
+ Most scripts will benefit from being set to MONO compilation for greater speed and more available memory, at the cost of higher initial memory used.
==Flavors of LSL==
-There are currently three flavors of the LSL language
-# LSL compiled under [[wp:Mono_(software)|Mono]] (the most recent)
-# The original interpreted version (no longer being developed and only exists for backward compatibility)
-# A largely compatible version of LSL that can run in the [[wp:OpenSimulator|OpenSimulator]] virtual world.
+# A largely compatible version of LSL that can run in the [[http://opensimulator.org/wiki/OSSL_Script_Library|OpenSimulator]] virtual world.
==Documentation==
There are two popular web sites documenting LSL
# Second Life's own [http://wiki.secondlife.com/wiki/LSL_Portal LSL Portal]
# a user supported [http://lslwiki.net/lslwiki/wakka.php LSL Wiki]
-==Libraries==
+==Libraries of Scripts==
There exists several open source libraries where users share code
+* [https://outworldz.com/cgi/freescripts.plx Free LSL Scripts]
* [http://community.secondlife.com/t5/LSL-Scripting-Library/bd-p/LSLScriptingLibrary LSL Scripting Library]
* [http://wiki.secondlife.com/wiki/Category:LSL_Examples LSL Examples]
-* [http://www.free-lsl-scripts.com/cgi/freescripts.plx Free LSL Scripts]
* [http://community.secondlife.com/t5/LSL-Scripting/bd-p/LSLScripting LSL Scripting]
==External Editors==
-There are also many [http://wiki.secondlife.com/wiki/LSL_Alternate_Editors external editors] for LSL allowing you to write, syntax check, and (to a limited extent) execute LSL outside of the Second Life environment. You will need to sign up at [http://secondlife.com Second Life] and have a Second Life account to execute LSL in the virtual world. Your scripts can exist by themselves in a folder of your inventory, or in an Object in your inventory, but need to be in an Object that is in-world to execute (if an Object containing scripts is taken in to your inventory, the scripts will be suspended and will resume when brought out in to the world again.)
\ No newline at end of file
+There are also many [http://wiki.secondlife.com/wiki/LSL_Alternate_Editors external editors] for LSL allowing you to write with highlighting, [https://github.com/Feay/LSL-for-Scite api tool-tips], [https://github.com/Makopo/lslint syntax check], and (to a limited extent)
+[https://github.com/Sei-Lisa/LSL-compiler compile and execute LSL] outside of the Second Life environment.
+
+You will need to sign up at [http://secondlife.com Second Life] and have a Second Life account to execute LSL in the virtual world. Your scripts can exist by themselves in a folder of your inventory, or in an Object in your inventory, but need to be in an Object that is in-world to execute (if an Object containing scripts is taken in to your inventory, the scripts will be suspended and will resume when brought out in to the world again.)
\ No newline at end of file
diff --git a/Lang/LSL/Binary-digits b/Lang/LSL/Binary-digits
new file mode 120000
index 0000000000..54627407f6
--- /dev/null
+++ b/Lang/LSL/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/LSL
\ No newline at end of file
diff --git a/Lang/Labyrinth/00-LANG.txt b/Lang/Labyrinth/00-LANG.txt
new file mode 100644
index 0000000000..6b7624f3ac
--- /dev/null
+++ b/Lang/Labyrinth/00-LANG.txt
@@ -0,0 +1 @@
+{{stub}}{{language|site=https://github.com/m-ender/labyrinth}}
\ No newline at end of file
diff --git a/Lang/Labyrinth/00-META.yaml b/Lang/Labyrinth/00-META.yaml
new file mode 100644
index 0000000000..2e09fd26db
--- /dev/null
+++ b/Lang/Labyrinth/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Labyrinth
diff --git a/Lang/Lambdatalk/Bioinformatics-base-count b/Lang/Lambdatalk/Bioinformatics-base-count
deleted file mode 120000
index 03508c2431..0000000000
--- a/Lang/Lambdatalk/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/Lambdatalk
\ No newline at end of file
diff --git a/Lang/Langur/00-LANG.txt b/Lang/Langur/00-LANG.txt
index c2da20439a..612e66c8de 100644
--- a/Lang/Langur/00-LANG.txt
+++ b/Lang/Langur/00-LANG.txt
@@ -3,12 +3,22 @@
|hopl=no
}}
-Langur is an open-source imperative/functional programming language. The name langur begins with a lowercase letter when it does not start a sentence.
+Langur is an open-source programming language that natively uses arbitrary-precision decimal floating point, and deals with extremely large and small numbers. It also has native complex numbers that are arbitrary-precision decimal. Its principles of design are accuracy in calculation and a concise, expressive syntax.
-Langur code can be run with script files or with its REPL. The recommended file name extension is .langur.
+Langur has a high number of mathematical operators (rem, mod, etc.) and logical operators (including nand, nor, nxor).
-Langur uses a hash mark for single line comments. Therefore, script files may begin with a shebang to tell a Linux shell where to find the interpreter.
+Langur has date/time literals (using ISO 8601 syntax) and duration literals.
-Source code is in UTF-8, with no BOM, using Linux line returns (line feed) only.
+Langur has flexible parameter options, with both positional parameters and parameters by name, and with parameter expansion (on last positional parameter). Parameters by name may be optional or required.
+
+Langur uses exceptions instead of error codes.
+
+Langur code can be run from executable files, or you can use interactive mode or the REPL. The file name extension is .langur.
+
+Langur uses a hash mark for single line comments. Therefore, script files can begin with a shebang to tell a Linux shell where to find the interpreter.
+
+Source code is always UTF-8, with no BOM, using Linux line returns (line feed) only.
+
+The name langur begins with a lowercase letter when it does not start a sentence.
website: https://langurlang.org/
\ No newline at end of file
diff --git a/Lang/Langur/99-bottles-of-beer b/Lang/Langur/99-bottles-of-beer
new file mode 120000
index 0000000000..043a4c56e9
--- /dev/null
+++ b/Lang/Langur/99-bottles-of-beer
@@ -0,0 +1 @@
+../../Task/99-bottles-of-beer/Langur
\ No newline at end of file
diff --git a/Lang/Langur/Angle-difference-between-two-bearings b/Lang/Langur/Angle-difference-between-two-bearings
new file mode 120000
index 0000000000..7b4ef17804
--- /dev/null
+++ b/Lang/Langur/Angle-difference-between-two-bearings
@@ -0,0 +1 @@
+../../Task/Angle-difference-between-two-bearings/Langur
\ No newline at end of file
diff --git a/Lang/Langur/Arithmetic-Complex b/Lang/Langur/Arithmetic-Complex
new file mode 120000
index 0000000000..5341d853ac
--- /dev/null
+++ b/Lang/Langur/Arithmetic-Complex
@@ -0,0 +1 @@
+../../Task/Arithmetic-Complex/Langur
\ No newline at end of file
diff --git a/Lang/Langur/Babbage-problem b/Lang/Langur/Babbage-problem
new file mode 120000
index 0000000000..662297217a
--- /dev/null
+++ b/Lang/Langur/Babbage-problem
@@ -0,0 +1 @@
+../../Task/Babbage-problem/Langur
\ No newline at end of file
diff --git a/Lang/Langur/Currency b/Lang/Langur/Currency
new file mode 120000
index 0000000000..5a712c5b9d
--- /dev/null
+++ b/Lang/Langur/Currency
@@ -0,0 +1 @@
+../../Task/Currency/Langur
\ No newline at end of file
diff --git a/Lang/Langur/Enforced-immutability b/Lang/Langur/Enforced-immutability
new file mode 120000
index 0000000000..a6a872e8c6
--- /dev/null
+++ b/Lang/Langur/Enforced-immutability
@@ -0,0 +1 @@
+../../Task/Enforced-immutability/Langur
\ No newline at end of file
diff --git a/Lang/Langur/I-before-E-except-after-C b/Lang/Langur/I-before-E-except-after-C
new file mode 120000
index 0000000000..a4c67c55c7
--- /dev/null
+++ b/Lang/Langur/I-before-E-except-after-C
@@ -0,0 +1 @@
+../../Task/I-before-E-except-after-C/Langur
\ No newline at end of file
diff --git a/Lang/Langur/Monty-Hall-problem b/Lang/Langur/Monty-Hall-problem
new file mode 120000
index 0000000000..b5a048c861
--- /dev/null
+++ b/Lang/Langur/Monty-Hall-problem
@@ -0,0 +1 @@
+../../Task/Monty-Hall-problem/Langur
\ No newline at end of file
diff --git a/Lang/Langur/Morse-code b/Lang/Langur/Morse-code
new file mode 120000
index 0000000000..ee4498f8de
--- /dev/null
+++ b/Lang/Langur/Morse-code
@@ -0,0 +1 @@
+../../Task/Morse-code/Langur
\ No newline at end of file
diff --git a/Lang/Langur/Old-Russian-measure-of-length b/Lang/Langur/Old-Russian-measure-of-length
new file mode 120000
index 0000000000..45d7b04413
--- /dev/null
+++ b/Lang/Langur/Old-Russian-measure-of-length
@@ -0,0 +1 @@
+../../Task/Old-Russian-measure-of-length/Langur
\ No newline at end of file
diff --git a/Lang/Langur/Program-name b/Lang/Langur/Program-name
deleted file mode 120000
index 04198cf0de..0000000000
--- a/Lang/Langur/Program-name
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Program-name/Langur
\ No newline at end of file
diff --git a/Lang/Langur/Safe-addition b/Lang/Langur/Safe-addition
new file mode 120000
index 0000000000..9cd478ca7f
--- /dev/null
+++ b/Lang/Langur/Safe-addition
@@ -0,0 +1 @@
+../../Task/Safe-addition/Langur
\ No newline at end of file
diff --git a/Lang/Langur/String-interpolation-included- b/Lang/Langur/String-interpolation-included-
new file mode 120000
index 0000000000..e0b5bfaf9c
--- /dev/null
+++ b/Lang/Langur/String-interpolation-included-
@@ -0,0 +1 @@
+../../Task/String-interpolation-included-/Langur
\ No newline at end of file
diff --git a/Lang/Lapyst/00-LANG.txt b/Lang/Lapyst/00-LANG.txt
new file mode 100644
index 0000000000..4b906ad0c0
--- /dev/null
+++ b/Lang/Lapyst/00-LANG.txt
@@ -0,0 +1,14 @@
+{{stub}}
+{{language|Lapyst
+|site=https://lang.lapyst.dev
+|exec=both
+|parampass=both
+|strength=strong
+|express=both
+|checking=static
+|tags=lapyst
+|gc=yes (optional)}}
+
+Lapyst is an general-purpose language designed by [[User:Mai Lapyst]]. It features multiple backend strategies (machinecode, bytecode and interpretation), while combining many usefull features of other languages for the user to choose from. The philosophy in the language is generally to empower the user and give it as much choice as possible.
+
+The current default implementation is [[Lapystc]].
\ No newline at end of file
diff --git a/Lang/Lapyst/00-META.yaml b/Lang/Lapyst/00-META.yaml
new file mode 100644
index 0000000000..3187527652
--- /dev/null
+++ b/Lang/Lapyst/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Lapyst
diff --git a/Lang/Lapyst/Conditional-structures b/Lang/Lapyst/Conditional-structures
new file mode 120000
index 0000000000..d244d152bd
--- /dev/null
+++ b/Lang/Lapyst/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Lapyst
\ No newline at end of file
diff --git a/Lang/Lean/00-LANG.txt b/Lang/Lean/00-LANG.txt
index 174b82817c..ae97385d36 100644
--- a/Lang/Lean/00-LANG.txt
+++ b/Lang/Lean/00-LANG.txt
@@ -1,17 +1,22 @@
-{{language
+{{language|Lean
|exec=machine
|strength=strong
|safety=safe
|checking=both
|gc=yes
-|LCT=yes}}
-{{implementation|Lean}}
+|LCT=yes
+|site=https://lean-lang.org/}}
{{language programming paradigm|functional}}
{{language programming paradigm|dependent-types}}
+'''Lean''' is a dependently typed programming language and proof assistant, similar to [[Rocq]] and [[Agda]]. It aims to bridge the gap between interactive and automated theorem proving by situating automated tools and methods in a framework that supports user interaction and the construction of fully specified axiomatic proofs.
-'''Lean''' is an open source theorem prover and programming language being developed at Microsoft Research.
+As a proof assistant / theorem prover, Lean primarily benefits from Mathlib, a mechanized implementation of swaths of mathematics at the undergraduate and graduate level.
-Lean aims to bridge the gap between interactive and automated theorem proving, by situating automated tools and methods in a framework that supports user interaction and the construction of fully specified axiomatic proofs.
+As a general-purpose programming language, Lean benefits from its use as a theorem prover, as several features developed for the purpose of theorem proving, such as its dependent types system and its syntax-rewriting macros, also find much utility outside their original theorem proving contexts.
-https://leanprover.github.io/about/
\ No newline at end of file
+Lean 4 is the current major version of the language, being a bootstrapped rewrite of the older (and different) Lean 3 system.
+
+=== Citations ===
+
+Frequently asked questions: https://lean-lang.org/faq/
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Calculating-the-value-of-e b/Lang/Liberty-BASIC/Calculating-the-value-of-e
new file mode 120000
index 0000000000..95f95733b8
--- /dev/null
+++ b/Lang/Liberty-BASIC/Calculating-the-value-of-e
@@ -0,0 +1 @@
+../../Task/Calculating-the-value-of-e/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Egyptian-division b/Lang/Liberty-BASIC/Egyptian-division
new file mode 120000
index 0000000000..91346c7989
--- /dev/null
+++ b/Lang/Liberty-BASIC/Egyptian-division
@@ -0,0 +1 @@
+../../Task/Egyptian-division/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Hunt-the-Wumpus b/Lang/Liberty-BASIC/Hunt-the-Wumpus
new file mode 120000
index 0000000000..4e2d0e150d
--- /dev/null
+++ b/Lang/Liberty-BASIC/Hunt-the-Wumpus
@@ -0,0 +1 @@
+../../Task/Hunt-the-Wumpus/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Jacobsthal-numbers b/Lang/Liberty-BASIC/Jacobsthal-numbers
new file mode 120000
index 0000000000..c1008ff58b
--- /dev/null
+++ b/Lang/Liberty-BASIC/Jacobsthal-numbers
@@ -0,0 +1 @@
+../../Task/Jacobsthal-numbers/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Jaro-similarity b/Lang/Liberty-BASIC/Jaro-similarity
new file mode 120000
index 0000000000..0f3ee067c6
--- /dev/null
+++ b/Lang/Liberty-BASIC/Jaro-similarity
@@ -0,0 +1 @@
+../../Task/Jaro-similarity/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Miller-Rabin-primality-test b/Lang/Liberty-BASIC/Miller-Rabin-primality-test
deleted file mode 120000
index 01eccc1a73..0000000000
--- a/Lang/Liberty-BASIC/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Minesweeper-game b/Lang/Liberty-BASIC/Minesweeper-game
new file mode 120000
index 0000000000..19abfc9a07
--- /dev/null
+++ b/Lang/Liberty-BASIC/Minesweeper-game
@@ -0,0 +1 @@
+../../Task/Minesweeper-game/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Numbers-which-are-not-the-sum-of-distinct-squares b/Lang/Liberty-BASIC/Numbers-which-are-not-the-sum-of-distinct-squares
new file mode 120000
index 0000000000..18d07e8ad3
--- /dev/null
+++ b/Lang/Liberty-BASIC/Numbers-which-are-not-the-sum-of-distinct-squares
@@ -0,0 +1 @@
+../../Task/Numbers-which-are-not-the-sum-of-distinct-squares/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Numbers-with-equal-rises-and-falls b/Lang/Liberty-BASIC/Numbers-with-equal-rises-and-falls
new file mode 120000
index 0000000000..019f830246
--- /dev/null
+++ b/Lang/Liberty-BASIC/Numbers-with-equal-rises-and-falls
@@ -0,0 +1 @@
+../../Task/Numbers-with-equal-rises-and-falls/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Poker-hand-analyser b/Lang/Liberty-BASIC/Poker-hand-analyser
new file mode 120000
index 0000000000..3ed8c3b507
--- /dev/null
+++ b/Lang/Liberty-BASIC/Poker-hand-analyser
@@ -0,0 +1 @@
+../../Task/Poker-hand-analyser/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Primality-by-Wilsons-theorem b/Lang/Liberty-BASIC/Primality-by-Wilsons-theorem
new file mode 120000
index 0000000000..d68ab9bb3f
--- /dev/null
+++ b/Lang/Liberty-BASIC/Primality-by-Wilsons-theorem
@@ -0,0 +1 @@
+../../Task/Primality-by-Wilsons-theorem/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Quaternion-type b/Lang/Liberty-BASIC/Quaternion-type
deleted file mode 120000
index 33da9602b0..0000000000
--- a/Lang/Liberty-BASIC/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Snake b/Lang/Liberty-BASIC/Snake
new file mode 120000
index 0000000000..20a60d8427
--- /dev/null
+++ b/Lang/Liberty-BASIC/Snake
@@ -0,0 +1 @@
+../../Task/Snake/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Lilypond/00-LANG.txt b/Lang/Lilypond/00-LANG.txt
index 5c24c70c93..9afe2b1bd9 100644
--- a/Lang/Lilypond/00-LANG.txt
+++ b/Lang/Lilypond/00-LANG.txt
@@ -1,9 +1 @@
-{{stub}}
-{{language|lilypond
-|site=http://www.lilypond.org/
-|hopl=no
-}}
-
-The lilypond language is used by the lilypond score production software for describing the layout of musical score sheets.
-
-[[Category:Musical Notation]]
\ No newline at end of file
+#REDIRECT [[:Category:LilyPond]]
\ No newline at end of file
diff --git a/Lang/Locomotive-Basic/00-LANG.txt b/Lang/Locomotive-Basic/00-LANG.txt
index 04db5b5ea8..5045a1b047 100644
--- a/Lang/Locomotive-Basic/00-LANG.txt
+++ b/Lang/Locomotive-Basic/00-LANG.txt
@@ -7,9 +7,9 @@
'''Locomotive BASIC''' is a variant of BASIC that is built into the ROM of the [[wp:Amstrad CPC|Amstrad CPC]] series of home computers introduced in 1984. In the 1980s, the CPC was a popular, slightly more expensive alternative to the Commodore C64/C128. It was not just suited for games but also office work because of its high resolution display and [[wp:CP/M|CP/M]] support.
-The easiest way to use Locomotive BASIC today is [https://benchmarko.github.io/CPCBasic/cpcbasic.html CPCBasic], a very fast implementation in JavaScript which also allows easy pasting of code from Rosetta Code. Note that programs will run much faster in CPCBasic than on a real CPC. To slow down a program, add an extra delay loop to the main loop, e.g.:for delay=1 to 5:frame:next which will pause for five frames or 0.1 seconds.
+The easiest way to use Locomotive BASIC today is [https://benchmarko.github.io/CPCBasic/cpcbasic.html CPCBasic], a very fast implementation in JavaScript which also allows easy pasting of code from Rosetta Code. Note that programs will run much faster in CPCBasic than on a real CPC. To slow down a program, add an extra delay loop to the main loop, e.g. for delay=1 to 5:frame:nextwhich will pause for five frames or 0.1 seconds.
-[https://www.retrovm.com/ CPCBox] is another option for the web browser, a whole-machine JavaScript CPC emulator mainly for games which has good compatibility but which lacks copy and paste support.
+[https://retroshowcase.gr/cpcbox-master/ CPCBox] is another option for the web browser, a whole-machine JavaScript CPC emulator mainly for games which has good compatibility but which lacks copy and paste support.
Locomotive BASIC can also be used via native CPC emulators such as [http://www.winape.net/ WinAPE] (Windows) or [http://sourceforge.net/projects/javacpc/ JavaCPC] (Windows/macOS/Linux). All these CPC emulators are also perfectly legal because Amstrad has given their permission for distributing CPC ROM images with emulators.
@@ -19,14 +19,14 @@ Either use the CPCBasic browser-based Locomotive Basic emulator (https://benchma
In CPCBasic, enter your program, e.g.
-10 print "Hello World!"
+10 print "Hello World!"
into the "CPC Basic" text box at the top and then press the Run button below it. Output goes to the blue CPC screen below. You can also interact with the CPC screen directly if you first click on it with the mouse. The Reset button stops a running program and returns you to the Ready prompt.
In a native emulator, just type
-10 print "Hello World!"
-run
+10 print "Hello World!"
+run
to run your first Locomotive BASIC program.
@@ -56,7 +56,7 @@ As on many other 8-bit machines of the era, BASIC programs are often extended wi
Memory on the CPC 464 and 664 is subdivided into four 16 kB blocks (0 to 3), with block 3 at &c000 normally reserved for the screen. The CPC 6128 features a second 64 kB bank (blocks 4 to 7) which can be accessed from BASIC with [[wp:Bank switching|bank switching]] in block 1 (&4000 and &7fff), e.g.
-out &7fff,&x11000100
+out &7fff,&x11000100
would make block 4 accessible in the address space of block 1.http://k1.dyndns.org/Vintage/Schneider%20CPC/Das%20Schneider%20CPC%20Systembuch/z87.htm This way, the entire 128 kB of memory can be used by BASIC. Alternatively, RSX commands for bank switching and copying between banks are included on the system discs and discussed in chapter 8 of the CPC user manual.http://www.cpcwiki.eu/index.php/User_Manual Even on the 64 kB models, it is possible to do [[wp:Multiple buffering|double buffering]] in BASIC by reserving another RAM block for the screen, drawing into the hidden screen, and then setting the CRTC screen address to the currently hidden screen with the BASIC [[wp:I/o port|port I/O]] command OUT.
diff --git a/Lang/Locomotive-Basic/Abelian-sandpile-model b/Lang/Locomotive-Basic/Abelian-sandpile-model
new file mode 120000
index 0000000000..e00a530896
--- /dev/null
+++ b/Lang/Locomotive-Basic/Abelian-sandpile-model
@@ -0,0 +1 @@
+../../Task/Abelian-sandpile-model/Locomotive-Basic
\ No newline at end of file
diff --git a/Lang/Locomotive-Basic/Animate-a-pendulum b/Lang/Locomotive-Basic/Animate-a-pendulum
new file mode 120000
index 0000000000..32a0ee5149
--- /dev/null
+++ b/Lang/Locomotive-Basic/Animate-a-pendulum
@@ -0,0 +1 @@
+../../Task/Animate-a-pendulum/Locomotive-Basic
\ No newline at end of file
diff --git a/Lang/Locomotive-Basic/Dragon-curve b/Lang/Locomotive-Basic/Dragon-curve
new file mode 120000
index 0000000000..2088f12a68
--- /dev/null
+++ b/Lang/Locomotive-Basic/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/Locomotive-Basic
\ No newline at end of file
diff --git a/Lang/Locomotive-Basic/Draw-a-cuboid b/Lang/Locomotive-Basic/Draw-a-cuboid
new file mode 120000
index 0000000000..cbfb396b7f
--- /dev/null
+++ b/Lang/Locomotive-Basic/Draw-a-cuboid
@@ -0,0 +1 @@
+../../Task/Draw-a-cuboid/Locomotive-Basic
\ No newline at end of file
diff --git a/Lang/Locomotive-Basic/Forest-fire b/Lang/Locomotive-Basic/Forest-fire
new file mode 120000
index 0000000000..44a3c54d6a
--- /dev/null
+++ b/Lang/Locomotive-Basic/Forest-fire
@@ -0,0 +1 @@
+../../Task/Forest-fire/Locomotive-Basic
\ No newline at end of file
diff --git a/Lang/Locomotive-Basic/Hilbert-curve b/Lang/Locomotive-Basic/Hilbert-curve
new file mode 120000
index 0000000000..8355f1c6bf
--- /dev/null
+++ b/Lang/Locomotive-Basic/Hilbert-curve
@@ -0,0 +1 @@
+../../Task/Hilbert-curve/Locomotive-Basic
\ No newline at end of file
diff --git a/Lang/Locomotive-Basic/Koch-curve b/Lang/Locomotive-Basic/Koch-curve
new file mode 120000
index 0000000000..87294988f6
--- /dev/null
+++ b/Lang/Locomotive-Basic/Koch-curve
@@ -0,0 +1 @@
+../../Task/Koch-curve/Locomotive-Basic
\ No newline at end of file
diff --git a/Lang/Loglan82/AKS-test-for-primes b/Lang/Loglan82/AKS-test-for-primes
new file mode 120000
index 0000000000..335d9d190f
--- /dev/null
+++ b/Lang/Loglan82/AKS-test-for-primes
@@ -0,0 +1 @@
+../../Task/AKS-test-for-primes/Loglan82
\ No newline at end of file
diff --git a/Lang/Loglan82/Abundant-deficient-and-perfect-number-classifications b/Lang/Loglan82/Abundant-deficient-and-perfect-number-classifications
new file mode 120000
index 0000000000..c3fb63599e
--- /dev/null
+++ b/Lang/Loglan82/Abundant-deficient-and-perfect-number-classifications
@@ -0,0 +1 @@
+../../Task/Abundant-deficient-and-perfect-number-classifications/Loglan82
\ No newline at end of file
diff --git a/Lang/Loglan82/Abundant-odd-numbers b/Lang/Loglan82/Abundant-odd-numbers
new file mode 120000
index 0000000000..282ee6e007
--- /dev/null
+++ b/Lang/Loglan82/Abundant-odd-numbers
@@ -0,0 +1 @@
+../../Task/Abundant-odd-numbers/Loglan82
\ No newline at end of file
diff --git a/Lang/Loglan82/Bell-numbers b/Lang/Loglan82/Bell-numbers
new file mode 120000
index 0000000000..7761831a2e
--- /dev/null
+++ b/Lang/Loglan82/Bell-numbers
@@ -0,0 +1 @@
+../../Task/Bell-numbers/Loglan82
\ No newline at end of file
diff --git a/Lang/Loglan82/CUSIP b/Lang/Loglan82/CUSIP
new file mode 120000
index 0000000000..8aaccb215d
--- /dev/null
+++ b/Lang/Loglan82/CUSIP
@@ -0,0 +1 @@
+../../Task/CUSIP/Loglan82
\ No newline at end of file
diff --git a/Lang/Loglan82/Catalan-numbers b/Lang/Loglan82/Catalan-numbers
new file mode 120000
index 0000000000..309128cccf
--- /dev/null
+++ b/Lang/Loglan82/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Loglan82
\ No newline at end of file
diff --git a/Lang/Loglan82/Cumulative-standard-deviation b/Lang/Loglan82/Cumulative-standard-deviation
new file mode 120000
index 0000000000..e030ba56eb
--- /dev/null
+++ b/Lang/Loglan82/Cumulative-standard-deviation
@@ -0,0 +1 @@
+../../Task/Cumulative-standard-deviation/Loglan82
\ No newline at end of file
diff --git a/Lang/Loglan82/Day-of-the-week b/Lang/Loglan82/Day-of-the-week
new file mode 120000
index 0000000000..65e7a590f5
--- /dev/null
+++ b/Lang/Loglan82/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/Loglan82
\ No newline at end of file
diff --git a/Lang/Loglan82/Diversity-prediction-theorem b/Lang/Loglan82/Diversity-prediction-theorem
new file mode 120000
index 0000000000..99f7aed5fc
--- /dev/null
+++ b/Lang/Loglan82/Diversity-prediction-theorem
@@ -0,0 +1 @@
+../../Task/Diversity-prediction-theorem/Loglan82
\ No newline at end of file
diff --git a/Lang/Loglan82/Dot-product b/Lang/Loglan82/Dot-product
new file mode 120000
index 0000000000..e65fed671f
--- /dev/null
+++ b/Lang/Loglan82/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Loglan82
\ No newline at end of file
diff --git a/Lang/Loglan82/Dutch-national-flag-problem b/Lang/Loglan82/Dutch-national-flag-problem
new file mode 120000
index 0000000000..80274c2f7b
--- /dev/null
+++ b/Lang/Loglan82/Dutch-national-flag-problem
@@ -0,0 +1 @@
+../../Task/Dutch-national-flag-problem/Loglan82
\ No newline at end of file
diff --git a/Lang/Loglan82/Equilibrium-index b/Lang/Loglan82/Equilibrium-index
new file mode 120000
index 0000000000..99b2d35b94
--- /dev/null
+++ b/Lang/Loglan82/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/Loglan82
\ No newline at end of file
diff --git a/Lang/Loglan82/Ethiopian-multiplication b/Lang/Loglan82/Ethiopian-multiplication
new file mode 120000
index 0000000000..13a8b5d45c
--- /dev/null
+++ b/Lang/Loglan82/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Loglan82
\ No newline at end of file
diff --git a/Lang/Loglan82/Factors-of-an-integer b/Lang/Loglan82/Factors-of-an-integer
new file mode 120000
index 0000000000..106a23d5a7
--- /dev/null
+++ b/Lang/Loglan82/Factors-of-an-integer
@@ -0,0 +1 @@
+../../Task/Factors-of-an-integer/Loglan82
\ No newline at end of file
diff --git a/Lang/Loglan82/Gamma-function b/Lang/Loglan82/Gamma-function
new file mode 120000
index 0000000000..e6dce092fb
--- /dev/null
+++ b/Lang/Loglan82/Gamma-function
@@ -0,0 +1 @@
+../../Task/Gamma-function/Loglan82
\ No newline at end of file
diff --git a/Lang/Loglan82/Hello-world-Text b/Lang/Loglan82/Hello-world-Text
new file mode 120000
index 0000000000..02b527238f
--- /dev/null
+++ b/Lang/Loglan82/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Loglan82
\ No newline at end of file
diff --git a/Lang/Loglan82/Horners-rule-for-polynomial-evaluation b/Lang/Loglan82/Horners-rule-for-polynomial-evaluation
new file mode 120000
index 0000000000..5eca5139bd
--- /dev/null
+++ b/Lang/Loglan82/Horners-rule-for-polynomial-evaluation
@@ -0,0 +1 @@
+../../Task/Horners-rule-for-polynomial-evaluation/Loglan82
\ No newline at end of file
diff --git a/Lang/Loglan82/Josephus-problem b/Lang/Loglan82/Josephus-problem
new file mode 120000
index 0000000000..74e740313f
--- /dev/null
+++ b/Lang/Loglan82/Josephus-problem
@@ -0,0 +1 @@
+../../Task/Josephus-problem/Loglan82
\ No newline at end of file
diff --git a/Lang/Loglan82/Levenshtein-distance b/Lang/Loglan82/Levenshtein-distance
new file mode 120000
index 0000000000..64975523f2
--- /dev/null
+++ b/Lang/Loglan82/Levenshtein-distance
@@ -0,0 +1 @@
+../../Task/Levenshtein-distance/Loglan82
\ No newline at end of file
diff --git a/Lang/Loglan82/Long-year b/Lang/Loglan82/Long-year
new file mode 120000
index 0000000000..b249596823
--- /dev/null
+++ b/Lang/Loglan82/Long-year
@@ -0,0 +1 @@
+../../Task/Long-year/Loglan82
\ No newline at end of file
diff --git a/Lang/Loglan82/Loops-Do-while b/Lang/Loglan82/Loops-Do-while
new file mode 120000
index 0000000000..e038a12c06
--- /dev/null
+++ b/Lang/Loglan82/Loops-Do-while
@@ -0,0 +1 @@
+../../Task/Loops-Do-while/Loglan82
\ No newline at end of file
diff --git a/Lang/Loglan82/Loops-For-with-a-specified-step b/Lang/Loglan82/Loops-For-with-a-specified-step
new file mode 120000
index 0000000000..bace3aec2b
--- /dev/null
+++ b/Lang/Loglan82/Loops-For-with-a-specified-step
@@ -0,0 +1 @@
+../../Task/Loops-For-with-a-specified-step/Loglan82
\ No newline at end of file
diff --git a/Lang/Loglan82/M-bius-function b/Lang/Loglan82/M-bius-function
new file mode 120000
index 0000000000..82e1041f7d
--- /dev/null
+++ b/Lang/Loglan82/M-bius-function
@@ -0,0 +1 @@
+../../Task/M-bius-function/Loglan82
\ No newline at end of file
diff --git a/Lang/Loglan82/Monty-Hall-problem b/Lang/Loglan82/Monty-Hall-problem
new file mode 120000
index 0000000000..3c5ec1bb89
--- /dev/null
+++ b/Lang/Loglan82/Monty-Hall-problem
@@ -0,0 +1 @@
+../../Task/Monty-Hall-problem/Loglan82
\ No newline at end of file
diff --git a/Lang/Loglan82/Shoelace-formula-for-polygonal-area b/Lang/Loglan82/Shoelace-formula-for-polygonal-area
new file mode 120000
index 0000000000..7a3facc57c
--- /dev/null
+++ b/Lang/Loglan82/Shoelace-formula-for-polygonal-area
@@ -0,0 +1 @@
+../../Task/Shoelace-formula-for-polygonal-area/Loglan82
\ No newline at end of file
diff --git a/Lang/Loglan82/Statistics-Basic b/Lang/Loglan82/Statistics-Basic
new file mode 120000
index 0000000000..06f2b88d7e
--- /dev/null
+++ b/Lang/Loglan82/Statistics-Basic
@@ -0,0 +1 @@
+../../Task/Statistics-Basic/Loglan82
\ No newline at end of file
diff --git a/Lang/Loglan82/Statistics-Normal-distribution b/Lang/Loglan82/Statistics-Normal-distribution
new file mode 120000
index 0000000000..c0cf6b079d
--- /dev/null
+++ b/Lang/Loglan82/Statistics-Normal-distribution
@@ -0,0 +1 @@
+../../Task/Statistics-Normal-distribution/Loglan82
\ No newline at end of file
diff --git a/Lang/Loglan82/Tau-number b/Lang/Loglan82/Tau-number
new file mode 120000
index 0000000000..0f86291ac1
--- /dev/null
+++ b/Lang/Loglan82/Tau-number
@@ -0,0 +1 @@
+../../Task/Tau-number/Loglan82
\ No newline at end of file
diff --git a/Lang/Logo/Associative-array-Creation b/Lang/Logo/Associative-array-Creation
deleted file mode 120000
index 3776b1b4e9..0000000000
--- a/Lang/Logo/Associative-array-Creation
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Associative-array-Creation/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Merge-and-aggregate-datasets b/Lang/Logo/Merge-and-aggregate-datasets
new file mode 120000
index 0000000000..f9a42bcf33
--- /dev/null
+++ b/Lang/Logo/Merge-and-aggregate-datasets
@@ -0,0 +1 @@
+../../Task/Merge-and-aggregate-datasets/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Sort-three-variables b/Lang/Logo/Sort-three-variables
new file mode 120000
index 0000000000..98d62a0bb1
--- /dev/null
+++ b/Lang/Logo/Sort-three-variables
@@ -0,0 +1 @@
+../../Task/Sort-three-variables/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Sparkline-in-unicode b/Lang/Logo/Sparkline-in-unicode
new file mode 120000
index 0000000000..d2b466f59a
--- /dev/null
+++ b/Lang/Logo/Sparkline-in-unicode
@@ -0,0 +1 @@
+../../Task/Sparkline-in-unicode/Logo
\ No newline at end of file
diff --git a/Lang/Lua/100-doors b/Lang/Lua/100-doors
deleted file mode 120000
index ce373fa8af..0000000000
--- a/Lang/Lua/100-doors
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/100-doors/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Bioinformatics-base-count b/Lang/Lua/Bioinformatics-base-count
deleted file mode 120000
index cb9548dcc8..0000000000
--- a/Lang/Lua/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Calkin-Wilf-sequence b/Lang/Lua/Calkin-Wilf-sequence
new file mode 120000
index 0000000000..1f9b22fde7
--- /dev/null
+++ b/Lang/Lua/Calkin-Wilf-sequence
@@ -0,0 +1 @@
+../../Task/Calkin-Wilf-sequence/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Check-input-device-is-a-terminal b/Lang/Lua/Check-input-device-is-a-terminal
new file mode 120000
index 0000000000..fdc01bb562
--- /dev/null
+++ b/Lang/Lua/Check-input-device-is-a-terminal
@@ -0,0 +1 @@
+../../Task/Check-input-device-is-a-terminal/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Demings-funnel b/Lang/Lua/Demings-funnel
new file mode 120000
index 0000000000..bfeba4e463
--- /dev/null
+++ b/Lang/Lua/Demings-funnel
@@ -0,0 +1 @@
+../../Task/Demings-funnel/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Duffinian-numbers b/Lang/Lua/Duffinian-numbers
new file mode 120000
index 0000000000..3d384f7bda
--- /dev/null
+++ b/Lang/Lua/Duffinian-numbers
@@ -0,0 +1 @@
+../../Task/Duffinian-numbers/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Empty-program b/Lang/Lua/Empty-program
deleted file mode 120000
index 451d4b192d..0000000000
--- a/Lang/Lua/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/Lua
\ No newline at end of file
diff --git a/Lang/Lua/GUI-component-interaction b/Lang/Lua/GUI-component-interaction
new file mode 120000
index 0000000000..da7428ad7e
--- /dev/null
+++ b/Lang/Lua/GUI-component-interaction
@@ -0,0 +1 @@
+../../Task/GUI-component-interaction/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Gauss-Jordan-matrix-inversion b/Lang/Lua/Gauss-Jordan-matrix-inversion
new file mode 120000
index 0000000000..4e412c8561
--- /dev/null
+++ b/Lang/Lua/Gauss-Jordan-matrix-inversion
@@ -0,0 +1 @@
+../../Task/Gauss-Jordan-matrix-inversion/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Generate-random-chess-position b/Lang/Lua/Generate-random-chess-position
new file mode 120000
index 0000000000..7d17633430
--- /dev/null
+++ b/Lang/Lua/Generate-random-chess-position
@@ -0,0 +1 @@
+../../Task/Generate-random-chess-position/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Hello-world-Line-printer b/Lang/Lua/Hello-world-Line-printer
new file mode 120000
index 0000000000..1ade14f20f
--- /dev/null
+++ b/Lang/Lua/Hello-world-Line-printer
@@ -0,0 +1 @@
+../../Task/Hello-world-Line-printer/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Jacobsthal-numbers b/Lang/Lua/Jacobsthal-numbers
new file mode 120000
index 0000000000..ff787752c3
--- /dev/null
+++ b/Lang/Lua/Jacobsthal-numbers
@@ -0,0 +1 @@
+../../Task/Jacobsthal-numbers/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Jordan-P-lya-numbers b/Lang/Lua/Jordan-P-lya-numbers
new file mode 120000
index 0000000000..860eeeaaa4
--- /dev/null
+++ b/Lang/Lua/Jordan-P-lya-numbers
@@ -0,0 +1 @@
+../../Task/Jordan-P-lya-numbers/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Juggler-sequence b/Lang/Lua/Juggler-sequence
new file mode 120000
index 0000000000..94ab059422
--- /dev/null
+++ b/Lang/Lua/Juggler-sequence
@@ -0,0 +1 @@
+../../Task/Juggler-sequence/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Knapsack-problem-Bounded b/Lang/Lua/Knapsack-problem-Bounded
new file mode 120000
index 0000000000..edddb60b00
--- /dev/null
+++ b/Lang/Lua/Knapsack-problem-Bounded
@@ -0,0 +1 @@
+../../Task/Knapsack-problem-Bounded/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Legendre-prime-counting-function b/Lang/Lua/Legendre-prime-counting-function
new file mode 120000
index 0000000000..cf72af7d74
--- /dev/null
+++ b/Lang/Lua/Legendre-prime-counting-function
@@ -0,0 +1 @@
+../../Task/Legendre-prime-counting-function/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Miller-Rabin-primality-test b/Lang/Lua/Miller-Rabin-primality-test
deleted file mode 120000
index 45a2ff22f4..0000000000
--- a/Lang/Lua/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Numbers-with-equal-rises-and-falls b/Lang/Lua/Numbers-with-equal-rises-and-falls
new file mode 120000
index 0000000000..5900c5ba75
--- /dev/null
+++ b/Lang/Lua/Numbers-with-equal-rises-and-falls
@@ -0,0 +1 @@
+../../Task/Numbers-with-equal-rises-and-falls/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Parse-an-IP-Address b/Lang/Lua/Parse-an-IP-Address
new file mode 120000
index 0000000000..aa0f24a93c
--- /dev/null
+++ b/Lang/Lua/Parse-an-IP-Address
@@ -0,0 +1 @@
+../../Task/Parse-an-IP-Address/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Parsing-RPN-calculator-algorithm b/Lang/Lua/Parsing-RPN-calculator-algorithm
deleted file mode 120000
index 397c1ccfd1..0000000000
--- a/Lang/Lua/Parsing-RPN-calculator-algorithm
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Parsing-RPN-calculator-algorithm/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Quaternion-type b/Lang/Lua/Quaternion-type
deleted file mode 120000
index 09499b7f9c..0000000000
--- a/Lang/Lua/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Ramer-Douglas-Peucker-line-simplification b/Lang/Lua/Ramer-Douglas-Peucker-line-simplification
new file mode 120000
index 0000000000..516d951928
--- /dev/null
+++ b/Lang/Lua/Ramer-Douglas-Peucker-line-simplification
@@ -0,0 +1 @@
+../../Task/Ramer-Douglas-Peucker-line-simplification/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Sleeping-Beauty-problem b/Lang/Lua/Sleeping-Beauty-problem
new file mode 120000
index 0000000000..75e2ee6eb2
--- /dev/null
+++ b/Lang/Lua/Sleeping-Beauty-problem
@@ -0,0 +1 @@
+../../Task/Sleeping-Beauty-problem/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Sorting-Algorithms-Circle-Sort b/Lang/Lua/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index e6dc299d24..0000000000
--- a/Lang/Lua/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Strassens-algorithm b/Lang/Lua/Strassens-algorithm
new file mode 120000
index 0000000000..9da800cb02
--- /dev/null
+++ b/Lang/Lua/Strassens-algorithm
@@ -0,0 +1 @@
+../../Task/Strassens-algorithm/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Sum-of-elements-below-main-diagonal-of-matrix b/Lang/Lua/Sum-of-elements-below-main-diagonal-of-matrix
new file mode 120000
index 0000000000..63a3cd2cf9
--- /dev/null
+++ b/Lang/Lua/Sum-of-elements-below-main-diagonal-of-matrix
@@ -0,0 +1 @@
+../../Task/Sum-of-elements-below-main-diagonal-of-matrix/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Summarize-primes b/Lang/Lua/Summarize-primes
new file mode 120000
index 0000000000..601bc61d3c
--- /dev/null
+++ b/Lang/Lua/Summarize-primes
@@ -0,0 +1 @@
+../../Task/Summarize-primes/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Super-d-numbers b/Lang/Lua/Super-d-numbers
new file mode 120000
index 0000000000..64e775e306
--- /dev/null
+++ b/Lang/Lua/Super-d-numbers
@@ -0,0 +1 @@
+../../Task/Super-d-numbers/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Terminal-control-Hiding-the-cursor b/Lang/Lua/Terminal-control-Hiding-the-cursor
new file mode 120000
index 0000000000..68700a27b1
--- /dev/null
+++ b/Lang/Lua/Terminal-control-Hiding-the-cursor
@@ -0,0 +1 @@
+../../Task/Terminal-control-Hiding-the-cursor/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Terminal-control-Unicode-output b/Lang/Lua/Terminal-control-Unicode-output
new file mode 120000
index 0000000000..b9be1e6352
--- /dev/null
+++ b/Lang/Lua/Terminal-control-Unicode-output
@@ -0,0 +1 @@
+../../Task/Terminal-control-Unicode-output/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Total-circles-area b/Lang/Lua/Total-circles-area
new file mode 120000
index 0000000000..368862d6f6
--- /dev/null
+++ b/Lang/Lua/Total-circles-area
@@ -0,0 +1 @@
+../../Task/Total-circles-area/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Update-a-configuration-file b/Lang/Lua/Update-a-configuration-file
new file mode 120000
index 0000000000..75ad1d2a09
--- /dev/null
+++ b/Lang/Lua/Update-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Update-a-configuration-file/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Use-another-language-to-call-a-function b/Lang/Lua/Use-another-language-to-call-a-function
new file mode 120000
index 0000000000..05e8f054e4
--- /dev/null
+++ b/Lang/Lua/Use-another-language-to-call-a-function
@@ -0,0 +1 @@
+../../Task/Use-another-language-to-call-a-function/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Wagstaff-primes b/Lang/Lua/Wagstaff-primes
new file mode 120000
index 0000000000..c8cec659a4
--- /dev/null
+++ b/Lang/Lua/Wagstaff-primes
@@ -0,0 +1 @@
+../../Task/Wagstaff-primes/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Wieferich-primes b/Lang/Lua/Wieferich-primes
new file mode 120000
index 0000000000..ac68d34377
--- /dev/null
+++ b/Lang/Lua/Wieferich-primes
@@ -0,0 +1 @@
+../../Task/Wieferich-primes/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Wilson-primes-of-order-n b/Lang/Lua/Wilson-primes-of-order-n
new file mode 120000
index 0000000000..338cbe60ca
--- /dev/null
+++ b/Lang/Lua/Wilson-primes-of-order-n
@@ -0,0 +1 @@
+../../Task/Wilson-primes-of-order-n/Lua
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/00-LANG.txt b/Lang/M2000-Interpreter/00-LANG.txt
index ed77df4b81..ab29824f45 100644
--- a/Lang/M2000-Interpreter/00-LANG.txt
+++ b/Lang/M2000-Interpreter/00-LANG.txt
@@ -9,7 +9,7 @@
|gc=allowed
|hopl=no
}}
-M2000 is an interpreter running on its own Environment written in Visual Basic 6, as an open source project and can be found in GitHub[https://github.com/M2000Interpreter/Version9]. Current version is 12, revision 13. See [[M2000 Interpreter Implementation]]
+M2000 is an interpreter running on its own Environment written in Visual Basic 6, as an open source project and can be found in GitHub[https://github.com/M2000Interpreter/Environment]. Current version is 14, revision 8. See [[M2000 Interpreter Implementation]]
{{language programming paradigm|Imperative}}
{{language programming paradigm|Object-oriented}}
{{Language programming paradigm|Event-driven}}
@@ -21,12 +21,68 @@ M2000 has two set of vocabularies, one with English identifiers and one with Gre
M2000 start as an experimental interpreted language, using a Module in Module idea (like a Procedure in Procedure) where each inner Module is closed for modification, but open for expansion, by replacing code at run time. Source code executed as is, without second interpretation of a simple form, although block of code arranged for execution in a manner of consuming code (code which executed deleted, code in a loop kept as a copy for next iteration).
+We can use BASIC type statement's. Although there are some differences. Like the FOR NEXT:
+
+SET SWITCHES "+FOR"
+// WHY ? BECAUSE WHEN STEP IS POSITIVE (+1 HERE)
+// WE GET ITERATION IF START VALUE IS LESS OR EQUAL THE LAST VALUE
+FOR I=10 TO 0
+ PRINT "NEVER PRINT - IS LIKE BASIC"
+NEXT
+SET SWITCHES "+DIM"
+// WHY ? BECAUSE DIM MAKE AN ARRAY FROM 0 TO TOP VALUE (10)
+DIM A(10)=1
+PRINT LEN(A())=11, A(0), A(10), "BASIC"
+
+SET SWITCHES "-FOR" ' THE DEFAULT
+// WHY ? BECAUSE EVERY TIME ITERATE FROM START VALUE TO END VALUE
+FOR I=10 TO 0
+ PRINT "ALWAYS PRINT - IS NOT LIKE BASIC"
+NEXT
+
+SET SWITCHES "-DIM"
+// WHY ? BECAUSE DIM MAKE AN ARRAY N (10) ITEMS
+DIM A(10)=1
+PRINT LEN(A())=10, A(0), A(9), "M2000"
+DIM B(0 TO 10)=1 ' WE CAN DEFINE MIN AND MAX INDEX (CAN BE NEGATIVE)
+PRINT LEN(B())=11, B(0), B(10), "M2000"
+
+
Module's may be Global, or local to other modules. We can define global modules in a module, and all these definitions deleted at the end of module execution. Because we have to execute the definition of a module, we can select definition, or load definition before we call the module. Also modules can be part of object's of type Group. A module can't call itself unless we use Call module_name. The standard call is by using only the name of module. So from a module we can call local modules or global, but we can't call parent module (if isn't global). In a group we can call anything like a module plus the modules of the groups.
+We can use labels and line numbers (each number is just a label). After a line number we can place statement. Static subs/functions have same scope as the module scope. Here SomethingElse() is like Module as a program, with own scope.
+
+
+MODULE alfa {
+ FUNCTION SomethingElse(A, ZZ) {
+ =A/ZZ ' WE CAN'T READ Z HERE
+ }
+ 000 READ X
+ 001 Z=10
+ 005 GOSUB alfa
+ 010 COMPUTE(&X)
+ 020 PRINT @MUL10(X), SomethingElse(@MUL10(X), Z)
+ 030 IF X<20 THEN 10
+ 040 GOSUB alfa
+ 050 END
+ 060 SUB COMPUTE(&A)
+ 070 A++
+ 080 Z++ // SIDE EFFECT
+ 090 END SUB
+ 100 FUNCTION MUL10(A)
+ 110 =A*Z
+ 120 END FUNCTION
+alfa:
+ 130 PRINT "-------------------------"
+ 140 RETURN
+}
+alfa 14
+
+
We can change a inner module at the calling of a module, see the example: We call inner Beta in two stages. At the second stage we change inner Theta with Theta2. This is the decoration of Beta with Theta as Theta2. This is a temporary decoration because Beta after execution erase any new identifier including Theta. So each time we call Beta, statement Module Theta make this module unless a decoration stop it.
====English Vocabulary====
-Module Beta {
+Module Beta {
Module Theta (x){
Print "This is Theta, we get x=";x
}
@@ -38,8 +94,141 @@ Module Theta2 (x) {
}
Beta ; Theta as Theta2
+
+This is a rare case. Most cases use alternative definitions:
+
+Module Beta {
+ Module Theta (x){
+ Print "This is Theta, we get x=";x
+ }
+ For i=1 to 3 : Theta i : Next i
+}
+Beta
+Module Beta {
+ Module Theta (x) {
+ Print "This is Theta2, we get x=";x
+ }
+ For i=1 to 3 : Theta i : Next i
+}
+Beta
+
+
+Another variation is the use of function pass by reference:
+
+Module Beta {
+ Read &theta()
+ For i=1 to 3 :Call Theta(i) : Next i
+}
+Function Theta(x){
+ Print "This is Theta, we get x=";x
+}
+Function Theta2(x) {
+ Print "This is Theta2, we get x=";x
+}
+Beta &Theta()
+Beta &Theta2()
+
+
+Or a more compact way to use a Group:
+
+Module Beta {
+ Read That
+ For i=1 to 3 :Call That.Theta(i) : Next i
+}
+Group A {
+ Function Theta(x){
+ Print "This is Theta, we get x=";x
+ }
+}
+Group B {
+ Function Theta(x) {
+ Print "This is Theta2, we get x=";x
+ }
+}
+Beta A
+Beta B
+
+
+Or a more compact way to use a Class:
+
+Module Beta {
+ Read That
+ For i=1 to 3 :Call That.Theta(i) : Next i
+}
+Class Something {
+Private:
+ string message=letter$ ' letter$ read from stack of values a string
+Public:
+ Function Theta(x){
+ Print .message;x
+ }
+}
+A=Something("This is Theta, we get x=")
+B=Something("This is Theta2, we get x=")
+Beta A
+Beta B
+
+
+
+Or a variant of class which made an object which return value
+
+Module Beta {
+ Read &That
+ For i=1 to 3 :Print That(i) : Next i
+}
+Class Something {
+Private:
+ string message=letter$ ' letter$ read from stack of values a string
+Public:
+ Set {
+ Read This
+ }
+ Value (x){ ' (x) change to: Read x
+ = .message + x ' .message is string (x can be string or number)
+ }
+}
+A=Something("This is Theta, we get x=")
+Beta &A
+A=Something("This is Theta2, we get x=")
+Beta &A
+
+
+Or by using lambda functions (functions which we hold in variables, with closures)
+
+
+Module Beta {
+ Read &That
+ For i=1 to 3 :Print That(i) : Next i
+}
+m="This is Theta, we get x="
+A=lambda m (x)->m + x ' one line lambda function
+Beta &A
+' we can use multiline lambda functions
+A=lambda m="This is Theta2, we get x=" (x)->{
+ =m + x
+}
+Beta &A
+
+
+The same but now we bass by value (we remove & from the caller and the callee too:
+
+
+Module Beta {
+ Read That
+ For i=1 to 3 :Print That(i) : Next i
+}
+m="This is Theta, we get x="
+A=lambda m (x)->m + x ' one line lambda function
+Beta A
+' we can use multiline lambda functions
+A=lambda m="This is Theta2, we get x=" (x)->{
+ =m + x
+}
+Beta A
+
+
====Greek Vocabulary====
-Τμήμα Βήτα {
+Τμήμα Βήτα {
Τμήμα Θήτα (χ){
Τύπωσε "Αυτό είναι το Θήτα, θα πάρουμε το χ=";χ
}
@@ -52,9 +241,9 @@ Beta ; Theta as Theta2
Βήτα ; Θήτα ως Θήτα2
-As we can see from code, some statements are like BASIC, except the use of curly brackets {}. Check the code below. We have a Module (as a Procedure), where we define some functions and some variables, as entities. These entities defined in every call to CheckIt, and erased when execution return from CheckIt. By default every parameter in M2000 pass by value. We define two functions, Alfa() where we set type for parameter x and ExpType$() where we not set type for x, and we wish to return the name of type when we make a call.
+As we can see from code, some statements are like BASIC, except the use of curly brackets {}. Check the code below. We have a Module (as a Procedure), where we define some functions and some variables, as entities. These entities defined in every call to CheckIt, and erased when execution return from CheckIt. By default every parameter in M2000 pass by value. We define a function, Alfa() where we set type for parameter.
-Module CheckIt {
+Module CheckIt {
\\ We can't call something out of this module
Function Alfa(X as double) {
=X**2
@@ -70,14 +259,13 @@ As we can see from code, some statements are like BASIC, except the use of curly
Print Type$(Z)
Currency Z1=212.12, Z2=323233.12, Z3=223212323323.12
Print Z1, Z2, Z3
- Def ExpType$(x)=Type$(x)
- Print ExpType$(Z1+Z2) ' Currency
- Print ExpType$(Z1*Z2) ' Currency
- Print ExpType$(Z2*Z3) ' Double (Currency can't hold this number)
+ Print Type$(Z1+Z2) ' Currency
+ Print Type$(Z1*Z2) ' Currency
+ Print Type$(Z2*Z3) ' Double (Currency can't hold this number)
\\ Integer, Long, Single, Currency, Decimal
- Print ExpType$(10%), ExpType$(10&), ExpType$(10~), ExpType$(10#), ExpType$(10@)
+ Print Type$(10%), Type$(10&), Type$(10~), Type$(10#), Type$(10@)
\\ Without symbol is a Double
- Print ExpType$(10)
+ Print Type$(10)
}
\\ We call it
CheckIt
@@ -92,7 +280,7 @@ A statement Input Alfa$ can input characters for a string or for object typed gr
Types are strong for values with a name (variables, constants), but weak for items in containers. In a container (Array, Inventory and Stack) we can place anything including other containers. We can bypass the "strong" capability but this isn't a practice for good programming. Internal or variables are of type of Variant, so we can make a reference of A to A$ and we can save a string "1212" and read from A the number 1212.
-
+
Module AKindOfMess {
a=10@
Print Type$(a)="Decimal"
@@ -131,7 +319,7 @@ Print Error$=""
So check this for proper use of types.
-Module CheckInt {
+Module CheckInt {
A%=1212212.12@
Print A% ' 1212212
A%=1212212.52@
@@ -149,18 +337,19 @@ So check this for proper use of types.
}
CheckInt
-So we say about Integer Variables, and no Integer Numeric Type. Like in Basic, M2000 is not case sensitive (except for labels), so A% and a% is the same. We may have A, A$ and A% as three variables, or A(), A%(), A$() as arrays or and functions. We can use name(@ ) to call function and not array if we have each with same name.
+So we say about Integer Variables, and no Integer Numeric Type. Like in Basic, M2000 is not case sensitive (except for labels), so A% and a% is the same. We may have A, A$ and A% as three variables, or A(), A%(), A$() as arrays or and functions. We can use name(* ) to call function and not array if we have each with same name.
-Dim A(10)=1
+Dim A(10)=1
Def A(x)=x**2
-Print A(3), A(@ 4)
+Print A(3), A(* 4) ' change @ to * from later versions
+
By default all variables are local. M2000 uses heap to store local variables, not stack. We can use global variables, but a local definition hide a global one. We can make global variables for temporary use (at return from module which we define a global, this global erased). A global definition in an already defined global variable with same name, hide for temporary use the old global variable.
It is easy to make modules, with modules, functions, variables, arrays. We can use subroutines when we want code in a module or a function to used more than once. We can use local variables inside subroutines. In subroutines we can use module's variables, functions, subroutines. Until here we see something like BASIC, except that variables are local to modules and functions, but can be used by subroutines. Also we have see that we can replace a module in a module when we call it. With this replacement we can use a predefined logic with some "terminals", modules that get parameters and do final things. We can make global modules and functions in local modules and functions, but these exist until creator module or function exit.
-M2000 can be used for more advanced programming. Modules and functions can be members of Groups. Groups are values. So a function can return a Group.
+M2000 can be used for more advanced programming. Modules and functions can be members of Groups. Groups are values. So a function can return a Group.
===Stack of Values===
Modules and functions get parameters in a stack. Modules get the parent stack with parameters, and functions get a new stack with parameters. Modules return from call and are responsible to clear as needed the stack. Functions drop the stack after the call from an expression. A module can return entities in stack, if we want to do that. We can call a module and pass parameters, and that module can call other module leaving parameters in stack to be read in last module.
@@ -170,7 +359,7 @@ In the example below (y) is a Read y for module definition. Early versions of la
As we see alfa has no read statement, because before get the first number need to make two modules, and then pop one number and call a module passing current stack, so if choose beta, then the second value feed y from a read y statement.
-
+
module alfa {
module beta (y) {
print y**3
@@ -195,15 +384,13 @@ function sumall {
print sumall(1,2,3,4,5,6,7)=28
-
-
===OOP===
Groups are objects for M2000. We can use them as values, and if we want we can use pointers for groups (but we can make a lot of programs without using pointers to groups). Without using pointer, a Group may be local with a name in a Module or can be in a container like array, inventory (a type of map) and stack objects, without name. Groups may have private and public members, may have properties as read only, may get value and return value, and may have operators. Members of Groups can be anything, including other groups. Groups may have events too. We can make groups by using CLASS statement or by using own function which return a Group or a pointer to Group.
A special object is the lambda object, which may have a number of closures, and have to faces, a variable and a function:
-Module Delta {
+Module Delta {
\\ Make a group like a lambda
\\ A Class make a Global Function
\\ (in a group a Class definition make a group member, not a global function)
@@ -244,7 +431,7 @@ We can place a lambda function as closure in a lambda function, and we can build
a class define a type too. We can make a class from other classes too. We can make inner classes too.
-
+
Form 80,50
\\ counters supposed we provide them from a file
global LastCustomerId=100, ReportId=80
@@ -342,7 +529,7 @@ While M {
Until now we see modules/functions/subs for procedural programming, Groups for OOP, Groups as lambda functions and lambda functions for functional programming. We can use events for groups and for COM objects, including GUI objects.
-Module Beta {
+Module Beta {
Group WithEvents Alpha {
Event "One"
Module DoIt (x) {
@@ -380,7 +567,7 @@ Until now we see that programming with events can be used in M2000. There is an
Modules may have Threads, part of modules that can be executed in intervals, can be halted, or can be released, and can be erased. Each thread has own stack and may have own static variables (Modules and Functions also may have static variables), but can use modules variables and functions/modules/subs. Threads can run concurrent (thread return to task manager after execution of a statement or a block of statements) or sequential (a thread has to exit from interval to start other thread)
-Module Zeta {
+Module Zeta {
k=10
Thread {
k++
@@ -399,7 +586,7 @@ Zeta
M2000 Interpreter can work with Structures and Buffers. Buffer is a memory block and Structure can define types of memory, and a buffer can hold arrays of structures. Each structure can be made from other structures or arrays of structures, and may have unions. We can use buffers for code execution (writing machine code), using standard buffers (not executable), for data holder. Also we can use Buffers calling external dll and passing by address.
-Module Kappa {
+Module Kappa {
Function Theta(x) {
Structure Points_single {
x as single
@@ -415,4 +602,26 @@ M2000 Interpreter can work with Structures and Buffers. Buffer is a memory block
\\
Print Eval(P, 0!x)=1212.12~, Eval(P, 0!y)=21.1212~
}
-Kappa
\ No newline at end of file
+Kappa
+Module Kappa {
+ Function Theta(x) {
+ Structure Points_single {
+ x as single
+ y as single
+ }
+ Buffer Clear Points as Points_single*x
+ =Points
+ }
+ P=Theta(100)
+ Print Len(P)=800 ' 2x4x100 bytes
+ ' new way to use fields of structure
+ P[0]|x=1212.12
+ P[0]|y=21.1212
+ Print Eval(P, 0!x)=1212.12~, Eval(P, 0!y)=21.1212~
+ Print P[0]|x=1212.12~, P[0]|y=21.1212~
+ P[4]=P[0] ' copy of structure at offser 4*len of structrure Points_single
+ ' p(0) is address of first struct, p(4) is address of 5th struct
+ Print P[4]|x=1212.12~, P[4]|y=21.1212~, p(4)-p(0)=32
+}
+Kappa
+
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/ADFGVX-cipher b/Lang/M2000-Interpreter/ADFGVX-cipher
new file mode 120000
index 0000000000..58053e0f2d
--- /dev/null
+++ b/Lang/M2000-Interpreter/ADFGVX-cipher
@@ -0,0 +1 @@
+../../Task/ADFGVX-cipher/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Apply-a-digital-filter-direct-form-II-transposed- b/Lang/M2000-Interpreter/Apply-a-digital-filter-direct-form-II-transposed-
new file mode 120000
index 0000000000..0994290aa3
--- /dev/null
+++ b/Lang/M2000-Interpreter/Apply-a-digital-filter-direct-form-II-transposed-
@@ -0,0 +1 @@
+../../Task/Apply-a-digital-filter-direct-form-II-transposed-/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Arbitrary-precision-integers-included- b/Lang/M2000-Interpreter/Arbitrary-precision-integers-included-
new file mode 120000
index 0000000000..4f4595771b
--- /dev/null
+++ b/Lang/M2000-Interpreter/Arbitrary-precision-integers-included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers-included-/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Arithmetic-Complex b/Lang/M2000-Interpreter/Arithmetic-Complex
new file mode 120000
index 0000000000..d7240f321f
--- /dev/null
+++ b/Lang/M2000-Interpreter/Arithmetic-Complex
@@ -0,0 +1 @@
+../../Task/Arithmetic-Complex/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Associative-array-Merging b/Lang/M2000-Interpreter/Associative-array-Merging
new file mode 120000
index 0000000000..e54ba7cbfd
--- /dev/null
+++ b/Lang/M2000-Interpreter/Associative-array-Merging
@@ -0,0 +1 @@
+../../Task/Associative-array-Merging/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Averages-Mean-angle b/Lang/M2000-Interpreter/Averages-Mean-angle
new file mode 120000
index 0000000000..5bcc89482d
--- /dev/null
+++ b/Lang/M2000-Interpreter/Averages-Mean-angle
@@ -0,0 +1 @@
+../../Task/Averages-Mean-angle/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Averages-Root-mean-square b/Lang/M2000-Interpreter/Averages-Root-mean-square
new file mode 120000
index 0000000000..226fa9019d
--- /dev/null
+++ b/Lang/M2000-Interpreter/Averages-Root-mean-square
@@ -0,0 +1 @@
+../../Task/Averages-Root-mean-square/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Averages-Simple-moving-average b/Lang/M2000-Interpreter/Averages-Simple-moving-average
new file mode 120000
index 0000000000..4d812f1b4c
--- /dev/null
+++ b/Lang/M2000-Interpreter/Averages-Simple-moving-average
@@ -0,0 +1 @@
+../../Task/Averages-Simple-moving-average/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Babylonian-spiral b/Lang/M2000-Interpreter/Babylonian-spiral
new file mode 120000
index 0000000000..70eeaaf834
--- /dev/null
+++ b/Lang/M2000-Interpreter/Babylonian-spiral
@@ -0,0 +1 @@
+../../Task/Babylonian-spiral/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Bernoulli-numbers b/Lang/M2000-Interpreter/Bernoulli-numbers
new file mode 120000
index 0000000000..91c31cbe94
--- /dev/null
+++ b/Lang/M2000-Interpreter/Bernoulli-numbers
@@ -0,0 +1 @@
+../../Task/Bernoulli-numbers/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Bifid-cipher b/Lang/M2000-Interpreter/Bifid-cipher
new file mode 120000
index 0000000000..c97cd39b1f
--- /dev/null
+++ b/Lang/M2000-Interpreter/Bifid-cipher
@@ -0,0 +1 @@
+../../Task/Bifid-cipher/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Binary-strings b/Lang/M2000-Interpreter/Binary-strings
new file mode 120000
index 0000000000..7890dd1bf5
--- /dev/null
+++ b/Lang/M2000-Interpreter/Binary-strings
@@ -0,0 +1 @@
+../../Task/Binary-strings/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Bitmap-B-zier-curves-Quadratic b/Lang/M2000-Interpreter/Bitmap-B-zier-curves-Quadratic
new file mode 120000
index 0000000000..2471b47323
--- /dev/null
+++ b/Lang/M2000-Interpreter/Bitmap-B-zier-curves-Quadratic
@@ -0,0 +1 @@
+../../Task/Bitmap-B-zier-curves-Quadratic/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Bitmap-Bresenhams-line-algorithm b/Lang/M2000-Interpreter/Bitmap-Bresenhams-line-algorithm
new file mode 120000
index 0000000000..37e0c9a050
--- /dev/null
+++ b/Lang/M2000-Interpreter/Bitmap-Bresenhams-line-algorithm
@@ -0,0 +1 @@
+../../Task/Bitmap-Bresenhams-line-algorithm/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Bitwise-operations b/Lang/M2000-Interpreter/Bitwise-operations
new file mode 120000
index 0000000000..7b5956a12b
--- /dev/null
+++ b/Lang/M2000-Interpreter/Bitwise-operations
@@ -0,0 +1 @@
+../../Task/Bitwise-operations/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Cartesian-product-of-two-or-more-lists b/Lang/M2000-Interpreter/Cartesian-product-of-two-or-more-lists
new file mode 120000
index 0000000000..afa95add18
--- /dev/null
+++ b/Lang/M2000-Interpreter/Cartesian-product-of-two-or-more-lists
@@ -0,0 +1 @@
+../../Task/Cartesian-product-of-two-or-more-lists/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Chinese-zodiac b/Lang/M2000-Interpreter/Chinese-zodiac
new file mode 120000
index 0000000000..ba20540cb2
--- /dev/null
+++ b/Lang/M2000-Interpreter/Chinese-zodiac
@@ -0,0 +1 @@
+../../Task/Chinese-zodiac/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Compare-length-of-two-strings b/Lang/M2000-Interpreter/Compare-length-of-two-strings
new file mode 120000
index 0000000000..1726357b73
--- /dev/null
+++ b/Lang/M2000-Interpreter/Compare-length-of-two-strings
@@ -0,0 +1 @@
+../../Task/Compare-length-of-two-strings/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Compound-data-type b/Lang/M2000-Interpreter/Compound-data-type
new file mode 120000
index 0000000000..661e74ca81
--- /dev/null
+++ b/Lang/M2000-Interpreter/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Count-occurrences-of-a-substring b/Lang/M2000-Interpreter/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..96e93abdc4
--- /dev/null
+++ b/Lang/M2000-Interpreter/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Deal-cards-for-FreeCell b/Lang/M2000-Interpreter/Deal-cards-for-FreeCell
new file mode 120000
index 0000000000..59b0374429
--- /dev/null
+++ b/Lang/M2000-Interpreter/Deal-cards-for-FreeCell
@@ -0,0 +1 @@
+../../Task/Deal-cards-for-FreeCell/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Doomsday-rule b/Lang/M2000-Interpreter/Doomsday-rule
new file mode 120000
index 0000000000..64bda385da
--- /dev/null
+++ b/Lang/M2000-Interpreter/Doomsday-rule
@@ -0,0 +1 @@
+../../Task/Doomsday-rule/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Egyptian-division b/Lang/M2000-Interpreter/Egyptian-division
new file mode 120000
index 0000000000..ed8318ad3d
--- /dev/null
+++ b/Lang/M2000-Interpreter/Egyptian-division
@@ -0,0 +1 @@
+../../Task/Egyptian-division/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Equilibrium-index b/Lang/M2000-Interpreter/Equilibrium-index
new file mode 120000
index 0000000000..52fd43669a
--- /dev/null
+++ b/Lang/M2000-Interpreter/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Eulers-identity b/Lang/M2000-Interpreter/Eulers-identity
new file mode 120000
index 0000000000..af0f40c33c
--- /dev/null
+++ b/Lang/M2000-Interpreter/Eulers-identity
@@ -0,0 +1 @@
+../../Task/Eulers-identity/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Execute-Computer-Zero b/Lang/M2000-Interpreter/Execute-Computer-Zero
new file mode 120000
index 0000000000..fecab5c3ec
--- /dev/null
+++ b/Lang/M2000-Interpreter/Execute-Computer-Zero
@@ -0,0 +1 @@
+../../Task/Execute-Computer-Zero/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Factors-of-a-Mersenne-number b/Lang/M2000-Interpreter/Factors-of-a-Mersenne-number
new file mode 120000
index 0000000000..dcb49d5579
--- /dev/null
+++ b/Lang/M2000-Interpreter/Factors-of-a-Mersenne-number
@@ -0,0 +1 @@
+../../Task/Factors-of-a-Mersenne-number/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Fast-Fourier-transform b/Lang/M2000-Interpreter/Fast-Fourier-transform
new file mode 120000
index 0000000000..e70d70854c
--- /dev/null
+++ b/Lang/M2000-Interpreter/Fast-Fourier-transform
@@ -0,0 +1 @@
+../../Task/Fast-Fourier-transform/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/File-extension-is-in-extensions-list b/Lang/M2000-Interpreter/File-extension-is-in-extensions-list
new file mode 120000
index 0000000000..6d12e57411
--- /dev/null
+++ b/Lang/M2000-Interpreter/File-extension-is-in-extensions-list
@@ -0,0 +1 @@
+../../Task/File-extension-is-in-extensions-list/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Find-the-last-Sunday-of-each-month b/Lang/M2000-Interpreter/Find-the-last-Sunday-of-each-month
new file mode 120000
index 0000000000..14e77f2ff4
--- /dev/null
+++ b/Lang/M2000-Interpreter/Find-the-last-Sunday-of-each-month
@@ -0,0 +1 @@
+../../Task/Find-the-last-Sunday-of-each-month/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Four-is-magic b/Lang/M2000-Interpreter/Four-is-magic
new file mode 120000
index 0000000000..3bd19ce379
--- /dev/null
+++ b/Lang/M2000-Interpreter/Four-is-magic
@@ -0,0 +1 @@
+../../Task/Four-is-magic/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Globally-replace-text-in-several-files b/Lang/M2000-Interpreter/Globally-replace-text-in-several-files
new file mode 120000
index 0000000000..6371957a66
--- /dev/null
+++ b/Lang/M2000-Interpreter/Globally-replace-text-in-several-files
@@ -0,0 +1 @@
+../../Task/Globally-replace-text-in-several-files/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Greatest-subsequential-sum b/Lang/M2000-Interpreter/Greatest-subsequential-sum
new file mode 120000
index 0000000000..5470dd7511
--- /dev/null
+++ b/Lang/M2000-Interpreter/Greatest-subsequential-sum
@@ -0,0 +1 @@
+../../Task/Greatest-subsequential-sum/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/HTTPS b/Lang/M2000-Interpreter/HTTPS
new file mode 120000
index 0000000000..07f4e45833
--- /dev/null
+++ b/Lang/M2000-Interpreter/HTTPS
@@ -0,0 +1 @@
+../../Task/HTTPS/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/ISBN13-check-digit b/Lang/M2000-Interpreter/ISBN13-check-digit
new file mode 120000
index 0000000000..b320adf2bf
--- /dev/null
+++ b/Lang/M2000-Interpreter/ISBN13-check-digit
@@ -0,0 +1 @@
+../../Task/ISBN13-check-digit/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Idiomatically-determine-all-the-characters-that-can-be-used-for-symbols b/Lang/M2000-Interpreter/Idiomatically-determine-all-the-characters-that-can-be-used-for-symbols
new file mode 120000
index 0000000000..85569db69f
--- /dev/null
+++ b/Lang/M2000-Interpreter/Idiomatically-determine-all-the-characters-that-can-be-used-for-symbols
@@ -0,0 +1 @@
+../../Task/Idiomatically-determine-all-the-characters-that-can-be-used-for-symbols/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/K-d-tree b/Lang/M2000-Interpreter/K-d-tree
new file mode 120000
index 0000000000..5f1e9bff31
--- /dev/null
+++ b/Lang/M2000-Interpreter/K-d-tree
@@ -0,0 +1 @@
+../../Task/K-d-tree/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Leonardo-numbers b/Lang/M2000-Interpreter/Leonardo-numbers
new file mode 120000
index 0000000000..4f37c1babb
--- /dev/null
+++ b/Lang/M2000-Interpreter/Leonardo-numbers
@@ -0,0 +1 @@
+../../Task/Leonardo-numbers/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Logistic-curve-fitting-in-epidemiology b/Lang/M2000-Interpreter/Logistic-curve-fitting-in-epidemiology
new file mode 120000
index 0000000000..d60f5aa239
--- /dev/null
+++ b/Lang/M2000-Interpreter/Logistic-curve-fitting-in-epidemiology
@@ -0,0 +1 @@
+../../Task/Logistic-curve-fitting-in-epidemiology/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Long-multiplication b/Lang/M2000-Interpreter/Long-multiplication
new file mode 120000
index 0000000000..ba1dc9bc62
--- /dev/null
+++ b/Lang/M2000-Interpreter/Long-multiplication
@@ -0,0 +1 @@
+../../Task/Long-multiplication/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Long-year b/Lang/M2000-Interpreter/Long-year
new file mode 120000
index 0000000000..7119be8d2b
--- /dev/null
+++ b/Lang/M2000-Interpreter/Long-year
@@ -0,0 +1 @@
+../../Task/Long-year/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Mastermind b/Lang/M2000-Interpreter/Mastermind
new file mode 120000
index 0000000000..3cfbb80935
--- /dev/null
+++ b/Lang/M2000-Interpreter/Mastermind
@@ -0,0 +1 @@
+../../Task/Mastermind/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Matrix-digital-rain b/Lang/M2000-Interpreter/Matrix-digital-rain
new file mode 120000
index 0000000000..c3f5d509a7
--- /dev/null
+++ b/Lang/M2000-Interpreter/Matrix-digital-rain
@@ -0,0 +1 @@
+../../Task/Matrix-digital-rain/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Matrix-transposition b/Lang/M2000-Interpreter/Matrix-transposition
new file mode 120000
index 0000000000..5ea61d7980
--- /dev/null
+++ b/Lang/M2000-Interpreter/Matrix-transposition
@@ -0,0 +1 @@
+../../Task/Matrix-transposition/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Modified-random-distribution b/Lang/M2000-Interpreter/Modified-random-distribution
new file mode 120000
index 0000000000..bbbb129f02
--- /dev/null
+++ b/Lang/M2000-Interpreter/Modified-random-distribution
@@ -0,0 +1 @@
+../../Task/Modified-random-distribution/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Modular-exponentiation b/Lang/M2000-Interpreter/Modular-exponentiation
new file mode 120000
index 0000000000..99e9549d1a
--- /dev/null
+++ b/Lang/M2000-Interpreter/Modular-exponentiation
@@ -0,0 +1 @@
+../../Task/Modular-exponentiation/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Morse-code b/Lang/M2000-Interpreter/Morse-code
new file mode 120000
index 0000000000..77ce05e92e
--- /dev/null
+++ b/Lang/M2000-Interpreter/Morse-code
@@ -0,0 +1 @@
+../../Task/Morse-code/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Multi-dimensional-array b/Lang/M2000-Interpreter/Multi-dimensional-array
new file mode 120000
index 0000000000..24c2948fdf
--- /dev/null
+++ b/Lang/M2000-Interpreter/Multi-dimensional-array
@@ -0,0 +1 @@
+../../Task/Multi-dimensional-array/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Multiple-regression b/Lang/M2000-Interpreter/Multiple-regression
new file mode 120000
index 0000000000..f645ea689c
--- /dev/null
+++ b/Lang/M2000-Interpreter/Multiple-regression
@@ -0,0 +1 @@
+../../Task/Multiple-regression/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Number-names b/Lang/M2000-Interpreter/Number-names
new file mode 120000
index 0000000000..acf20af45b
--- /dev/null
+++ b/Lang/M2000-Interpreter/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Old-lady-swallowed-a-fly b/Lang/M2000-Interpreter/Old-lady-swallowed-a-fly
new file mode 120000
index 0000000000..f9fe169db2
--- /dev/null
+++ b/Lang/M2000-Interpreter/Old-lady-swallowed-a-fly
@@ -0,0 +1 @@
+../../Task/Old-lady-swallowed-a-fly/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Ordered-words b/Lang/M2000-Interpreter/Ordered-words
new file mode 120000
index 0000000000..ccf0ec6f16
--- /dev/null
+++ b/Lang/M2000-Interpreter/Ordered-words
@@ -0,0 +1 @@
+../../Task/Ordered-words/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Password-generator b/Lang/M2000-Interpreter/Password-generator
new file mode 120000
index 0000000000..0b48ccbf39
--- /dev/null
+++ b/Lang/M2000-Interpreter/Password-generator
@@ -0,0 +1 @@
+../../Task/Password-generator/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Periodic-table b/Lang/M2000-Interpreter/Periodic-table
new file mode 120000
index 0000000000..0e286fad08
--- /dev/null
+++ b/Lang/M2000-Interpreter/Periodic-table
@@ -0,0 +1 @@
+../../Task/Periodic-table/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Polyspiral b/Lang/M2000-Interpreter/Polyspiral
new file mode 120000
index 0000000000..f2eb619d45
--- /dev/null
+++ b/Lang/M2000-Interpreter/Polyspiral
@@ -0,0 +1 @@
+../../Task/Polyspiral/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Power-set b/Lang/M2000-Interpreter/Power-set
new file mode 120000
index 0000000000..c99b047826
--- /dev/null
+++ b/Lang/M2000-Interpreter/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Problem-of-Apollonius b/Lang/M2000-Interpreter/Problem-of-Apollonius
new file mode 120000
index 0000000000..3c1d7459c0
--- /dev/null
+++ b/Lang/M2000-Interpreter/Problem-of-Apollonius
@@ -0,0 +1 @@
+../../Task/Problem-of-Apollonius/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Pseudo-random-numbers-Middle-square-method b/Lang/M2000-Interpreter/Pseudo-random-numbers-Middle-square-method
new file mode 120000
index 0000000000..71371c48fd
--- /dev/null
+++ b/Lang/M2000-Interpreter/Pseudo-random-numbers-Middle-square-method
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-Middle-square-method/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Pseudo-random-numbers-Xorshift-star b/Lang/M2000-Interpreter/Pseudo-random-numbers-Xorshift-star
new file mode 120000
index 0000000000..a60ebed0a5
--- /dev/null
+++ b/Lang/M2000-Interpreter/Pseudo-random-numbers-Xorshift-star
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-Xorshift-star/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Quaternion-type b/Lang/M2000-Interpreter/Quaternion-type
deleted file mode 120000
index 7027a86930..0000000000
--- a/Lang/M2000-Interpreter/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Read-a-specific-line-from-a-file b/Lang/M2000-Interpreter/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..12c1b22a47
--- /dev/null
+++ b/Lang/M2000-Interpreter/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Roots-of-a-quadratic-function b/Lang/M2000-Interpreter/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..0f141b08fb
--- /dev/null
+++ b/Lang/M2000-Interpreter/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Simple-turtle-graphics b/Lang/M2000-Interpreter/Simple-turtle-graphics
new file mode 120000
index 0000000000..8bb4a18e49
--- /dev/null
+++ b/Lang/M2000-Interpreter/Simple-turtle-graphics
@@ -0,0 +1 @@
+../../Task/Simple-turtle-graphics/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Sleeping-Beauty-problem b/Lang/M2000-Interpreter/Sleeping-Beauty-problem
new file mode 120000
index 0000000000..aee1fdd4f8
--- /dev/null
+++ b/Lang/M2000-Interpreter/Sleeping-Beauty-problem
@@ -0,0 +1 @@
+../../Task/Sleeping-Beauty-problem/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Sort-an-integer-array b/Lang/M2000-Interpreter/Sort-an-integer-array
new file mode 120000
index 0000000000..f409389d27
--- /dev/null
+++ b/Lang/M2000-Interpreter/Sort-an-integer-array
@@ -0,0 +1 @@
+../../Task/Sort-an-integer-array/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Sort-an-outline-at-every-level b/Lang/M2000-Interpreter/Sort-an-outline-at-every-level
new file mode 120000
index 0000000000..b5c1e68e5d
--- /dev/null
+++ b/Lang/M2000-Interpreter/Sort-an-outline-at-every-level
@@ -0,0 +1 @@
+../../Task/Sort-an-outline-at-every-level/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Sorting-algorithms-Strand-sort b/Lang/M2000-Interpreter/Sorting-algorithms-Strand-sort
new file mode 120000
index 0000000000..94b7b8369f
--- /dev/null
+++ b/Lang/M2000-Interpreter/Sorting-algorithms-Strand-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Strand-sort/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Stable-marriage-problem b/Lang/M2000-Interpreter/Stable-marriage-problem
new file mode 120000
index 0000000000..1148451e3c
--- /dev/null
+++ b/Lang/M2000-Interpreter/Stable-marriage-problem
@@ -0,0 +1 @@
+../../Task/Stable-marriage-problem/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Statistics-Basic b/Lang/M2000-Interpreter/Statistics-Basic
new file mode 120000
index 0000000000..9d5dab6ba7
--- /dev/null
+++ b/Lang/M2000-Interpreter/Statistics-Basic
@@ -0,0 +1 @@
+../../Task/Statistics-Basic/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Statistics-Normal-distribution b/Lang/M2000-Interpreter/Statistics-Normal-distribution
new file mode 120000
index 0000000000..6018d24b87
--- /dev/null
+++ b/Lang/M2000-Interpreter/Statistics-Normal-distribution
@@ -0,0 +1 @@
+../../Task/Statistics-Normal-distribution/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Strip-a-set-of-characters-from-a-string b/Lang/M2000-Interpreter/Strip-a-set-of-characters-from-a-string
new file mode 120000
index 0000000000..ca8f98d606
--- /dev/null
+++ b/Lang/M2000-Interpreter/Strip-a-set-of-characters-from-a-string
@@ -0,0 +1 @@
+../../Task/Strip-a-set-of-characters-from-a-string/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Taxicab-numbers b/Lang/M2000-Interpreter/Taxicab-numbers
new file mode 120000
index 0000000000..6c7f58f7d6
--- /dev/null
+++ b/Lang/M2000-Interpreter/Taxicab-numbers
@@ -0,0 +1 @@
+../../Task/Taxicab-numbers/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Temperature-conversion b/Lang/M2000-Interpreter/Temperature-conversion
new file mode 120000
index 0000000000..75d9db05ed
--- /dev/null
+++ b/Lang/M2000-Interpreter/Temperature-conversion
@@ -0,0 +1 @@
+../../Task/Temperature-conversion/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Terminal-control-Hiding-the-cursor b/Lang/M2000-Interpreter/Terminal-control-Hiding-the-cursor
new file mode 120000
index 0000000000..7d9e8bacf5
--- /dev/null
+++ b/Lang/M2000-Interpreter/Terminal-control-Hiding-the-cursor
@@ -0,0 +1 @@
+../../Task/Terminal-control-Hiding-the-cursor/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Tree-datastructures b/Lang/M2000-Interpreter/Tree-datastructures
new file mode 120000
index 0000000000..1fa6a47d52
--- /dev/null
+++ b/Lang/M2000-Interpreter/Tree-datastructures
@@ -0,0 +1 @@
+../../Task/Tree-datastructures/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Truth-table b/Lang/M2000-Interpreter/Truth-table
new file mode 120000
index 0000000000..b77fe8354b
--- /dev/null
+++ b/Lang/M2000-Interpreter/Truth-table
@@ -0,0 +1 @@
+../../Task/Truth-table/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Ultra-useful-primes b/Lang/M2000-Interpreter/Ultra-useful-primes
new file mode 120000
index 0000000000..5330980a0e
--- /dev/null
+++ b/Lang/M2000-Interpreter/Ultra-useful-primes
@@ -0,0 +1 @@
+../../Task/Ultra-useful-primes/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Video-display-modes b/Lang/M2000-Interpreter/Video-display-modes
new file mode 120000
index 0000000000..39ee17dc2d
--- /dev/null
+++ b/Lang/M2000-Interpreter/Video-display-modes
@@ -0,0 +1 @@
+../../Task/Video-display-modes/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Window-management b/Lang/M2000-Interpreter/Window-management
new file mode 120000
index 0000000000..bb8ac9e26a
--- /dev/null
+++ b/Lang/M2000-Interpreter/Window-management
@@ -0,0 +1 @@
+../../Task/Window-management/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M2000-Interpreter/Write-language-name-in-3D-ASCII b/Lang/M2000-Interpreter/Write-language-name-in-3D-ASCII
new file mode 120000
index 0000000000..3ec6cbeb80
--- /dev/null
+++ b/Lang/M2000-Interpreter/Write-language-name-in-3D-ASCII
@@ -0,0 +1 @@
+../../Task/Write-language-name-in-3D-ASCII/M2000-Interpreter
\ No newline at end of file
diff --git a/Lang/M4/Cantor-set b/Lang/M4/Cantor-set
new file mode 120000
index 0000000000..cb3913e176
--- /dev/null
+++ b/Lang/M4/Cantor-set
@@ -0,0 +1 @@
+../../Task/Cantor-set/M4
\ No newline at end of file
diff --git a/Lang/M4/Empty-program b/Lang/M4/Empty-program
deleted file mode 120000
index 3ce502532c..0000000000
--- a/Lang/M4/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/M4
\ No newline at end of file
diff --git a/Lang/MACRO-11/Run-length-encoding b/Lang/MACRO-11/Run-length-encoding
new file mode 120000
index 0000000000..3f700314e0
--- /dev/null
+++ b/Lang/MACRO-11/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/MACRO-11
\ No newline at end of file
diff --git a/Lang/MACRO-11/Square-but-not-cube b/Lang/MACRO-11/Square-but-not-cube
new file mode 120000
index 0000000000..7130b2c620
--- /dev/null
+++ b/Lang/MACRO-11/Square-but-not-cube
@@ -0,0 +1 @@
+../../Task/Square-but-not-cube/MACRO-11
\ No newline at end of file
diff --git a/Lang/MAD/Arithmetic-derivative b/Lang/MAD/Arithmetic-derivative
new file mode 120000
index 0000000000..e7c006ae6c
--- /dev/null
+++ b/Lang/MAD/Arithmetic-derivative
@@ -0,0 +1 @@
+../../Task/Arithmetic-derivative/MAD
\ No newline at end of file
diff --git a/Lang/MAD/Look-and-say-sequence b/Lang/MAD/Look-and-say-sequence
new file mode 120000
index 0000000000..dbca6a6456
--- /dev/null
+++ b/Lang/MAD/Look-and-say-sequence
@@ -0,0 +1 @@
+../../Task/Look-and-say-sequence/MAD
\ No newline at end of file
diff --git a/Lang/MAD/Zeckendorf-number-representation b/Lang/MAD/Zeckendorf-number-representation
new file mode 120000
index 0000000000..3be8d0f3cc
--- /dev/null
+++ b/Lang/MAD/Zeckendorf-number-representation
@@ -0,0 +1 @@
+../../Task/Zeckendorf-number-representation/MAD
\ No newline at end of file
diff --git a/Lang/MATLAB/Bioinformatics-base-count b/Lang/MATLAB/Bioinformatics-base-count
deleted file mode 120000
index 2622a73422..0000000000
--- a/Lang/MATLAB/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Find-the-last-Sunday-of-each-month b/Lang/MATLAB/Find-the-last-Sunday-of-each-month
new file mode 120000
index 0000000000..989cc5e7f4
--- /dev/null
+++ b/Lang/MATLAB/Find-the-last-Sunday-of-each-month
@@ -0,0 +1 @@
+../../Task/Find-the-last-Sunday-of-each-month/MATLAB
\ No newline at end of file
diff --git a/Lang/ML-I/Empty-program b/Lang/ML-I/Empty-program
deleted file mode 120000
index 48b06f2449..0000000000
--- a/Lang/ML-I/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/ML-I
\ No newline at end of file
diff --git a/Lang/MSX-Basic/Colour-pinstripe-Display b/Lang/MSX-Basic/Colour-pinstripe-Display
new file mode 120000
index 0000000000..f0497934ea
--- /dev/null
+++ b/Lang/MSX-Basic/Colour-pinstripe-Display
@@ -0,0 +1 @@
+../../Task/Colour-pinstripe-Display/MSX-Basic
\ No newline at end of file
diff --git a/Lang/MSX-Basic/Diversity-prediction-theorem b/Lang/MSX-Basic/Diversity-prediction-theorem
new file mode 120000
index 0000000000..e57f4cb084
--- /dev/null
+++ b/Lang/MSX-Basic/Diversity-prediction-theorem
@@ -0,0 +1 @@
+../../Task/Diversity-prediction-theorem/MSX-Basic
\ No newline at end of file
diff --git a/Lang/MSX-Basic/Evaluate-binomial-coefficients b/Lang/MSX-Basic/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..806e2bfad2
--- /dev/null
+++ b/Lang/MSX-Basic/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/MSX-Basic
\ No newline at end of file
diff --git a/Lang/MSX-Basic/Generate-lower-case-ASCII-alphabet b/Lang/MSX-Basic/Generate-lower-case-ASCII-alphabet
new file mode 120000
index 0000000000..8cceece87f
--- /dev/null
+++ b/Lang/MSX-Basic/Generate-lower-case-ASCII-alphabet
@@ -0,0 +1 @@
+../../Task/Generate-lower-case-ASCII-alphabet/MSX-Basic
\ No newline at end of file
diff --git a/Lang/MSX-Basic/Leonardo-numbers b/Lang/MSX-Basic/Leonardo-numbers
new file mode 120000
index 0000000000..070fbe9186
--- /dev/null
+++ b/Lang/MSX-Basic/Leonardo-numbers
@@ -0,0 +1 @@
+../../Task/Leonardo-numbers/MSX-Basic
\ No newline at end of file
diff --git a/Lang/MSX-Basic/Map-range b/Lang/MSX-Basic/Map-range
new file mode 120000
index 0000000000..749213e0f6
--- /dev/null
+++ b/Lang/MSX-Basic/Map-range
@@ -0,0 +1 @@
+../../Task/Map-range/MSX-Basic
\ No newline at end of file
diff --git a/Lang/MSX-Basic/Pascals-triangle b/Lang/MSX-Basic/Pascals-triangle
new file mode 120000
index 0000000000..bfaa04f0db
--- /dev/null
+++ b/Lang/MSX-Basic/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/MSX-Basic
\ No newline at end of file
diff --git a/Lang/MSX-Basic/Pinstripe-Display b/Lang/MSX-Basic/Pinstripe-Display
new file mode 120000
index 0000000000..b37582657e
--- /dev/null
+++ b/Lang/MSX-Basic/Pinstripe-Display
@@ -0,0 +1 @@
+../../Task/Pinstripe-Display/MSX-Basic
\ No newline at end of file
diff --git a/Lang/MUMPS/00-LANG.txt b/Lang/MUMPS/00-LANG.txt
index cfb6ac9800..491ec139a6 100644
--- a/Lang/MUMPS/00-LANG.txt
+++ b/Lang/MUMPS/00-LANG.txt
@@ -1,14 +1,21 @@
{{language
-|untyped=yes}}
+|untyped=yes
+|gc
+|parampass|
+}}
+
{{language programming paradigm|procedural}}
-Visit the Google group comp.lang.mumps for discussions about this language.
+Visit the Google group/ Usenet newsgroupcomp.lang.mumps for discussions about this language.
Visit [[wp:MUMPS|Wikipedia]] for a general description.
See http://71.174.62.16/Demo/AnnoStd for details about the language.
-Standard MUMPS has one data types (strings) and some dialects (Cache, MSM) add a second data type (objects). A variable can be unsubscripted or not, and the subscripted variables form a
-sparse n-tree. MUMPS doesn't have traditional arrays, but has an array syntax that manipulates trees as if they were arrays, using indexing to access nodes of the tree. You can create a tree that can have unlimited levels of branching, with keys and values associated with each node in the tree. Similarly, while the language doesn't have lists, you can mimic lists by creating strings with a consistent character (or string) as a delimiter separating the entries.
-The Cache dialect also supports explicit List operations and data structures.
+
Standard MUMPS has one data type (strings) and some dialects (Cache, MSM, IRIS) add a second data type (objects). A variable can be unsubscripted or not, and the subscripted variables form a
+sparse n-tree, or associative arrays or sparse multidimensional hierarchical key-value pair with keys as strings and values as strings.
+
+MUMPS doesn't have traditional arrays, but has an array syntax that manipulates trees as if they were arrays, using indexing to access nodes of the tree. You can create a tree that can have unlimited levels of branching, with keys and values associated with each node in the tree. Similarly, while the language doesn't have lists, you can mimic lists by creating strings with a consistent character (or string) as a delimiter separating the entries.
+
+The Cache and IRIS dialects also support explicit List operations and data structures as values.
\ No newline at end of file
diff --git a/Lang/MUMPS/Menu b/Lang/MUMPS/Menu
deleted file mode 120000
index e9b86505e7..0000000000
--- a/Lang/MUMPS/Menu
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Menu/MUMPS
\ No newline at end of file
diff --git a/Lang/Maple/Empty-program b/Lang/Maple/Empty-program
deleted file mode 120000
index f9fceb04a1..0000000000
--- a/Lang/Maple/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/Maple
\ No newline at end of file
diff --git a/Lang/Maple/Pythagoras-tree b/Lang/Maple/Pythagoras-tree
new file mode 120000
index 0000000000..0342fe2180
--- /dev/null
+++ b/Lang/Maple/Pythagoras-tree
@@ -0,0 +1 @@
+../../Task/Pythagoras-tree/Maple
\ No newline at end of file
diff --git a/Lang/Maple/Quaternion-type b/Lang/Maple/Quaternion-type
deleted file mode 120000
index dc174952ef..0000000000
--- a/Lang/Maple/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Maple
\ No newline at end of file
diff --git a/Lang/Maple/Sequence-smallest-number-with-exactly-n-divisors b/Lang/Maple/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Maple/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/Maple/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/MariaDB/00-LANG.txt b/Lang/MariaDB/00-LANG.txt
new file mode 100644
index 0000000000..fc505f9a24
--- /dev/null
+++ b/Lang/MariaDB/00-LANG.txt
@@ -0,0 +1,15 @@
+{{language|MariaDB}}
+{{implementation|SQL}}
+
+'''MariaDB''' is a relational database management system (RDBMS) with non-relational extensions, like JSON and dynamic columns. It was originally forked from MySQL. After Oracle acquired MySQL in 2009, its creator Michael "Monty" Widenius and other developers from the team created MariaDB. MariaDB was named after Monty's second daughter, Maria.
+
+MariaDB is backed by two organisations: the MariaDB Foundation, a not-for-profit organisation that makes sure that MariaDB will remain free forever; and MariaDB plc, a company that provides MariaDB support and sells the MariaDB Enterprise edition. MariaDB code is distributed under the GNU GPL 2. Part of the code belongs to Oracle, because it derives from MySQL. MariaDB KnowledgeBase, its documentation, is available under that GNU FDL and the CC-BY-SA 3.0.
+
+MariaDB SQL has procedural extensions, which can be used to develop stored procedures, stored functions, triggers and events, as well as anonymous code blocks. It also supports a PL/SQL parser, available when MariaDB is used in Oracle compatibility mode. User-Defined Functions can also be written in a compiled language and be used in SQL statements. MariaDB also supports storage engines and other types of plugins.
+
+== External Links ==
+* [https://en.wikipedia.org/wiki/MariaDB Wikipedia:MariaDB]
+* [https://mariadb.com/kb MariaDB KnowledgeBase]
+* [https://mariadb.com/ MariaDB website]
+
+[[Category:SQL Derivatives]]
\ No newline at end of file
diff --git a/Lang/MariaDB/00-META.yaml b/Lang/MariaDB/00-META.yaml
new file mode 100644
index 0000000000..4ad202983e
--- /dev/null
+++ b/Lang/MariaDB/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:MariaDB
diff --git a/Lang/MariaDB/Conditional-structures b/Lang/MariaDB/Conditional-structures
new file mode 120000
index 0000000000..1ed7f68fbf
--- /dev/null
+++ b/Lang/MariaDB/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/MariaDB
\ No newline at end of file
diff --git a/Lang/MariaDB/Hello-world-Text b/Lang/MariaDB/Hello-world-Text
new file mode 120000
index 0000000000..bc1357e35b
--- /dev/null
+++ b/Lang/MariaDB/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/MariaDB
\ No newline at end of file
diff --git a/Lang/MariaDB/Parameterized-SQL-statement b/Lang/MariaDB/Parameterized-SQL-statement
new file mode 120000
index 0000000000..28a4df441a
--- /dev/null
+++ b/Lang/MariaDB/Parameterized-SQL-statement
@@ -0,0 +1 @@
+../../Task/Parameterized-SQL-statement/MariaDB
\ No newline at end of file
diff --git a/Lang/MariaDB/Table-creation-Postal-addresses b/Lang/MariaDB/Table-creation-Postal-addresses
new file mode 120000
index 0000000000..5f671a41e1
--- /dev/null
+++ b/Lang/MariaDB/Table-creation-Postal-addresses
@@ -0,0 +1 @@
+../../Task/Table-creation-Postal-addresses/MariaDB
\ No newline at end of file
diff --git a/Lang/Mastermind/00-LANG.txt b/Lang/Mastermind/00-LANG.txt
new file mode 100644
index 0000000000..faed2e3417
--- /dev/null
+++ b/Lang/Mastermind/00-LANG.txt
@@ -0,0 +1,292 @@
+{{stub}}{{language|Mastermind}}
+Mastermind is a programming language designed specifically to create [[Brainf***]] code. The [https://mastermind.lostpixels.org Mastermind IDE] includes a [[Rust]]-based compiler, which converts (compiles) Mastermind source programs into Brainf***.
+The current Mastermind compiler generates Brainf*** code assuming an infinite bi-directional tape, as well as 8-bit wrapping cells https://github.com/Heathcorp/Mastermind.
+
+== Usage ==
+
+=== Variables & Values ===
+
+Variables can be defined as single cells, or as contiguous sets of cells:
+// single-cell:
+let var = 56;
+let c = 'g';
+let bool = true; // true/false equivalent to 1/0
+// multi-cell:
+let array[4] = [1, 2, 3, 4];
+let string[5] = "hello";
+If left uninitialised, a cell is assumed to have a value of 0.
+
+Expressions consist of simple adds and subtractions, arrays and strings cannot be used in expressions:
+
+// supported:
+var += 4 + (5 - 4 + (3 - 2));
+var = 'g' - 23 + true;
+var = var + 5; // inefficient but supported
+var += array[0] + 5;
+let arr[3] = [4 + 3 - ('5' - 46), 1, 3];
+
+// NOT supported:
+var += [4, 5, 7][1] + 3;
+Array indices must be compile-time constant integers
+
+=== Input & Output ===
+
+Single bytes can be output using the ''output'' operator:
+
+output 'h';
+output var;
+output var + 6;
+output array[0];
+// the following are equivalent:
+output '\n';
+output 10;
+Likewise for ''input'':
+
+input var;
+input arr[2];
+There is also ''*'' spread syntax and support for strings and arrays for ease of use:
+
+output "hello";
+output ['1', '2', '3'];
+output *array;
+
+input *array;
+
+=== Loops ===
+
+The simplest is the ''while'' loop, which only supports cell references, not expressions:
+
+while var {
+ // do stuff
+ // var -= 1;
+ // etc
+}
+
+==== Draining loops ====
+The "drain" loop is equivalent to the common Brainf*** construction of repeating an action ''N'' times, where ''N'' is the value of a tape cell. Hence, "draining" the cell while doing the actions in the loop body.
+
+drain var {
+
+}
+// shorthand for following:
+while var {
+ // do stuff
+ var -= 1;
+}
+This destructively loops as many times as the value in the cell being referenced, this can be used with expressions:
+
+drain 10 {}
+drain var - 6 {}
+There is also shorthand "into" syntax for adding to other cells:
+
+drain var into other_var other_var_2 *spread_array etc;
+
+// example of typical "for loop":
+let i;
+drain 10 into i {
+ output '0' + i; // inefficient for the example
+}
+// "0123456789"
+// equivalent to the following:
+let i;
+let N = 10;
+while N {
+ output '0' + i;
+}
+
+==== Copying loops ====
+The "copy" loop is equivalent to the drain loop, except it is not destructive. This means the variable can be accessed safely from inside the loop body.
+
+copy var into other_var *spread_var etc;
+
+// examples:
+copy var {
+ // this will output the original var value, var times
+ output var;
+}
+
+let rows = 3;
+let columns = 6;
+let total;
+drain rows {
+ copy columns into total {
+ output '.';
+ }
+}
+// ......
+// ......
+// ......
+
+=== If/Else ===
+The "if" and "else" keywords operate similar to [[C]], except "else if" is not supported. The code in the "if" body will be executed if the provided expression is positive, otherwise the "else" body is executed. If the "not" keyword is used, the behavior is reversed.
+Examples:
+
+if 13 {
+ output "13";
+}
+
+if var {
+ output "true";
+} else {
+ output "false";
+}
+
+// typical equivalence use-case:
+if not var - 10 {
+ // ==
+} else {
+ // !=
+}
+
+=== Functions ===
+Functions work like templates/macros, as they do not perform any passing by value. All functions are in-lined at compile time. This means multiple calls to a large function will significantly increase your compiled [[Brainf***]] size.
+
+For this reason, function arguments are given using ''<'' angled bracket ''>'' syntax, much like generic functions in other languages:
+
+def quote {
+ output 39; // ASCII single quote
+ output arg;
+ output 39;
+}
+
+let N = 'g';
+quote;
+N += 3;
+quote;
+// gj
+
+=== Imports ===
+
+Imports work much like the [[C]] preprocessor:
+
+#include "other_file"
+This copies the contents of "other_file" into the current file at compile-time.
+
+=== In-line Brainf*** features ===
+
+In-line Brainf*** allows the programmer to define custom behavior as if writing raw [[Brainf***]], this is analogous to [[C]]'s in-line [[Assembly]].
+
+
+// This is its most basic form:
+// find the next cell that equals -1
+bf {
+ +[->+]-
+}
+
+// This is its more advanced form:
+// input a line of lowercase letters and output the uppercase version
+// this is an intentionally inefficient example
+bf @3 clobbers var *spread_var etc {
+ ,----------[++++++++++>,----------]
+ <[<]>
+ [
+ {
+ let g @0;
+ assert g unknown;
+ output g + ('A' - 'a');
+ // embedded Mastermind!
+ }
+ >
+ ]
+ // now clear and return
+ <[[-]<]>
+}
+It is the programmer's responsibility to clear used cells and return back to the cell in which the in-line Brainf*** context began. If the programmer does not do this, any Mastermind code after the in-line Brainf*** command will likely break.
+
+==== Memory location specifiers ====
+For hand-tuning optimizations and in-line Brainf*** that reads from Mastermind variables, you can specify the location on the Brainf*** tape:
+Variables can be fixed to a specified location on the eventual Brainf*** tape. This can also be done with in-line Brainf*** code sections. This can be used to share values between Mastermind and Brainf*** contexts.
+
+let var @3 = 4;
+// compiled: >>>++++
+
+bf @4 {
+ <><><>
+}
+// compiled: >>>><><><>
+
+==== Clobbering and Assertions ====
+The Mastermind compiler will try to predict the value of cells at compile-time, so it can prevent unnecessary cell clean-ups and unreachable code (with optimizations turned on). If your in-line Brainf*** affects existing Mastermind variables, you should tell the compiler using the "clobbers" keyword, the syntax is similar to the ''drain into'' variable list:
+
+bf clobbers var *spread_var other_var etc {}
+The compiler will now assume nothing about the values of those variables afterwards.
+
+If instead you want to tell the compiler specifically that a value has become certain, you can use ''assert'':
+
+assert var equals 3;
+// most common use cases:
+assert var equals 0;
+assert var unknown;
+Asserting a variable as ''unknown'' is equivalent to clobbering.
+
+==== Embedded Mastermind ====
+Embedding Mastermind into your in-line [[Brainf***]] allows you to use Mastermind syntax features for programs within your Brainf***, this is useful for ''N''-length string based programs, or anything not possible in pure Mastermind:
+
+
+let sum @0;
+
+bf @0 {
+ >>
+ // read input (until eof) to the tape, nullifying any spaces or newlines
+ // (this is probably not a good practical example, ideas are appreciated)
+ ,[
+ {
+ let c @0;
+ assert c unknown; // needed otherwise the compiler assumes c = 0
+
+ if not (c - '\n') {
+ c = 0;
+ }
+ if not (c - ' ') {
+ c = 0;
+ }
+ }
+ >,
+ ]
+}
+Memory location specifiers are relative to the current Mastermind context. Also, top-level variables are not cleared by default in Mastermind contexts, this allows you to "leave" variables in cells for your Brainf*** to use. If you want your embedded Mastermind to clean itself up, you can simply open a scope at the top level:
+
+bf {
+ ++----++[][][<><><>] // the program doesn't matter for this example
+ {
+ // variables here will not be cleared
+ let g @2;
+ assert g unknown;
+ {
+ // variables here will be cleared
+ let b = 32;
+ }
+ }
+ {{
+ // self-cleaning Mastermind code here
+ }}
+}
+
+==== Advanced ====
+All Mastermind features are available within the embedded Mastermind contexts, including in-line [[Brainf***]] code.
+
+bf {
+ ++++[
+ {
+ let i @0;
+ assert i unknown;
+ let j @1 = i + 1;
+
+ bf @1 {
+ [.+]
+ {
+ // even more layers are possible
+ bf {
+ {
+ output "h"
+ }
+ }
+ }
+ }
+ }
+ -]
+}
+
+
+== References ==
+{{reflist}}
\ No newline at end of file
diff --git a/Lang/Mastermind/00-META.yaml b/Lang/Mastermind/00-META.yaml
new file mode 100644
index 0000000000..52ba5ad7eb
--- /dev/null
+++ b/Lang/Mastermind/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Mastermind
diff --git a/Lang/Mastermind/Hello-world-Text b/Lang/Mastermind/Hello-world-Text
new file mode 120000
index 0000000000..a0461bd60e
--- /dev/null
+++ b/Lang/Mastermind/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Mastermind
\ No newline at end of file
diff --git a/Lang/Mastermind/Repeat b/Lang/Mastermind/Repeat
new file mode 120000
index 0000000000..25794ace84
--- /dev/null
+++ b/Lang/Mastermind/Repeat
@@ -0,0 +1 @@
+../../Task/Repeat/Mastermind
\ No newline at end of file
diff --git a/Lang/Mathematica/00-LANG.txt b/Lang/Mathematica/00-LANG.txt
index 5daf1eef81..15e81dd703 100644
--- a/Lang/Mathematica/00-LANG.txt
+++ b/Lang/Mathematica/00-LANG.txt
@@ -11,4 +11,4 @@ It is used in many scientific, engineering, mathematical and computing fields, a
[[Category:Mathematical programming languages]]
==Todo==
-[[Reports:Tasks_not_implemented_in_Mathematica]]
\ No newline at end of file
+[[Tasks not implemented in Mathematica]]
\ No newline at end of file
diff --git a/Lang/Mathematica/15-puzzle-solver b/Lang/Mathematica/15-puzzle-solver
new file mode 120000
index 0000000000..c802cd3973
--- /dev/null
+++ b/Lang/Mathematica/15-puzzle-solver
@@ -0,0 +1 @@
+../../Task/15-puzzle-solver/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/ADFGVX-cipher b/Lang/Mathematica/ADFGVX-cipher
new file mode 120000
index 0000000000..0a44fcd7ef
--- /dev/null
+++ b/Lang/Mathematica/ADFGVX-cipher
@@ -0,0 +1 @@
+../../Task/ADFGVX-cipher/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/ASCII-art-diagram-converter b/Lang/Mathematica/ASCII-art-diagram-converter
new file mode 120000
index 0000000000..1006da4cf6
--- /dev/null
+++ b/Lang/Mathematica/ASCII-art-diagram-converter
@@ -0,0 +1 @@
+../../Task/ASCII-art-diagram-converter/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Arithmetic-derivative b/Lang/Mathematica/Arithmetic-derivative
new file mode 120000
index 0000000000..a9033ded41
--- /dev/null
+++ b/Lang/Mathematica/Arithmetic-derivative
@@ -0,0 +1 @@
+../../Task/Arithmetic-derivative/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/B-zier-curves-Intersections b/Lang/Mathematica/B-zier-curves-Intersections
new file mode 120000
index 0000000000..85dc8fb4ae
--- /dev/null
+++ b/Lang/Mathematica/B-zier-curves-Intersections
@@ -0,0 +1 @@
+../../Task/B-zier-curves-Intersections/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Bioinformatics-base-count b/Lang/Mathematica/Bioinformatics-base-count
deleted file mode 120000
index 986950c20f..0000000000
--- a/Lang/Mathematica/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Camel-case-and-snake-case b/Lang/Mathematica/Camel-case-and-snake-case
new file mode 120000
index 0000000000..6d73876132
--- /dev/null
+++ b/Lang/Mathematica/Camel-case-and-snake-case
@@ -0,0 +1 @@
+../../Task/Camel-case-and-snake-case/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Doomsday-rule b/Lang/Mathematica/Doomsday-rule
new file mode 120000
index 0000000000..92b8fc707b
--- /dev/null
+++ b/Lang/Mathematica/Doomsday-rule
@@ -0,0 +1 @@
+../../Task/Doomsday-rule/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Empty-program b/Lang/Mathematica/Empty-program
deleted file mode 120000
index 7445caa973..0000000000
--- a/Lang/Mathematica/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Erd-s-Nicolas-numbers b/Lang/Mathematica/Erd-s-Nicolas-numbers
new file mode 120000
index 0000000000..d74b7bd3b7
--- /dev/null
+++ b/Lang/Mathematica/Erd-s-Nicolas-numbers
@@ -0,0 +1 @@
+../../Task/Erd-s-Nicolas-numbers/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Jordan-P-lya-numbers b/Lang/Mathematica/Jordan-P-lya-numbers
new file mode 120000
index 0000000000..4fd2ab0262
--- /dev/null
+++ b/Lang/Mathematica/Jordan-P-lya-numbers
@@ -0,0 +1 @@
+../../Task/Jordan-P-lya-numbers/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Meissel-Mertens-constant b/Lang/Mathematica/Meissel-Mertens-constant
deleted file mode 120000
index 8d1d0df59d..0000000000
--- a/Lang/Mathematica/Meissel-Mertens-constant
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Meissel-Mertens-constant/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Miller-Rabin-primality-test b/Lang/Mathematica/Miller-Rabin-primality-test
deleted file mode 120000
index 400d0fb0e3..0000000000
--- a/Lang/Mathematica/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Parse-an-IP-Address b/Lang/Mathematica/Parse-an-IP-Address
new file mode 120000
index 0000000000..32b7086e88
--- /dev/null
+++ b/Lang/Mathematica/Parse-an-IP-Address
@@ -0,0 +1 @@
+../../Task/Parse-an-IP-Address/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Perlin-noise b/Lang/Mathematica/Perlin-noise
new file mode 120000
index 0000000000..9de4d18cd6
--- /dev/null
+++ b/Lang/Mathematica/Perlin-noise
@@ -0,0 +1 @@
+../../Task/Perlin-noise/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Prime-numbers-whose-neighboring-pairs-are-tetraprimes b/Lang/Mathematica/Prime-numbers-whose-neighboring-pairs-are-tetraprimes
new file mode 120000
index 0000000000..e8da31b0d4
--- /dev/null
+++ b/Lang/Mathematica/Prime-numbers-whose-neighboring-pairs-are-tetraprimes
@@ -0,0 +1 @@
+../../Task/Prime-numbers-whose-neighboring-pairs-are-tetraprimes/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Quaternion-type b/Lang/Mathematica/Quaternion-type
deleted file mode 120000
index 700c56b146..0000000000
--- a/Lang/Mathematica/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Radical-of-an-integer b/Lang/Mathematica/Radical-of-an-integer
new file mode 120000
index 0000000000..e6b1268eae
--- /dev/null
+++ b/Lang/Mathematica/Radical-of-an-integer
@@ -0,0 +1 @@
+../../Task/Radical-of-an-integer/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Ramer-Douglas-Peucker-line-simplification b/Lang/Mathematica/Ramer-Douglas-Peucker-line-simplification
new file mode 120000
index 0000000000..40a31497c6
--- /dev/null
+++ b/Lang/Mathematica/Ramer-Douglas-Peucker-line-simplification
@@ -0,0 +1 @@
+../../Task/Ramer-Douglas-Peucker-line-simplification/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Same-fringe b/Lang/Mathematica/Same-fringe
new file mode 120000
index 0000000000..9a80cee1d8
--- /dev/null
+++ b/Lang/Mathematica/Same-fringe
@@ -0,0 +1 @@
+../../Task/Same-fringe/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Sequence-nth-number-with-exactly-n-divisors b/Lang/Mathematica/Sequence:-nth-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Mathematica/Sequence-nth-number-with-exactly-n-divisors
rename to Lang/Mathematica/Sequence:-nth-number-with-exactly-n-divisors
diff --git a/Lang/Mathematica/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/Mathematica/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/Mathematica/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/Mathematica/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/Mathematica/Sequence-smallest-number-with-exactly-n-divisors b/Lang/Mathematica/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Mathematica/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/Mathematica/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/Mathematica/Singular-value-decomposition b/Lang/Mathematica/Singular-value-decomposition
new file mode 120000
index 0000000000..1a576b3373
--- /dev/null
+++ b/Lang/Mathematica/Singular-value-decomposition
@@ -0,0 +1 @@
+../../Task/Singular-value-decomposition/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Sisyphus-sequence b/Lang/Mathematica/Sisyphus-sequence
new file mode 120000
index 0000000000..82e0aee9dd
--- /dev/null
+++ b/Lang/Mathematica/Sisyphus-sequence
@@ -0,0 +1 @@
+../../Task/Sisyphus-sequence/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Sorting-Algorithms-Circle-Sort b/Lang/Mathematica/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index 9ff1fc78ae..0000000000
--- a/Lang/Mathematica/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Sphenic-numbers b/Lang/Mathematica/Sphenic-numbers
new file mode 120000
index 0000000000..c276d09072
--- /dev/null
+++ b/Lang/Mathematica/Sphenic-numbers
@@ -0,0 +1 @@
+../../Task/Sphenic-numbers/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Strassens-algorithm b/Lang/Mathematica/Strassens-algorithm
new file mode 120000
index 0000000000..c75340ee0d
--- /dev/null
+++ b/Lang/Mathematica/Strassens-algorithm
@@ -0,0 +1 @@
+../../Task/Strassens-algorithm/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Sudan-function b/Lang/Mathematica/Sudan-function
new file mode 120000
index 0000000000..915d15ee53
--- /dev/null
+++ b/Lang/Mathematica/Sudan-function
@@ -0,0 +1 @@
+../../Task/Sudan-function/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Suffixation-of-decimal-numbers b/Lang/Mathematica/Suffixation-of-decimal-numbers
new file mode 120000
index 0000000000..dd6272f891
--- /dev/null
+++ b/Lang/Mathematica/Suffixation-of-decimal-numbers
@@ -0,0 +1 @@
+../../Task/Suffixation-of-decimal-numbers/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Tonelli-Shanks-algorithm b/Lang/Mathematica/Tonelli-Shanks-algorithm
new file mode 120000
index 0000000000..747956daa4
--- /dev/null
+++ b/Lang/Mathematica/Tonelli-Shanks-algorithm
@@ -0,0 +1 @@
+../../Task/Tonelli-Shanks-algorithm/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Transliterate-English-text-using-the-Greek-alphabet b/Lang/Mathematica/Transliterate-English-text-using-the-Greek-alphabet
new file mode 120000
index 0000000000..d987c7e779
--- /dev/null
+++ b/Lang/Mathematica/Transliterate-English-text-using-the-Greek-alphabet
@@ -0,0 +1 @@
+../../Task/Transliterate-English-text-using-the-Greek-alphabet/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Tropical-algebra-overloading b/Lang/Mathematica/Tropical-algebra-overloading
new file mode 120000
index 0000000000..6a45231ead
--- /dev/null
+++ b/Lang/Mathematica/Tropical-algebra-overloading
@@ -0,0 +1 @@
+../../Task/Tropical-algebra-overloading/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Vogels-approximation-method b/Lang/Mathematica/Vogels-approximation-method
new file mode 120000
index 0000000000..2d01457a6e
--- /dev/null
+++ b/Lang/Mathematica/Vogels-approximation-method
@@ -0,0 +1 @@
+../../Task/Vogels-approximation-method/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Wagstaff-primes b/Lang/Mathematica/Wagstaff-primes
new file mode 120000
index 0000000000..7e781a92a6
--- /dev/null
+++ b/Lang/Mathematica/Wagstaff-primes
@@ -0,0 +1 @@
+../../Task/Wagstaff-primes/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/World-Cup-group-stage b/Lang/Mathematica/World-Cup-group-stage
new file mode 120000
index 0000000000..c3a327e4ad
--- /dev/null
+++ b/Lang/Mathematica/World-Cup-group-stage
@@ -0,0 +1 @@
+../../Task/World-Cup-group-stage/Mathematica
\ No newline at end of file
diff --git a/Lang/Maxima/Angle-difference-between-two-bearings b/Lang/Maxima/Angle-difference-between-two-bearings
new file mode 120000
index 0000000000..b086194fa4
--- /dev/null
+++ b/Lang/Maxima/Angle-difference-between-two-bearings
@@ -0,0 +1 @@
+../../Task/Angle-difference-between-two-bearings/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Arithmetic-derivative b/Lang/Maxima/Arithmetic-derivative
new file mode 120000
index 0000000000..b682390e8a
--- /dev/null
+++ b/Lang/Maxima/Arithmetic-derivative
@@ -0,0 +1 @@
+../../Task/Arithmetic-derivative/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Array-length b/Lang/Maxima/Array-length
new file mode 120000
index 0000000000..da5c3a4dcd
--- /dev/null
+++ b/Lang/Maxima/Array-length
@@ -0,0 +1 @@
+../../Task/Array-length/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Carmichael-3-strong-pseudoprimes b/Lang/Maxima/Carmichael-3-strong-pseudoprimes
new file mode 120000
index 0000000000..cca27bae48
--- /dev/null
+++ b/Lang/Maxima/Carmichael-3-strong-pseudoprimes
@@ -0,0 +1 @@
+../../Task/Carmichael-3-strong-pseudoprimes/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Chinese-zodiac b/Lang/Maxima/Chinese-zodiac
new file mode 120000
index 0000000000..5fc6134cf1
--- /dev/null
+++ b/Lang/Maxima/Chinese-zodiac
@@ -0,0 +1 @@
+../../Task/Chinese-zodiac/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Chowla-numbers b/Lang/Maxima/Chowla-numbers
new file mode 120000
index 0000000000..4a1835dd7a
--- /dev/null
+++ b/Lang/Maxima/Chowla-numbers
@@ -0,0 +1 @@
+../../Task/Chowla-numbers/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Conjugate-transpose b/Lang/Maxima/Conjugate-transpose
new file mode 120000
index 0000000000..f1ca6a05e7
--- /dev/null
+++ b/Lang/Maxima/Conjugate-transpose
@@ -0,0 +1 @@
+../../Task/Conjugate-transpose/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Continued-fraction-Arithmetic-Construct-from-rational-number b/Lang/Maxima/Continued-fraction-Arithmetic-Construct-from-rational-number
new file mode 120000
index 0000000000..29d02a5a5d
--- /dev/null
+++ b/Lang/Maxima/Continued-fraction-Arithmetic-Construct-from-rational-number
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-Construct-from-rational-number/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Delete-a-file b/Lang/Maxima/Delete-a-file
new file mode 120000
index 0000000000..9515074358
--- /dev/null
+++ b/Lang/Maxima/Delete-a-file
@@ -0,0 +1 @@
+../../Task/Delete-a-file/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Diversity-prediction-theorem b/Lang/Maxima/Diversity-prediction-theorem
new file mode 120000
index 0000000000..5f6277f150
--- /dev/null
+++ b/Lang/Maxima/Diversity-prediction-theorem
@@ -0,0 +1 @@
+../../Task/Diversity-prediction-theorem/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Doomsday-rule b/Lang/Maxima/Doomsday-rule
new file mode 120000
index 0000000000..e92ce2f9d2
--- /dev/null
+++ b/Lang/Maxima/Doomsday-rule
@@ -0,0 +1 @@
+../../Task/Doomsday-rule/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Exponentiation-order b/Lang/Maxima/Exponentiation-order
new file mode 120000
index 0000000000..3914b83865
--- /dev/null
+++ b/Lang/Maxima/Exponentiation-order
@@ -0,0 +1 @@
+../../Task/Exponentiation-order/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Exponentiation-with-infix-operators-in-or-operating-on-the-base b/Lang/Maxima/Exponentiation-with-infix-operators-in-or-operating-on-the-base
new file mode 120000
index 0000000000..571c836707
--- /dev/null
+++ b/Lang/Maxima/Exponentiation-with-infix-operators-in-or-operating-on-the-base
@@ -0,0 +1 @@
+../../Task/Exponentiation-with-infix-operators-in-or-operating-on-the-base/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Fermat-numbers b/Lang/Maxima/Fermat-numbers
new file mode 120000
index 0000000000..705c8192a4
--- /dev/null
+++ b/Lang/Maxima/Fermat-numbers
@@ -0,0 +1 @@
+../../Task/Fermat-numbers/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/General-FizzBuzz b/Lang/Maxima/General-FizzBuzz
new file mode 120000
index 0000000000..e422ed53f2
--- /dev/null
+++ b/Lang/Maxima/General-FizzBuzz
@@ -0,0 +1 @@
+../../Task/General-FizzBuzz/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Guess-the-number b/Lang/Maxima/Guess-the-number
new file mode 120000
index 0000000000..386c9c38ac
--- /dev/null
+++ b/Lang/Maxima/Guess-the-number
@@ -0,0 +1 @@
+../../Task/Guess-the-number/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Guess-the-number-With-feedback b/Lang/Maxima/Guess-the-number-With-feedback
new file mode 120000
index 0000000000..8b04db909f
--- /dev/null
+++ b/Lang/Maxima/Guess-the-number-With-feedback
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Hash-from-two-arrays b/Lang/Maxima/Hash-from-two-arrays
new file mode 120000
index 0000000000..b59b47ec09
--- /dev/null
+++ b/Lang/Maxima/Hash-from-two-arrays
@@ -0,0 +1 @@
+../../Task/Hash-from-two-arrays/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Humble-numbers b/Lang/Maxima/Humble-numbers
new file mode 120000
index 0000000000..d093fa7dd0
--- /dev/null
+++ b/Lang/Maxima/Humble-numbers
@@ -0,0 +1 @@
+../../Task/Humble-numbers/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Jacobi-symbol b/Lang/Maxima/Jacobi-symbol
new file mode 120000
index 0000000000..73e8a14256
--- /dev/null
+++ b/Lang/Maxima/Jacobi-symbol
@@ -0,0 +1 @@
+../../Task/Jacobi-symbol/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/List-comprehensions b/Lang/Maxima/List-comprehensions
new file mode 120000
index 0000000000..de6043c392
--- /dev/null
+++ b/Lang/Maxima/List-comprehensions
@@ -0,0 +1 @@
+../../Task/List-comprehensions/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Loops-N-plus-one-half b/Lang/Maxima/Loops-N-plus-one-half
new file mode 120000
index 0000000000..8fb12a3bb8
--- /dev/null
+++ b/Lang/Maxima/Loops-N-plus-one-half
@@ -0,0 +1 @@
+../../Task/Loops-N-plus-one-half/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Loops-With-multiple-ranges b/Lang/Maxima/Loops-With-multiple-ranges
new file mode 120000
index 0000000000..0d4ccad640
--- /dev/null
+++ b/Lang/Maxima/Loops-With-multiple-ranges
@@ -0,0 +1 @@
+../../Task/Loops-With-multiple-ranges/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Magic-constant b/Lang/Maxima/Magic-constant
new file mode 120000
index 0000000000..406aae118d
--- /dev/null
+++ b/Lang/Maxima/Magic-constant
@@ -0,0 +1 @@
+../../Task/Magic-constant/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Meissel-Mertens-constant b/Lang/Maxima/Meissel-Mertens-constant
deleted file mode 120000
index ea7cea2fda..0000000000
--- a/Lang/Maxima/Meissel-Mertens-constant
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Meissel-Mertens-constant/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Miller-Rabin-primality-test b/Lang/Maxima/Miller-Rabin-primality-test
deleted file mode 120000
index 331b953779..0000000000
--- a/Lang/Maxima/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Nested-function b/Lang/Maxima/Nested-function
new file mode 120000
index 0000000000..14e0a5c6e4
--- /dev/null
+++ b/Lang/Maxima/Nested-function
@@ -0,0 +1 @@
+../../Task/Nested-function/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Nth b/Lang/Maxima/Nth
new file mode 120000
index 0000000000..76e7cadf39
--- /dev/null
+++ b/Lang/Maxima/Nth
@@ -0,0 +1 @@
+../../Task/Nth/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Old-lady-swallowed-a-fly b/Lang/Maxima/Old-lady-swallowed-a-fly
new file mode 120000
index 0000000000..7f7aab63d3
--- /dev/null
+++ b/Lang/Maxima/Old-lady-swallowed-a-fly
@@ -0,0 +1 @@
+../../Task/Old-lady-swallowed-a-fly/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Pernicious-numbers b/Lang/Maxima/Pernicious-numbers
new file mode 120000
index 0000000000..1062304d91
--- /dev/null
+++ b/Lang/Maxima/Pernicious-numbers
@@ -0,0 +1 @@
+../../Task/Pernicious-numbers/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Phrase-reversals b/Lang/Maxima/Phrase-reversals
new file mode 120000
index 0000000000..e9f3fbc16e
--- /dev/null
+++ b/Lang/Maxima/Phrase-reversals
@@ -0,0 +1 @@
+../../Task/Phrase-reversals/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Population-count b/Lang/Maxima/Population-count
new file mode 120000
index 0000000000..ae8e574cce
--- /dev/null
+++ b/Lang/Maxima/Population-count
@@ -0,0 +1 @@
+../../Task/Population-count/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Proper-divisors b/Lang/Maxima/Proper-divisors
new file mode 120000
index 0000000000..d541bf6c4d
--- /dev/null
+++ b/Lang/Maxima/Proper-divisors
@@ -0,0 +1 @@
+../../Task/Proper-divisors/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Pseudo-random-numbers-PCG32 b/Lang/Maxima/Pseudo-random-numbers-PCG32
new file mode 120000
index 0000000000..6feec056ab
--- /dev/null
+++ b/Lang/Maxima/Pseudo-random-numbers-PCG32
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-PCG32/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Pseudo-random-numbers-Splitmix64 b/Lang/Maxima/Pseudo-random-numbers-Splitmix64
new file mode 120000
index 0000000000..c67133774e
--- /dev/null
+++ b/Lang/Maxima/Pseudo-random-numbers-Splitmix64
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-Splitmix64/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Pseudo-random-numbers-Xorshift-star b/Lang/Maxima/Pseudo-random-numbers-Xorshift-star
new file mode 120000
index 0000000000..601269aa2d
--- /dev/null
+++ b/Lang/Maxima/Pseudo-random-numbers-Xorshift-star
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-Xorshift-star/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Real-constants-and-functions b/Lang/Maxima/Real-constants-and-functions
new file mode 120000
index 0000000000..5465f4ddf0
--- /dev/null
+++ b/Lang/Maxima/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Regular-expressions b/Lang/Maxima/Regular-expressions
new file mode 120000
index 0000000000..ad80bc2114
--- /dev/null
+++ b/Lang/Maxima/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Rename-a-file b/Lang/Maxima/Rename-a-file
new file mode 120000
index 0000000000..875c72e05d
--- /dev/null
+++ b/Lang/Maxima/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Repeat b/Lang/Maxima/Repeat
new file mode 120000
index 0000000000..69cf6bc4f0
--- /dev/null
+++ b/Lang/Maxima/Repeat
@@ -0,0 +1 @@
+../../Task/Repeat/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Repunit-primes b/Lang/Maxima/Repunit-primes
new file mode 120000
index 0000000000..fb23d38994
--- /dev/null
+++ b/Lang/Maxima/Repunit-primes
@@ -0,0 +1 @@
+../../Task/Repunit-primes/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Safe-primes-and-unsafe-primes b/Lang/Maxima/Safe-primes-and-unsafe-primes
new file mode 120000
index 0000000000..3ba21ce950
--- /dev/null
+++ b/Lang/Maxima/Safe-primes-and-unsafe-primes
@@ -0,0 +1 @@
+../../Task/Safe-primes-and-unsafe-primes/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Sequence-of-primorial-primes b/Lang/Maxima/Sequence-of-primorial-primes
new file mode 120000
index 0000000000..987ddfd5b4
--- /dev/null
+++ b/Lang/Maxima/Sequence-of-primorial-primes
@@ -0,0 +1 @@
+../../Task/Sequence-of-primorial-primes/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/Maxima/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/Maxima/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/Maxima/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/Maxima/Sequence:-smallest-number-with-exactly-n-divisors b/Lang/Maxima/Sequence:-smallest-number-with-exactly-n-divisors
new file mode 120000
index 0000000000..2edcd184a6
--- /dev/null
+++ b/Lang/Maxima/Sequence:-smallest-number-with-exactly-n-divisors
@@ -0,0 +1 @@
+../../Task/Sequence:-smallest-number-with-exactly-n-divisors/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Shoelace-formula-for-polygonal-area b/Lang/Maxima/Shoelace-formula-for-polygonal-area
new file mode 120000
index 0000000000..4b2db308ce
--- /dev/null
+++ b/Lang/Maxima/Shoelace-formula-for-polygonal-area
@@ -0,0 +1 @@
+../../Task/Shoelace-formula-for-polygonal-area/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Sorting-algorithms-Counting-sort b/Lang/Maxima/Sorting-algorithms-Counting-sort
new file mode 120000
index 0000000000..3b3f2f0c39
--- /dev/null
+++ b/Lang/Maxima/Sorting-algorithms-Counting-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Counting-sort/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Sorting-algorithms-Stooge-sort b/Lang/Maxima/Sorting-algorithms-Stooge-sort
new file mode 120000
index 0000000000..df60525c6e
--- /dev/null
+++ b/Lang/Maxima/Sorting-algorithms-Stooge-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Stooge-sort/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Statistics-Basic b/Lang/Maxima/Statistics-Basic
new file mode 120000
index 0000000000..3aa4fcf62d
--- /dev/null
+++ b/Lang/Maxima/Statistics-Basic
@@ -0,0 +1 @@
+../../Task/Statistics-Basic/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Stirling-numbers-of-the-first-kind b/Lang/Maxima/Stirling-numbers-of-the-first-kind
new file mode 120000
index 0000000000..00938d2052
--- /dev/null
+++ b/Lang/Maxima/Stirling-numbers-of-the-first-kind
@@ -0,0 +1 @@
+../../Task/Stirling-numbers-of-the-first-kind/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Stirling-numbers-of-the-second-kind b/Lang/Maxima/Stirling-numbers-of-the-second-kind
new file mode 120000
index 0000000000..3b2dde9483
--- /dev/null
+++ b/Lang/Maxima/Stirling-numbers-of-the-second-kind
@@ -0,0 +1 @@
+../../Task/Stirling-numbers-of-the-second-kind/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Substring-Top-and-tail b/Lang/Maxima/Substring-Top-and-tail
new file mode 120000
index 0000000000..6897859615
--- /dev/null
+++ b/Lang/Maxima/Substring-Top-and-tail
@@ -0,0 +1 @@
+../../Task/Substring-Top-and-tail/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Summarize-primes b/Lang/Maxima/Summarize-primes
new file mode 120000
index 0000000000..d202f40be0
--- /dev/null
+++ b/Lang/Maxima/Summarize-primes
@@ -0,0 +1 @@
+../../Task/Summarize-primes/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Superellipse b/Lang/Maxima/Superellipse
new file mode 120000
index 0000000000..4ecd2801c8
--- /dev/null
+++ b/Lang/Maxima/Superellipse
@@ -0,0 +1 @@
+../../Task/Superellipse/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Tau-function b/Lang/Maxima/Tau-function
new file mode 120000
index 0000000000..40243f7b1e
--- /dev/null
+++ b/Lang/Maxima/Tau-function
@@ -0,0 +1 @@
+../../Task/Tau-function/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Tau-number b/Lang/Maxima/Tau-number
new file mode 120000
index 0000000000..053b7e480c
--- /dev/null
+++ b/Lang/Maxima/Tau-number
@@ -0,0 +1 @@
+../../Task/Tau-number/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/The-Twelve-Days-of-Christmas b/Lang/Maxima/The-Twelve-Days-of-Christmas
new file mode 120000
index 0000000000..dd36e626f6
--- /dev/null
+++ b/Lang/Maxima/The-Twelve-Days-of-Christmas
@@ -0,0 +1 @@
+../../Task/The-Twelve-Days-of-Christmas/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Topic-variable b/Lang/Maxima/Topic-variable
new file mode 120000
index 0000000000..e2a8f808d7
--- /dev/null
+++ b/Lang/Maxima/Topic-variable
@@ -0,0 +1 @@
+../../Task/Topic-variable/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Towers-of-Hanoi b/Lang/Maxima/Towers-of-Hanoi
new file mode 120000
index 0000000000..40963f2edb
--- /dev/null
+++ b/Lang/Maxima/Towers-of-Hanoi
@@ -0,0 +1 @@
+../../Task/Towers-of-Hanoi/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Unicode-variable-names b/Lang/Maxima/Unicode-variable-names
new file mode 120000
index 0000000000..34b765c308
--- /dev/null
+++ b/Lang/Maxima/Unicode-variable-names
@@ -0,0 +1 @@
+../../Task/Unicode-variable-names/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Variable-declaration-reset b/Lang/Maxima/Variable-declaration-reset
new file mode 120000
index 0000000000..127cccc10e
--- /dev/null
+++ b/Lang/Maxima/Variable-declaration-reset
@@ -0,0 +1 @@
+../../Task/Variable-declaration-reset/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Vector b/Lang/Maxima/Vector
new file mode 120000
index 0000000000..8d6cbd46ca
--- /dev/null
+++ b/Lang/Maxima/Vector
@@ -0,0 +1 @@
+../../Task/Vector/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Wagstaff-primes b/Lang/Maxima/Wagstaff-primes
new file mode 120000
index 0000000000..f74c4ee3f2
--- /dev/null
+++ b/Lang/Maxima/Wagstaff-primes
@@ -0,0 +1 @@
+../../Task/Wagstaff-primes/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Wieferich-primes b/Lang/Maxima/Wieferich-primes
new file mode 120000
index 0000000000..8ad2bd1a72
--- /dev/null
+++ b/Lang/Maxima/Wieferich-primes
@@ -0,0 +1 @@
+../../Task/Wieferich-primes/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Wilson-primes-of-order-n b/Lang/Maxima/Wilson-primes-of-order-n
new file mode 120000
index 0000000000..83b27ec734
--- /dev/null
+++ b/Lang/Maxima/Wilson-primes-of-order-n
@@ -0,0 +1 @@
+../../Task/Wilson-primes-of-order-n/Maxima
\ No newline at end of file
diff --git a/Lang/MelonBasic/Empty-program b/Lang/MelonBasic/Empty-program
deleted file mode 120000
index 8fb3b62c73..0000000000
--- a/Lang/MelonBasic/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/MelonBasic
\ No newline at end of file
diff --git a/Lang/Mercury/Miller-Rabin-primality-test b/Lang/Mercury/Miller-Rabin-primality-test
deleted file mode 120000
index 6022def69b..0000000000
--- a/Lang/Mercury/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Mercury
\ No newline at end of file
diff --git a/Lang/Mercury/Quaternion-type b/Lang/Mercury/Quaternion-type
deleted file mode 120000
index 34fd045795..0000000000
--- a/Lang/Mercury/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Mercury
\ No newline at end of file
diff --git a/Lang/Mia/Loops-While b/Lang/Mia/Loops-While
new file mode 120000
index 0000000000..acad4e8591
--- /dev/null
+++ b/Lang/Mia/Loops-While
@@ -0,0 +1 @@
+../../Task/Loops-While/Mia
\ No newline at end of file
diff --git a/Lang/Microsoft-Small-Basic/A+B b/Lang/Microsoft-Small-Basic/A+B
new file mode 120000
index 0000000000..f3a4fe9f2e
--- /dev/null
+++ b/Lang/Microsoft-Small-Basic/A+B
@@ -0,0 +1 @@
+../../Task/A+B/Microsoft-Small-Basic
\ No newline at end of file
diff --git a/Lang/Microsoft-Small-Basic/Array-length b/Lang/Microsoft-Small-Basic/Array-length
new file mode 120000
index 0000000000..5cb5fd80e3
--- /dev/null
+++ b/Lang/Microsoft-Small-Basic/Array-length
@@ -0,0 +1 @@
+../../Task/Array-length/Microsoft-Small-Basic
\ No newline at end of file
diff --git a/Lang/Microsoft-Small-Basic/Halt-and-catch-fire b/Lang/Microsoft-Small-Basic/Halt-and-catch-fire
new file mode 120000
index 0000000000..85dd00fc29
--- /dev/null
+++ b/Lang/Microsoft-Small-Basic/Halt-and-catch-fire
@@ -0,0 +1 @@
+../../Task/Halt-and-catch-fire/Microsoft-Small-Basic
\ No newline at end of file
diff --git a/Lang/Microsoft-Small-Basic/Hello-world-Graphical b/Lang/Microsoft-Small-Basic/Hello-world-Graphical
new file mode 120000
index 0000000000..e9bfd8a7e0
--- /dev/null
+++ b/Lang/Microsoft-Small-Basic/Hello-world-Graphical
@@ -0,0 +1 @@
+../../Task/Hello-world-Graphical/Microsoft-Small-Basic
\ No newline at end of file
diff --git a/Lang/Microsoft-Small-Basic/I-before-E-except-after-C b/Lang/Microsoft-Small-Basic/I-before-E-except-after-C
new file mode 120000
index 0000000000..e009793925
--- /dev/null
+++ b/Lang/Microsoft-Small-Basic/I-before-E-except-after-C
@@ -0,0 +1 @@
+../../Task/I-before-E-except-after-C/Microsoft-Small-Basic
\ No newline at end of file
diff --git a/Lang/Microsoft-Small-Basic/Jump-anywhere b/Lang/Microsoft-Small-Basic/Jump-anywhere
new file mode 120000
index 0000000000..ef9c52343e
--- /dev/null
+++ b/Lang/Microsoft-Small-Basic/Jump-anywhere
@@ -0,0 +1 @@
+../../Task/Jump-anywhere/Microsoft-Small-Basic
\ No newline at end of file
diff --git a/Lang/Microsoft-Small-Basic/Program-termination b/Lang/Microsoft-Small-Basic/Program-termination
new file mode 120000
index 0000000000..ecf78f2fdc
--- /dev/null
+++ b/Lang/Microsoft-Small-Basic/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Microsoft-Small-Basic
\ No newline at end of file
diff --git a/Lang/Microsoft-Small-Basic/RPG-attributes-generator b/Lang/Microsoft-Small-Basic/RPG-attributes-generator
new file mode 120000
index 0000000000..b4096f1ae1
--- /dev/null
+++ b/Lang/Microsoft-Small-Basic/RPG-attributes-generator
@@ -0,0 +1 @@
+../../Task/RPG-attributes-generator/Microsoft-Small-Basic
\ No newline at end of file
diff --git a/Lang/Microsoft-Small-Basic/Simple-windowed-application b/Lang/Microsoft-Small-Basic/Simple-windowed-application
new file mode 120000
index 0000000000..372561cd34
--- /dev/null
+++ b/Lang/Microsoft-Small-Basic/Simple-windowed-application
@@ -0,0 +1 @@
+../../Task/Simple-windowed-application/Microsoft-Small-Basic
\ No newline at end of file
diff --git a/Lang/Microsoft-Small-Basic/Substring b/Lang/Microsoft-Small-Basic/Substring
new file mode 120000
index 0000000000..187fdf47c4
--- /dev/null
+++ b/Lang/Microsoft-Small-Basic/Substring
@@ -0,0 +1 @@
+../../Task/Substring/Microsoft-Small-Basic
\ No newline at end of file
diff --git a/Lang/Microsoft-Small-Basic/The-Name-Game b/Lang/Microsoft-Small-Basic/The-Name-Game
new file mode 120000
index 0000000000..904bd0e9c8
--- /dev/null
+++ b/Lang/Microsoft-Small-Basic/The-Name-Game
@@ -0,0 +1 @@
+../../Task/The-Name-Game/Microsoft-Small-Basic
\ No newline at end of file
diff --git a/Lang/Microsoft-Small-Basic/Transliterate-English-text-using-the-Greek-alphabet b/Lang/Microsoft-Small-Basic/Transliterate-English-text-using-the-Greek-alphabet
new file mode 120000
index 0000000000..5d28e3f2bb
--- /dev/null
+++ b/Lang/Microsoft-Small-Basic/Transliterate-English-text-using-the-Greek-alphabet
@@ -0,0 +1 @@
+../../Task/Transliterate-English-text-using-the-Greek-alphabet/Microsoft-Small-Basic
\ No newline at end of file
diff --git a/Lang/Microsoft-Small-Basic/Variables b/Lang/Microsoft-Small-Basic/Variables
new file mode 120000
index 0000000000..3ad596872d
--- /dev/null
+++ b/Lang/Microsoft-Small-Basic/Variables
@@ -0,0 +1 @@
+../../Task/Variables/Microsoft-Small-Basic
\ No newline at end of file
diff --git a/Lang/Microsoft-Small-Basic/Window-creation b/Lang/Microsoft-Small-Basic/Window-creation
new file mode 120000
index 0000000000..31935ba19c
--- /dev/null
+++ b/Lang/Microsoft-Small-Basic/Window-creation
@@ -0,0 +1 @@
+../../Task/Window-creation/Microsoft-Small-Basic
\ No newline at end of file
diff --git a/Lang/MiniScript/Apply-a-callback-to-an-array b/Lang/MiniScript/Apply-a-callback-to-an-array
new file mode 120000
index 0000000000..9f2b7eb3c8
--- /dev/null
+++ b/Lang/MiniScript/Apply-a-callback-to-an-array
@@ -0,0 +1 @@
+../../Task/Apply-a-callback-to-an-array/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Count-in-factors b/Lang/MiniScript/Count-in-factors
new file mode 120000
index 0000000000..7a0ecccaf4
--- /dev/null
+++ b/Lang/MiniScript/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Empty-program b/Lang/MiniScript/Empty-program
deleted file mode 120000
index 60da45f9ae..0000000000
--- a/Lang/MiniScript/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Haversine-formula b/Lang/MiniScript/Haversine-formula
new file mode 120000
index 0000000000..0bba2877d8
--- /dev/null
+++ b/Lang/MiniScript/Haversine-formula
@@ -0,0 +1 @@
+../../Task/Haversine-formula/MiniScript
\ No newline at end of file
diff --git a/Lang/MiniScript/Read-a-file-line-by-line b/Lang/MiniScript/Read-a-file-line-by-line
new file mode 120000
index 0000000000..7064fcf098
--- /dev/null
+++ b/Lang/MiniScript/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/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
similarity index 100%
rename from Lang/MiniScript/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/MiniScript/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/MiniScript/Sequence-smallest-number-with-exactly-n-divisors b/Lang/MiniScript/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/MiniScript/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/MiniScript/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/MiniScript/Sleeping-Beauty-problem b/Lang/MiniScript/Sleeping-Beauty-problem
new file mode 120000
index 0000000000..feb4e597cb
--- /dev/null
+++ b/Lang/MiniScript/Sleeping-Beauty-problem
@@ -0,0 +1 @@
+../../Task/Sleeping-Beauty-problem/MiniScript
\ No newline at end of file
diff --git a/Lang/Minimal-BASIC/Abundant-deficient-and-perfect-number-classifications b/Lang/Minimal-BASIC/Abundant-deficient-and-perfect-number-classifications
new file mode 120000
index 0000000000..ca944f9e1d
--- /dev/null
+++ b/Lang/Minimal-BASIC/Abundant-deficient-and-perfect-number-classifications
@@ -0,0 +1 @@
+../../Task/Abundant-deficient-and-perfect-number-classifications/Minimal-BASIC
\ No newline at end of file
diff --git a/Lang/Minimal-BASIC/Evaluate-binomial-coefficients b/Lang/Minimal-BASIC/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..6ad0769264
--- /dev/null
+++ b/Lang/Minimal-BASIC/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/Minimal-BASIC
\ No newline at end of file
diff --git a/Lang/Minimal-BASIC/Jensens-Device b/Lang/Minimal-BASIC/Jensens-Device
new file mode 120000
index 0000000000..f729ff931e
--- /dev/null
+++ b/Lang/Minimal-BASIC/Jensens-Device
@@ -0,0 +1 @@
+../../Task/Jensens-Device/Minimal-BASIC
\ No newline at end of file
diff --git a/Lang/Minimal-BASIC/Leonardo-numbers b/Lang/Minimal-BASIC/Leonardo-numbers
new file mode 120000
index 0000000000..c45ebe1ebc
--- /dev/null
+++ b/Lang/Minimal-BASIC/Leonardo-numbers
@@ -0,0 +1 @@
+../../Task/Leonardo-numbers/Minimal-BASIC
\ No newline at end of file
diff --git a/Lang/Minimal-BASIC/Loops-Infinite b/Lang/Minimal-BASIC/Loops-Infinite
new file mode 120000
index 0000000000..a936b362aa
--- /dev/null
+++ b/Lang/Minimal-BASIC/Loops-Infinite
@@ -0,0 +1 @@
+../../Task/Loops-Infinite/Minimal-BASIC
\ No newline at end of file
diff --git a/Lang/Minimal-BASIC/Monty-Hall-problem b/Lang/Minimal-BASIC/Monty-Hall-problem
new file mode 120000
index 0000000000..e997b4d558
--- /dev/null
+++ b/Lang/Minimal-BASIC/Monty-Hall-problem
@@ -0,0 +1 @@
+../../Task/Monty-Hall-problem/Minimal-BASIC
\ No newline at end of file
diff --git a/Lang/Minimal-BASIC/Pancake-numbers b/Lang/Minimal-BASIC/Pancake-numbers
new file mode 120000
index 0000000000..5141be0a11
--- /dev/null
+++ b/Lang/Minimal-BASIC/Pancake-numbers
@@ -0,0 +1 @@
+../../Task/Pancake-numbers/Minimal-BASIC
\ No newline at end of file
diff --git a/Lang/Minimal-BASIC/Sum-of-a-series b/Lang/Minimal-BASIC/Sum-of-a-series
new file mode 120000
index 0000000000..b515c8004d
--- /dev/null
+++ b/Lang/Minimal-BASIC/Sum-of-a-series
@@ -0,0 +1 @@
+../../Task/Sum-of-a-series/Minimal-BASIC
\ No newline at end of file
diff --git a/Lang/Miranda/Align-columns b/Lang/Miranda/Align-columns
new file mode 120000
index 0000000000..ca88577a8d
--- /dev/null
+++ b/Lang/Miranda/Align-columns
@@ -0,0 +1 @@
+../../Task/Align-columns/Miranda
\ No newline at end of file
diff --git a/Lang/Miranda/Arithmetic-derivative b/Lang/Miranda/Arithmetic-derivative
new file mode 120000
index 0000000000..91683ddf96
--- /dev/null
+++ b/Lang/Miranda/Arithmetic-derivative
@@ -0,0 +1 @@
+../../Task/Arithmetic-derivative/Miranda
\ No newline at end of file
diff --git a/Lang/Miranda/Bell-numbers b/Lang/Miranda/Bell-numbers
new file mode 120000
index 0000000000..6635e596b0
--- /dev/null
+++ b/Lang/Miranda/Bell-numbers
@@ -0,0 +1 @@
+../../Task/Bell-numbers/Miranda
\ No newline at end of file
diff --git a/Lang/Miranda/Combinations b/Lang/Miranda/Combinations
new file mode 120000
index 0000000000..b252f73176
--- /dev/null
+++ b/Lang/Miranda/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/Miranda
\ No newline at end of file
diff --git a/Lang/Miranda/Display-a-linear-combination b/Lang/Miranda/Display-a-linear-combination
new file mode 120000
index 0000000000..38a961bb6a
--- /dev/null
+++ b/Lang/Miranda/Display-a-linear-combination
@@ -0,0 +1 @@
+../../Task/Display-a-linear-combination/Miranda
\ No newline at end of file
diff --git a/Lang/Miranda/Doomsday-rule b/Lang/Miranda/Doomsday-rule
new file mode 120000
index 0000000000..91e25767d0
--- /dev/null
+++ b/Lang/Miranda/Doomsday-rule
@@ -0,0 +1 @@
+../../Task/Doomsday-rule/Miranda
\ No newline at end of file
diff --git a/Lang/Miranda/Execute-Brain- b/Lang/Miranda/Execute-Brain-
new file mode 120000
index 0000000000..e3f7d58819
--- /dev/null
+++ b/Lang/Miranda/Execute-Brain-
@@ -0,0 +1 @@
+../../Task/Execute-Brain-/Miranda
\ No newline at end of file
diff --git a/Lang/Miranda/Fractran b/Lang/Miranda/Fractran
new file mode 120000
index 0000000000..528ab3ee2e
--- /dev/null
+++ b/Lang/Miranda/Fractran
@@ -0,0 +1 @@
+../../Task/Fractran/Miranda
\ No newline at end of file
diff --git a/Lang/Miranda/Hailstone-sequence b/Lang/Miranda/Hailstone-sequence
new file mode 120000
index 0000000000..1f03fbb737
--- /dev/null
+++ b/Lang/Miranda/Hailstone-sequence
@@ -0,0 +1 @@
+../../Task/Hailstone-sequence/Miranda
\ No newline at end of file
diff --git a/Lang/Miranda/Isqrt-integer-square-root-of-X b/Lang/Miranda/Isqrt-integer-square-root-of-X
new file mode 120000
index 0000000000..4b479d99e5
--- /dev/null
+++ b/Lang/Miranda/Isqrt-integer-square-root-of-X
@@ -0,0 +1 @@
+../../Task/Isqrt-integer-square-root-of-X/Miranda
\ No newline at end of file
diff --git a/Lang/Miranda/Leonardo-numbers b/Lang/Miranda/Leonardo-numbers
new file mode 120000
index 0000000000..6f062a014a
--- /dev/null
+++ b/Lang/Miranda/Leonardo-numbers
@@ -0,0 +1 @@
+../../Task/Leonardo-numbers/Miranda
\ No newline at end of file
diff --git a/Lang/Miranda/Loops-Infinite b/Lang/Miranda/Loops-Infinite
new file mode 120000
index 0000000000..8845df4b78
--- /dev/null
+++ b/Lang/Miranda/Loops-Infinite
@@ -0,0 +1 @@
+../../Task/Loops-Infinite/Miranda
\ No newline at end of file
diff --git a/Lang/Miranda/Modular-exponentiation b/Lang/Miranda/Modular-exponentiation
new file mode 120000
index 0000000000..876dc45d07
--- /dev/null
+++ b/Lang/Miranda/Modular-exponentiation
@@ -0,0 +1 @@
+../../Task/Modular-exponentiation/Miranda
\ No newline at end of file
diff --git a/Lang/Miranda/Move-to-front-algorithm b/Lang/Miranda/Move-to-front-algorithm
new file mode 120000
index 0000000000..ed5becbabe
--- /dev/null
+++ b/Lang/Miranda/Move-to-front-algorithm
@@ -0,0 +1 @@
+../../Task/Move-to-front-algorithm/Miranda
\ No newline at end of file
diff --git a/Lang/Miranda/Mutual-recursion b/Lang/Miranda/Mutual-recursion
new file mode 120000
index 0000000000..42af709518
--- /dev/null
+++ b/Lang/Miranda/Mutual-recursion
@@ -0,0 +1 @@
+../../Task/Mutual-recursion/Miranda
\ No newline at end of file
diff --git a/Lang/Miranda/Old-lady-swallowed-a-fly b/Lang/Miranda/Old-lady-swallowed-a-fly
new file mode 120000
index 0000000000..91f1f84abb
--- /dev/null
+++ b/Lang/Miranda/Old-lady-swallowed-a-fly
@@ -0,0 +1 @@
+../../Task/Old-lady-swallowed-a-fly/Miranda
\ No newline at end of file
diff --git a/Lang/Miranda/Partition-an-integer-x-into-n-primes b/Lang/Miranda/Partition-an-integer-x-into-n-primes
new file mode 120000
index 0000000000..0d73af13aa
--- /dev/null
+++ b/Lang/Miranda/Partition-an-integer-x-into-n-primes
@@ -0,0 +1 @@
+../../Task/Partition-an-integer-x-into-n-primes/Miranda
\ No newline at end of file
diff --git a/Lang/Miranda/Run-length-encoding b/Lang/Miranda/Run-length-encoding
new file mode 120000
index 0000000000..e0fd07015b
--- /dev/null
+++ b/Lang/Miranda/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Miranda
\ No newline at end of file
diff --git a/Lang/Miranda/Sequence-smallest-number-with-exactly-n-divisors b/Lang/Miranda/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Miranda/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/Miranda/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/Miranda/Sudan-function b/Lang/Miranda/Sudan-function
new file mode 120000
index 0000000000..30973d5427
--- /dev/null
+++ b/Lang/Miranda/Sudan-function
@@ -0,0 +1 @@
+../../Task/Sudan-function/Miranda
\ No newline at end of file
diff --git a/Lang/Miranda/Super-d-numbers b/Lang/Miranda/Super-d-numbers
new file mode 120000
index 0000000000..d99b0c174b
--- /dev/null
+++ b/Lang/Miranda/Super-d-numbers
@@ -0,0 +1 @@
+../../Task/Super-d-numbers/Miranda
\ No newline at end of file
diff --git a/Lang/Miranda/Zeckendorf-number-representation b/Lang/Miranda/Zeckendorf-number-representation
new file mode 120000
index 0000000000..8a316c3af1
--- /dev/null
+++ b/Lang/Miranda/Zeckendorf-number-representation
@@ -0,0 +1 @@
+../../Task/Zeckendorf-number-representation/Miranda
\ No newline at end of file
diff --git a/Lang/Mn/00-LANG.txt b/Lang/Mn/00-LANG.txt
new file mode 100644
index 0000000000..0fd90d2c3a
--- /dev/null
+++ b/Lang/Mn/00-LANG.txt
@@ -0,0 +1,7 @@
+{{stub}}{{language|mn}}
+mn is a minimalistic, concatenative, functional stack language. It is a very simple subset of [[min]].
+
+==Links==
+*[https://h3rald.com/mn/Mn_DeveloperGuide.htm Learn mn]
+
+{{Language programming paradigm|Concatenative}}
\ No newline at end of file
diff --git a/Lang/Mn/00-META.yaml b/Lang/Mn/00-META.yaml
new file mode 100644
index 0000000000..f79f1602c3
--- /dev/null
+++ b/Lang/Mn/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Mn
diff --git a/Lang/Mn/Factorial b/Lang/Mn/Factorial
new file mode 120000
index 0000000000..4c7a3c3b43
--- /dev/null
+++ b/Lang/Mn/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/Mn
\ No newline at end of file
diff --git a/Lang/Mn/Loops-While b/Lang/Mn/Loops-While
new file mode 120000
index 0000000000..9e10aebd40
--- /dev/null
+++ b/Lang/Mn/Loops-While
@@ -0,0 +1 @@
+../../Task/Loops-While/Mn
\ No newline at end of file
diff --git a/Lang/Modula-2/00-LANG.txt b/Lang/Modula-2/00-LANG.txt
index 854aa29a1a..62faf6e14c 100644
--- a/Lang/Modula-2/00-LANG.txt
+++ b/Lang/Modula-2/00-LANG.txt
@@ -26,4 +26,11 @@ Modula-2 was designed by Niklaus Wirth at ETH Zurich as a systems implementation
* [http://sourceforge.net/projects/schwarzerkaffee Schwarzer Kaffee]
==Modula-2 on IRC==
-* [irc://irc.freenode.net/#modula-2 irc://irc.freenode.net/#modula-2]
\ No newline at end of file
+* [irc://irc.freenode.net/#modula-2 irc://irc.freenode.net/#modula-2]
+
+===See also===
+* [[Modula-3]]
+* [[Oberon-07]]
+* [[Oberon-2]]
+* [[Component Pascal]]
+* [[Zonnon]]
\ No newline at end of file
diff --git a/Lang/Modula-2/AKS-test-for-primes b/Lang/Modula-2/AKS-test-for-primes
new file mode 120000
index 0000000000..f86ed2a172
--- /dev/null
+++ b/Lang/Modula-2/AKS-test-for-primes
@@ -0,0 +1 @@
+../../Task/AKS-test-for-primes/Modula-2
\ No newline at end of file
diff --git a/Lang/Modula-2/Abundant-odd-numbers b/Lang/Modula-2/Abundant-odd-numbers
new file mode 120000
index 0000000000..acae176170
--- /dev/null
+++ b/Lang/Modula-2/Abundant-odd-numbers
@@ -0,0 +1 @@
+../../Task/Abundant-odd-numbers/Modula-2
\ No newline at end of file
diff --git a/Lang/Modula-2/Cistercian-numerals b/Lang/Modula-2/Cistercian-numerals
new file mode 120000
index 0000000000..5da4e51fc7
--- /dev/null
+++ b/Lang/Modula-2/Cistercian-numerals
@@ -0,0 +1 @@
+../../Task/Cistercian-numerals/Modula-2
\ No newline at end of file
diff --git a/Lang/Modula-2/Cumulative-standard-deviation b/Lang/Modula-2/Cumulative-standard-deviation
new file mode 120000
index 0000000000..49f430ac8e
--- /dev/null
+++ b/Lang/Modula-2/Cumulative-standard-deviation
@@ -0,0 +1 @@
+../../Task/Cumulative-standard-deviation/Modula-2
\ No newline at end of file
diff --git a/Lang/Modula-2/Day-of-the-week b/Lang/Modula-2/Day-of-the-week
new file mode 120000
index 0000000000..626da93e5e
--- /dev/null
+++ b/Lang/Modula-2/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/Modula-2
\ No newline at end of file
diff --git a/Lang/Modula-2/Diversity-prediction-theorem b/Lang/Modula-2/Diversity-prediction-theorem
new file mode 120000
index 0000000000..c351696cc1
--- /dev/null
+++ b/Lang/Modula-2/Diversity-prediction-theorem
@@ -0,0 +1 @@
+../../Task/Diversity-prediction-theorem/Modula-2
\ No newline at end of file
diff --git a/Lang/Modula-2/Dutch-national-flag-problem b/Lang/Modula-2/Dutch-national-flag-problem
new file mode 120000
index 0000000000..b6400fd8d9
--- /dev/null
+++ b/Lang/Modula-2/Dutch-national-flag-problem
@@ -0,0 +1 @@
+../../Task/Dutch-national-flag-problem/Modula-2
\ No newline at end of file
diff --git a/Lang/Modula-2/Equilibrium-index b/Lang/Modula-2/Equilibrium-index
new file mode 120000
index 0000000000..434b864e3f
--- /dev/null
+++ b/Lang/Modula-2/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/Modula-2
\ No newline at end of file
diff --git a/Lang/Modula-2/Factors-of-an-integer b/Lang/Modula-2/Factors-of-an-integer
new file mode 120000
index 0000000000..19271a7965
--- /dev/null
+++ b/Lang/Modula-2/Factors-of-an-integer
@@ -0,0 +1 @@
+../../Task/Factors-of-an-integer/Modula-2
\ No newline at end of file
diff --git a/Lang/Modula-2/Gamma-function b/Lang/Modula-2/Gamma-function
new file mode 120000
index 0000000000..f14cc894e2
--- /dev/null
+++ b/Lang/Modula-2/Gamma-function
@@ -0,0 +1 @@
+../../Task/Gamma-function/Modula-2
\ No newline at end of file
diff --git a/Lang/Modula-2/Generate-lower-case-ASCII-alphabet b/Lang/Modula-2/Generate-lower-case-ASCII-alphabet
new file mode 120000
index 0000000000..94aba1f8a9
--- /dev/null
+++ b/Lang/Modula-2/Generate-lower-case-ASCII-alphabet
@@ -0,0 +1 @@
+../../Task/Generate-lower-case-ASCII-alphabet/Modula-2
\ No newline at end of file
diff --git a/Lang/Modula-2/Gray-code b/Lang/Modula-2/Gray-code
new file mode 120000
index 0000000000..8cb45ff695
--- /dev/null
+++ b/Lang/Modula-2/Gray-code
@@ -0,0 +1 @@
+../../Task/Gray-code/Modula-2
\ No newline at end of file
diff --git a/Lang/Modula-2/Luhn-test-of-credit-card-numbers b/Lang/Modula-2/Luhn-test-of-credit-card-numbers
new file mode 120000
index 0000000000..7ff802d85c
--- /dev/null
+++ b/Lang/Modula-2/Luhn-test-of-credit-card-numbers
@@ -0,0 +1 @@
+../../Task/Luhn-test-of-credit-card-numbers/Modula-2
\ No newline at end of file
diff --git a/Lang/Modula-2/M-bius-function b/Lang/Modula-2/M-bius-function
new file mode 120000
index 0000000000..e2d4a4a9b1
--- /dev/null
+++ b/Lang/Modula-2/M-bius-function
@@ -0,0 +1 @@
+../../Task/M-bius-function/Modula-2
\ No newline at end of file
diff --git a/Lang/Modula-2/Magic-constant b/Lang/Modula-2/Magic-constant
new file mode 120000
index 0000000000..d6cf44baf4
--- /dev/null
+++ b/Lang/Modula-2/Magic-constant
@@ -0,0 +1 @@
+../../Task/Magic-constant/Modula-2
\ No newline at end of file
diff --git a/Lang/Modula-2/Map-range b/Lang/Modula-2/Map-range
new file mode 120000
index 0000000000..d2da488e09
--- /dev/null
+++ b/Lang/Modula-2/Map-range
@@ -0,0 +1 @@
+../../Task/Map-range/Modula-2
\ No newline at end of file
diff --git a/Lang/Modula-2/Mayan-numerals b/Lang/Modula-2/Mayan-numerals
new file mode 120000
index 0000000000..68f34cbb07
--- /dev/null
+++ b/Lang/Modula-2/Mayan-numerals
@@ -0,0 +1 @@
+../../Task/Mayan-numerals/Modula-2
\ No newline at end of file
diff --git a/Lang/Modula-2/Monty-Hall-problem b/Lang/Modula-2/Monty-Hall-problem
new file mode 120000
index 0000000000..9ad6c8767a
--- /dev/null
+++ b/Lang/Modula-2/Monty-Hall-problem
@@ -0,0 +1 @@
+../../Task/Monty-Hall-problem/Modula-2
\ No newline at end of file
diff --git a/Lang/Modula-2/Multifactorial b/Lang/Modula-2/Multifactorial
new file mode 120000
index 0000000000..ba5a38f5d3
--- /dev/null
+++ b/Lang/Modula-2/Multifactorial
@@ -0,0 +1 @@
+../../Task/Multifactorial/Modula-2
\ No newline at end of file
diff --git a/Lang/Modula-2/Nth-root b/Lang/Modula-2/Nth-root
new file mode 120000
index 0000000000..0efaa69472
--- /dev/null
+++ b/Lang/Modula-2/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Modula-2
\ No newline at end of file
diff --git a/Lang/Modula-2/Periodic-table b/Lang/Modula-2/Periodic-table
new file mode 120000
index 0000000000..20953bda9a
--- /dev/null
+++ b/Lang/Modula-2/Periodic-table
@@ -0,0 +1 @@
+../../Task/Periodic-table/Modula-2
\ No newline at end of file
diff --git a/Lang/Modula-2/Ramer-Douglas-Peucker-line-simplification b/Lang/Modula-2/Ramer-Douglas-Peucker-line-simplification
new file mode 120000
index 0000000000..ff583aca48
--- /dev/null
+++ b/Lang/Modula-2/Ramer-Douglas-Peucker-line-simplification
@@ -0,0 +1 @@
+../../Task/Ramer-Douglas-Peucker-line-simplification/Modula-2
\ No newline at end of file
diff --git a/Lang/Modula-2/Semiprime b/Lang/Modula-2/Semiprime
new file mode 120000
index 0000000000..108e390f08
--- /dev/null
+++ b/Lang/Modula-2/Semiprime
@@ -0,0 +1 @@
+../../Task/Semiprime/Modula-2
\ No newline at end of file
diff --git a/Lang/Modula-2/Sequence-smallest-number-with-exactly-n-divisors b/Lang/Modula-2/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Modula-2/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/Modula-2/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/Modula-2/Temperature-conversion b/Lang/Modula-2/Temperature-conversion
new file mode 120000
index 0000000000..fa236503d3
--- /dev/null
+++ b/Lang/Modula-2/Temperature-conversion
@@ -0,0 +1 @@
+../../Task/Temperature-conversion/Modula-2
\ No newline at end of file
diff --git a/Lang/Modula-2/Tic-tac-toe b/Lang/Modula-2/Tic-tac-toe
new file mode 120000
index 0000000000..21b0370c7a
--- /dev/null
+++ b/Lang/Modula-2/Tic-tac-toe
@@ -0,0 +1 @@
+../../Task/Tic-tac-toe/Modula-2
\ No newline at end of file
diff --git a/Lang/Modula-2/Zeckendorf-number-representation b/Lang/Modula-2/Zeckendorf-number-representation
new file mode 120000
index 0000000000..bbadf943ec
--- /dev/null
+++ b/Lang/Modula-2/Zeckendorf-number-representation
@@ -0,0 +1 @@
+../../Task/Zeckendorf-number-representation/Modula-2
\ No newline at end of file
diff --git a/Lang/Modula-3/00-LANG.txt b/Lang/Modula-3/00-LANG.txt
index 582f870540..aaa0f4b8bf 100644
--- a/Lang/Modula-3/00-LANG.txt
+++ b/Lang/Modula-3/00-LANG.txt
@@ -21,4 +21,11 @@ Its main implementation is [[Critical Mass Modula-3]].
Modula-3 influenced a few languages such as [[C Sharp|C#]], [[Java]], [[Ocaml]] and [[Python]].
==Links==
-* [http://en.wikipedia.org/wiki/Modula-3 Modula-3 at Wikipedia]
\ No newline at end of file
+* [http://en.wikipedia.org/wiki/Modula-3 Modula-3 at Wikipedia]
+
+===See also===
+* [[Modula-2]]
+* [[Oberon-07]]
+* [[Oberon-2]]
+* [[Component Pascal]]
+* [[Zonnon]]
\ No newline at end of file
diff --git a/Lang/Modula-3/Additive-primes b/Lang/Modula-3/Additive-primes
new file mode 120000
index 0000000000..b81b571c35
--- /dev/null
+++ b/Lang/Modula-3/Additive-primes
@@ -0,0 +1 @@
+../../Task/Additive-primes/Modula-3
\ No newline at end of file
diff --git a/Lang/Modula-3/Comments b/Lang/Modula-3/Comments
deleted file mode 120000
index 8c3489c305..0000000000
--- a/Lang/Modula-3/Comments
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Comments/Modula-3
\ No newline at end of file
diff --git a/Lang/Modula-3/Pascals-triangle b/Lang/Modula-3/Pascals-triangle
new file mode 120000
index 0000000000..093a7901c2
--- /dev/null
+++ b/Lang/Modula-3/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Modula-3
\ No newline at end of file
diff --git a/Lang/Mojo/Hunt-the-Wumpus b/Lang/Mojo/Hunt-the-Wumpus
new file mode 120000
index 0000000000..a79c86df71
--- /dev/null
+++ b/Lang/Mojo/Hunt-the-Wumpus
@@ -0,0 +1 @@
+../../Task/Hunt-the-Wumpus/Mojo
\ No newline at end of file
diff --git a/Lang/MoonBit/00-LANG.txt b/Lang/MoonBit/00-LANG.txt
new file mode 100644
index 0000000000..cf5345dc27
--- /dev/null
+++ b/Lang/MoonBit/00-LANG.txt
@@ -0,0 +1,13 @@
+{{language|MoonBit
+|exec=bytecode
+|safety=safe
+|strength=strong
+|gc=yes
+|site=https://www.moonbitlang.com/}
+}}
+'''MoonBit''' is a general-purpose programming language and toolchain designed for high performance and resource efficiency, optimized for WebAssembly (Wasm). It is developed by a young and passionate team led by Zhang Hongbo. One of the motivations behind MoonBit’s creation was Zhang’s belief that existing languages like Java, Go, and Rust do not fully leverage the security and speed advantages of the WebAssembly instruction set, particularly in cloud computing and edge computing. After its initial release with native WebAssembly support, MoonBit later added support for JavaScript, Native, and the LLVM backend.
+
+MoonBit was publicly released in August 2023 and is currently in its beta stage.
+
+==Todo==
+* [[Tasks not implemented in MoonBit]]
\ No newline at end of file
diff --git a/Lang/MoonBit/00-META.yaml b/Lang/MoonBit/00-META.yaml
new file mode 100644
index 0000000000..97e1356190
--- /dev/null
+++ b/Lang/MoonBit/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:MoonBit
diff --git a/Lang/MoonBit/Array-length b/Lang/MoonBit/Array-length
new file mode 120000
index 0000000000..4a5666710a
--- /dev/null
+++ b/Lang/MoonBit/Array-length
@@ -0,0 +1 @@
+../../Task/Array-length/MoonBit
\ No newline at end of file
diff --git a/Lang/MoonBit/Hello-world-Text b/Lang/MoonBit/Hello-world-Text
new file mode 120000
index 0000000000..f3db6f7a6c
--- /dev/null
+++ b/Lang/MoonBit/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/MoonBit
\ No newline at end of file
diff --git a/Lang/MoonRock/00-LANG.txt b/Lang/MoonRock/00-LANG.txt
new file mode 100644
index 0000000000..dcba29adb9
--- /dev/null
+++ b/Lang/MoonRock/00-LANG.txt
@@ -0,0 +1,68 @@
+{{language|MoonRock
+|exec=machine
+|site=http://www.rowan.sensation.net.au/moonrock.html}}
+{{language programming paradigm|Imperative}}
+{{implementation|BASIC}}
+'''MoonRock''' is a compiler for a [[BASIC]]-like programming language, developed by Rowan Crowe. Released for [[MS-DOS]] and compatible systems, MoonRock enables compilation to assembly language and linking to COM executable files. The compiler is known for producing exceptionally concise executables; for example, a "[[Hello world|Hello, World!]]" program can be compiled into a COM file as small as 276 bytes.
+
+MoonRock is a programming language specifically designed to facilitate the creation of programs that can be easily translated into assembly language. This design choice emphasizes simplicity and direct mapping to low-level operations, making it particularly suitable for environments where performance and control over hardware are critical. The language's syntax and features are structured to align closely with assembly language constructs while benefiting from some higher-level abstractions provided by BASIC.
+
+== MoonRock Version 0.50 ==
+=== Program Structure ===
+The definitions of arrays must be included within the BEGIN DEF section of the program.
+
+=== Control Structures ===
+The ''[[Loops/For|for]]'' loop requires that both the start and end values be variables, constants, or literals; expressions are not permitted. The language does not implement a ''[[Loops/Do-while|repeat-until]]'' loop.
+
+=== Arithmetic Operations ===
+MoonRock 0.50 does not support [[Floating point|floating-point numbers]] and operations. Division using the / operator produces rounded [[Arithmetic/Integer|integer]] results. For integer division, the \ operator must be used. For example:
+
+A% = 1 / 3
+PRINT A% + "\n"
+A% = 2 / 3
+PRINT A% + "\n"
+A% = 3 / 3
+PRINT A% + "\n"
+
+produces the output:
+
+0
+1
+1
+
+The MOD function is not implemented for 32-bit integers (doublewords).
+
+=== Comparison Operations ===
+Both operands in comparison operations must be literals, constants, or variables; expressions are not allowed. Only variables of the same type can be compared. Attempting to compare variables of different types, such as A& > B%, may produce incorrect results.
+
+=== Output ===
+To output the value of a named constant, it must be passed as an argument to the STR function:
+
+PRINT "Up to " + STR(%MaxNumber) + "\n"
+
+Formatted output is not supported. Users may create custom subroutines as a workaround, such as:
+
+SUB PrintStr(S$, Width%)
+ IF LEN(S$) > Width% THEN
+ PRINT S$
+ ELSE
+ S$ = SPACE(Width%) + S$
+ PRINT RIGHT(S$, Width%)
+ ENDIF
+END SUB
+
+
+=== Abnormal Behaviors ===
+The manual states: ''Keywords are shown in all upper case to aid readability. They may be of any case in the source code''. However, some statements function solely when written in lowercase. For example, the statement:
+
+if A@ = 0 then print B% + " "
+
+operates correctly only when if and then are in lowercase. Conversely, the following formulation works regardless of case:
+
+IF A@ = 0 THEN
+ PRINT B% + " "
+ENDIF
+
+
+== External links ==
+* [https://github.com/DosWorld/moonrock MoonRock on GitHub]
\ No newline at end of file
diff --git a/Lang/MoonRock/00-META.yaml b/Lang/MoonRock/00-META.yaml
new file mode 100644
index 0000000000..8869a57523
--- /dev/null
+++ b/Lang/MoonRock/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:MoonRock
diff --git a/Lang/MoonRock/100-doors b/Lang/MoonRock/100-doors
new file mode 120000
index 0000000000..35643d2a2f
--- /dev/null
+++ b/Lang/MoonRock/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/MoonRock
\ No newline at end of file
diff --git a/Lang/MoonRock/Abundant-deficient-and-perfect-number-classifications b/Lang/MoonRock/Abundant-deficient-and-perfect-number-classifications
new file mode 120000
index 0000000000..5a720f6808
--- /dev/null
+++ b/Lang/MoonRock/Abundant-deficient-and-perfect-number-classifications
@@ -0,0 +1 @@
+../../Task/Abundant-deficient-and-perfect-number-classifications/MoonRock
\ No newline at end of file
diff --git a/Lang/MoonRock/Bell-numbers b/Lang/MoonRock/Bell-numbers
new file mode 120000
index 0000000000..1519c89b24
--- /dev/null
+++ b/Lang/MoonRock/Bell-numbers
@@ -0,0 +1 @@
+../../Task/Bell-numbers/MoonRock
\ No newline at end of file
diff --git a/Lang/MoonRock/Day-of-the-week b/Lang/MoonRock/Day-of-the-week
new file mode 120000
index 0000000000..3423abb3da
--- /dev/null
+++ b/Lang/MoonRock/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/MoonRock
\ No newline at end of file
diff --git a/Lang/MoonRock/Ethiopian-multiplication b/Lang/MoonRock/Ethiopian-multiplication
new file mode 120000
index 0000000000..99b728ad22
--- /dev/null
+++ b/Lang/MoonRock/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/MoonRock
\ No newline at end of file
diff --git a/Lang/MoonRock/Factors-of-an-integer b/Lang/MoonRock/Factors-of-an-integer
new file mode 120000
index 0000000000..9cb6716a51
--- /dev/null
+++ b/Lang/MoonRock/Factors-of-an-integer
@@ -0,0 +1 @@
+../../Task/Factors-of-an-integer/MoonRock
\ No newline at end of file
diff --git a/Lang/MoonRock/Fibonacci-sequence b/Lang/MoonRock/Fibonacci-sequence
new file mode 120000
index 0000000000..633e95692a
--- /dev/null
+++ b/Lang/MoonRock/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/MoonRock
\ No newline at end of file
diff --git a/Lang/MoonRock/Josephus-problem b/Lang/MoonRock/Josephus-problem
new file mode 120000
index 0000000000..1084916ce4
--- /dev/null
+++ b/Lang/MoonRock/Josephus-problem
@@ -0,0 +1 @@
+../../Task/Josephus-problem/MoonRock
\ No newline at end of file
diff --git a/Lang/MoonRock/Leap-year b/Lang/MoonRock/Leap-year
new file mode 120000
index 0000000000..5ab049d315
--- /dev/null
+++ b/Lang/MoonRock/Leap-year
@@ -0,0 +1 @@
+../../Task/Leap-year/MoonRock
\ No newline at end of file
diff --git a/Lang/MoonRock/Long-year b/Lang/MoonRock/Long-year
new file mode 120000
index 0000000000..cc090c489a
--- /dev/null
+++ b/Lang/MoonRock/Long-year
@@ -0,0 +1 @@
+../../Task/Long-year/MoonRock
\ No newline at end of file
diff --git a/Lang/MoonRock/Semiprime b/Lang/MoonRock/Semiprime
new file mode 120000
index 0000000000..9c66936bd7
--- /dev/null
+++ b/Lang/MoonRock/Semiprime
@@ -0,0 +1 @@
+../../Task/Semiprime/MoonRock
\ No newline at end of file
diff --git a/Lang/MySQL/00-LANG.txt b/Lang/MySQL/00-LANG.txt
index 9f2e3a69fb..bf94001666 100644
--- a/Lang/MySQL/00-LANG.txt
+++ b/Lang/MySQL/00-LANG.txt
@@ -1,9 +1,9 @@
{{language}}
'''MySQL''' is a multithreaded, multi-user, SQL Database Management System (DBMS) with more than six million installations.
-'''MySQL''' is owned and sponsored by a single for-profit firm, the Swedish company MySQL AB, which holds the copyright to most of the codebase. This is similar to the JBoss model and how the Free Software Foundation handles copyright in its projects, and dissimilar to how the Apache project does it, where the software is developed by a public community, and the copyright to the codebase is owned by its individual authors.
+'''MySQL''' is owned and sponsored by a single for-profit firm, Oracle, which holds the copyright to most of the codebase. This is similar to the JBoss model and how the Free Software Foundation handles copyright in its projects, and dissimilar to how the Apache project does it, where the software is developed by a public community, and the copyright to the codebase is owned by its individual authors.
-The company develops and maintains the system, selling support and service contracts, as well as proprietary-licensed copies of MySQL, and employing people all over the world who collaborate via the Internet. MySQL AB was founded by David Axmark, Allan Larsson, and Michael "Monty" Widenius.
+The company develops and maintains the system, selling support and service contracts, as well as a cloud variant called HeatWave (part of Oracle Cloud), proprietary-licensed copies of MySQL, and employing people all over the world who collaborate via the Internet. MySQL AB was founded by David Axmark, Allan Larsson, and Michael "Monty" Widenius.
==Citations==
* [http://en.wikipedia.org/wiki/Mysql Wikipedia:MySQL]
diff --git a/Lang/NS-HUBASIC/Empty-program b/Lang/NS-HUBASIC/Empty-program
deleted file mode 120000
index 8edcb8591a..0000000000
--- a/Lang/NS-HUBASIC/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/NS-HUBASIC
\ No newline at end of file
diff --git a/Lang/Nanoquery/Sequence-smallest-number-with-exactly-n-divisors b/Lang/Nanoquery/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Nanoquery/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/Nanoquery/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/Nascom-BASIC/Damm-algorithm b/Lang/Nascom-BASIC/Damm-algorithm
new file mode 120000
index 0000000000..5a6439a18c
--- /dev/null
+++ b/Lang/Nascom-BASIC/Damm-algorithm
@@ -0,0 +1 @@
+../../Task/Damm-algorithm/Nascom-BASIC
\ No newline at end of file
diff --git a/Lang/Nascom-BASIC/Dragon-curve b/Lang/Nascom-BASIC/Dragon-curve
new file mode 120000
index 0000000000..36b4172957
--- /dev/null
+++ b/Lang/Nascom-BASIC/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/Nascom-BASIC
\ No newline at end of file
diff --git a/Lang/Nascom-BASIC/Langtons-ant b/Lang/Nascom-BASIC/Langtons-ant
new file mode 120000
index 0000000000..d0fdcffe2f
--- /dev/null
+++ b/Lang/Nascom-BASIC/Langtons-ant
@@ -0,0 +1 @@
+../../Task/Langtons-ant/Nascom-BASIC
\ No newline at end of file
diff --git a/Lang/Nascom-BASIC/Levenshtein-distance b/Lang/Nascom-BASIC/Levenshtein-distance
new file mode 120000
index 0000000000..c821e59923
--- /dev/null
+++ b/Lang/Nascom-BASIC/Levenshtein-distance
@@ -0,0 +1 @@
+../../Task/Levenshtein-distance/Nascom-BASIC
\ No newline at end of file
diff --git a/Lang/Nascom-BASIC/Luhn-test-of-credit-card-numbers b/Lang/Nascom-BASIC/Luhn-test-of-credit-card-numbers
new file mode 120000
index 0000000000..1d7e8b0698
--- /dev/null
+++ b/Lang/Nascom-BASIC/Luhn-test-of-credit-card-numbers
@@ -0,0 +1 @@
+../../Task/Luhn-test-of-credit-card-numbers/Nascom-BASIC
\ No newline at end of file
diff --git a/Lang/Nascom-BASIC/Mayan-numerals b/Lang/Nascom-BASIC/Mayan-numerals
new file mode 120000
index 0000000000..d2108ce9fa
--- /dev/null
+++ b/Lang/Nascom-BASIC/Mayan-numerals
@@ -0,0 +1 @@
+../../Task/Mayan-numerals/Nascom-BASIC
\ No newline at end of file
diff --git a/Lang/Nascom-BASIC/Old-Russian-measure-of-length b/Lang/Nascom-BASIC/Old-Russian-measure-of-length
new file mode 120000
index 0000000000..73ef2957e7
--- /dev/null
+++ b/Lang/Nascom-BASIC/Old-Russian-measure-of-length
@@ -0,0 +1 @@
+../../Task/Old-Russian-measure-of-length/Nascom-BASIC
\ No newline at end of file
diff --git a/Lang/NetRexx/00-LANG.txt b/Lang/NetRexx/00-LANG.txt
index f110c9bdb8..3f624ad431 100644
--- a/Lang/NetRexx/00-LANG.txt
+++ b/Lang/NetRexx/00-LANG.txt
@@ -29,7 +29,7 @@ as languages such as Java, while preserving the low threshold to learning and th
On the 8th of June 2011, IBM transferred ownership of the reference implementation of NetRexx to The Rexx Language Association (RexxLA) for administration under the [http://site.icu-project.org ICU - International Components for Unicode] open source license.
-On September 12th 2022, NetRexx 4.04 was released
+On March 3rd, 2024, NetRexx 4.06-GA was released.
==== Useful Links ====
* [http://www.netrexx.org The NetRexx Programming Language - www.netrexx.org]
diff --git a/Lang/NetRexx/Haversine-formula b/Lang/NetRexx/Haversine-formula
new file mode 120000
index 0000000000..bbcbbd8775
--- /dev/null
+++ b/Lang/NetRexx/Haversine-formula
@@ -0,0 +1 @@
+../../Task/Haversine-formula/NetRexx
\ No newline at end of file
diff --git a/Lang/NewLISP/Abbreviations-simple b/Lang/NewLISP/Abbreviations-simple
new file mode 120000
index 0000000000..ec4184c6a2
--- /dev/null
+++ b/Lang/NewLISP/Abbreviations-simple
@@ -0,0 +1 @@
+../../Task/Abbreviations-simple/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Ascending-primes b/Lang/NewLISP/Ascending-primes
new file mode 120000
index 0000000000..68daf13118
--- /dev/null
+++ b/Lang/NewLISP/Ascending-primes
@@ -0,0 +1 @@
+../../Task/Ascending-primes/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Associative-array-Merging b/Lang/NewLISP/Associative-array-Merging
new file mode 120000
index 0000000000..8ebd2e6646
--- /dev/null
+++ b/Lang/NewLISP/Associative-array-Merging
@@ -0,0 +1 @@
+../../Task/Associative-array-Merging/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Cartesian-product-of-two-or-more-lists b/Lang/NewLISP/Cartesian-product-of-two-or-more-lists
new file mode 120000
index 0000000000..4a3b5275b2
--- /dev/null
+++ b/Lang/NewLISP/Cartesian-product-of-two-or-more-lists
@@ -0,0 +1 @@
+../../Task/Cartesian-product-of-two-or-more-lists/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Compare-a-list-of-strings b/Lang/NewLISP/Compare-a-list-of-strings
new file mode 120000
index 0000000000..9b0eddc19c
--- /dev/null
+++ b/Lang/NewLISP/Compare-a-list-of-strings
@@ -0,0 +1 @@
+../../Task/Compare-a-list-of-strings/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Department-numbers b/Lang/NewLISP/Department-numbers
new file mode 120000
index 0000000000..17043dfb0a
--- /dev/null
+++ b/Lang/NewLISP/Department-numbers
@@ -0,0 +1 @@
+../../Task/Department-numbers/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Dinesmans-multiple-dwelling-problem b/Lang/NewLISP/Dinesmans-multiple-dwelling-problem
new file mode 120000
index 0000000000..0b5efae41b
--- /dev/null
+++ b/Lang/NewLISP/Dinesmans-multiple-dwelling-problem
@@ -0,0 +1 @@
+../../Task/Dinesmans-multiple-dwelling-problem/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Find-Chess960-starting-position-identifier b/Lang/NewLISP/Find-Chess960-starting-position-identifier
new file mode 120000
index 0000000000..772e0d75d4
--- /dev/null
+++ b/Lang/NewLISP/Find-Chess960-starting-position-identifier
@@ -0,0 +1 @@
+../../Task/Find-Chess960-starting-position-identifier/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Loops-With-multiple-ranges b/Lang/NewLISP/Loops-With-multiple-ranges
new file mode 120000
index 0000000000..ef48847607
--- /dev/null
+++ b/Lang/NewLISP/Loops-With-multiple-ranges
@@ -0,0 +1 @@
+../../Task/Loops-With-multiple-ranges/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Matrix-multiplication b/Lang/NewLISP/Matrix-multiplication
new file mode 120000
index 0000000000..0badc9299f
--- /dev/null
+++ b/Lang/NewLISP/Matrix-multiplication
@@ -0,0 +1 @@
+../../Task/Matrix-multiplication/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Multisplit b/Lang/NewLISP/Multisplit
new file mode 120000
index 0000000000..1bb5fea36e
--- /dev/null
+++ b/Lang/NewLISP/Multisplit
@@ -0,0 +1 @@
+../../Task/Multisplit/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Range-consolidation b/Lang/NewLISP/Range-consolidation
new file mode 120000
index 0000000000..15f7beee34
--- /dev/null
+++ b/Lang/NewLISP/Range-consolidation
@@ -0,0 +1 @@
+../../Task/Range-consolidation/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Range-expansion b/Lang/NewLISP/Range-expansion
new file mode 120000
index 0000000000..8f2d253805
--- /dev/null
+++ b/Lang/NewLISP/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Run-length-encoding b/Lang/NewLISP/Run-length-encoding
new file mode 120000
index 0000000000..91cae97224
--- /dev/null
+++ b/Lang/NewLISP/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Set-consolidation b/Lang/NewLISP/Set-consolidation
new file mode 120000
index 0000000000..9d4d20d448
--- /dev/null
+++ b/Lang/NewLISP/Set-consolidation
@@ -0,0 +1 @@
+../../Task/Set-consolidation/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Sorting-algorithms-Permutation-sort b/Lang/NewLISP/Sorting-algorithms-Permutation-sort
new file mode 120000
index 0000000000..a14257af91
--- /dev/null
+++ b/Lang/NewLISP/Sorting-algorithms-Permutation-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Permutation-sort/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Split-a-character-string-based-on-change-of-character b/Lang/NewLISP/Split-a-character-string-based-on-change-of-character
new file mode 120000
index 0000000000..5af27e593c
--- /dev/null
+++ b/Lang/NewLISP/Split-a-character-string-based-on-change-of-character
@@ -0,0 +1 @@
+../../Task/Split-a-character-string-based-on-change-of-character/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Text-processing-1 b/Lang/NewLISP/Text-processing-1
new file mode 120000
index 0000000000..39b0cd8b87
--- /dev/null
+++ b/Lang/NewLISP/Text-processing-1
@@ -0,0 +1 @@
+../../Task/Text-processing-1/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Text-processing-Max-licenses-in-use b/Lang/NewLISP/Text-processing-Max-licenses-in-use
new file mode 120000
index 0000000000..fca40fd641
--- /dev/null
+++ b/Lang/NewLISP/Text-processing-Max-licenses-in-use
@@ -0,0 +1 @@
+../../Task/Text-processing-Max-licenses-in-use/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Truncatable-primes b/Lang/NewLISP/Truncatable-primes
new file mode 120000
index 0000000000..52cd8db47d
--- /dev/null
+++ b/Lang/NewLISP/Truncatable-primes
@@ -0,0 +1 @@
+../../Task/Truncatable-primes/NewLISP
\ No newline at end of file
diff --git a/Lang/Nickle/00-LANG.txt b/Lang/Nickle/00-LANG.txt
index 53bb3afeae..e2643c2540 100644
--- a/Lang/Nickle/00-LANG.txt
+++ b/Lang/Nickle/00-LANG.txt
@@ -19,7 +19,7 @@ Other datatypes include multi-dimensional arrays, strings, structures, tagged un
The reference implementation includes an interactive top level with byte code compilation before evaluation.
Example:
-/* Arrays to JSON */
+/* Arrays to JSON */
autoimport JSON;
int [*] d = {1,2,3};
poly [*] p = {1, "abc", 42};
@@ -39,7 +39,8 @@ print f;
for (int i = 0; i < dim(p); i++) {
printf("%v ", p[i]);
}
-printf("\n");
+printf("\n");
+
{{out}}
prompt$ nickle sampler.5c
diff --git a/Lang/Nim/Bioinformatics-base-count b/Lang/Nim/Bioinformatics-base-count
deleted file mode 120000
index 14fcd687ff..0000000000
--- a/Lang/Nim/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/Nim
\ No newline at end of file
diff --git a/Lang/Nim/Meissel-Mertens-constant b/Lang/Nim/Meissel-Mertens-constant
deleted file mode 120000
index 760c7d7443..0000000000
--- a/Lang/Nim/Meissel-Mertens-constant
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Meissel-Mertens-constant/Nim
\ No newline at end of file
diff --git a/Lang/Nim/Miller-Rabin-primality-test b/Lang/Nim/Miller-Rabin-primality-test
deleted file mode 120000
index 1ce4ac13f6..0000000000
--- a/Lang/Nim/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Nim
\ No newline at end of file
diff --git a/Lang/Nim/Quaternion-type b/Lang/Nim/Quaternion-type
deleted file mode 120000
index 384e273bfc..0000000000
--- a/Lang/Nim/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Nim
\ No newline at end of file
diff --git a/Lang/Nim/Sequence-nth-number-with-exactly-n-divisors b/Lang/Nim/Sequence:-nth-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Nim/Sequence-nth-number-with-exactly-n-divisors
rename to Lang/Nim/Sequence:-nth-number-with-exactly-n-divisors
diff --git a/Lang/Nim/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/Nim/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/Nim/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/Nim/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/Nim/Sequence-smallest-number-with-exactly-n-divisors b/Lang/Nim/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Nim/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/Nim/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/Nim/Sorting-Algorithms-Circle-Sort b/Lang/Nim/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index 80141c2866..0000000000
--- a/Lang/Nim/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/Nim
\ No newline at end of file
diff --git a/Lang/Nom/00-LANG.txt b/Lang/Nom/00-LANG.txt
new file mode 100644
index 0000000000..596e8bc965
--- /dev/null
+++ b/Lang/Nom/00-LANG.txt
@@ -0,0 +1,18 @@
+{{language|Nom}}
+
+Nom is an interpreted and also compiling (via the translation scripts)
+language. Documentation for ''Nom'' can be found at [www.nomlang.org] along
+with the downloadable [http://nomlang.org/download implementation].
+All the source code is also hosted in [https://sourceforge.net sourceforge]
+at https://bumble.sf.net/books/pars/
+
+Nom is based on the PEP (''Parsing Engine for Patterns'') virtual machine,
+which is a text-based virtual machine. The PEP virtual machine is
+documented at [http://nomlang.org/doc/machine/]. Nom was first ''conceived''
+around about 2005 but a good working implementation (the
+[https://bumble.sf.net/books/pars/object/pep.c pep] interpreter) was not
+achieved until approximately 2019.
+
+Nom is, I believe a new approach to recognising/parsing/transforming/transpiling/compiling context-free languages
+since it uses the same standard Unix-style approach of a ''text-stream-filter''
+as with tools like ''sed'' or ''awk''.
\ No newline at end of file
diff --git a/Lang/Nom/00-META.yaml b/Lang/Nom/00-META.yaml
new file mode 100644
index 0000000000..347649abaa
--- /dev/null
+++ b/Lang/Nom/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Nom
diff --git a/Lang/Nom/Balanced-brackets b/Lang/Nom/Balanced-brackets
new file mode 120000
index 0000000000..53c6847c48
--- /dev/null
+++ b/Lang/Nom/Balanced-brackets
@@ -0,0 +1 @@
+../../Task/Balanced-brackets/Nom
\ No newline at end of file
diff --git a/Lang/Nom/CSV-to-HTML-translation b/Lang/Nom/CSV-to-HTML-translation
new file mode 120000
index 0000000000..efc535b187
--- /dev/null
+++ b/Lang/Nom/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/Nom
\ No newline at end of file
diff --git a/Lang/Nom/Determine-if-a-string-is-numeric b/Lang/Nom/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..dc0b5a67ea
--- /dev/null
+++ b/Lang/Nom/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/Nom
\ No newline at end of file
diff --git a/Lang/Nom/Empty-string b/Lang/Nom/Empty-string
new file mode 120000
index 0000000000..e51cf14c29
--- /dev/null
+++ b/Lang/Nom/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/Nom
\ No newline at end of file
diff --git a/Lang/Nom/Even-or-odd b/Lang/Nom/Even-or-odd
new file mode 120000
index 0000000000..a93a39c338
--- /dev/null
+++ b/Lang/Nom/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/Nom
\ No newline at end of file
diff --git a/Lang/Nom/Hello-world-Text b/Lang/Nom/Hello-world-Text
new file mode 120000
index 0000000000..6575bd7149
--- /dev/null
+++ b/Lang/Nom/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Nom
\ No newline at end of file
diff --git a/Lang/Nom/Input-loop b/Lang/Nom/Input-loop
new file mode 120000
index 0000000000..c687c9a3a9
--- /dev/null
+++ b/Lang/Nom/Input-loop
@@ -0,0 +1 @@
+../../Task/Input-loop/Nom
\ No newline at end of file
diff --git a/Lang/Nom/Odd-word-problem b/Lang/Nom/Odd-word-problem
new file mode 120000
index 0000000000..43979a4bb7
--- /dev/null
+++ b/Lang/Nom/Odd-word-problem
@@ -0,0 +1 @@
+../../Task/Odd-word-problem/Nom
\ No newline at end of file
diff --git a/Lang/Nom/Reverse-a-string b/Lang/Nom/Reverse-a-string
new file mode 120000
index 0000000000..38692d6625
--- /dev/null
+++ b/Lang/Nom/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Nom
\ No newline at end of file
diff --git a/Lang/Nu/00-LANG.txt b/Lang/Nu/00-LANG.txt
index d173c3d735..4a1eea655e 100644
--- a/Lang/Nu/00-LANG.txt
+++ b/Lang/Nu/00-LANG.txt
@@ -1,3 +1,5 @@
-{{stub}}{{language|Nu}}
+{{stub}}
+{{language|Nu|site=https://www.nushell.sh|tags=nu}}
+{{Language programming paradigm|Functional}}
Nu is the programming language used by Nushell.
\ No newline at end of file
diff --git a/Lang/Nu/Associative-array-Merging b/Lang/Nu/Associative-array-Merging
new file mode 120000
index 0000000000..7f423eb251
--- /dev/null
+++ b/Lang/Nu/Associative-array-Merging
@@ -0,0 +1 @@
+../../Task/Associative-array-Merging/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Averages-Arithmetic-mean b/Lang/Nu/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..21a1e77aec
--- /dev/null
+++ b/Lang/Nu/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Averages-Median b/Lang/Nu/Averages-Median
new file mode 120000
index 0000000000..8b1a3ddc2c
--- /dev/null
+++ b/Lang/Nu/Averages-Median
@@ -0,0 +1 @@
+../../Task/Averages-Median/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Averages-Mode b/Lang/Nu/Averages-Mode
new file mode 120000
index 0000000000..bb3150600b
--- /dev/null
+++ b/Lang/Nu/Averages-Mode
@@ -0,0 +1 @@
+../../Task/Averages-Mode/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Averages-Pythagorean-means b/Lang/Nu/Averages-Pythagorean-means
new file mode 120000
index 0000000000..02b10a7b5e
--- /dev/null
+++ b/Lang/Nu/Averages-Pythagorean-means
@@ -0,0 +1 @@
+../../Task/Averages-Pythagorean-means/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Averages-Root-mean-square b/Lang/Nu/Averages-Root-mean-square
new file mode 120000
index 0000000000..ed92d8f206
--- /dev/null
+++ b/Lang/Nu/Averages-Root-mean-square
@@ -0,0 +1 @@
+../../Task/Averages-Root-mean-square/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Base64-decode-data b/Lang/Nu/Base64-decode-data
new file mode 120000
index 0000000000..3620ff6de5
--- /dev/null
+++ b/Lang/Nu/Base64-decode-data
@@ -0,0 +1 @@
+../../Task/Base64-decode-data/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Binary-digits b/Lang/Nu/Binary-digits
new file mode 120000
index 0000000000..cbbd7fb698
--- /dev/null
+++ b/Lang/Nu/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Nu
\ No newline at end of file
diff --git a/Lang/Nu/CSV-data-manipulation b/Lang/Nu/CSV-data-manipulation
new file mode 120000
index 0000000000..212f9d037c
--- /dev/null
+++ b/Lang/Nu/CSV-data-manipulation
@@ -0,0 +1 @@
+../../Task/CSV-data-manipulation/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Calculating-the-value-of-e b/Lang/Nu/Calculating-the-value-of-e
new file mode 120000
index 0000000000..60dd80e1f7
--- /dev/null
+++ b/Lang/Nu/Calculating-the-value-of-e
@@ -0,0 +1 @@
+../../Task/Calculating-the-value-of-e/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Check-input-device-is-a-terminal b/Lang/Nu/Check-input-device-is-a-terminal
new file mode 120000
index 0000000000..2c12886796
--- /dev/null
+++ b/Lang/Nu/Check-input-device-is-a-terminal
@@ -0,0 +1 @@
+../../Task/Check-input-device-is-a-terminal/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Check-output-device-is-a-terminal b/Lang/Nu/Check-output-device-is-a-terminal
new file mode 120000
index 0000000000..8ac81dc9fd
--- /dev/null
+++ b/Lang/Nu/Check-output-device-is-a-terminal
@@ -0,0 +1 @@
+../../Task/Check-output-device-is-a-terminal/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Check-that-file-exists b/Lang/Nu/Check-that-file-exists
new file mode 120000
index 0000000000..aa750c153c
--- /dev/null
+++ b/Lang/Nu/Check-that-file-exists
@@ -0,0 +1 @@
+../../Task/Check-that-file-exists/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Comma-quibbling b/Lang/Nu/Comma-quibbling
new file mode 120000
index 0000000000..6196295075
--- /dev/null
+++ b/Lang/Nu/Comma-quibbling
@@ -0,0 +1 @@
+../../Task/Comma-quibbling/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Count-in-octal b/Lang/Nu/Count-in-octal
new file mode 120000
index 0000000000..b2bc3a9f84
--- /dev/null
+++ b/Lang/Nu/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Count-occurrences-of-a-substring b/Lang/Nu/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..1a4f958e67
--- /dev/null
+++ b/Lang/Nu/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Date-format b/Lang/Nu/Date-format
new file mode 120000
index 0000000000..b99fcd9487
--- /dev/null
+++ b/Lang/Nu/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Day-of-the-week b/Lang/Nu/Day-of-the-week
new file mode 120000
index 0000000000..628ae77cde
--- /dev/null
+++ b/Lang/Nu/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Department-numbers b/Lang/Nu/Department-numbers
new file mode 120000
index 0000000000..bb0cfc31a5
--- /dev/null
+++ b/Lang/Nu/Department-numbers
@@ -0,0 +1 @@
+../../Task/Department-numbers/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Determine-if-a-string-has-all-the-same-characters b/Lang/Nu/Determine-if-a-string-has-all-the-same-characters
new file mode 120000
index 0000000000..1b0a4160eb
--- /dev/null
+++ b/Lang/Nu/Determine-if-a-string-has-all-the-same-characters
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-has-all-the-same-characters/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Dot-product b/Lang/Nu/Dot-product
new file mode 120000
index 0000000000..98aeabb740
--- /dev/null
+++ b/Lang/Nu/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Entropy b/Lang/Nu/Entropy
new file mode 120000
index 0000000000..5bed68a8b8
--- /dev/null
+++ b/Lang/Nu/Entropy
@@ -0,0 +1 @@
+../../Task/Entropy/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Even-or-odd b/Lang/Nu/Even-or-odd
new file mode 120000
index 0000000000..7bc71663d2
--- /dev/null
+++ b/Lang/Nu/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Factors-of-an-integer b/Lang/Nu/Factors-of-an-integer
new file mode 120000
index 0000000000..5aa37c904e
--- /dev/null
+++ b/Lang/Nu/Factors-of-an-integer
@@ -0,0 +1 @@
+../../Task/Factors-of-an-integer/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Fibonacci-sequence b/Lang/Nu/Fibonacci-sequence
new file mode 120000
index 0000000000..c835014e2a
--- /dev/null
+++ b/Lang/Nu/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/Nu
\ No newline at end of file
diff --git a/Lang/Nu/File-extension-is-in-extensions-list b/Lang/Nu/File-extension-is-in-extensions-list
new file mode 120000
index 0000000000..ee608b6863
--- /dev/null
+++ b/Lang/Nu/File-extension-is-in-extensions-list
@@ -0,0 +1 @@
+../../Task/File-extension-is-in-extensions-list/Nu
\ No newline at end of file
diff --git a/Lang/Nu/File-size b/Lang/Nu/File-size
new file mode 120000
index 0000000000..14db7aa8d0
--- /dev/null
+++ b/Lang/Nu/File-size
@@ -0,0 +1 @@
+../../Task/File-size/Nu
\ No newline at end of file
diff --git a/Lang/Nu/File-size-distribution b/Lang/Nu/File-size-distribution
new file mode 120000
index 0000000000..2ee98ba338
--- /dev/null
+++ b/Lang/Nu/File-size-distribution
@@ -0,0 +1 @@
+../../Task/File-size-distribution/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Find-limit-of-recursion b/Lang/Nu/Find-limit-of-recursion
new file mode 120000
index 0000000000..c6b78c9274
--- /dev/null
+++ b/Lang/Nu/Find-limit-of-recursion
@@ -0,0 +1 @@
+../../Task/Find-limit-of-recursion/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Find-the-last-Sunday-of-each-month b/Lang/Nu/Find-the-last-Sunday-of-each-month
new file mode 120000
index 0000000000..7d0aedf546
--- /dev/null
+++ b/Lang/Nu/Find-the-last-Sunday-of-each-month
@@ -0,0 +1 @@
+../../Task/Find-the-last-Sunday-of-each-month/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Generate-lower-case-ASCII-alphabet b/Lang/Nu/Generate-lower-case-ASCII-alphabet
new file mode 120000
index 0000000000..2680ace5a7
--- /dev/null
+++ b/Lang/Nu/Generate-lower-case-ASCII-alphabet
@@ -0,0 +1 @@
+../../Task/Generate-lower-case-ASCII-alphabet/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Greatest-common-divisor b/Lang/Nu/Greatest-common-divisor
new file mode 120000
index 0000000000..d844f147ad
--- /dev/null
+++ b/Lang/Nu/Greatest-common-divisor
@@ -0,0 +1 @@
+../../Task/Greatest-common-divisor/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Greatest-element-of-a-list b/Lang/Nu/Greatest-element-of-a-list
new file mode 120000
index 0000000000..3b8838db94
--- /dev/null
+++ b/Lang/Nu/Greatest-element-of-a-list
@@ -0,0 +1 @@
+../../Task/Greatest-element-of-a-list/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Harshad-or-Niven-series b/Lang/Nu/Harshad-or-Niven-series
new file mode 120000
index 0000000000..87dd3a6ea5
--- /dev/null
+++ b/Lang/Nu/Harshad-or-Niven-series
@@ -0,0 +1 @@
+../../Task/Harshad-or-Niven-series/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Hello-world-Newline-omission b/Lang/Nu/Hello-world-Newline-omission
new file mode 120000
index 0000000000..f00be9e5a7
--- /dev/null
+++ b/Lang/Nu/Hello-world-Newline-omission
@@ -0,0 +1 @@
+../../Task/Hello-world-Newline-omission/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Hex-words b/Lang/Nu/Hex-words
new file mode 120000
index 0000000000..14f92faeab
--- /dev/null
+++ b/Lang/Nu/Hex-words
@@ -0,0 +1 @@
+../../Task/Hex-words/Nu
\ No newline at end of file
diff --git a/Lang/Nu/I-before-E-except-after-C b/Lang/Nu/I-before-E-except-after-C
new file mode 120000
index 0000000000..3f6ace8c86
--- /dev/null
+++ b/Lang/Nu/I-before-E-except-after-C
@@ -0,0 +1 @@
+../../Task/I-before-E-except-after-C/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Identity-matrix b/Lang/Nu/Identity-matrix
new file mode 120000
index 0000000000..31adec2ac4
--- /dev/null
+++ b/Lang/Nu/Identity-matrix
@@ -0,0 +1 @@
+../../Task/Identity-matrix/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Integer-sequence b/Lang/Nu/Integer-sequence
new file mode 120000
index 0000000000..32270a6fb8
--- /dev/null
+++ b/Lang/Nu/Integer-sequence
@@ -0,0 +1 @@
+../../Task/Integer-sequence/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Jewels-and-stones b/Lang/Nu/Jewels-and-stones
new file mode 120000
index 0000000000..31ec593a67
--- /dev/null
+++ b/Lang/Nu/Jewels-and-stones
@@ -0,0 +1 @@
+../../Task/Jewels-and-stones/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Last-Friday-of-each-month b/Lang/Nu/Last-Friday-of-each-month
new file mode 120000
index 0000000000..6075ef1dcc
--- /dev/null
+++ b/Lang/Nu/Last-Friday-of-each-month
@@ -0,0 +1 @@
+../../Task/Last-Friday-of-each-month/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Letter-frequency b/Lang/Nu/Letter-frequency
new file mode 120000
index 0000000000..0b7cf31f44
--- /dev/null
+++ b/Lang/Nu/Letter-frequency
@@ -0,0 +1 @@
+../../Task/Letter-frequency/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Levenshtein-distance b/Lang/Nu/Levenshtein-distance
new file mode 120000
index 0000000000..f8c80b6b68
--- /dev/null
+++ b/Lang/Nu/Levenshtein-distance
@@ -0,0 +1 @@
+../../Task/Levenshtein-distance/Nu
\ No newline at end of file
diff --git a/Lang/Nu/MD5 b/Lang/Nu/MD5
new file mode 120000
index 0000000000..feac42125d
--- /dev/null
+++ b/Lang/Nu/MD5
@@ -0,0 +1 @@
+../../Task/MD5/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Matrix-transposition b/Lang/Nu/Matrix-transposition
new file mode 120000
index 0000000000..adc758bbe0
--- /dev/null
+++ b/Lang/Nu/Matrix-transposition
@@ -0,0 +1 @@
+../../Task/Matrix-transposition/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Multiplication-tables b/Lang/Nu/Multiplication-tables
new file mode 120000
index 0000000000..ac72d93e8f
--- /dev/null
+++ b/Lang/Nu/Multiplication-tables
@@ -0,0 +1 @@
+../../Task/Multiplication-tables/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Non-decimal-radices-Convert b/Lang/Nu/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..1dbd245069
--- /dev/null
+++ b/Lang/Nu/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Null-object b/Lang/Nu/Null-object
new file mode 120000
index 0000000000..74589e5538
--- /dev/null
+++ b/Lang/Nu/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Order-two-numerical-lists b/Lang/Nu/Order-two-numerical-lists
new file mode 120000
index 0000000000..a09725d44a
--- /dev/null
+++ b/Lang/Nu/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Ordered-words b/Lang/Nu/Ordered-words
new file mode 120000
index 0000000000..fb4962c2af
--- /dev/null
+++ b/Lang/Nu/Ordered-words
@@ -0,0 +1 @@
+../../Task/Ordered-words/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Phrase-reversals b/Lang/Nu/Phrase-reversals
new file mode 120000
index 0000000000..df54742816
--- /dev/null
+++ b/Lang/Nu/Phrase-reversals
@@ -0,0 +1 @@
+../../Task/Phrase-reversals/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Pick-random-element b/Lang/Nu/Pick-random-element
new file mode 120000
index 0000000000..184348b826
--- /dev/null
+++ b/Lang/Nu/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Random-numbers b/Lang/Nu/Random-numbers
new file mode 120000
index 0000000000..ba277327c8
--- /dev/null
+++ b/Lang/Nu/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Remove-duplicate-elements b/Lang/Nu/Remove-duplicate-elements
new file mode 120000
index 0000000000..d498c34eae
--- /dev/null
+++ b/Lang/Nu/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Repeat-a-string b/Lang/Nu/Repeat-a-string
new file mode 120000
index 0000000000..962454e331
--- /dev/null
+++ b/Lang/Nu/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Reverse-a-string b/Lang/Nu/Reverse-a-string
new file mode 120000
index 0000000000..34f43d53f3
--- /dev/null
+++ b/Lang/Nu/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Rot-13 b/Lang/Nu/Rot-13
new file mode 120000
index 0000000000..d2902fe7ad
--- /dev/null
+++ b/Lang/Nu/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Nu
\ No newline at end of file
diff --git a/Lang/Nu/SHA-256 b/Lang/Nu/SHA-256
new file mode 120000
index 0000000000..b58398940b
--- /dev/null
+++ b/Lang/Nu/SHA-256
@@ -0,0 +1 @@
+../../Task/SHA-256/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Show-the-epoch b/Lang/Nu/Show-the-epoch
new file mode 120000
index 0000000000..9547f199df
--- /dev/null
+++ b/Lang/Nu/Show-the-epoch
@@ -0,0 +1 @@
+../../Task/Show-the-epoch/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Sort-a-list-of-object-identifiers b/Lang/Nu/Sort-a-list-of-object-identifiers
new file mode 120000
index 0000000000..9efe53a3b5
--- /dev/null
+++ b/Lang/Nu/Sort-a-list-of-object-identifiers
@@ -0,0 +1 @@
+../../Task/Sort-a-list-of-object-identifiers/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Sort-an-integer-array b/Lang/Nu/Sort-an-integer-array
new file mode 120000
index 0000000000..cff6ab8400
--- /dev/null
+++ b/Lang/Nu/Sort-an-integer-array
@@ -0,0 +1 @@
+../../Task/Sort-an-integer-array/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Split-a-character-string-based-on-change-of-character b/Lang/Nu/Split-a-character-string-based-on-change-of-character
new file mode 120000
index 0000000000..c6103b5715
--- /dev/null
+++ b/Lang/Nu/Split-a-character-string-based-on-change-of-character
@@ -0,0 +1 @@
+../../Task/Split-a-character-string-based-on-change-of-character/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Strip-whitespace-from-a-string-Top-and-tail b/Lang/Nu/Strip-whitespace-from-a-string-Top-and-tail
new file mode 120000
index 0000000000..c8922d283e
--- /dev/null
+++ b/Lang/Nu/Strip-whitespace-from-a-string-Top-and-tail
@@ -0,0 +1 @@
+../../Task/Strip-whitespace-from-a-string-Top-and-tail/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Substring-Top-and-tail b/Lang/Nu/Substring-Top-and-tail
new file mode 120000
index 0000000000..8e1ec9809c
--- /dev/null
+++ b/Lang/Nu/Substring-Top-and-tail
@@ -0,0 +1 @@
+../../Task/Substring-Top-and-tail/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Sum-and-product-of-an-array b/Lang/Nu/Sum-and-product-of-an-array
new file mode 120000
index 0000000000..c3f15d2743
--- /dev/null
+++ b/Lang/Nu/Sum-and-product-of-an-array
@@ -0,0 +1 @@
+../../Task/Sum-and-product-of-an-array/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Sum-digits-of-an-integer b/Lang/Nu/Sum-digits-of-an-integer
new file mode 120000
index 0000000000..41b99ca024
--- /dev/null
+++ b/Lang/Nu/Sum-digits-of-an-integer
@@ -0,0 +1 @@
+../../Task/Sum-digits-of-an-integer/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Sum-of-a-series b/Lang/Nu/Sum-of-a-series
new file mode 120000
index 0000000000..8172f12fc3
--- /dev/null
+++ b/Lang/Nu/Sum-of-a-series
@@ -0,0 +1 @@
+../../Task/Sum-of-a-series/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Sum-of-squares b/Lang/Nu/Sum-of-squares
new file mode 120000
index 0000000000..d7b0eacde8
--- /dev/null
+++ b/Lang/Nu/Sum-of-squares
@@ -0,0 +1 @@
+../../Task/Sum-of-squares/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Terminal-control-Clear-the-screen b/Lang/Nu/Terminal-control-Clear-the-screen
new file mode 120000
index 0000000000..929018a6f7
--- /dev/null
+++ b/Lang/Nu/Terminal-control-Clear-the-screen
@@ -0,0 +1 @@
+../../Task/Terminal-control-Clear-the-screen/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Terminal-control-Dimensions b/Lang/Nu/Terminal-control-Dimensions
new file mode 120000
index 0000000000..6f437c04e4
--- /dev/null
+++ b/Lang/Nu/Terminal-control-Dimensions
@@ -0,0 +1 @@
+../../Task/Terminal-control-Dimensions/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Terminal-control-Display-an-extended-character b/Lang/Nu/Terminal-control-Display-an-extended-character
new file mode 120000
index 0000000000..e54390beea
--- /dev/null
+++ b/Lang/Nu/Terminal-control-Display-an-extended-character
@@ -0,0 +1 @@
+../../Task/Terminal-control-Display-an-extended-character/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Terminal-control-Hiding-the-cursor b/Lang/Nu/Terminal-control-Hiding-the-cursor
new file mode 120000
index 0000000000..e19aad16bb
--- /dev/null
+++ b/Lang/Nu/Terminal-control-Hiding-the-cursor
@@ -0,0 +1 @@
+../../Task/Terminal-control-Hiding-the-cursor/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Terminal-control-Inverse-video b/Lang/Nu/Terminal-control-Inverse-video
new file mode 120000
index 0000000000..dbb97c54ab
--- /dev/null
+++ b/Lang/Nu/Terminal-control-Inverse-video
@@ -0,0 +1 @@
+../../Task/Terminal-control-Inverse-video/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Terminal-control-Ringing-the-terminal-bell b/Lang/Nu/Terminal-control-Ringing-the-terminal-bell
new file mode 120000
index 0000000000..f67008c1f1
--- /dev/null
+++ b/Lang/Nu/Terminal-control-Ringing-the-terminal-bell
@@ -0,0 +1 @@
+../../Task/Terminal-control-Ringing-the-terminal-bell/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Time-a-function b/Lang/Nu/Time-a-function
new file mode 120000
index 0000000000..d32498490a
--- /dev/null
+++ b/Lang/Nu/Time-a-function
@@ -0,0 +1 @@
+../../Task/Time-a-function/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Tokenize-a-string b/Lang/Nu/Tokenize-a-string
new file mode 120000
index 0000000000..e254094f94
--- /dev/null
+++ b/Lang/Nu/Tokenize-a-string
@@ -0,0 +1 @@
+../../Task/Tokenize-a-string/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Word-frequency b/Lang/Nu/Word-frequency
new file mode 120000
index 0000000000..b6ff2592c2
--- /dev/null
+++ b/Lang/Nu/Word-frequency
@@ -0,0 +1 @@
+../../Task/Word-frequency/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Y-combinator b/Lang/Nu/Y-combinator
new file mode 120000
index 0000000000..77e8ec4916
--- /dev/null
+++ b/Lang/Nu/Y-combinator
@@ -0,0 +1 @@
+../../Task/Y-combinator/Nu
\ No newline at end of file
diff --git a/Lang/Nu/Zero-to-the-zero-power b/Lang/Nu/Zero-to-the-zero-power
new file mode 120000
index 0000000000..950e81f484
--- /dev/null
+++ b/Lang/Nu/Zero-to-the-zero-power
@@ -0,0 +1 @@
+../../Task/Zero-to-the-zero-power/Nu
\ No newline at end of file
diff --git a/Lang/OCaml/Anti-primes b/Lang/OCaml/Anti-primes
new file mode 120000
index 0000000000..5c78fd8505
--- /dev/null
+++ b/Lang/OCaml/Anti-primes
@@ -0,0 +1 @@
+../../Task/Anti-primes/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Attractive-numbers b/Lang/OCaml/Attractive-numbers
new file mode 120000
index 0000000000..7813955dbc
--- /dev/null
+++ b/Lang/OCaml/Attractive-numbers
@@ -0,0 +1 @@
+../../Task/Attractive-numbers/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Cuban-primes b/Lang/OCaml/Cuban-primes
new file mode 120000
index 0000000000..d69918cc8d
--- /dev/null
+++ b/Lang/OCaml/Cuban-primes
@@ -0,0 +1 @@
+../../Task/Cuban-primes/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Harmonic-series b/Lang/OCaml/Harmonic-series
new file mode 120000
index 0000000000..7ea0abbec3
--- /dev/null
+++ b/Lang/OCaml/Harmonic-series
@@ -0,0 +1 @@
+../../Task/Harmonic-series/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Kosaraju b/Lang/OCaml/Kosaraju
new file mode 120000
index 0000000000..7243692ec3
--- /dev/null
+++ b/Lang/OCaml/Kosaraju
@@ -0,0 +1 @@
+../../Task/Kosaraju/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Parse-an-IP-Address b/Lang/OCaml/Parse-an-IP-Address
new file mode 120000
index 0000000000..f01fc56f01
--- /dev/null
+++ b/Lang/OCaml/Parse-an-IP-Address
@@ -0,0 +1 @@
+../../Task/Parse-an-IP-Address/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Pseudo-random-numbers-Xorshift-star b/Lang/OCaml/Pseudo-random-numbers-Xorshift-star
new file mode 120000
index 0000000000..3fd6f20cda
--- /dev/null
+++ b/Lang/OCaml/Pseudo-random-numbers-Xorshift-star
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-Xorshift-star/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Quaternion-type b/Lang/OCaml/Quaternion-type
deleted file mode 120000
index cc65de3875..0000000000
--- a/Lang/OCaml/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Sorting-algorithms-Sleep-sort b/Lang/OCaml/Sorting-algorithms-Sleep-sort
new file mode 120000
index 0000000000..1cc75210f7
--- /dev/null
+++ b/Lang/OCaml/Sorting-algorithms-Sleep-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Sleep-sort/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Strassens-algorithm b/Lang/OCaml/Strassens-algorithm
new file mode 120000
index 0000000000..f94e8ddb52
--- /dev/null
+++ b/Lang/OCaml/Strassens-algorithm
@@ -0,0 +1 @@
+../../Task/Strassens-algorithm/OCaml
\ No newline at end of file
diff --git a/Lang/OOC/00-LANG.txt b/Lang/OOC/00-LANG.txt
index 6ab39964dc..65c190709f 100644
--- a/Lang/OOC/00-LANG.txt
+++ b/Lang/OOC/00-LANG.txt
@@ -1,2 +1,2 @@
{{stub}}{{language
-|site=http://ooc-lang.org}}
\ No newline at end of file
+|site=https://ooc-lang.github.io/}}
\ No newline at end of file
diff --git a/Lang/OPL/00-LANG.txt b/Lang/OPL/00-LANG.txt
index 8357c2d27a..5d7f1fba8f 100644
--- a/Lang/OPL/00-LANG.txt
+++ b/Lang/OPL/00-LANG.txt
@@ -1,3 +1,11 @@
{{stub}}
{{language
-|site=http://opl-dev.sourceforge.net/}}
\ No newline at end of file
+|site=http://opl-dev.sourceforge.net/}}
+
+'''OPL (Open Programming Language'''; formerly '''Organiser Programming Language)''' is a high-level programming language designed primarily for use on mobile devices, particularly those running the Psion Series 3 and Series 5 operating systems. Developed in the early 1990s, '''OPL''' was created to provide a simple yet powerful environment for application development on handheld devices, allowing users to create software that could leverage the unique features of these portable platforms.
+
+OPL is known for its ease of use, making it accessible to both novice and experienced programmers. The language features a syntax that is similar to [[BASIC]], which helps in rapid application development. It supports structured programming concepts, including variables, control structures, and functions, enabling developers to write clear and maintainable code.
+
+One of the key strengths of OPL is its ability to interact seamlessly with the underlying operating system, allowing developers to access device-specific features such as file management, user interface elements, and hardware capabilities. This makes OPL particularly suitable for creating productivity applications, games, and utilities tailored for mobile users.
+
+Despite its niche status, OPL has garnered a dedicated community of enthusiasts and developers who continue to explore its capabilities and create innovative applications. As mobile computing continues to evolve, OPL remains a notable example of early efforts to bring programming to handheld devices, showcasing the potential of portable technology in software development.
\ No newline at end of file
diff --git a/Lang/OPL/100-doors b/Lang/OPL/100-doors
new file mode 120000
index 0000000000..a3b7e045e6
--- /dev/null
+++ b/Lang/OPL/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/OPL
\ No newline at end of file
diff --git a/Lang/OPL/Arithmetic-Integer b/Lang/OPL/Arithmetic-Integer
new file mode 120000
index 0000000000..dfcb743d43
--- /dev/null
+++ b/Lang/OPL/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/OPL
\ No newline at end of file
diff --git a/Lang/OPL/Array-length b/Lang/OPL/Array-length
new file mode 120000
index 0000000000..691e5be366
--- /dev/null
+++ b/Lang/OPL/Array-length
@@ -0,0 +1 @@
+../../Task/Array-length/OPL
\ No newline at end of file
diff --git a/Lang/OPL/Arrays b/Lang/OPL/Arrays
new file mode 120000
index 0000000000..f57347887c
--- /dev/null
+++ b/Lang/OPL/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/OPL
\ No newline at end of file
diff --git a/Lang/OPL/Character-codes b/Lang/OPL/Character-codes
new file mode 120000
index 0000000000..2dac3156b8
--- /dev/null
+++ b/Lang/OPL/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/OPL
\ No newline at end of file
diff --git a/Lang/OPL/Comments b/Lang/OPL/Comments
new file mode 120000
index 0000000000..8aec78d8aa
--- /dev/null
+++ b/Lang/OPL/Comments
@@ -0,0 +1 @@
+../../Task/Comments/OPL
\ No newline at end of file
diff --git a/Lang/OPL/Compare-length-of-two-strings b/Lang/OPL/Compare-length-of-two-strings
new file mode 120000
index 0000000000..c36f1e31fc
--- /dev/null
+++ b/Lang/OPL/Compare-length-of-two-strings
@@ -0,0 +1 @@
+../../Task/Compare-length-of-two-strings/OPL
\ No newline at end of file
diff --git a/Lang/OPL/Copy-a-string b/Lang/OPL/Copy-a-string
new file mode 120000
index 0000000000..76609905e5
--- /dev/null
+++ b/Lang/OPL/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/OPL
\ No newline at end of file
diff --git a/Lang/OPL/Draw-a-clock b/Lang/OPL/Draw-a-clock
new file mode 120000
index 0000000000..438c8aadf3
--- /dev/null
+++ b/Lang/OPL/Draw-a-clock
@@ -0,0 +1 @@
+../../Task/Draw-a-clock/OPL
\ No newline at end of file
diff --git a/Lang/OPL/Draw-a-pixel b/Lang/OPL/Draw-a-pixel
new file mode 120000
index 0000000000..d5c6ecea21
--- /dev/null
+++ b/Lang/OPL/Draw-a-pixel
@@ -0,0 +1 @@
+../../Task/Draw-a-pixel/OPL
\ No newline at end of file
diff --git a/Lang/OPL/Empty-string b/Lang/OPL/Empty-string
new file mode 120000
index 0000000000..9f6569303b
--- /dev/null
+++ b/Lang/OPL/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/OPL
\ No newline at end of file
diff --git a/Lang/OPL/Factors-of-an-integer b/Lang/OPL/Factors-of-an-integer
new file mode 120000
index 0000000000..2dc5a0a29e
--- /dev/null
+++ b/Lang/OPL/Factors-of-an-integer
@@ -0,0 +1 @@
+../../Task/Factors-of-an-integer/OPL
\ No newline at end of file
diff --git a/Lang/OPL/Filter b/Lang/OPL/Filter
new file mode 120000
index 0000000000..89ea7a2c54
--- /dev/null
+++ b/Lang/OPL/Filter
@@ -0,0 +1 @@
+../../Task/Filter/OPL
\ No newline at end of file
diff --git a/Lang/OPL/Hello-world-Text b/Lang/OPL/Hello-world-Text
new file mode 120000
index 0000000000..a870057a16
--- /dev/null
+++ b/Lang/OPL/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/OPL
\ No newline at end of file
diff --git a/Lang/OPL/Program-termination b/Lang/OPL/Program-termination
new file mode 120000
index 0000000000..8287761646
--- /dev/null
+++ b/Lang/OPL/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/OPL
\ No newline at end of file
diff --git a/Lang/OPL/Reverse-a-string b/Lang/OPL/Reverse-a-string
new file mode 120000
index 0000000000..8dba18d4c9
--- /dev/null
+++ b/Lang/OPL/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/OPL
\ No newline at end of file
diff --git a/Lang/OPL/Show-ASCII-table b/Lang/OPL/Show-ASCII-table
new file mode 120000
index 0000000000..72f35c10c7
--- /dev/null
+++ b/Lang/OPL/Show-ASCII-table
@@ -0,0 +1 @@
+../../Task/Show-ASCII-table/OPL
\ No newline at end of file
diff --git a/Lang/OPL/String-length b/Lang/OPL/String-length
new file mode 120000
index 0000000000..ebd9f5ed88
--- /dev/null
+++ b/Lang/OPL/String-length
@@ -0,0 +1 @@
+../../Task/String-length/OPL
\ No newline at end of file
diff --git a/Lang/OPL/String-prepend b/Lang/OPL/String-prepend
new file mode 120000
index 0000000000..78cb69646e
--- /dev/null
+++ b/Lang/OPL/String-prepend
@@ -0,0 +1 @@
+../../Task/String-prepend/OPL
\ No newline at end of file
diff --git a/Lang/OPL/Substring b/Lang/OPL/Substring
new file mode 120000
index 0000000000..046b764f06
--- /dev/null
+++ b/Lang/OPL/Substring
@@ -0,0 +1 @@
+../../Task/Substring/OPL
\ No newline at end of file
diff --git a/Lang/OPL/User-input-Text b/Lang/OPL/User-input-Text
new file mode 120000
index 0000000000..ad39694040
--- /dev/null
+++ b/Lang/OPL/User-input-Text
@@ -0,0 +1 @@
+../../Task/User-input-Text/OPL
\ No newline at end of file
diff --git a/Lang/Oberon-07/00-LANG.txt b/Lang/Oberon-07/00-LANG.txt
new file mode 100644
index 0000000000..fecc62a2b8
--- /dev/null
+++ b/Lang/Oberon-07/00-LANG.txt
@@ -0,0 +1,30 @@
+{{stub}}
+{{language|Oberon-07
+|strength=strong
+|safety=safe
+|express=explicit
+|compat=structural
+|checking=static
+|parampass=both
+|gc=yes
+}}
+
+'''Oberon-07''' is a revision of the Oberon language by Niklaus Wirth. Oberon-07 is based on Wirth's original Oberon language (not [[Oberon-2]]), Wirth lists the changes [https://people.inf.ethz.ch/wirth/Oberon/Oberon07.pdf here], which are largely aimed at simplification - in [https://people.inf.ethz.ch/wirth/Oberon/Oberon07.Report.pdf his defining document], Wirth quotes Einstein: "Make it as simple as possible, but not simpler".
+
+Oberon-07 contains a WHILE loop that allows multiple conditions and statements - similar to the loop in [[wp:Guarded_Command_Language|Edsgar Dijkstra's Guarded Command Language]], though with different syntax and without non-determinism. See [[Loops/N_plus_one_half#Oberon-07]] for an example.
+
+In addition to the samples below, many of the [[Oberon-2]] samples should work with Oberon-07, particularly if the Oberon-07 compiler you are using allows LONGINT as a synonym for INTEGER (LONGINT, SHORTINT, LONGREAL and SHORTREAL were dropped from Oberon-07).
+
+==Tasks not implemented in Oberon-07==
+[[Tasks not implemented in Oberon-07]]
+
+== Library modules used in Rosetta Code samples ==
+* [[:Category:Oberon-07-primes|Prime related]]
+* [[:Category:Oberon-07-words|Word related]]
+
+== See also ==
+* [[Oberon-2]]
+* [[Modula-2]]
+* [[Modula-3]]
+* [[Component Pascal]]
+* [[Zonnon]]
\ No newline at end of file
diff --git a/Lang/Oberon-07/00-META.yaml b/Lang/Oberon-07/00-META.yaml
new file mode 100644
index 0000000000..df5ec38ad0
--- /dev/null
+++ b/Lang/Oberon-07/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Oberon-07
diff --git a/Lang/Oberon-07/Abundant-odd-numbers b/Lang/Oberon-07/Abundant-odd-numbers
new file mode 120000
index 0000000000..93003f8da4
--- /dev/null
+++ b/Lang/Oberon-07/Abundant-odd-numbers
@@ -0,0 +1 @@
+../../Task/Abundant-odd-numbers/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Additive-primes b/Lang/Oberon-07/Additive-primes
new file mode 120000
index 0000000000..29e374f522
--- /dev/null
+++ b/Lang/Oberon-07/Additive-primes
@@ -0,0 +1 @@
+../../Task/Additive-primes/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Almost-prime b/Lang/Oberon-07/Almost-prime
new file mode 120000
index 0000000000..a487d08ae3
--- /dev/null
+++ b/Lang/Oberon-07/Almost-prime
@@ -0,0 +1 @@
+../../Task/Almost-prime/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Arithmetic-derivative b/Lang/Oberon-07/Arithmetic-derivative
new file mode 120000
index 0000000000..8a23f5aca7
--- /dev/null
+++ b/Lang/Oberon-07/Arithmetic-derivative
@@ -0,0 +1 @@
+../../Task/Arithmetic-derivative/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Arithmetic-numbers b/Lang/Oberon-07/Arithmetic-numbers
new file mode 120000
index 0000000000..12d1ac60ce
--- /dev/null
+++ b/Lang/Oberon-07/Arithmetic-numbers
@@ -0,0 +1 @@
+../../Task/Arithmetic-numbers/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Bell-numbers b/Lang/Oberon-07/Bell-numbers
new file mode 120000
index 0000000000..e9a3518583
--- /dev/null
+++ b/Lang/Oberon-07/Bell-numbers
@@ -0,0 +1 @@
+../../Task/Bell-numbers/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Brilliant-numbers b/Lang/Oberon-07/Brilliant-numbers
new file mode 120000
index 0000000000..9a2690e4fa
--- /dev/null
+++ b/Lang/Oberon-07/Brilliant-numbers
@@ -0,0 +1 @@
+../../Task/Brilliant-numbers/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/CUSIP b/Lang/Oberon-07/CUSIP
new file mode 120000
index 0000000000..fca08cc3e6
--- /dev/null
+++ b/Lang/Oberon-07/CUSIP
@@ -0,0 +1 @@
+../../Task/CUSIP/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Calculating-the-value-of-e b/Lang/Oberon-07/Calculating-the-value-of-e
new file mode 120000
index 0000000000..3693146162
--- /dev/null
+++ b/Lang/Oberon-07/Calculating-the-value-of-e
@@ -0,0 +1 @@
+../../Task/Calculating-the-value-of-e/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Carmichael-3-strong-pseudoprimes b/Lang/Oberon-07/Carmichael-3-strong-pseudoprimes
new file mode 120000
index 0000000000..1732f66395
--- /dev/null
+++ b/Lang/Oberon-07/Carmichael-3-strong-pseudoprimes
@@ -0,0 +1 @@
+../../Task/Carmichael-3-strong-pseudoprimes/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Catalan-numbers b/Lang/Oberon-07/Catalan-numbers
new file mode 120000
index 0000000000..97d7a62fcd
--- /dev/null
+++ b/Lang/Oberon-07/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Copy-stdin-to-stdout b/Lang/Oberon-07/Copy-stdin-to-stdout
new file mode 120000
index 0000000000..15b9092fd0
--- /dev/null
+++ b/Lang/Oberon-07/Copy-stdin-to-stdout
@@ -0,0 +1 @@
+../../Task/Copy-stdin-to-stdout/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Count-in-factors b/Lang/Oberon-07/Count-in-factors
new file mode 120000
index 0000000000..213e18b9fd
--- /dev/null
+++ b/Lang/Oberon-07/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Cumulative-standard-deviation b/Lang/Oberon-07/Cumulative-standard-deviation
new file mode 120000
index 0000000000..998c4d523e
--- /dev/null
+++ b/Lang/Oberon-07/Cumulative-standard-deviation
@@ -0,0 +1 @@
+../../Task/Cumulative-standard-deviation/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Day-of-the-week b/Lang/Oberon-07/Day-of-the-week
new file mode 120000
index 0000000000..f4a166cd18
--- /dev/null
+++ b/Lang/Oberon-07/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Department-numbers b/Lang/Oberon-07/Department-numbers
new file mode 120000
index 0000000000..ee00d69bb6
--- /dev/null
+++ b/Lang/Oberon-07/Department-numbers
@@ -0,0 +1 @@
+../../Task/Department-numbers/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Determine-if-a-string-has-all-the-same-characters b/Lang/Oberon-07/Determine-if-a-string-has-all-the-same-characters
new file mode 120000
index 0000000000..f2c11ea5d4
--- /dev/null
+++ b/Lang/Oberon-07/Determine-if-a-string-has-all-the-same-characters
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-has-all-the-same-characters/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Dice-game-probabilities b/Lang/Oberon-07/Dice-game-probabilities
new file mode 120000
index 0000000000..527f78ea60
--- /dev/null
+++ b/Lang/Oberon-07/Dice-game-probabilities
@@ -0,0 +1 @@
+../../Task/Dice-game-probabilities/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Empty-program b/Lang/Oberon-07/Empty-program
new file mode 120000
index 0000000000..ba46e2aae6
--- /dev/null
+++ b/Lang/Oberon-07/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Equal-prime-and-composite-sums b/Lang/Oberon-07/Equal-prime-and-composite-sums
new file mode 120000
index 0000000000..91c57a6baf
--- /dev/null
+++ b/Lang/Oberon-07/Equal-prime-and-composite-sums
@@ -0,0 +1 @@
+../../Task/Equal-prime-and-composite-sums/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Ethiopian-multiplication b/Lang/Oberon-07/Ethiopian-multiplication
new file mode 120000
index 0000000000..13a766a6c8
--- /dev/null
+++ b/Lang/Oberon-07/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Euclid-Mullin-sequence b/Lang/Oberon-07/Euclid-Mullin-sequence
new file mode 120000
index 0000000000..81b23466eb
--- /dev/null
+++ b/Lang/Oberon-07/Euclid-Mullin-sequence
@@ -0,0 +1 @@
+../../Task/Euclid-Mullin-sequence/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Factorial b/Lang/Oberon-07/Factorial
new file mode 120000
index 0000000000..42b8c4919c
--- /dev/null
+++ b/Lang/Oberon-07/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Find-the-last-Sunday-of-each-month b/Lang/Oberon-07/Find-the-last-Sunday-of-each-month
new file mode 120000
index 0000000000..1d918212c0
--- /dev/null
+++ b/Lang/Oberon-07/Find-the-last-Sunday-of-each-month
@@ -0,0 +1 @@
+../../Task/Find-the-last-Sunday-of-each-month/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Giuga-numbers b/Lang/Oberon-07/Giuga-numbers
new file mode 120000
index 0000000000..cce0bf5fc2
--- /dev/null
+++ b/Lang/Oberon-07/Giuga-numbers
@@ -0,0 +1 @@
+../../Task/Giuga-numbers/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Harmonic-series b/Lang/Oberon-07/Harmonic-series
new file mode 120000
index 0000000000..8e08686cfc
--- /dev/null
+++ b/Lang/Oberon-07/Harmonic-series
@@ -0,0 +1 @@
+../../Task/Harmonic-series/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Isqrt-integer-square-root-of-X b/Lang/Oberon-07/Isqrt-integer-square-root-of-X
new file mode 120000
index 0000000000..a51f2f67a5
--- /dev/null
+++ b/Lang/Oberon-07/Isqrt-integer-square-root-of-X
@@ -0,0 +1 @@
+../../Task/Isqrt-integer-square-root-of-X/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Iterated-digits-squaring b/Lang/Oberon-07/Iterated-digits-squaring
new file mode 120000
index 0000000000..7a2da6ed31
--- /dev/null
+++ b/Lang/Oberon-07/Iterated-digits-squaring
@@ -0,0 +1 @@
+../../Task/Iterated-digits-squaring/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Jordan-P-lya-numbers b/Lang/Oberon-07/Jordan-P-lya-numbers
new file mode 120000
index 0000000000..9a4df048e8
--- /dev/null
+++ b/Lang/Oberon-07/Jordan-P-lya-numbers
@@ -0,0 +1 @@
+../../Task/Jordan-P-lya-numbers/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Julia-set b/Lang/Oberon-07/Julia-set
new file mode 120000
index 0000000000..e864d34442
--- /dev/null
+++ b/Lang/Oberon-07/Julia-set
@@ -0,0 +1 @@
+../../Task/Julia-set/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Knapsack-problem-Continuous b/Lang/Oberon-07/Knapsack-problem-Continuous
new file mode 120000
index 0000000000..43a5919216
--- /dev/null
+++ b/Lang/Oberon-07/Knapsack-problem-Continuous
@@ -0,0 +1 @@
+../../Task/Knapsack-problem-Continuous/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Last-Friday-of-each-month b/Lang/Oberon-07/Last-Friday-of-each-month
new file mode 120000
index 0000000000..e8c07d9c19
--- /dev/null
+++ b/Lang/Oberon-07/Last-Friday-of-each-month
@@ -0,0 +1 @@
+../../Task/Last-Friday-of-each-month/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Leap-year b/Lang/Oberon-07/Leap-year
new file mode 120000
index 0000000000..8797ca0922
--- /dev/null
+++ b/Lang/Oberon-07/Leap-year
@@ -0,0 +1 @@
+../../Task/Leap-year/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Legendre-prime-counting-function b/Lang/Oberon-07/Legendre-prime-counting-function
new file mode 120000
index 0000000000..7d4d3489c5
--- /dev/null
+++ b/Lang/Oberon-07/Legendre-prime-counting-function
@@ -0,0 +1 @@
+../../Task/Legendre-prime-counting-function/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Long-year b/Lang/Oberon-07/Long-year
new file mode 120000
index 0000000000..a0709fd34e
--- /dev/null
+++ b/Lang/Oberon-07/Long-year
@@ -0,0 +1 @@
+../../Task/Long-year/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Loops-Break b/Lang/Oberon-07/Loops-Break
new file mode 120000
index 0000000000..bcd210938e
--- /dev/null
+++ b/Lang/Oberon-07/Loops-Break
@@ -0,0 +1 @@
+../../Task/Loops-Break/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Loops-N-plus-one-half b/Lang/Oberon-07/Loops-N-plus-one-half
new file mode 120000
index 0000000000..f9ed03d1cc
--- /dev/null
+++ b/Lang/Oberon-07/Loops-N-plus-one-half
@@ -0,0 +1 @@
+../../Task/Loops-N-plus-one-half/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Magic-8-ball b/Lang/Oberon-07/Magic-8-ball
new file mode 120000
index 0000000000..060c6dd973
--- /dev/null
+++ b/Lang/Oberon-07/Magic-8-ball
@@ -0,0 +1 @@
+../../Task/Magic-8-ball/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/McNuggets-problem b/Lang/Oberon-07/McNuggets-problem
new file mode 120000
index 0000000000..f69d28cb85
--- /dev/null
+++ b/Lang/Oberon-07/McNuggets-problem
@@ -0,0 +1 @@
+../../Task/McNuggets-problem/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Motzkin-numbers b/Lang/Oberon-07/Motzkin-numbers
new file mode 120000
index 0000000000..b3b2948803
--- /dev/null
+++ b/Lang/Oberon-07/Motzkin-numbers
@@ -0,0 +1 @@
+../../Task/Motzkin-numbers/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Numbers-with-equal-rises-and-falls b/Lang/Oberon-07/Numbers-with-equal-rises-and-falls
new file mode 120000
index 0000000000..5077c6cc5f
--- /dev/null
+++ b/Lang/Oberon-07/Numbers-with-equal-rises-and-falls
@@ -0,0 +1 @@
+../../Task/Numbers-with-equal-rises-and-falls/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/One-dimensional-cellular-automata b/Lang/Oberon-07/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..95f88799f3
--- /dev/null
+++ b/Lang/Oberon-07/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Ordered-words b/Lang/Oberon-07/Ordered-words
new file mode 120000
index 0000000000..6b04795e94
--- /dev/null
+++ b/Lang/Oberon-07/Ordered-words
@@ -0,0 +1 @@
+../../Task/Ordered-words/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Pell-numbers b/Lang/Oberon-07/Pell-numbers
new file mode 120000
index 0000000000..7b4ee7e909
--- /dev/null
+++ b/Lang/Oberon-07/Pell-numbers
@@ -0,0 +1 @@
+../../Task/Pell-numbers/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Primality-by-trial-division b/Lang/Oberon-07/Primality-by-trial-division
new file mode 120000
index 0000000000..bbe4339271
--- /dev/null
+++ b/Lang/Oberon-07/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Rare-numbers b/Lang/Oberon-07/Rare-numbers
new file mode 120000
index 0000000000..ee9d392e3c
--- /dev/null
+++ b/Lang/Oberon-07/Rare-numbers
@@ -0,0 +1 @@
+../../Task/Rare-numbers/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Scope-modifiers b/Lang/Oberon-07/Scope-modifiers
new file mode 120000
index 0000000000..5c7c859780
--- /dev/null
+++ b/Lang/Oberon-07/Scope-modifiers
@@ -0,0 +1 @@
+../../Task/Scope-modifiers/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Semiprime b/Lang/Oberon-07/Semiprime
new file mode 120000
index 0000000000..46f4d8859c
--- /dev/null
+++ b/Lang/Oberon-07/Semiprime
@@ -0,0 +1 @@
+../../Task/Semiprime/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Sequence-of-non-squares b/Lang/Oberon-07/Sequence-of-non-squares
new file mode 120000
index 0000000000..45e81c48c5
--- /dev/null
+++ b/Lang/Oberon-07/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Sequence-of-primorial-primes b/Lang/Oberon-07/Sequence-of-primorial-primes
new file mode 120000
index 0000000000..7f1050cb25
--- /dev/null
+++ b/Lang/Oberon-07/Sequence-of-primorial-primes
@@ -0,0 +1 @@
+../../Task/Sequence-of-primorial-primes/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Shoelace-formula-for-polygonal-area b/Lang/Oberon-07/Shoelace-formula-for-polygonal-area
new file mode 120000
index 0000000000..b71cae6abb
--- /dev/null
+++ b/Lang/Oberon-07/Shoelace-formula-for-polygonal-area
@@ -0,0 +1 @@
+../../Task/Shoelace-formula-for-polygonal-area/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Sierpinski-triangle b/Lang/Oberon-07/Sierpinski-triangle
new file mode 120000
index 0000000000..bdad2ec3ac
--- /dev/null
+++ b/Lang/Oberon-07/Sierpinski-triangle
@@ -0,0 +1 @@
+../../Task/Sierpinski-triangle/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Sleeping-Beauty-problem b/Lang/Oberon-07/Sleeping-Beauty-problem
new file mode 120000
index 0000000000..94be576322
--- /dev/null
+++ b/Lang/Oberon-07/Sleeping-Beauty-problem
@@ -0,0 +1 @@
+../../Task/Sleeping-Beauty-problem/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Square-but-not-cube b/Lang/Oberon-07/Square-but-not-cube
new file mode 120000
index 0000000000..917704f475
--- /dev/null
+++ b/Lang/Oberon-07/Square-but-not-cube
@@ -0,0 +1 @@
+../../Task/Square-but-not-cube/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Stack b/Lang/Oberon-07/Stack
new file mode 120000
index 0000000000..abb833bb1a
--- /dev/null
+++ b/Lang/Oberon-07/Stack
@@ -0,0 +1 @@
+../../Task/Stack/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Stirling-numbers-of-the-first-kind b/Lang/Oberon-07/Stirling-numbers-of-the-first-kind
new file mode 120000
index 0000000000..fc333d5e86
--- /dev/null
+++ b/Lang/Oberon-07/Stirling-numbers-of-the-first-kind
@@ -0,0 +1 @@
+../../Task/Stirling-numbers-of-the-first-kind/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Tau-number b/Lang/Oberon-07/Tau-number
new file mode 120000
index 0000000000..c494dc7ed9
--- /dev/null
+++ b/Lang/Oberon-07/Tau-number
@@ -0,0 +1 @@
+../../Task/Tau-number/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Thue-Morse b/Lang/Oberon-07/Thue-Morse
new file mode 120000
index 0000000000..9ae7bad9e1
--- /dev/null
+++ b/Lang/Oberon-07/Thue-Morse
@@ -0,0 +1 @@
+../../Task/Thue-Morse/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Van-Eck-sequence b/Lang/Oberon-07/Van-Eck-sequence
new file mode 120000
index 0000000000..1d825043d7
--- /dev/null
+++ b/Lang/Oberon-07/Van-Eck-sequence
@@ -0,0 +1 @@
+../../Task/Van-Eck-sequence/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Van-der-Corput-sequence b/Lang/Oberon-07/Van-der-Corput-sequence
new file mode 120000
index 0000000000..9bcb9702bb
--- /dev/null
+++ b/Lang/Oberon-07/Van-der-Corput-sequence
@@ -0,0 +1 @@
+../../Task/Van-der-Corput-sequence/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Verhoeff-algorithm b/Lang/Oberon-07/Verhoeff-algorithm
new file mode 120000
index 0000000000..5e73a5c36f
--- /dev/null
+++ b/Lang/Oberon-07/Verhoeff-algorithm
@@ -0,0 +1 @@
+../../Task/Verhoeff-algorithm/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Yellowstone-sequence b/Lang/Oberon-07/Yellowstone-sequence
new file mode 120000
index 0000000000..cf4e2d20b9
--- /dev/null
+++ b/Lang/Oberon-07/Yellowstone-sequence
@@ -0,0 +1 @@
+../../Task/Yellowstone-sequence/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon-07/Zeckendorf-number-representation b/Lang/Oberon-07/Zeckendorf-number-representation
new file mode 120000
index 0000000000..3ada43b974
--- /dev/null
+++ b/Lang/Oberon-07/Zeckendorf-number-representation
@@ -0,0 +1 @@
+../../Task/Zeckendorf-number-representation/Oberon-07
\ No newline at end of file
diff --git a/Lang/Oberon/100-doors b/Lang/Oberon/100-doors
deleted file mode 120000
index 9d190b3c16..0000000000
--- a/Lang/Oberon/100-doors
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/100-doors/Oberon
\ No newline at end of file
diff --git a/Lang/Oberon/Abundant-deficient-and-perfect-number-classifications b/Lang/Oberon/Abundant-deficient-and-perfect-number-classifications
new file mode 120000
index 0000000000..e8005ff3ac
--- /dev/null
+++ b/Lang/Oberon/Abundant-deficient-and-perfect-number-classifications
@@ -0,0 +1 @@
+../../Task/Abundant-deficient-and-perfect-number-classifications/Oberon
\ No newline at end of file
diff --git a/Lang/Oberon/Arithmetic-Integer b/Lang/Oberon/Arithmetic-Integer
deleted file mode 120000
index e9f7a593d7..0000000000
--- a/Lang/Oberon/Arithmetic-Integer
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arithmetic-Integer/Oberon
\ No newline at end of file
diff --git a/Lang/Oberon/Calkin-Wilf-sequence b/Lang/Oberon/Calkin-Wilf-sequence
new file mode 120000
index 0000000000..15bedf6a9d
--- /dev/null
+++ b/Lang/Oberon/Calkin-Wilf-sequence
@@ -0,0 +1 @@
+../../Task/Calkin-Wilf-sequence/Oberon
\ No newline at end of file
diff --git a/Lang/Oberon/Cumulative-standard-deviation b/Lang/Oberon/Cumulative-standard-deviation
new file mode 120000
index 0000000000..efd10bee3a
--- /dev/null
+++ b/Lang/Oberon/Cumulative-standard-deviation
@@ -0,0 +1 @@
+../../Task/Cumulative-standard-deviation/Oberon
\ No newline at end of file
diff --git a/Lang/Oberon/Euclid-Mullin-sequence b/Lang/Oberon/Euclid-Mullin-sequence
new file mode 120000
index 0000000000..7808b89779
--- /dev/null
+++ b/Lang/Oberon/Euclid-Mullin-sequence
@@ -0,0 +1 @@
+../../Task/Euclid-Mullin-sequence/Oberon
\ No newline at end of file
diff --git a/Lang/Oberon/Even-or-odd b/Lang/Oberon/Even-or-odd
deleted file mode 120000
index 02920c353c..0000000000
--- a/Lang/Oberon/Even-or-odd
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Even-or-odd/Oberon
\ No newline at end of file
diff --git a/Lang/Oberon/Golden-ratio-Convergence b/Lang/Oberon/Golden-ratio-Convergence
new file mode 120000
index 0000000000..dd21277799
--- /dev/null
+++ b/Lang/Oberon/Golden-ratio-Convergence
@@ -0,0 +1 @@
+../../Task/Golden-ratio-Convergence/Oberon
\ No newline at end of file
diff --git a/Lang/Oberon/Greatest-common-divisor b/Lang/Oberon/Greatest-common-divisor
deleted file mode 120000
index 23dd5fc156..0000000000
--- a/Lang/Oberon/Greatest-common-divisor
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Greatest-common-divisor/Oberon
\ No newline at end of file
diff --git a/Lang/Oberon/Loops-Continue b/Lang/Oberon/Loops-Continue
new file mode 120000
index 0000000000..2ebf84aa8e
--- /dev/null
+++ b/Lang/Oberon/Loops-Continue
@@ -0,0 +1 @@
+../../Task/Loops-Continue/Oberon
\ No newline at end of file
diff --git a/Lang/Oberon/Loops-For-with-a-specified-step b/Lang/Oberon/Loops-For-with-a-specified-step
deleted file mode 120000
index e73c849d2b..0000000000
--- a/Lang/Oberon/Loops-For-with-a-specified-step
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Loops-For-with-a-specified-step/Oberon
\ No newline at end of file
diff --git a/Lang/Oberon/Rare-numbers b/Lang/Oberon/Rare-numbers
new file mode 120000
index 0000000000..9dc08ea100
--- /dev/null
+++ b/Lang/Oberon/Rare-numbers
@@ -0,0 +1 @@
+../../Task/Rare-numbers/Oberon
\ No newline at end of file
diff --git a/Lang/Objeck/Catalan-numbers-Pascals-triangle b/Lang/Objeck/Catalan-numbers-Pascals-triangle
new file mode 120000
index 0000000000..bc3c684d61
--- /dev/null
+++ b/Lang/Objeck/Catalan-numbers-Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Catalan-numbers-Pascals-triangle/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Copy-stdin-to-stdout b/Lang/Objeck/Copy-stdin-to-stdout
new file mode 120000
index 0000000000..b358bbac43
--- /dev/null
+++ b/Lang/Objeck/Copy-stdin-to-stdout
@@ -0,0 +1 @@
+../../Task/Copy-stdin-to-stdout/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Disarium-numbers b/Lang/Objeck/Disarium-numbers
new file mode 120000
index 0000000000..bc58c40d5c
--- /dev/null
+++ b/Lang/Objeck/Disarium-numbers
@@ -0,0 +1 @@
+../../Task/Disarium-numbers/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Distributed-programming b/Lang/Objeck/Distributed-programming
new file mode 120000
index 0000000000..728f38ee28
--- /dev/null
+++ b/Lang/Objeck/Distributed-programming
@@ -0,0 +1 @@
+../../Task/Distributed-programming/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Floyds-triangle b/Lang/Objeck/Floyds-triangle
new file mode 120000
index 0000000000..743553b677
--- /dev/null
+++ b/Lang/Objeck/Floyds-triangle
@@ -0,0 +1 @@
+../../Task/Floyds-triangle/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Generate-lower-case-ASCII-alphabet b/Lang/Objeck/Generate-lower-case-ASCII-alphabet
new file mode 120000
index 0000000000..92f0212a12
--- /dev/null
+++ b/Lang/Objeck/Generate-lower-case-ASCII-alphabet
@@ -0,0 +1 @@
+../../Task/Generate-lower-case-ASCII-alphabet/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/HTTPS-Client-authenticated b/Lang/Objeck/HTTPS-Client-authenticated
new file mode 120000
index 0000000000..6f56878ef9
--- /dev/null
+++ b/Lang/Objeck/HTTPS-Client-authenticated
@@ -0,0 +1 @@
+../../Task/HTTPS-Client-authenticated/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Hello-world-Standard-error b/Lang/Objeck/Hello-world-Standard-error
new file mode 120000
index 0000000000..49d3f16aa6
--- /dev/null
+++ b/Lang/Objeck/Hello-world-Standard-error
@@ -0,0 +1 @@
+../../Task/Hello-world-Standard-error/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Knuth-shuffle b/Lang/Objeck/Knuth-shuffle
new file mode 120000
index 0000000000..a7bb43880d
--- /dev/null
+++ b/Lang/Objeck/Knuth-shuffle
@@ -0,0 +1 @@
+../../Task/Knuth-shuffle/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Mad-Libs b/Lang/Objeck/Mad-Libs
new file mode 120000
index 0000000000..39f19ea059
--- /dev/null
+++ b/Lang/Objeck/Mad-Libs
@@ -0,0 +1 @@
+../../Task/Mad-Libs/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Magic-squares-of-doubly-even-order b/Lang/Objeck/Magic-squares-of-doubly-even-order
new file mode 120000
index 0000000000..526cd66745
--- /dev/null
+++ b/Lang/Objeck/Magic-squares-of-doubly-even-order
@@ -0,0 +1 @@
+../../Task/Magic-squares-of-doubly-even-order/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Matrix-multiplication b/Lang/Objeck/Matrix-multiplication
new file mode 120000
index 0000000000..e2801343eb
--- /dev/null
+++ b/Lang/Objeck/Matrix-multiplication
@@ -0,0 +1 @@
+../../Task/Matrix-multiplication/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Multiplication-tables b/Lang/Objeck/Multiplication-tables
new file mode 120000
index 0000000000..3bad27bce2
--- /dev/null
+++ b/Lang/Objeck/Multiplication-tables
@@ -0,0 +1 @@
+../../Task/Multiplication-tables/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Queue-Definition b/Lang/Objeck/Queue-Definition
new file mode 120000
index 0000000000..392e43e236
--- /dev/null
+++ b/Lang/Objeck/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Roman-numerals-Decode b/Lang/Objeck/Roman-numerals-Decode
new file mode 120000
index 0000000000..bd8b56a721
--- /dev/null
+++ b/Lang/Objeck/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Rosetta-Code-Find-unimplemented-tasks b/Lang/Objeck/Rosetta-Code-Find-unimplemented-tasks
new file mode 120000
index 0000000000..7e77326aa1
--- /dev/null
+++ b/Lang/Objeck/Rosetta-Code-Find-unimplemented-tasks
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Find-unimplemented-tasks/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Sorting-Algorithms-Circle-Sort b/Lang/Objeck/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index 4475fe5763..0000000000
--- a/Lang/Objeck/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Strip-a-set-of-characters-from-a-string b/Lang/Objeck/Strip-a-set-of-characters-from-a-string
new file mode 120000
index 0000000000..f651f9d55d
--- /dev/null
+++ b/Lang/Objeck/Strip-a-set-of-characters-from-a-string
@@ -0,0 +1 @@
+../../Task/Strip-a-set-of-characters-from-a-string/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Take-notes-on-the-command-line b/Lang/Objeck/Take-notes-on-the-command-line
new file mode 120000
index 0000000000..5d55699b35
--- /dev/null
+++ b/Lang/Objeck/Take-notes-on-the-command-line
@@ -0,0 +1 @@
+../../Task/Take-notes-on-the-command-line/Objeck
\ No newline at end of file
diff --git a/Lang/Object-Pascal-Implementations/00-LANG.txt b/Lang/Object-Pascal-Implementations/00-LANG.txt
new file mode 100644
index 0000000000..74167ef7a7
--- /dev/null
+++ b/Lang/Object-Pascal-Implementations/00-LANG.txt
@@ -0,0 +1,3 @@
+{{language|Object Pascal}}
+{{implementation cat|Object Pascal}}
+{{implementation|Pascal}}
\ No newline at end of file
diff --git a/Lang/Object-Pascal-Implementations/00-META.yaml b/Lang/Object-Pascal-Implementations/00-META.yaml
new file mode 100644
index 0000000000..34f0628a46
--- /dev/null
+++ b/Lang/Object-Pascal-Implementations/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Object_Pascal_Implementations
diff --git a/Lang/Object-Pascal/Sorting-algorithms-Shell-sort b/Lang/Object-Pascal/Sorting-algorithms-Shell-sort
new file mode 120000
index 0000000000..6ae9067d88
--- /dev/null
+++ b/Lang/Object-Pascal/Sorting-algorithms-Shell-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Shell-sort/Object-Pascal
\ No newline at end of file
diff --git a/Lang/Octave/Peripheral-drift-illusion b/Lang/Octave/Peripheral-drift-illusion
new file mode 120000
index 0000000000..9bda77fd28
--- /dev/null
+++ b/Lang/Octave/Peripheral-drift-illusion
@@ -0,0 +1 @@
+../../Task/Peripheral-drift-illusion/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Quaternion-type b/Lang/Octave/Quaternion-type
deleted file mode 120000
index 6dec972e26..0000000000
--- a/Lang/Octave/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Octave
\ No newline at end of file
diff --git a/Lang/Odin/00-LANG.txt b/Lang/Odin/00-LANG.txt
index 2c96551228..1a08002d21 100644
--- a/Lang/Odin/00-LANG.txt
+++ b/Lang/Odin/00-LANG.txt
@@ -1 +1,24 @@
-{{stub}}{{language|Odin}}
\ No newline at end of file
+{{language
+|exec=machine
+|gc=no
+|safety=unsafe
+|parampass=reference
+|checking=static
+|compat=nominative
+|strength=strong
+|site=https://odin-lang.org/
+|tag=odin
+}}{{language programming paradigm|Imperative}}{{Codepad}}
+
+'''Odin''' is a general-purpose, [[procedural programming|procedural]], [[imperative programming|imperative]] programming language developed by [https://www.gingerbill.org/ gingerBill] as a "C alternative for the joy of programming".
+
+Odin is distributed under [https://github.com/odin-lang/Odin/blob/master/LICENSE zlib license].
+
+==Links==
+* [https://odin-lang.org/docs/install/ Compiler installation instructions]
+* [https://github.com/odin-lang/Odin Repository]
+* [https://odin-lang.org/docs/overview/ Language overview]
+* [https://pkg.odin-lang.org/ Standard library documentation]
+
+==Todo==
+[[Tasks_not_implemented_in_Odin]]
\ No newline at end of file
diff --git a/Lang/Odin/100-doors b/Lang/Odin/100-doors
new file mode 120000
index 0000000000..67c11787e6
--- /dev/null
+++ b/Lang/Odin/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/Odin
\ No newline at end of file
diff --git a/Lang/Odin/Call-a-function-in-a-shared-library b/Lang/Odin/Call-a-function-in-a-shared-library
new file mode 120000
index 0000000000..cf4ca70486
--- /dev/null
+++ b/Lang/Odin/Call-a-function-in-a-shared-library
@@ -0,0 +1 @@
+../../Task/Call-a-function-in-a-shared-library/Odin
\ No newline at end of file
diff --git a/Lang/Odin/Character-codes b/Lang/Odin/Character-codes
new file mode 120000
index 0000000000..409b8a73d1
--- /dev/null
+++ b/Lang/Odin/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Odin
\ No newline at end of file
diff --git a/Lang/Odin/Color-wheel b/Lang/Odin/Color-wheel
new file mode 120000
index 0000000000..5b87562427
--- /dev/null
+++ b/Lang/Odin/Color-wheel
@@ -0,0 +1 @@
+../../Task/Color-wheel/Odin
\ No newline at end of file
diff --git a/Lang/Odin/Comments b/Lang/Odin/Comments
new file mode 120000
index 0000000000..69505856e6
--- /dev/null
+++ b/Lang/Odin/Comments
@@ -0,0 +1 @@
+../../Task/Comments/Odin
\ No newline at end of file
diff --git a/Lang/Odin/Date-format b/Lang/Odin/Date-format
new file mode 120000
index 0000000000..63e481d689
--- /dev/null
+++ b/Lang/Odin/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/Odin
\ No newline at end of file
diff --git a/Lang/Odin/Draw-a-clock b/Lang/Odin/Draw-a-clock
new file mode 120000
index 0000000000..b014eb3c8e
--- /dev/null
+++ b/Lang/Odin/Draw-a-clock
@@ -0,0 +1 @@
+../../Task/Draw-a-clock/Odin
\ No newline at end of file
diff --git a/Lang/Odin/Draw-a-cuboid b/Lang/Odin/Draw-a-cuboid
new file mode 120000
index 0000000000..124ff7cfe9
--- /dev/null
+++ b/Lang/Odin/Draw-a-cuboid
@@ -0,0 +1 @@
+../../Task/Draw-a-cuboid/Odin
\ No newline at end of file
diff --git a/Lang/Odin/Draw-a-sphere b/Lang/Odin/Draw-a-sphere
new file mode 120000
index 0000000000..b20b72cdc0
--- /dev/null
+++ b/Lang/Odin/Draw-a-sphere
@@ -0,0 +1 @@
+../../Task/Draw-a-sphere/Odin
\ No newline at end of file
diff --git a/Lang/Odin/Euler-method b/Lang/Odin/Euler-method
new file mode 120000
index 0000000000..2085f38551
--- /dev/null
+++ b/Lang/Odin/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/Odin
\ No newline at end of file
diff --git a/Lang/Odin/Execute-Brain- b/Lang/Odin/Execute-Brain-
new file mode 120000
index 0000000000..748dbb9c99
--- /dev/null
+++ b/Lang/Odin/Execute-Brain-
@@ -0,0 +1 @@
+../../Task/Execute-Brain-/Odin
\ No newline at end of file
diff --git a/Lang/Odin/Fractran b/Lang/Odin/Fractran
new file mode 120000
index 0000000000..5bd1840a6a
--- /dev/null
+++ b/Lang/Odin/Fractran
@@ -0,0 +1 @@
+../../Task/Fractran/Odin
\ No newline at end of file
diff --git a/Lang/Odin/Function-composition b/Lang/Odin/Function-composition
new file mode 120000
index 0000000000..27b230f571
--- /dev/null
+++ b/Lang/Odin/Function-composition
@@ -0,0 +1 @@
+../../Task/Function-composition/Odin
\ No newline at end of file
diff --git a/Lang/Odin/Hailstone-sequence b/Lang/Odin/Hailstone-sequence
new file mode 120000
index 0000000000..678ea867f0
--- /dev/null
+++ b/Lang/Odin/Hailstone-sequence
@@ -0,0 +1 @@
+../../Task/Hailstone-sequence/Odin
\ No newline at end of file
diff --git a/Lang/Odin/Hello-world-Graphical b/Lang/Odin/Hello-world-Graphical
new file mode 120000
index 0000000000..00108512b1
--- /dev/null
+++ b/Lang/Odin/Hello-world-Graphical
@@ -0,0 +1 @@
+../../Task/Hello-world-Graphical/Odin
\ No newline at end of file
diff --git a/Lang/Odin/Image-noise b/Lang/Odin/Image-noise
new file mode 120000
index 0000000000..9b2e03c5b6
--- /dev/null
+++ b/Lang/Odin/Image-noise
@@ -0,0 +1 @@
+../../Task/Image-noise/Odin
\ No newline at end of file
diff --git a/Lang/Odin/Musical-scale b/Lang/Odin/Musical-scale
new file mode 120000
index 0000000000..cd45a36de9
--- /dev/null
+++ b/Lang/Odin/Musical-scale
@@ -0,0 +1 @@
+../../Task/Musical-scale/Odin
\ No newline at end of file
diff --git a/Lang/Odin/One-dimensional-cellular-automata b/Lang/Odin/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..5cf45742c4
--- /dev/null
+++ b/Lang/Odin/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Odin
\ No newline at end of file
diff --git a/Lang/Odin/Primality-by-trial-division b/Lang/Odin/Primality-by-trial-division
new file mode 120000
index 0000000000..8e356363dd
--- /dev/null
+++ b/Lang/Odin/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Odin
\ No newline at end of file
diff --git a/Lang/Odin/Quine b/Lang/Odin/Quine
new file mode 120000
index 0000000000..53e4cf3687
--- /dev/null
+++ b/Lang/Odin/Quine
@@ -0,0 +1 @@
+../../Task/Quine/Odin
\ No newline at end of file
diff --git a/Lang/Odin/Read-a-configuration-file b/Lang/Odin/Read-a-configuration-file
new file mode 120000
index 0000000000..fa189332d6
--- /dev/null
+++ b/Lang/Odin/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/Odin
\ No newline at end of file
diff --git a/Lang/Odin/Reverse-words-in-a-string b/Lang/Odin/Reverse-words-in-a-string
new file mode 120000
index 0000000000..9648c360e7
--- /dev/null
+++ b/Lang/Odin/Reverse-words-in-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-words-in-a-string/Odin
\ No newline at end of file
diff --git a/Lang/Odin/Runge-Kutta-method b/Lang/Odin/Runge-Kutta-method
new file mode 120000
index 0000000000..1b9162c995
--- /dev/null
+++ b/Lang/Odin/Runge-Kutta-method
@@ -0,0 +1 @@
+../../Task/Runge-Kutta-method/Odin
\ No newline at end of file
diff --git a/Lang/Odin/Sieve-of-Eratosthenes b/Lang/Odin/Sieve-of-Eratosthenes
new file mode 120000
index 0000000000..265789a7db
--- /dev/null
+++ b/Lang/Odin/Sieve-of-Eratosthenes
@@ -0,0 +1 @@
+../../Task/Sieve-of-Eratosthenes/Odin
\ No newline at end of file
diff --git a/Lang/Odin/Sockets b/Lang/Odin/Sockets
new file mode 120000
index 0000000000..ccedc5dd5d
--- /dev/null
+++ b/Lang/Odin/Sockets
@@ -0,0 +1 @@
+../../Task/Sockets/Odin
\ No newline at end of file
diff --git a/Lang/Odin/Strip-a-set-of-characters-from-a-string b/Lang/Odin/Strip-a-set-of-characters-from-a-string
new file mode 120000
index 0000000000..b76ef81d13
--- /dev/null
+++ b/Lang/Odin/Strip-a-set-of-characters-from-a-string
@@ -0,0 +1 @@
+../../Task/Strip-a-set-of-characters-from-a-string/Odin
\ No newline at end of file
diff --git a/Lang/Odin/Unicode-variable-names b/Lang/Odin/Unicode-variable-names
new file mode 120000
index 0000000000..f070da9637
--- /dev/null
+++ b/Lang/Odin/Unicode-variable-names
@@ -0,0 +1 @@
+../../Task/Unicode-variable-names/Odin
\ No newline at end of file
diff --git a/Lang/Odin/Write-entire-file b/Lang/Odin/Write-entire-file
new file mode 120000
index 0000000000..53b4243bae
--- /dev/null
+++ b/Lang/Odin/Write-entire-file
@@ -0,0 +1 @@
+../../Task/Write-entire-file/Odin
\ No newline at end of file
diff --git a/Lang/Oforth/Quaternion-type b/Lang/Oforth/Quaternion-type
deleted file mode 120000
index 51caedda0e..0000000000
--- a/Lang/Oforth/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Oforth
\ No newline at end of file
diff --git a/Lang/Ol/Quaternion-type b/Lang/Ol/Quaternion-type
deleted file mode 120000
index a3e712c033..0000000000
--- a/Lang/Ol/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Ol
\ No newline at end of file
diff --git a/Lang/Ol/Runge-Kutta-method b/Lang/Ol/Runge-Kutta-method
new file mode 120000
index 0000000000..55f8d1bf18
--- /dev/null
+++ b/Lang/Ol/Runge-Kutta-method
@@ -0,0 +1 @@
+../../Task/Runge-Kutta-method/Ol
\ No newline at end of file
diff --git a/Lang/OmniMark/00-LANG.txt b/Lang/OmniMark/00-LANG.txt
new file mode 100644
index 0000000000..43585c3f19
--- /dev/null
+++ b/Lang/OmniMark/00-LANG.txt
@@ -0,0 +1,15 @@
+{{language|OmniMark
+|tags=omnimark
+|site=https://www.stilo.com/omnimark/}}
+'''OmniMark''' is a fourth-generation programming language used mostly in the publishing industry. It is currently a proprietary software product of Stilo International. The most recent release of OmniMark is 12.0 (as at 2024-06-25).
+
+For a brief period, in 1999-2000, OmniMark was available free of charge (versions 4 and 5, including a 'Lite edition' of version 4, which was limited to 200 actions).
+
+==Links==
+* [[wp:OmniMark|Omnimark in Wikipedia]]
+* [https://developers.stilo.com/docs/html/index.html Version 12.0 documentation]
+* [https://developers.stilo.com/documentation/docs/html/index.htm Version 6.5 documentation]
+* [https://developers.stilo.com/documentation/v4r0/index.htm Version 4.0 documentation]
+
+==Todo==
+* [[Tasks not implemented in OmniMark]]
\ No newline at end of file
diff --git a/Lang/OmniMark/00-META.yaml b/Lang/OmniMark/00-META.yaml
new file mode 100644
index 0000000000..4f47c1011a
--- /dev/null
+++ b/Lang/OmniMark/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:OmniMark
diff --git a/Lang/OmniMark/100-doors b/Lang/OmniMark/100-doors
new file mode 120000
index 0000000000..97ec6d7965
--- /dev/null
+++ b/Lang/OmniMark/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/OmniMark
\ No newline at end of file
diff --git a/Lang/OmniMark/Array-concatenation b/Lang/OmniMark/Array-concatenation
new file mode 120000
index 0000000000..826b17e39e
--- /dev/null
+++ b/Lang/OmniMark/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/OmniMark
\ No newline at end of file
diff --git a/Lang/OmniMark/Array-length b/Lang/OmniMark/Array-length
new file mode 120000
index 0000000000..47ea995113
--- /dev/null
+++ b/Lang/OmniMark/Array-length
@@ -0,0 +1 @@
+../../Task/Array-length/OmniMark
\ No newline at end of file
diff --git a/Lang/OmniMark/CSV-to-HTML-translation b/Lang/OmniMark/CSV-to-HTML-translation
new file mode 120000
index 0000000000..78c14aa62b
--- /dev/null
+++ b/Lang/OmniMark/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/OmniMark
\ No newline at end of file
diff --git a/Lang/OmniMark/Caesar-cipher b/Lang/OmniMark/Caesar-cipher
new file mode 120000
index 0000000000..abca569385
--- /dev/null
+++ b/Lang/OmniMark/Caesar-cipher
@@ -0,0 +1 @@
+../../Task/Caesar-cipher/OmniMark
\ No newline at end of file
diff --git a/Lang/OmniMark/Camel-case-and-snake-case b/Lang/OmniMark/Camel-case-and-snake-case
new file mode 120000
index 0000000000..977f7a6fec
--- /dev/null
+++ b/Lang/OmniMark/Camel-case-and-snake-case
@@ -0,0 +1 @@
+../../Task/Camel-case-and-snake-case/OmniMark
\ No newline at end of file
diff --git a/Lang/OmniMark/Determine-if-a-string-has-all-the-same-characters b/Lang/OmniMark/Determine-if-a-string-has-all-the-same-characters
new file mode 120000
index 0000000000..c1672ea012
--- /dev/null
+++ b/Lang/OmniMark/Determine-if-a-string-has-all-the-same-characters
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-has-all-the-same-characters/OmniMark
\ No newline at end of file
diff --git a/Lang/OmniMark/Hello-world-Standard-error b/Lang/OmniMark/Hello-world-Standard-error
new file mode 120000
index 0000000000..8ef2028e3a
--- /dev/null
+++ b/Lang/OmniMark/Hello-world-Standard-error
@@ -0,0 +1 @@
+../../Task/Hello-world-Standard-error/OmniMark
\ No newline at end of file
diff --git a/Lang/OmniMark/Hex-words b/Lang/OmniMark/Hex-words
new file mode 120000
index 0000000000..b43e37ad28
--- /dev/null
+++ b/Lang/OmniMark/Hex-words
@@ -0,0 +1 @@
+../../Task/Hex-words/OmniMark
\ No newline at end of file
diff --git a/Lang/OmniMark/ISBN13-check-digit b/Lang/OmniMark/ISBN13-check-digit
new file mode 120000
index 0000000000..5629e040c9
--- /dev/null
+++ b/Lang/OmniMark/ISBN13-check-digit
@@ -0,0 +1 @@
+../../Task/ISBN13-check-digit/OmniMark
\ No newline at end of file
diff --git a/Lang/OmniMark/Input-loop b/Lang/OmniMark/Input-loop
new file mode 120000
index 0000000000..c2f5884755
--- /dev/null
+++ b/Lang/OmniMark/Input-loop
@@ -0,0 +1 @@
+../../Task/Input-loop/OmniMark
\ No newline at end of file
diff --git a/Lang/OmniMark/Repeat-a-string b/Lang/OmniMark/Repeat-a-string
new file mode 120000
index 0000000000..a5c79bdf8d
--- /dev/null
+++ b/Lang/OmniMark/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/OmniMark
\ No newline at end of file
diff --git a/Lang/OmniMark/Reverse-a-string b/Lang/OmniMark/Reverse-a-string
new file mode 120000
index 0000000000..ac30e9d9f0
--- /dev/null
+++ b/Lang/OmniMark/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/OmniMark
\ No newline at end of file
diff --git a/Lang/OmniMark/Rot-13 b/Lang/OmniMark/Rot-13
new file mode 120000
index 0000000000..34ecde427b
--- /dev/null
+++ b/Lang/OmniMark/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/OmniMark
\ No newline at end of file
diff --git a/Lang/OmniMark/Strip-control-codes-and-extended-characters-from-a-string b/Lang/OmniMark/Strip-control-codes-and-extended-characters-from-a-string
new file mode 120000
index 0000000000..e108d513e0
--- /dev/null
+++ b/Lang/OmniMark/Strip-control-codes-and-extended-characters-from-a-string
@@ -0,0 +1 @@
+../../Task/Strip-control-codes-and-extended-characters-from-a-string/OmniMark
\ No newline at end of file
diff --git a/Lang/OmniMark/Substring b/Lang/OmniMark/Substring
new file mode 120000
index 0000000000..3eb9323ac2
--- /dev/null
+++ b/Lang/OmniMark/Substring
@@ -0,0 +1 @@
+../../Task/Substring/OmniMark
\ No newline at end of file
diff --git a/Lang/OmniMark/Substring-Top-and-tail b/Lang/OmniMark/Substring-Top-and-tail
new file mode 120000
index 0000000000..b88887f219
--- /dev/null
+++ b/Lang/OmniMark/Substring-Top-and-tail
@@ -0,0 +1 @@
+../../Task/Substring-Top-and-tail/OmniMark
\ No newline at end of file
diff --git a/Lang/OmniMark/XML-Input b/Lang/OmniMark/XML-Input
new file mode 120000
index 0000000000..56ac42b963
--- /dev/null
+++ b/Lang/OmniMark/XML-Input
@@ -0,0 +1 @@
+../../Task/XML-Input/OmniMark
\ No newline at end of file
diff --git a/Lang/OoRexx/00-LANG.txt b/Lang/OoRexx/00-LANG.txt
index 8031f8ae00..84a3f74109 100644
--- a/Lang/OoRexx/00-LANG.txt
+++ b/Lang/OoRexx/00-LANG.txt
@@ -10,4 +10,7 @@ open sourced, maintained by the [http://www.rexxla.org/ Rexx Language Associatio
ooRexx can be used to run many programs shown here in the [[REXX]] category.
See http://rosettacode.org/wiki/Rosetta_Code:Village_Pump/Dialects#REXX.2C_ooRexx.2C_and_others
-for differences.
\ No newline at end of file
+for differences.
+
+== Rosetta Code tasks not implemented in OoRexx ==
+[[Tasks not implemented in OoRexx]]
\ No newline at end of file
diff --git a/Lang/OoRexx/Giuga-numbers b/Lang/OoRexx/Giuga-numbers
new file mode 120000
index 0000000000..86fe47decb
--- /dev/null
+++ b/Lang/OoRexx/Giuga-numbers
@@ -0,0 +1 @@
+../../Task/Giuga-numbers/OoRexx
\ No newline at end of file
diff --git a/Lang/OoRexx/Nth-root b/Lang/OoRexx/Nth-root
new file mode 120000
index 0000000000..05543d43a8
--- /dev/null
+++ b/Lang/OoRexx/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/OoRexx
\ No newline at end of file
diff --git a/Lang/OoRexx/Prime-decomposition b/Lang/OoRexx/Prime-decomposition
new file mode 120000
index 0000000000..f16b4825fb
--- /dev/null
+++ b/Lang/OoRexx/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/OoRexx
\ No newline at end of file
diff --git a/Lang/OoRexx/Quaternion-type b/Lang/OoRexx/Quaternion-type
deleted file mode 120000
index be3652b55d..0000000000
--- a/Lang/OoRexx/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/OoRexx
\ No newline at end of file
diff --git a/Lang/OoRexx/Sorting-algorithms-Merge-sort b/Lang/OoRexx/Sorting-algorithms-Merge-sort
new file mode 120000
index 0000000000..ae6f4594d4
--- /dev/null
+++ b/Lang/OoRexx/Sorting-algorithms-Merge-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Merge-sort/OoRexx
\ No newline at end of file
diff --git a/Lang/Openscad/Empty-program b/Lang/Openscad/Empty-program
deleted file mode 120000
index 89182791e6..0000000000
--- a/Lang/Openscad/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/Openscad
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Array-length b/Lang/OxygenBasic/Array-length
new file mode 120000
index 0000000000..00db990da9
--- /dev/null
+++ b/Lang/OxygenBasic/Array-length
@@ -0,0 +1 @@
+../../Task/Array-length/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Blum-integer b/Lang/OxygenBasic/Blum-integer
new file mode 120000
index 0000000000..343ecf7af1
--- /dev/null
+++ b/Lang/OxygenBasic/Blum-integer
@@ -0,0 +1 @@
+../../Task/Blum-integer/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Cullen-and-Woodall-numbers b/Lang/OxygenBasic/Cullen-and-Woodall-numbers
new file mode 120000
index 0000000000..75020e6fa5
--- /dev/null
+++ b/Lang/OxygenBasic/Cullen-and-Woodall-numbers
@@ -0,0 +1 @@
+../../Task/Cullen-and-Woodall-numbers/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Determine-if-a-string-has-all-the-same-characters b/Lang/OxygenBasic/Determine-if-a-string-has-all-the-same-characters
new file mode 120000
index 0000000000..5577d0b0ab
--- /dev/null
+++ b/Lang/OxygenBasic/Determine-if-a-string-has-all-the-same-characters
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-has-all-the-same-characters/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Diversity-prediction-theorem b/Lang/OxygenBasic/Diversity-prediction-theorem
new file mode 120000
index 0000000000..e07716f11a
--- /dev/null
+++ b/Lang/OxygenBasic/Diversity-prediction-theorem
@@ -0,0 +1 @@
+../../Task/Diversity-prediction-theorem/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Eban-numbers b/Lang/OxygenBasic/Eban-numbers
new file mode 120000
index 0000000000..4b362db2df
--- /dev/null
+++ b/Lang/OxygenBasic/Eban-numbers
@@ -0,0 +1 @@
+../../Task/Eban-numbers/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Evaluate-binomial-coefficients b/Lang/OxygenBasic/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..2fc6117dc9
--- /dev/null
+++ b/Lang/OxygenBasic/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/FizzBuzz b/Lang/OxygenBasic/FizzBuzz
new file mode 120000
index 0000000000..7f3e716c79
--- /dev/null
+++ b/Lang/OxygenBasic/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Generate-lower-case-ASCII-alphabet b/Lang/OxygenBasic/Generate-lower-case-ASCII-alphabet
new file mode 120000
index 0000000000..dc06638a04
--- /dev/null
+++ b/Lang/OxygenBasic/Generate-lower-case-ASCII-alphabet
@@ -0,0 +1 @@
+../../Task/Generate-lower-case-ASCII-alphabet/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Hello-world-Newline-omission b/Lang/OxygenBasic/Hello-world-Newline-omission
new file mode 120000
index 0000000000..b315730342
--- /dev/null
+++ b/Lang/OxygenBasic/Hello-world-Newline-omission
@@ -0,0 +1 @@
+../../Task/Hello-world-Newline-omission/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Hello-world-Text b/Lang/OxygenBasic/Hello-world-Text
new file mode 120000
index 0000000000..0286beeff0
--- /dev/null
+++ b/Lang/OxygenBasic/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Hofstadter-Q-sequence b/Lang/OxygenBasic/Hofstadter-Q-sequence
new file mode 120000
index 0000000000..99d7dde29e
--- /dev/null
+++ b/Lang/OxygenBasic/Hofstadter-Q-sequence
@@ -0,0 +1 @@
+../../Task/Hofstadter-Q-sequence/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Jewels-and-stones b/Lang/OxygenBasic/Jewels-and-stones
new file mode 120000
index 0000000000..af9c0e197d
--- /dev/null
+++ b/Lang/OxygenBasic/Jewels-and-stones
@@ -0,0 +1 @@
+../../Task/Jewels-and-stones/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Josephus-problem b/Lang/OxygenBasic/Josephus-problem
new file mode 120000
index 0000000000..26c79416e6
--- /dev/null
+++ b/Lang/OxygenBasic/Josephus-problem
@@ -0,0 +1 @@
+../../Task/Josephus-problem/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Leonardo-numbers b/Lang/OxygenBasic/Leonardo-numbers
new file mode 120000
index 0000000000..9d8949a99b
--- /dev/null
+++ b/Lang/OxygenBasic/Leonardo-numbers
@@ -0,0 +1 @@
+../../Task/Leonardo-numbers/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Loops-Continue b/Lang/OxygenBasic/Loops-Continue
new file mode 120000
index 0000000000..df4c4e529e
--- /dev/null
+++ b/Lang/OxygenBasic/Loops-Continue
@@ -0,0 +1 @@
+../../Task/Loops-Continue/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Numbers-with-equal-rises-and-falls b/Lang/OxygenBasic/Numbers-with-equal-rises-and-falls
new file mode 120000
index 0000000000..0060a020b0
--- /dev/null
+++ b/Lang/OxygenBasic/Numbers-with-equal-rises-and-falls
@@ -0,0 +1 @@
+../../Task/Numbers-with-equal-rises-and-falls/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Primality-by-trial-division b/Lang/OxygenBasic/Primality-by-trial-division
new file mode 120000
index 0000000000..90df6937ed
--- /dev/null
+++ b/Lang/OxygenBasic/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Repeat b/Lang/OxygenBasic/Repeat
new file mode 120000
index 0000000000..56b4dec43d
--- /dev/null
+++ b/Lang/OxygenBasic/Repeat
@@ -0,0 +1 @@
+../../Task/Repeat/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Sudan-function b/Lang/OxygenBasic/Sudan-function
new file mode 120000
index 0000000000..05a812bb81
--- /dev/null
+++ b/Lang/OxygenBasic/Sudan-function
@@ -0,0 +1 @@
+../../Task/Sudan-function/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Tau-number b/Lang/OxygenBasic/Tau-number
new file mode 120000
index 0000000000..4f73054594
--- /dev/null
+++ b/Lang/OxygenBasic/Tau-number
@@ -0,0 +1 @@
+../../Task/Tau-number/OxygenBasic
\ No newline at end of file
diff --git a/Lang/Oz/FizzBuzz b/Lang/Oz/FizzBuzz
deleted file mode 120000
index 287980acd6..0000000000
--- a/Lang/Oz/FizzBuzz
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/FizzBuzz/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Miller-Rabin-primality-test b/Lang/Oz/Miller-Rabin-primality-test
deleted file mode 120000
index e6999d8858..0000000000
--- a/Lang/Oz/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Oz
\ No newline at end of file
diff --git a/Lang/PARI-GP/00-LANG.txt b/Lang/PARI-GP/00-LANG.txt
index bacfec6d7d..81b37f3de6 100644
--- a/Lang/PARI-GP/00-LANG.txt
+++ b/Lang/PARI-GP/00-LANG.txt
@@ -17,7 +17,7 @@ PARI/GP is a widely used computer algebra system designed for fast computations
PARI/GP is composed of two parts: a [[C]] library called PARI and an interface, gp, to this library. GP scripts are concise, easy to write, and resemble mathematical language. (Terminology: the scripting language of gp is called GP.)
-PARI was written by Henri Cohen and others at Université de Bordeaux and is now maintained by Karim Belabas. gp was originally written by Dominique Bernardi, then maintained and enhanced by Karim Belabas and Ilya Zakharevich, and finally rewritten by Bill Allombert.
+PARI was written by Henri Cohen and others at Université de Bordeaux; Aurel Page is the current project leader. gp was originally written by Dominique Bernardi, then maintained and enhanced by Karim Belabas and Ilya Zakharevich, and finally rewritten by Bill Allombert.
== Getting PARI/GP ==
PARI/GP can be used in many different operating systems. This is a reasonably comprehensive list of currently-supported systems; for other systems, please use the [https://pari.math.u-bordeaux.fr/lists-index.html mailing lists].
@@ -219,12 +219,16 @@ If you want to program with PARI, many languages are supported:
** [https://pari.math.u-bordeaux.fr/Events/PARI2017c/talks/TAN2.pdf Théorie algébrique des nombres avancée] (22 pp.)
** [https://pari.math.u-bordeaux.fr/Events/PARI2017c/talks/ecc.pdf Courbes elliptiques sur les corps finis] (4 pp.)
*[http://w3.countnumber.de/fischer/res-ZT2007/PariByExample.pdf Erste Schritte mit PARI/GP] by Lars Fischer (13 pp., 2007; German)
-*[https://www.youtube.com/watch?v=I_GfMUGAlns Pari Gp مع NotPad++] by NoorDeen Rahmani (2020; 2:46; Arabic) -- setting up Notepad++ for syntax highlighting for PARI/GP.
+* [https://www.youtube.com/watch?v=I_GfMUGAlns Pari Gp مع NotPad++] by NoorDeen Rahmani (2020; 2:46; Arabic) -- setting up Notepad++ for syntax highlighting for PARI/GP.
==== Video tutorials ====
* [https://www.youtube.com/watch?v=RQLqQHu7i0Y Pari/GP Tutorial: Basics] by Leandro Junes (2020, 19:04)
-*[https://www.youtube.com/watch?v=FeG0BYRrDOE&t=12m Video demo of RSA in PARI/GP] by Maren1955 (2014, 17:39)
-*Video tutorials, parts [http://www.youtube.com/watch?v=0G-9JzlrzBM 1] [http://www.youtube.com/watch?v=d7i0rv59hns 2] [http://www.youtube.com/watch?v=wCyU2n-G-pk 3] [http://www.youtube.com/watch?v=WOCuBvK8O6Q 4] (2011, appx. 20 minutes)
+* [https://www.youtube.com/watch?v=FeG0BYRrDOE&t=12m Video demo of RSA in PARI/GP] by Maren1955 (2014, 17:39)
+* Video tutorials, parts [http://www.youtube.com/watch?v=0G-9JzlrzBM 1] [http://www.youtube.com/watch?v=d7i0rv59hns 2] [http://www.youtube.com/watch?v=wCyU2n-G-pk 3] [http://www.youtube.com/watch?v=WOCuBvK8O6Q 4] (2011, appx. 20 minutes)
+
+== Syntax highlighting ==
+* [https://github.com/notepad-plus-plus/userDefinedLanguages/blob/master/UDLs/PARI-GP_by-third_maths.xml Notepad++]
+* [https://www.youtube.com/watch?v=I_GfMUGAlns Pari Gp مع NotPad++] (Arabic tutorial)
=== Papers on PARI/GP ===
* Karim Belabas and Henri Cohen, [https://arxiv.org/abs/1810.00547 Modular Forms in Pari/GP], ''Research in the Mathematical Sciences'' '''5''':37 (2018)
diff --git a/Lang/PARI-GP/4-rings-or-4-squares-puzzle b/Lang/PARI-GP/4-rings-or-4-squares-puzzle
new file mode 120000
index 0000000000..b8cfa5a07c
--- /dev/null
+++ b/Lang/PARI-GP/4-rings-or-4-squares-puzzle
@@ -0,0 +1 @@
+../../Task/4-rings-or-4-squares-puzzle/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Achilles-numbers b/Lang/PARI-GP/Achilles-numbers
new file mode 120000
index 0000000000..73f3f645b5
--- /dev/null
+++ b/Lang/PARI-GP/Achilles-numbers
@@ -0,0 +1 @@
+../../Task/Achilles-numbers/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Almkvist-Giullera-formula-for-pi b/Lang/PARI-GP/Almkvist-Giullera-formula-for-pi
new file mode 120000
index 0000000000..53d950c5f0
--- /dev/null
+++ b/Lang/PARI-GP/Almkvist-Giullera-formula-for-pi
@@ -0,0 +1 @@
+../../Task/Almkvist-Giullera-formula-for-pi/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Attractive-numbers b/Lang/PARI-GP/Attractive-numbers
new file mode 120000
index 0000000000..9c5ab01706
--- /dev/null
+++ b/Lang/PARI-GP/Attractive-numbers
@@ -0,0 +1 @@
+../../Task/Attractive-numbers/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Bell-numbers b/Lang/PARI-GP/Bell-numbers
new file mode 120000
index 0000000000..c0de777713
--- /dev/null
+++ b/Lang/PARI-GP/Bell-numbers
@@ -0,0 +1 @@
+../../Task/Bell-numbers/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Disarium-numbers b/Lang/PARI-GP/Disarium-numbers
new file mode 120000
index 0000000000..e21e95674b
--- /dev/null
+++ b/Lang/PARI-GP/Disarium-numbers
@@ -0,0 +1 @@
+../../Task/Disarium-numbers/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Empty-program b/Lang/PARI-GP/Empty-program
deleted file mode 120000
index e5621857fc..0000000000
--- a/Lang/PARI-GP/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Gapful-numbers b/Lang/PARI-GP/Gapful-numbers
new file mode 120000
index 0000000000..a3ce3c2de1
--- /dev/null
+++ b/Lang/PARI-GP/Gapful-numbers
@@ -0,0 +1 @@
+../../Task/Gapful-numbers/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Meissel-Mertens-constant b/Lang/PARI-GP/Meissel-Mertens-constant
deleted file mode 120000
index b03a10e2fd..0000000000
--- a/Lang/PARI-GP/Meissel-Mertens-constant
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Meissel-Mertens-constant/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Miller-Rabin-primality-test b/Lang/PARI-GP/Miller-Rabin-primality-test
deleted file mode 120000
index 6c17b6de21..0000000000
--- a/Lang/PARI-GP/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Pell-numbers b/Lang/PARI-GP/Pell-numbers
new file mode 120000
index 0000000000..6dc31a644a
--- /dev/null
+++ b/Lang/PARI-GP/Pell-numbers
@@ -0,0 +1 @@
+../../Task/Pell-numbers/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Prime-numbers-whose-neighboring-pairs-are-tetraprimes b/Lang/PARI-GP/Prime-numbers-whose-neighboring-pairs-are-tetraprimes
new file mode 120000
index 0000000000..497a956889
--- /dev/null
+++ b/Lang/PARI-GP/Prime-numbers-whose-neighboring-pairs-are-tetraprimes
@@ -0,0 +1 @@
+../../Task/Prime-numbers-whose-neighboring-pairs-are-tetraprimes/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Quaternion-type b/Lang/PARI-GP/Quaternion-type
deleted file mode 120000
index 87636fd8d1..0000000000
--- a/Lang/PARI-GP/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Sorting-Algorithms-Circle-Sort b/Lang/PARI-GP/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index 2e42235ea5..0000000000
--- a/Lang/PARI-GP/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Tonelli-Shanks-algorithm b/Lang/PARI-GP/Tonelli-Shanks-algorithm
new file mode 120000
index 0000000000..de551c5a5b
--- /dev/null
+++ b/Lang/PARI-GP/Tonelli-Shanks-algorithm
@@ -0,0 +1 @@
+../../Task/Tonelli-Shanks-algorithm/PARI-GP
\ No newline at end of file
diff --git a/Lang/PHP/00-LANG.txt b/Lang/PHP/00-LANG.txt
index ad1d2b043d..894fa89337 100644
--- a/Lang/PHP/00-LANG.txt
+++ b/Lang/PHP/00-LANG.txt
@@ -13,4 +13,13 @@
'''PHP''' (PHP: Hypertext Preprocessor) is a [[reflective programming]] language originally designed for producing dynamic Web pages. PHP is used mainly in server-side application software, but can be used from a command line interface or in standalone graphical applications.
==Citations==
-* [[wp:PHP|Wikipedia:PHP]]
\ No newline at end of file
+* [[wp:PHP|Wikipedia:PHP]]
+
+==External links==
+=== Online compilers ===
+* [https://onlinephp.io/ PHP Sandbox - Execute PHP code online through your browser] (online compiler)
+* [https://www.mycompiler.io/new/php Create a new PHP program - myCompiler - myCompiler] (online compiler)
+
+=== Tutorials and manuals ===
+* [https://www.w3schools.com/php/default.asp PHP Tutorial] on [https://www.w3schools.com www.w3schools.com]
+* [https://www.geeksforgeeks.org/php/php-tutorial/ PHP Tutorial - GeeksforGeeks]
\ No newline at end of file
diff --git a/Lang/PHP/AKS-test-for-primes b/Lang/PHP/AKS-test-for-primes
new file mode 120000
index 0000000000..e35d324f89
--- /dev/null
+++ b/Lang/PHP/AKS-test-for-primes
@@ -0,0 +1 @@
+../../Task/AKS-test-for-primes/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Abbreviations-automatic b/Lang/PHP/Abbreviations-automatic
new file mode 120000
index 0000000000..30112aa9b6
--- /dev/null
+++ b/Lang/PHP/Abbreviations-automatic
@@ -0,0 +1 @@
+../../Task/Abbreviations-automatic/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Abundant-deficient-and-perfect-number-classifications b/Lang/PHP/Abundant-deficient-and-perfect-number-classifications
new file mode 120000
index 0000000000..c5476da28d
--- /dev/null
+++ b/Lang/PHP/Abundant-deficient-and-perfect-number-classifications
@@ -0,0 +1 @@
+../../Task/Abundant-deficient-and-perfect-number-classifications/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Abundant-odd-numbers b/Lang/PHP/Abundant-odd-numbers
new file mode 120000
index 0000000000..c610a0d9cd
--- /dev/null
+++ b/Lang/PHP/Abundant-odd-numbers
@@ -0,0 +1 @@
+../../Task/Abundant-odd-numbers/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Angle-difference-between-two-bearings b/Lang/PHP/Angle-difference-between-two-bearings
new file mode 120000
index 0000000000..357602b50f
--- /dev/null
+++ b/Lang/PHP/Angle-difference-between-two-bearings
@@ -0,0 +1 @@
+../../Task/Angle-difference-between-two-bearings/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Arithmetic-numbers b/Lang/PHP/Arithmetic-numbers
new file mode 120000
index 0000000000..21fbcc7304
--- /dev/null
+++ b/Lang/PHP/Arithmetic-numbers
@@ -0,0 +1 @@
+../../Task/Arithmetic-numbers/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Bell-numbers b/Lang/PHP/Bell-numbers
new file mode 120000
index 0000000000..879d53dae5
--- /dev/null
+++ b/Lang/PHP/Bell-numbers
@@ -0,0 +1 @@
+../../Task/Bell-numbers/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Brazilian-numbers b/Lang/PHP/Brazilian-numbers
new file mode 120000
index 0000000000..5bd899327e
--- /dev/null
+++ b/Lang/PHP/Brazilian-numbers
@@ -0,0 +1 @@
+../../Task/Brazilian-numbers/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Diversity-prediction-theorem b/Lang/PHP/Diversity-prediction-theorem
new file mode 120000
index 0000000000..a50f50e661
--- /dev/null
+++ b/Lang/PHP/Diversity-prediction-theorem
@@ -0,0 +1 @@
+../../Task/Diversity-prediction-theorem/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Gamma-function b/Lang/PHP/Gamma-function
new file mode 120000
index 0000000000..4d00e2f50d
--- /dev/null
+++ b/Lang/PHP/Gamma-function
@@ -0,0 +1 @@
+../../Task/Gamma-function/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Horizontal-sundial-calculations b/Lang/PHP/Horizontal-sundial-calculations
new file mode 120000
index 0000000000..a385f37a68
--- /dev/null
+++ b/Lang/PHP/Horizontal-sundial-calculations
@@ -0,0 +1 @@
+../../Task/Horizontal-sundial-calculations/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Leonardo-numbers b/Lang/PHP/Leonardo-numbers
new file mode 120000
index 0000000000..4b3cefd6f0
--- /dev/null
+++ b/Lang/PHP/Leonardo-numbers
@@ -0,0 +1 @@
+../../Task/Leonardo-numbers/PHP
\ No newline at end of file
diff --git a/Lang/PHP/M-bius-function b/Lang/PHP/M-bius-function
new file mode 120000
index 0000000000..6f4e3a47bb
--- /dev/null
+++ b/Lang/PHP/M-bius-function
@@ -0,0 +1 @@
+../../Task/M-bius-function/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Magic-constant b/Lang/PHP/Magic-constant
new file mode 120000
index 0000000000..b67d20fb19
--- /dev/null
+++ b/Lang/PHP/Magic-constant
@@ -0,0 +1 @@
+../../Task/Magic-constant/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Map-range b/Lang/PHP/Map-range
new file mode 120000
index 0000000000..07d5696e85
--- /dev/null
+++ b/Lang/PHP/Map-range
@@ -0,0 +1 @@
+../../Task/Map-range/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Miller-Rabin-primality-test b/Lang/PHP/Miller-Rabin-primality-test
deleted file mode 120000
index bff04d1a83..0000000000
--- a/Lang/PHP/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Multifactorial b/Lang/PHP/Multifactorial
new file mode 120000
index 0000000000..a4051140a1
--- /dev/null
+++ b/Lang/PHP/Multifactorial
@@ -0,0 +1 @@
+../../Task/Multifactorial/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Partial-function-application b/Lang/PHP/Partial-function-application
new file mode 120000
index 0000000000..8596466c3e
--- /dev/null
+++ b/Lang/PHP/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Prime-decomposition b/Lang/PHP/Prime-decomposition
new file mode 120000
index 0000000000..6265ac9618
--- /dev/null
+++ b/Lang/PHP/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Square-free-integers b/Lang/PHP/Square-free-integers
new file mode 120000
index 0000000000..49d9fb45c0
--- /dev/null
+++ b/Lang/PHP/Square-free-integers
@@ -0,0 +1 @@
+../../Task/Square-free-integers/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Statistics-Basic b/Lang/PHP/Statistics-Basic
new file mode 120000
index 0000000000..199b45c315
--- /dev/null
+++ b/Lang/PHP/Statistics-Basic
@@ -0,0 +1 @@
+../../Task/Statistics-Basic/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Statistics-Normal-distribution b/Lang/PHP/Statistics-Normal-distribution
new file mode 120000
index 0000000000..e8fce08a80
--- /dev/null
+++ b/Lang/PHP/Statistics-Normal-distribution
@@ -0,0 +1 @@
+../../Task/Statistics-Normal-distribution/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Tau-number b/Lang/PHP/Tau-number
new file mode 120000
index 0000000000..67a4445d30
--- /dev/null
+++ b/Lang/PHP/Tau-number
@@ -0,0 +1 @@
+../../Task/Tau-number/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Water-collected-between-towers b/Lang/PHP/Water-collected-between-towers
new file mode 120000
index 0000000000..524c5ae99b
--- /dev/null
+++ b/Lang/PHP/Water-collected-between-towers
@@ -0,0 +1 @@
+../../Task/Water-collected-between-towers/PHP
\ No newline at end of file
diff --git a/Lang/PILOT/00-LANG.txt b/Lang/PILOT/00-LANG.txt
index 742582e7c0..5e238de7ae 100644
--- a/Lang/PILOT/00-LANG.txt
+++ b/Lang/PILOT/00-LANG.txt
@@ -9,4 +9,6 @@ NO:Sorry, it was Napoleon Bonaparte.
PILOT was also marketed in the 1980s as a first programming language for children and beginners, including in extended versions supporting turtle graphics; and it even found use as a scripting language under CP/M.
-Keywords—written in block capitals in the example above—are case-insensitive and can usually be abbreviated to one or two letters (T for TYPE, JM for JUMPMATCH). The only data types supported are strings and integers.
\ No newline at end of file
+Keywords—written in block capitals in the example above—are case-insensitive and can usually be abbreviated to one or two letters (T for TYPE, JM for JUMPMATCH). The only data types supported are strings and integers.
+=== External Links ===
+[https://handwiki.org/wiki/PILOT HandWiki PILOT], where you can find a list of PILOT implementations.
\ No newline at end of file
diff --git a/Lang/PL-I-80/Additive-primes b/Lang/PL-I-80/Additive-primes
new file mode 120000
index 0000000000..a065cd3d8e
--- /dev/null
+++ b/Lang/PL-I-80/Additive-primes
@@ -0,0 +1 @@
+../../Task/Additive-primes/PL-I-80
\ No newline at end of file
diff --git a/Lang/PL-I-80/Character-codes b/Lang/PL-I-80/Character-codes
new file mode 120000
index 0000000000..c19a7eafa1
--- /dev/null
+++ b/Lang/PL-I-80/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/PL-I-80
\ No newline at end of file
diff --git a/Lang/PL-I-80/Integer-overflow b/Lang/PL-I-80/Integer-overflow
new file mode 120000
index 0000000000..f1947b64b4
--- /dev/null
+++ b/Lang/PL-I-80/Integer-overflow
@@ -0,0 +1 @@
+../../Task/Integer-overflow/PL-I-80
\ No newline at end of file
diff --git a/Lang/PL-I-80/Square-free-integers b/Lang/PL-I-80/Square-free-integers
new file mode 120000
index 0000000000..6f8a00edb8
--- /dev/null
+++ b/Lang/PL-I-80/Square-free-integers
@@ -0,0 +1 @@
+../../Task/Square-free-integers/PL-I-80
\ No newline at end of file
diff --git a/Lang/PL-I-80/Strip-whitespace-from-a-string-Top-and-tail b/Lang/PL-I-80/Strip-whitespace-from-a-string-Top-and-tail
new file mode 120000
index 0000000000..ac54cb4639
--- /dev/null
+++ b/Lang/PL-I-80/Strip-whitespace-from-a-string-Top-and-tail
@@ -0,0 +1 @@
+../../Task/Strip-whitespace-from-a-string-Top-and-tail/PL-I-80
\ No newline at end of file
diff --git a/Lang/PL-I/00-LANG.txt b/Lang/PL-I/00-LANG.txt
index e9ccbaa140..3b9ba57193 100644
--- a/Lang/PL-I/00-LANG.txt
+++ b/Lang/PL-I/00-LANG.txt
@@ -84,4 +84,8 @@ The pre-processor keywords are prefixed with a % (perce
==See Also==
* [[wp:PL/I|PL/I on Wikipedia]]
* [[PL/M]]
-* [[Polyglot:PL/I and PL/M]]
\ No newline at end of file
+* [[Polyglot:PL/I and PL/M]]
+
+==External links==
+* [http://teampli.net/index.html Team PL/I]
+** [http://teampli.net/candt.html PL/I Compilers and Tools]
\ No newline at end of file
diff --git a/Lang/PL-I/Abundant-odd-numbers b/Lang/PL-I/Abundant-odd-numbers
new file mode 120000
index 0000000000..666cd2c37f
--- /dev/null
+++ b/Lang/PL-I/Abundant-odd-numbers
@@ -0,0 +1 @@
+../../Task/Abundant-odd-numbers/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Arithmetic-derivative b/Lang/PL-I/Arithmetic-derivative
new file mode 120000
index 0000000000..37f109623d
--- /dev/null
+++ b/Lang/PL-I/Arithmetic-derivative
@@ -0,0 +1 @@
+../../Task/Arithmetic-derivative/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Arithmetic-numbers b/Lang/PL-I/Arithmetic-numbers
new file mode 120000
index 0000000000..6912369ef9
--- /dev/null
+++ b/Lang/PL-I/Arithmetic-numbers
@@ -0,0 +1 @@
+../../Task/Arithmetic-numbers/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Bell-numbers b/Lang/PL-I/Bell-numbers
new file mode 120000
index 0000000000..4afaf5b11f
--- /dev/null
+++ b/Lang/PL-I/Bell-numbers
@@ -0,0 +1 @@
+../../Task/Bell-numbers/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Diversity-prediction-theorem b/Lang/PL-I/Diversity-prediction-theorem
new file mode 120000
index 0000000000..a449ec2ac9
--- /dev/null
+++ b/Lang/PL-I/Diversity-prediction-theorem
@@ -0,0 +1 @@
+../../Task/Diversity-prediction-theorem/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Fairshare-between-two-and-more b/Lang/PL-I/Fairshare-between-two-and-more
new file mode 120000
index 0000000000..38f481a639
--- /dev/null
+++ b/Lang/PL-I/Fairshare-between-two-and-more
@@ -0,0 +1 @@
+../../Task/Fairshare-between-two-and-more/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Quaternion-type b/Lang/PL-I/Quaternion-type
deleted file mode 120000
index b86d406fec..0000000000
--- a/Lang/PL-I/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Tau-number b/Lang/PL-I/Tau-number
new file mode 120000
index 0000000000..3dade8db80
--- /dev/null
+++ b/Lang/PL-I/Tau-number
@@ -0,0 +1 @@
+../../Task/Tau-number/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Zeckendorf-number-representation b/Lang/PL-I/Zeckendorf-number-representation
new file mode 120000
index 0000000000..eabc5808d1
--- /dev/null
+++ b/Lang/PL-I/Zeckendorf-number-representation
@@ -0,0 +1 @@
+../../Task/Zeckendorf-number-representation/PL-I
\ No newline at end of file
diff --git a/Lang/PL-M/100-doors b/Lang/PL-M/100-doors
deleted file mode 120000
index fb7e956c0e..0000000000
--- a/Lang/PL-M/100-doors
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/100-doors/PL-M
\ No newline at end of file
diff --git a/Lang/PL-M/Arithmetic-derivative b/Lang/PL-M/Arithmetic-derivative
new file mode 120000
index 0000000000..13f3e396fe
--- /dev/null
+++ b/Lang/PL-M/Arithmetic-derivative
@@ -0,0 +1 @@
+../../Task/Arithmetic-derivative/PL-M
\ No newline at end of file
diff --git a/Lang/PL-M/Draw-a-cuboid b/Lang/PL-M/Draw-a-cuboid
new file mode 120000
index 0000000000..c6084a0c66
--- /dev/null
+++ b/Lang/PL-M/Draw-a-cuboid
@@ -0,0 +1 @@
+../../Task/Draw-a-cuboid/PL-M
\ No newline at end of file
diff --git a/Lang/PL-M/Empty-program b/Lang/PL-M/Empty-program
new file mode 120000
index 0000000000..80a556ac57
--- /dev/null
+++ b/Lang/PL-M/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/PL-M
\ No newline at end of file
diff --git a/Lang/PL-M/Move-to-front-algorithm b/Lang/PL-M/Move-to-front-algorithm
new file mode 120000
index 0000000000..23bec2ef3f
--- /dev/null
+++ b/Lang/PL-M/Move-to-front-algorithm
@@ -0,0 +1 @@
+../../Task/Move-to-front-algorithm/PL-M
\ No newline at end of file
diff --git a/Lang/PL-M/Nested-function b/Lang/PL-M/Nested-function
new file mode 120000
index 0000000000..2fbc4399dd
--- /dev/null
+++ b/Lang/PL-M/Nested-function
@@ -0,0 +1 @@
+../../Task/Nested-function/PL-M
\ No newline at end of file
diff --git a/Lang/PL-M/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/PL-M/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/PL-M/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/PL-M/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/PL-M/Super-d-numbers b/Lang/PL-M/Super-d-numbers
new file mode 120000
index 0000000000..bb5c98f089
--- /dev/null
+++ b/Lang/PL-M/Super-d-numbers
@@ -0,0 +1 @@
+../../Task/Super-d-numbers/PL-M
\ No newline at end of file
diff --git a/Lang/PL-M/The-Twelve-Days-of-Christmas b/Lang/PL-M/The-Twelve-Days-of-Christmas
new file mode 120000
index 0000000000..a94c814e99
--- /dev/null
+++ b/Lang/PL-M/The-Twelve-Days-of-Christmas
@@ -0,0 +1 @@
+../../Task/The-Twelve-Days-of-Christmas/PL-M
\ No newline at end of file
diff --git a/Lang/PL-M/Zeckendorf-number-representation b/Lang/PL-M/Zeckendorf-number-representation
new file mode 120000
index 0000000000..3d48575a07
--- /dev/null
+++ b/Lang/PL-M/Zeckendorf-number-representation
@@ -0,0 +1 @@
+../../Task/Zeckendorf-number-representation/PL-M
\ No newline at end of file
diff --git a/Lang/POV-Ray/Bitmap b/Lang/POV-Ray/Bitmap
new file mode 120000
index 0000000000..90fece7e75
--- /dev/null
+++ b/Lang/POV-Ray/Bitmap
@@ -0,0 +1 @@
+../../Task/Bitmap/POV-Ray
\ No newline at end of file
diff --git a/Lang/POV-Ray/Maze-generation b/Lang/POV-Ray/Maze-generation
new file mode 120000
index 0000000000..724f710098
--- /dev/null
+++ b/Lang/POV-Ray/Maze-generation
@@ -0,0 +1 @@
+../../Task/Maze-generation/POV-Ray
\ No newline at end of file
diff --git a/Lang/PROMAL/Sequence-smallest-number-with-exactly-n-divisors b/Lang/PROMAL/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/PROMAL/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/PROMAL/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/Pascal-P/00-LANG.txt b/Lang/Pascal-P/00-LANG.txt
new file mode 100644
index 0000000000..ce87f461ab
--- /dev/null
+++ b/Lang/Pascal-P/00-LANG.txt
@@ -0,0 +1,23 @@
+{{language|Pascal-P
+|exec=bytecode
+|strength=strong
+|safety=safe
+|express=explicit
+|checking=static
+|parampass=both
+|gc=no
+|LCT=yes
+}}{{language programming paradigm|Procedural}}
+
+{{implementation|Pascal}}{{Compiler}}
+
+'''Pascal-P''' is a renowned [[:Category:Pascal|Pascal]] compiler designed to generate [[bytecode]], known as ''p-code'', and interpret the resulting code. The compilers and interpreters of Pascal-P are developed using the Pascal programming language.
+
+Originally developed in Zurich in 1973, the earliest iteration of Pascal-P, known as Pascal-P1, laid the foundation for subsequent versions, including P2, P3, and P4. While versions P1 and P3 are no longer accessible, P2 is still readily available and has notably served as the base for the UCSD system. Furthermore, there exist derivative versions, such as P5 and P6, which have evolved from the core Pascal-P compiler.
+
+Notably, Pascal-P is heralded for its portability, as it is capable of generating code suitable for a hypothetical stack computer system. This feature enhances its versatility and applicability across various platforms and environments. Additionally, Pascal-P has made significant contributions to the realm of education, often being utilized as an educational tool to impart knowledge and foster learning in the field of computer programming.
+
+== External links ==
+* [http://pascal.hansotten.com/niklaus-wirth/px-compilers Px compilers] on [http://pascal.hansotten.com/ Pascal for small machines]
+* [https://sourceforge.net/projects/pascalp4/ Scott Moore's version of P4] The package includes crucial components essential for program execution on the MS-DOS platform - the compiler and the p-code interpreter executables.
+* [https://www.moorecad.com/standardpascal/p4.html The P4 compiler] on [https://www.moorecad.com/ Scott Moore's page]
\ No newline at end of file
diff --git a/Lang/Pascal-P/00-META.yaml b/Lang/Pascal-P/00-META.yaml
new file mode 100644
index 0000000000..5af4159a1f
--- /dev/null
+++ b/Lang/Pascal-P/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Pascal-P
diff --git a/Lang/Pascal-P/Abundant-deficient-and-perfect-number-classifications b/Lang/Pascal-P/Abundant-deficient-and-perfect-number-classifications
new file mode 120000
index 0000000000..248c55dcbd
--- /dev/null
+++ b/Lang/Pascal-P/Abundant-deficient-and-perfect-number-classifications
@@ -0,0 +1 @@
+../../Task/Abundant-deficient-and-perfect-number-classifications/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/Abundant-odd-numbers b/Lang/Pascal-P/Abundant-odd-numbers
new file mode 120000
index 0000000000..745698036f
--- /dev/null
+++ b/Lang/Pascal-P/Abundant-odd-numbers
@@ -0,0 +1 @@
+../../Task/Abundant-odd-numbers/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/Angle-difference-between-two-bearings b/Lang/Pascal-P/Angle-difference-between-two-bearings
new file mode 120000
index 0000000000..506fbb7a95
--- /dev/null
+++ b/Lang/Pascal-P/Angle-difference-between-two-bearings
@@ -0,0 +1 @@
+../../Task/Angle-difference-between-two-bearings/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/Anti-primes b/Lang/Pascal-P/Anti-primes
new file mode 120000
index 0000000000..fe2e4f4a10
--- /dev/null
+++ b/Lang/Pascal-P/Anti-primes
@@ -0,0 +1 @@
+../../Task/Anti-primes/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/Arithmetic-numbers b/Lang/Pascal-P/Arithmetic-numbers
new file mode 120000
index 0000000000..3ad1b31145
--- /dev/null
+++ b/Lang/Pascal-P/Arithmetic-numbers
@@ -0,0 +1 @@
+../../Task/Arithmetic-numbers/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/Bell-numbers b/Lang/Pascal-P/Bell-numbers
new file mode 120000
index 0000000000..fccbe75006
--- /dev/null
+++ b/Lang/Pascal-P/Bell-numbers
@@ -0,0 +1 @@
+../../Task/Bell-numbers/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/Brazilian-numbers b/Lang/Pascal-P/Brazilian-numbers
new file mode 120000
index 0000000000..f79a88ea27
--- /dev/null
+++ b/Lang/Pascal-P/Brazilian-numbers
@@ -0,0 +1 @@
+../../Task/Brazilian-numbers/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/CUSIP b/Lang/Pascal-P/CUSIP
new file mode 120000
index 0000000000..3a5ce6c0b7
--- /dev/null
+++ b/Lang/Pascal-P/CUSIP
@@ -0,0 +1 @@
+../../Task/CUSIP/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/Catalan-numbers b/Lang/Pascal-P/Catalan-numbers
new file mode 120000
index 0000000000..9dee46f2ca
--- /dev/null
+++ b/Lang/Pascal-P/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/Cistercian-numerals b/Lang/Pascal-P/Cistercian-numerals
new file mode 120000
index 0000000000..3169bb4737
--- /dev/null
+++ b/Lang/Pascal-P/Cistercian-numerals
@@ -0,0 +1 @@
+../../Task/Cistercian-numerals/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/Day-of-the-week b/Lang/Pascal-P/Day-of-the-week
new file mode 120000
index 0000000000..04c1bf395c
--- /dev/null
+++ b/Lang/Pascal-P/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/Diversity-prediction-theorem b/Lang/Pascal-P/Diversity-prediction-theorem
new file mode 120000
index 0000000000..1c77b9f4a8
--- /dev/null
+++ b/Lang/Pascal-P/Diversity-prediction-theorem
@@ -0,0 +1 @@
+../../Task/Diversity-prediction-theorem/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/Dot-product b/Lang/Pascal-P/Dot-product
new file mode 120000
index 0000000000..1354e110a2
--- /dev/null
+++ b/Lang/Pascal-P/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/Ethiopian-multiplication b/Lang/Pascal-P/Ethiopian-multiplication
new file mode 120000
index 0000000000..cf25f4fb51
--- /dev/null
+++ b/Lang/Pascal-P/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/Factors-of-an-integer b/Lang/Pascal-P/Factors-of-an-integer
new file mode 120000
index 0000000000..db1f886bee
--- /dev/null
+++ b/Lang/Pascal-P/Factors-of-an-integer
@@ -0,0 +1 @@
+../../Task/Factors-of-an-integer/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/FizzBuzz b/Lang/Pascal-P/FizzBuzz
new file mode 120000
index 0000000000..8d0c857c1d
--- /dev/null
+++ b/Lang/Pascal-P/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/Gamma-function b/Lang/Pascal-P/Gamma-function
new file mode 120000
index 0000000000..b35d39ded3
--- /dev/null
+++ b/Lang/Pascal-P/Gamma-function
@@ -0,0 +1 @@
+../../Task/Gamma-function/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/Generate-lower-case-ASCII-alphabet b/Lang/Pascal-P/Generate-lower-case-ASCII-alphabet
new file mode 120000
index 0000000000..54db5eb4c2
--- /dev/null
+++ b/Lang/Pascal-P/Generate-lower-case-ASCII-alphabet
@@ -0,0 +1 @@
+../../Task/Generate-lower-case-ASCII-alphabet/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/Horners-rule-for-polynomial-evaluation b/Lang/Pascal-P/Horners-rule-for-polynomial-evaluation
new file mode 120000
index 0000000000..1bf2158b09
--- /dev/null
+++ b/Lang/Pascal-P/Horners-rule-for-polynomial-evaluation
@@ -0,0 +1 @@
+../../Task/Horners-rule-for-polynomial-evaluation/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/Josephus-problem b/Lang/Pascal-P/Josephus-problem
new file mode 120000
index 0000000000..ee86f2f03c
--- /dev/null
+++ b/Lang/Pascal-P/Josephus-problem
@@ -0,0 +1 @@
+../../Task/Josephus-problem/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/Leap-year b/Lang/Pascal-P/Leap-year
new file mode 120000
index 0000000000..e7c0275cd7
--- /dev/null
+++ b/Lang/Pascal-P/Leap-year
@@ -0,0 +1 @@
+../../Task/Leap-year/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/Leonardo-numbers b/Lang/Pascal-P/Leonardo-numbers
new file mode 120000
index 0000000000..33730eb927
--- /dev/null
+++ b/Lang/Pascal-P/Leonardo-numbers
@@ -0,0 +1 @@
+../../Task/Leonardo-numbers/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/Levenshtein-distance b/Lang/Pascal-P/Levenshtein-distance
new file mode 120000
index 0000000000..369c4fda51
--- /dev/null
+++ b/Lang/Pascal-P/Levenshtein-distance
@@ -0,0 +1 @@
+../../Task/Levenshtein-distance/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/Long-year b/Lang/Pascal-P/Long-year
new file mode 120000
index 0000000000..4a8c200f91
--- /dev/null
+++ b/Lang/Pascal-P/Long-year
@@ -0,0 +1 @@
+../../Task/Long-year/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/M-bius-function b/Lang/Pascal-P/M-bius-function
new file mode 120000
index 0000000000..5ac8d7d007
--- /dev/null
+++ b/Lang/Pascal-P/M-bius-function
@@ -0,0 +1 @@
+../../Task/M-bius-function/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/Magic-constant b/Lang/Pascal-P/Magic-constant
new file mode 120000
index 0000000000..d71a46b136
--- /dev/null
+++ b/Lang/Pascal-P/Magic-constant
@@ -0,0 +1 @@
+../../Task/Magic-constant/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/Map-range b/Lang/Pascal-P/Map-range
new file mode 120000
index 0000000000..ecc77d75f6
--- /dev/null
+++ b/Lang/Pascal-P/Map-range
@@ -0,0 +1 @@
+../../Task/Map-range/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/Multifactorial b/Lang/Pascal-P/Multifactorial
new file mode 120000
index 0000000000..3a5245db30
--- /dev/null
+++ b/Lang/Pascal-P/Multifactorial
@@ -0,0 +1 @@
+../../Task/Multifactorial/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/Periodic-table b/Lang/Pascal-P/Periodic-table
new file mode 120000
index 0000000000..d1e817f294
--- /dev/null
+++ b/Lang/Pascal-P/Periodic-table
@@ -0,0 +1 @@
+../../Task/Periodic-table/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/Prime-decomposition b/Lang/Pascal-P/Prime-decomposition
new file mode 120000
index 0000000000..b9ce930a04
--- /dev/null
+++ b/Lang/Pascal-P/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/Ramer-Douglas-Peucker-line-simplification b/Lang/Pascal-P/Ramer-Douglas-Peucker-line-simplification
new file mode 120000
index 0000000000..41e4d1e47d
--- /dev/null
+++ b/Lang/Pascal-P/Ramer-Douglas-Peucker-line-simplification
@@ -0,0 +1 @@
+../../Task/Ramer-Douglas-Peucker-line-simplification/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/Square-free-integers b/Lang/Pascal-P/Square-free-integers
new file mode 120000
index 0000000000..011a7d78bb
--- /dev/null
+++ b/Lang/Pascal-P/Square-free-integers
@@ -0,0 +1 @@
+../../Task/Square-free-integers/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal-P/Tau-number b/Lang/Pascal-P/Tau-number
new file mode 120000
index 0000000000..23629ebb6c
--- /dev/null
+++ b/Lang/Pascal-P/Tau-number
@@ -0,0 +1 @@
+../../Task/Tau-number/Pascal-P
\ No newline at end of file
diff --git a/Lang/Pascal/Abundant-odd-numbers b/Lang/Pascal/Abundant-odd-numbers
deleted file mode 120000
index b58a9a885b..0000000000
--- a/Lang/Pascal/Abundant-odd-numbers
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Abundant-odd-numbers/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Bell-numbers b/Lang/Pascal/Bell-numbers
deleted file mode 120000
index c4ab57da43..0000000000
--- a/Lang/Pascal/Bell-numbers
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bell-numbers/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Bioinformatics-base-count b/Lang/Pascal/Bioinformatics-base-count
deleted file mode 120000
index 97aaee2dbb..0000000000
--- a/Lang/Pascal/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Brazilian-numbers b/Lang/Pascal/Brazilian-numbers
deleted file mode 120000
index 152f3a22d2..0000000000
--- a/Lang/Pascal/Brazilian-numbers
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Brazilian-numbers/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Count-the-coins b/Lang/Pascal/Count-the-coins
new file mode 120000
index 0000000000..8d7999b667
--- /dev/null
+++ b/Lang/Pascal/Count-the-coins
@@ -0,0 +1 @@
+../../Task/Count-the-coins/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Date-manipulation b/Lang/Pascal/Date-manipulation
new file mode 120000
index 0000000000..9edece533b
--- /dev/null
+++ b/Lang/Pascal/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Ethiopian-multiplication b/Lang/Pascal/Ethiopian-multiplication
deleted file mode 120000
index 53e5b905d2..0000000000
--- a/Lang/Pascal/Ethiopian-multiplication
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Ethiopian-multiplication/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/FizzBuzz b/Lang/Pascal/FizzBuzz
deleted file mode 120000
index 786dae3647..0000000000
--- a/Lang/Pascal/FizzBuzz
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/FizzBuzz/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Gamma-function b/Lang/Pascal/Gamma-function
deleted file mode 120000
index f83dad18cb..0000000000
--- a/Lang/Pascal/Gamma-function
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Gamma-function/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Leap-year b/Lang/Pascal/Leap-year
deleted file mode 120000
index 5eb674ed97..0000000000
--- a/Lang/Pascal/Leap-year
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Leap-year/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Levenshtein-distance b/Lang/Pascal/Levenshtein-distance
deleted file mode 120000
index aa9f13dc0f..0000000000
--- a/Lang/Pascal/Levenshtein-distance
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Levenshtein-distance/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Map-range b/Lang/Pascal/Map-range
deleted file mode 120000
index 71c05c40ec..0000000000
--- a/Lang/Pascal/Map-range
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Map-range/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Prime-decomposition b/Lang/Pascal/Prime-decomposition
deleted file mode 120000
index 7b392e005f..0000000000
--- a/Lang/Pascal/Prime-decomposition
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Prime-decomposition/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/Pascal/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/Pascal/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/Pascal/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/Pascal/Sorting-Algorithms-Circle-Sort b/Lang/Pascal/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index 3100a6716d..0000000000
--- a/Lang/Pascal/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Square-free-integers b/Lang/Pascal/Square-free-integers
deleted file mode 120000
index 874a24625c..0000000000
--- a/Lang/Pascal/Square-free-integers
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Square-free-integers/Pascal
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/00-LANG.txt b/Lang/PascalABC.NET/00-LANG.txt
index d9efe4d43e..7f652b8be9 100644
--- a/Lang/PascalABC.NET/00-LANG.txt
+++ b/Lang/PascalABC.NET/00-LANG.txt
@@ -1,4 +1,4 @@
-{{language|PascalABC.NET}}
+{{language|site=https://pascalabc.net/en/}}
{{implementation|Pascal}}
PascalABC.NET is the new generation Pascal programming language that combines simplicity of classic Pascal, a great number of modern extensions and broad capabilities of Microsoft .NET Framework.
@@ -16,4 +16,5 @@ begin
end.
-{{unimpl_Page|PacalABC.NET}}
\ No newline at end of file
+==Tasks not implemented in PascalABC.NET==
+[[Tasks not implemented in PascalABC.NET]]
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/100-doors b/Lang/PascalABC.NET/100-doors
deleted file mode 120000
index ba816799a0..0000000000
--- a/Lang/PascalABC.NET/100-doors
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/100-doors/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/15-puzzle-game b/Lang/PascalABC.NET/15-puzzle-game
new file mode 120000
index 0000000000..caf890e56b
--- /dev/null
+++ b/Lang/PascalABC.NET/15-puzzle-game
@@ -0,0 +1 @@
+../../Task/15-puzzle-game/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/15-puzzle-solver b/Lang/PascalABC.NET/15-puzzle-solver
new file mode 120000
index 0000000000..73063f2237
--- /dev/null
+++ b/Lang/PascalABC.NET/15-puzzle-solver
@@ -0,0 +1 @@
+../../Task/15-puzzle-solver/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/99-bottles-of-beer b/Lang/PascalABC.NET/99-bottles-of-beer
new file mode 120000
index 0000000000..bc29442ab5
--- /dev/null
+++ b/Lang/PascalABC.NET/99-bottles-of-beer
@@ -0,0 +1 @@
+../../Task/99-bottles-of-beer/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/A+B b/Lang/PascalABC.NET/A+B
new file mode 120000
index 0000000000..7a5a9db498
--- /dev/null
+++ b/Lang/PascalABC.NET/A+B
@@ -0,0 +1 @@
+../../Task/A+B/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Abbreviations-easy b/Lang/PascalABC.NET/Abbreviations-easy
new file mode 120000
index 0000000000..ea782fa0b0
--- /dev/null
+++ b/Lang/PascalABC.NET/Abbreviations-easy
@@ -0,0 +1 @@
+../../Task/Abbreviations-easy/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Abbreviations-simple b/Lang/PascalABC.NET/Abbreviations-simple
new file mode 120000
index 0000000000..abc650feac
--- /dev/null
+++ b/Lang/PascalABC.NET/Abbreviations-simple
@@ -0,0 +1 @@
+../../Task/Abbreviations-simple/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Abstract-type b/Lang/PascalABC.NET/Abstract-type
new file mode 120000
index 0000000000..305270825e
--- /dev/null
+++ b/Lang/PascalABC.NET/Abstract-type
@@ -0,0 +1 @@
+../../Task/Abstract-type/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Accumulator-factory b/Lang/PascalABC.NET/Accumulator-factory
new file mode 120000
index 0000000000..dd94a031d6
--- /dev/null
+++ b/Lang/PascalABC.NET/Accumulator-factory
@@ -0,0 +1 @@
+../../Task/Accumulator-factory/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Ackermann-function b/Lang/PascalABC.NET/Ackermann-function
new file mode 120000
index 0000000000..c2fa2dd278
--- /dev/null
+++ b/Lang/PascalABC.NET/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Add-a-variable-to-a-class-instance-at-runtime b/Lang/PascalABC.NET/Add-a-variable-to-a-class-instance-at-runtime
new file mode 120000
index 0000000000..ec0970f459
--- /dev/null
+++ b/Lang/PascalABC.NET/Add-a-variable-to-a-class-instance-at-runtime
@@ -0,0 +1 @@
+../../Task/Add-a-variable-to-a-class-instance-at-runtime/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Additive-primes b/Lang/PascalABC.NET/Additive-primes
new file mode 120000
index 0000000000..0022732e2e
--- /dev/null
+++ b/Lang/PascalABC.NET/Additive-primes
@@ -0,0 +1 @@
+../../Task/Additive-primes/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Address-of-a-variable b/Lang/PascalABC.NET/Address-of-a-variable
new file mode 120000
index 0000000000..8477592c7b
--- /dev/null
+++ b/Lang/PascalABC.NET/Address-of-a-variable
@@ -0,0 +1 @@
+../../Task/Address-of-a-variable/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Amicable-pairs b/Lang/PascalABC.NET/Amicable-pairs
new file mode 120000
index 0000000000..e8f5a09925
--- /dev/null
+++ b/Lang/PascalABC.NET/Amicable-pairs
@@ -0,0 +1 @@
+../../Task/Amicable-pairs/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Anagrams b/Lang/PascalABC.NET/Anagrams
new file mode 120000
index 0000000000..2bec53abb4
--- /dev/null
+++ b/Lang/PascalABC.NET/Anagrams
@@ -0,0 +1 @@
+../../Task/Anagrams/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Angle-difference-between-two-bearings b/Lang/PascalABC.NET/Angle-difference-between-two-bearings
new file mode 120000
index 0000000000..a9e8619c23
--- /dev/null
+++ b/Lang/PascalABC.NET/Angle-difference-between-two-bearings
@@ -0,0 +1 @@
+../../Task/Angle-difference-between-two-bearings/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Angles-geometric-normalization-and-conversion b/Lang/PascalABC.NET/Angles-geometric-normalization-and-conversion
new file mode 120000
index 0000000000..27c57b8ea0
--- /dev/null
+++ b/Lang/PascalABC.NET/Angles-geometric-normalization-and-conversion
@@ -0,0 +1 @@
+../../Task/Angles-geometric-normalization-and-conversion/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Anonymous-recursion b/Lang/PascalABC.NET/Anonymous-recursion
new file mode 120000
index 0000000000..7a2a34d4d5
--- /dev/null
+++ b/Lang/PascalABC.NET/Anonymous-recursion
@@ -0,0 +1 @@
+../../Task/Anonymous-recursion/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Anti-primes b/Lang/PascalABC.NET/Anti-primes
new file mode 120000
index 0000000000..0107c4a2bb
--- /dev/null
+++ b/Lang/PascalABC.NET/Anti-primes
@@ -0,0 +1 @@
+../../Task/Anti-primes/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Apply-a-callback-to-an-array b/Lang/PascalABC.NET/Apply-a-callback-to-an-array
new file mode 120000
index 0000000000..88f34b5a9e
--- /dev/null
+++ b/Lang/PascalABC.NET/Apply-a-callback-to-an-array
@@ -0,0 +1 @@
+../../Task/Apply-a-callback-to-an-array/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Approximate-equality b/Lang/PascalABC.NET/Approximate-equality
new file mode 120000
index 0000000000..9d80191945
--- /dev/null
+++ b/Lang/PascalABC.NET/Approximate-equality
@@ -0,0 +1 @@
+../../Task/Approximate-equality/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Arbitrary-precision-integers-included- b/Lang/PascalABC.NET/Arbitrary-precision-integers-included-
new file mode 120000
index 0000000000..8e9998f39e
--- /dev/null
+++ b/Lang/PascalABC.NET/Arbitrary-precision-integers-included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers-included-/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Archimedean-spiral b/Lang/PascalABC.NET/Archimedean-spiral
new file mode 120000
index 0000000000..8c791b5144
--- /dev/null
+++ b/Lang/PascalABC.NET/Archimedean-spiral
@@ -0,0 +1 @@
+../../Task/Archimedean-spiral/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Arithmetic-Complex b/Lang/PascalABC.NET/Arithmetic-Complex
new file mode 120000
index 0000000000..bccd03a873
--- /dev/null
+++ b/Lang/PascalABC.NET/Arithmetic-Complex
@@ -0,0 +1 @@
+../../Task/Arithmetic-Complex/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Arithmetic-Integer b/Lang/PascalABC.NET/Arithmetic-Integer
new file mode 120000
index 0000000000..30d5138cbd
--- /dev/null
+++ b/Lang/PascalABC.NET/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Arithmetic-Rational b/Lang/PascalABC.NET/Arithmetic-Rational
new file mode 120000
index 0000000000..e1c3c085b7
--- /dev/null
+++ b/Lang/PascalABC.NET/Arithmetic-Rational
@@ -0,0 +1 @@
+../../Task/Arithmetic-Rational/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Arithmetic-evaluation b/Lang/PascalABC.NET/Arithmetic-evaluation
new file mode 120000
index 0000000000..816270d1cc
--- /dev/null
+++ b/Lang/PascalABC.NET/Arithmetic-evaluation
@@ -0,0 +1 @@
+../../Task/Arithmetic-evaluation/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Arithmetic-geometric-mean b/Lang/PascalABC.NET/Arithmetic-geometric-mean
new file mode 120000
index 0000000000..de68d8badc
--- /dev/null
+++ b/Lang/PascalABC.NET/Arithmetic-geometric-mean
@@ -0,0 +1 @@
+../../Task/Arithmetic-geometric-mean/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Arithmetic-numbers b/Lang/PascalABC.NET/Arithmetic-numbers
new file mode 120000
index 0000000000..91fbd5c07a
--- /dev/null
+++ b/Lang/PascalABC.NET/Arithmetic-numbers
@@ -0,0 +1 @@
+../../Task/Arithmetic-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Array-concatenation b/Lang/PascalABC.NET/Array-concatenation
new file mode 120000
index 0000000000..bfe26798bc
--- /dev/null
+++ b/Lang/PascalABC.NET/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Arrays b/Lang/PascalABC.NET/Arrays
new file mode 120000
index 0000000000..62dfb07030
--- /dev/null
+++ b/Lang/PascalABC.NET/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Ascending-primes b/Lang/PascalABC.NET/Ascending-primes
new file mode 120000
index 0000000000..764168a0be
--- /dev/null
+++ b/Lang/PascalABC.NET/Ascending-primes
@@ -0,0 +1 @@
+../../Task/Ascending-primes/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Assertions b/Lang/PascalABC.NET/Assertions
new file mode 120000
index 0000000000..bdc3ed57c2
--- /dev/null
+++ b/Lang/PascalABC.NET/Assertions
@@ -0,0 +1 @@
+../../Task/Assertions/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Associative-array-Creation b/Lang/PascalABC.NET/Associative-array-Creation
new file mode 120000
index 0000000000..fc1bef5cdb
--- /dev/null
+++ b/Lang/PascalABC.NET/Associative-array-Creation
@@ -0,0 +1 @@
+../../Task/Associative-array-Creation/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Associative-array-Iteration b/Lang/PascalABC.NET/Associative-array-Iteration
new file mode 120000
index 0000000000..2f1ab21d84
--- /dev/null
+++ b/Lang/PascalABC.NET/Associative-array-Iteration
@@ -0,0 +1 @@
+../../Task/Associative-array-Iteration/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Associative-array-Merging b/Lang/PascalABC.NET/Associative-array-Merging
new file mode 120000
index 0000000000..debbdc2521
--- /dev/null
+++ b/Lang/PascalABC.NET/Associative-array-Merging
@@ -0,0 +1 @@
+../../Task/Associative-array-Merging/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Attractive-numbers b/Lang/PascalABC.NET/Attractive-numbers
new file mode 120000
index 0000000000..974a121495
--- /dev/null
+++ b/Lang/PascalABC.NET/Attractive-numbers
@@ -0,0 +1 @@
+../../Task/Attractive-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Averages-Arithmetic-mean b/Lang/PascalABC.NET/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..c13a81b3d2
--- /dev/null
+++ b/Lang/PascalABC.NET/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Averages-Mean-angle b/Lang/PascalABC.NET/Averages-Mean-angle
new file mode 120000
index 0000000000..1138410560
--- /dev/null
+++ b/Lang/PascalABC.NET/Averages-Mean-angle
@@ -0,0 +1 @@
+../../Task/Averages-Mean-angle/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Averages-Median b/Lang/PascalABC.NET/Averages-Median
new file mode 120000
index 0000000000..3e861f57c5
--- /dev/null
+++ b/Lang/PascalABC.NET/Averages-Median
@@ -0,0 +1 @@
+../../Task/Averages-Median/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Averages-Mode b/Lang/PascalABC.NET/Averages-Mode
new file mode 120000
index 0000000000..73a256bfd8
--- /dev/null
+++ b/Lang/PascalABC.NET/Averages-Mode
@@ -0,0 +1 @@
+../../Task/Averages-Mode/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Averages-Pythagorean-means b/Lang/PascalABC.NET/Averages-Pythagorean-means
new file mode 120000
index 0000000000..d41041c28e
--- /dev/null
+++ b/Lang/PascalABC.NET/Averages-Pythagorean-means
@@ -0,0 +1 @@
+../../Task/Averages-Pythagorean-means/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Averages-Root-mean-square b/Lang/PascalABC.NET/Averages-Root-mean-square
new file mode 120000
index 0000000000..fcd93926c8
--- /dev/null
+++ b/Lang/PascalABC.NET/Averages-Root-mean-square
@@ -0,0 +1 @@
+../../Task/Averages-Root-mean-square/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Babbage-problem b/Lang/PascalABC.NET/Babbage-problem
new file mode 120000
index 0000000000..0c9b0d20ea
--- /dev/null
+++ b/Lang/PascalABC.NET/Babbage-problem
@@ -0,0 +1 @@
+../../Task/Babbage-problem/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Balanced-brackets b/Lang/PascalABC.NET/Balanced-brackets
new file mode 120000
index 0000000000..4b5678c4d8
--- /dev/null
+++ b/Lang/PascalABC.NET/Balanced-brackets
@@ -0,0 +1 @@
+../../Task/Balanced-brackets/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Bifid-cipher b/Lang/PascalABC.NET/Bifid-cipher
new file mode 120000
index 0000000000..b627ea6e1a
--- /dev/null
+++ b/Lang/PascalABC.NET/Bifid-cipher
@@ -0,0 +1 @@
+../../Task/Bifid-cipher/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Binary-digits b/Lang/PascalABC.NET/Binary-digits
new file mode 120000
index 0000000000..e0597a5dc1
--- /dev/null
+++ b/Lang/PascalABC.NET/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Binary-search b/Lang/PascalABC.NET/Binary-search
new file mode 120000
index 0000000000..aa5ba91c87
--- /dev/null
+++ b/Lang/PascalABC.NET/Binary-search
@@ -0,0 +1 @@
+../../Task/Binary-search/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Bitwise-operations b/Lang/PascalABC.NET/Bitwise-operations
new file mode 120000
index 0000000000..acc6123f1c
--- /dev/null
+++ b/Lang/PascalABC.NET/Bitwise-operations
@@ -0,0 +1 @@
+../../Task/Bitwise-operations/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Break-OO-privacy b/Lang/PascalABC.NET/Break-OO-privacy
new file mode 120000
index 0000000000..29ee336925
--- /dev/null
+++ b/Lang/PascalABC.NET/Break-OO-privacy
@@ -0,0 +1 @@
+../../Task/Break-OO-privacy/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/CRC-32 b/Lang/PascalABC.NET/CRC-32
new file mode 120000
index 0000000000..dfed202f62
--- /dev/null
+++ b/Lang/PascalABC.NET/CRC-32
@@ -0,0 +1 @@
+../../Task/CRC-32/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/CSV-data-manipulation b/Lang/PascalABC.NET/CSV-data-manipulation
new file mode 120000
index 0000000000..ab9f191d41
--- /dev/null
+++ b/Lang/PascalABC.NET/CSV-data-manipulation
@@ -0,0 +1 @@
+../../Task/CSV-data-manipulation/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/CUSIP b/Lang/PascalABC.NET/CUSIP
new file mode 120000
index 0000000000..1b4c6de901
--- /dev/null
+++ b/Lang/PascalABC.NET/CUSIP
@@ -0,0 +1 @@
+../../Task/CUSIP/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Caesar-cipher b/Lang/PascalABC.NET/Caesar-cipher
new file mode 120000
index 0000000000..7b80169afb
--- /dev/null
+++ b/Lang/PascalABC.NET/Caesar-cipher
@@ -0,0 +1 @@
+../../Task/Caesar-cipher/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Calculating-the-value-of-e b/Lang/PascalABC.NET/Calculating-the-value-of-e
new file mode 120000
index 0000000000..c544f3c00f
--- /dev/null
+++ b/Lang/PascalABC.NET/Calculating-the-value-of-e
@@ -0,0 +1 @@
+../../Task/Calculating-the-value-of-e/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Calendar---for-REAL-programmers b/Lang/PascalABC.NET/Calendar---for-REAL-programmers
new file mode 120000
index 0000000000..aa32b573de
--- /dev/null
+++ b/Lang/PascalABC.NET/Calendar---for-REAL-programmers
@@ -0,0 +1 @@
+../../Task/Calendar---for-REAL-programmers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Call-an-object-method b/Lang/PascalABC.NET/Call-an-object-method
new file mode 120000
index 0000000000..0c1cf230d7
--- /dev/null
+++ b/Lang/PascalABC.NET/Call-an-object-method
@@ -0,0 +1 @@
+../../Task/Call-an-object-method/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Cartesian-product-of-two-or-more-lists b/Lang/PascalABC.NET/Cartesian-product-of-two-or-more-lists
new file mode 120000
index 0000000000..e9abacde8d
--- /dev/null
+++ b/Lang/PascalABC.NET/Cartesian-product-of-two-or-more-lists
@@ -0,0 +1 @@
+../../Task/Cartesian-product-of-two-or-more-lists/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Case-sensitivity-of-identifiers b/Lang/PascalABC.NET/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..b0fc4ead7c
--- /dev/null
+++ b/Lang/PascalABC.NET/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Casting-out-nines b/Lang/PascalABC.NET/Casting-out-nines
new file mode 120000
index 0000000000..2635cd3c59
--- /dev/null
+++ b/Lang/PascalABC.NET/Casting-out-nines
@@ -0,0 +1 @@
+../../Task/Casting-out-nines/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Catalan-numbers b/Lang/PascalABC.NET/Catalan-numbers
new file mode 120000
index 0000000000..a970e535cd
--- /dev/null
+++ b/Lang/PascalABC.NET/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Catalan-numbers-Pascals-triangle b/Lang/PascalABC.NET/Catalan-numbers-Pascals-triangle
new file mode 120000
index 0000000000..47a30d7f38
--- /dev/null
+++ b/Lang/PascalABC.NET/Catalan-numbers-Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Catalan-numbers-Pascals-triangle/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Catamorphism b/Lang/PascalABC.NET/Catamorphism
new file mode 120000
index 0000000000..4cd74052dd
--- /dev/null
+++ b/Lang/PascalABC.NET/Catamorphism
@@ -0,0 +1 @@
+../../Task/Catamorphism/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Character-codes b/Lang/PascalABC.NET/Character-codes
new file mode 120000
index 0000000000..1888f78c06
--- /dev/null
+++ b/Lang/PascalABC.NET/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Check-input-device-is-a-terminal b/Lang/PascalABC.NET/Check-input-device-is-a-terminal
new file mode 120000
index 0000000000..942e91ecc8
--- /dev/null
+++ b/Lang/PascalABC.NET/Check-input-device-is-a-terminal
@@ -0,0 +1 @@
+../../Task/Check-input-device-is-a-terminal/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Check-output-device-is-a-terminal b/Lang/PascalABC.NET/Check-output-device-is-a-terminal
new file mode 120000
index 0000000000..ddcd688824
--- /dev/null
+++ b/Lang/PascalABC.NET/Check-output-device-is-a-terminal
@@ -0,0 +1 @@
+../../Task/Check-output-device-is-a-terminal/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Check-that-file-exists b/Lang/PascalABC.NET/Check-that-file-exists
new file mode 120000
index 0000000000..8a6772fd4b
--- /dev/null
+++ b/Lang/PascalABC.NET/Check-that-file-exists
@@ -0,0 +1 @@
+../../Task/Check-that-file-exists/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Cheryls-birthday b/Lang/PascalABC.NET/Cheryls-birthday
new file mode 120000
index 0000000000..a54346abfd
--- /dev/null
+++ b/Lang/PascalABC.NET/Cheryls-birthday
@@ -0,0 +1 @@
+../../Task/Cheryls-birthday/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Chinese-remainder-theorem b/Lang/PascalABC.NET/Chinese-remainder-theorem
new file mode 120000
index 0000000000..72e58e3a4a
--- /dev/null
+++ b/Lang/PascalABC.NET/Chinese-remainder-theorem
@@ -0,0 +1 @@
+../../Task/Chinese-remainder-theorem/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Chinese-zodiac b/Lang/PascalABC.NET/Chinese-zodiac
new file mode 120000
index 0000000000..f7393d9042
--- /dev/null
+++ b/Lang/PascalABC.NET/Chinese-zodiac
@@ -0,0 +1 @@
+../../Task/Chinese-zodiac/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Cholesky-decomposition b/Lang/PascalABC.NET/Cholesky-decomposition
new file mode 120000
index 0000000000..35182d3cfc
--- /dev/null
+++ b/Lang/PascalABC.NET/Cholesky-decomposition
@@ -0,0 +1 @@
+../../Task/Cholesky-decomposition/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Chowla-numbers b/Lang/PascalABC.NET/Chowla-numbers
new file mode 120000
index 0000000000..556f1a6dfd
--- /dev/null
+++ b/Lang/PascalABC.NET/Chowla-numbers
@@ -0,0 +1 @@
+../../Task/Chowla-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Circular-primes b/Lang/PascalABC.NET/Circular-primes
new file mode 120000
index 0000000000..5224e07ad0
--- /dev/null
+++ b/Lang/PascalABC.NET/Circular-primes
@@ -0,0 +1 @@
+../../Task/Circular-primes/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Classes b/Lang/PascalABC.NET/Classes
new file mode 120000
index 0000000000..08756ef03a
--- /dev/null
+++ b/Lang/PascalABC.NET/Classes
@@ -0,0 +1 @@
+../../Task/Classes/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Closest-pair-problem b/Lang/PascalABC.NET/Closest-pair-problem
new file mode 120000
index 0000000000..4b7bc32806
--- /dev/null
+++ b/Lang/PascalABC.NET/Closest-pair-problem
@@ -0,0 +1 @@
+../../Task/Closest-pair-problem/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Closures-Value-capture b/Lang/PascalABC.NET/Closures-Value-capture
new file mode 120000
index 0000000000..428138cdfe
--- /dev/null
+++ b/Lang/PascalABC.NET/Closures-Value-capture
@@ -0,0 +1 @@
+../../Task/Closures-Value-capture/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Collections b/Lang/PascalABC.NET/Collections
new file mode 120000
index 0000000000..c3fa3dc417
--- /dev/null
+++ b/Lang/PascalABC.NET/Collections
@@ -0,0 +1 @@
+../../Task/Collections/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Color-of-a-screen-pixel b/Lang/PascalABC.NET/Color-of-a-screen-pixel
new file mode 120000
index 0000000000..45582746a3
--- /dev/null
+++ b/Lang/PascalABC.NET/Color-of-a-screen-pixel
@@ -0,0 +1 @@
+../../Task/Color-of-a-screen-pixel/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Color-wheel b/Lang/PascalABC.NET/Color-wheel
new file mode 120000
index 0000000000..ea27bb369f
--- /dev/null
+++ b/Lang/PascalABC.NET/Color-wheel
@@ -0,0 +1 @@
+../../Task/Color-wheel/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Colour-bars-Display b/Lang/PascalABC.NET/Colour-bars-Display
new file mode 120000
index 0000000000..e504c543a7
--- /dev/null
+++ b/Lang/PascalABC.NET/Colour-bars-Display
@@ -0,0 +1 @@
+../../Task/Colour-bars-Display/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Colour-pinstripe-Display b/Lang/PascalABC.NET/Colour-pinstripe-Display
new file mode 120000
index 0000000000..c9febd7d37
--- /dev/null
+++ b/Lang/PascalABC.NET/Colour-pinstripe-Display
@@ -0,0 +1 @@
+../../Task/Colour-pinstripe-Display/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Combinations b/Lang/PascalABC.NET/Combinations
new file mode 120000
index 0000000000..fad981495d
--- /dev/null
+++ b/Lang/PascalABC.NET/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Combinations-with-repetitions b/Lang/PascalABC.NET/Combinations-with-repetitions
new file mode 120000
index 0000000000..f75050c914
--- /dev/null
+++ b/Lang/PascalABC.NET/Combinations-with-repetitions
@@ -0,0 +1 @@
+../../Task/Combinations-with-repetitions/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Command-line-arguments b/Lang/PascalABC.NET/Command-line-arguments
new file mode 120000
index 0000000000..f229191025
--- /dev/null
+++ b/Lang/PascalABC.NET/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Comments b/Lang/PascalABC.NET/Comments
new file mode 120000
index 0000000000..5e528e6991
--- /dev/null
+++ b/Lang/PascalABC.NET/Comments
@@ -0,0 +1 @@
+../../Task/Comments/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Compare-a-list-of-strings b/Lang/PascalABC.NET/Compare-a-list-of-strings
new file mode 120000
index 0000000000..b8b040023f
--- /dev/null
+++ b/Lang/PascalABC.NET/Compare-a-list-of-strings
@@ -0,0 +1 @@
+../../Task/Compare-a-list-of-strings/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Compare-length-of-two-strings b/Lang/PascalABC.NET/Compare-length-of-two-strings
new file mode 120000
index 0000000000..92be62a3df
--- /dev/null
+++ b/Lang/PascalABC.NET/Compare-length-of-two-strings
@@ -0,0 +1 @@
+../../Task/Compare-length-of-two-strings/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Compile-time-calculation b/Lang/PascalABC.NET/Compile-time-calculation
new file mode 120000
index 0000000000..aa6140bdc4
--- /dev/null
+++ b/Lang/PascalABC.NET/Compile-time-calculation
@@ -0,0 +1 @@
+../../Task/Compile-time-calculation/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Composite-numbers-k-with-no-single-digit-factors-whose-factors-are-all-substrings-of-k b/Lang/PascalABC.NET/Composite-numbers-k-with-no-single-digit-factors-whose-factors-are-all-substrings-of-k
new file mode 120000
index 0000000000..54d237d7ab
--- /dev/null
+++ b/Lang/PascalABC.NET/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/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Compound-data-type b/Lang/PascalABC.NET/Compound-data-type
new file mode 120000
index 0000000000..89ad664595
--- /dev/null
+++ b/Lang/PascalABC.NET/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Concurrent-computing b/Lang/PascalABC.NET/Concurrent-computing
new file mode 120000
index 0000000000..ced9fcccc5
--- /dev/null
+++ b/Lang/PascalABC.NET/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Conditional-structures b/Lang/PascalABC.NET/Conditional-structures
new file mode 120000
index 0000000000..6186fdd1f8
--- /dev/null
+++ b/Lang/PascalABC.NET/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Constrained-genericity b/Lang/PascalABC.NET/Constrained-genericity
new file mode 120000
index 0000000000..4d89cf348d
--- /dev/null
+++ b/Lang/PascalABC.NET/Constrained-genericity
@@ -0,0 +1 @@
+../../Task/Constrained-genericity/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Constrained-random-points-on-a-circle b/Lang/PascalABC.NET/Constrained-random-points-on-a-circle
new file mode 120000
index 0000000000..5d3f518fc9
--- /dev/null
+++ b/Lang/PascalABC.NET/Constrained-random-points-on-a-circle
@@ -0,0 +1 @@
+../../Task/Constrained-random-points-on-a-circle/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Continued-fraction b/Lang/PascalABC.NET/Continued-fraction
new file mode 120000
index 0000000000..f6f45a7af5
--- /dev/null
+++ b/Lang/PascalABC.NET/Continued-fraction
@@ -0,0 +1 @@
+../../Task/Continued-fraction/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Continued-fraction-Arithmetic-Construct-from-rational-number b/Lang/PascalABC.NET/Continued-fraction-Arithmetic-Construct-from-rational-number
new file mode 120000
index 0000000000..2bab87463d
--- /dev/null
+++ b/Lang/PascalABC.NET/Continued-fraction-Arithmetic-Construct-from-rational-number
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-Construct-from-rational-number/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Convert-decimal-number-to-rational b/Lang/PascalABC.NET/Convert-decimal-number-to-rational
new file mode 120000
index 0000000000..7827892fb4
--- /dev/null
+++ b/Lang/PascalABC.NET/Convert-decimal-number-to-rational
@@ -0,0 +1 @@
+../../Task/Convert-decimal-number-to-rational/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Copy-a-string b/Lang/PascalABC.NET/Copy-a-string
new file mode 120000
index 0000000000..d102da9b43
--- /dev/null
+++ b/Lang/PascalABC.NET/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Copy-stdin-to-stdout b/Lang/PascalABC.NET/Copy-stdin-to-stdout
new file mode 120000
index 0000000000..08f7b00296
--- /dev/null
+++ b/Lang/PascalABC.NET/Copy-stdin-to-stdout
@@ -0,0 +1 @@
+../../Task/Copy-stdin-to-stdout/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Count-in-factors b/Lang/PascalABC.NET/Count-in-factors
new file mode 120000
index 0000000000..42811aa9aa
--- /dev/null
+++ b/Lang/PascalABC.NET/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Count-in-octal b/Lang/PascalABC.NET/Count-in-octal
new file mode 120000
index 0000000000..8965e8c25f
--- /dev/null
+++ b/Lang/PascalABC.NET/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Count-occurrences-of-a-substring b/Lang/PascalABC.NET/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..d67adab506
--- /dev/null
+++ b/Lang/PascalABC.NET/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Count-the-coins b/Lang/PascalABC.NET/Count-the-coins
new file mode 120000
index 0000000000..43a4fdb837
--- /dev/null
+++ b/Lang/PascalABC.NET/Count-the-coins
@@ -0,0 +1 @@
+../../Task/Count-the-coins/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Create-a-file b/Lang/PascalABC.NET/Create-a-file
new file mode 120000
index 0000000000..5f3fa97f14
--- /dev/null
+++ b/Lang/PascalABC.NET/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Create-a-two-dimensional-array-at-runtime b/Lang/PascalABC.NET/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..2c7befc65f
--- /dev/null
+++ b/Lang/PascalABC.NET/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Create-an-object-at-a-given-address b/Lang/PascalABC.NET/Create-an-object-at-a-given-address
new file mode 120000
index 0000000000..aa2e5f2ab2
--- /dev/null
+++ b/Lang/PascalABC.NET/Create-an-object-at-a-given-address
@@ -0,0 +1 @@
+../../Task/Create-an-object-at-a-given-address/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Cuban-primes b/Lang/PascalABC.NET/Cuban-primes
new file mode 120000
index 0000000000..844ac15cb4
--- /dev/null
+++ b/Lang/PascalABC.NET/Cuban-primes
@@ -0,0 +1 @@
+../../Task/Cuban-primes/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Cullen-and-Woodall-numbers b/Lang/PascalABC.NET/Cullen-and-Woodall-numbers
new file mode 120000
index 0000000000..714083d23b
--- /dev/null
+++ b/Lang/PascalABC.NET/Cullen-and-Woodall-numbers
@@ -0,0 +1 @@
+../../Task/Cullen-and-Woodall-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Cumulative-standard-deviation b/Lang/PascalABC.NET/Cumulative-standard-deviation
new file mode 120000
index 0000000000..b6ef0ab016
--- /dev/null
+++ b/Lang/PascalABC.NET/Cumulative-standard-deviation
@@ -0,0 +1 @@
+../../Task/Cumulative-standard-deviation/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Currency b/Lang/PascalABC.NET/Currency
new file mode 120000
index 0000000000..2017d69d57
--- /dev/null
+++ b/Lang/PascalABC.NET/Currency
@@ -0,0 +1 @@
+../../Task/Currency/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Curzon-numbers b/Lang/PascalABC.NET/Curzon-numbers
new file mode 120000
index 0000000000..13437cd157
--- /dev/null
+++ b/Lang/PascalABC.NET/Curzon-numbers
@@ -0,0 +1 @@
+../../Task/Curzon-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/DNS-query b/Lang/PascalABC.NET/DNS-query
new file mode 120000
index 0000000000..52bda8e0aa
--- /dev/null
+++ b/Lang/PascalABC.NET/DNS-query
@@ -0,0 +1 @@
+../../Task/DNS-query/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Damm-algorithm b/Lang/PascalABC.NET/Damm-algorithm
new file mode 120000
index 0000000000..6fee5b0ddc
--- /dev/null
+++ b/Lang/PascalABC.NET/Damm-algorithm
@@ -0,0 +1 @@
+../../Task/Damm-algorithm/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Date-format b/Lang/PascalABC.NET/Date-format
new file mode 120000
index 0000000000..176b256586
--- /dev/null
+++ b/Lang/PascalABC.NET/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Day-of-the-week b/Lang/PascalABC.NET/Day-of-the-week
new file mode 120000
index 0000000000..3300b037b4
--- /dev/null
+++ b/Lang/PascalABC.NET/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Deceptive-numbers b/Lang/PascalABC.NET/Deceptive-numbers
new file mode 120000
index 0000000000..007d2d649c
--- /dev/null
+++ b/Lang/PascalABC.NET/Deceptive-numbers
@@ -0,0 +1 @@
+../../Task/Deceptive-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Deconvolution-1D b/Lang/PascalABC.NET/Deconvolution-1D
new file mode 120000
index 0000000000..9604235c77
--- /dev/null
+++ b/Lang/PascalABC.NET/Deconvolution-1D
@@ -0,0 +1 @@
+../../Task/Deconvolution-1D/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Define-a-primitive-data-type b/Lang/PascalABC.NET/Define-a-primitive-data-type
new file mode 120000
index 0000000000..684571f697
--- /dev/null
+++ b/Lang/PascalABC.NET/Define-a-primitive-data-type
@@ -0,0 +1 @@
+../../Task/Define-a-primitive-data-type/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Demings-funnel b/Lang/PascalABC.NET/Demings-funnel
new file mode 120000
index 0000000000..0255de8e51
--- /dev/null
+++ b/Lang/PascalABC.NET/Demings-funnel
@@ -0,0 +1 @@
+../../Task/Demings-funnel/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Department-numbers b/Lang/PascalABC.NET/Department-numbers
new file mode 120000
index 0000000000..1b068d9b34
--- /dev/null
+++ b/Lang/PascalABC.NET/Department-numbers
@@ -0,0 +1 @@
+../../Task/Department-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Descending-primes b/Lang/PascalABC.NET/Descending-primes
new file mode 120000
index 0000000000..5641c47c94
--- /dev/null
+++ b/Lang/PascalABC.NET/Descending-primes
@@ -0,0 +1 @@
+../../Task/Descending-primes/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Detect-division-by-zero b/Lang/PascalABC.NET/Detect-division-by-zero
new file mode 120000
index 0000000000..a843cd631e
--- /dev/null
+++ b/Lang/PascalABC.NET/Detect-division-by-zero
@@ -0,0 +1 @@
+../../Task/Detect-division-by-zero/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Determine-if-a-string-has-all-the-same-characters b/Lang/PascalABC.NET/Determine-if-a-string-has-all-the-same-characters
new file mode 120000
index 0000000000..bb838a1f25
--- /dev/null
+++ b/Lang/PascalABC.NET/Determine-if-a-string-has-all-the-same-characters
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-has-all-the-same-characters/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Determine-if-a-string-has-all-unique-characters b/Lang/PascalABC.NET/Determine-if-a-string-has-all-unique-characters
new file mode 120000
index 0000000000..7c66082879
--- /dev/null
+++ b/Lang/PascalABC.NET/Determine-if-a-string-has-all-unique-characters
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-has-all-unique-characters/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Determine-if-a-string-is-collapsible b/Lang/PascalABC.NET/Determine-if-a-string-is-collapsible
new file mode 120000
index 0000000000..d22cc466fc
--- /dev/null
+++ b/Lang/PascalABC.NET/Determine-if-a-string-is-collapsible
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-collapsible/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Determine-if-a-string-is-numeric b/Lang/PascalABC.NET/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..3ddeb93c61
--- /dev/null
+++ b/Lang/PascalABC.NET/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Determine-sentence-type b/Lang/PascalABC.NET/Determine-sentence-type
new file mode 120000
index 0000000000..dc0284a0e0
--- /dev/null
+++ b/Lang/PascalABC.NET/Determine-sentence-type
@@ -0,0 +1 @@
+../../Task/Determine-sentence-type/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Dice-game-probabilities b/Lang/PascalABC.NET/Dice-game-probabilities
new file mode 120000
index 0000000000..e5f12572e0
--- /dev/null
+++ b/Lang/PascalABC.NET/Dice-game-probabilities
@@ -0,0 +1 @@
+../../Task/Dice-game-probabilities/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Digital-root b/Lang/PascalABC.NET/Digital-root
new file mode 120000
index 0000000000..2ade97cd7d
--- /dev/null
+++ b/Lang/PascalABC.NET/Digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Digital-root-Multiplicative-digital-root b/Lang/PascalABC.NET/Digital-root-Multiplicative-digital-root
new file mode 120000
index 0000000000..3dcbce4c26
--- /dev/null
+++ b/Lang/PascalABC.NET/Digital-root-Multiplicative-digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root-Multiplicative-digital-root/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Dijkstras-algorithm b/Lang/PascalABC.NET/Dijkstras-algorithm
new file mode 120000
index 0000000000..d9c1782412
--- /dev/null
+++ b/Lang/PascalABC.NET/Dijkstras-algorithm
@@ -0,0 +1 @@
+../../Task/Dijkstras-algorithm/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Dinesmans-multiple-dwelling-problem b/Lang/PascalABC.NET/Dinesmans-multiple-dwelling-problem
new file mode 120000
index 0000000000..b9659a07e6
--- /dev/null
+++ b/Lang/PascalABC.NET/Dinesmans-multiple-dwelling-problem
@@ -0,0 +1 @@
+../../Task/Dinesmans-multiple-dwelling-problem/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Disarium-numbers b/Lang/PascalABC.NET/Disarium-numbers
new file mode 120000
index 0000000000..25866ae831
--- /dev/null
+++ b/Lang/PascalABC.NET/Disarium-numbers
@@ -0,0 +1 @@
+../../Task/Disarium-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Distribution-of-0-digits-in-factorial-series b/Lang/PascalABC.NET/Distribution-of-0-digits-in-factorial-series
new file mode 120000
index 0000000000..f8efbe37d1
--- /dev/null
+++ b/Lang/PascalABC.NET/Distribution-of-0-digits-in-factorial-series
@@ -0,0 +1 @@
+../../Task/Distribution-of-0-digits-in-factorial-series/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Diversity-prediction-theorem b/Lang/PascalABC.NET/Diversity-prediction-theorem
new file mode 120000
index 0000000000..a1a0483997
--- /dev/null
+++ b/Lang/PascalABC.NET/Diversity-prediction-theorem
@@ -0,0 +1 @@
+../../Task/Diversity-prediction-theorem/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Doomsday-rule b/Lang/PascalABC.NET/Doomsday-rule
new file mode 120000
index 0000000000..4aed9db54a
--- /dev/null
+++ b/Lang/PascalABC.NET/Doomsday-rule
@@ -0,0 +1 @@
+../../Task/Doomsday-rule/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Dot-product b/Lang/PascalABC.NET/Dot-product
new file mode 120000
index 0000000000..75977e9d01
--- /dev/null
+++ b/Lang/PascalABC.NET/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Doubly-linked-list-Definition b/Lang/PascalABC.NET/Doubly-linked-list-Definition
new file mode 120000
index 0000000000..f2561705cf
--- /dev/null
+++ b/Lang/PascalABC.NET/Doubly-linked-list-Definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Definition/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Doubly-linked-list-Element-definition b/Lang/PascalABC.NET/Doubly-linked-list-Element-definition
new file mode 120000
index 0000000000..50c9d03e8c
--- /dev/null
+++ b/Lang/PascalABC.NET/Doubly-linked-list-Element-definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-definition/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Doubly-linked-list-Element-insertion b/Lang/PascalABC.NET/Doubly-linked-list-Element-insertion
new file mode 120000
index 0000000000..28af162224
--- /dev/null
+++ b/Lang/PascalABC.NET/Doubly-linked-list-Element-insertion
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-insertion/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Doubly-linked-list-Traversal b/Lang/PascalABC.NET/Doubly-linked-list-Traversal
new file mode 120000
index 0000000000..9cc3d51b16
--- /dev/null
+++ b/Lang/PascalABC.NET/Doubly-linked-list-Traversal
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Traversal/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Dragon-curve b/Lang/PascalABC.NET/Dragon-curve
new file mode 120000
index 0000000000..1a8a6239bd
--- /dev/null
+++ b/Lang/PascalABC.NET/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Draw-a-pixel b/Lang/PascalABC.NET/Draw-a-pixel
new file mode 120000
index 0000000000..cdcb7e2918
--- /dev/null
+++ b/Lang/PascalABC.NET/Draw-a-pixel
@@ -0,0 +1 @@
+../../Task/Draw-a-pixel/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Draw-a-rotating-cube b/Lang/PascalABC.NET/Draw-a-rotating-cube
new file mode 120000
index 0000000000..9092790488
--- /dev/null
+++ b/Lang/PascalABC.NET/Draw-a-rotating-cube
@@ -0,0 +1 @@
+../../Task/Draw-a-rotating-cube/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Duffinian-numbers b/Lang/PascalABC.NET/Duffinian-numbers
new file mode 120000
index 0000000000..ed0f087334
--- /dev/null
+++ b/Lang/PascalABC.NET/Duffinian-numbers
@@ -0,0 +1 @@
+../../Task/Duffinian-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Dutch-national-flag-problem b/Lang/PascalABC.NET/Dutch-national-flag-problem
new file mode 120000
index 0000000000..20b563dbd5
--- /dev/null
+++ b/Lang/PascalABC.NET/Dutch-national-flag-problem
@@ -0,0 +1 @@
+../../Task/Dutch-national-flag-problem/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Egyptian-division b/Lang/PascalABC.NET/Egyptian-division
new file mode 120000
index 0000000000..d931ff8696
--- /dev/null
+++ b/Lang/PascalABC.NET/Egyptian-division
@@ -0,0 +1 @@
+../../Task/Egyptian-division/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Emirp-primes b/Lang/PascalABC.NET/Emirp-primes
new file mode 120000
index 0000000000..69e5f4d7f7
--- /dev/null
+++ b/Lang/PascalABC.NET/Emirp-primes
@@ -0,0 +1 @@
+../../Task/Emirp-primes/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Empty-program b/Lang/PascalABC.NET/Empty-program
new file mode 120000
index 0000000000..9a2aa557cd
--- /dev/null
+++ b/Lang/PascalABC.NET/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Empty-string b/Lang/PascalABC.NET/Empty-string
new file mode 120000
index 0000000000..39d89b0e6b
--- /dev/null
+++ b/Lang/PascalABC.NET/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Entropy b/Lang/PascalABC.NET/Entropy
new file mode 120000
index 0000000000..792ccf7d2a
--- /dev/null
+++ b/Lang/PascalABC.NET/Entropy
@@ -0,0 +1 @@
+../../Task/Entropy/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Enumerations b/Lang/PascalABC.NET/Enumerations
new file mode 120000
index 0000000000..3fbeab7aac
--- /dev/null
+++ b/Lang/PascalABC.NET/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Environment-variables b/Lang/PascalABC.NET/Environment-variables
new file mode 120000
index 0000000000..a87e0f0eca
--- /dev/null
+++ b/Lang/PascalABC.NET/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Equal-prime-and-composite-sums b/Lang/PascalABC.NET/Equal-prime-and-composite-sums
new file mode 120000
index 0000000000..e0ef8faaeb
--- /dev/null
+++ b/Lang/PascalABC.NET/Equal-prime-and-composite-sums
@@ -0,0 +1 @@
+../../Task/Equal-prime-and-composite-sums/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Equilibrium-index b/Lang/PascalABC.NET/Equilibrium-index
new file mode 120000
index 0000000000..1ebc161d1d
--- /dev/null
+++ b/Lang/PascalABC.NET/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Erd-s-Nicolas-numbers b/Lang/PascalABC.NET/Erd-s-Nicolas-numbers
new file mode 120000
index 0000000000..8d04b147b5
--- /dev/null
+++ b/Lang/PascalABC.NET/Erd-s-Nicolas-numbers
@@ -0,0 +1 @@
+../../Task/Erd-s-Nicolas-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Ethiopian-multiplication b/Lang/PascalABC.NET/Ethiopian-multiplication
new file mode 120000
index 0000000000..225d8834fa
--- /dev/null
+++ b/Lang/PascalABC.NET/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Euclid-Mullin-sequence b/Lang/PascalABC.NET/Euclid-Mullin-sequence
new file mode 120000
index 0000000000..c1a4f722c5
--- /dev/null
+++ b/Lang/PascalABC.NET/Euclid-Mullin-sequence
@@ -0,0 +1 @@
+../../Task/Euclid-Mullin-sequence/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Euler-method b/Lang/PascalABC.NET/Euler-method
new file mode 120000
index 0000000000..d3b60b57ad
--- /dev/null
+++ b/Lang/PascalABC.NET/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Eulers-constant-0.5772... b/Lang/PascalABC.NET/Eulers-constant-0.5772...
new file mode 120000
index 0000000000..093c235349
--- /dev/null
+++ b/Lang/PascalABC.NET/Eulers-constant-0.5772...
@@ -0,0 +1 @@
+../../Task/Eulers-constant-0.5772.../PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Eulers-identity b/Lang/PascalABC.NET/Eulers-identity
new file mode 120000
index 0000000000..05f2a3a1ec
--- /dev/null
+++ b/Lang/PascalABC.NET/Eulers-identity
@@ -0,0 +1 @@
+../../Task/Eulers-identity/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Eulers-sum-of-powers-conjecture b/Lang/PascalABC.NET/Eulers-sum-of-powers-conjecture
new file mode 120000
index 0000000000..a568356eba
--- /dev/null
+++ b/Lang/PascalABC.NET/Eulers-sum-of-powers-conjecture
@@ -0,0 +1 @@
+../../Task/Eulers-sum-of-powers-conjecture/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Evaluate-binomial-coefficients b/Lang/PascalABC.NET/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..6ad68ae41d
--- /dev/null
+++ b/Lang/PascalABC.NET/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Even-or-odd b/Lang/PascalABC.NET/Even-or-odd
new file mode 120000
index 0000000000..4191597943
--- /dev/null
+++ b/Lang/PascalABC.NET/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Events b/Lang/PascalABC.NET/Events
new file mode 120000
index 0000000000..75843719a2
--- /dev/null
+++ b/Lang/PascalABC.NET/Events
@@ -0,0 +1 @@
+../../Task/Events/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Evolutionary-algorithm b/Lang/PascalABC.NET/Evolutionary-algorithm
new file mode 120000
index 0000000000..bc9856dbc0
--- /dev/null
+++ b/Lang/PascalABC.NET/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Exceptions b/Lang/PascalABC.NET/Exceptions
new file mode 120000
index 0000000000..b4b7999bea
--- /dev/null
+++ b/Lang/PascalABC.NET/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/PascalABC.NET/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..7cf9286a5e
--- /dev/null
+++ b/Lang/PascalABC.NET/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Execute-a-system-command b/Lang/PascalABC.NET/Execute-a-system-command
new file mode 120000
index 0000000000..7b3f5b40fe
--- /dev/null
+++ b/Lang/PascalABC.NET/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Exponentiation-order b/Lang/PascalABC.NET/Exponentiation-order
new file mode 120000
index 0000000000..7066d9dd6b
--- /dev/null
+++ b/Lang/PascalABC.NET/Exponentiation-order
@@ -0,0 +1 @@
+../../Task/Exponentiation-order/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Exponentiation-with-infix-operators-in-or-operating-on-the-base b/Lang/PascalABC.NET/Exponentiation-with-infix-operators-in-or-operating-on-the-base
new file mode 120000
index 0000000000..cc33366128
--- /dev/null
+++ b/Lang/PascalABC.NET/Exponentiation-with-infix-operators-in-or-operating-on-the-base
@@ -0,0 +1 @@
+../../Task/Exponentiation-with-infix-operators-in-or-operating-on-the-base/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Extend-your-language b/Lang/PascalABC.NET/Extend-your-language
new file mode 120000
index 0000000000..ee51376fd1
--- /dev/null
+++ b/Lang/PascalABC.NET/Extend-your-language
@@ -0,0 +1 @@
+../../Task/Extend-your-language/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Extensible-prime-generator b/Lang/PascalABC.NET/Extensible-prime-generator
new file mode 120000
index 0000000000..c255987252
--- /dev/null
+++ b/Lang/PascalABC.NET/Extensible-prime-generator
@@ -0,0 +1 @@
+../../Task/Extensible-prime-generator/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Extreme-floating-point-values b/Lang/PascalABC.NET/Extreme-floating-point-values
new file mode 120000
index 0000000000..438be3c964
--- /dev/null
+++ b/Lang/PascalABC.NET/Extreme-floating-point-values
@@ -0,0 +1 @@
+../../Task/Extreme-floating-point-values/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Factorial b/Lang/PascalABC.NET/Factorial
new file mode 120000
index 0000000000..64716300fa
--- /dev/null
+++ b/Lang/PascalABC.NET/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Factorial-primes b/Lang/PascalABC.NET/Factorial-primes
new file mode 120000
index 0000000000..5b7eb12507
--- /dev/null
+++ b/Lang/PascalABC.NET/Factorial-primes
@@ -0,0 +1 @@
+../../Task/Factorial-primes/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Factorions b/Lang/PascalABC.NET/Factorions
new file mode 120000
index 0000000000..8d771f5a56
--- /dev/null
+++ b/Lang/PascalABC.NET/Factorions
@@ -0,0 +1 @@
+../../Task/Factorions/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Factors-of-a-Mersenne-number b/Lang/PascalABC.NET/Factors-of-a-Mersenne-number
new file mode 120000
index 0000000000..3160230a03
--- /dev/null
+++ b/Lang/PascalABC.NET/Factors-of-a-Mersenne-number
@@ -0,0 +1 @@
+../../Task/Factors-of-a-Mersenne-number/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Factors-of-an-integer b/Lang/PascalABC.NET/Factors-of-an-integer
new file mode 120000
index 0000000000..b2f675ad56
--- /dev/null
+++ b/Lang/PascalABC.NET/Factors-of-an-integer
@@ -0,0 +1 @@
+../../Task/Factors-of-an-integer/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Fairshare-between-two-and-more b/Lang/PascalABC.NET/Fairshare-between-two-and-more
new file mode 120000
index 0000000000..c21d1ab427
--- /dev/null
+++ b/Lang/PascalABC.NET/Fairshare-between-two-and-more
@@ -0,0 +1 @@
+../../Task/Fairshare-between-two-and-more/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Farey-sequence b/Lang/PascalABC.NET/Farey-sequence
new file mode 120000
index 0000000000..cd060f6fa5
--- /dev/null
+++ b/Lang/PascalABC.NET/Farey-sequence
@@ -0,0 +1 @@
+../../Task/Farey-sequence/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Fast-Fourier-transform b/Lang/PascalABC.NET/Fast-Fourier-transform
new file mode 120000
index 0000000000..2ebeb31f36
--- /dev/null
+++ b/Lang/PascalABC.NET/Fast-Fourier-transform
@@ -0,0 +1 @@
+../../Task/Fast-Fourier-transform/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Feigenbaum-constant-calculation b/Lang/PascalABC.NET/Feigenbaum-constant-calculation
new file mode 120000
index 0000000000..df0fd85992
--- /dev/null
+++ b/Lang/PascalABC.NET/Feigenbaum-constant-calculation
@@ -0,0 +1 @@
+../../Task/Feigenbaum-constant-calculation/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Fermat-numbers b/Lang/PascalABC.NET/Fermat-numbers
new file mode 120000
index 0000000000..87303a8419
--- /dev/null
+++ b/Lang/PascalABC.NET/Fermat-numbers
@@ -0,0 +1 @@
+../../Task/Fermat-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Fibonacci-word b/Lang/PascalABC.NET/Fibonacci-word
new file mode 120000
index 0000000000..6accc7df5c
--- /dev/null
+++ b/Lang/PascalABC.NET/Fibonacci-word
@@ -0,0 +1 @@
+../../Task/Fibonacci-word/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Fibonacci-word-fractal b/Lang/PascalABC.NET/Fibonacci-word-fractal
new file mode 120000
index 0000000000..32647433c7
--- /dev/null
+++ b/Lang/PascalABC.NET/Fibonacci-word-fractal
@@ -0,0 +1 @@
+../../Task/Fibonacci-word-fractal/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/File-input-output b/Lang/PascalABC.NET/File-input-output
new file mode 120000
index 0000000000..aa29aa165d
--- /dev/null
+++ b/Lang/PascalABC.NET/File-input-output
@@ -0,0 +1 @@
+../../Task/File-input-output/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/File-modification-time b/Lang/PascalABC.NET/File-modification-time
new file mode 120000
index 0000000000..f54091dc36
--- /dev/null
+++ b/Lang/PascalABC.NET/File-modification-time
@@ -0,0 +1 @@
+../../Task/File-modification-time/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/File-size b/Lang/PascalABC.NET/File-size
new file mode 120000
index 0000000000..cb4f56c334
--- /dev/null
+++ b/Lang/PascalABC.NET/File-size
@@ -0,0 +1 @@
+../../Task/File-size/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Filter b/Lang/PascalABC.NET/Filter
new file mode 120000
index 0000000000..b6b1f56f68
--- /dev/null
+++ b/Lang/PascalABC.NET/Filter
@@ -0,0 +1 @@
+../../Task/Filter/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Find-common-directory-path b/Lang/PascalABC.NET/Find-common-directory-path
new file mode 120000
index 0000000000..48495d80e3
--- /dev/null
+++ b/Lang/PascalABC.NET/Find-common-directory-path
@@ -0,0 +1 @@
+../../Task/Find-common-directory-path/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Find-if-a-point-is-within-a-triangle b/Lang/PascalABC.NET/Find-if-a-point-is-within-a-triangle
new file mode 120000
index 0000000000..995f2a0af8
--- /dev/null
+++ b/Lang/PascalABC.NET/Find-if-a-point-is-within-a-triangle
@@ -0,0 +1 @@
+../../Task/Find-if-a-point-is-within-a-triangle/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Find-limit-of-recursion b/Lang/PascalABC.NET/Find-limit-of-recursion
new file mode 120000
index 0000000000..8e738ede74
--- /dev/null
+++ b/Lang/PascalABC.NET/Find-limit-of-recursion
@@ -0,0 +1 @@
+../../Task/Find-limit-of-recursion/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Find-palindromic-numbers-in-both-binary-and-ternary-bases b/Lang/PascalABC.NET/Find-palindromic-numbers-in-both-binary-and-ternary-bases
new file mode 120000
index 0000000000..d897fb9951
--- /dev/null
+++ b/Lang/PascalABC.NET/Find-palindromic-numbers-in-both-binary-and-ternary-bases
@@ -0,0 +1 @@
+../../Task/Find-palindromic-numbers-in-both-binary-and-ternary-bases/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Find-the-intersection-of-a-line-with-a-plane b/Lang/PascalABC.NET/Find-the-intersection-of-a-line-with-a-plane
new file mode 120000
index 0000000000..db54cce940
--- /dev/null
+++ b/Lang/PascalABC.NET/Find-the-intersection-of-a-line-with-a-plane
@@ -0,0 +1 @@
+../../Task/Find-the-intersection-of-a-line-with-a-plane/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Find-the-intersection-of-two-lines b/Lang/PascalABC.NET/Find-the-intersection-of-two-lines
new file mode 120000
index 0000000000..654d760b69
--- /dev/null
+++ b/Lang/PascalABC.NET/Find-the-intersection-of-two-lines
@@ -0,0 +1 @@
+../../Task/Find-the-intersection-of-two-lines/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Find-the-last-Sunday-of-each-month b/Lang/PascalABC.NET/Find-the-last-Sunday-of-each-month
new file mode 120000
index 0000000000..14b7c01559
--- /dev/null
+++ b/Lang/PascalABC.NET/Find-the-last-Sunday-of-each-month
@@ -0,0 +1 @@
+../../Task/Find-the-last-Sunday-of-each-month/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Find-the-missing-permutation b/Lang/PascalABC.NET/Find-the-missing-permutation
new file mode 120000
index 0000000000..74bb4ee6f0
--- /dev/null
+++ b/Lang/PascalABC.NET/Find-the-missing-permutation
@@ -0,0 +1 @@
+../../Task/Find-the-missing-permutation/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/First-class-functions b/Lang/PascalABC.NET/First-class-functions
new file mode 120000
index 0000000000..d4c191f6d3
--- /dev/null
+++ b/Lang/PascalABC.NET/First-class-functions
@@ -0,0 +1 @@
+../../Task/First-class-functions/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/First-class-functions-Use-numbers-analogously b/Lang/PascalABC.NET/First-class-functions-Use-numbers-analogously
new file mode 120000
index 0000000000..60d3a6b1c4
--- /dev/null
+++ b/Lang/PascalABC.NET/First-class-functions-Use-numbers-analogously
@@ -0,0 +1 @@
+../../Task/First-class-functions-Use-numbers-analogously/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/First-perfect-square-in-base-n-with-n-unique-digits b/Lang/PascalABC.NET/First-perfect-square-in-base-n-with-n-unique-digits
new file mode 120000
index 0000000000..dd9c2365f8
--- /dev/null
+++ b/Lang/PascalABC.NET/First-perfect-square-in-base-n-with-n-unique-digits
@@ -0,0 +1 @@
+../../Task/First-perfect-square-in-base-n-with-n-unique-digits/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/First-power-of-2-that-has-leading-decimal-digits-of-12 b/Lang/PascalABC.NET/First-power-of-2-that-has-leading-decimal-digits-of-12
new file mode 120000
index 0000000000..31a48a0c89
--- /dev/null
+++ b/Lang/PascalABC.NET/First-power-of-2-that-has-leading-decimal-digits-of-12
@@ -0,0 +1 @@
+../../Task/First-power-of-2-that-has-leading-decimal-digits-of-12/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Five-weekends b/Lang/PascalABC.NET/Five-weekends
new file mode 120000
index 0000000000..868fa3eedb
--- /dev/null
+++ b/Lang/PascalABC.NET/Five-weekends
@@ -0,0 +1 @@
+../../Task/Five-weekends/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Fivenum b/Lang/PascalABC.NET/Fivenum
new file mode 120000
index 0000000000..ef9246e91a
--- /dev/null
+++ b/Lang/PascalABC.NET/Fivenum
@@ -0,0 +1 @@
+../../Task/Fivenum/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/FizzBuzz b/Lang/PascalABC.NET/FizzBuzz
new file mode 120000
index 0000000000..9af47ffeb0
--- /dev/null
+++ b/Lang/PascalABC.NET/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Flatten-a-list b/Lang/PascalABC.NET/Flatten-a-list
new file mode 120000
index 0000000000..951e9e626d
--- /dev/null
+++ b/Lang/PascalABC.NET/Flatten-a-list
@@ -0,0 +1 @@
+../../Task/Flatten-a-list/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Floyds-triangle b/Lang/PascalABC.NET/Floyds-triangle
new file mode 120000
index 0000000000..741db9a754
--- /dev/null
+++ b/Lang/PascalABC.NET/Floyds-triangle
@@ -0,0 +1 @@
+../../Task/Floyds-triangle/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Fork b/Lang/PascalABC.NET/Fork
new file mode 120000
index 0000000000..21f23b18c9
--- /dev/null
+++ b/Lang/PascalABC.NET/Fork
@@ -0,0 +1 @@
+../../Task/Fork/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Formatted-numeric-output b/Lang/PascalABC.NET/Formatted-numeric-output
new file mode 120000
index 0000000000..d5385037bc
--- /dev/null
+++ b/Lang/PascalABC.NET/Formatted-numeric-output
@@ -0,0 +1 @@
+../../Task/Formatted-numeric-output/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Forward-difference b/Lang/PascalABC.NET/Forward-difference
new file mode 120000
index 0000000000..6ba594a872
--- /dev/null
+++ b/Lang/PascalABC.NET/Forward-difference
@@ -0,0 +1 @@
+../../Task/Forward-difference/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Fractal-tree b/Lang/PascalABC.NET/Fractal-tree
new file mode 120000
index 0000000000..1018455008
--- /dev/null
+++ b/Lang/PascalABC.NET/Fractal-tree
@@ -0,0 +1 @@
+../../Task/Fractal-tree/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Function-composition b/Lang/PascalABC.NET/Function-composition
new file mode 120000
index 0000000000..10938e885c
--- /dev/null
+++ b/Lang/PascalABC.NET/Function-composition
@@ -0,0 +1 @@
+../../Task/Function-composition/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Function-definition b/Lang/PascalABC.NET/Function-definition
new file mode 120000
index 0000000000..cc1ff414b4
--- /dev/null
+++ b/Lang/PascalABC.NET/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Fusc-sequence b/Lang/PascalABC.NET/Fusc-sequence
new file mode 120000
index 0000000000..30b9581633
--- /dev/null
+++ b/Lang/PascalABC.NET/Fusc-sequence
@@ -0,0 +1 @@
+../../Task/Fusc-sequence/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Gamma-function b/Lang/PascalABC.NET/Gamma-function
new file mode 120000
index 0000000000..d0d1bc1bed
--- /dev/null
+++ b/Lang/PascalABC.NET/Gamma-function
@@ -0,0 +1 @@
+../../Task/Gamma-function/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Gapful-numbers b/Lang/PascalABC.NET/Gapful-numbers
new file mode 120000
index 0000000000..c53e98533f
--- /dev/null
+++ b/Lang/PascalABC.NET/Gapful-numbers
@@ -0,0 +1 @@
+../../Task/Gapful-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Gauss-Jordan-matrix-inversion b/Lang/PascalABC.NET/Gauss-Jordan-matrix-inversion
new file mode 120000
index 0000000000..af61f036c2
--- /dev/null
+++ b/Lang/PascalABC.NET/Gauss-Jordan-matrix-inversion
@@ -0,0 +1 @@
+../../Task/Gauss-Jordan-matrix-inversion/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Gaussian-elimination b/Lang/PascalABC.NET/Gaussian-elimination
new file mode 120000
index 0000000000..263ffc6099
--- /dev/null
+++ b/Lang/PascalABC.NET/Gaussian-elimination
@@ -0,0 +1 @@
+../../Task/Gaussian-elimination/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/General-FizzBuzz b/Lang/PascalABC.NET/General-FizzBuzz
new file mode 120000
index 0000000000..655ae97e52
--- /dev/null
+++ b/Lang/PascalABC.NET/General-FizzBuzz
@@ -0,0 +1 @@
+../../Task/General-FizzBuzz/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Generate-Chess960-starting-position b/Lang/PascalABC.NET/Generate-Chess960-starting-position
new file mode 120000
index 0000000000..0f95aaeb00
--- /dev/null
+++ b/Lang/PascalABC.NET/Generate-Chess960-starting-position
@@ -0,0 +1 @@
+../../Task/Generate-Chess960-starting-position/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Generate-lower-case-ASCII-alphabet b/Lang/PascalABC.NET/Generate-lower-case-ASCII-alphabet
new file mode 120000
index 0000000000..8ef0c3c6f0
--- /dev/null
+++ b/Lang/PascalABC.NET/Generate-lower-case-ASCII-alphabet
@@ -0,0 +1 @@
+../../Task/Generate-lower-case-ASCII-alphabet/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Generator-Exponential b/Lang/PascalABC.NET/Generator-Exponential
new file mode 120000
index 0000000000..ca6d0b1093
--- /dev/null
+++ b/Lang/PascalABC.NET/Generator-Exponential
@@ -0,0 +1 @@
+../../Task/Generator-Exponential/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Generic-swap b/Lang/PascalABC.NET/Generic-swap
new file mode 120000
index 0000000000..35fd1c3542
--- /dev/null
+++ b/Lang/PascalABC.NET/Generic-swap
@@ -0,0 +1 @@
+../../Task/Generic-swap/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Get-system-command-output b/Lang/PascalABC.NET/Get-system-command-output
new file mode 120000
index 0000000000..41cb609755
--- /dev/null
+++ b/Lang/PascalABC.NET/Get-system-command-output
@@ -0,0 +1 @@
+../../Task/Get-system-command-output/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Giuga-numbers b/Lang/PascalABC.NET/Giuga-numbers
new file mode 120000
index 0000000000..e5f281e7e3
--- /dev/null
+++ b/Lang/PascalABC.NET/Giuga-numbers
@@ -0,0 +1 @@
+../../Task/Giuga-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Globally-replace-text-in-several-files b/Lang/PascalABC.NET/Globally-replace-text-in-several-files
new file mode 120000
index 0000000000..d8545a73f2
--- /dev/null
+++ b/Lang/PascalABC.NET/Globally-replace-text-in-several-files
@@ -0,0 +1 @@
+../../Task/Globally-replace-text-in-several-files/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Goldbachs-comet b/Lang/PascalABC.NET/Goldbachs-comet
new file mode 120000
index 0000000000..01fcc2a336
--- /dev/null
+++ b/Lang/PascalABC.NET/Goldbachs-comet
@@ -0,0 +1 @@
+../../Task/Goldbachs-comet/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Golden-ratio-Convergence b/Lang/PascalABC.NET/Golden-ratio-Convergence
new file mode 120000
index 0000000000..375683d4e0
--- /dev/null
+++ b/Lang/PascalABC.NET/Golden-ratio-Convergence
@@ -0,0 +1 @@
+../../Task/Golden-ratio-Convergence/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Gray-code b/Lang/PascalABC.NET/Gray-code
new file mode 120000
index 0000000000..078fdc2c8b
--- /dev/null
+++ b/Lang/PascalABC.NET/Gray-code
@@ -0,0 +1 @@
+../../Task/Gray-code/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Greatest-common-divisor b/Lang/PascalABC.NET/Greatest-common-divisor
new file mode 120000
index 0000000000..27dc1c21f9
--- /dev/null
+++ b/Lang/PascalABC.NET/Greatest-common-divisor
@@ -0,0 +1 @@
+../../Task/Greatest-common-divisor/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Greatest-element-of-a-list b/Lang/PascalABC.NET/Greatest-element-of-a-list
new file mode 120000
index 0000000000..b5185eb27d
--- /dev/null
+++ b/Lang/PascalABC.NET/Greatest-element-of-a-list
@@ -0,0 +1 @@
+../../Task/Greatest-element-of-a-list/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Greatest-subsequential-sum b/Lang/PascalABC.NET/Greatest-subsequential-sum
new file mode 120000
index 0000000000..10aeb8b0f0
--- /dev/null
+++ b/Lang/PascalABC.NET/Greatest-subsequential-sum
@@ -0,0 +1 @@
+../../Task/Greatest-subsequential-sum/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Guess-the-number b/Lang/PascalABC.NET/Guess-the-number
new file mode 120000
index 0000000000..7fff26f7e2
--- /dev/null
+++ b/Lang/PascalABC.NET/Guess-the-number
@@ -0,0 +1 @@
+../../Task/Guess-the-number/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/HTTP b/Lang/PascalABC.NET/HTTP
new file mode 120000
index 0000000000..28d630c27b
--- /dev/null
+++ b/Lang/PascalABC.NET/HTTP
@@ -0,0 +1 @@
+../../Task/HTTP/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/HTTPS b/Lang/PascalABC.NET/HTTPS
new file mode 120000
index 0000000000..88259c85d4
--- /dev/null
+++ b/Lang/PascalABC.NET/HTTPS
@@ -0,0 +1 @@
+../../Task/HTTPS/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/HTTPS-Authenticated b/Lang/PascalABC.NET/HTTPS-Authenticated
new file mode 120000
index 0000000000..5f39b0a90c
--- /dev/null
+++ b/Lang/PascalABC.NET/HTTPS-Authenticated
@@ -0,0 +1 @@
+../../Task/HTTPS-Authenticated/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Hailstone-sequence b/Lang/PascalABC.NET/Hailstone-sequence
new file mode 120000
index 0000000000..f83360c3ea
--- /dev/null
+++ b/Lang/PascalABC.NET/Hailstone-sequence
@@ -0,0 +1 @@
+../../Task/Hailstone-sequence/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Halt-and-catch-fire b/Lang/PascalABC.NET/Halt-and-catch-fire
new file mode 120000
index 0000000000..531d664087
--- /dev/null
+++ b/Lang/PascalABC.NET/Halt-and-catch-fire
@@ -0,0 +1 @@
+../../Task/Halt-and-catch-fire/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Hamming-numbers b/Lang/PascalABC.NET/Hamming-numbers
new file mode 120000
index 0000000000..bd37bceed8
--- /dev/null
+++ b/Lang/PascalABC.NET/Hamming-numbers
@@ -0,0 +1 @@
+../../Task/Hamming-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Handle-a-signal b/Lang/PascalABC.NET/Handle-a-signal
new file mode 120000
index 0000000000..e3f3390134
--- /dev/null
+++ b/Lang/PascalABC.NET/Handle-a-signal
@@ -0,0 +1 @@
+../../Task/Handle-a-signal/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Happy-numbers b/Lang/PascalABC.NET/Happy-numbers
new file mode 120000
index 0000000000..2b0f0e30d5
--- /dev/null
+++ b/Lang/PascalABC.NET/Happy-numbers
@@ -0,0 +1 @@
+../../Task/Happy-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Harmonic-series b/Lang/PascalABC.NET/Harmonic-series
new file mode 120000
index 0000000000..c5dec236a3
--- /dev/null
+++ b/Lang/PascalABC.NET/Harmonic-series
@@ -0,0 +1 @@
+../../Task/Harmonic-series/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Harshad-or-Niven-series b/Lang/PascalABC.NET/Harshad-or-Niven-series
new file mode 120000
index 0000000000..4a30ac9f34
--- /dev/null
+++ b/Lang/PascalABC.NET/Harshad-or-Niven-series
@@ -0,0 +1 @@
+../../Task/Harshad-or-Niven-series/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Hash-from-two-arrays b/Lang/PascalABC.NET/Hash-from-two-arrays
new file mode 120000
index 0000000000..06b09f8bf9
--- /dev/null
+++ b/Lang/PascalABC.NET/Hash-from-two-arrays
@@ -0,0 +1 @@
+../../Task/Hash-from-two-arrays/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Haversine-formula b/Lang/PascalABC.NET/Haversine-formula
new file mode 120000
index 0000000000..505d4c95b1
--- /dev/null
+++ b/Lang/PascalABC.NET/Haversine-formula
@@ -0,0 +1 @@
+../../Task/Haversine-formula/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Hello-world-Line-printer b/Lang/PascalABC.NET/Hello-world-Line-printer
new file mode 120000
index 0000000000..87d7f6b37c
--- /dev/null
+++ b/Lang/PascalABC.NET/Hello-world-Line-printer
@@ -0,0 +1 @@
+../../Task/Hello-world-Line-printer/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Hello-world-Newline-omission b/Lang/PascalABC.NET/Hello-world-Newline-omission
new file mode 120000
index 0000000000..2c094828d8
--- /dev/null
+++ b/Lang/PascalABC.NET/Hello-world-Newline-omission
@@ -0,0 +1 @@
+../../Task/Hello-world-Newline-omission/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Hello-world-Standard-error b/Lang/PascalABC.NET/Hello-world-Standard-error
new file mode 120000
index 0000000000..4b2452f23e
--- /dev/null
+++ b/Lang/PascalABC.NET/Hello-world-Standard-error
@@ -0,0 +1 @@
+../../Task/Hello-world-Standard-error/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Here-document b/Lang/PascalABC.NET/Here-document
new file mode 120000
index 0000000000..073a394aa5
--- /dev/null
+++ b/Lang/PascalABC.NET/Here-document
@@ -0,0 +1 @@
+../../Task/Here-document/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Heronian-triangles b/Lang/PascalABC.NET/Heronian-triangles
new file mode 120000
index 0000000000..38597384c9
--- /dev/null
+++ b/Lang/PascalABC.NET/Heronian-triangles
@@ -0,0 +1 @@
+../../Task/Heronian-triangles/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Hex-words b/Lang/PascalABC.NET/Hex-words
new file mode 120000
index 0000000000..487faee543
--- /dev/null
+++ b/Lang/PascalABC.NET/Hex-words
@@ -0,0 +1 @@
+../../Task/Hex-words/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Hickerson-series-of-almost-integers b/Lang/PascalABC.NET/Hickerson-series-of-almost-integers
new file mode 120000
index 0000000000..8789a0cbe0
--- /dev/null
+++ b/Lang/PascalABC.NET/Hickerson-series-of-almost-integers
@@ -0,0 +1 @@
+../../Task/Hickerson-series-of-almost-integers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Higher-order-functions b/Lang/PascalABC.NET/Higher-order-functions
new file mode 120000
index 0000000000..c3ac017464
--- /dev/null
+++ b/Lang/PascalABC.NET/Higher-order-functions
@@ -0,0 +1 @@
+../../Task/Higher-order-functions/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Hilbert-curve b/Lang/PascalABC.NET/Hilbert-curve
new file mode 120000
index 0000000000..319eba89d6
--- /dev/null
+++ b/Lang/PascalABC.NET/Hilbert-curve
@@ -0,0 +1 @@
+../../Task/Hilbert-curve/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Hofstadter-Conway-$10-000-sequence b/Lang/PascalABC.NET/Hofstadter-Conway-$10-000-sequence
new file mode 120000
index 0000000000..6f07522b20
--- /dev/null
+++ b/Lang/PascalABC.NET/Hofstadter-Conway-$10-000-sequence
@@ -0,0 +1 @@
+../../Task/Hofstadter-Conway-$10-000-sequence/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Hofstadter-Figure-Figure-sequences b/Lang/PascalABC.NET/Hofstadter-Figure-Figure-sequences
new file mode 120000
index 0000000000..658c56f7ad
--- /dev/null
+++ b/Lang/PascalABC.NET/Hofstadter-Figure-Figure-sequences
@@ -0,0 +1 @@
+../../Task/Hofstadter-Figure-Figure-sequences/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Hofstadter-Q-sequence b/Lang/PascalABC.NET/Hofstadter-Q-sequence
new file mode 120000
index 0000000000..454e935a80
--- /dev/null
+++ b/Lang/PascalABC.NET/Hofstadter-Q-sequence
@@ -0,0 +1 @@
+../../Task/Hofstadter-Q-sequence/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Horizontal-sundial-calculations b/Lang/PascalABC.NET/Horizontal-sundial-calculations
new file mode 120000
index 0000000000..6ab4227b2a
--- /dev/null
+++ b/Lang/PascalABC.NET/Horizontal-sundial-calculations
@@ -0,0 +1 @@
+../../Task/Horizontal-sundial-calculations/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Horners-rule-for-polynomial-evaluation b/Lang/PascalABC.NET/Horners-rule-for-polynomial-evaluation
new file mode 120000
index 0000000000..43a8514719
--- /dev/null
+++ b/Lang/PascalABC.NET/Horners-rule-for-polynomial-evaluation
@@ -0,0 +1 @@
+../../Task/Horners-rule-for-polynomial-evaluation/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Host-introspection b/Lang/PascalABC.NET/Host-introspection
new file mode 120000
index 0000000000..786a9617c6
--- /dev/null
+++ b/Lang/PascalABC.NET/Host-introspection
@@ -0,0 +1 @@
+../../Task/Host-introspection/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Hostname b/Lang/PascalABC.NET/Hostname
new file mode 120000
index 0000000000..89e14c01f4
--- /dev/null
+++ b/Lang/PascalABC.NET/Hostname
@@ -0,0 +1 @@
+../../Task/Hostname/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Humble-numbers b/Lang/PascalABC.NET/Humble-numbers
new file mode 120000
index 0000000000..ee2cb9aa95
--- /dev/null
+++ b/Lang/PascalABC.NET/Humble-numbers
@@ -0,0 +1 @@
+../../Task/Humble-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/I-before-E-except-after-C b/Lang/PascalABC.NET/I-before-E-except-after-C
new file mode 120000
index 0000000000..db9c4689f9
--- /dev/null
+++ b/Lang/PascalABC.NET/I-before-E-except-after-C
@@ -0,0 +1 @@
+../../Task/I-before-E-except-after-C/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/IBAN b/Lang/PascalABC.NET/IBAN
new file mode 120000
index 0000000000..2a1610e29a
--- /dev/null
+++ b/Lang/PascalABC.NET/IBAN
@@ -0,0 +1 @@
+../../Task/IBAN/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/ISBN13-check-digit b/Lang/PascalABC.NET/ISBN13-check-digit
new file mode 120000
index 0000000000..1cc5a9193a
--- /dev/null
+++ b/Lang/PascalABC.NET/ISBN13-check-digit
@@ -0,0 +1 @@
+../../Task/ISBN13-check-digit/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Identity-matrix b/Lang/PascalABC.NET/Identity-matrix
new file mode 120000
index 0000000000..e498197ea6
--- /dev/null
+++ b/Lang/PascalABC.NET/Identity-matrix
@@ -0,0 +1 @@
+../../Task/Identity-matrix/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Include-a-file b/Lang/PascalABC.NET/Include-a-file
new file mode 120000
index 0000000000..5762928418
--- /dev/null
+++ b/Lang/PascalABC.NET/Include-a-file
@@ -0,0 +1 @@
+../../Task/Include-a-file/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Increasing-gaps-between-consecutive-Niven-numbers b/Lang/PascalABC.NET/Increasing-gaps-between-consecutive-Niven-numbers
new file mode 120000
index 0000000000..cff91f6819
--- /dev/null
+++ b/Lang/PascalABC.NET/Increasing-gaps-between-consecutive-Niven-numbers
@@ -0,0 +1 @@
+../../Task/Increasing-gaps-between-consecutive-Niven-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Increment-a-numerical-string b/Lang/PascalABC.NET/Increment-a-numerical-string
new file mode 120000
index 0000000000..5570e6302a
--- /dev/null
+++ b/Lang/PascalABC.NET/Increment-a-numerical-string
@@ -0,0 +1 @@
+../../Task/Increment-a-numerical-string/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Infinity b/Lang/PascalABC.NET/Infinity
new file mode 120000
index 0000000000..e5b6807ad7
--- /dev/null
+++ b/Lang/PascalABC.NET/Infinity
@@ -0,0 +1 @@
+../../Task/Infinity/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Inheritance-Multiple b/Lang/PascalABC.NET/Inheritance-Multiple
new file mode 120000
index 0000000000..f3f065b097
--- /dev/null
+++ b/Lang/PascalABC.NET/Inheritance-Multiple
@@ -0,0 +1 @@
+../../Task/Inheritance-Multiple/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Inheritance-Single b/Lang/PascalABC.NET/Inheritance-Single
new file mode 120000
index 0000000000..2843b9d512
--- /dev/null
+++ b/Lang/PascalABC.NET/Inheritance-Single
@@ -0,0 +1 @@
+../../Task/Inheritance-Single/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Input-loop b/Lang/PascalABC.NET/Input-loop
new file mode 120000
index 0000000000..8086164ab5
--- /dev/null
+++ b/Lang/PascalABC.NET/Input-loop
@@ -0,0 +1 @@
+../../Task/Input-loop/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Integer-comparison b/Lang/PascalABC.NET/Integer-comparison
new file mode 120000
index 0000000000..b60ac826c4
--- /dev/null
+++ b/Lang/PascalABC.NET/Integer-comparison
@@ -0,0 +1 @@
+../../Task/Integer-comparison/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Intersecting-number-wheels b/Lang/PascalABC.NET/Intersecting-number-wheels
new file mode 120000
index 0000000000..5d79870677
--- /dev/null
+++ b/Lang/PascalABC.NET/Intersecting-number-wheels
@@ -0,0 +1 @@
+../../Task/Intersecting-number-wheels/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Isograms-and-heterograms b/Lang/PascalABC.NET/Isograms-and-heterograms
new file mode 120000
index 0000000000..bf330eefcd
--- /dev/null
+++ b/Lang/PascalABC.NET/Isograms-and-heterograms
@@ -0,0 +1 @@
+../../Task/Isograms-and-heterograms/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Isqrt-integer-square-root-of-X b/Lang/PascalABC.NET/Isqrt-integer-square-root-of-X
new file mode 120000
index 0000000000..5e922bc6f6
--- /dev/null
+++ b/Lang/PascalABC.NET/Isqrt-integer-square-root-of-X
@@ -0,0 +1 @@
+../../Task/Isqrt-integer-square-root-of-X/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Iterated-digits-squaring b/Lang/PascalABC.NET/Iterated-digits-squaring
new file mode 120000
index 0000000000..d26b072d9f
--- /dev/null
+++ b/Lang/PascalABC.NET/Iterated-digits-squaring
@@ -0,0 +1 @@
+../../Task/Iterated-digits-squaring/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/JSON b/Lang/PascalABC.NET/JSON
new file mode 120000
index 0000000000..e24e87ebee
--- /dev/null
+++ b/Lang/PascalABC.NET/JSON
@@ -0,0 +1 @@
+../../Task/JSON/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Jacobi-symbol b/Lang/PascalABC.NET/Jacobi-symbol
new file mode 120000
index 0000000000..beae5f110d
--- /dev/null
+++ b/Lang/PascalABC.NET/Jacobi-symbol
@@ -0,0 +1 @@
+../../Task/Jacobi-symbol/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Jacobsthal-numbers b/Lang/PascalABC.NET/Jacobsthal-numbers
new file mode 120000
index 0000000000..876df13cd2
--- /dev/null
+++ b/Lang/PascalABC.NET/Jacobsthal-numbers
@@ -0,0 +1 @@
+../../Task/Jacobsthal-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Jensens-Device b/Lang/PascalABC.NET/Jensens-Device
new file mode 120000
index 0000000000..b995733017
--- /dev/null
+++ b/Lang/PascalABC.NET/Jensens-Device
@@ -0,0 +1 @@
+../../Task/Jensens-Device/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Jewels-and-stones b/Lang/PascalABC.NET/Jewels-and-stones
new file mode 120000
index 0000000000..3c21e35293
--- /dev/null
+++ b/Lang/PascalABC.NET/Jewels-and-stones
@@ -0,0 +1 @@
+../../Task/Jewels-and-stones/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/JortSort b/Lang/PascalABC.NET/JortSort
new file mode 120000
index 0000000000..7235c60479
--- /dev/null
+++ b/Lang/PascalABC.NET/JortSort
@@ -0,0 +1 @@
+../../Task/JortSort/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Josephus-problem b/Lang/PascalABC.NET/Josephus-problem
new file mode 120000
index 0000000000..b62f88327b
--- /dev/null
+++ b/Lang/PascalABC.NET/Josephus-problem
@@ -0,0 +1 @@
+../../Task/Josephus-problem/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Juggler-sequence b/Lang/PascalABC.NET/Juggler-sequence
new file mode 120000
index 0000000000..11d7432b3c
--- /dev/null
+++ b/Lang/PascalABC.NET/Juggler-sequence
@@ -0,0 +1 @@
+../../Task/Juggler-sequence/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Julia-set b/Lang/PascalABC.NET/Julia-set
new file mode 120000
index 0000000000..905a140bc7
--- /dev/null
+++ b/Lang/PascalABC.NET/Julia-set
@@ -0,0 +1 @@
+../../Task/Julia-set/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Jump-anywhere b/Lang/PascalABC.NET/Jump-anywhere
new file mode 120000
index 0000000000..cb395144b9
--- /dev/null
+++ b/Lang/PascalABC.NET/Jump-anywhere
@@ -0,0 +1 @@
+../../Task/Jump-anywhere/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Kaprekar-numbers b/Lang/PascalABC.NET/Kaprekar-numbers
new file mode 120000
index 0000000000..f1765dac14
--- /dev/null
+++ b/Lang/PascalABC.NET/Kaprekar-numbers
@@ -0,0 +1 @@
+../../Task/Kaprekar-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Kernighans-large-earthquake-problem b/Lang/PascalABC.NET/Kernighans-large-earthquake-problem
new file mode 120000
index 0000000000..bfd99d6f53
--- /dev/null
+++ b/Lang/PascalABC.NET/Kernighans-large-earthquake-problem
@@ -0,0 +1 @@
+../../Task/Kernighans-large-earthquake-problem/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Keyboard-input-Obtain-a-Y-or-N-response b/Lang/PascalABC.NET/Keyboard-input-Obtain-a-Y-or-N-response
new file mode 120000
index 0000000000..d70dc96806
--- /dev/null
+++ b/Lang/PascalABC.NET/Keyboard-input-Obtain-a-Y-or-N-response
@@ -0,0 +1 @@
+../../Task/Keyboard-input-Obtain-a-Y-or-N-response/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Knapsack-problem-0-1 b/Lang/PascalABC.NET/Knapsack-problem-0-1
new file mode 120000
index 0000000000..2fbfd42a60
--- /dev/null
+++ b/Lang/PascalABC.NET/Knapsack-problem-0-1
@@ -0,0 +1 @@
+../../Task/Knapsack-problem-0-1/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Knuth-shuffle b/Lang/PascalABC.NET/Knuth-shuffle
new file mode 120000
index 0000000000..a80c329b34
--- /dev/null
+++ b/Lang/PascalABC.NET/Knuth-shuffle
@@ -0,0 +1 @@
+../../Task/Knuth-shuffle/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Knuths-algorithm-S b/Lang/PascalABC.NET/Knuths-algorithm-S
new file mode 120000
index 0000000000..5898ddfb2a
--- /dev/null
+++ b/Lang/PascalABC.NET/Knuths-algorithm-S
@@ -0,0 +1 @@
+../../Task/Knuths-algorithm-S/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Knuths-power-tree b/Lang/PascalABC.NET/Knuths-power-tree
new file mode 120000
index 0000000000..985187fb94
--- /dev/null
+++ b/Lang/PascalABC.NET/Knuths-power-tree
@@ -0,0 +1 @@
+../../Task/Knuths-power-tree/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Kolakoski-sequence b/Lang/PascalABC.NET/Kolakoski-sequence
new file mode 120000
index 0000000000..141e5ac2f1
--- /dev/null
+++ b/Lang/PascalABC.NET/Kolakoski-sequence
@@ -0,0 +1 @@
+../../Task/Kolakoski-sequence/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Kosaraju b/Lang/PascalABC.NET/Kosaraju
new file mode 120000
index 0000000000..b461c7f092
--- /dev/null
+++ b/Lang/PascalABC.NET/Kosaraju
@@ -0,0 +1 @@
+../../Task/Kosaraju/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Kronecker-product b/Lang/PascalABC.NET/Kronecker-product
new file mode 120000
index 0000000000..d78d832294
--- /dev/null
+++ b/Lang/PascalABC.NET/Kronecker-product
@@ -0,0 +1 @@
+../../Task/Kronecker-product/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Kronecker-product-based-fractals b/Lang/PascalABC.NET/Kronecker-product-based-fractals
new file mode 120000
index 0000000000..47d2054ae1
--- /dev/null
+++ b/Lang/PascalABC.NET/Kronecker-product-based-fractals
@@ -0,0 +1 @@
+../../Task/Kronecker-product-based-fractals/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/LZW-compression b/Lang/PascalABC.NET/LZW-compression
new file mode 120000
index 0000000000..caca350ee1
--- /dev/null
+++ b/Lang/PascalABC.NET/LZW-compression
@@ -0,0 +1 @@
+../../Task/LZW-compression/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Lah-numbers b/Lang/PascalABC.NET/Lah-numbers
new file mode 120000
index 0000000000..6d00cf7c92
--- /dev/null
+++ b/Lang/PascalABC.NET/Lah-numbers
@@ -0,0 +1 @@
+../../Task/Lah-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Langtons-ant b/Lang/PascalABC.NET/Langtons-ant
new file mode 120000
index 0000000000..7c98b40d3c
--- /dev/null
+++ b/Lang/PascalABC.NET/Langtons-ant
@@ -0,0 +1 @@
+../../Task/Langtons-ant/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Largest-int-from-concatenated-ints b/Lang/PascalABC.NET/Largest-int-from-concatenated-ints
new file mode 120000
index 0000000000..97fdfc9525
--- /dev/null
+++ b/Lang/PascalABC.NET/Largest-int-from-concatenated-ints
@@ -0,0 +1 @@
+../../Task/Largest-int-from-concatenated-ints/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Largest-number-divisible-by-its-digits b/Lang/PascalABC.NET/Largest-number-divisible-by-its-digits
new file mode 120000
index 0000000000..40a547007f
--- /dev/null
+++ b/Lang/PascalABC.NET/Largest-number-divisible-by-its-digits
@@ -0,0 +1 @@
+../../Task/Largest-number-divisible-by-its-digits/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Largest-proper-divisor-of-n b/Lang/PascalABC.NET/Largest-proper-divisor-of-n
new file mode 120000
index 0000000000..2988b13d98
--- /dev/null
+++ b/Lang/PascalABC.NET/Largest-proper-divisor-of-n
@@ -0,0 +1 @@
+../../Task/Largest-proper-divisor-of-n/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Last-Friday-of-each-month b/Lang/PascalABC.NET/Last-Friday-of-each-month
new file mode 120000
index 0000000000..bcb04c8152
--- /dev/null
+++ b/Lang/PascalABC.NET/Last-Friday-of-each-month
@@ -0,0 +1 @@
+../../Task/Last-Friday-of-each-month/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Last-letter-first-letter b/Lang/PascalABC.NET/Last-letter-first-letter
new file mode 120000
index 0000000000..19b2a978ef
--- /dev/null
+++ b/Lang/PascalABC.NET/Last-letter-first-letter
@@ -0,0 +1 @@
+../../Task/Last-letter-first-letter/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Law-of-cosines---triples b/Lang/PascalABC.NET/Law-of-cosines---triples
new file mode 120000
index 0000000000..c3f4700866
--- /dev/null
+++ b/Lang/PascalABC.NET/Law-of-cosines---triples
@@ -0,0 +1 @@
+../../Task/Law-of-cosines---triples/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Leap-year b/Lang/PascalABC.NET/Leap-year
new file mode 120000
index 0000000000..250d71014a
--- /dev/null
+++ b/Lang/PascalABC.NET/Leap-year
@@ -0,0 +1 @@
+../../Task/Leap-year/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Least-common-multiple b/Lang/PascalABC.NET/Least-common-multiple
new file mode 120000
index 0000000000..446b96ac48
--- /dev/null
+++ b/Lang/PascalABC.NET/Least-common-multiple
@@ -0,0 +1 @@
+../../Task/Least-common-multiple/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Left-factorials b/Lang/PascalABC.NET/Left-factorials
new file mode 120000
index 0000000000..8ed1d03134
--- /dev/null
+++ b/Lang/PascalABC.NET/Left-factorials
@@ -0,0 +1 @@
+../../Task/Left-factorials/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Leonardo-numbers b/Lang/PascalABC.NET/Leonardo-numbers
new file mode 120000
index 0000000000..0895bc3d59
--- /dev/null
+++ b/Lang/PascalABC.NET/Leonardo-numbers
@@ -0,0 +1 @@
+../../Task/Leonardo-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Levenshtein-distance b/Lang/PascalABC.NET/Levenshtein-distance
new file mode 120000
index 0000000000..e32fc71042
--- /dev/null
+++ b/Lang/PascalABC.NET/Levenshtein-distance
@@ -0,0 +1 @@
+../../Task/Levenshtein-distance/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Linear-congruential-generator b/Lang/PascalABC.NET/Linear-congruential-generator
new file mode 120000
index 0000000000..901b6b4116
--- /dev/null
+++ b/Lang/PascalABC.NET/Linear-congruential-generator
@@ -0,0 +1 @@
+../../Task/Linear-congruential-generator/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/List-comprehensions b/Lang/PascalABC.NET/List-comprehensions
new file mode 120000
index 0000000000..e9fa93e9e6
--- /dev/null
+++ b/Lang/PascalABC.NET/List-comprehensions
@@ -0,0 +1 @@
+../../Task/List-comprehensions/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Literals-Floating-point b/Lang/PascalABC.NET/Literals-Floating-point
new file mode 120000
index 0000000000..e11300a194
--- /dev/null
+++ b/Lang/PascalABC.NET/Literals-Floating-point
@@ -0,0 +1 @@
+../../Task/Literals-Floating-point/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Literals-Integer b/Lang/PascalABC.NET/Literals-Integer
new file mode 120000
index 0000000000..a9aac3cffe
--- /dev/null
+++ b/Lang/PascalABC.NET/Literals-Integer
@@ -0,0 +1 @@
+../../Task/Literals-Integer/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Literals-String b/Lang/PascalABC.NET/Literals-String
new file mode 120000
index 0000000000..2f02c8af92
--- /dev/null
+++ b/Lang/PascalABC.NET/Literals-String
@@ -0,0 +1 @@
+../../Task/Literals-String/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Logistic-curve-fitting-in-epidemiology b/Lang/PascalABC.NET/Logistic-curve-fitting-in-epidemiology
new file mode 120000
index 0000000000..9ae308e46e
--- /dev/null
+++ b/Lang/PascalABC.NET/Logistic-curve-fitting-in-epidemiology
@@ -0,0 +1 @@
+../../Task/Logistic-curve-fitting-in-epidemiology/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Long-literals-with-continuations b/Lang/PascalABC.NET/Long-literals-with-continuations
new file mode 120000
index 0000000000..cef817d9b6
--- /dev/null
+++ b/Lang/PascalABC.NET/Long-literals-with-continuations
@@ -0,0 +1 @@
+../../Task/Long-literals-with-continuations/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Long-multiplication b/Lang/PascalABC.NET/Long-multiplication
new file mode 120000
index 0000000000..3da90eb79b
--- /dev/null
+++ b/Lang/PascalABC.NET/Long-multiplication
@@ -0,0 +1 @@
+../../Task/Long-multiplication/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Long-primes b/Lang/PascalABC.NET/Long-primes
new file mode 120000
index 0000000000..f90c1c5b51
--- /dev/null
+++ b/Lang/PascalABC.NET/Long-primes
@@ -0,0 +1 @@
+../../Task/Long-primes/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Long-year b/Lang/PascalABC.NET/Long-year
new file mode 120000
index 0000000000..cfbd0a990c
--- /dev/null
+++ b/Lang/PascalABC.NET/Long-year
@@ -0,0 +1 @@
+../../Task/Long-year/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Longest-common-subsequence b/Lang/PascalABC.NET/Longest-common-subsequence
new file mode 120000
index 0000000000..1dfbd5ef9d
--- /dev/null
+++ b/Lang/PascalABC.NET/Longest-common-subsequence
@@ -0,0 +1 @@
+../../Task/Longest-common-subsequence/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Longest-common-substring b/Lang/PascalABC.NET/Longest-common-substring
new file mode 120000
index 0000000000..c8e27105a8
--- /dev/null
+++ b/Lang/PascalABC.NET/Longest-common-substring
@@ -0,0 +1 @@
+../../Task/Longest-common-substring/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Longest-increasing-subsequence b/Lang/PascalABC.NET/Longest-increasing-subsequence
new file mode 120000
index 0000000000..256a8afb28
--- /dev/null
+++ b/Lang/PascalABC.NET/Longest-increasing-subsequence
@@ -0,0 +1 @@
+../../Task/Longest-increasing-subsequence/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Look-and-say-sequence b/Lang/PascalABC.NET/Look-and-say-sequence
new file mode 120000
index 0000000000..a23016f201
--- /dev/null
+++ b/Lang/PascalABC.NET/Look-and-say-sequence
@@ -0,0 +1 @@
+../../Task/Look-and-say-sequence/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Loop-over-multiple-arrays-simultaneously b/Lang/PascalABC.NET/Loop-over-multiple-arrays-simultaneously
new file mode 120000
index 0000000000..52655fded4
--- /dev/null
+++ b/Lang/PascalABC.NET/Loop-over-multiple-arrays-simultaneously
@@ -0,0 +1 @@
+../../Task/Loop-over-multiple-arrays-simultaneously/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Loops-Break b/Lang/PascalABC.NET/Loops-Break
new file mode 120000
index 0000000000..75f285786e
--- /dev/null
+++ b/Lang/PascalABC.NET/Loops-Break
@@ -0,0 +1 @@
+../../Task/Loops-Break/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Loops-Continue b/Lang/PascalABC.NET/Loops-Continue
new file mode 120000
index 0000000000..75da2856ce
--- /dev/null
+++ b/Lang/PascalABC.NET/Loops-Continue
@@ -0,0 +1 @@
+../../Task/Loops-Continue/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Loops-Do-while b/Lang/PascalABC.NET/Loops-Do-while
new file mode 120000
index 0000000000..a15c938618
--- /dev/null
+++ b/Lang/PascalABC.NET/Loops-Do-while
@@ -0,0 +1 @@
+../../Task/Loops-Do-while/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Loops-Downward-for b/Lang/PascalABC.NET/Loops-Downward-for
new file mode 120000
index 0000000000..c2c6306f3a
--- /dev/null
+++ b/Lang/PascalABC.NET/Loops-Downward-for
@@ -0,0 +1 @@
+../../Task/Loops-Downward-for/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Loops-For b/Lang/PascalABC.NET/Loops-For
new file mode 120000
index 0000000000..bf236f094e
--- /dev/null
+++ b/Lang/PascalABC.NET/Loops-For
@@ -0,0 +1 @@
+../../Task/Loops-For/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Loops-For-with-a-specified-step b/Lang/PascalABC.NET/Loops-For-with-a-specified-step
new file mode 120000
index 0000000000..5244453d5c
--- /dev/null
+++ b/Lang/PascalABC.NET/Loops-For-with-a-specified-step
@@ -0,0 +1 @@
+../../Task/Loops-For-with-a-specified-step/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Loops-Foreach b/Lang/PascalABC.NET/Loops-Foreach
new file mode 120000
index 0000000000..68b06931af
--- /dev/null
+++ b/Lang/PascalABC.NET/Loops-Foreach
@@ -0,0 +1 @@
+../../Task/Loops-Foreach/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Loops-Increment-loop-index-within-loop-body b/Lang/PascalABC.NET/Loops-Increment-loop-index-within-loop-body
new file mode 120000
index 0000000000..f5d20bce59
--- /dev/null
+++ b/Lang/PascalABC.NET/Loops-Increment-loop-index-within-loop-body
@@ -0,0 +1 @@
+../../Task/Loops-Increment-loop-index-within-loop-body/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Loops-N-plus-one-half b/Lang/PascalABC.NET/Loops-N-plus-one-half
new file mode 120000
index 0000000000..95fe8496ec
--- /dev/null
+++ b/Lang/PascalABC.NET/Loops-N-plus-one-half
@@ -0,0 +1 @@
+../../Task/Loops-N-plus-one-half/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Loops-Nested b/Lang/PascalABC.NET/Loops-Nested
new file mode 120000
index 0000000000..d1a88ee15f
--- /dev/null
+++ b/Lang/PascalABC.NET/Loops-Nested
@@ -0,0 +1 @@
+../../Task/Loops-Nested/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Loops-While b/Lang/PascalABC.NET/Loops-While
new file mode 120000
index 0000000000..19d817b9f2
--- /dev/null
+++ b/Lang/PascalABC.NET/Loops-While
@@ -0,0 +1 @@
+../../Task/Loops-While/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Loops-With-multiple-ranges b/Lang/PascalABC.NET/Loops-With-multiple-ranges
new file mode 120000
index 0000000000..1b3c0e8a85
--- /dev/null
+++ b/Lang/PascalABC.NET/Loops-With-multiple-ranges
@@ -0,0 +1 @@
+../../Task/Loops-With-multiple-ranges/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Loops-Wrong-ranges b/Lang/PascalABC.NET/Loops-Wrong-ranges
new file mode 120000
index 0000000000..cd717ae408
--- /dev/null
+++ b/Lang/PascalABC.NET/Loops-Wrong-ranges
@@ -0,0 +1 @@
+../../Task/Loops-Wrong-ranges/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Lucas-Lehmer-test b/Lang/PascalABC.NET/Lucas-Lehmer-test
new file mode 120000
index 0000000000..bec917b045
--- /dev/null
+++ b/Lang/PascalABC.NET/Lucas-Lehmer-test
@@ -0,0 +1 @@
+../../Task/Lucas-Lehmer-test/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Ludic-numbers b/Lang/PascalABC.NET/Ludic-numbers
new file mode 120000
index 0000000000..84c5abb4fd
--- /dev/null
+++ b/Lang/PascalABC.NET/Ludic-numbers
@@ -0,0 +1 @@
+../../Task/Ludic-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Luhn-test-of-credit-card-numbers b/Lang/PascalABC.NET/Luhn-test-of-credit-card-numbers
new file mode 120000
index 0000000000..00804b09b8
--- /dev/null
+++ b/Lang/PascalABC.NET/Luhn-test-of-credit-card-numbers
@@ -0,0 +1 @@
+../../Task/Luhn-test-of-credit-card-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Lychrel-numbers b/Lang/PascalABC.NET/Lychrel-numbers
new file mode 120000
index 0000000000..c6935e364e
--- /dev/null
+++ b/Lang/PascalABC.NET/Lychrel-numbers
@@ -0,0 +1 @@
+../../Task/Lychrel-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/M-bius-function b/Lang/PascalABC.NET/M-bius-function
new file mode 120000
index 0000000000..e6445ec3ed
--- /dev/null
+++ b/Lang/PascalABC.NET/M-bius-function
@@ -0,0 +1 @@
+../../Task/M-bius-function/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/MAC-vendor-lookup b/Lang/PascalABC.NET/MAC-vendor-lookup
new file mode 120000
index 0000000000..d35cdd8c9b
--- /dev/null
+++ b/Lang/PascalABC.NET/MAC-vendor-lookup
@@ -0,0 +1 @@
+../../Task/MAC-vendor-lookup/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/MD5 b/Lang/PascalABC.NET/MD5
new file mode 120000
index 0000000000..375523a297
--- /dev/null
+++ b/Lang/PascalABC.NET/MD5
@@ -0,0 +1 @@
+../../Task/MD5/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Magic-constant b/Lang/PascalABC.NET/Magic-constant
new file mode 120000
index 0000000000..822ebb4fb2
--- /dev/null
+++ b/Lang/PascalABC.NET/Magic-constant
@@ -0,0 +1 @@
+../../Task/Magic-constant/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Magic-squares-of-doubly-even-order b/Lang/PascalABC.NET/Magic-squares-of-doubly-even-order
new file mode 120000
index 0000000000..b8c93bc64a
--- /dev/null
+++ b/Lang/PascalABC.NET/Magic-squares-of-doubly-even-order
@@ -0,0 +1 @@
+../../Task/Magic-squares-of-doubly-even-order/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Magnanimous-numbers b/Lang/PascalABC.NET/Magnanimous-numbers
new file mode 120000
index 0000000000..0a895d4414
--- /dev/null
+++ b/Lang/PascalABC.NET/Magnanimous-numbers
@@ -0,0 +1 @@
+../../Task/Magnanimous-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Man-or-boy-test b/Lang/PascalABC.NET/Man-or-boy-test
new file mode 120000
index 0000000000..f9b9ccb7a0
--- /dev/null
+++ b/Lang/PascalABC.NET/Man-or-boy-test
@@ -0,0 +1 @@
+../../Task/Man-or-boy-test/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Map-range b/Lang/PascalABC.NET/Map-range
new file mode 120000
index 0000000000..2c5d9ac526
--- /dev/null
+++ b/Lang/PascalABC.NET/Map-range
@@ -0,0 +1 @@
+../../Task/Map-range/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Matrix-exponentiation-operator b/Lang/PascalABC.NET/Matrix-exponentiation-operator
new file mode 120000
index 0000000000..31137ceb77
--- /dev/null
+++ b/Lang/PascalABC.NET/Matrix-exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Matrix-exponentiation-operator/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Matrix-multiplication b/Lang/PascalABC.NET/Matrix-multiplication
new file mode 120000
index 0000000000..ab9b502408
--- /dev/null
+++ b/Lang/PascalABC.NET/Matrix-multiplication
@@ -0,0 +1 @@
+../../Task/Matrix-multiplication/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Matrix-transposition b/Lang/PascalABC.NET/Matrix-transposition
new file mode 120000
index 0000000000..2ba6e5da4b
--- /dev/null
+++ b/Lang/PascalABC.NET/Matrix-transposition
@@ -0,0 +1 @@
+../../Task/Matrix-transposition/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Maximum-triangle-path-sum b/Lang/PascalABC.NET/Maximum-triangle-path-sum
new file mode 120000
index 0000000000..d476233920
--- /dev/null
+++ b/Lang/PascalABC.NET/Maximum-triangle-path-sum
@@ -0,0 +1 @@
+../../Task/Maximum-triangle-path-sum/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Maze-generation b/Lang/PascalABC.NET/Maze-generation
new file mode 120000
index 0000000000..147e928cb8
--- /dev/null
+++ b/Lang/PascalABC.NET/Maze-generation
@@ -0,0 +1 @@
+../../Task/Maze-generation/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/McNuggets-problem b/Lang/PascalABC.NET/McNuggets-problem
new file mode 120000
index 0000000000..ceb4630090
--- /dev/null
+++ b/Lang/PascalABC.NET/McNuggets-problem
@@ -0,0 +1 @@
+../../Task/McNuggets-problem/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Memory-allocation b/Lang/PascalABC.NET/Memory-allocation
new file mode 120000
index 0000000000..b7e94af0dd
--- /dev/null
+++ b/Lang/PascalABC.NET/Memory-allocation
@@ -0,0 +1 @@
+../../Task/Memory-allocation/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Mertens-function b/Lang/PascalABC.NET/Mertens-function
new file mode 120000
index 0000000000..f3e21033e6
--- /dev/null
+++ b/Lang/PascalABC.NET/Mertens-function
@@ -0,0 +1 @@
+../../Task/Mertens-function/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Metallic-ratios b/Lang/PascalABC.NET/Metallic-ratios
new file mode 120000
index 0000000000..1f47416b87
--- /dev/null
+++ b/Lang/PascalABC.NET/Metallic-ratios
@@ -0,0 +1 @@
+../../Task/Metallic-ratios/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Metered-concurrency b/Lang/PascalABC.NET/Metered-concurrency
new file mode 120000
index 0000000000..925b288d53
--- /dev/null
+++ b/Lang/PascalABC.NET/Metered-concurrency
@@ -0,0 +1 @@
+../../Task/Metered-concurrency/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Mian-Chowla-sequence b/Lang/PascalABC.NET/Mian-Chowla-sequence
new file mode 120000
index 0000000000..8a0250e208
--- /dev/null
+++ b/Lang/PascalABC.NET/Mian-Chowla-sequence
@@ -0,0 +1 @@
+../../Task/Mian-Chowla-sequence/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Middle-three-digits b/Lang/PascalABC.NET/Middle-three-digits
new file mode 120000
index 0000000000..5e135c1794
--- /dev/null
+++ b/Lang/PascalABC.NET/Middle-three-digits
@@ -0,0 +1 @@
+../../Task/Middle-three-digits/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Minimum-multiple-of-m-where-digital-sum-equals-m b/Lang/PascalABC.NET/Minimum-multiple-of-m-where-digital-sum-equals-m
new file mode 120000
index 0000000000..97c186fb9d
--- /dev/null
+++ b/Lang/PascalABC.NET/Minimum-multiple-of-m-where-digital-sum-equals-m
@@ -0,0 +1 @@
+../../Task/Minimum-multiple-of-m-where-digital-sum-equals-m/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Modified-random-distribution b/Lang/PascalABC.NET/Modified-random-distribution
new file mode 120000
index 0000000000..0b45ed8c91
--- /dev/null
+++ b/Lang/PascalABC.NET/Modified-random-distribution
@@ -0,0 +1 @@
+../../Task/Modified-random-distribution/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Modular-exponentiation b/Lang/PascalABC.NET/Modular-exponentiation
new file mode 120000
index 0000000000..06db8e7a38
--- /dev/null
+++ b/Lang/PascalABC.NET/Modular-exponentiation
@@ -0,0 +1 @@
+../../Task/Modular-exponentiation/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Modular-inverse b/Lang/PascalABC.NET/Modular-inverse
new file mode 120000
index 0000000000..cf592b925c
--- /dev/null
+++ b/Lang/PascalABC.NET/Modular-inverse
@@ -0,0 +1 @@
+../../Task/Modular-inverse/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Monte-Carlo-methods b/Lang/PascalABC.NET/Monte-Carlo-methods
new file mode 120000
index 0000000000..097d7017f6
--- /dev/null
+++ b/Lang/PascalABC.NET/Monte-Carlo-methods
@@ -0,0 +1 @@
+../../Task/Monte-Carlo-methods/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Monty-Hall-problem b/Lang/PascalABC.NET/Monty-Hall-problem
new file mode 120000
index 0000000000..194ee5c033
--- /dev/null
+++ b/Lang/PascalABC.NET/Monty-Hall-problem
@@ -0,0 +1 @@
+../../Task/Monty-Hall-problem/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Morse-code b/Lang/PascalABC.NET/Morse-code
new file mode 120000
index 0000000000..957358167f
--- /dev/null
+++ b/Lang/PascalABC.NET/Morse-code
@@ -0,0 +1 @@
+../../Task/Morse-code/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Motzkin-numbers b/Lang/PascalABC.NET/Motzkin-numbers
new file mode 120000
index 0000000000..119a6ee6b9
--- /dev/null
+++ b/Lang/PascalABC.NET/Motzkin-numbers
@@ -0,0 +1 @@
+../../Task/Motzkin-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Mouse-position b/Lang/PascalABC.NET/Mouse-position
new file mode 120000
index 0000000000..207ee7b935
--- /dev/null
+++ b/Lang/PascalABC.NET/Mouse-position
@@ -0,0 +1 @@
+../../Task/Mouse-position/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Move-to-front-algorithm b/Lang/PascalABC.NET/Move-to-front-algorithm
new file mode 120000
index 0000000000..e365638bb3
--- /dev/null
+++ b/Lang/PascalABC.NET/Move-to-front-algorithm
@@ -0,0 +1 @@
+../../Task/Move-to-front-algorithm/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Multifactorial b/Lang/PascalABC.NET/Multifactorial
new file mode 120000
index 0000000000..1a4d72f284
--- /dev/null
+++ b/Lang/PascalABC.NET/Multifactorial
@@ -0,0 +1 @@
+../../Task/Multifactorial/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Multiple-regression b/Lang/PascalABC.NET/Multiple-regression
new file mode 120000
index 0000000000..c2b1f827d2
--- /dev/null
+++ b/Lang/PascalABC.NET/Multiple-regression
@@ -0,0 +1 @@
+../../Task/Multiple-regression/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Multiplication-tables b/Lang/PascalABC.NET/Multiplication-tables
new file mode 120000
index 0000000000..bbe1dc2627
--- /dev/null
+++ b/Lang/PascalABC.NET/Multiplication-tables
@@ -0,0 +1 @@
+../../Task/Multiplication-tables/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Multisplit b/Lang/PascalABC.NET/Multisplit
new file mode 120000
index 0000000000..cacc0acc3b
--- /dev/null
+++ b/Lang/PascalABC.NET/Multisplit
@@ -0,0 +1 @@
+../../Task/Multisplit/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Munchausen-numbers b/Lang/PascalABC.NET/Munchausen-numbers
new file mode 120000
index 0000000000..e5388bf0cf
--- /dev/null
+++ b/Lang/PascalABC.NET/Munchausen-numbers
@@ -0,0 +1 @@
+../../Task/Munchausen-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Musical-scale b/Lang/PascalABC.NET/Musical-scale
new file mode 120000
index 0000000000..33d370124c
--- /dev/null
+++ b/Lang/PascalABC.NET/Musical-scale
@@ -0,0 +1 @@
+../../Task/Musical-scale/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Mutual-recursion b/Lang/PascalABC.NET/Mutual-recursion
new file mode 120000
index 0000000000..ccdccec66f
--- /dev/null
+++ b/Lang/PascalABC.NET/Mutual-recursion
@@ -0,0 +1 @@
+../../Task/Mutual-recursion/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/N-queens-problem b/Lang/PascalABC.NET/N-queens-problem
new file mode 120000
index 0000000000..d0df5430cc
--- /dev/null
+++ b/Lang/PascalABC.NET/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Named-parameters b/Lang/PascalABC.NET/Named-parameters
new file mode 120000
index 0000000000..f91e295fc0
--- /dev/null
+++ b/Lang/PascalABC.NET/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Naming-conventions b/Lang/PascalABC.NET/Naming-conventions
new file mode 120000
index 0000000000..5fc365228c
--- /dev/null
+++ b/Lang/PascalABC.NET/Naming-conventions
@@ -0,0 +1 @@
+../../Task/Naming-conventions/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Narcissistic-decimal-number b/Lang/PascalABC.NET/Narcissistic-decimal-number
new file mode 120000
index 0000000000..6e25078669
--- /dev/null
+++ b/Lang/PascalABC.NET/Narcissistic-decimal-number
@@ -0,0 +1 @@
+../../Task/Narcissistic-decimal-number/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Nested-function b/Lang/PascalABC.NET/Nested-function
new file mode 120000
index 0000000000..406d1380f0
--- /dev/null
+++ b/Lang/PascalABC.NET/Nested-function
@@ -0,0 +1 @@
+../../Task/Nested-function/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Next-highest-int-from-digits b/Lang/PascalABC.NET/Next-highest-int-from-digits
new file mode 120000
index 0000000000..f57c5311ba
--- /dev/null
+++ b/Lang/PascalABC.NET/Next-highest-int-from-digits
@@ -0,0 +1 @@
+../../Task/Next-highest-int-from-digits/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Nim-game b/Lang/PascalABC.NET/Nim-game
new file mode 120000
index 0000000000..11fed8b04f
--- /dev/null
+++ b/Lang/PascalABC.NET/Nim-game
@@ -0,0 +1 @@
+../../Task/Nim-game/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Non-continuous-subsequences b/Lang/PascalABC.NET/Non-continuous-subsequences
new file mode 120000
index 0000000000..fb90313f8e
--- /dev/null
+++ b/Lang/PascalABC.NET/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Nonoblock b/Lang/PascalABC.NET/Nonoblock
new file mode 120000
index 0000000000..27ec8aac45
--- /dev/null
+++ b/Lang/PascalABC.NET/Nonoblock
@@ -0,0 +1 @@
+../../Task/Nonoblock/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Nth b/Lang/PascalABC.NET/Nth
new file mode 120000
index 0000000000..2151e00c8d
--- /dev/null
+++ b/Lang/PascalABC.NET/Nth
@@ -0,0 +1 @@
+../../Task/Nth/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Null-object b/Lang/PascalABC.NET/Null-object
new file mode 120000
index 0000000000..39b6da0acb
--- /dev/null
+++ b/Lang/PascalABC.NET/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Numbers-which-are-not-the-sum-of-distinct-squares b/Lang/PascalABC.NET/Numbers-which-are-not-the-sum-of-distinct-squares
new file mode 120000
index 0000000000..11f633b289
--- /dev/null
+++ b/Lang/PascalABC.NET/Numbers-which-are-not-the-sum-of-distinct-squares
@@ -0,0 +1 @@
+../../Task/Numbers-which-are-not-the-sum-of-distinct-squares/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Numbers-which-are-the-cube-roots-of-the-product-of-their-proper-divisors b/Lang/PascalABC.NET/Numbers-which-are-the-cube-roots-of-the-product-of-their-proper-divisors
new file mode 120000
index 0000000000..3b98dabeae
--- /dev/null
+++ b/Lang/PascalABC.NET/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/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Numbers-with-equal-rises-and-falls b/Lang/PascalABC.NET/Numbers-with-equal-rises-and-falls
new file mode 120000
index 0000000000..265a6e57f2
--- /dev/null
+++ b/Lang/PascalABC.NET/Numbers-with-equal-rises-and-falls
@@ -0,0 +1 @@
+../../Task/Numbers-with-equal-rises-and-falls/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Numeric-error-propagation b/Lang/PascalABC.NET/Numeric-error-propagation
new file mode 120000
index 0000000000..b8b2e6d9b5
--- /dev/null
+++ b/Lang/PascalABC.NET/Numeric-error-propagation
@@ -0,0 +1 @@
+../../Task/Numeric-error-propagation/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Numerical-integration b/Lang/PascalABC.NET/Numerical-integration
new file mode 120000
index 0000000000..dc5bfcc884
--- /dev/null
+++ b/Lang/PascalABC.NET/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Object-serialization b/Lang/PascalABC.NET/Object-serialization
new file mode 120000
index 0000000000..07426b45b7
--- /dev/null
+++ b/Lang/PascalABC.NET/Object-serialization
@@ -0,0 +1 @@
+../../Task/Object-serialization/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Odd-word-problem b/Lang/PascalABC.NET/Odd-word-problem
new file mode 120000
index 0000000000..b0936fb34b
--- /dev/null
+++ b/Lang/PascalABC.NET/Odd-word-problem
@@ -0,0 +1 @@
+../../Task/Odd-word-problem/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/One-dimensional-cellular-automata b/Lang/PascalABC.NET/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..19b52c40ec
--- /dev/null
+++ b/Lang/PascalABC.NET/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/One-of-n-lines-in-a-file b/Lang/PascalABC.NET/One-of-n-lines-in-a-file
new file mode 120000
index 0000000000..6a1426ac8c
--- /dev/null
+++ b/Lang/PascalABC.NET/One-of-n-lines-in-a-file
@@ -0,0 +1 @@
+../../Task/One-of-n-lines-in-a-file/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/OpenWebNet-password b/Lang/PascalABC.NET/OpenWebNet-password
new file mode 120000
index 0000000000..41ce8aa36a
--- /dev/null
+++ b/Lang/PascalABC.NET/OpenWebNet-password
@@ -0,0 +1 @@
+../../Task/OpenWebNet-password/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Operator-precedence b/Lang/PascalABC.NET/Operator-precedence
new file mode 120000
index 0000000000..08a1b040c3
--- /dev/null
+++ b/Lang/PascalABC.NET/Operator-precedence
@@ -0,0 +1 @@
+../../Task/Operator-precedence/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Order-two-numerical-lists b/Lang/PascalABC.NET/Order-two-numerical-lists
new file mode 120000
index 0000000000..8f392c8ff3
--- /dev/null
+++ b/Lang/PascalABC.NET/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Ordered-words b/Lang/PascalABC.NET/Ordered-words
new file mode 120000
index 0000000000..d3217a2d03
--- /dev/null
+++ b/Lang/PascalABC.NET/Ordered-words
@@ -0,0 +1 @@
+../../Task/Ordered-words/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Padovan-n-step-number-sequences b/Lang/PascalABC.NET/Padovan-n-step-number-sequences
new file mode 120000
index 0000000000..2e49ed2259
--- /dev/null
+++ b/Lang/PascalABC.NET/Padovan-n-step-number-sequences
@@ -0,0 +1 @@
+../../Task/Padovan-n-step-number-sequences/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Padovan-sequence b/Lang/PascalABC.NET/Padovan-sequence
new file mode 120000
index 0000000000..c2c68fb6dd
--- /dev/null
+++ b/Lang/PascalABC.NET/Padovan-sequence
@@ -0,0 +1 @@
+../../Task/Padovan-sequence/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Palindrome-dates b/Lang/PascalABC.NET/Palindrome-dates
new file mode 120000
index 0000000000..09644b6a7c
--- /dev/null
+++ b/Lang/PascalABC.NET/Palindrome-dates
@@ -0,0 +1 @@
+../../Task/Palindrome-dates/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Palindrome-detection b/Lang/PascalABC.NET/Palindrome-detection
new file mode 120000
index 0000000000..cc92721e9f
--- /dev/null
+++ b/Lang/PascalABC.NET/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Palindromic-gapful-numbers b/Lang/PascalABC.NET/Palindromic-gapful-numbers
new file mode 120000
index 0000000000..532e5bda78
--- /dev/null
+++ b/Lang/PascalABC.NET/Palindromic-gapful-numbers
@@ -0,0 +1 @@
+../../Task/Palindromic-gapful-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Pancake-numbers b/Lang/PascalABC.NET/Pancake-numbers
new file mode 120000
index 0000000000..b4faf1b68d
--- /dev/null
+++ b/Lang/PascalABC.NET/Pancake-numbers
@@ -0,0 +1 @@
+../../Task/Pancake-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Pangram-checker b/Lang/PascalABC.NET/Pangram-checker
new file mode 120000
index 0000000000..114e870600
--- /dev/null
+++ b/Lang/PascalABC.NET/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Paraffins b/Lang/PascalABC.NET/Paraffins
new file mode 120000
index 0000000000..bafd6e0939
--- /dev/null
+++ b/Lang/PascalABC.NET/Paraffins
@@ -0,0 +1 @@
+../../Task/Paraffins/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Parallel-calculations b/Lang/PascalABC.NET/Parallel-calculations
new file mode 120000
index 0000000000..e88e92c1df
--- /dev/null
+++ b/Lang/PascalABC.NET/Parallel-calculations
@@ -0,0 +1 @@
+../../Task/Parallel-calculations/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Parametric-polymorphism b/Lang/PascalABC.NET/Parametric-polymorphism
new file mode 120000
index 0000000000..7c242be133
--- /dev/null
+++ b/Lang/PascalABC.NET/Parametric-polymorphism
@@ -0,0 +1 @@
+../../Task/Parametric-polymorphism/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Parsing-RPN-calculator-algorithm b/Lang/PascalABC.NET/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..c4ae7949cd
--- /dev/null
+++ b/Lang/PascalABC.NET/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Partition-an-integer-x-into-n-primes b/Lang/PascalABC.NET/Partition-an-integer-x-into-n-primes
new file mode 120000
index 0000000000..eb7a5e97f7
--- /dev/null
+++ b/Lang/PascalABC.NET/Partition-an-integer-x-into-n-primes
@@ -0,0 +1 @@
+../../Task/Partition-an-integer-x-into-n-primes/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Partition-function-P b/Lang/PascalABC.NET/Partition-function-P
new file mode 120000
index 0000000000..e780cc5e40
--- /dev/null
+++ b/Lang/PascalABC.NET/Partition-function-P
@@ -0,0 +1 @@
+../../Task/Partition-function-P/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Pascal-matrix-generation b/Lang/PascalABC.NET/Pascal-matrix-generation
new file mode 120000
index 0000000000..c8097eca88
--- /dev/null
+++ b/Lang/PascalABC.NET/Pascal-matrix-generation
@@ -0,0 +1 @@
+../../Task/Pascal-matrix-generation/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Pascals-triangle b/Lang/PascalABC.NET/Pascals-triangle
new file mode 120000
index 0000000000..1089718a97
--- /dev/null
+++ b/Lang/PascalABC.NET/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Pascals-triangle-Puzzle b/Lang/PascalABC.NET/Pascals-triangle-Puzzle
new file mode 120000
index 0000000000..8106a5db3a
--- /dev/null
+++ b/Lang/PascalABC.NET/Pascals-triangle-Puzzle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle-Puzzle/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Pathological-floating-point-problems b/Lang/PascalABC.NET/Pathological-floating-point-problems
new file mode 120000
index 0000000000..7eaa34e4a8
--- /dev/null
+++ b/Lang/PascalABC.NET/Pathological-floating-point-problems
@@ -0,0 +1 @@
+../../Task/Pathological-floating-point-problems/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Pells-equation b/Lang/PascalABC.NET/Pells-equation
new file mode 120000
index 0000000000..1729f4ebb8
--- /dev/null
+++ b/Lang/PascalABC.NET/Pells-equation
@@ -0,0 +1 @@
+../../Task/Pells-equation/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Perfect-shuffle b/Lang/PascalABC.NET/Perfect-shuffle
new file mode 120000
index 0000000000..5ea5d5cf28
--- /dev/null
+++ b/Lang/PascalABC.NET/Perfect-shuffle
@@ -0,0 +1 @@
+../../Task/Perfect-shuffle/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Perfect-totient-numbers b/Lang/PascalABC.NET/Perfect-totient-numbers
new file mode 120000
index 0000000000..8aae312612
--- /dev/null
+++ b/Lang/PascalABC.NET/Perfect-totient-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-totient-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Permutation-test b/Lang/PascalABC.NET/Permutation-test
new file mode 120000
index 0000000000..38efc59733
--- /dev/null
+++ b/Lang/PascalABC.NET/Permutation-test
@@ -0,0 +1 @@
+../../Task/Permutation-test/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Permutations b/Lang/PascalABC.NET/Permutations
new file mode 120000
index 0000000000..e1329591d7
--- /dev/null
+++ b/Lang/PascalABC.NET/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Permutations-Derangements b/Lang/PascalABC.NET/Permutations-Derangements
new file mode 120000
index 0000000000..4c7dd2b64b
--- /dev/null
+++ b/Lang/PascalABC.NET/Permutations-Derangements
@@ -0,0 +1 @@
+../../Task/Permutations-Derangements/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Pick-random-element b/Lang/PascalABC.NET/Pick-random-element
new file mode 120000
index 0000000000..9dd6351bad
--- /dev/null
+++ b/Lang/PascalABC.NET/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Plot-coordinate-pairs b/Lang/PascalABC.NET/Plot-coordinate-pairs
new file mode 120000
index 0000000000..4d0282311b
--- /dev/null
+++ b/Lang/PascalABC.NET/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Pointers-and-references b/Lang/PascalABC.NET/Pointers-and-references
new file mode 120000
index 0000000000..6985ca1666
--- /dev/null
+++ b/Lang/PascalABC.NET/Pointers-and-references
@@ -0,0 +1 @@
+../../Task/Pointers-and-references/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Polymorphic-copy b/Lang/PascalABC.NET/Polymorphic-copy
new file mode 120000
index 0000000000..7ed8b814ad
--- /dev/null
+++ b/Lang/PascalABC.NET/Polymorphic-copy
@@ -0,0 +1 @@
+../../Task/Polymorphic-copy/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Polymorphism b/Lang/PascalABC.NET/Polymorphism
new file mode 120000
index 0000000000..4996bdacfd
--- /dev/null
+++ b/Lang/PascalABC.NET/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Population-count b/Lang/PascalABC.NET/Population-count
new file mode 120000
index 0000000000..742c56a591
--- /dev/null
+++ b/Lang/PascalABC.NET/Population-count
@@ -0,0 +1 @@
+../../Task/Population-count/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Power-set b/Lang/PascalABC.NET/Power-set
new file mode 120000
index 0000000000..042d839f30
--- /dev/null
+++ b/Lang/PascalABC.NET/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Primality-by-trial-division b/Lang/PascalABC.NET/Primality-by-trial-division
new file mode 120000
index 0000000000..62ca027b6e
--- /dev/null
+++ b/Lang/PascalABC.NET/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Prime-decomposition b/Lang/PascalABC.NET/Prime-decomposition
new file mode 120000
index 0000000000..ea96188341
--- /dev/null
+++ b/Lang/PascalABC.NET/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Program-name b/Lang/PascalABC.NET/Program-name
new file mode 120000
index 0000000000..6bdce5a90a
--- /dev/null
+++ b/Lang/PascalABC.NET/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Program-termination b/Lang/PascalABC.NET/Program-termination
new file mode 120000
index 0000000000..63645717ea
--- /dev/null
+++ b/Lang/PascalABC.NET/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Queue-Definition b/Lang/PascalABC.NET/Queue-Definition
new file mode 120000
index 0000000000..efb10e6df2
--- /dev/null
+++ b/Lang/PascalABC.NET/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Queue-Usage b/Lang/PascalABC.NET/Queue-Usage
new file mode 120000
index 0000000000..eab42cf449
--- /dev/null
+++ b/Lang/PascalABC.NET/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Quine b/Lang/PascalABC.NET/Quine
new file mode 120000
index 0000000000..98ce8f9f2f
--- /dev/null
+++ b/Lang/PascalABC.NET/Quine
@@ -0,0 +1 @@
+../../Task/Quine/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Quoting-constructs b/Lang/PascalABC.NET/Quoting-constructs
new file mode 120000
index 0000000000..971db935d4
--- /dev/null
+++ b/Lang/PascalABC.NET/Quoting-constructs
@@ -0,0 +1 @@
+../../Task/Quoting-constructs/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/RPG-attributes-generator b/Lang/PascalABC.NET/RPG-attributes-generator
new file mode 120000
index 0000000000..ddbe45c835
--- /dev/null
+++ b/Lang/PascalABC.NET/RPG-attributes-generator
@@ -0,0 +1 @@
+../../Task/RPG-attributes-generator/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Radical-of-an-integer b/Lang/PascalABC.NET/Radical-of-an-integer
new file mode 120000
index 0000000000..430a252ecf
--- /dev/null
+++ b/Lang/PascalABC.NET/Radical-of-an-integer
@@ -0,0 +1 @@
+../../Task/Radical-of-an-integer/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Ramer-Douglas-Peucker-line-simplification b/Lang/PascalABC.NET/Ramer-Douglas-Peucker-line-simplification
new file mode 120000
index 0000000000..31e2b26ec5
--- /dev/null
+++ b/Lang/PascalABC.NET/Ramer-Douglas-Peucker-line-simplification
@@ -0,0 +1 @@
+../../Task/Ramer-Douglas-Peucker-line-simplification/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Random-numbers b/Lang/PascalABC.NET/Random-numbers
new file mode 120000
index 0000000000..da187d2cc0
--- /dev/null
+++ b/Lang/PascalABC.NET/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Read-a-file-character-by-character-UTF8 b/Lang/PascalABC.NET/Read-a-file-character-by-character-UTF8
new file mode 120000
index 0000000000..a425a12499
--- /dev/null
+++ b/Lang/PascalABC.NET/Read-a-file-character-by-character-UTF8
@@ -0,0 +1 @@
+../../Task/Read-a-file-character-by-character-UTF8/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Read-a-file-line-by-line b/Lang/PascalABC.NET/Read-a-file-line-by-line
new file mode 120000
index 0000000000..bd96f90ae1
--- /dev/null
+++ b/Lang/PascalABC.NET/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Read-a-specific-line-from-a-file b/Lang/PascalABC.NET/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..28703147aa
--- /dev/null
+++ b/Lang/PascalABC.NET/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Read-entire-file b/Lang/PascalABC.NET/Read-entire-file
new file mode 120000
index 0000000000..20a95b9d77
--- /dev/null
+++ b/Lang/PascalABC.NET/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Real-constants-and-functions b/Lang/PascalABC.NET/Real-constants-and-functions
new file mode 120000
index 0000000000..a6e7dce16d
--- /dev/null
+++ b/Lang/PascalABC.NET/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Reflection-List-methods b/Lang/PascalABC.NET/Reflection-List-methods
new file mode 120000
index 0000000000..7e40bca2fa
--- /dev/null
+++ b/Lang/PascalABC.NET/Reflection-List-methods
@@ -0,0 +1 @@
+../../Task/Reflection-List-methods/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Reflection-List-properties b/Lang/PascalABC.NET/Reflection-List-properties
new file mode 120000
index 0000000000..ed60f425f0
--- /dev/null
+++ b/Lang/PascalABC.NET/Reflection-List-properties
@@ -0,0 +1 @@
+../../Task/Reflection-List-properties/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Regular-expressions b/Lang/PascalABC.NET/Regular-expressions
new file mode 120000
index 0000000000..a3ccbe1574
--- /dev/null
+++ b/Lang/PascalABC.NET/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Remove-duplicate-elements b/Lang/PascalABC.NET/Remove-duplicate-elements
new file mode 120000
index 0000000000..6f37a5852e
--- /dev/null
+++ b/Lang/PascalABC.NET/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Remove-lines-from-a-file b/Lang/PascalABC.NET/Remove-lines-from-a-file
new file mode 120000
index 0000000000..6e76bee372
--- /dev/null
+++ b/Lang/PascalABC.NET/Remove-lines-from-a-file
@@ -0,0 +1 @@
+../../Task/Remove-lines-from-a-file/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Rename-a-file b/Lang/PascalABC.NET/Rename-a-file
new file mode 120000
index 0000000000..e7599165d6
--- /dev/null
+++ b/Lang/PascalABC.NET/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Repeat b/Lang/PascalABC.NET/Repeat
new file mode 120000
index 0000000000..e16283f972
--- /dev/null
+++ b/Lang/PascalABC.NET/Repeat
@@ -0,0 +1 @@
+../../Task/Repeat/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Repeat-a-string b/Lang/PascalABC.NET/Repeat-a-string
new file mode 120000
index 0000000000..c21e0bfde3
--- /dev/null
+++ b/Lang/PascalABC.NET/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Return-multiple-values b/Lang/PascalABC.NET/Return-multiple-values
new file mode 120000
index 0000000000..5178c8dd1d
--- /dev/null
+++ b/Lang/PascalABC.NET/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Reverse-a-string b/Lang/PascalABC.NET/Reverse-a-string
new file mode 120000
index 0000000000..8e67838296
--- /dev/null
+++ b/Lang/PascalABC.NET/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Reverse-words-in-a-string b/Lang/PascalABC.NET/Reverse-words-in-a-string
new file mode 120000
index 0000000000..aa82b64f3b
--- /dev/null
+++ b/Lang/PascalABC.NET/Reverse-words-in-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-words-in-a-string/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Roman-numerals-Decode b/Lang/PascalABC.NET/Roman-numerals-Decode
new file mode 120000
index 0000000000..990d667ad0
--- /dev/null
+++ b/Lang/PascalABC.NET/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Roman-numerals-Encode b/Lang/PascalABC.NET/Roman-numerals-Encode
new file mode 120000
index 0000000000..c8f15e15fa
--- /dev/null
+++ b/Lang/PascalABC.NET/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Roots-of-unity b/Lang/PascalABC.NET/Roots-of-unity
new file mode 120000
index 0000000000..31b7a73b39
--- /dev/null
+++ b/Lang/PascalABC.NET/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Rosetta-Code-Rank-languages-by-popularity b/Lang/PascalABC.NET/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..55aa7d4f0c
--- /dev/null
+++ b/Lang/PascalABC.NET/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Rot-13 b/Lang/PascalABC.NET/Rot-13
new file mode 120000
index 0000000000..f7c9e778c9
--- /dev/null
+++ b/Lang/PascalABC.NET/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Scope-modifiers b/Lang/PascalABC.NET/Scope-modifiers
new file mode 120000
index 0000000000..eb11f44070
--- /dev/null
+++ b/Lang/PascalABC.NET/Scope-modifiers
@@ -0,0 +1 @@
+../../Task/Scope-modifiers/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Search-a-list-of-records b/Lang/PascalABC.NET/Search-a-list-of-records
new file mode 120000
index 0000000000..7e72a33d4d
--- /dev/null
+++ b/Lang/PascalABC.NET/Search-a-list-of-records
@@ -0,0 +1 @@
+../../Task/Search-a-list-of-records/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Send-an-unknown-method-call b/Lang/PascalABC.NET/Send-an-unknown-method-call
new file mode 120000
index 0000000000..2e049c05b3
--- /dev/null
+++ b/Lang/PascalABC.NET/Send-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Send-an-unknown-method-call/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Sequence-of-primes-by-trial-division b/Lang/PascalABC.NET/Sequence-of-primes-by-trial-division
new file mode 120000
index 0000000000..4182c218d4
--- /dev/null
+++ b/Lang/PascalABC.NET/Sequence-of-primes-by-trial-division
@@ -0,0 +1 @@
+../../Task/Sequence-of-primes-by-trial-division/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Short-circuit-evaluation b/Lang/PascalABC.NET/Short-circuit-evaluation
new file mode 120000
index 0000000000..582c107471
--- /dev/null
+++ b/Lang/PascalABC.NET/Short-circuit-evaluation
@@ -0,0 +1 @@
+../../Task/Short-circuit-evaluation/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Sierpinski-triangle b/Lang/PascalABC.NET/Sierpinski-triangle
new file mode 120000
index 0000000000..7eb8f22264
--- /dev/null
+++ b/Lang/PascalABC.NET/Sierpinski-triangle
@@ -0,0 +1 @@
+../../Task/Sierpinski-triangle/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Sieve-of-Eratosthenes b/Lang/PascalABC.NET/Sieve-of-Eratosthenes
new file mode 120000
index 0000000000..c9a2623742
--- /dev/null
+++ b/Lang/PascalABC.NET/Sieve-of-Eratosthenes
@@ -0,0 +1 @@
+../../Task/Sieve-of-Eratosthenes/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Simple-windowed-application b/Lang/PascalABC.NET/Simple-windowed-application
new file mode 120000
index 0000000000..a619cd32f7
--- /dev/null
+++ b/Lang/PascalABC.NET/Simple-windowed-application
@@ -0,0 +1 @@
+../../Task/Simple-windowed-application/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Singly-linked-list-Element-definition b/Lang/PascalABC.NET/Singly-linked-list-Element-definition
new file mode 120000
index 0000000000..71d3f5d628
--- /dev/null
+++ b/Lang/PascalABC.NET/Singly-linked-list-Element-definition
@@ -0,0 +1 @@
+../../Task/Singly-linked-list-Element-definition/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Singly-linked-list-Element-insertion b/Lang/PascalABC.NET/Singly-linked-list-Element-insertion
new file mode 120000
index 0000000000..f60548d528
--- /dev/null
+++ b/Lang/PascalABC.NET/Singly-linked-list-Element-insertion
@@ -0,0 +1 @@
+../../Task/Singly-linked-list-Element-insertion/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Sleep b/Lang/PascalABC.NET/Sleep
new file mode 120000
index 0000000000..d8f830cd4f
--- /dev/null
+++ b/Lang/PascalABC.NET/Sleep
@@ -0,0 +1 @@
+../../Task/Sleep/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Sort-an-array-of-composite-structures b/Lang/PascalABC.NET/Sort-an-array-of-composite-structures
new file mode 120000
index 0000000000..e0459e8577
--- /dev/null
+++ b/Lang/PascalABC.NET/Sort-an-array-of-composite-structures
@@ -0,0 +1 @@
+../../Task/Sort-an-array-of-composite-structures/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Sort-an-integer-array b/Lang/PascalABC.NET/Sort-an-integer-array
new file mode 120000
index 0000000000..e2137f1191
--- /dev/null
+++ b/Lang/PascalABC.NET/Sort-an-integer-array
@@ -0,0 +1 @@
+../../Task/Sort-an-integer-array/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Sort-three-variables b/Lang/PascalABC.NET/Sort-three-variables
new file mode 120000
index 0000000000..2143247222
--- /dev/null
+++ b/Lang/PascalABC.NET/Sort-three-variables
@@ -0,0 +1 @@
+../../Task/Sort-three-variables/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Sort-using-a-custom-comparator b/Lang/PascalABC.NET/Sort-using-a-custom-comparator
new file mode 120000
index 0000000000..a2ade4323b
--- /dev/null
+++ b/Lang/PascalABC.NET/Sort-using-a-custom-comparator
@@ -0,0 +1 @@
+../../Task/Sort-using-a-custom-comparator/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Sorting-algorithms-Bubble-sort b/Lang/PascalABC.NET/Sorting-algorithms-Bubble-sort
new file mode 120000
index 0000000000..75fb7e1472
--- /dev/null
+++ b/Lang/PascalABC.NET/Sorting-algorithms-Bubble-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Bubble-sort/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Sorting-algorithms-Quicksort b/Lang/PascalABC.NET/Sorting-algorithms-Quicksort
new file mode 120000
index 0000000000..d84582d974
--- /dev/null
+++ b/Lang/PascalABC.NET/Sorting-algorithms-Quicksort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Quicksort/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Special-variables b/Lang/PascalABC.NET/Special-variables
new file mode 120000
index 0000000000..00db4953ba
--- /dev/null
+++ b/Lang/PascalABC.NET/Special-variables
@@ -0,0 +1 @@
+../../Task/Special-variables/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Split-a-character-string-based-on-change-of-character b/Lang/PascalABC.NET/Split-a-character-string-based-on-change-of-character
new file mode 120000
index 0000000000..b7c7bef74b
--- /dev/null
+++ b/Lang/PascalABC.NET/Split-a-character-string-based-on-change-of-character
@@ -0,0 +1 @@
+../../Task/Split-a-character-string-based-on-change-of-character/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Stack b/Lang/PascalABC.NET/Stack
new file mode 120000
index 0000000000..71f695fe1b
--- /dev/null
+++ b/Lang/PascalABC.NET/Stack
@@ -0,0 +1 @@
+../../Task/Stack/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Stack-traces b/Lang/PascalABC.NET/Stack-traces
new file mode 120000
index 0000000000..b6976dc3e0
--- /dev/null
+++ b/Lang/PascalABC.NET/Stack-traces
@@ -0,0 +1 @@
+../../Task/Stack-traces/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Statistics-Basic b/Lang/PascalABC.NET/Statistics-Basic
new file mode 120000
index 0000000000..5ef44d7d18
--- /dev/null
+++ b/Lang/PascalABC.NET/Statistics-Basic
@@ -0,0 +1 @@
+../../Task/Statistics-Basic/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/String-append b/Lang/PascalABC.NET/String-append
new file mode 120000
index 0000000000..78fd361243
--- /dev/null
+++ b/Lang/PascalABC.NET/String-append
@@ -0,0 +1 @@
+../../Task/String-append/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/String-case b/Lang/PascalABC.NET/String-case
new file mode 120000
index 0000000000..980e55192e
--- /dev/null
+++ b/Lang/PascalABC.NET/String-case
@@ -0,0 +1 @@
+../../Task/String-case/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/String-concatenation b/Lang/PascalABC.NET/String-concatenation
new file mode 120000
index 0000000000..d7b52bf492
--- /dev/null
+++ b/Lang/PascalABC.NET/String-concatenation
@@ -0,0 +1 @@
+../../Task/String-concatenation/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/String-interpolation-included- b/Lang/PascalABC.NET/String-interpolation-included-
new file mode 120000
index 0000000000..6a1179d384
--- /dev/null
+++ b/Lang/PascalABC.NET/String-interpolation-included-
@@ -0,0 +1 @@
+../../Task/String-interpolation-included-/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/String-length b/Lang/PascalABC.NET/String-length
new file mode 120000
index 0000000000..1bc629e3ec
--- /dev/null
+++ b/Lang/PascalABC.NET/String-length
@@ -0,0 +1 @@
+../../Task/String-length/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/String-matching b/Lang/PascalABC.NET/String-matching
new file mode 120000
index 0000000000..f031375ab5
--- /dev/null
+++ b/Lang/PascalABC.NET/String-matching
@@ -0,0 +1 @@
+../../Task/String-matching/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/String-prepend b/Lang/PascalABC.NET/String-prepend
new file mode 120000
index 0000000000..205b3e4638
--- /dev/null
+++ b/Lang/PascalABC.NET/String-prepend
@@ -0,0 +1 @@
+../../Task/String-prepend/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Strip-a-set-of-characters-from-a-string b/Lang/PascalABC.NET/Strip-a-set-of-characters-from-a-string
new file mode 120000
index 0000000000..5548033cde
--- /dev/null
+++ b/Lang/PascalABC.NET/Strip-a-set-of-characters-from-a-string
@@ -0,0 +1 @@
+../../Task/Strip-a-set-of-characters-from-a-string/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Strip-block-comments b/Lang/PascalABC.NET/Strip-block-comments
new file mode 120000
index 0000000000..7a95085577
--- /dev/null
+++ b/Lang/PascalABC.NET/Strip-block-comments
@@ -0,0 +1 @@
+../../Task/Strip-block-comments/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Strip-comments-from-a-string b/Lang/PascalABC.NET/Strip-comments-from-a-string
new file mode 120000
index 0000000000..c415553cce
--- /dev/null
+++ b/Lang/PascalABC.NET/Strip-comments-from-a-string
@@ -0,0 +1 @@
+../../Task/Strip-comments-from-a-string/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Strip-control-codes-and-extended-characters-from-a-string b/Lang/PascalABC.NET/Strip-control-codes-and-extended-characters-from-a-string
new file mode 120000
index 0000000000..3175c3c416
--- /dev/null
+++ b/Lang/PascalABC.NET/Strip-control-codes-and-extended-characters-from-a-string
@@ -0,0 +1 @@
+../../Task/Strip-control-codes-and-extended-characters-from-a-string/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Strip-whitespace-from-a-string-Top-and-tail b/Lang/PascalABC.NET/Strip-whitespace-from-a-string-Top-and-tail
new file mode 120000
index 0000000000..075fc6a71b
--- /dev/null
+++ b/Lang/PascalABC.NET/Strip-whitespace-from-a-string-Top-and-tail
@@ -0,0 +1 @@
+../../Task/Strip-whitespace-from-a-string-Top-and-tail/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Substitution-cipher b/Lang/PascalABC.NET/Substitution-cipher
new file mode 120000
index 0000000000..5c9f1bb54c
--- /dev/null
+++ b/Lang/PascalABC.NET/Substitution-cipher
@@ -0,0 +1 @@
+../../Task/Substitution-cipher/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Substring b/Lang/PascalABC.NET/Substring
new file mode 120000
index 0000000000..f2a607112d
--- /dev/null
+++ b/Lang/PascalABC.NET/Substring
@@ -0,0 +1 @@
+../../Task/Substring/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Substring-Top-and-tail b/Lang/PascalABC.NET/Substring-Top-and-tail
new file mode 120000
index 0000000000..b64b9c4948
--- /dev/null
+++ b/Lang/PascalABC.NET/Substring-Top-and-tail
@@ -0,0 +1 @@
+../../Task/Substring-Top-and-tail/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Sudan-function b/Lang/PascalABC.NET/Sudan-function
new file mode 120000
index 0000000000..2a6cccd8a5
--- /dev/null
+++ b/Lang/PascalABC.NET/Sudan-function
@@ -0,0 +1 @@
+../../Task/Sudan-function/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Sum-and-product-of-an-array b/Lang/PascalABC.NET/Sum-and-product-of-an-array
new file mode 120000
index 0000000000..5bf49387d6
--- /dev/null
+++ b/Lang/PascalABC.NET/Sum-and-product-of-an-array
@@ -0,0 +1 @@
+../../Task/Sum-and-product-of-an-array/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Sum-digits-of-an-integer b/Lang/PascalABC.NET/Sum-digits-of-an-integer
new file mode 120000
index 0000000000..84d553224a
--- /dev/null
+++ b/Lang/PascalABC.NET/Sum-digits-of-an-integer
@@ -0,0 +1 @@
+../../Task/Sum-digits-of-an-integer/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Sum-multiples-of-3-and-5 b/Lang/PascalABC.NET/Sum-multiples-of-3-and-5
new file mode 120000
index 0000000000..3792b87fe0
--- /dev/null
+++ b/Lang/PascalABC.NET/Sum-multiples-of-3-and-5
@@ -0,0 +1 @@
+../../Task/Sum-multiples-of-3-and-5/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Sum-of-a-series b/Lang/PascalABC.NET/Sum-of-a-series
new file mode 120000
index 0000000000..1c91b8532b
--- /dev/null
+++ b/Lang/PascalABC.NET/Sum-of-a-series
@@ -0,0 +1 @@
+../../Task/Sum-of-a-series/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Sum-of-elements-below-main-diagonal-of-matrix b/Lang/PascalABC.NET/Sum-of-elements-below-main-diagonal-of-matrix
new file mode 120000
index 0000000000..055fd11a3e
--- /dev/null
+++ b/Lang/PascalABC.NET/Sum-of-elements-below-main-diagonal-of-matrix
@@ -0,0 +1 @@
+../../Task/Sum-of-elements-below-main-diagonal-of-matrix/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Sum-of-squares b/Lang/PascalABC.NET/Sum-of-squares
new file mode 120000
index 0000000000..0d6573d1ec
--- /dev/null
+++ b/Lang/PascalABC.NET/Sum-of-squares
@@ -0,0 +1 @@
+../../Task/Sum-of-squares/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Symmetric-difference b/Lang/PascalABC.NET/Symmetric-difference
new file mode 120000
index 0000000000..6a0af3805f
--- /dev/null
+++ b/Lang/PascalABC.NET/Symmetric-difference
@@ -0,0 +1 @@
+../../Task/Symmetric-difference/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/System-time b/Lang/PascalABC.NET/System-time
new file mode 120000
index 0000000000..b4cf3d92cb
--- /dev/null
+++ b/Lang/PascalABC.NET/System-time
@@ -0,0 +1 @@
+../../Task/System-time/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Take-notes-on-the-command-line b/Lang/PascalABC.NET/Take-notes-on-the-command-line
new file mode 120000
index 0000000000..ce2c9c51c4
--- /dev/null
+++ b/Lang/PascalABC.NET/Take-notes-on-the-command-line
@@ -0,0 +1 @@
+../../Task/Take-notes-on-the-command-line/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Tau-function b/Lang/PascalABC.NET/Tau-function
new file mode 120000
index 0000000000..fcb633b959
--- /dev/null
+++ b/Lang/PascalABC.NET/Tau-function
@@ -0,0 +1 @@
+../../Task/Tau-function/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Tau-number b/Lang/PascalABC.NET/Tau-number
new file mode 120000
index 0000000000..4be8374dc0
--- /dev/null
+++ b/Lang/PascalABC.NET/Tau-number
@@ -0,0 +1 @@
+../../Task/Tau-number/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Teacup-rim-text b/Lang/PascalABC.NET/Teacup-rim-text
new file mode 120000
index 0000000000..408b28d813
--- /dev/null
+++ b/Lang/PascalABC.NET/Teacup-rim-text
@@ -0,0 +1 @@
+../../Task/Teacup-rim-text/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Temperature-conversion b/Lang/PascalABC.NET/Temperature-conversion
new file mode 120000
index 0000000000..607c5a8aa1
--- /dev/null
+++ b/Lang/PascalABC.NET/Temperature-conversion
@@ -0,0 +1 @@
+../../Task/Temperature-conversion/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Terminal-control-Clear-the-screen b/Lang/PascalABC.NET/Terminal-control-Clear-the-screen
new file mode 120000
index 0000000000..ba3f668e83
--- /dev/null
+++ b/Lang/PascalABC.NET/Terminal-control-Clear-the-screen
@@ -0,0 +1 @@
+../../Task/Terminal-control-Clear-the-screen/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Terminal-control-Coloured-text b/Lang/PascalABC.NET/Terminal-control-Coloured-text
new file mode 120000
index 0000000000..26edde266f
--- /dev/null
+++ b/Lang/PascalABC.NET/Terminal-control-Coloured-text
@@ -0,0 +1 @@
+../../Task/Terminal-control-Coloured-text/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Terminal-control-Cursor-movement b/Lang/PascalABC.NET/Terminal-control-Cursor-movement
new file mode 120000
index 0000000000..75b038bfd2
--- /dev/null
+++ b/Lang/PascalABC.NET/Terminal-control-Cursor-movement
@@ -0,0 +1 @@
+../../Task/Terminal-control-Cursor-movement/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Terminal-control-Cursor-positioning b/Lang/PascalABC.NET/Terminal-control-Cursor-positioning
new file mode 120000
index 0000000000..440e989070
--- /dev/null
+++ b/Lang/PascalABC.NET/Terminal-control-Cursor-positioning
@@ -0,0 +1 @@
+../../Task/Terminal-control-Cursor-positioning/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Terminal-control-Dimensions b/Lang/PascalABC.NET/Terminal-control-Dimensions
new file mode 120000
index 0000000000..294b1506e4
--- /dev/null
+++ b/Lang/PascalABC.NET/Terminal-control-Dimensions
@@ -0,0 +1 @@
+../../Task/Terminal-control-Dimensions/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Terminal-control-Display-an-extended-character b/Lang/PascalABC.NET/Terminal-control-Display-an-extended-character
new file mode 120000
index 0000000000..51ff55a04f
--- /dev/null
+++ b/Lang/PascalABC.NET/Terminal-control-Display-an-extended-character
@@ -0,0 +1 @@
+../../Task/Terminal-control-Display-an-extended-character/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Terminal-control-Hiding-the-cursor b/Lang/PascalABC.NET/Terminal-control-Hiding-the-cursor
new file mode 120000
index 0000000000..0f79ee5b6d
--- /dev/null
+++ b/Lang/PascalABC.NET/Terminal-control-Hiding-the-cursor
@@ -0,0 +1 @@
+../../Task/Terminal-control-Hiding-the-cursor/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Terminal-control-Ringing-the-terminal-bell b/Lang/PascalABC.NET/Terminal-control-Ringing-the-terminal-bell
new file mode 120000
index 0000000000..dbea7c8c1b
--- /dev/null
+++ b/Lang/PascalABC.NET/Terminal-control-Ringing-the-terminal-bell
@@ -0,0 +1 @@
+../../Task/Terminal-control-Ringing-the-terminal-bell/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Test-a-function b/Lang/PascalABC.NET/Test-a-function
new file mode 120000
index 0000000000..561aaeccdd
--- /dev/null
+++ b/Lang/PascalABC.NET/Test-a-function
@@ -0,0 +1 @@
+../../Task/Test-a-function/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Time-a-function b/Lang/PascalABC.NET/Time-a-function
new file mode 120000
index 0000000000..2c161d3642
--- /dev/null
+++ b/Lang/PascalABC.NET/Time-a-function
@@ -0,0 +1 @@
+../../Task/Time-a-function/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Tokenize-a-string b/Lang/PascalABC.NET/Tokenize-a-string
new file mode 120000
index 0000000000..790ef58cc8
--- /dev/null
+++ b/Lang/PascalABC.NET/Tokenize-a-string
@@ -0,0 +1 @@
+../../Task/Tokenize-a-string/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Top-rank-per-group b/Lang/PascalABC.NET/Top-rank-per-group
new file mode 120000
index 0000000000..09da721479
--- /dev/null
+++ b/Lang/PascalABC.NET/Top-rank-per-group
@@ -0,0 +1 @@
+../../Task/Top-rank-per-group/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Totient-function b/Lang/PascalABC.NET/Totient-function
new file mode 120000
index 0000000000..cbbd5dcdf5
--- /dev/null
+++ b/Lang/PascalABC.NET/Totient-function
@@ -0,0 +1 @@
+../../Task/Totient-function/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Towers-of-Hanoi b/Lang/PascalABC.NET/Towers-of-Hanoi
new file mode 120000
index 0000000000..2c8ecfee74
--- /dev/null
+++ b/Lang/PascalABC.NET/Towers-of-Hanoi
@@ -0,0 +1 @@
+../../Task/Towers-of-Hanoi/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Trabb-Pardo-Knuth-algorithm b/Lang/PascalABC.NET/Trabb-Pardo-Knuth-algorithm
new file mode 120000
index 0000000000..c211c9d9e3
--- /dev/null
+++ b/Lang/PascalABC.NET/Trabb-Pardo-Knuth-algorithm
@@ -0,0 +1 @@
+../../Task/Trabb-Pardo-Knuth-algorithm/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Transliterate-English-text-using-the-Greek-alphabet b/Lang/PascalABC.NET/Transliterate-English-text-using-the-Greek-alphabet
new file mode 120000
index 0000000000..d24a02b5a0
--- /dev/null
+++ b/Lang/PascalABC.NET/Transliterate-English-text-using-the-Greek-alphabet
@@ -0,0 +1 @@
+../../Task/Transliterate-English-text-using-the-Greek-alphabet/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Tree-datastructures b/Lang/PascalABC.NET/Tree-datastructures
new file mode 120000
index 0000000000..2b711cc827
--- /dev/null
+++ b/Lang/PascalABC.NET/Tree-datastructures
@@ -0,0 +1 @@
+../../Task/Tree-datastructures/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Tree-traversal b/Lang/PascalABC.NET/Tree-traversal
new file mode 120000
index 0000000000..7b8540d436
--- /dev/null
+++ b/Lang/PascalABC.NET/Tree-traversal
@@ -0,0 +1 @@
+../../Task/Tree-traversal/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Trigonometric-functions b/Lang/PascalABC.NET/Trigonometric-functions
new file mode 120000
index 0000000000..90b97e3cc1
--- /dev/null
+++ b/Lang/PascalABC.NET/Trigonometric-functions
@@ -0,0 +1 @@
+../../Task/Trigonometric-functions/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Truncate-a-file b/Lang/PascalABC.NET/Truncate-a-file
new file mode 120000
index 0000000000..e41951adf8
--- /dev/null
+++ b/Lang/PascalABC.NET/Truncate-a-file
@@ -0,0 +1 @@
+../../Task/Truncate-a-file/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Twos-complement b/Lang/PascalABC.NET/Twos-complement
new file mode 120000
index 0000000000..b0daea87d5
--- /dev/null
+++ b/Lang/PascalABC.NET/Twos-complement
@@ -0,0 +1 @@
+../../Task/Twos-complement/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/URL-decoding b/Lang/PascalABC.NET/URL-decoding
new file mode 120000
index 0000000000..bb79d3d611
--- /dev/null
+++ b/Lang/PascalABC.NET/URL-decoding
@@ -0,0 +1 @@
+../../Task/URL-decoding/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/URL-encoding b/Lang/PascalABC.NET/URL-encoding
new file mode 120000
index 0000000000..4e193b1e1d
--- /dev/null
+++ b/Lang/PascalABC.NET/URL-encoding
@@ -0,0 +1 @@
+../../Task/URL-encoding/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Undefined-values b/Lang/PascalABC.NET/Undefined-values
new file mode 120000
index 0000000000..799f03aa4e
--- /dev/null
+++ b/Lang/PascalABC.NET/Undefined-values
@@ -0,0 +1 @@
+../../Task/Undefined-values/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Unicode-strings b/Lang/PascalABC.NET/Unicode-strings
new file mode 120000
index 0000000000..1596fd402d
--- /dev/null
+++ b/Lang/PascalABC.NET/Unicode-strings
@@ -0,0 +1 @@
+../../Task/Unicode-strings/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Unicode-variable-names b/Lang/PascalABC.NET/Unicode-variable-names
new file mode 120000
index 0000000000..356bcbe63e
--- /dev/null
+++ b/Lang/PascalABC.NET/Unicode-variable-names
@@ -0,0 +1 @@
+../../Task/Unicode-variable-names/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/User-input-Text b/Lang/PascalABC.NET/User-input-Text
new file mode 120000
index 0000000000..c49d403c30
--- /dev/null
+++ b/Lang/PascalABC.NET/User-input-Text
@@ -0,0 +1 @@
+../../Task/User-input-Text/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Variables b/Lang/PascalABC.NET/Variables
new file mode 120000
index 0000000000..fb0f3cb656
--- /dev/null
+++ b/Lang/PascalABC.NET/Variables
@@ -0,0 +1 @@
+../../Task/Variables/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Variadic-function b/Lang/PascalABC.NET/Variadic-function
new file mode 120000
index 0000000000..c1bc454958
--- /dev/null
+++ b/Lang/PascalABC.NET/Variadic-function
@@ -0,0 +1 @@
+../../Task/Variadic-function/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Vector b/Lang/PascalABC.NET/Vector
new file mode 120000
index 0000000000..d45a06a593
--- /dev/null
+++ b/Lang/PascalABC.NET/Vector
@@ -0,0 +1 @@
+../../Task/Vector/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Vector-products b/Lang/PascalABC.NET/Vector-products
new file mode 120000
index 0000000000..8bc6e1a1f1
--- /dev/null
+++ b/Lang/PascalABC.NET/Vector-products
@@ -0,0 +1 @@
+../../Task/Vector-products/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Walk-a-directory-Non-recursively b/Lang/PascalABC.NET/Walk-a-directory-Non-recursively
new file mode 120000
index 0000000000..117d045320
--- /dev/null
+++ b/Lang/PascalABC.NET/Walk-a-directory-Non-recursively
@@ -0,0 +1 @@
+../../Task/Walk-a-directory-Non-recursively/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Walk-a-directory-Recursively b/Lang/PascalABC.NET/Walk-a-directory-Recursively
new file mode 120000
index 0000000000..6fba185f99
--- /dev/null
+++ b/Lang/PascalABC.NET/Walk-a-directory-Recursively
@@ -0,0 +1 @@
+../../Task/Walk-a-directory-Recursively/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Window-creation b/Lang/PascalABC.NET/Window-creation
new file mode 120000
index 0000000000..c656ea2a7f
--- /dev/null
+++ b/Lang/PascalABC.NET/Window-creation
@@ -0,0 +1 @@
+../../Task/Window-creation/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Word-frequency b/Lang/PascalABC.NET/Word-frequency
new file mode 120000
index 0000000000..eed444f9fc
--- /dev/null
+++ b/Lang/PascalABC.NET/Word-frequency
@@ -0,0 +1 @@
+../../Task/Word-frequency/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Word-wrap b/Lang/PascalABC.NET/Word-wrap
new file mode 120000
index 0000000000..b2cbb831f8
--- /dev/null
+++ b/Lang/PascalABC.NET/Word-wrap
@@ -0,0 +1 @@
+../../Task/Word-wrap/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Write-entire-file b/Lang/PascalABC.NET/Write-entire-file
new file mode 120000
index 0000000000..fb24fa3029
--- /dev/null
+++ b/Lang/PascalABC.NET/Write-entire-file
@@ -0,0 +1 @@
+../../Task/Write-entire-file/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Write-to-Windows-event-log b/Lang/PascalABC.NET/Write-to-Windows-event-log
new file mode 120000
index 0000000000..556c794eaf
--- /dev/null
+++ b/Lang/PascalABC.NET/Write-to-Windows-event-log
@@ -0,0 +1 @@
+../../Task/Write-to-Windows-event-log/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/XML-DOM-serialization b/Lang/PascalABC.NET/XML-DOM-serialization
new file mode 120000
index 0000000000..ac8822f809
--- /dev/null
+++ b/Lang/PascalABC.NET/XML-DOM-serialization
@@ -0,0 +1 @@
+../../Task/XML-DOM-serialization/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/XML-Input b/Lang/PascalABC.NET/XML-Input
new file mode 120000
index 0000000000..6c693b433f
--- /dev/null
+++ b/Lang/PascalABC.NET/XML-Input
@@ -0,0 +1 @@
+../../Task/XML-Input/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/XML-Output b/Lang/PascalABC.NET/XML-Output
new file mode 120000
index 0000000000..c33649037e
--- /dev/null
+++ b/Lang/PascalABC.NET/XML-Output
@@ -0,0 +1 @@
+../../Task/XML-Output/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/PascalABC.NET/Zero-to-the-zero-power b/Lang/PascalABC.NET/Zero-to-the-zero-power
new file mode 120000
index 0000000000..315543b2a3
--- /dev/null
+++ b/Lang/PascalABC.NET/Zero-to-the-zero-power
@@ -0,0 +1 @@
+../../Task/Zero-to-the-zero-power/PascalABC.NET
\ No newline at end of file
diff --git a/Lang/Perl/Bioinformatics-base-count b/Lang/Perl/Bioinformatics-base-count
deleted file mode 120000
index 38044107bd..0000000000
--- a/Lang/Perl/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Compare-sorting-algorithms-performance b/Lang/Perl/Compare-sorting-algorithms-performance
new file mode 120000
index 0000000000..a54a5351fe
--- /dev/null
+++ b/Lang/Perl/Compare-sorting-algorithms-performance
@@ -0,0 +1 @@
+../../Task/Compare-sorting-algorithms-performance/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n- b/Lang/Perl/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n-
new file mode 120000
index 0000000000..bc2932bdb0
--- /dev/null
+++ b/Lang/Perl/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n-
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n-/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Execute-Computer-Zero b/Lang/Perl/Execute-Computer-Zero
new file mode 120000
index 0000000000..f5f02da865
--- /dev/null
+++ b/Lang/Perl/Execute-Computer-Zero
@@ -0,0 +1 @@
+../../Task/Execute-Computer-Zero/Perl
\ No newline at end of file
diff --git a/Lang/Perl/K-d-tree b/Lang/Perl/K-d-tree
new file mode 120000
index 0000000000..1cd4d50962
--- /dev/null
+++ b/Lang/Perl/K-d-tree
@@ -0,0 +1 @@
+../../Task/K-d-tree/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Machine-code b/Lang/Perl/Machine-code
new file mode 120000
index 0000000000..4729cd6042
--- /dev/null
+++ b/Lang/Perl/Machine-code
@@ -0,0 +1 @@
+../../Task/Machine-code/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Meissel-Mertens-constant b/Lang/Perl/Meissel-Mertens-constant
deleted file mode 120000
index d5ec169595..0000000000
--- a/Lang/Perl/Meissel-Mertens-constant
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Meissel-Mertens-constant/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Miller-Rabin-primality-test b/Lang/Perl/Miller-Rabin-primality-test
deleted file mode 120000
index f2d8f376aa..0000000000
--- a/Lang/Perl/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Prime-numbers-whose-neighboring-pairs-are-tetraprimes b/Lang/Perl/Prime-numbers-whose-neighboring-pairs-are-tetraprimes
new file mode 120000
index 0000000000..fc79cb9bd2
--- /dev/null
+++ b/Lang/Perl/Prime-numbers-whose-neighboring-pairs-are-tetraprimes
@@ -0,0 +1 @@
+../../Task/Prime-numbers-whose-neighboring-pairs-are-tetraprimes/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Quaternion-type b/Lang/Perl/Quaternion-type
deleted file mode 120000
index 6c26830ce6..0000000000
--- a/Lang/Perl/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Search-in-paragraphs-text b/Lang/Perl/Search-in-paragraphs-text
new file mode 120000
index 0000000000..3327049060
--- /dev/null
+++ b/Lang/Perl/Search-in-paragraphs-text
@@ -0,0 +1 @@
+../../Task/Search-in-paragraphs-text/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Sequence-nth-number-with-exactly-n-divisors b/Lang/Perl/Sequence:-nth-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Perl/Sequence-nth-number-with-exactly-n-divisors
rename to Lang/Perl/Sequence:-nth-number-with-exactly-n-divisors
diff --git a/Lang/Perl/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/Perl/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/Perl/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/Perl/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/Perl/Sequence-smallest-number-with-exactly-n-divisors b/Lang/Perl/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Perl/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/Perl/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/Perl/Singular-value-decomposition b/Lang/Perl/Singular-value-decomposition
new file mode 120000
index 0000000000..0fe6468df6
--- /dev/null
+++ b/Lang/Perl/Singular-value-decomposition
@@ -0,0 +1 @@
+../../Task/Singular-value-decomposition/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Sorting-Algorithms-Circle-Sort b/Lang/Perl/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index dec6111fc4..0000000000
--- a/Lang/Perl/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Steffensens-method b/Lang/Perl/Steffensens-method
new file mode 120000
index 0000000000..3b3d8146aa
--- /dev/null
+++ b/Lang/Perl/Steffensens-method
@@ -0,0 +1 @@
+../../Task/Steffensens-method/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Strassens-algorithm b/Lang/Perl/Strassens-algorithm
new file mode 120000
index 0000000000..013c3f70b0
--- /dev/null
+++ b/Lang/Perl/Strassens-algorithm
@@ -0,0 +1 @@
+../../Task/Strassens-algorithm/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Tropical-algebra-overloading b/Lang/Perl/Tropical-algebra-overloading
new file mode 120000
index 0000000000..380da329d3
--- /dev/null
+++ b/Lang/Perl/Tropical-algebra-overloading
@@ -0,0 +1 @@
+../../Task/Tropical-algebra-overloading/Perl
\ No newline at end of file
diff --git a/Lang/Phix/00-LANG.txt b/Lang/Phix/00-LANG.txt
index cbc88ce28e..7a127fa93c 100644
--- a/Lang/Phix/00-LANG.txt
+++ b/Lang/Phix/00-LANG.txt
@@ -11,13 +11,13 @@
|LCT=yes
|bnf=http://phix.x10.mx/bnf.php
}}
-Phix is a self-hosted hybrid interpreter/compiler, developed by Pete Lomax. It is very easy to use, and similar to
-[https://rosettacode.org/wiki/Category:Euphoria Euphoria].
+Phix is a self-hosted hybrid interpreter/compiler, developed by Pete Lomax.
+
-On [https://rosettacode.org/wiki/Rosetta_Code/Rank_languages_by_popularity/Full_list?oldid=294533 26th December 2021, Phix became the first programming language on this site to have submissions for 100% of all tasks].
-(On 20th June 2022 [[Wren]] became the second, albeit with [https://www.rosettacode.org/wiki/Category:WrenGo 13]+[https://rosettacode.org/wiki/Special:Search?search=wren.h&wprov=acrw1_-1 66] of those embedded that I, for one, have been unable to run.)
+On 26th December 2021, Phix became the first language on this site to have [https://rosettacode.org/wiki/Rosetta_Code/Rank_languages_by_popularity/Full_list?oldid=294533 submissions for 100%] of all tasks.
+(On 20th June 2022 [[Wren]] became the second, albeit there are [https://www.rosettacode.org/wiki/Category:WrenGo 13]+[https://rosettacode.org/wiki/Special:Search?search=wren.h&wprov=acrw1_-1 66] of those I have never been able to run.)
-[http://phix.x10.mx/download.php A simple 30MB download] contains a pre-compiled executable, all the sources, and'' '''everything''' ''needed to recompile them, in under 20 seconds. The download also contains a full-featured programmer's editor and about 1000 demo programs.
+[http://phix.x10.mx/download.php A simple 30MB download] contains a pre-compiled executable, all the sources, and'' '''everything''' ''needed to recompile them, in under 20 seconds. The download also contains a full-featured programmer's editor and about 1000 demos.
You can also [https://replit.com/@PeteLomax1/PhixInterpreter#main.sh run Phix on replit here] (1.0.3 Lnx 64 bit), and several manually transpiled and uploaded entries [https://rosettacode.org/wiki/Category:Phix/online here]
diff --git a/Lang/Phix/Bioinformatics-base-count b/Lang/Phix/Bioinformatics-base-count
deleted file mode 120000
index 88d72c5b75..0000000000
--- a/Lang/Phix/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/Phix
\ No newline at end of file
diff --git a/Lang/Phix/Meissel-Mertens-constant b/Lang/Phix/Meissel-Mertens-constant
deleted file mode 120000
index a9b8084fb5..0000000000
--- a/Lang/Phix/Meissel-Mertens-constant
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Meissel-Mertens-constant/Phix
\ No newline at end of file
diff --git a/Lang/Phix/Miller-Rabin-primality-test b/Lang/Phix/Miller-Rabin-primality-test
deleted file mode 120000
index 440728dd57..0000000000
--- a/Lang/Phix/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Phix
\ No newline at end of file
diff --git a/Lang/Phix/Quaternion-type b/Lang/Phix/Quaternion-type
deleted file mode 120000
index bae473b66e..0000000000
--- a/Lang/Phix/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Phix
\ No newline at end of file
diff --git a/Lang/Phix/Sequence-nth-number-with-exactly-n-divisors b/Lang/Phix/Sequence:-nth-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Phix/Sequence-nth-number-with-exactly-n-divisors
rename to Lang/Phix/Sequence:-nth-number-with-exactly-n-divisors
diff --git a/Lang/Phix/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/Phix/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/Phix/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/Phix/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/Phix/Sequence-smallest-number-with-exactly-n-divisors b/Lang/Phix/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Phix/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/Phix/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/Phix/Sorting-Algorithms-Circle-Sort b/Lang/Phix/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index 2aea38718d..0000000000
--- a/Lang/Phix/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/Phix
\ No newline at end of file
diff --git a/Lang/Picat/Bioinformatics-base-count b/Lang/Picat/Bioinformatics-base-count
deleted file mode 120000
index c724eb719d..0000000000
--- a/Lang/Picat/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/Picat
\ No newline at end of file
diff --git a/Lang/Picat/Quaternion-type b/Lang/Picat/Quaternion-type
deleted file mode 120000
index e15dda2aeb..0000000000
--- a/Lang/Picat/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Picat
\ No newline at end of file
diff --git a/Lang/Pico-8/00-LANG.txt b/Lang/Pico-8/00-LANG.txt
new file mode 100644
index 0000000000..017ddd4004
--- /dev/null
+++ b/Lang/Pico-8/00-LANG.txt
@@ -0,0 +1 @@
+{{stub}}{{language|Pico-8}}
\ No newline at end of file
diff --git a/Lang/Pico-8/00-META.yaml b/Lang/Pico-8/00-META.yaml
new file mode 100644
index 0000000000..5d0c380905
--- /dev/null
+++ b/Lang/Pico-8/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Pico-8
diff --git a/Lang/Pico-8/Hello-world-Text b/Lang/Pico-8/Hello-world-Text
new file mode 120000
index 0000000000..8a6a254eaa
--- /dev/null
+++ b/Lang/Pico-8/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Pico-8
\ No newline at end of file
diff --git a/Lang/PicoLisp/Bioinformatics-base-count b/Lang/PicoLisp/Bioinformatics-base-count
deleted file mode 120000
index a4931ebf04..0000000000
--- a/Lang/PicoLisp/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Miller-Rabin-primality-test b/Lang/PicoLisp/Miller-Rabin-primality-test
deleted file mode 120000
index eae524ec57..0000000000
--- a/Lang/PicoLisp/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Quaternion-type b/Lang/PicoLisp/Quaternion-type
deleted file mode 120000
index 2120681801..0000000000
--- a/Lang/PicoLisp/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/PicoLisp
\ No newline at end of file
diff --git a/Lang/Pike/Execute-Brain- b/Lang/Pike/Execute-Brain-
new file mode 120000
index 0000000000..dd7ee4c73b
--- /dev/null
+++ b/Lang/Pike/Execute-Brain-
@@ -0,0 +1 @@
+../../Task/Execute-Brain-/Pike
\ No newline at end of file
diff --git a/Lang/Pike/Miller-Rabin-primality-test b/Lang/Pike/Miller-Rabin-primality-test
deleted file mode 120000
index 2cc78451b0..0000000000
--- a/Lang/Pike/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Pike
\ No newline at end of file
diff --git a/Lang/Plain-English/00-LANG.txt b/Lang/Plain-English/00-LANG.txt
index ff86a2a8e2..087f59b9fa 100644
--- a/Lang/Plain-English/00-LANG.txt
+++ b/Lang/Plain-English/00-LANG.txt
@@ -25,13 +25,19 @@ or compiled to a self-contained Microsoft Windows .exe file.
Here is a list of what you must understand from the start:
'''Fully Implemented in Itself:''' It is a single executable, with one or more human readable libraries (also written in Plain English Programming Language) which produces a new stand alone .exe with your new program in it.
-It is NOT a compiler only that takes in source and produces compiled code.
-It is NOT an IDE only, that shells out to a compiler.
-It is both.
+The project originally started as an IDE with a built-in compiler.
+Over time, this evolved into a separate effort, resulting in a standalone compiler developed as an independent project.
+Today, the ecosystem consists of two distinct components:
+an IDE that includes its own integrated compiler, and a separate command-line compiler, each maintained independently.
There is NO complete source code in another language; the system was bootstrapped in a Pascal-like language (which is no longer available) and was later re-written entirely in Plain English.
It is "Machine Code" Low Level: The bootstrap is very basic, only able to copy itself and add raw machine code in Intel hex format, make calls to the operating system, e.g.
-Call "kernel32.dll" "SetFilePointer" with the file and 0 and 0 and 2 [file_end] returning a result number.
+Call "kernel32.dll" "SetFilePointer" with
+ the file [hFile]
+ and 0 [lDistanceToMove]
+ and 0 [lpDistanceToMoveHigh]
+ and 2 [file_end / dwMoveMethod]
+ returning a result number.
and call other DLLs e.g.
@@ -43,21 +49,25 @@ and it can do a few other things.
To run:
-Start up.
-Clear the screen.
-Use medium letters. Use the fat pen.
-Pick a really dark color.
-Loop.
-Start in the center of the screen.
-Turn left 1/32 of the way.
-Turn right. Move 2 inches. Turn left.
-Write "HELLO WORLD".
-Refresh the screen.
-Lighten the current color about 20 percent.
-Add 1 to a count. If the count is 32, break.
-Repeat.
-Wait for the escape key.
-Shut down.
+ Start up.
+ Clear the screen.
+ Use medium letters.
+ Use the fat pen.
+ Pick a really dark color.
+ Loop.
+ Start in the center of the screen.
+ Turn left 1/32 of the way.
+ Turn right.
+ Move 2 inches.
+ Turn left.
+ Write "HELLO WORLD".
+ Refresh the screen.
+ Lighten the current color about 20 percent.
+ Add 1 to a count.
+ If the count is 32, break.
+ Repeat.
+ Wait for the escape key.
+ Shut down.
Note that standard English punctuation, word types, and sentence structure are all used.
@@ -79,10 +89,10 @@ Intel $8B85080000008B008B9D0C0000000103.
And yes, that is 80x86 machine code in Intel hex format. It decompiles to
-mov eax, [ebp+8] ; $8B8508000000 -> load the current stack address + 8 into the accumulator
-mov eax, [eax] ; $8B00 -> load memory pointed to by accumulator into accumulator
-mov ebx, [ebp+12] ; $8B9D0C000000-> load the current stack address + 12 into working register
-add [ebx],eax ; $0103 -> add accumulator to memory pointed to by working register
+mov eax, [ebp+8] ; $8B8508000000 -> Load the value at (EBP + 8) into EAX (1st function argument)
+mov eax, [eax] ; $8B00 -> Dereference EAX (load the value from the address stored in EAX)
+mov ebx, [ebp+12] ; $8B9D0C000000-> Load the value at (EBP + 12) into EBX (2nd function argument)
+add [ebx],eax ; $0103 -> Add EAX to the value stored at the address in EBX
So the language has stacked pointers (all parameters are passed by reference) to the two numbers via a number to another number and then it calls this code which gets the first number, and adds it to the second. Hopefully this example shows how high level and low level Plain English is at the same time.
@@ -118,7 +128,7 @@ The great foo is a number.
then values may be assigned, inside a routine
-Put 0 into the great foo
+Put 0 into the great foo.
or be passed by address...
@@ -172,8 +182,8 @@ Type reductions proceed, recursively, from left to right, until a match is found
To decide if a number is greater than another number:
-If the first number is greater than the second number, say yes.
-Say no.
+ If the first number is greater than the second number, say yes.
+ Say no.
'''Function:''' A routine that extracts, calculates, or otherwise derives a value from a passed parameter. Function headers take this form:
@@ -187,14 +197,14 @@ Unlike procedures (which are called via imperative sentences) and deciders (whic
'''Statements'''
From the instruction manual (see link below):
-(1) I really only understand five kinds of sentences:
-(a) type definitions, which always start with A, AN, or SOME;
-(b) global variable definitions, which always start with THE;
-(c) routine headers, which always start with TO, which can contain:
-(d) conditional statements, which always start with IF; and
-(e) imperative statements, which start with anything else.
+(1) The compiler really only understand five kinds of sentences:
+(a) Type definitions, which always start with A, AN, or SOME;
+(b) Global variable definitions, which always start with THE;
+(c) Routine headers, which always start with TO, which can contain:
+(d) Conditional statements, which always start with IF; and
+(e) Imperative statements, which start with anything else.
-(2) I treat as a name anything after A, AN, ANOTHER, SOME, or THE, up to:
+(2) I treat as a name (that is, a variable, argument, parameter or a type) anything after A, AN, ANOTHER, SOME, or THE, up to:
(a) any simple verb, like IS, ARE, CAN, or DO, or
(b) any conjunction, like AND or OR, or
@@ -211,7 +221,9 @@ From the instruction manual (see link below):
The noodle built into Plain English is simply not useful enough by itself, and therefore libraries were created to assist in writing Rosetta Code tasks in Plain English.
See also:
-https://github.com/Folds/english A work in progress to normalize Plain English into a more standard compiler. For documentation on the language in general, see the instructions.pdf file in the documentation folder. The author objects (see the issues)
+https://github.com/Folds/english A work in progress to normalize Plain English into a more standard compiler.
+For documentation on the language in general, see the instructions.pdf file in the documentation folder.
+The author objects (see the issues)
https://forums.parallax.com/discussion/163792/plain-english-programming a long rambling and unproductive (but educational, so productive in that sense) discussion of Plain English with it's author and proponents of a bare metal processor.
{| class="wikitable"
@@ -233,9 +245,219 @@ https://forums.parallax.com/discussion/163792/plain-english-programming a long r
* Complete IDE Download
** [http://www.Osmosian.com/cal-4700.zip cal-4700.zip]
*** requires Microsoft Windows
+* Plain English Compiler (CMD / Command Line)
+** [https://github.com/elisson-zlq3x/Plain-English-Compiler GitHub repo]
==Discussion==
* [https://forums.parallax.com/discussion/163792/plain-english-programming Plain English Programming]
==Todo==
-[[Reports:Tasks_not_implemented_in_PlainEnglish]]
\ No newline at end of file
+[[Reports:Tasks_not_implemented_in_PlainEnglish]]
+
+=Plain English Sources=
+[http://osmosian.com/cal-4700.zip IDE]
+and [https://github.com/elisson-zlq3x/Plain-English-Compiler Compiler].
+==Creators==
+* Gerry Rzeppa (Father)
+[https://www.quora.com/profile/Gerry-Rzeppa Quora Profile]
+[https://www.linkedin.com/in/gerry-rzeppa-17b8051b/ LinkedIn Profile]
+[https://twitter.com/gerryrzeppa Twitter Profile]
+[https://github.com/GerryRzeppa GitHub Profile]
+* Dan Rzeppa (Son)
+[https://github.com/danrzeppa GitHub Profile]
+
+==Contributors==
+* Elender Góis Gallas (Plain Portuguese Creator)
+[https://www.quora.com/profile/Elender-G%C3%B3is-Gallas-%E3%82%A8%E3%83%AC%E3%83%B3%E3%83%87-%E3%82%AC%E3%83%A9%E3%82%B9 Quora Profile]
+[https://www.linkedin.com/in/elender/ LinkedIn Profile]
+[https://twitter.com/elenderg Twitter Profile]
+[https://github.com/elenderg GitHub Profile]
+* Pablo Cayuela (Plain Spanish Creator)
+[https://www.linkedin.com/in/pablo-cayuela-a42b019/ LinkedIn Profile]
+
+==Copyright Owner==
+* The Osmosian Order
+** [http://www.Osmosian.com/ The Osmosian Order of Plain English Programmers] Brochure
+*** [http://www.osmosian.com/manifesto.pdf The Osmosian Manifesto]
+** [https://OsmosianPlainEnglishProgramming.blog/ Wordpress Blog]
In chronological order:
+*** 2018
+**** 05
+***** 01 [https://OsmosianPlainEnglishProgramming.blog/2018/05/01/a-solution-to-the-fatal-flaw-in-relational-database-systems/ A Solution to the Fatal Flaw in Relational Database Systems]
+***** 02 [https://OsmosianPlainEnglishProgramming.blog/2018/05/02/plain-english-programming-fractal-forests/ Fractal Forests]
+***** 02 [https://OsmosianPlainEnglishProgramming.blog/2018/05/02/plain-english-programming-is-a-picture-worth-1000-words/ Plain English Programming — Is a Picture Worth 1000 Words?]
+***** 03 [https://OsmosianPlainEnglishProgramming.blog/2018/05/03/plain-english-programming-robotics/ Robotics]
+***** 03 [https://OsmosianPlainEnglishProgramming.blog/2018/05/03/plain-english-programming-a-wysiwyg-document-editor/ A WYSIWYG Document Editor]
+***** 04 [https://OsmosianPlainEnglishProgramming.blog/2018/05/04/plain-english-programming-musings-on-the-a-in-ai/ Musings on the “A” in “AI”]
+***** 04 [https://OsmosianPlainEnglishProgramming.blog/2018/05/04/plain-english-programming-a-simple-merge-sort/ Robotics]
+***** 05 [https://OsmosianPlainEnglishProgramming.blog/2018/05/05/plain-english-programming-smoothing-polygons/ Plain English Programming — Smoothing Polygons]
+***** 05 [https://OsmosianPlainEnglishProgramming.blog/2018/05/05/plain-english-programming-kobayashi-maru-primes/ Kobayashi Maru Primes]
+***** 06 [https://OsmosianPlainEnglishProgramming.blog/2018/05/06/plain-english-programming-nested-ifs/ Plain English Programming — Nested IFs]
+***** 06 [https://OsmosianPlainEnglishProgramming.blog/2018/05/06/plain-english-programming-the-malevolent-mathemagician/ Plain English Programming — The Malevolent Mathemagician]
+***** 07 [https://OsmosianPlainEnglishProgramming.blog/2018/05/07/plain-english-programming-parsing-with-riders/ Parsing with Riders]
+***** 07 [https://OsmosianPlainEnglishProgramming.blog/2018/05/07/plain-english-programming-jackson-pollocks-alphabet-soup/ Plain English Programming — Jackson Pollock’s Alphabet Soup]
+***** 08 [https://OsmosianPlainEnglishProgramming.blog/2018/05/08/plain-english-programming-random-numbers/ Random Numbers]
+***** 08 [https://OsmosianPlainEnglishProgramming.blog/2018/05/08/plain-english-programming-sierpinski-koch/ Sierpinski & Koch]
+***** 09 [https://OsmosianPlainEnglishProgramming.blog/2018/05/09/plain-english-programming-the-travelling-salesman/ The Travelling Salesman]
+***** 09 [https://OsmosianPlainEnglishProgramming.blog/2018/05/09/plain-english-programming-a-jigsaw-puzzle/ A Jigsaw Puzzle]
+***** 10 [https://OsmosianPlainEnglishProgramming.blog/2018/05/10/plain-english-programming-anagrams/ Anagrams]
+***** 11 [https://OsmosianPlainEnglishProgramming.blog/2018/05/11/plain-english-programming-the-amazing-multimaze/ The Amazing MultiMaze]
+***** 12 [https://OsmosianPlainEnglishProgramming.blog/2018/05/12/plain-english-programming-painting-like-monet/ Painting Like Monet]
+***** 13 [https://OsmosianPlainEnglishProgramming.blog/2018/05/13/plain-english-programming-bresenhams-circle-drawing-algorithm/ Bresenham’s Circle Drawing Algorithm]
+***** 14 [https://OsmosianPlainEnglishProgramming.blog/2018/05/14/plain-english-programming-hiding-in-plain-sight/ Hiding in Plain Sight]
+***** 14 [https://OsmosianPlainEnglishProgramming.blog/2018/05/14/plain-english-programming-sudoku-solver/ Sudoku Solver]
+***** 15 [https://OsmosianPlainEnglishProgramming.blog/2018/05/15/plain-english-programming-teaching-kids/ Teaching Kids to Program]
+***** 16 [https://OsmosianPlainEnglishProgramming.blog/2018/05/16/the-journey-begins/ Plain English Programming]
+==IDE including Compiler==
+===Creator supplied===
+*[http://www.osmosian.com/cal-3040.zip cal-3040] 2006/08/14
+**[http://www.osmosian.com/ebnf EBNF]
+**[http://www.osmosian.com/instructions.pdf instructions]
+*[http://www.osmosian.com/cal-4700.zip cal-4700] 2017/01/27
+
+===GitHub===
+*[https://GitHub.com/GerryRzeppa/osmosian /GerryRzeppa/osmosian] cal-3040
+*[https://GitHub.com/Folds/osmosian /Folds/osmosian] cal-3040 (Unauthorized)
+*[https://GitHub.com/elenderg/Portugues-Puro /elenderg/Portugues-Puro] cal-4700 Translated to Portuguese
+
+==Forums==
+===[https://www.AnandTech.com/ AnandTech]===
+*[https://forums.anandtech.com/threads/natural-language-programming.2358744/ Natural Language Programming: Good Idea? Yes Maybe No]
+*[https://forums.anandtech.com/threads/conversational-storytelling-with-javascript.2410448/ Conversational Storytelling with JavaScript]
+*[https://forums.anandtech.com/threads/natural-language-programming-english-and-or-español.2559516/ Natural Language Programming -- English and/or Español]
+*[https://forums.anandtech.com/threads/learning-programming.2406202/#post-36858285 Learning programming]
+*[https://forums.anandtech.com/threads/official-free-tools-thread.199156/page-4#post-36861957 Official Free Tools Thread | Plain English contribution]
+*[https://news.yCombinator.com/item?id=8719957 Plain English Programming (2013)]
+*[https://news.yCombinator.com/item?id=19355965 Do You Approve the Plain English?]
+===[https://Forum.Arduino.cc/ Arduino]===
+*[https://forum.arduino.cc/t/plain-english-programming/371096/15 Plain English Programming]
+===[https://groups.google.com/g/comp.compilers/ comp.compilers]===
+*[https://groups.google.com/g/comp.compilers/c/p30I_zVRlps/m/9UshbYjqZzwJ Writing A Plain English Compiler]
+*[https://groups.google.com/g/comp.compilers/c/4t3_Dq6foFA/m/CYfdnKMBkAsJ Re: A Plain English Compiler]
+===[https://www.GeeksForGeeks.org/ GeeksForGeeks]===
+*[https://www.geeksforgeeks.org/the-malevolent-mathemagician-natural-language-programming/ The Malevolent Mathemagician | Natural Language Programming]
+*[https://www.geeksforgeeks.org/creating-wysiwyg-document-editor/ Creating WYSIWYG Document Editor | Natural Language Programming]
+*[https://www.geeksforgeeks.org/a-kobayashi-maru-approach-to-finding-primes/ A Kobayashi Maru Approach to Finding Primes]
+*[https://www.geeksforgeeks.org/natural-language-programming-sorting/ Sorting | Natural Language Programming]
+*[https://www.geeksforgeeks.org/natural-language-programming-teaching-kids/ Natural Language Programming — Teaching Kids]
+*[https://www.geeksforgeeks.org/natural-language-programming/ Natural Language Programming]
+===[https://IntFiction.org/ Interactive Fiction Community Forum]===
+*[https://intfiction.org/t/writer-wanted-for-a-conversational-storytelling-project/6169 Writer wanted for a “Conversational Storytelling” project]
+*[https://intfiction.org/t/inform-system-developers-do-you-approve-the-plain-english-programming/42213 Inform system developers, do you approve the Plain English Programming?]
+===[https://Forums.Parallax.com/ Parallax Forums]===
+*[https://forums.parallax.com/discussion/163792/plain-english-programming Plain English Programming]
+===[https://www.PC-Control.co.uk/ PC Control Limited]===
+*[https://www.pc-control.co.uk/control/articles/article10.php Automated Maze solver using a servo hawk]
+**[https://www.pc-control.co.uk/control/articles/images/photo%2009%20-%20definitions.png photo 09 - definitions]
+**[https://www.pc-control.co.uk/control/articles/images/photo%2010%20-%20low-level%20helper%20routines.png photo 10 - low-level helper routines]
+**[https://www.pc-control.co.uk/control/articles/images/photo%2011%20-%20mid-level%20helper%20routines.png photo 11 - mid-level helper routines]
+**[https://www.pc-control.co.uk/control/articles/images/photo%2012%20-%20high-level%20helper%20routines.png photo 12 - high-level helper routines]
+**[https://www.pc-control.co.uk/control/articles/images/photo%2013%20-%20main%20routine.png photo 13 - main routine]
+**[https://www.pc-control.co.uk/control/articles/images/photo%2014%20-%20terminal%20output.png photo 14 - terminal output]
+===[https://www.Quora.com/ Quora]===
+*Jul 06, 2021 - [https://www.quora.com/What-can-a-beginner-programmer-use-as-a-programming-IDE-I-tried-using-Visual-Studio-Express-but-it-was-too-hard-to-use-and-understand-Is-there-anything-else-I-can-use/answer/Gerry-Rzeppa What can a beginner programmer use as a programming IDE? I tried using Visual Studio Express but it was too hard to use and understand. Is there anything else I can use?]
+**"To get started with Plain English, see here (it’s fast, friendly, and free):"
+**Reference to another Gerry Rzeppa Quora article: Jun 27, 2021 - [https://www.quora.com/Is-there-a-right-way-to-learn-to-code-1/answer/Gerry-Rzeppa Is there a right way to learn to code?]
+*Jul 06, 2021 - [https://www.quora.com/How-often-when-puzzling-out-a-solution-to-a-problem-do-you-think-or-say-aloud-Are-we-asking-the-right-question-questions/answer/Gerry-Rzeppa How often when puzzling out a solution to a problem, do you think or say aloud, “Are we asking the right question/questions?”]
+**"Almost every time."
+**Reference to another Gerry Rzeppa Quora article: May 11, 2021 [https://www.quora.com/What-IDE-has-impressed-you-with-its-ease-of-use-and-how-productive-were-you-with-it/answer/Gerry-Rzeppa What IDE has impressed you with its ease of use, and how productive were you with it?]
+*Jul 06, 2021 - [https://www.quora.com/What-are-the-best-examples-of-poetry-written-in-programming-languages/answer/Gerry-Rzeppa What are the best examples of poetry written in programming languages?]
+**A poem written in Plain English that, when run, makes the picture the poem describes.
+*Jul 05, 2021 - [https://www.quora.com/What-is-the-character-limit-for-one-line-of-code-you-go-by/answer/Gerry-Rzeppa What is the character limit for one line of code you go by?]
+**"... if handwritten code fits on the screen, it’s okay by me."
+*Jul 05, 2021 - [https://www.quora.com/How-is-a-one-dimensional-character-array-and-a-string-similar/answer/Gerry-Rzeppa How is a one-dimensional character array and a string similar?]
+
+**Strings
+**Substrings
+**String Riders
+*Jun 27, 2021 - [https://www.quora.com/Is-there-a-right-way-to-learn-to-code-1/answer/Gerry-Rzeppa Is there a right way to learn to code?]
+**A offering of the Plain English IDE and personal tutoring.
+*Jun 10, 2021 - [https://www.quora.com/Is-there-any-way-to-write-genuine-self-modifying-code-in-Windows/answer/Gerry-Rzeppa Is there any way to write genuine self-modifying code in Windows?]
+
+**Memory Map
+**Memory Pointers
+*Jun 10, 2021 - [https://www.quora.com/How-can-I-write-a-Python-program-where-a-bunch-of-students-will-be-assigned-thesis-themes-using-the-FIFO-method/answer/Gerry-Rzeppa How can I write a Python program where a bunch of students will be assigned thesis themes using the FIFO method?]
+** Use of path variable.
+** Iterative development.
+** Relation of item in a list and the name of the list.
+** Screen space management.
+** Use of "backwards".
+*Jun 09, 2021 - [https://www.quora.com/How-do-computers-execute-if-statements-to-the-core-machine-code-and-opcodes/answer/Gerry-Rzeppa How do computers execute if statements to the core machine code and opcodes?]
+
+** List command and explanation of display produced
+** Memory Map
+** Uses [https://defuse.ca/online-x86-assembler.htm Online x86 and x64 Intel Instruction Assembler] to disassemble code in the List output.
+** Offers free “How to Write a Plain English Compiler in Plain English” course via email.
+*Jun 08, 2021 - [https://www.quora.com/How-can-I-draw-the-flag-of-a-country-in-C-beginner/answer/Gerry-Rzeppa How can I draw the flag of a country in C#? (beginner)]
+** Make a box
+** Center the box
+** Draw and fill the box
+** Stroke
+*Jun 07, 2021 - [https://www.quora.com/Is-it-wise-to-ask-query-like-why-curly-braces-are-preferred-in-C-instead-of-opening-and-closing-bracket-when-writing-functions-or-we-just-need-to-memorize-that-as-a-random-rule-Is-there-any-book-which-deals-with/answer/Gerry-Rzeppa Is it wise to ask query like why curly braces are preferred in C instead of opening and closing bracket when writing functions, or we just need to memorize that as a random rule? Is there any book which deals with such miscellaneous things about C?]
+** “Arbitrary and unnecessary rule”
+*Jun 06, 2021 - [https://www.quora.com/How-would-I-go-about-creating-dots-and-boxes-in-Java/answer/Gerry-Rzeppa How would I go about creating dots and boxes in Java?]
+*Jun 06, 2021 - [https://www.quora.com/How-can-I-write-a-menu-driven-program-to-perform-following-operations-on-the-stack-using-array-a-i-Push-ii-Pop-iii-Peek/answer/Gerry-Rzeppa How can I write a menu-driven program to perform the following operations on the stack using array- a (i) Push (ii) Pop (iii) Peek?]
+*Jun 06, 2021 - [https://www.quora.com/How-do-I-make-a-countdown-and-when-it-finishes-it-shows-a-text-in-coding-I-want-to-add-a-picture-as-a-border-or-what-else-to-countdown/answer/Gerry-Rzeppa How do I make a countdown and when it finishes, it shows a text in coding? I want to add a picture as a border or what else to countdown.]
+*Jun 06, 2021 - [https://www.quora.com/What-is-recursion-Can-you-explain-the-main-principles-of-recursions-Can-you-do-the-code-algorithm-of-the-Fibonacci-series-using-recursion/answer/Gerry-Rzeppa What is recursion? Can you explain the main principles of recursions? Can you do the code/algorithm of the Fibonacci series using recursion?]
+*Jun 06, 2021 - [https://www.quora.com/How-do-you-find-the-intersection-point-between-a-line-and-a-rectangle-algorithm-geometry-line-intersection-development/answer/Gerry-Rzeppa What is recursion? How do you find the intersection point between a line and a rectangle (algorithm, geometry, line, intersection, development)?]
+*Jun 06, 2021 - [https://www.quora.com/How-do-you-handle-algorithms-to-create-polygons-no-Thiesen-Voronoi-Python-Shapely-Voronoi-development/answer/Gerry-Rzeppa How do you handle algorithms to create polygons (no Thiesen/Voronoi) (Python, Shapely, Voronoi, development)?]
+*Jun 04, 2021 - [https://www.quora.com/I-want-to-get-into-programming-What-languages-should-I-learn-first/answer/Gerry-Rzeppa I want to get into programming. What languages should I learn first?]
+*Jun 04, 2021 - [https://www.quora.com/How-do-I-make-a-programme-using-codes/answer/Gerry-Rzeppa How do I make a programme using codes?]
+*Jun 04, 2021 - [https://www.quora.com/Why-is-Hello-World-the-default-line-in-programming-languages/answer/Gerry-Rzeppa Why is "Hello World" the default line in programming languages?]
+*Jun 04, 2021 - [https://www.quora.com/Why-cant-I-find-any-real-photo-of-a-compiler-Is-it-too-small/answer/Gerry-Rzeppa Why can't I find any real photo of a compiler? Is it too small?]
+*Jun 03, 2021 - [https://www.quora.com/Why-must-the-starting-value-of-a-control-variable-be-less-than-the-ending-value-in-a-for-loop-expression/answer/Gerry-Rzeppa Why must the starting value of a control variable be less than the ending value in a for loop expression?]
+*Jun 03, 2021 - [https://www.quora.com/What-is-the-purpose-of-initialization-of-counter-variable-in-a-loop/answer/Gerry-Rzeppa What is the purpose of "initialization of counter variable" in a loop?]
+*Jun 03, 2021 - [https://www.quora.com/What-is-the-nature-of-a-variable-with-real-life-examples/answer/Gerry-Rzeppa What is the nature of a variable with real life examples?]
+*Jun 03, 2021 - [https://www.quora.com/Why-is-UML-a-significant-area-of-study/answer/Gerry-Rzeppa Why is UML a significant area of study?]
+*May 29, 2021 [https://www.quora.com/Is-it-easier-to-write-an-interpreter-than-a-compiler-Why/answer/Gerry-Rzeppa Is it easier to write an interpreter than a compiler? Why?]
+**"Yes. An interpreter can be written with less knowledge of the hardware and operating system."
+**Reference to another Gerry Rzeppa Quora article: May 18, 2021 [https://www.quora.com/How-do-I-make-programming-language/answer/Gerry-Rzeppa How do I make programming language?]
+*May 18, 2021 [https://www.quora.com/How-do-I-make-programming-language/answer/Gerry-Rzeppa How do I make programming language?]
+**Reference to another Gerry Rzeppa Quora article: Dec 22, 2020 [https://www.quora.com/How-do-you-start-writing-your-interpreter-from-scratch/answer/Gerry-Rzeppa How do you start writing your interpreter from scratch?]
+**Reference to another Gerry Rzeppa Quora article: Aug 30, 2020 [https://www.quora.com/What-is-a-compiler-and-the-stages-of-a-compiler/answer/Gerry-Rzeppa What is a compiler and the stages of a compiler?]
+*May 11, 2021 [https://www.quora.com/What-IDE-has-impressed-you-with-its-ease-of-use-and-how-productive-were-you-with-it/answer/Gerry-Rzeppa What IDE has impressed you with its ease of use, and how productive were you with it?]
+*Apr 28, 2021 - [https://www.quora.com/I-need-some-good-project-related-to-data-structure-I-am-a-2rd-year-computer-science-student-What-is-your-suggestion/answer/Gerry-Rzeppa I need some good project related to data structure. I am a 2rd year computer science student. What is your suggestion?]
+
+**Data types
+***Fundamental
+****byte
+****record
+***Pointers
+****Generic
+****Typed
+***Strings
+***Things
+****Stacks
+****Queues
+****Hashed Indices
+**Memory Map
+**WYSIWYG document editor
+*Apr 12, 2021 - [https://www.quora.com/What-is-the-relationship-between-a-compiler-algorithm-and-data-structure/answer/Gerry-Rzeppa What is the relationship between a compiler, algorithm, and data structure?]
+** "A compiler uses data structures and algorithms to translate high-level source code into low-level executable machine code."
+** Discussion of the Plain English compiler
+*Mar 29, 2021 - [https://www.quora.com/What-is-the-most-interesting-Python-algorithm-in-less-than-ten-lines-of-code/answer/Gerry-Rzeppa What is the most interesting Python algorithm in less than ten lines of code?]
+**Lindenmayer interpreter
+*Mar 27, 2021 - [https://www.quora.com/What-is-the-best-way-to-present-an-algorithm/answer/Gerry-Rzeppa What is the best way to present an algorithm?]
+**Three-step process
+*Mar 24, 2021 - [https://www.quora.com/Why-is-it-hard-to-understand-linked-lists-in-programming/answer/Gerry-Rzeppa Why is it hard to understand linked lists in programming?]
+**Discuss Plain English linked list.
+*Dec 22, 2020 [https://www.quora.com/How-do-you-start-writing-your-interpreter-from-scratch/answer/Gerry-Rzeppa How do you start writing your interpreter from scratch?]
+** “primitive” BASIC editor/interpreter
+*Oct 03, 2020 - [https://www.quora.com/In-procedural-programming-how-do-you-plan-your-code-without-UML/answer/Gerry-Rzeppa In procedural programming, how do you plan your code without UML?]
+**Osmosian maxim: “If it’s hard, it’s wrong.”
+**Pair Programming
+**"During the winter of 2005-2006, we wrote (and documented) 25,000 lines of Plain English code in just six months ..."
+**'“Just tell us what you need, sonny, and we’ll show you how to live without it.”'
+*Aug 30, 2020 [https://www.quora.com/What-is-a-compiler-and-the-stages-of-a-compiler/answer/Gerry-Rzeppa What is a compiler and the stages of a compiler?]
+**Structure of the Plain English compiler.
+*Jul 09, 2020 - [https://www.quora.com/Who-can-print-this-string-Hello-world-more-smartly-and-clearly/answer/Gerry-Rzeppa Who can print this string "Hello world" more smartly and clearly?]
+**Plain English program to print in a circle.
+**Español Llano (Plain Spanish) program to print in a circle.
+*Jun 08, 2020 - [https://www.quora.com/Why-do-some-programmers-write-their-own-compilers/answer/Gerry-Rzeppa Why do some programmers write their own compilers?]
+**'My elder son and I wrote our own Plain English compiler and IDE, in Plain English, originally, for three reasons. We wanted to know:'
+***'1. Is it easier to program when you don’t have to translate your natural-language thoughts into an alternate syntax?'
+***'2. Can natural languages be parsed in a relatively “sloppy” manner (as humans apparently parse them) and still provide a stable enough environment for productive programming?'
+***'3. Can low-level programs (like compilers) be conveniently and efficiently written in high level languages (like English)?
+**'Turns out the answers to all of three questions is, “Yes!”'
+
+==Successor Project (Trial)==
+*[https://www.indiegogo.com/projects/the-hybrid-programming-language#/ The Hybrid Programming Language] - Plain English with snippets of formulas and graphics where needed
\ No newline at end of file
diff --git a/Lang/Pluto/00-LANG.txt b/Lang/Pluto/00-LANG.txt
new file mode 100644
index 0000000000..80e65c9293
--- /dev/null
+++ b/Lang/Pluto/00-LANG.txt
@@ -0,0 +1,47 @@
+{{language|Pluto
+|exec=interpreted
+|strength=strong
+|safety=safe
+|express=implicit
+|checking=dynamic
+|gc=yes
+|hopl=no
+|site=https://pluto-lang.org/}}
+Pluto is a superset of Lua 5.4 with a focus on general-purpose programming. While being remarkably compatible with Lua 5.4 source-code & bytecode, it enhances the standard library & adds more than a dozen highly-desired syntaxes such as switch statements, compound operators, classes, class inheritance, string interpolation, type hinting, enums, and so on.
+
+Pluto aspires to be a version of Lua with a larger feature-set, that is all. Pluto is not a Lua-killer, an attempted successor, or any of that. Many people (rightly so) love Lua precisely because of the design philosophy. And fundamentally, Pluto is a major deviation from Lua's design philosophy. Some may prefer this, some may not.
+
+The language is being developed on [https://github.com/PlutoLang/Pluto github] and pre-built binaries for 64-bit Linux, MacOS and Windows can be downloaded [https://github.com/PlutoLang/Pluto/releases here].
+
+Here is a list of custom libraries used on Rosetta Code:
+{|class="wikitable"
+! No. !! Module name !! No. !! Module name
+|-
+| 1 || [[:Category:Pluto-fmt|fmt]] || 2 || [[:Category:Pluto-math2|math2]]
+|-
+| 3 || [[:Category:Pluto-int|int]] || 4 || [[:Category:Pluto-table2|table2]]
+|-
+| 5 || [[:Category:Pluto-complex|complex]] || 6 || [[:Category:Pluto-rat|rat]]
+|-
+| 7 || [[:Category:Pluto-queue|queue]] || 8 || [[:Category:Pluto-map|map]]
+|-
+| 9 || [[:Category:Pluto-list|list]] || 10 || [[:Category:Pluto-perm|perm]]
+|-
+|11 || [[:Category:Pluto-ansi|ansi]] || 12 || [[:Category:Pluto-io2|io2]]
+|-
+|13 || [[:Category:Pluto-uchar|uchar]] || 14 || [[:Category:Pluto-gchar|gchar]]
+|-
+|15 || [[:Category:Pluto-matrix|matrix]] || 16 || [[:Category:Pluto-poly|poly]]
+|-
+|17 || [[:Category:Pluto-audio|audio]] || 18 || [[:Category:Pluto-bitmap|bitmap]]
+|-
+|19 || [[:Category:Pluto-lsystem|lsystem]] || 20 || [[:Category:Pluto-bignum|bignum]]
+|-
+|}
+
+== To do ==
+[[Tasks not implemented in Pluto]]
+
+== See also ==
+
+[[Lua]]
\ No newline at end of file
diff --git a/Lang/Pluto/00-META.yaml b/Lang/Pluto/00-META.yaml
new file mode 100644
index 0000000000..4169e06d3e
--- /dev/null
+++ b/Lang/Pluto/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Pluto
diff --git a/Lang/Pluto/100-prisoners b/Lang/Pluto/100-prisoners
new file mode 120000
index 0000000000..2439d4fa2a
--- /dev/null
+++ b/Lang/Pluto/100-prisoners
@@ -0,0 +1 @@
+../../Task/100-prisoners/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/9-billion-names-of-God-the-integer b/Lang/Pluto/9-billion-names-of-God-the-integer
new file mode 120000
index 0000000000..03c26b8d5f
--- /dev/null
+++ b/Lang/Pluto/9-billion-names-of-God-the-integer
@@ -0,0 +1 @@
+../../Task/9-billion-names-of-God-the-integer/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/99-bottles-of-beer b/Lang/Pluto/99-bottles-of-beer
new file mode 120000
index 0000000000..cc21927564
--- /dev/null
+++ b/Lang/Pluto/99-bottles-of-beer
@@ -0,0 +1 @@
+../../Task/99-bottles-of-beer/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/A+B b/Lang/Pluto/A+B
new file mode 120000
index 0000000000..c26f431720
--- /dev/null
+++ b/Lang/Pluto/A+B
@@ -0,0 +1 @@
+../../Task/A+B/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/ABC-problem b/Lang/Pluto/ABC-problem
new file mode 120000
index 0000000000..13affeffe2
--- /dev/null
+++ b/Lang/Pluto/ABC-problem
@@ -0,0 +1 @@
+../../Task/ABC-problem/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/AKS-test-for-primes b/Lang/Pluto/AKS-test-for-primes
new file mode 120000
index 0000000000..55e9fce3e0
--- /dev/null
+++ b/Lang/Pluto/AKS-test-for-primes
@@ -0,0 +1 @@
+../../Task/AKS-test-for-primes/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/ASCII-art-diagram-converter b/Lang/Pluto/ASCII-art-diagram-converter
new file mode 120000
index 0000000000..395927ab4a
--- /dev/null
+++ b/Lang/Pluto/ASCII-art-diagram-converter
@@ -0,0 +1 @@
+../../Task/ASCII-art-diagram-converter/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Abbreviations-automatic b/Lang/Pluto/Abbreviations-automatic
new file mode 120000
index 0000000000..1d471effa2
--- /dev/null
+++ b/Lang/Pluto/Abbreviations-automatic
@@ -0,0 +1 @@
+../../Task/Abbreviations-automatic/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Abbreviations-easy b/Lang/Pluto/Abbreviations-easy
new file mode 120000
index 0000000000..4e4f49cf5b
--- /dev/null
+++ b/Lang/Pluto/Abbreviations-easy
@@ -0,0 +1 @@
+../../Task/Abbreviations-easy/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Abbreviations-simple b/Lang/Pluto/Abbreviations-simple
new file mode 120000
index 0000000000..d62c58f891
--- /dev/null
+++ b/Lang/Pluto/Abbreviations-simple
@@ -0,0 +1 @@
+../../Task/Abbreviations-simple/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Abelian-sandpile-model b/Lang/Pluto/Abelian-sandpile-model
new file mode 120000
index 0000000000..84e194b9d0
--- /dev/null
+++ b/Lang/Pluto/Abelian-sandpile-model
@@ -0,0 +1 @@
+../../Task/Abelian-sandpile-model/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Abelian-sandpile-model-Identity b/Lang/Pluto/Abelian-sandpile-model-Identity
new file mode 120000
index 0000000000..5258fd0a4e
--- /dev/null
+++ b/Lang/Pluto/Abelian-sandpile-model-Identity
@@ -0,0 +1 @@
+../../Task/Abelian-sandpile-model-Identity/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Abstract-type b/Lang/Pluto/Abstract-type
new file mode 120000
index 0000000000..f418e6a876
--- /dev/null
+++ b/Lang/Pluto/Abstract-type
@@ -0,0 +1 @@
+../../Task/Abstract-type/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Abundant-deficient-and-perfect-number-classifications b/Lang/Pluto/Abundant-deficient-and-perfect-number-classifications
new file mode 120000
index 0000000000..f5843a0883
--- /dev/null
+++ b/Lang/Pluto/Abundant-deficient-and-perfect-number-classifications
@@ -0,0 +1 @@
+../../Task/Abundant-deficient-and-perfect-number-classifications/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Abundant-odd-numbers b/Lang/Pluto/Abundant-odd-numbers
new file mode 120000
index 0000000000..18495df602
--- /dev/null
+++ b/Lang/Pluto/Abundant-odd-numbers
@@ -0,0 +1 @@
+../../Task/Abundant-odd-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Accumulator-factory b/Lang/Pluto/Accumulator-factory
new file mode 120000
index 0000000000..09dad4bd16
--- /dev/null
+++ b/Lang/Pluto/Accumulator-factory
@@ -0,0 +1 @@
+../../Task/Accumulator-factory/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Achilles-numbers b/Lang/Pluto/Achilles-numbers
new file mode 120000
index 0000000000..0121ec15f3
--- /dev/null
+++ b/Lang/Pluto/Achilles-numbers
@@ -0,0 +1 @@
+../../Task/Achilles-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Ackermann-function b/Lang/Pluto/Ackermann-function
new file mode 120000
index 0000000000..b2e9e8bcf4
--- /dev/null
+++ b/Lang/Pluto/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Add-a-variable-to-a-class-instance-at-runtime b/Lang/Pluto/Add-a-variable-to-a-class-instance-at-runtime
new file mode 120000
index 0000000000..9c086b6c80
--- /dev/null
+++ b/Lang/Pluto/Add-a-variable-to-a-class-instance-at-runtime
@@ -0,0 +1 @@
+../../Task/Add-a-variable-to-a-class-instance-at-runtime/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Additive-primes b/Lang/Pluto/Additive-primes
new file mode 120000
index 0000000000..5fa0027662
--- /dev/null
+++ b/Lang/Pluto/Additive-primes
@@ -0,0 +1 @@
+../../Task/Additive-primes/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Address-of-a-variable b/Lang/Pluto/Address-of-a-variable
new file mode 120000
index 0000000000..db8c9fa74c
--- /dev/null
+++ b/Lang/Pluto/Address-of-a-variable
@@ -0,0 +1 @@
+../../Task/Address-of-a-variable/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Algebraic-data-types b/Lang/Pluto/Algebraic-data-types
new file mode 120000
index 0000000000..a63223b643
--- /dev/null
+++ b/Lang/Pluto/Algebraic-data-types
@@ -0,0 +1 @@
+../../Task/Algebraic-data-types/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Aliquot-sequence-classifications b/Lang/Pluto/Aliquot-sequence-classifications
new file mode 120000
index 0000000000..3d08da68d2
--- /dev/null
+++ b/Lang/Pluto/Aliquot-sequence-classifications
@@ -0,0 +1 @@
+../../Task/Aliquot-sequence-classifications/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Almkvist-Giullera-formula-for-pi b/Lang/Pluto/Almkvist-Giullera-formula-for-pi
new file mode 120000
index 0000000000..a4dbb156c2
--- /dev/null
+++ b/Lang/Pluto/Almkvist-Giullera-formula-for-pi
@@ -0,0 +1 @@
+../../Task/Almkvist-Giullera-formula-for-pi/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Almost-prime b/Lang/Pluto/Almost-prime
new file mode 120000
index 0000000000..8dfdefc597
--- /dev/null
+++ b/Lang/Pluto/Almost-prime
@@ -0,0 +1 @@
+../../Task/Almost-prime/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Amb b/Lang/Pluto/Amb
new file mode 120000
index 0000000000..5d885d9898
--- /dev/null
+++ b/Lang/Pluto/Amb
@@ -0,0 +1 @@
+../../Task/Amb/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Amicable-pairs b/Lang/Pluto/Amicable-pairs
new file mode 120000
index 0000000000..8f6d71ca71
--- /dev/null
+++ b/Lang/Pluto/Amicable-pairs
@@ -0,0 +1 @@
+../../Task/Amicable-pairs/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Anagrams b/Lang/Pluto/Anagrams
new file mode 120000
index 0000000000..ed05036541
--- /dev/null
+++ b/Lang/Pluto/Anagrams
@@ -0,0 +1 @@
+../../Task/Anagrams/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Anagrams-Deranged-anagrams b/Lang/Pluto/Anagrams-Deranged-anagrams
new file mode 120000
index 0000000000..15515547a0
--- /dev/null
+++ b/Lang/Pluto/Anagrams-Deranged-anagrams
@@ -0,0 +1 @@
+../../Task/Anagrams-Deranged-anagrams/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Angle-difference-between-two-bearings b/Lang/Pluto/Angle-difference-between-two-bearings
new file mode 120000
index 0000000000..e89e19b294
--- /dev/null
+++ b/Lang/Pluto/Angle-difference-between-two-bearings
@@ -0,0 +1 @@
+../../Task/Angle-difference-between-two-bearings/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Angles-geometric-normalization-and-conversion b/Lang/Pluto/Angles-geometric-normalization-and-conversion
new file mode 120000
index 0000000000..bf11da216a
--- /dev/null
+++ b/Lang/Pluto/Angles-geometric-normalization-and-conversion
@@ -0,0 +1 @@
+../../Task/Angles-geometric-normalization-and-conversion/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Anonymous-recursion b/Lang/Pluto/Anonymous-recursion
new file mode 120000
index 0000000000..e9e2ff5cdd
--- /dev/null
+++ b/Lang/Pluto/Anonymous-recursion
@@ -0,0 +1 @@
+../../Task/Anonymous-recursion/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Anti-primes b/Lang/Pluto/Anti-primes
new file mode 120000
index 0000000000..62e9118e82
--- /dev/null
+++ b/Lang/Pluto/Anti-primes
@@ -0,0 +1 @@
+../../Task/Anti-primes/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Approximate-equality b/Lang/Pluto/Approximate-equality
new file mode 120000
index 0000000000..65832f9c4c
--- /dev/null
+++ b/Lang/Pluto/Approximate-equality
@@ -0,0 +1 @@
+../../Task/Approximate-equality/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Arbitrary-precision-integers-included- b/Lang/Pluto/Arbitrary-precision-integers-included-
new file mode 120000
index 0000000000..63cf45fedf
--- /dev/null
+++ b/Lang/Pluto/Arbitrary-precision-integers-included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers-included-/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Archimedean-spiral b/Lang/Pluto/Archimedean-spiral
new file mode 120000
index 0000000000..bf76191b73
--- /dev/null
+++ b/Lang/Pluto/Archimedean-spiral
@@ -0,0 +1 @@
+../../Task/Archimedean-spiral/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Arena-storage-pool b/Lang/Pluto/Arena-storage-pool
new file mode 120000
index 0000000000..2287439dec
--- /dev/null
+++ b/Lang/Pluto/Arena-storage-pool
@@ -0,0 +1 @@
+../../Task/Arena-storage-pool/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Arithmetic-Complex b/Lang/Pluto/Arithmetic-Complex
new file mode 120000
index 0000000000..e8437b9a01
--- /dev/null
+++ b/Lang/Pluto/Arithmetic-Complex
@@ -0,0 +1 @@
+../../Task/Arithmetic-Complex/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Arithmetic-Integer b/Lang/Pluto/Arithmetic-Integer
new file mode 120000
index 0000000000..3b77091442
--- /dev/null
+++ b/Lang/Pluto/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Arithmetic-Rational b/Lang/Pluto/Arithmetic-Rational
new file mode 120000
index 0000000000..497dafd0e0
--- /dev/null
+++ b/Lang/Pluto/Arithmetic-Rational
@@ -0,0 +1 @@
+../../Task/Arithmetic-Rational/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Arithmetic-derivative b/Lang/Pluto/Arithmetic-derivative
new file mode 120000
index 0000000000..9254d1c7e4
--- /dev/null
+++ b/Lang/Pluto/Arithmetic-derivative
@@ -0,0 +1 @@
+../../Task/Arithmetic-derivative/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Arithmetic-evaluation b/Lang/Pluto/Arithmetic-evaluation
new file mode 120000
index 0000000000..4f46626913
--- /dev/null
+++ b/Lang/Pluto/Arithmetic-evaluation
@@ -0,0 +1 @@
+../../Task/Arithmetic-evaluation/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Arithmetic-geometric-mean b/Lang/Pluto/Arithmetic-geometric-mean
new file mode 120000
index 0000000000..7f7bd49c54
--- /dev/null
+++ b/Lang/Pluto/Arithmetic-geometric-mean
@@ -0,0 +1 @@
+../../Task/Arithmetic-geometric-mean/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Arithmetic-geometric-mean-Calculate-Pi b/Lang/Pluto/Arithmetic-geometric-mean-Calculate-Pi
new file mode 120000
index 0000000000..f64109ba32
--- /dev/null
+++ b/Lang/Pluto/Arithmetic-geometric-mean-Calculate-Pi
@@ -0,0 +1 @@
+../../Task/Arithmetic-geometric-mean-Calculate-Pi/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Arithmetic-numbers b/Lang/Pluto/Arithmetic-numbers
new file mode 120000
index 0000000000..9d3c7548ad
--- /dev/null
+++ b/Lang/Pluto/Arithmetic-numbers
@@ -0,0 +1 @@
+../../Task/Arithmetic-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Array-concatenation b/Lang/Pluto/Array-concatenation
new file mode 120000
index 0000000000..b151e60e5d
--- /dev/null
+++ b/Lang/Pluto/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Arrays b/Lang/Pluto/Arrays
new file mode 120000
index 0000000000..36aa2a73e2
--- /dev/null
+++ b/Lang/Pluto/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Ascending-primes b/Lang/Pluto/Ascending-primes
new file mode 120000
index 0000000000..b086dde9de
--- /dev/null
+++ b/Lang/Pluto/Ascending-primes
@@ -0,0 +1 @@
+../../Task/Ascending-primes/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Assertions b/Lang/Pluto/Assertions
new file mode 120000
index 0000000000..8561bd9006
--- /dev/null
+++ b/Lang/Pluto/Assertions
@@ -0,0 +1 @@
+../../Task/Assertions/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Associative-array-Creation b/Lang/Pluto/Associative-array-Creation
new file mode 120000
index 0000000000..dab36a66d3
--- /dev/null
+++ b/Lang/Pluto/Associative-array-Creation
@@ -0,0 +1 @@
+../../Task/Associative-array-Creation/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Associative-array-Iteration b/Lang/Pluto/Associative-array-Iteration
new file mode 120000
index 0000000000..5ced29976c
--- /dev/null
+++ b/Lang/Pluto/Associative-array-Iteration
@@ -0,0 +1 @@
+../../Task/Associative-array-Iteration/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Associative-array-Merging b/Lang/Pluto/Associative-array-Merging
new file mode 120000
index 0000000000..e8bdf6f6ca
--- /dev/null
+++ b/Lang/Pluto/Associative-array-Merging
@@ -0,0 +1 @@
+../../Task/Associative-array-Merging/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Attractive-numbers b/Lang/Pluto/Attractive-numbers
new file mode 120000
index 0000000000..cc6d5fdf22
--- /dev/null
+++ b/Lang/Pluto/Attractive-numbers
@@ -0,0 +1 @@
+../../Task/Attractive-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Average-loop-length b/Lang/Pluto/Average-loop-length
new file mode 120000
index 0000000000..da02c11d74
--- /dev/null
+++ b/Lang/Pluto/Average-loop-length
@@ -0,0 +1 @@
+../../Task/Average-loop-length/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Averages-Arithmetic-mean b/Lang/Pluto/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..a80eb1d9ce
--- /dev/null
+++ b/Lang/Pluto/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Averages-Mean-angle b/Lang/Pluto/Averages-Mean-angle
new file mode 120000
index 0000000000..b2c7bb37d8
--- /dev/null
+++ b/Lang/Pluto/Averages-Mean-angle
@@ -0,0 +1 @@
+../../Task/Averages-Mean-angle/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Averages-Mean-time-of-day b/Lang/Pluto/Averages-Mean-time-of-day
new file mode 120000
index 0000000000..11b930dc65
--- /dev/null
+++ b/Lang/Pluto/Averages-Mean-time-of-day
@@ -0,0 +1 @@
+../../Task/Averages-Mean-time-of-day/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Averages-Median b/Lang/Pluto/Averages-Median
new file mode 120000
index 0000000000..4877cdaa55
--- /dev/null
+++ b/Lang/Pluto/Averages-Median
@@ -0,0 +1 @@
+../../Task/Averages-Median/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Averages-Mode b/Lang/Pluto/Averages-Mode
new file mode 120000
index 0000000000..9ba2618c12
--- /dev/null
+++ b/Lang/Pluto/Averages-Mode
@@ -0,0 +1 @@
+../../Task/Averages-Mode/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Averages-Pythagorean-means b/Lang/Pluto/Averages-Pythagorean-means
new file mode 120000
index 0000000000..f4cb6461df
--- /dev/null
+++ b/Lang/Pluto/Averages-Pythagorean-means
@@ -0,0 +1 @@
+../../Task/Averages-Pythagorean-means/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Averages-Root-mean-square b/Lang/Pluto/Averages-Root-mean-square
new file mode 120000
index 0000000000..744197c17a
--- /dev/null
+++ b/Lang/Pluto/Averages-Root-mean-square
@@ -0,0 +1 @@
+../../Task/Averages-Root-mean-square/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Averages-Simple-moving-average b/Lang/Pluto/Averages-Simple-moving-average
new file mode 120000
index 0000000000..79f88ee858
--- /dev/null
+++ b/Lang/Pluto/Averages-Simple-moving-average
@@ -0,0 +1 @@
+../../Task/Averages-Simple-moving-average/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Babbage-problem b/Lang/Pluto/Babbage-problem
new file mode 120000
index 0000000000..7dd4f1e4c1
--- /dev/null
+++ b/Lang/Pluto/Babbage-problem
@@ -0,0 +1 @@
+../../Task/Babbage-problem/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Balanced-brackets b/Lang/Pluto/Balanced-brackets
new file mode 120000
index 0000000000..e55ebe8e48
--- /dev/null
+++ b/Lang/Pluto/Balanced-brackets
@@ -0,0 +1 @@
+../../Task/Balanced-brackets/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Barnsley-fern b/Lang/Pluto/Barnsley-fern
new file mode 120000
index 0000000000..a90021bfee
--- /dev/null
+++ b/Lang/Pluto/Barnsley-fern
@@ -0,0 +1 @@
+../../Task/Barnsley-fern/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Base64-decode-data b/Lang/Pluto/Base64-decode-data
new file mode 120000
index 0000000000..9e79a215f0
--- /dev/null
+++ b/Lang/Pluto/Base64-decode-data
@@ -0,0 +1 @@
+../../Task/Base64-decode-data/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Bell-numbers b/Lang/Pluto/Bell-numbers
new file mode 120000
index 0000000000..12ebb36a37
--- /dev/null
+++ b/Lang/Pluto/Bell-numbers
@@ -0,0 +1 @@
+../../Task/Bell-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Benfords-law b/Lang/Pluto/Benfords-law
new file mode 120000
index 0000000000..b781bccffa
--- /dev/null
+++ b/Lang/Pluto/Benfords-law
@@ -0,0 +1 @@
+../../Task/Benfords-law/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Bernoulli-numbers b/Lang/Pluto/Bernoulli-numbers
new file mode 120000
index 0000000000..def2b8378f
--- /dev/null
+++ b/Lang/Pluto/Bernoulli-numbers
@@ -0,0 +1 @@
+../../Task/Bernoulli-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Best-shuffle b/Lang/Pluto/Best-shuffle
new file mode 120000
index 0000000000..eb98710b09
--- /dev/null
+++ b/Lang/Pluto/Best-shuffle
@@ -0,0 +1 @@
+../../Task/Best-shuffle/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Bifid-cipher b/Lang/Pluto/Bifid-cipher
new file mode 120000
index 0000000000..7fb890e12d
--- /dev/null
+++ b/Lang/Pluto/Bifid-cipher
@@ -0,0 +1 @@
+../../Task/Bifid-cipher/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Bin-given-limits b/Lang/Pluto/Bin-given-limits
new file mode 120000
index 0000000000..89b9600240
--- /dev/null
+++ b/Lang/Pluto/Bin-given-limits
@@ -0,0 +1 @@
+../../Task/Bin-given-limits/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Binary-search b/Lang/Pluto/Binary-search
new file mode 120000
index 0000000000..a0b45e9e17
--- /dev/null
+++ b/Lang/Pluto/Binary-search
@@ -0,0 +1 @@
+../../Task/Binary-search/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Binary-strings b/Lang/Pluto/Binary-strings
new file mode 120000
index 0000000000..fbf99b0505
--- /dev/null
+++ b/Lang/Pluto/Binary-strings
@@ -0,0 +1 @@
+../../Task/Binary-strings/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Biorhythms b/Lang/Pluto/Biorhythms
new file mode 120000
index 0000000000..22eb307022
--- /dev/null
+++ b/Lang/Pluto/Biorhythms
@@ -0,0 +1 @@
+../../Task/Biorhythms/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Bitcoin-address-validation b/Lang/Pluto/Bitcoin-address-validation
new file mode 120000
index 0000000000..44983f1ea0
--- /dev/null
+++ b/Lang/Pluto/Bitcoin-address-validation
@@ -0,0 +1 @@
+../../Task/Bitcoin-address-validation/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Bitmap b/Lang/Pluto/Bitmap
new file mode 120000
index 0000000000..2eae4de5c9
--- /dev/null
+++ b/Lang/Pluto/Bitmap
@@ -0,0 +1 @@
+../../Task/Bitmap/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Bitmap-Bresenhams-line-algorithm b/Lang/Pluto/Bitmap-Bresenhams-line-algorithm
new file mode 120000
index 0000000000..648ca4156e
--- /dev/null
+++ b/Lang/Pluto/Bitmap-Bresenhams-line-algorithm
@@ -0,0 +1 @@
+../../Task/Bitmap-Bresenhams-line-algorithm/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Bitmap-Midpoint-circle-algorithm b/Lang/Pluto/Bitmap-Midpoint-circle-algorithm
new file mode 120000
index 0000000000..30e98198c1
--- /dev/null
+++ b/Lang/Pluto/Bitmap-Midpoint-circle-algorithm
@@ -0,0 +1 @@
+../../Task/Bitmap-Midpoint-circle-algorithm/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Bitwise-operations b/Lang/Pluto/Bitwise-operations
new file mode 120000
index 0000000000..7aa2755b89
--- /dev/null
+++ b/Lang/Pluto/Bitwise-operations
@@ -0,0 +1 @@
+../../Task/Bitwise-operations/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Blum-integer b/Lang/Pluto/Blum-integer
new file mode 120000
index 0000000000..29fd128c56
--- /dev/null
+++ b/Lang/Pluto/Blum-integer
@@ -0,0 +1 @@
+../../Task/Blum-integer/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Box-the-compass b/Lang/Pluto/Box-the-compass
new file mode 120000
index 0000000000..06e763904d
--- /dev/null
+++ b/Lang/Pluto/Box-the-compass
@@ -0,0 +1 @@
+../../Task/Box-the-compass/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Brazilian-numbers b/Lang/Pluto/Brazilian-numbers
new file mode 120000
index 0000000000..2847bc95cf
--- /dev/null
+++ b/Lang/Pluto/Brazilian-numbers
@@ -0,0 +1 @@
+../../Task/Brazilian-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Break-OO-privacy b/Lang/Pluto/Break-OO-privacy
new file mode 120000
index 0000000000..00a12e0cb3
--- /dev/null
+++ b/Lang/Pluto/Break-OO-privacy
@@ -0,0 +1 @@
+../../Task/Break-OO-privacy/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Brilliant-numbers b/Lang/Pluto/Brilliant-numbers
new file mode 120000
index 0000000000..3c956fa37f
--- /dev/null
+++ b/Lang/Pluto/Brilliant-numbers
@@ -0,0 +1 @@
+../../Task/Brilliant-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Burrows-Wheeler-transform b/Lang/Pluto/Burrows-Wheeler-transform
new file mode 120000
index 0000000000..d346f62601
--- /dev/null
+++ b/Lang/Pluto/Burrows-Wheeler-transform
@@ -0,0 +1 @@
+../../Task/Burrows-Wheeler-transform/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/CRC-32 b/Lang/Pluto/CRC-32
new file mode 120000
index 0000000000..a2f9755cc8
--- /dev/null
+++ b/Lang/Pluto/CRC-32
@@ -0,0 +1 @@
+../../Task/CRC-32/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/CUSIP b/Lang/Pluto/CUSIP
new file mode 120000
index 0000000000..ffc1be79c9
--- /dev/null
+++ b/Lang/Pluto/CUSIP
@@ -0,0 +1 @@
+../../Task/CUSIP/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Caesar-cipher b/Lang/Pluto/Caesar-cipher
new file mode 120000
index 0000000000..92165c560f
--- /dev/null
+++ b/Lang/Pluto/Caesar-cipher
@@ -0,0 +1 @@
+../../Task/Caesar-cipher/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Calculating-the-value-of-e b/Lang/Pluto/Calculating-the-value-of-e
new file mode 120000
index 0000000000..c85ceb9feb
--- /dev/null
+++ b/Lang/Pluto/Calculating-the-value-of-e
@@ -0,0 +1 @@
+../../Task/Calculating-the-value-of-e/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Calkin-Wilf-sequence b/Lang/Pluto/Calkin-Wilf-sequence
new file mode 120000
index 0000000000..e7c08bf16e
--- /dev/null
+++ b/Lang/Pluto/Calkin-Wilf-sequence
@@ -0,0 +1 @@
+../../Task/Calkin-Wilf-sequence/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Call-a-foreign-language-function b/Lang/Pluto/Call-a-foreign-language-function
new file mode 120000
index 0000000000..f071bb1596
--- /dev/null
+++ b/Lang/Pluto/Call-a-foreign-language-function
@@ -0,0 +1 @@
+../../Task/Call-a-foreign-language-function/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Call-a-function-in-a-shared-library b/Lang/Pluto/Call-a-function-in-a-shared-library
new file mode 120000
index 0000000000..fb03a37240
--- /dev/null
+++ b/Lang/Pluto/Call-a-function-in-a-shared-library
@@ -0,0 +1 @@
+../../Task/Call-a-function-in-a-shared-library/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Call-an-object-method b/Lang/Pluto/Call-an-object-method
new file mode 120000
index 0000000000..9b34265855
--- /dev/null
+++ b/Lang/Pluto/Call-an-object-method
@@ -0,0 +1 @@
+../../Task/Call-an-object-method/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Camel-case-and-snake-case b/Lang/Pluto/Camel-case-and-snake-case
new file mode 120000
index 0000000000..63e934e944
--- /dev/null
+++ b/Lang/Pluto/Camel-case-and-snake-case
@@ -0,0 +1 @@
+../../Task/Camel-case-and-snake-case/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Canonicalize-CIDR b/Lang/Pluto/Canonicalize-CIDR
new file mode 120000
index 0000000000..47427dcbdb
--- /dev/null
+++ b/Lang/Pluto/Canonicalize-CIDR
@@ -0,0 +1 @@
+../../Task/Canonicalize-CIDR/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Cantor-set b/Lang/Pluto/Cantor-set
new file mode 120000
index 0000000000..e41e42a9fe
--- /dev/null
+++ b/Lang/Pluto/Cantor-set
@@ -0,0 +1 @@
+../../Task/Cantor-set/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Carmichael-3-strong-pseudoprimes b/Lang/Pluto/Carmichael-3-strong-pseudoprimes
new file mode 120000
index 0000000000..15460b52f8
--- /dev/null
+++ b/Lang/Pluto/Carmichael-3-strong-pseudoprimes
@@ -0,0 +1 @@
+../../Task/Carmichael-3-strong-pseudoprimes/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Case-sensitivity-of-identifiers b/Lang/Pluto/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..e37b951419
--- /dev/null
+++ b/Lang/Pluto/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Casting-out-nines b/Lang/Pluto/Casting-out-nines
new file mode 120000
index 0000000000..f9d2b5090f
--- /dev/null
+++ b/Lang/Pluto/Casting-out-nines
@@ -0,0 +1 @@
+../../Task/Casting-out-nines/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Catalan-numbers b/Lang/Pluto/Catalan-numbers
new file mode 120000
index 0000000000..13ef84ea7e
--- /dev/null
+++ b/Lang/Pluto/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Catalan-numbers-Pascals-triangle b/Lang/Pluto/Catalan-numbers-Pascals-triangle
new file mode 120000
index 0000000000..ba6ed52865
--- /dev/null
+++ b/Lang/Pluto/Catalan-numbers-Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Catalan-numbers-Pascals-triangle/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Catamorphism b/Lang/Pluto/Catamorphism
new file mode 120000
index 0000000000..5d492b9b1c
--- /dev/null
+++ b/Lang/Pluto/Catamorphism
@@ -0,0 +1 @@
+../../Task/Catamorphism/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Chaocipher b/Lang/Pluto/Chaocipher
new file mode 120000
index 0000000000..a4b28d7a7d
--- /dev/null
+++ b/Lang/Pluto/Chaocipher
@@ -0,0 +1 @@
+../../Task/Chaocipher/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Check-input-device-is-a-terminal b/Lang/Pluto/Check-input-device-is-a-terminal
new file mode 120000
index 0000000000..3b90efa3c8
--- /dev/null
+++ b/Lang/Pluto/Check-input-device-is-a-terminal
@@ -0,0 +1 @@
+../../Task/Check-input-device-is-a-terminal/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Check-output-device-is-a-terminal b/Lang/Pluto/Check-output-device-is-a-terminal
new file mode 120000
index 0000000000..fc1799c10c
--- /dev/null
+++ b/Lang/Pluto/Check-output-device-is-a-terminal
@@ -0,0 +1 @@
+../../Task/Check-output-device-is-a-terminal/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Check-that-file-exists b/Lang/Pluto/Check-that-file-exists
new file mode 120000
index 0000000000..4438ce2610
--- /dev/null
+++ b/Lang/Pluto/Check-that-file-exists
@@ -0,0 +1 @@
+../../Task/Check-that-file-exists/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Chernicks-Carmichael-numbers b/Lang/Pluto/Chernicks-Carmichael-numbers
new file mode 120000
index 0000000000..027fba1c47
--- /dev/null
+++ b/Lang/Pluto/Chernicks-Carmichael-numbers
@@ -0,0 +1 @@
+../../Task/Chernicks-Carmichael-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Cheryls-birthday b/Lang/Pluto/Cheryls-birthday
new file mode 120000
index 0000000000..30af57e589
--- /dev/null
+++ b/Lang/Pluto/Cheryls-birthday
@@ -0,0 +1 @@
+../../Task/Cheryls-birthday/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Chinese-remainder-theorem b/Lang/Pluto/Chinese-remainder-theorem
new file mode 120000
index 0000000000..9b0d96ce42
--- /dev/null
+++ b/Lang/Pluto/Chinese-remainder-theorem
@@ -0,0 +1 @@
+../../Task/Chinese-remainder-theorem/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Chinese-zodiac b/Lang/Pluto/Chinese-zodiac
new file mode 120000
index 0000000000..9268137a2b
--- /dev/null
+++ b/Lang/Pluto/Chinese-zodiac
@@ -0,0 +1 @@
+../../Task/Chinese-zodiac/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Cholesky-decomposition b/Lang/Pluto/Cholesky-decomposition
new file mode 120000
index 0000000000..87b60466d9
--- /dev/null
+++ b/Lang/Pluto/Cholesky-decomposition
@@ -0,0 +1 @@
+../../Task/Cholesky-decomposition/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Chowla-numbers b/Lang/Pluto/Chowla-numbers
new file mode 120000
index 0000000000..b10ca6f6d9
--- /dev/null
+++ b/Lang/Pluto/Chowla-numbers
@@ -0,0 +1 @@
+../../Task/Chowla-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Church-numerals b/Lang/Pluto/Church-numerals
new file mode 120000
index 0000000000..1d195312b9
--- /dev/null
+++ b/Lang/Pluto/Church-numerals
@@ -0,0 +1 @@
+../../Task/Church-numerals/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Circles-of-given-radius-through-two-points b/Lang/Pluto/Circles-of-given-radius-through-two-points
new file mode 120000
index 0000000000..95277c7cbf
--- /dev/null
+++ b/Lang/Pluto/Circles-of-given-radius-through-two-points
@@ -0,0 +1 @@
+../../Task/Circles-of-given-radius-through-two-points/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Circular-primes b/Lang/Pluto/Circular-primes
new file mode 120000
index 0000000000..03acc9542a
--- /dev/null
+++ b/Lang/Pluto/Circular-primes
@@ -0,0 +1 @@
+../../Task/Circular-primes/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Classes b/Lang/Pluto/Classes
new file mode 120000
index 0000000000..26462a13cb
--- /dev/null
+++ b/Lang/Pluto/Classes
@@ -0,0 +1 @@
+../../Task/Classes/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Closest-pair-problem b/Lang/Pluto/Closest-pair-problem
new file mode 120000
index 0000000000..37a54ff46b
--- /dev/null
+++ b/Lang/Pluto/Closest-pair-problem
@@ -0,0 +1 @@
+../../Task/Closest-pair-problem/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Closures-Value-capture b/Lang/Pluto/Closures-Value-capture
new file mode 120000
index 0000000000..86d660ee42
--- /dev/null
+++ b/Lang/Pluto/Closures-Value-capture
@@ -0,0 +1 @@
+../../Task/Closures-Value-capture/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Collections b/Lang/Pluto/Collections
new file mode 120000
index 0000000000..82a2dd2b4f
--- /dev/null
+++ b/Lang/Pluto/Collections
@@ -0,0 +1 @@
+../../Task/Collections/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Color-wheel b/Lang/Pluto/Color-wheel
new file mode 120000
index 0000000000..1f743faae0
--- /dev/null
+++ b/Lang/Pluto/Color-wheel
@@ -0,0 +1 @@
+../../Task/Color-wheel/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Colorful-numbers b/Lang/Pluto/Colorful-numbers
new file mode 120000
index 0000000000..6fd26697f2
--- /dev/null
+++ b/Lang/Pluto/Colorful-numbers
@@ -0,0 +1 @@
+../../Task/Colorful-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Combinations b/Lang/Pluto/Combinations
new file mode 120000
index 0000000000..1554032a2c
--- /dev/null
+++ b/Lang/Pluto/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Combinations-with-repetitions b/Lang/Pluto/Combinations-with-repetitions
new file mode 120000
index 0000000000..27271a521e
--- /dev/null
+++ b/Lang/Pluto/Combinations-with-repetitions
@@ -0,0 +1 @@
+../../Task/Combinations-with-repetitions/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Comma-quibbling b/Lang/Pluto/Comma-quibbling
new file mode 120000
index 0000000000..d45769fa57
--- /dev/null
+++ b/Lang/Pluto/Comma-quibbling
@@ -0,0 +1 @@
+../../Task/Comma-quibbling/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Command-line-arguments b/Lang/Pluto/Command-line-arguments
new file mode 120000
index 0000000000..0f5f02829e
--- /dev/null
+++ b/Lang/Pluto/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Commatizing-numbers b/Lang/Pluto/Commatizing-numbers
new file mode 120000
index 0000000000..703f59f582
--- /dev/null
+++ b/Lang/Pluto/Commatizing-numbers
@@ -0,0 +1 @@
+../../Task/Commatizing-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Comments b/Lang/Pluto/Comments
new file mode 120000
index 0000000000..8d1e636123
--- /dev/null
+++ b/Lang/Pluto/Comments
@@ -0,0 +1 @@
+../../Task/Comments/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Compare-a-list-of-strings b/Lang/Pluto/Compare-a-list-of-strings
new file mode 120000
index 0000000000..6f0ca59023
--- /dev/null
+++ b/Lang/Pluto/Compare-a-list-of-strings
@@ -0,0 +1 @@
+../../Task/Compare-a-list-of-strings/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Compare-length-of-two-strings b/Lang/Pluto/Compare-length-of-two-strings
new file mode 120000
index 0000000000..a17ca1cb1f
--- /dev/null
+++ b/Lang/Pluto/Compare-length-of-two-strings
@@ -0,0 +1 @@
+../../Task/Compare-length-of-two-strings/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Compile-time-calculation b/Lang/Pluto/Compile-time-calculation
new file mode 120000
index 0000000000..f08af0ba8e
--- /dev/null
+++ b/Lang/Pluto/Compile-time-calculation
@@ -0,0 +1 @@
+../../Task/Compile-time-calculation/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Compiler-lexical-analyzer b/Lang/Pluto/Compiler-lexical-analyzer
new file mode 120000
index 0000000000..0e5b3d7d41
--- /dev/null
+++ b/Lang/Pluto/Compiler-lexical-analyzer
@@ -0,0 +1 @@
+../../Task/Compiler-lexical-analyzer/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Compound-data-type b/Lang/Pluto/Compound-data-type
new file mode 120000
index 0000000000..d8d7d92b91
--- /dev/null
+++ b/Lang/Pluto/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Concurrent-computing b/Lang/Pluto/Concurrent-computing
new file mode 120000
index 0000000000..edc4e372c5
--- /dev/null
+++ b/Lang/Pluto/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Conditional-structures b/Lang/Pluto/Conditional-structures
new file mode 120000
index 0000000000..480797a688
--- /dev/null
+++ b/Lang/Pluto/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Conjugate-transpose b/Lang/Pluto/Conjugate-transpose
new file mode 120000
index 0000000000..dfb7444c0e
--- /dev/null
+++ b/Lang/Pluto/Conjugate-transpose
@@ -0,0 +1 @@
+../../Task/Conjugate-transpose/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Consecutive-primes-with-ascending-or-descending-differences b/Lang/Pluto/Consecutive-primes-with-ascending-or-descending-differences
new file mode 120000
index 0000000000..855ac67f9b
--- /dev/null
+++ b/Lang/Pluto/Consecutive-primes-with-ascending-or-descending-differences
@@ -0,0 +1 @@
+../../Task/Consecutive-primes-with-ascending-or-descending-differences/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Constrained-genericity b/Lang/Pluto/Constrained-genericity
new file mode 120000
index 0000000000..27aef58dac
--- /dev/null
+++ b/Lang/Pluto/Constrained-genericity
@@ -0,0 +1 @@
+../../Task/Constrained-genericity/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Continued-fraction b/Lang/Pluto/Continued-fraction
new file mode 120000
index 0000000000..413f477143
--- /dev/null
+++ b/Lang/Pluto/Continued-fraction
@@ -0,0 +1 @@
+../../Task/Continued-fraction/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Continued-fraction-Arithmetic-Construct-from-rational-number b/Lang/Pluto/Continued-fraction-Arithmetic-Construct-from-rational-number
new file mode 120000
index 0000000000..4207df96c4
--- /dev/null
+++ b/Lang/Pluto/Continued-fraction-Arithmetic-Construct-from-rational-number
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-Construct-from-rational-number/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Convert-decimal-number-to-rational b/Lang/Pluto/Convert-decimal-number-to-rational
new file mode 120000
index 0000000000..67bc18205b
--- /dev/null
+++ b/Lang/Pluto/Convert-decimal-number-to-rational
@@ -0,0 +1 @@
+../../Task/Convert-decimal-number-to-rational/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Convert-seconds-to-compound-duration b/Lang/Pluto/Convert-seconds-to-compound-duration
new file mode 120000
index 0000000000..694dec3e9d
--- /dev/null
+++ b/Lang/Pluto/Convert-seconds-to-compound-duration
@@ -0,0 +1 @@
+../../Task/Convert-seconds-to-compound-duration/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Count-in-factors b/Lang/Pluto/Count-in-factors
new file mode 120000
index 0000000000..875d6814c3
--- /dev/null
+++ b/Lang/Pluto/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Count-in-octal b/Lang/Pluto/Count-in-octal
new file mode 120000
index 0000000000..c5624def8e
--- /dev/null
+++ b/Lang/Pluto/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Count-occurrences-of-a-substring b/Lang/Pluto/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..282d7ede4a
--- /dev/null
+++ b/Lang/Pluto/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Count-the-coins b/Lang/Pluto/Count-the-coins
new file mode 120000
index 0000000000..7996299523
--- /dev/null
+++ b/Lang/Pluto/Count-the-coins
@@ -0,0 +1 @@
+../../Task/Count-the-coins/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Cramers-rule b/Lang/Pluto/Cramers-rule
new file mode 120000
index 0000000000..371e1d9db7
--- /dev/null
+++ b/Lang/Pluto/Cramers-rule
@@ -0,0 +1 @@
+../../Task/Cramers-rule/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Create-a-file b/Lang/Pluto/Create-a-file
new file mode 120000
index 0000000000..1e22b0b1e3
--- /dev/null
+++ b/Lang/Pluto/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Create-a-two-dimensional-array-at-runtime b/Lang/Pluto/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..4da351e86e
--- /dev/null
+++ b/Lang/Pluto/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Cuban-primes b/Lang/Pluto/Cuban-primes
new file mode 120000
index 0000000000..6b91d15127
--- /dev/null
+++ b/Lang/Pluto/Cuban-primes
@@ -0,0 +1 @@
+../../Task/Cuban-primes/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Cullen-and-Woodall-numbers b/Lang/Pluto/Cullen-and-Woodall-numbers
new file mode 120000
index 0000000000..663a789226
--- /dev/null
+++ b/Lang/Pluto/Cullen-and-Woodall-numbers
@@ -0,0 +1 @@
+../../Task/Cullen-and-Woodall-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Cumulative-standard-deviation b/Lang/Pluto/Cumulative-standard-deviation
new file mode 120000
index 0000000000..bfd250d57c
--- /dev/null
+++ b/Lang/Pluto/Cumulative-standard-deviation
@@ -0,0 +1 @@
+../../Task/Cumulative-standard-deviation/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Currency b/Lang/Pluto/Currency
new file mode 120000
index 0000000000..022bd123d4
--- /dev/null
+++ b/Lang/Pluto/Currency
@@ -0,0 +1 @@
+../../Task/Currency/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Currying b/Lang/Pluto/Currying
new file mode 120000
index 0000000000..98e5282551
--- /dev/null
+++ b/Lang/Pluto/Currying
@@ -0,0 +1 @@
+../../Task/Currying/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Curzon-numbers b/Lang/Pluto/Curzon-numbers
new file mode 120000
index 0000000000..19e831cce8
--- /dev/null
+++ b/Lang/Pluto/Curzon-numbers
@@ -0,0 +1 @@
+../../Task/Curzon-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Cut-a-rectangle b/Lang/Pluto/Cut-a-rectangle
new file mode 120000
index 0000000000..503ba83f0f
--- /dev/null
+++ b/Lang/Pluto/Cut-a-rectangle
@@ -0,0 +1 @@
+../../Task/Cut-a-rectangle/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Cyclops-numbers b/Lang/Pluto/Cyclops-numbers
new file mode 120000
index 0000000000..c731e7f9d2
--- /dev/null
+++ b/Lang/Pluto/Cyclops-numbers
@@ -0,0 +1 @@
+../../Task/Cyclops-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/DNS-query b/Lang/Pluto/DNS-query
new file mode 120000
index 0000000000..abafcfbe46
--- /dev/null
+++ b/Lang/Pluto/DNS-query
@@ -0,0 +1 @@
+../../Task/DNS-query/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Damm-algorithm b/Lang/Pluto/Damm-algorithm
new file mode 120000
index 0000000000..4db0c540c5
--- /dev/null
+++ b/Lang/Pluto/Damm-algorithm
@@ -0,0 +1 @@
+../../Task/Damm-algorithm/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Date-format b/Lang/Pluto/Date-format
new file mode 120000
index 0000000000..e6307f8af0
--- /dev/null
+++ b/Lang/Pluto/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Date-manipulation b/Lang/Pluto/Date-manipulation
new file mode 120000
index 0000000000..541e3b8538
--- /dev/null
+++ b/Lang/Pluto/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Day-of-the-week b/Lang/Pluto/Day-of-the-week
new file mode 120000
index 0000000000..c857bee861
--- /dev/null
+++ b/Lang/Pluto/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/De-Bruijn-sequences b/Lang/Pluto/De-Bruijn-sequences
new file mode 120000
index 0000000000..7208c6eb97
--- /dev/null
+++ b/Lang/Pluto/De-Bruijn-sequences
@@ -0,0 +1 @@
+../../Task/De-Bruijn-sequences/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Deceptive-numbers b/Lang/Pluto/Deceptive-numbers
new file mode 120000
index 0000000000..f13a36d2f4
--- /dev/null
+++ b/Lang/Pluto/Deceptive-numbers
@@ -0,0 +1 @@
+../../Task/Deceptive-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Deepcopy b/Lang/Pluto/Deepcopy
new file mode 120000
index 0000000000..066df45f7c
--- /dev/null
+++ b/Lang/Pluto/Deepcopy
@@ -0,0 +1 @@
+../../Task/Deepcopy/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Delegates b/Lang/Pluto/Delegates
new file mode 120000
index 0000000000..52103da749
--- /dev/null
+++ b/Lang/Pluto/Delegates
@@ -0,0 +1 @@
+../../Task/Delegates/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Delete-a-file b/Lang/Pluto/Delete-a-file
new file mode 120000
index 0000000000..b17ce9999b
--- /dev/null
+++ b/Lang/Pluto/Delete-a-file
@@ -0,0 +1 @@
+../../Task/Delete-a-file/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Demings-funnel b/Lang/Pluto/Demings-funnel
new file mode 120000
index 0000000000..56a8ba2ece
--- /dev/null
+++ b/Lang/Pluto/Demings-funnel
@@ -0,0 +1 @@
+../../Task/Demings-funnel/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Department-numbers b/Lang/Pluto/Department-numbers
new file mode 120000
index 0000000000..1666a30ed8
--- /dev/null
+++ b/Lang/Pluto/Department-numbers
@@ -0,0 +1 @@
+../../Task/Department-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Descending-primes b/Lang/Pluto/Descending-primes
new file mode 120000
index 0000000000..c35e1667b5
--- /dev/null
+++ b/Lang/Pluto/Descending-primes
@@ -0,0 +1 @@
+../../Task/Descending-primes/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Detect-division-by-zero b/Lang/Pluto/Detect-division-by-zero
new file mode 120000
index 0000000000..36d9e93987
--- /dev/null
+++ b/Lang/Pluto/Detect-division-by-zero
@@ -0,0 +1 @@
+../../Task/Detect-division-by-zero/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Determinant-and-permanent b/Lang/Pluto/Determinant-and-permanent
new file mode 120000
index 0000000000..e1b29bc12a
--- /dev/null
+++ b/Lang/Pluto/Determinant-and-permanent
@@ -0,0 +1 @@
+../../Task/Determinant-and-permanent/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Determine-if-a-string-has-all-the-same-characters b/Lang/Pluto/Determine-if-a-string-has-all-the-same-characters
new file mode 120000
index 0000000000..030ea85992
--- /dev/null
+++ b/Lang/Pluto/Determine-if-a-string-has-all-the-same-characters
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-has-all-the-same-characters/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Determine-if-a-string-has-all-unique-characters b/Lang/Pluto/Determine-if-a-string-has-all-unique-characters
new file mode 120000
index 0000000000..79e7e032c2
--- /dev/null
+++ b/Lang/Pluto/Determine-if-a-string-has-all-unique-characters
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-has-all-unique-characters/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Determine-if-a-string-is-collapsible b/Lang/Pluto/Determine-if-a-string-is-collapsible
new file mode 120000
index 0000000000..dac3838017
--- /dev/null
+++ b/Lang/Pluto/Determine-if-a-string-is-collapsible
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-collapsible/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Determine-if-a-string-is-numeric b/Lang/Pluto/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..f3177e5d6e
--- /dev/null
+++ b/Lang/Pluto/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Determine-if-a-string-is-squeezable b/Lang/Pluto/Determine-if-a-string-is-squeezable
new file mode 120000
index 0000000000..17dbb0267a
--- /dev/null
+++ b/Lang/Pluto/Determine-if-a-string-is-squeezable
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-squeezable/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Determine-if-two-triangles-overlap b/Lang/Pluto/Determine-if-two-triangles-overlap
new file mode 120000
index 0000000000..d35e94d3a0
--- /dev/null
+++ b/Lang/Pluto/Determine-if-two-triangles-overlap
@@ -0,0 +1 @@
+../../Task/Determine-if-two-triangles-overlap/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Determine-sentence-type b/Lang/Pluto/Determine-sentence-type
new file mode 120000
index 0000000000..d97a791028
--- /dev/null
+++ b/Lang/Pluto/Determine-sentence-type
@@ -0,0 +1 @@
+../../Task/Determine-sentence-type/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Dice-game-probabilities b/Lang/Pluto/Dice-game-probabilities
new file mode 120000
index 0000000000..b6d7ab05ea
--- /dev/null
+++ b/Lang/Pluto/Dice-game-probabilities
@@ -0,0 +1 @@
+../../Task/Dice-game-probabilities/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Digital-root b/Lang/Pluto/Digital-root
new file mode 120000
index 0000000000..fb194db4fd
--- /dev/null
+++ b/Lang/Pluto/Digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Digital-root-Multiplicative-digital-root b/Lang/Pluto/Digital-root-Multiplicative-digital-root
new file mode 120000
index 0000000000..27b8582991
--- /dev/null
+++ b/Lang/Pluto/Digital-root-Multiplicative-digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root-Multiplicative-digital-root/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Disarium-numbers b/Lang/Pluto/Disarium-numbers
new file mode 120000
index 0000000000..fd659f8581
--- /dev/null
+++ b/Lang/Pluto/Disarium-numbers
@@ -0,0 +1 @@
+../../Task/Disarium-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Discordian-date b/Lang/Pluto/Discordian-date
new file mode 120000
index 0000000000..eef2a0d868
--- /dev/null
+++ b/Lang/Pluto/Discordian-date
@@ -0,0 +1 @@
+../../Task/Discordian-date/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Display-a-linear-combination b/Lang/Pluto/Display-a-linear-combination
new file mode 120000
index 0000000000..b9e618e087
--- /dev/null
+++ b/Lang/Pluto/Display-a-linear-combination
@@ -0,0 +1 @@
+../../Task/Display-a-linear-combination/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Distribution-of-0-digits-in-factorial-series b/Lang/Pluto/Distribution-of-0-digits-in-factorial-series
new file mode 120000
index 0000000000..a06ffa876b
--- /dev/null
+++ b/Lang/Pluto/Distribution-of-0-digits-in-factorial-series
@@ -0,0 +1 @@
+../../Task/Distribution-of-0-digits-in-factorial-series/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Diversity-prediction-theorem b/Lang/Pluto/Diversity-prediction-theorem
new file mode 120000
index 0000000000..1855763e0b
--- /dev/null
+++ b/Lang/Pluto/Diversity-prediction-theorem
@@ -0,0 +1 @@
+../../Task/Diversity-prediction-theorem/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Doomsday-rule b/Lang/Pluto/Doomsday-rule
new file mode 120000
index 0000000000..0bae1c428f
--- /dev/null
+++ b/Lang/Pluto/Doomsday-rule
@@ -0,0 +1 @@
+../../Task/Doomsday-rule/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Doubly-linked-list-Definition b/Lang/Pluto/Doubly-linked-list-Definition
new file mode 120000
index 0000000000..2c673acc7c
--- /dev/null
+++ b/Lang/Pluto/Doubly-linked-list-Definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Definition/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Doubly-linked-list-Element-definition b/Lang/Pluto/Doubly-linked-list-Element-definition
new file mode 120000
index 0000000000..7b2f1839e3
--- /dev/null
+++ b/Lang/Pluto/Doubly-linked-list-Element-definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-definition/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Doubly-linked-list-Element-insertion b/Lang/Pluto/Doubly-linked-list-Element-insertion
new file mode 120000
index 0000000000..566d3ce443
--- /dev/null
+++ b/Lang/Pluto/Doubly-linked-list-Element-insertion
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-insertion/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Doubly-linked-list-Traversal b/Lang/Pluto/Doubly-linked-list-Traversal
new file mode 120000
index 0000000000..9a9262d67b
--- /dev/null
+++ b/Lang/Pluto/Doubly-linked-list-Traversal
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Traversal/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Dragon-curve b/Lang/Pluto/Dragon-curve
new file mode 120000
index 0000000000..f1e72e5ef1
--- /dev/null
+++ b/Lang/Pluto/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Draw-a-sphere b/Lang/Pluto/Draw-a-sphere
new file mode 120000
index 0000000000..639e598bda
--- /dev/null
+++ b/Lang/Pluto/Draw-a-sphere
@@ -0,0 +1 @@
+../../Task/Draw-a-sphere/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Dutch-national-flag-problem b/Lang/Pluto/Dutch-national-flag-problem
new file mode 120000
index 0000000000..4ca6eb0344
--- /dev/null
+++ b/Lang/Pluto/Dutch-national-flag-problem
@@ -0,0 +1 @@
+../../Task/Dutch-national-flag-problem/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Dynamic-variable-names b/Lang/Pluto/Dynamic-variable-names
new file mode 120000
index 0000000000..9f84b3a575
--- /dev/null
+++ b/Lang/Pluto/Dynamic-variable-names
@@ -0,0 +1 @@
+../../Task/Dynamic-variable-names/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/EKG-sequence-convergence b/Lang/Pluto/EKG-sequence-convergence
new file mode 120000
index 0000000000..5e7a87aa27
--- /dev/null
+++ b/Lang/Pluto/EKG-sequence-convergence
@@ -0,0 +1 @@
+../../Task/EKG-sequence-convergence/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Earliest-difference-between-prime-gaps b/Lang/Pluto/Earliest-difference-between-prime-gaps
new file mode 120000
index 0000000000..7c35dd843e
--- /dev/null
+++ b/Lang/Pluto/Earliest-difference-between-prime-gaps
@@ -0,0 +1 @@
+../../Task/Earliest-difference-between-prime-gaps/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Eban-numbers b/Lang/Pluto/Eban-numbers
new file mode 120000
index 0000000000..3c27b7fc5e
--- /dev/null
+++ b/Lang/Pluto/Eban-numbers
@@ -0,0 +1 @@
+../../Task/Eban-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Egyptian-division b/Lang/Pluto/Egyptian-division
new file mode 120000
index 0000000000..1935b9a4b4
--- /dev/null
+++ b/Lang/Pluto/Egyptian-division
@@ -0,0 +1 @@
+../../Task/Egyptian-division/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Element-wise-operations b/Lang/Pluto/Element-wise-operations
new file mode 120000
index 0000000000..a809ac3319
--- /dev/null
+++ b/Lang/Pluto/Element-wise-operations
@@ -0,0 +1 @@
+../../Task/Element-wise-operations/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Elementary-cellular-automaton-Random-number-generator b/Lang/Pluto/Elementary-cellular-automaton-Random-number-generator
new file mode 120000
index 0000000000..c9e4dd2c5e
--- /dev/null
+++ b/Lang/Pluto/Elementary-cellular-automaton-Random-number-generator
@@ -0,0 +1 @@
+../../Task/Elementary-cellular-automaton-Random-number-generator/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Elliptic-curve-arithmetic b/Lang/Pluto/Elliptic-curve-arithmetic
new file mode 120000
index 0000000000..01ab3acc14
--- /dev/null
+++ b/Lang/Pluto/Elliptic-curve-arithmetic
@@ -0,0 +1 @@
+../../Task/Elliptic-curve-arithmetic/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Emirp-primes b/Lang/Pluto/Emirp-primes
new file mode 120000
index 0000000000..70bc487ce4
--- /dev/null
+++ b/Lang/Pluto/Emirp-primes
@@ -0,0 +1 @@
+../../Task/Emirp-primes/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Entropy b/Lang/Pluto/Entropy
new file mode 120000
index 0000000000..ad4816da25
--- /dev/null
+++ b/Lang/Pluto/Entropy
@@ -0,0 +1 @@
+../../Task/Entropy/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Entropy-Narcissist b/Lang/Pluto/Entropy-Narcissist
new file mode 120000
index 0000000000..b44bd0dceb
--- /dev/null
+++ b/Lang/Pluto/Entropy-Narcissist
@@ -0,0 +1 @@
+../../Task/Entropy-Narcissist/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Enumerations b/Lang/Pluto/Enumerations
new file mode 120000
index 0000000000..f1e25dcea7
--- /dev/null
+++ b/Lang/Pluto/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Environment-variables b/Lang/Pluto/Environment-variables
new file mode 120000
index 0000000000..544499e35f
--- /dev/null
+++ b/Lang/Pluto/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Equal-prime-and-composite-sums b/Lang/Pluto/Equal-prime-and-composite-sums
new file mode 120000
index 0000000000..5924d0c24d
--- /dev/null
+++ b/Lang/Pluto/Equal-prime-and-composite-sums
@@ -0,0 +1 @@
+../../Task/Equal-prime-and-composite-sums/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Equilibrium-index b/Lang/Pluto/Equilibrium-index
new file mode 120000
index 0000000000..d670c800de
--- /dev/null
+++ b/Lang/Pluto/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Erd-s-Selfridge-categorization-of-primes b/Lang/Pluto/Erd-s-Selfridge-categorization-of-primes
new file mode 120000
index 0000000000..ee9715de69
--- /dev/null
+++ b/Lang/Pluto/Erd-s-Selfridge-categorization-of-primes
@@ -0,0 +1 @@
+../../Task/Erd-s-Selfridge-categorization-of-primes/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Esthetic-numbers b/Lang/Pluto/Esthetic-numbers
new file mode 120000
index 0000000000..5b009a94ca
--- /dev/null
+++ b/Lang/Pluto/Esthetic-numbers
@@ -0,0 +1 @@
+../../Task/Esthetic-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Ethiopian-multiplication b/Lang/Pluto/Ethiopian-multiplication
new file mode 120000
index 0000000000..b71d5e1260
--- /dev/null
+++ b/Lang/Pluto/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Euclid-Mullin-sequence b/Lang/Pluto/Euclid-Mullin-sequence
new file mode 120000
index 0000000000..4b920b7289
--- /dev/null
+++ b/Lang/Pluto/Euclid-Mullin-sequence
@@ -0,0 +1 @@
+../../Task/Euclid-Mullin-sequence/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Euler-method b/Lang/Pluto/Euler-method
new file mode 120000
index 0000000000..b7dbfe93a0
--- /dev/null
+++ b/Lang/Pluto/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Eulers-constant-0.5772... b/Lang/Pluto/Eulers-constant-0.5772...
new file mode 120000
index 0000000000..43d30a3576
--- /dev/null
+++ b/Lang/Pluto/Eulers-constant-0.5772...
@@ -0,0 +1 @@
+../../Task/Eulers-constant-0.5772.../Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Eulers-identity b/Lang/Pluto/Eulers-identity
new file mode 120000
index 0000000000..97a4ba8ed8
--- /dev/null
+++ b/Lang/Pluto/Eulers-identity
@@ -0,0 +1 @@
+../../Task/Eulers-identity/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Eulers-sum-of-powers-conjecture b/Lang/Pluto/Eulers-sum-of-powers-conjecture
new file mode 120000
index 0000000000..d14dd7e926
--- /dev/null
+++ b/Lang/Pluto/Eulers-sum-of-powers-conjecture
@@ -0,0 +1 @@
+../../Task/Eulers-sum-of-powers-conjecture/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Evaluate-binomial-coefficients b/Lang/Pluto/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..00328c39e4
--- /dev/null
+++ b/Lang/Pluto/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Even-or-odd b/Lang/Pluto/Even-or-odd
new file mode 120000
index 0000000000..fc5cc6a785
--- /dev/null
+++ b/Lang/Pluto/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Exceptions b/Lang/Pluto/Exceptions
new file mode 120000
index 0000000000..d201ead5a3
--- /dev/null
+++ b/Lang/Pluto/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/Pluto/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..eeff87c8ee
--- /dev/null
+++ b/Lang/Pluto/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Execute-Brain- b/Lang/Pluto/Execute-Brain-
new file mode 120000
index 0000000000..19151dc329
--- /dev/null
+++ b/Lang/Pluto/Execute-Brain-
@@ -0,0 +1 @@
+../../Task/Execute-Brain-/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Execute-Computer-Zero b/Lang/Pluto/Execute-Computer-Zero
new file mode 120000
index 0000000000..23a9487cf2
--- /dev/null
+++ b/Lang/Pluto/Execute-Computer-Zero
@@ -0,0 +1 @@
+../../Task/Execute-Computer-Zero/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Execute-a-system-command b/Lang/Pluto/Execute-a-system-command
new file mode 120000
index 0000000000..005fc83a4b
--- /dev/null
+++ b/Lang/Pluto/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Exponentiation-operator b/Lang/Pluto/Exponentiation-operator
new file mode 120000
index 0000000000..ebdd988197
--- /dev/null
+++ b/Lang/Pluto/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Exponentiation-order b/Lang/Pluto/Exponentiation-order
new file mode 120000
index 0000000000..9327e0a3aa
--- /dev/null
+++ b/Lang/Pluto/Exponentiation-order
@@ -0,0 +1 @@
+../../Task/Exponentiation-order/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Exponentiation-with-infix-operators-in-or-operating-on-the-base b/Lang/Pluto/Exponentiation-with-infix-operators-in-or-operating-on-the-base
new file mode 120000
index 0000000000..3b14bba6bd
--- /dev/null
+++ b/Lang/Pluto/Exponentiation-with-infix-operators-in-or-operating-on-the-base
@@ -0,0 +1 @@
+../../Task/Exponentiation-with-infix-operators-in-or-operating-on-the-base/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Extensible-prime-generator b/Lang/Pluto/Extensible-prime-generator
new file mode 120000
index 0000000000..e39589d864
--- /dev/null
+++ b/Lang/Pluto/Extensible-prime-generator
@@ -0,0 +1 @@
+../../Task/Extensible-prime-generator/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Extreme-floating-point-values b/Lang/Pluto/Extreme-floating-point-values
new file mode 120000
index 0000000000..f7dff2ba0b
--- /dev/null
+++ b/Lang/Pluto/Extreme-floating-point-values
@@ -0,0 +1 @@
+../../Task/Extreme-floating-point-values/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Factorial b/Lang/Pluto/Factorial
new file mode 120000
index 0000000000..26b76cb13d
--- /dev/null
+++ b/Lang/Pluto/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Factorial-primes b/Lang/Pluto/Factorial-primes
new file mode 120000
index 0000000000..b57eac84ac
--- /dev/null
+++ b/Lang/Pluto/Factorial-primes
@@ -0,0 +1 @@
+../../Task/Factorial-primes/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Factorions b/Lang/Pluto/Factorions
new file mode 120000
index 0000000000..0d6fdce25f
--- /dev/null
+++ b/Lang/Pluto/Factorions
@@ -0,0 +1 @@
+../../Task/Factorions/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Factors-of-a-Mersenne-number b/Lang/Pluto/Factors-of-a-Mersenne-number
new file mode 120000
index 0000000000..d60ce6e99f
--- /dev/null
+++ b/Lang/Pluto/Factors-of-a-Mersenne-number
@@ -0,0 +1 @@
+../../Task/Factors-of-a-Mersenne-number/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Factors-of-an-integer b/Lang/Pluto/Factors-of-an-integer
new file mode 120000
index 0000000000..cc13f27676
--- /dev/null
+++ b/Lang/Pluto/Factors-of-an-integer
@@ -0,0 +1 @@
+../../Task/Factors-of-an-integer/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Fairshare-between-two-and-more b/Lang/Pluto/Fairshare-between-two-and-more
new file mode 120000
index 0000000000..bfe6b9462c
--- /dev/null
+++ b/Lang/Pluto/Fairshare-between-two-and-more
@@ -0,0 +1 @@
+../../Task/Fairshare-between-two-and-more/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Farey-sequence b/Lang/Pluto/Farey-sequence
new file mode 120000
index 0000000000..d29c19b41e
--- /dev/null
+++ b/Lang/Pluto/Farey-sequence
@@ -0,0 +1 @@
+../../Task/Farey-sequence/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Fast-Fourier-transform b/Lang/Pluto/Fast-Fourier-transform
new file mode 120000
index 0000000000..d83789d068
--- /dev/null
+++ b/Lang/Pluto/Fast-Fourier-transform
@@ -0,0 +1 @@
+../../Task/Fast-Fourier-transform/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Feigenbaum-constant-calculation b/Lang/Pluto/Feigenbaum-constant-calculation
new file mode 120000
index 0000000000..256bf8cb19
--- /dev/null
+++ b/Lang/Pluto/Feigenbaum-constant-calculation
@@ -0,0 +1 @@
+../../Task/Feigenbaum-constant-calculation/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Fermat-numbers b/Lang/Pluto/Fermat-numbers
new file mode 120000
index 0000000000..45d4d630d7
--- /dev/null
+++ b/Lang/Pluto/Fermat-numbers
@@ -0,0 +1 @@
+../../Task/Fermat-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Fibonacci-n-step-number-sequences b/Lang/Pluto/Fibonacci-n-step-number-sequences
new file mode 120000
index 0000000000..82a6f3ddc3
--- /dev/null
+++ b/Lang/Pluto/Fibonacci-n-step-number-sequences
@@ -0,0 +1 @@
+../../Task/Fibonacci-n-step-number-sequences/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Fibonacci-sequence b/Lang/Pluto/Fibonacci-sequence
new file mode 120000
index 0000000000..efff8e1eb6
--- /dev/null
+++ b/Lang/Pluto/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Fibonacci-word b/Lang/Pluto/Fibonacci-word
new file mode 120000
index 0000000000..cbcb68d78f
--- /dev/null
+++ b/Lang/Pluto/Fibonacci-word
@@ -0,0 +1 @@
+../../Task/Fibonacci-word/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/File-extension-is-in-extensions-list b/Lang/Pluto/File-extension-is-in-extensions-list
new file mode 120000
index 0000000000..7414b8a00c
--- /dev/null
+++ b/Lang/Pluto/File-extension-is-in-extensions-list
@@ -0,0 +1 @@
+../../Task/File-extension-is-in-extensions-list/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/File-modification-time b/Lang/Pluto/File-modification-time
new file mode 120000
index 0000000000..b0430abc54
--- /dev/null
+++ b/Lang/Pluto/File-modification-time
@@ -0,0 +1 @@
+../../Task/File-modification-time/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/File-size b/Lang/Pluto/File-size
new file mode 120000
index 0000000000..998a7a784d
--- /dev/null
+++ b/Lang/Pluto/File-size
@@ -0,0 +1 @@
+../../Task/File-size/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Filter b/Lang/Pluto/Filter
new file mode 120000
index 0000000000..98b0321ee6
--- /dev/null
+++ b/Lang/Pluto/Filter
@@ -0,0 +1 @@
+../../Task/Filter/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Find-if-a-point-is-within-a-triangle b/Lang/Pluto/Find-if-a-point-is-within-a-triangle
new file mode 120000
index 0000000000..2f4b95698d
--- /dev/null
+++ b/Lang/Pluto/Find-if-a-point-is-within-a-triangle
@@ -0,0 +1 @@
+../../Task/Find-if-a-point-is-within-a-triangle/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Find-the-last-Sunday-of-each-month b/Lang/Pluto/Find-the-last-Sunday-of-each-month
new file mode 120000
index 0000000000..dbefdf7ab1
--- /dev/null
+++ b/Lang/Pluto/Find-the-last-Sunday-of-each-month
@@ -0,0 +1 @@
+../../Task/Find-the-last-Sunday-of-each-month/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/First-class-functions b/Lang/Pluto/First-class-functions
new file mode 120000
index 0000000000..0fe40c3eac
--- /dev/null
+++ b/Lang/Pluto/First-class-functions
@@ -0,0 +1 @@
+../../Task/First-class-functions/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/First-class-functions-Use-numbers-analogously b/Lang/Pluto/First-class-functions-Use-numbers-analogously
new file mode 120000
index 0000000000..8d26dcc696
--- /dev/null
+++ b/Lang/Pluto/First-class-functions-Use-numbers-analogously
@@ -0,0 +1 @@
+../../Task/First-class-functions-Use-numbers-analogously/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/First-perfect-square-in-base-n-with-n-unique-digits b/Lang/Pluto/First-perfect-square-in-base-n-with-n-unique-digits
new file mode 120000
index 0000000000..5163776997
--- /dev/null
+++ b/Lang/Pluto/First-perfect-square-in-base-n-with-n-unique-digits
@@ -0,0 +1 @@
+../../Task/First-perfect-square-in-base-n-with-n-unique-digits/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/First-power-of-2-that-has-leading-decimal-digits-of-12 b/Lang/Pluto/First-power-of-2-that-has-leading-decimal-digits-of-12
new file mode 120000
index 0000000000..e709baba03
--- /dev/null
+++ b/Lang/Pluto/First-power-of-2-that-has-leading-decimal-digits-of-12
@@ -0,0 +1 @@
+../../Task/First-power-of-2-that-has-leading-decimal-digits-of-12/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Five-weekends b/Lang/Pluto/Five-weekends
new file mode 120000
index 0000000000..00a410b463
--- /dev/null
+++ b/Lang/Pluto/Five-weekends
@@ -0,0 +1 @@
+../../Task/Five-weekends/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Fivenum b/Lang/Pluto/Fivenum
new file mode 120000
index 0000000000..a69f6ae762
--- /dev/null
+++ b/Lang/Pluto/Fivenum
@@ -0,0 +1 @@
+../../Task/Fivenum/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/FizzBuzz b/Lang/Pluto/FizzBuzz
new file mode 120000
index 0000000000..bd54d0d8bb
--- /dev/null
+++ b/Lang/Pluto/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Flatten-a-list b/Lang/Pluto/Flatten-a-list
new file mode 120000
index 0000000000..821ee95cae
--- /dev/null
+++ b/Lang/Pluto/Flatten-a-list
@@ -0,0 +1 @@
+../../Task/Flatten-a-list/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Floyd-Warshall-algorithm b/Lang/Pluto/Floyd-Warshall-algorithm
new file mode 120000
index 0000000000..7df2d45291
--- /dev/null
+++ b/Lang/Pluto/Floyd-Warshall-algorithm
@@ -0,0 +1 @@
+../../Task/Floyd-Warshall-algorithm/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Floyds-triangle b/Lang/Pluto/Floyds-triangle
new file mode 120000
index 0000000000..7d85d7bf3e
--- /dev/null
+++ b/Lang/Pluto/Floyds-triangle
@@ -0,0 +1 @@
+../../Task/Floyds-triangle/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Formatted-numeric-output b/Lang/Pluto/Formatted-numeric-output
new file mode 120000
index 0000000000..ca4bc2e2c0
--- /dev/null
+++ b/Lang/Pluto/Formatted-numeric-output
@@ -0,0 +1 @@
+../../Task/Formatted-numeric-output/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Fortunate-numbers b/Lang/Pluto/Fortunate-numbers
new file mode 120000
index 0000000000..78cf9f5f36
--- /dev/null
+++ b/Lang/Pluto/Fortunate-numbers
@@ -0,0 +1 @@
+../../Task/Fortunate-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Forward-difference b/Lang/Pluto/Forward-difference
new file mode 120000
index 0000000000..f75e0263fe
--- /dev/null
+++ b/Lang/Pluto/Forward-difference
@@ -0,0 +1 @@
+../../Task/Forward-difference/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Four-is-magic b/Lang/Pluto/Four-is-magic
new file mode 120000
index 0000000000..8f0564da6b
--- /dev/null
+++ b/Lang/Pluto/Four-is-magic
@@ -0,0 +1 @@
+../../Task/Four-is-magic/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Function-composition b/Lang/Pluto/Function-composition
new file mode 120000
index 0000000000..89443d02fb
--- /dev/null
+++ b/Lang/Pluto/Function-composition
@@ -0,0 +1 @@
+../../Task/Function-composition/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Function-definition b/Lang/Pluto/Function-definition
new file mode 120000
index 0000000000..8c3e064f65
--- /dev/null
+++ b/Lang/Pluto/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Fusc-sequence b/Lang/Pluto/Fusc-sequence
new file mode 120000
index 0000000000..af89d11bec
--- /dev/null
+++ b/Lang/Pluto/Fusc-sequence
@@ -0,0 +1 @@
+../../Task/Fusc-sequence/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Gamma-function b/Lang/Pluto/Gamma-function
new file mode 120000
index 0000000000..8b7dee23dc
--- /dev/null
+++ b/Lang/Pluto/Gamma-function
@@ -0,0 +1 @@
+../../Task/Gamma-function/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Gapful-numbers b/Lang/Pluto/Gapful-numbers
new file mode 120000
index 0000000000..0b3bce275e
--- /dev/null
+++ b/Lang/Pluto/Gapful-numbers
@@ -0,0 +1 @@
+../../Task/Gapful-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Gauss-Jordan-matrix-inversion b/Lang/Pluto/Gauss-Jordan-matrix-inversion
new file mode 120000
index 0000000000..75ed24ffd1
--- /dev/null
+++ b/Lang/Pluto/Gauss-Jordan-matrix-inversion
@@ -0,0 +1 @@
+../../Task/Gauss-Jordan-matrix-inversion/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/General-FizzBuzz b/Lang/Pluto/General-FizzBuzz
new file mode 120000
index 0000000000..a7cf491b38
--- /dev/null
+++ b/Lang/Pluto/General-FizzBuzz
@@ -0,0 +1 @@
+../../Task/General-FizzBuzz/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Generate-lower-case-ASCII-alphabet b/Lang/Pluto/Generate-lower-case-ASCII-alphabet
new file mode 120000
index 0000000000..64f2576fe0
--- /dev/null
+++ b/Lang/Pluto/Generate-lower-case-ASCII-alphabet
@@ -0,0 +1 @@
+../../Task/Generate-lower-case-ASCII-alphabet/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Generator-Exponential b/Lang/Pluto/Generator-Exponential
new file mode 120000
index 0000000000..26eb55a2a0
--- /dev/null
+++ b/Lang/Pluto/Generator-Exponential
@@ -0,0 +1 @@
+../../Task/Generator-Exponential/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Giuga-numbers b/Lang/Pluto/Giuga-numbers
new file mode 120000
index 0000000000..221b7a2689
--- /dev/null
+++ b/Lang/Pluto/Giuga-numbers
@@ -0,0 +1 @@
+../../Task/Giuga-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Goldbachs-comet b/Lang/Pluto/Goldbachs-comet
new file mode 120000
index 0000000000..ff1cca329d
--- /dev/null
+++ b/Lang/Pluto/Goldbachs-comet
@@ -0,0 +1 @@
+../../Task/Goldbachs-comet/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Golden-ratio-Convergence b/Lang/Pluto/Golden-ratio-Convergence
new file mode 120000
index 0000000000..15a2256122
--- /dev/null
+++ b/Lang/Pluto/Golden-ratio-Convergence
@@ -0,0 +1 @@
+../../Task/Golden-ratio-Convergence/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Gray-code b/Lang/Pluto/Gray-code
new file mode 120000
index 0000000000..afd6df8f4b
--- /dev/null
+++ b/Lang/Pluto/Gray-code
@@ -0,0 +1 @@
+../../Task/Gray-code/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Greatest-common-divisor b/Lang/Pluto/Greatest-common-divisor
new file mode 120000
index 0000000000..a4feeee2fd
--- /dev/null
+++ b/Lang/Pluto/Greatest-common-divisor
@@ -0,0 +1 @@
+../../Task/Greatest-common-divisor/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Greatest-element-of-a-list b/Lang/Pluto/Greatest-element-of-a-list
new file mode 120000
index 0000000000..85148f8e2b
--- /dev/null
+++ b/Lang/Pluto/Greatest-element-of-a-list
@@ -0,0 +1 @@
+../../Task/Greatest-element-of-a-list/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Greatest-subsequential-sum b/Lang/Pluto/Greatest-subsequential-sum
new file mode 120000
index 0000000000..308ac33a20
--- /dev/null
+++ b/Lang/Pluto/Greatest-subsequential-sum
@@ -0,0 +1 @@
+../../Task/Greatest-subsequential-sum/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Greedy-algorithm-for-Egyptian-fractions b/Lang/Pluto/Greedy-algorithm-for-Egyptian-fractions
new file mode 120000
index 0000000000..97dc6bbde7
--- /dev/null
+++ b/Lang/Pluto/Greedy-algorithm-for-Egyptian-fractions
@@ -0,0 +1 @@
+../../Task/Greedy-algorithm-for-Egyptian-fractions/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Guess-the-number b/Lang/Pluto/Guess-the-number
new file mode 120000
index 0000000000..f68fa3fc41
--- /dev/null
+++ b/Lang/Pluto/Guess-the-number
@@ -0,0 +1 @@
+../../Task/Guess-the-number/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Hailstone-sequence b/Lang/Pluto/Hailstone-sequence
new file mode 120000
index 0000000000..0c70c36e8a
--- /dev/null
+++ b/Lang/Pluto/Hailstone-sequence
@@ -0,0 +1 @@
+../../Task/Hailstone-sequence/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Halt-and-catch-fire b/Lang/Pluto/Halt-and-catch-fire
new file mode 120000
index 0000000000..f8e69baccf
--- /dev/null
+++ b/Lang/Pluto/Halt-and-catch-fire
@@ -0,0 +1 @@
+../../Task/Halt-and-catch-fire/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Happy-numbers b/Lang/Pluto/Happy-numbers
new file mode 120000
index 0000000000..8184fae2dd
--- /dev/null
+++ b/Lang/Pluto/Happy-numbers
@@ -0,0 +1 @@
+../../Task/Happy-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Harmonic-series b/Lang/Pluto/Harmonic-series
new file mode 120000
index 0000000000..9e5681ab0c
--- /dev/null
+++ b/Lang/Pluto/Harmonic-series
@@ -0,0 +1 @@
+../../Task/Harmonic-series/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Harshad-or-Niven-series b/Lang/Pluto/Harshad-or-Niven-series
new file mode 120000
index 0000000000..8a3855605b
--- /dev/null
+++ b/Lang/Pluto/Harshad-or-Niven-series
@@ -0,0 +1 @@
+../../Task/Harshad-or-Niven-series/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Hash-from-two-arrays b/Lang/Pluto/Hash-from-two-arrays
new file mode 120000
index 0000000000..5612dbf1a3
--- /dev/null
+++ b/Lang/Pluto/Hash-from-two-arrays
@@ -0,0 +1 @@
+../../Task/Hash-from-two-arrays/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Hash-join b/Lang/Pluto/Hash-join
new file mode 120000
index 0000000000..857fcc5b68
--- /dev/null
+++ b/Lang/Pluto/Hash-join
@@ -0,0 +1 @@
+../../Task/Hash-join/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Haversine-formula b/Lang/Pluto/Haversine-formula
new file mode 120000
index 0000000000..b9fcee8ac0
--- /dev/null
+++ b/Lang/Pluto/Haversine-formula
@@ -0,0 +1 @@
+../../Task/Haversine-formula/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Hello-world-Graphical b/Lang/Pluto/Hello-world-Graphical
new file mode 120000
index 0000000000..b0cbed710e
--- /dev/null
+++ b/Lang/Pluto/Hello-world-Graphical
@@ -0,0 +1 @@
+../../Task/Hello-world-Graphical/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Hello-world-Newbie b/Lang/Pluto/Hello-world-Newbie
new file mode 120000
index 0000000000..d7c1d093e2
--- /dev/null
+++ b/Lang/Pluto/Hello-world-Newbie
@@ -0,0 +1 @@
+../../Task/Hello-world-Newbie/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Hello-world-Newline-omission b/Lang/Pluto/Hello-world-Newline-omission
new file mode 120000
index 0000000000..5020503885
--- /dev/null
+++ b/Lang/Pluto/Hello-world-Newline-omission
@@ -0,0 +1 @@
+../../Task/Hello-world-Newline-omission/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Hello-world-Standard-error b/Lang/Pluto/Hello-world-Standard-error
new file mode 120000
index 0000000000..2b41d962cc
--- /dev/null
+++ b/Lang/Pluto/Hello-world-Standard-error
@@ -0,0 +1 @@
+../../Task/Hello-world-Standard-error/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Hello-world-Text b/Lang/Pluto/Hello-world-Text
new file mode 120000
index 0000000000..6d5bb1406f
--- /dev/null
+++ b/Lang/Pluto/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Hex-words b/Lang/Pluto/Hex-words
new file mode 120000
index 0000000000..62ff8632b8
--- /dev/null
+++ b/Lang/Pluto/Hex-words
@@ -0,0 +1 @@
+../../Task/Hex-words/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Hickerson-series-of-almost-integers b/Lang/Pluto/Hickerson-series-of-almost-integers
new file mode 120000
index 0000000000..1706eca746
--- /dev/null
+++ b/Lang/Pluto/Hickerson-series-of-almost-integers
@@ -0,0 +1 @@
+../../Task/Hickerson-series-of-almost-integers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Higher-order-functions b/Lang/Pluto/Higher-order-functions
new file mode 120000
index 0000000000..532e183ee0
--- /dev/null
+++ b/Lang/Pluto/Higher-order-functions
@@ -0,0 +1 @@
+../../Task/Higher-order-functions/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Hofstadter-Q-sequence b/Lang/Pluto/Hofstadter-Q-sequence
new file mode 120000
index 0000000000..55c19c4e5e
--- /dev/null
+++ b/Lang/Pluto/Hofstadter-Q-sequence
@@ -0,0 +1 @@
+../../Task/Hofstadter-Q-sequence/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Home-primes b/Lang/Pluto/Home-primes
new file mode 120000
index 0000000000..66e3e487a6
--- /dev/null
+++ b/Lang/Pluto/Home-primes
@@ -0,0 +1 @@
+../../Task/Home-primes/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Horners-rule-for-polynomial-evaluation b/Lang/Pluto/Horners-rule-for-polynomial-evaluation
new file mode 120000
index 0000000000..02512d6f7e
--- /dev/null
+++ b/Lang/Pluto/Horners-rule-for-polynomial-evaluation
@@ -0,0 +1 @@
+../../Task/Horners-rule-for-polynomial-evaluation/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Hostname b/Lang/Pluto/Hostname
new file mode 120000
index 0000000000..c1fe0db0ef
--- /dev/null
+++ b/Lang/Pluto/Hostname
@@ -0,0 +1 @@
+../../Task/Hostname/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Humble-numbers b/Lang/Pluto/Humble-numbers
new file mode 120000
index 0000000000..f616a12fe9
--- /dev/null
+++ b/Lang/Pluto/Humble-numbers
@@ -0,0 +1 @@
+../../Task/Humble-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/IBAN b/Lang/Pluto/IBAN
new file mode 120000
index 0000000000..3c48349f04
--- /dev/null
+++ b/Lang/Pluto/IBAN
@@ -0,0 +1 @@
+../../Task/IBAN/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/ISBN13-check-digit b/Lang/Pluto/ISBN13-check-digit
new file mode 120000
index 0000000000..18cc8cf2ba
--- /dev/null
+++ b/Lang/Pluto/ISBN13-check-digit
@@ -0,0 +1 @@
+../../Task/ISBN13-check-digit/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Identity-matrix b/Lang/Pluto/Identity-matrix
new file mode 120000
index 0000000000..755ad3b6ef
--- /dev/null
+++ b/Lang/Pluto/Identity-matrix
@@ -0,0 +1 @@
+../../Task/Identity-matrix/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Idiomatically-determine-all-the-lowercase-and-uppercase-letters b/Lang/Pluto/Idiomatically-determine-all-the-lowercase-and-uppercase-letters
new file mode 120000
index 0000000000..1ce83f951b
--- /dev/null
+++ b/Lang/Pluto/Idiomatically-determine-all-the-lowercase-and-uppercase-letters
@@ -0,0 +1 @@
+../../Task/Idiomatically-determine-all-the-lowercase-and-uppercase-letters/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Increment-a-numerical-string b/Lang/Pluto/Increment-a-numerical-string
new file mode 120000
index 0000000000..5413743d7c
--- /dev/null
+++ b/Lang/Pluto/Increment-a-numerical-string
@@ -0,0 +1 @@
+../../Task/Increment-a-numerical-string/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Index-finite-lists-of-positive-integers b/Lang/Pluto/Index-finite-lists-of-positive-integers
new file mode 120000
index 0000000000..44f395ae80
--- /dev/null
+++ b/Lang/Pluto/Index-finite-lists-of-positive-integers
@@ -0,0 +1 @@
+../../Task/Index-finite-lists-of-positive-integers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Infinity b/Lang/Pluto/Infinity
new file mode 120000
index 0000000000..cb81bde8e2
--- /dev/null
+++ b/Lang/Pluto/Infinity
@@ -0,0 +1 @@
+../../Task/Infinity/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Inheritance-Multiple b/Lang/Pluto/Inheritance-Multiple
new file mode 120000
index 0000000000..8172d1b878
--- /dev/null
+++ b/Lang/Pluto/Inheritance-Multiple
@@ -0,0 +1 @@
+../../Task/Inheritance-Multiple/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Inheritance-Single b/Lang/Pluto/Inheritance-Single
new file mode 120000
index 0000000000..978ce6e7cf
--- /dev/null
+++ b/Lang/Pluto/Inheritance-Single
@@ -0,0 +1 @@
+../../Task/Inheritance-Single/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Integer-overflow b/Lang/Pluto/Integer-overflow
new file mode 120000
index 0000000000..21ae81881b
--- /dev/null
+++ b/Lang/Pluto/Integer-overflow
@@ -0,0 +1 @@
+../../Task/Integer-overflow/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Inverted-syntax b/Lang/Pluto/Inverted-syntax
new file mode 120000
index 0000000000..689ac95819
--- /dev/null
+++ b/Lang/Pluto/Inverted-syntax
@@ -0,0 +1 @@
+../../Task/Inverted-syntax/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Isqrt-integer-square-root-of-X b/Lang/Pluto/Isqrt-integer-square-root-of-X
new file mode 120000
index 0000000000..e61bc6f394
--- /dev/null
+++ b/Lang/Pluto/Isqrt-integer-square-root-of-X
@@ -0,0 +1 @@
+../../Task/Isqrt-integer-square-root-of-X/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Iterated-digits-squaring b/Lang/Pluto/Iterated-digits-squaring
new file mode 120000
index 0000000000..1e0c30dec8
--- /dev/null
+++ b/Lang/Pluto/Iterated-digits-squaring
@@ -0,0 +1 @@
+../../Task/Iterated-digits-squaring/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/JSON b/Lang/Pluto/JSON
new file mode 120000
index 0000000000..bc77142a3f
--- /dev/null
+++ b/Lang/Pluto/JSON
@@ -0,0 +1 @@
+../../Task/JSON/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Jacobi-symbol b/Lang/Pluto/Jacobi-symbol
new file mode 120000
index 0000000000..004a1623cc
--- /dev/null
+++ b/Lang/Pluto/Jacobi-symbol
@@ -0,0 +1 @@
+../../Task/Jacobi-symbol/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Jacobsthal-numbers b/Lang/Pluto/Jacobsthal-numbers
new file mode 120000
index 0000000000..310c137dfd
--- /dev/null
+++ b/Lang/Pluto/Jacobsthal-numbers
@@ -0,0 +1 @@
+../../Task/Jacobsthal-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Jaro-Winkler-distance b/Lang/Pluto/Jaro-Winkler-distance
new file mode 120000
index 0000000000..c18faa1587
--- /dev/null
+++ b/Lang/Pluto/Jaro-Winkler-distance
@@ -0,0 +1 @@
+../../Task/Jaro-Winkler-distance/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Jaro-similarity b/Lang/Pluto/Jaro-similarity
new file mode 120000
index 0000000000..7fbb18452a
--- /dev/null
+++ b/Lang/Pluto/Jaro-similarity
@@ -0,0 +1 @@
+../../Task/Jaro-similarity/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Jensens-Device b/Lang/Pluto/Jensens-Device
new file mode 120000
index 0000000000..1f301e92cb
--- /dev/null
+++ b/Lang/Pluto/Jensens-Device
@@ -0,0 +1 @@
+../../Task/Jensens-Device/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Jewels-and-stones b/Lang/Pluto/Jewels-and-stones
new file mode 120000
index 0000000000..0d8632e132
--- /dev/null
+++ b/Lang/Pluto/Jewels-and-stones
@@ -0,0 +1 @@
+../../Task/Jewels-and-stones/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Jordan-P-lya-numbers b/Lang/Pluto/Jordan-P-lya-numbers
new file mode 120000
index 0000000000..69c05770d3
--- /dev/null
+++ b/Lang/Pluto/Jordan-P-lya-numbers
@@ -0,0 +1 @@
+../../Task/Jordan-P-lya-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/JortSort b/Lang/Pluto/JortSort
new file mode 120000
index 0000000000..2f3a60be62
--- /dev/null
+++ b/Lang/Pluto/JortSort
@@ -0,0 +1 @@
+../../Task/JortSort/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Josephus-problem b/Lang/Pluto/Josephus-problem
new file mode 120000
index 0000000000..c17c5c052c
--- /dev/null
+++ b/Lang/Pluto/Josephus-problem
@@ -0,0 +1 @@
+../../Task/Josephus-problem/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Juggler-sequence b/Lang/Pluto/Juggler-sequence
new file mode 120000
index 0000000000..55e904505f
--- /dev/null
+++ b/Lang/Pluto/Juggler-sequence
@@ -0,0 +1 @@
+../../Task/Juggler-sequence/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Julia-set b/Lang/Pluto/Julia-set
new file mode 120000
index 0000000000..47c2b492f2
--- /dev/null
+++ b/Lang/Pluto/Julia-set
@@ -0,0 +1 @@
+../../Task/Julia-set/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Jump-anywhere b/Lang/Pluto/Jump-anywhere
new file mode 120000
index 0000000000..0cc6c03c6c
--- /dev/null
+++ b/Lang/Pluto/Jump-anywhere
@@ -0,0 +1 @@
+../../Task/Jump-anywhere/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Kaprekar-numbers b/Lang/Pluto/Kaprekar-numbers
new file mode 120000
index 0000000000..1c32b1316d
--- /dev/null
+++ b/Lang/Pluto/Kaprekar-numbers
@@ -0,0 +1 @@
+../../Task/Kaprekar-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Knapsack-problem-0-1 b/Lang/Pluto/Knapsack-problem-0-1
new file mode 120000
index 0000000000..154c3bec73
--- /dev/null
+++ b/Lang/Pluto/Knapsack-problem-0-1
@@ -0,0 +1 @@
+../../Task/Knapsack-problem-0-1/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Knapsack-problem-Bounded b/Lang/Pluto/Knapsack-problem-Bounded
new file mode 120000
index 0000000000..fdfd53d307
--- /dev/null
+++ b/Lang/Pluto/Knapsack-problem-Bounded
@@ -0,0 +1 @@
+../../Task/Knapsack-problem-Bounded/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Knapsack-problem-Continuous b/Lang/Pluto/Knapsack-problem-Continuous
new file mode 120000
index 0000000000..afd8aad5a0
--- /dev/null
+++ b/Lang/Pluto/Knapsack-problem-Continuous
@@ -0,0 +1 @@
+../../Task/Knapsack-problem-Continuous/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Knapsack-problem-Unbounded b/Lang/Pluto/Knapsack-problem-Unbounded
new file mode 120000
index 0000000000..a47d914c76
--- /dev/null
+++ b/Lang/Pluto/Knapsack-problem-Unbounded
@@ -0,0 +1 @@
+../../Task/Knapsack-problem-Unbounded/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Knuth-shuffle b/Lang/Pluto/Knuth-shuffle
new file mode 120000
index 0000000000..e7dddcd355
--- /dev/null
+++ b/Lang/Pluto/Knuth-shuffle
@@ -0,0 +1 @@
+../../Task/Knuth-shuffle/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Knuths-algorithm-S b/Lang/Pluto/Knuths-algorithm-S
new file mode 120000
index 0000000000..541d484707
--- /dev/null
+++ b/Lang/Pluto/Knuths-algorithm-S
@@ -0,0 +1 @@
+../../Task/Knuths-algorithm-S/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Kronecker-product b/Lang/Pluto/Kronecker-product
new file mode 120000
index 0000000000..3e6a6e5b94
--- /dev/null
+++ b/Lang/Pluto/Kronecker-product
@@ -0,0 +1 @@
+../../Task/Kronecker-product/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Kronecker-product-based-fractals b/Lang/Pluto/Kronecker-product-based-fractals
new file mode 120000
index 0000000000..3cfc235117
--- /dev/null
+++ b/Lang/Pluto/Kronecker-product-based-fractals
@@ -0,0 +1 @@
+../../Task/Kronecker-product-based-fractals/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/LU-decomposition b/Lang/Pluto/LU-decomposition
new file mode 120000
index 0000000000..6a8af92062
--- /dev/null
+++ b/Lang/Pluto/LU-decomposition
@@ -0,0 +1 @@
+../../Task/LU-decomposition/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/LZW-compression b/Lang/Pluto/LZW-compression
new file mode 120000
index 0000000000..50427fda5c
--- /dev/null
+++ b/Lang/Pluto/LZW-compression
@@ -0,0 +1 @@
+../../Task/LZW-compression/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Lah-numbers b/Lang/Pluto/Lah-numbers
new file mode 120000
index 0000000000..f5d9d24027
--- /dev/null
+++ b/Lang/Pluto/Lah-numbers
@@ -0,0 +1 @@
+../../Task/Lah-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Langtons-ant b/Lang/Pluto/Langtons-ant
new file mode 120000
index 0000000000..fbf8c4cec8
--- /dev/null
+++ b/Lang/Pluto/Langtons-ant
@@ -0,0 +1 @@
+../../Task/Langtons-ant/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Largest-number-divisible-by-its-digits b/Lang/Pluto/Largest-number-divisible-by-its-digits
new file mode 120000
index 0000000000..0399c7d845
--- /dev/null
+++ b/Lang/Pluto/Largest-number-divisible-by-its-digits
@@ -0,0 +1 @@
+../../Task/Largest-number-divisible-by-its-digits/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Largest-proper-divisor-of-n b/Lang/Pluto/Largest-proper-divisor-of-n
new file mode 120000
index 0000000000..d21ea35abe
--- /dev/null
+++ b/Lang/Pluto/Largest-proper-divisor-of-n
@@ -0,0 +1 @@
+../../Task/Largest-proper-divisor-of-n/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Last-Friday-of-each-month b/Lang/Pluto/Last-Friday-of-each-month
new file mode 120000
index 0000000000..34cb3bb01f
--- /dev/null
+++ b/Lang/Pluto/Last-Friday-of-each-month
@@ -0,0 +1 @@
+../../Task/Last-Friday-of-each-month/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Leap-year b/Lang/Pluto/Leap-year
new file mode 120000
index 0000000000..9574544885
--- /dev/null
+++ b/Lang/Pluto/Leap-year
@@ -0,0 +1 @@
+../../Task/Leap-year/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Least-common-multiple b/Lang/Pluto/Least-common-multiple
new file mode 120000
index 0000000000..315d9ee3c1
--- /dev/null
+++ b/Lang/Pluto/Least-common-multiple
@@ -0,0 +1 @@
+../../Task/Least-common-multiple/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Legendre-prime-counting-function b/Lang/Pluto/Legendre-prime-counting-function
new file mode 120000
index 0000000000..f91e3cb00d
--- /dev/null
+++ b/Lang/Pluto/Legendre-prime-counting-function
@@ -0,0 +1 @@
+../../Task/Legendre-prime-counting-function/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Leonardo-numbers b/Lang/Pluto/Leonardo-numbers
new file mode 120000
index 0000000000..6a0846d95e
--- /dev/null
+++ b/Lang/Pluto/Leonardo-numbers
@@ -0,0 +1 @@
+../../Task/Leonardo-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/List-comprehensions b/Lang/Pluto/List-comprehensions
new file mode 120000
index 0000000000..e183959a9e
--- /dev/null
+++ b/Lang/Pluto/List-comprehensions
@@ -0,0 +1 @@
+../../Task/List-comprehensions/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Literals-Floating-point b/Lang/Pluto/Literals-Floating-point
new file mode 120000
index 0000000000..f40aa2eb22
--- /dev/null
+++ b/Lang/Pluto/Literals-Floating-point
@@ -0,0 +1 @@
+../../Task/Literals-Floating-point/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Literals-Integer b/Lang/Pluto/Literals-Integer
new file mode 120000
index 0000000000..2ca0134201
--- /dev/null
+++ b/Lang/Pluto/Literals-Integer
@@ -0,0 +1 @@
+../../Task/Literals-Integer/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Logistic-curve-fitting-in-epidemiology b/Lang/Pluto/Logistic-curve-fitting-in-epidemiology
new file mode 120000
index 0000000000..5620c74aa1
--- /dev/null
+++ b/Lang/Pluto/Logistic-curve-fitting-in-epidemiology
@@ -0,0 +1 @@
+../../Task/Logistic-curve-fitting-in-epidemiology/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Long-year b/Lang/Pluto/Long-year
new file mode 120000
index 0000000000..e81c486cc5
--- /dev/null
+++ b/Lang/Pluto/Long-year
@@ -0,0 +1 @@
+../../Task/Long-year/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Longest-increasing-subsequence b/Lang/Pluto/Longest-increasing-subsequence
new file mode 120000
index 0000000000..24fdc53a13
--- /dev/null
+++ b/Lang/Pluto/Longest-increasing-subsequence
@@ -0,0 +1 @@
+../../Task/Longest-increasing-subsequence/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Longest-string-challenge b/Lang/Pluto/Longest-string-challenge
new file mode 120000
index 0000000000..8e8deb88da
--- /dev/null
+++ b/Lang/Pluto/Longest-string-challenge
@@ -0,0 +1 @@
+../../Task/Longest-string-challenge/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Loop-over-multiple-arrays-simultaneously b/Lang/Pluto/Loop-over-multiple-arrays-simultaneously
new file mode 120000
index 0000000000..cebc902b5b
--- /dev/null
+++ b/Lang/Pluto/Loop-over-multiple-arrays-simultaneously
@@ -0,0 +1 @@
+../../Task/Loop-over-multiple-arrays-simultaneously/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Loops-Break b/Lang/Pluto/Loops-Break
new file mode 120000
index 0000000000..2b3657d2de
--- /dev/null
+++ b/Lang/Pluto/Loops-Break
@@ -0,0 +1 @@
+../../Task/Loops-Break/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Loops-Continue b/Lang/Pluto/Loops-Continue
new file mode 120000
index 0000000000..5f41db6125
--- /dev/null
+++ b/Lang/Pluto/Loops-Continue
@@ -0,0 +1 @@
+../../Task/Loops-Continue/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Loops-Do-while b/Lang/Pluto/Loops-Do-while
new file mode 120000
index 0000000000..a265d4decf
--- /dev/null
+++ b/Lang/Pluto/Loops-Do-while
@@ -0,0 +1 @@
+../../Task/Loops-Do-while/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Loops-Downward-for b/Lang/Pluto/Loops-Downward-for
new file mode 120000
index 0000000000..6302a5cc0d
--- /dev/null
+++ b/Lang/Pluto/Loops-Downward-for
@@ -0,0 +1 @@
+../../Task/Loops-Downward-for/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Loops-For b/Lang/Pluto/Loops-For
new file mode 120000
index 0000000000..9f83ae12bd
--- /dev/null
+++ b/Lang/Pluto/Loops-For
@@ -0,0 +1 @@
+../../Task/Loops-For/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Loops-For-with-a-specified-step b/Lang/Pluto/Loops-For-with-a-specified-step
new file mode 120000
index 0000000000..508122a2e3
--- /dev/null
+++ b/Lang/Pluto/Loops-For-with-a-specified-step
@@ -0,0 +1 @@
+../../Task/Loops-For-with-a-specified-step/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Loops-Foreach b/Lang/Pluto/Loops-Foreach
new file mode 120000
index 0000000000..9dbfba413e
--- /dev/null
+++ b/Lang/Pluto/Loops-Foreach
@@ -0,0 +1 @@
+../../Task/Loops-Foreach/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Loops-Increment-loop-index-within-loop-body b/Lang/Pluto/Loops-Increment-loop-index-within-loop-body
new file mode 120000
index 0000000000..f1ce9d6778
--- /dev/null
+++ b/Lang/Pluto/Loops-Increment-loop-index-within-loop-body
@@ -0,0 +1 @@
+../../Task/Loops-Increment-loop-index-within-loop-body/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Loops-Infinite b/Lang/Pluto/Loops-Infinite
new file mode 120000
index 0000000000..50986dd414
--- /dev/null
+++ b/Lang/Pluto/Loops-Infinite
@@ -0,0 +1 @@
+../../Task/Loops-Infinite/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Loops-N-plus-one-half b/Lang/Pluto/Loops-N-plus-one-half
new file mode 120000
index 0000000000..433e3f6336
--- /dev/null
+++ b/Lang/Pluto/Loops-N-plus-one-half
@@ -0,0 +1 @@
+../../Task/Loops-N-plus-one-half/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Loops-Nested b/Lang/Pluto/Loops-Nested
new file mode 120000
index 0000000000..96f4c43c62
--- /dev/null
+++ b/Lang/Pluto/Loops-Nested
@@ -0,0 +1 @@
+../../Task/Loops-Nested/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Loops-While b/Lang/Pluto/Loops-While
new file mode 120000
index 0000000000..3aa5f84aba
--- /dev/null
+++ b/Lang/Pluto/Loops-While
@@ -0,0 +1 @@
+../../Task/Loops-While/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Loops-With-multiple-ranges b/Lang/Pluto/Loops-With-multiple-ranges
new file mode 120000
index 0000000000..b1ef3af096
--- /dev/null
+++ b/Lang/Pluto/Loops-With-multiple-ranges
@@ -0,0 +1 @@
+../../Task/Loops-With-multiple-ranges/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Loops-Wrong-ranges b/Lang/Pluto/Loops-Wrong-ranges
new file mode 120000
index 0000000000..7b8bd4ecb0
--- /dev/null
+++ b/Lang/Pluto/Loops-Wrong-ranges
@@ -0,0 +1 @@
+../../Task/Loops-Wrong-ranges/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Lucas-Lehmer-test b/Lang/Pluto/Lucas-Lehmer-test
new file mode 120000
index 0000000000..247c0bbafb
--- /dev/null
+++ b/Lang/Pluto/Lucas-Lehmer-test
@@ -0,0 +1 @@
+../../Task/Lucas-Lehmer-test/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Luhn-test-of-credit-card-numbers b/Lang/Pluto/Luhn-test-of-credit-card-numbers
new file mode 120000
index 0000000000..c06ed72be3
--- /dev/null
+++ b/Lang/Pluto/Luhn-test-of-credit-card-numbers
@@ -0,0 +1 @@
+../../Task/Luhn-test-of-credit-card-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/M-bius-function b/Lang/Pluto/M-bius-function
new file mode 120000
index 0000000000..99da13a437
--- /dev/null
+++ b/Lang/Pluto/M-bius-function
@@ -0,0 +1 @@
+../../Task/M-bius-function/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/MD4 b/Lang/Pluto/MD4
new file mode 120000
index 0000000000..b6660e39bc
--- /dev/null
+++ b/Lang/Pluto/MD4
@@ -0,0 +1 @@
+../../Task/MD4/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/MD5 b/Lang/Pluto/MD5
new file mode 120000
index 0000000000..c54a09dd7b
--- /dev/null
+++ b/Lang/Pluto/MD5
@@ -0,0 +1 @@
+../../Task/MD5/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/MD5-Implementation b/Lang/Pluto/MD5-Implementation
new file mode 120000
index 0000000000..6cfead7533
--- /dev/null
+++ b/Lang/Pluto/MD5-Implementation
@@ -0,0 +1 @@
+../../Task/MD5-Implementation/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Machine-code b/Lang/Pluto/Machine-code
new file mode 120000
index 0000000000..82c80d52fd
--- /dev/null
+++ b/Lang/Pluto/Machine-code
@@ -0,0 +1 @@
+../../Task/Machine-code/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Magic-8-ball b/Lang/Pluto/Magic-8-ball
new file mode 120000
index 0000000000..e4c5118cb4
--- /dev/null
+++ b/Lang/Pluto/Magic-8-ball
@@ -0,0 +1 @@
+../../Task/Magic-8-ball/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Magic-constant b/Lang/Pluto/Magic-constant
new file mode 120000
index 0000000000..640896b2e7
--- /dev/null
+++ b/Lang/Pluto/Magic-constant
@@ -0,0 +1 @@
+../../Task/Magic-constant/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Magic-squares-of-doubly-even-order b/Lang/Pluto/Magic-squares-of-doubly-even-order
new file mode 120000
index 0000000000..357d3e5480
--- /dev/null
+++ b/Lang/Pluto/Magic-squares-of-doubly-even-order
@@ -0,0 +1 @@
+../../Task/Magic-squares-of-doubly-even-order/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Magic-squares-of-odd-order b/Lang/Pluto/Magic-squares-of-odd-order
new file mode 120000
index 0000000000..5df4846612
--- /dev/null
+++ b/Lang/Pluto/Magic-squares-of-odd-order
@@ -0,0 +1 @@
+../../Task/Magic-squares-of-odd-order/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Magic-squares-of-singly-even-order b/Lang/Pluto/Magic-squares-of-singly-even-order
new file mode 120000
index 0000000000..2430b82023
--- /dev/null
+++ b/Lang/Pluto/Magic-squares-of-singly-even-order
@@ -0,0 +1 @@
+../../Task/Magic-squares-of-singly-even-order/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Man-or-boy-test b/Lang/Pluto/Man-or-boy-test
new file mode 120000
index 0000000000..a1f41c4398
--- /dev/null
+++ b/Lang/Pluto/Man-or-boy-test
@@ -0,0 +1 @@
+../../Task/Man-or-boy-test/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Mandelbrot-set b/Lang/Pluto/Mandelbrot-set
new file mode 120000
index 0000000000..3e79f825ad
--- /dev/null
+++ b/Lang/Pluto/Mandelbrot-set
@@ -0,0 +1 @@
+../../Task/Mandelbrot-set/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Map-range b/Lang/Pluto/Map-range
new file mode 120000
index 0000000000..a57c07d536
--- /dev/null
+++ b/Lang/Pluto/Map-range
@@ -0,0 +1 @@
+../../Task/Map-range/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Matrix-exponentiation-operator b/Lang/Pluto/Matrix-exponentiation-operator
new file mode 120000
index 0000000000..1f6eb5cbaa
--- /dev/null
+++ b/Lang/Pluto/Matrix-exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Matrix-exponentiation-operator/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Matrix-multiplication b/Lang/Pluto/Matrix-multiplication
new file mode 120000
index 0000000000..61008dcc0b
--- /dev/null
+++ b/Lang/Pluto/Matrix-multiplication
@@ -0,0 +1 @@
+../../Task/Matrix-multiplication/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Matrix-transposition b/Lang/Pluto/Matrix-transposition
new file mode 120000
index 0000000000..aaa00341d6
--- /dev/null
+++ b/Lang/Pluto/Matrix-transposition
@@ -0,0 +1 @@
+../../Task/Matrix-transposition/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Maximum-triangle-path-sum b/Lang/Pluto/Maximum-triangle-path-sum
new file mode 120000
index 0000000000..916e59e364
--- /dev/null
+++ b/Lang/Pluto/Maximum-triangle-path-sum
@@ -0,0 +1 @@
+../../Task/Maximum-triangle-path-sum/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/McNuggets-problem b/Lang/Pluto/McNuggets-problem
new file mode 120000
index 0000000000..2540339e72
--- /dev/null
+++ b/Lang/Pluto/McNuggets-problem
@@ -0,0 +1 @@
+../../Task/McNuggets-problem/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Menu b/Lang/Pluto/Menu
new file mode 120000
index 0000000000..058fd3fb23
--- /dev/null
+++ b/Lang/Pluto/Menu
@@ -0,0 +1 @@
+../../Task/Menu/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Mian-Chowla-sequence b/Lang/Pluto/Mian-Chowla-sequence
new file mode 120000
index 0000000000..f966e85ca5
--- /dev/null
+++ b/Lang/Pluto/Mian-Chowla-sequence
@@ -0,0 +1 @@
+../../Task/Mian-Chowla-sequence/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Middle-three-digits b/Lang/Pluto/Middle-three-digits
new file mode 120000
index 0000000000..8d3393e673
--- /dev/null
+++ b/Lang/Pluto/Middle-three-digits
@@ -0,0 +1 @@
+../../Task/Middle-three-digits/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Mind-boggling-card-trick b/Lang/Pluto/Mind-boggling-card-trick
new file mode 120000
index 0000000000..230afb38bb
--- /dev/null
+++ b/Lang/Pluto/Mind-boggling-card-trick
@@ -0,0 +1 @@
+../../Task/Mind-boggling-card-trick/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Modified-random-distribution b/Lang/Pluto/Modified-random-distribution
new file mode 120000
index 0000000000..a50baa585f
--- /dev/null
+++ b/Lang/Pluto/Modified-random-distribution
@@ -0,0 +1 @@
+../../Task/Modified-random-distribution/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Modular-exponentiation b/Lang/Pluto/Modular-exponentiation
new file mode 120000
index 0000000000..5694ee1899
--- /dev/null
+++ b/Lang/Pluto/Modular-exponentiation
@@ -0,0 +1 @@
+../../Task/Modular-exponentiation/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Modular-inverse b/Lang/Pluto/Modular-inverse
new file mode 120000
index 0000000000..339ad0f426
--- /dev/null
+++ b/Lang/Pluto/Modular-inverse
@@ -0,0 +1 @@
+../../Task/Modular-inverse/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Monads-Maybe-monad b/Lang/Pluto/Monads-Maybe-monad
new file mode 120000
index 0000000000..38ba5a7df2
--- /dev/null
+++ b/Lang/Pluto/Monads-Maybe-monad
@@ -0,0 +1 @@
+../../Task/Monads-Maybe-monad/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Monte-Carlo-methods b/Lang/Pluto/Monte-Carlo-methods
new file mode 120000
index 0000000000..8639690631
--- /dev/null
+++ b/Lang/Pluto/Monte-Carlo-methods
@@ -0,0 +1 @@
+../../Task/Monte-Carlo-methods/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Monty-Hall-problem b/Lang/Pluto/Monty-Hall-problem
new file mode 120000
index 0000000000..dac7cd8df3
--- /dev/null
+++ b/Lang/Pluto/Monty-Hall-problem
@@ -0,0 +1 @@
+../../Task/Monty-Hall-problem/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Morse-code b/Lang/Pluto/Morse-code
new file mode 120000
index 0000000000..cf03e5492b
--- /dev/null
+++ b/Lang/Pluto/Morse-code
@@ -0,0 +1 @@
+../../Task/Morse-code/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Motzkin-numbers b/Lang/Pluto/Motzkin-numbers
new file mode 120000
index 0000000000..32bef98749
--- /dev/null
+++ b/Lang/Pluto/Motzkin-numbers
@@ -0,0 +1 @@
+../../Task/Motzkin-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Move-to-front-algorithm b/Lang/Pluto/Move-to-front-algorithm
new file mode 120000
index 0000000000..2cc1837031
--- /dev/null
+++ b/Lang/Pluto/Move-to-front-algorithm
@@ -0,0 +1 @@
+../../Task/Move-to-front-algorithm/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Multi-dimensional-array b/Lang/Pluto/Multi-dimensional-array
new file mode 120000
index 0000000000..53ab69b153
--- /dev/null
+++ b/Lang/Pluto/Multi-dimensional-array
@@ -0,0 +1 @@
+../../Task/Multi-dimensional-array/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Multifactorial b/Lang/Pluto/Multifactorial
new file mode 120000
index 0000000000..db75308a5f
--- /dev/null
+++ b/Lang/Pluto/Multifactorial
@@ -0,0 +1 @@
+../../Task/Multifactorial/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Multiple-distinct-objects b/Lang/Pluto/Multiple-distinct-objects
new file mode 120000
index 0000000000..3449d4226d
--- /dev/null
+++ b/Lang/Pluto/Multiple-distinct-objects
@@ -0,0 +1 @@
+../../Task/Multiple-distinct-objects/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Multiple-regression b/Lang/Pluto/Multiple-regression
new file mode 120000
index 0000000000..41b57d2c96
--- /dev/null
+++ b/Lang/Pluto/Multiple-regression
@@ -0,0 +1 @@
+../../Task/Multiple-regression/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Multiplication-tables b/Lang/Pluto/Multiplication-tables
new file mode 120000
index 0000000000..98a4d7bd3c
--- /dev/null
+++ b/Lang/Pluto/Multiplication-tables
@@ -0,0 +1 @@
+../../Task/Multiplication-tables/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Munchausen-numbers b/Lang/Pluto/Munchausen-numbers
new file mode 120000
index 0000000000..9b090f8c02
--- /dev/null
+++ b/Lang/Pluto/Munchausen-numbers
@@ -0,0 +1 @@
+../../Task/Munchausen-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Munching-squares b/Lang/Pluto/Munching-squares
new file mode 120000
index 0000000000..71dcd71a08
--- /dev/null
+++ b/Lang/Pluto/Munching-squares
@@ -0,0 +1 @@
+../../Task/Munching-squares/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Musical-scale b/Lang/Pluto/Musical-scale
new file mode 120000
index 0000000000..9692211175
--- /dev/null
+++ b/Lang/Pluto/Musical-scale
@@ -0,0 +1 @@
+../../Task/Musical-scale/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Mutual-recursion b/Lang/Pluto/Mutual-recursion
new file mode 120000
index 0000000000..3866a9925a
--- /dev/null
+++ b/Lang/Pluto/Mutual-recursion
@@ -0,0 +1 @@
+../../Task/Mutual-recursion/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/N-queens-problem b/Lang/Pluto/N-queens-problem
new file mode 120000
index 0000000000..a29c7467b2
--- /dev/null
+++ b/Lang/Pluto/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Named-parameters b/Lang/Pluto/Named-parameters
new file mode 120000
index 0000000000..8f0b72ba9b
--- /dev/null
+++ b/Lang/Pluto/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Narcissistic-decimal-number b/Lang/Pluto/Narcissistic-decimal-number
new file mode 120000
index 0000000000..feead3c3a0
--- /dev/null
+++ b/Lang/Pluto/Narcissistic-decimal-number
@@ -0,0 +1 @@
+../../Task/Narcissistic-decimal-number/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Nested-function b/Lang/Pluto/Nested-function
new file mode 120000
index 0000000000..ea9816ec32
--- /dev/null
+++ b/Lang/Pluto/Nested-function
@@ -0,0 +1 @@
+../../Task/Nested-function/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Nested-templated-data b/Lang/Pluto/Nested-templated-data
new file mode 120000
index 0000000000..d56f50a5d8
--- /dev/null
+++ b/Lang/Pluto/Nested-templated-data
@@ -0,0 +1 @@
+../../Task/Nested-templated-data/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Non-continuous-subsequences b/Lang/Pluto/Non-continuous-subsequences
new file mode 120000
index 0000000000..f226b8c60b
--- /dev/null
+++ b/Lang/Pluto/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Non-decimal-radices-Convert b/Lang/Pluto/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..e1fddc5a20
--- /dev/null
+++ b/Lang/Pluto/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Non-decimal-radices-Input b/Lang/Pluto/Non-decimal-radices-Input
new file mode 120000
index 0000000000..e530fe6bb6
--- /dev/null
+++ b/Lang/Pluto/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Non-decimal-radices-Output b/Lang/Pluto/Non-decimal-radices-Output
new file mode 120000
index 0000000000..8cfb1c729a
--- /dev/null
+++ b/Lang/Pluto/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Nonoblock b/Lang/Pluto/Nonoblock
new file mode 120000
index 0000000000..733d16326f
--- /dev/null
+++ b/Lang/Pluto/Nonoblock
@@ -0,0 +1 @@
+../../Task/Nonoblock/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Nth b/Lang/Pluto/Nth
new file mode 120000
index 0000000000..54dfb50037
--- /dev/null
+++ b/Lang/Pluto/Nth
@@ -0,0 +1 @@
+../../Task/Nth/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Number-names b/Lang/Pluto/Number-names
new file mode 120000
index 0000000000..1ede3bfc36
--- /dev/null
+++ b/Lang/Pluto/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Numbers-with-equal-rises-and-falls b/Lang/Pluto/Numbers-with-equal-rises-and-falls
new file mode 120000
index 0000000000..b08f5ff647
--- /dev/null
+++ b/Lang/Pluto/Numbers-with-equal-rises-and-falls
@@ -0,0 +1 @@
+../../Task/Numbers-with-equal-rises-and-falls/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Numeric-error-propagation b/Lang/Pluto/Numeric-error-propagation
new file mode 120000
index 0000000000..2f5e41e871
--- /dev/null
+++ b/Lang/Pluto/Numeric-error-propagation
@@ -0,0 +1 @@
+../../Task/Numeric-error-propagation/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Numerical-integration b/Lang/Pluto/Numerical-integration
new file mode 120000
index 0000000000..e89c1b753a
--- /dev/null
+++ b/Lang/Pluto/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Old-Russian-measure-of-length b/Lang/Pluto/Old-Russian-measure-of-length
new file mode 120000
index 0000000000..9f7493d0af
--- /dev/null
+++ b/Lang/Pluto/Old-Russian-measure-of-length
@@ -0,0 +1 @@
+../../Task/Old-Russian-measure-of-length/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Old-lady-swallowed-a-fly b/Lang/Pluto/Old-lady-swallowed-a-fly
new file mode 120000
index 0000000000..e29df6472a
--- /dev/null
+++ b/Lang/Pluto/Old-lady-swallowed-a-fly
@@ -0,0 +1 @@
+../../Task/Old-lady-swallowed-a-fly/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/One-dimensional-cellular-automata b/Lang/Pluto/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..b90efd8831
--- /dev/null
+++ b/Lang/Pluto/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Order-by-pair-comparisons b/Lang/Pluto/Order-by-pair-comparisons
new file mode 120000
index 0000000000..1c7665f6b2
--- /dev/null
+++ b/Lang/Pluto/Order-by-pair-comparisons
@@ -0,0 +1 @@
+../../Task/Order-by-pair-comparisons/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Ordered-words b/Lang/Pluto/Ordered-words
new file mode 120000
index 0000000000..018c8529a3
--- /dev/null
+++ b/Lang/Pluto/Ordered-words
@@ -0,0 +1 @@
+../../Task/Ordered-words/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Ormiston-triples b/Lang/Pluto/Ormiston-triples
new file mode 120000
index 0000000000..e6fe78c60e
--- /dev/null
+++ b/Lang/Pluto/Ormiston-triples
@@ -0,0 +1 @@
+../../Task/Ormiston-triples/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Palindrome-detection b/Lang/Pluto/Palindrome-detection
new file mode 120000
index 0000000000..755083778a
--- /dev/null
+++ b/Lang/Pluto/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Pancake-numbers b/Lang/Pluto/Pancake-numbers
new file mode 120000
index 0000000000..129dac7c77
--- /dev/null
+++ b/Lang/Pluto/Pancake-numbers
@@ -0,0 +1 @@
+../../Task/Pancake-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Paraffins b/Lang/Pluto/Paraffins
new file mode 120000
index 0000000000..4b8b6e0ba9
--- /dev/null
+++ b/Lang/Pluto/Paraffins
@@ -0,0 +1 @@
+../../Task/Paraffins/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Parametric-polymorphism b/Lang/Pluto/Parametric-polymorphism
new file mode 120000
index 0000000000..bdc68d3723
--- /dev/null
+++ b/Lang/Pluto/Parametric-polymorphism
@@ -0,0 +1 @@
+../../Task/Parametric-polymorphism/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Parsing-RPN-calculator-algorithm b/Lang/Pluto/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..f120a8c76e
--- /dev/null
+++ b/Lang/Pluto/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Parsing-Shunting-yard-algorithm b/Lang/Pluto/Parsing-Shunting-yard-algorithm
new file mode 120000
index 0000000000..6a968b87bd
--- /dev/null
+++ b/Lang/Pluto/Parsing-Shunting-yard-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-Shunting-yard-algorithm/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Partial-function-application b/Lang/Pluto/Partial-function-application
new file mode 120000
index 0000000000..bc39fe1347
--- /dev/null
+++ b/Lang/Pluto/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Partition-an-integer-x-into-n-primes b/Lang/Pluto/Partition-an-integer-x-into-n-primes
new file mode 120000
index 0000000000..b3156a2b19
--- /dev/null
+++ b/Lang/Pluto/Partition-an-integer-x-into-n-primes
@@ -0,0 +1 @@
+../../Task/Partition-an-integer-x-into-n-primes/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Partition-function-P b/Lang/Pluto/Partition-function-P
new file mode 120000
index 0000000000..74dceccc52
--- /dev/null
+++ b/Lang/Pluto/Partition-function-P
@@ -0,0 +1 @@
+../../Task/Partition-function-P/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Pascal-matrix-generation b/Lang/Pluto/Pascal-matrix-generation
new file mode 120000
index 0000000000..08137286fd
--- /dev/null
+++ b/Lang/Pluto/Pascal-matrix-generation
@@ -0,0 +1 @@
+../../Task/Pascal-matrix-generation/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Pascals-triangle b/Lang/Pluto/Pascals-triangle
new file mode 120000
index 0000000000..b148762a81
--- /dev/null
+++ b/Lang/Pluto/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Pascals-triangle-Puzzle b/Lang/Pluto/Pascals-triangle-Puzzle
new file mode 120000
index 0000000000..312b0f9b1b
--- /dev/null
+++ b/Lang/Pluto/Pascals-triangle-Puzzle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle-Puzzle/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Pells-equation b/Lang/Pluto/Pells-equation
new file mode 120000
index 0000000000..330936d009
--- /dev/null
+++ b/Lang/Pluto/Pells-equation
@@ -0,0 +1 @@
+../../Task/Pells-equation/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Perfect-numbers b/Lang/Pluto/Perfect-numbers
new file mode 120000
index 0000000000..c44c743521
--- /dev/null
+++ b/Lang/Pluto/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Perfect-shuffle b/Lang/Pluto/Perfect-shuffle
new file mode 120000
index 0000000000..1dd4b8c882
--- /dev/null
+++ b/Lang/Pluto/Perfect-shuffle
@@ -0,0 +1 @@
+../../Task/Perfect-shuffle/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Perfect-totient-numbers b/Lang/Pluto/Perfect-totient-numbers
new file mode 120000
index 0000000000..ff9d8e3ace
--- /dev/null
+++ b/Lang/Pluto/Perfect-totient-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-totient-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Periodic-table b/Lang/Pluto/Periodic-table
new file mode 120000
index 0000000000..9aa6afb48f
--- /dev/null
+++ b/Lang/Pluto/Periodic-table
@@ -0,0 +1 @@
+../../Task/Periodic-table/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Peripheral-drift-illusion b/Lang/Pluto/Peripheral-drift-illusion
new file mode 120000
index 0000000000..28e04374ac
--- /dev/null
+++ b/Lang/Pluto/Peripheral-drift-illusion
@@ -0,0 +1 @@
+../../Task/Peripheral-drift-illusion/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Perlin-noise b/Lang/Pluto/Perlin-noise
new file mode 120000
index 0000000000..9a99043b16
--- /dev/null
+++ b/Lang/Pluto/Perlin-noise
@@ -0,0 +1 @@
+../../Task/Perlin-noise/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Permutations b/Lang/Pluto/Permutations
new file mode 120000
index 0000000000..750604fad2
--- /dev/null
+++ b/Lang/Pluto/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Pernicious-numbers b/Lang/Pluto/Pernicious-numbers
new file mode 120000
index 0000000000..29e4a1f27e
--- /dev/null
+++ b/Lang/Pluto/Pernicious-numbers
@@ -0,0 +1 @@
+../../Task/Pernicious-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Phrase-reversals b/Lang/Pluto/Phrase-reversals
new file mode 120000
index 0000000000..8398529c2c
--- /dev/null
+++ b/Lang/Pluto/Phrase-reversals
@@ -0,0 +1 @@
+../../Task/Phrase-reversals/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Pick-random-element b/Lang/Pluto/Pick-random-element
new file mode 120000
index 0000000000..f181e160e5
--- /dev/null
+++ b/Lang/Pluto/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Pisano-period b/Lang/Pluto/Pisano-period
new file mode 120000
index 0000000000..377c8913e0
--- /dev/null
+++ b/Lang/Pluto/Pisano-period
@@ -0,0 +1 @@
+../../Task/Pisano-period/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Pointers-and-references b/Lang/Pluto/Pointers-and-references
new file mode 120000
index 0000000000..e2ffa489f1
--- /dev/null
+++ b/Lang/Pluto/Pointers-and-references
@@ -0,0 +1 @@
+../../Task/Pointers-and-references/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Polynomial-long-division b/Lang/Pluto/Polynomial-long-division
new file mode 120000
index 0000000000..feb0f9bb3e
--- /dev/null
+++ b/Lang/Pluto/Polynomial-long-division
@@ -0,0 +1 @@
+../../Task/Polynomial-long-division/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Polynomial-regression b/Lang/Pluto/Polynomial-regression
new file mode 120000
index 0000000000..11b7492061
--- /dev/null
+++ b/Lang/Pluto/Polynomial-regression
@@ -0,0 +1 @@
+../../Task/Polynomial-regression/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Population-count b/Lang/Pluto/Population-count
new file mode 120000
index 0000000000..c275fa8665
--- /dev/null
+++ b/Lang/Pluto/Population-count
@@ -0,0 +1 @@
+../../Task/Population-count/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Power-set b/Lang/Pluto/Power-set
new file mode 120000
index 0000000000..72362c1ec0
--- /dev/null
+++ b/Lang/Pluto/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Price-fraction b/Lang/Pluto/Price-fraction
new file mode 120000
index 0000000000..1ac1f34fe5
--- /dev/null
+++ b/Lang/Pluto/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Primality-by-Wilsons-theorem b/Lang/Pluto/Primality-by-Wilsons-theorem
new file mode 120000
index 0000000000..9b5599f64b
--- /dev/null
+++ b/Lang/Pluto/Primality-by-Wilsons-theorem
@@ -0,0 +1 @@
+../../Task/Primality-by-Wilsons-theorem/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Primality-by-trial-division b/Lang/Pluto/Primality-by-trial-division
new file mode 120000
index 0000000000..01622c5c43
--- /dev/null
+++ b/Lang/Pluto/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Prime-conspiracy b/Lang/Pluto/Prime-conspiracy
new file mode 120000
index 0000000000..fb52d53fda
--- /dev/null
+++ b/Lang/Pluto/Prime-conspiracy
@@ -0,0 +1 @@
+../../Task/Prime-conspiracy/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Prime-decomposition b/Lang/Pluto/Prime-decomposition
new file mode 120000
index 0000000000..3af54a0bb5
--- /dev/null
+++ b/Lang/Pluto/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Prime-triangle b/Lang/Pluto/Prime-triangle
new file mode 120000
index 0000000000..9d4d789f0f
--- /dev/null
+++ b/Lang/Pluto/Prime-triangle
@@ -0,0 +1 @@
+../../Task/Prime-triangle/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Primes---allocate-descendants-to-their-ancestors b/Lang/Pluto/Primes---allocate-descendants-to-their-ancestors
new file mode 120000
index 0000000000..f8c226f8bd
--- /dev/null
+++ b/Lang/Pluto/Primes---allocate-descendants-to-their-ancestors
@@ -0,0 +1 @@
+../../Task/Primes---allocate-descendants-to-their-ancestors/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Primorial-numbers b/Lang/Pluto/Primorial-numbers
new file mode 120000
index 0000000000..c8bd364676
--- /dev/null
+++ b/Lang/Pluto/Primorial-numbers
@@ -0,0 +1 @@
+../../Task/Primorial-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Priority-queue b/Lang/Pluto/Priority-queue
new file mode 120000
index 0000000000..ad7bed4159
--- /dev/null
+++ b/Lang/Pluto/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Program-name b/Lang/Pluto/Program-name
new file mode 120000
index 0000000000..6b084789ed
--- /dev/null
+++ b/Lang/Pluto/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Program-termination b/Lang/Pluto/Program-termination
new file mode 120000
index 0000000000..50e8764745
--- /dev/null
+++ b/Lang/Pluto/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Proper-divisors b/Lang/Pluto/Proper-divisors
new file mode 120000
index 0000000000..8bb1a6945e
--- /dev/null
+++ b/Lang/Pluto/Proper-divisors
@@ -0,0 +1 @@
+../../Task/Proper-divisors/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Pseudo-random-numbers-Middle-square-method b/Lang/Pluto/Pseudo-random-numbers-Middle-square-method
new file mode 120000
index 0000000000..13c5850baa
--- /dev/null
+++ b/Lang/Pluto/Pseudo-random-numbers-Middle-square-method
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-Middle-square-method/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Pseudo-random-numbers-PCG32 b/Lang/Pluto/Pseudo-random-numbers-PCG32
new file mode 120000
index 0000000000..a7591cbf7d
--- /dev/null
+++ b/Lang/Pluto/Pseudo-random-numbers-PCG32
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-PCG32/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Pseudo-random-numbers-Splitmix64 b/Lang/Pluto/Pseudo-random-numbers-Splitmix64
new file mode 120000
index 0000000000..5899b47f2e
--- /dev/null
+++ b/Lang/Pluto/Pseudo-random-numbers-Splitmix64
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-Splitmix64/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Pythagoras-tree b/Lang/Pluto/Pythagoras-tree
new file mode 120000
index 0000000000..08b1af9c83
--- /dev/null
+++ b/Lang/Pluto/Pythagoras-tree
@@ -0,0 +1 @@
+../../Task/Pythagoras-tree/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Pythagorean-triples b/Lang/Pluto/Pythagorean-triples
new file mode 120000
index 0000000000..8be426ea15
--- /dev/null
+++ b/Lang/Pluto/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/QR-decomposition b/Lang/Pluto/QR-decomposition
new file mode 120000
index 0000000000..6d72ede0a4
--- /dev/null
+++ b/Lang/Pluto/QR-decomposition
@@ -0,0 +1 @@
+../../Task/QR-decomposition/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Queue-Definition b/Lang/Pluto/Queue-Definition
new file mode 120000
index 0000000000..8cf42a0b6a
--- /dev/null
+++ b/Lang/Pluto/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Queue-Usage b/Lang/Pluto/Queue-Usage
new file mode 120000
index 0000000000..6d7d7a3b25
--- /dev/null
+++ b/Lang/Pluto/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Quoting-constructs b/Lang/Pluto/Quoting-constructs
new file mode 120000
index 0000000000..21c1cfccbd
--- /dev/null
+++ b/Lang/Pluto/Quoting-constructs
@@ -0,0 +1 @@
+../../Task/Quoting-constructs/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/RIPEMD-160 b/Lang/Pluto/RIPEMD-160
new file mode 120000
index 0000000000..18207c76aa
--- /dev/null
+++ b/Lang/Pluto/RIPEMD-160
@@ -0,0 +1 @@
+../../Task/RIPEMD-160/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/RPG-attributes-generator b/Lang/Pluto/RPG-attributes-generator
new file mode 120000
index 0000000000..94703dd51c
--- /dev/null
+++ b/Lang/Pluto/RPG-attributes-generator
@@ -0,0 +1 @@
+../../Task/RPG-attributes-generator/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/RSA-code b/Lang/Pluto/RSA-code
new file mode 120000
index 0000000000..fa27ed3ec1
--- /dev/null
+++ b/Lang/Pluto/RSA-code
@@ -0,0 +1 @@
+../../Task/RSA-code/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Ramanujans-constant b/Lang/Pluto/Ramanujans-constant
new file mode 120000
index 0000000000..c98dc7a621
--- /dev/null
+++ b/Lang/Pluto/Ramanujans-constant
@@ -0,0 +1 @@
+../../Task/Ramanujans-constant/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Ramer-Douglas-Peucker-line-simplification b/Lang/Pluto/Ramer-Douglas-Peucker-line-simplification
new file mode 120000
index 0000000000..f3927eff81
--- /dev/null
+++ b/Lang/Pluto/Ramer-Douglas-Peucker-line-simplification
@@ -0,0 +1 @@
+../../Task/Ramer-Douglas-Peucker-line-simplification/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Random-number-generator-device- b/Lang/Pluto/Random-number-generator-device-
new file mode 120000
index 0000000000..6f23d7dfa7
--- /dev/null
+++ b/Lang/Pluto/Random-number-generator-device-
@@ -0,0 +1 @@
+../../Task/Random-number-generator-device-/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Random-numbers b/Lang/Pluto/Random-numbers
new file mode 120000
index 0000000000..7bda811b12
--- /dev/null
+++ b/Lang/Pluto/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Range-expansion b/Lang/Pluto/Range-expansion
new file mode 120000
index 0000000000..c486f1e65b
--- /dev/null
+++ b/Lang/Pluto/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Range-extraction b/Lang/Pluto/Range-extraction
new file mode 120000
index 0000000000..c2738db56f
--- /dev/null
+++ b/Lang/Pluto/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Rare-numbers b/Lang/Pluto/Rare-numbers
new file mode 120000
index 0000000000..f80bc44b48
--- /dev/null
+++ b/Lang/Pluto/Rare-numbers
@@ -0,0 +1 @@
+../../Task/Rare-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Read-a-configuration-file b/Lang/Pluto/Read-a-configuration-file
new file mode 120000
index 0000000000..90fb599972
--- /dev/null
+++ b/Lang/Pluto/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Read-a-file-line-by-line b/Lang/Pluto/Read-a-file-line-by-line
new file mode 120000
index 0000000000..d35b8cfbc4
--- /dev/null
+++ b/Lang/Pluto/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Read-entire-file b/Lang/Pluto/Read-entire-file
new file mode 120000
index 0000000000..f49bee994d
--- /dev/null
+++ b/Lang/Pluto/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Real-constants-and-functions b/Lang/Pluto/Real-constants-and-functions
new file mode 120000
index 0000000000..0f3f45eaa6
--- /dev/null
+++ b/Lang/Pluto/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Recamans-sequence b/Lang/Pluto/Recamans-sequence
new file mode 120000
index 0000000000..b47a985a96
--- /dev/null
+++ b/Lang/Pluto/Recamans-sequence
@@ -0,0 +1 @@
+../../Task/Recamans-sequence/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Reduced-row-echelon-form b/Lang/Pluto/Reduced-row-echelon-form
new file mode 120000
index 0000000000..8086c26ac8
--- /dev/null
+++ b/Lang/Pluto/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Rename-a-file b/Lang/Pluto/Rename-a-file
new file mode 120000
index 0000000000..dd234bb854
--- /dev/null
+++ b/Lang/Pluto/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Repeat b/Lang/Pluto/Repeat
new file mode 120000
index 0000000000..a6a3c03575
--- /dev/null
+++ b/Lang/Pluto/Repeat
@@ -0,0 +1 @@
+../../Task/Repeat/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Repeat-a-string b/Lang/Pluto/Repeat-a-string
new file mode 120000
index 0000000000..7cea8b7235
--- /dev/null
+++ b/Lang/Pluto/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Repunit-primes b/Lang/Pluto/Repunit-primes
new file mode 120000
index 0000000000..7e185e6e79
--- /dev/null
+++ b/Lang/Pluto/Repunit-primes
@@ -0,0 +1 @@
+../../Task/Repunit-primes/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Resistor-mesh b/Lang/Pluto/Resistor-mesh
new file mode 120000
index 0000000000..e4f455a984
--- /dev/null
+++ b/Lang/Pluto/Resistor-mesh
@@ -0,0 +1 @@
+../../Task/Resistor-mesh/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Return-multiple-values b/Lang/Pluto/Return-multiple-values
new file mode 120000
index 0000000000..18f6c32d09
--- /dev/null
+++ b/Lang/Pluto/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Reverse-a-string b/Lang/Pluto/Reverse-a-string
new file mode 120000
index 0000000000..dc5b2e2493
--- /dev/null
+++ b/Lang/Pluto/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Reverse-words-in-a-string b/Lang/Pluto/Reverse-words-in-a-string
new file mode 120000
index 0000000000..378e6ea4b7
--- /dev/null
+++ b/Lang/Pluto/Reverse-words-in-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-words-in-a-string/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Roman-numerals-Encode b/Lang/Pluto/Roman-numerals-Encode
new file mode 120000
index 0000000000..d12a85d68f
--- /dev/null
+++ b/Lang/Pluto/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Roots-of-a-function b/Lang/Pluto/Roots-of-a-function
new file mode 120000
index 0000000000..a5bb6f8f20
--- /dev/null
+++ b/Lang/Pluto/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Roots-of-a-quadratic-function b/Lang/Pluto/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..8e5bf4c688
--- /dev/null
+++ b/Lang/Pluto/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Roots-of-unity b/Lang/Pluto/Roots-of-unity
new file mode 120000
index 0000000000..e0f1ada438
--- /dev/null
+++ b/Lang/Pluto/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Rot-13 b/Lang/Pluto/Rot-13
new file mode 120000
index 0000000000..ca2ef70221
--- /dev/null
+++ b/Lang/Pluto/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Runge-Kutta-method b/Lang/Pluto/Runge-Kutta-method
new file mode 120000
index 0000000000..1f412f01e7
--- /dev/null
+++ b/Lang/Pluto/Runge-Kutta-method
@@ -0,0 +1 @@
+../../Task/Runge-Kutta-method/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/SEDOLs b/Lang/Pluto/SEDOLs
new file mode 120000
index 0000000000..4a14938cfb
--- /dev/null
+++ b/Lang/Pluto/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/SHA-1 b/Lang/Pluto/SHA-1
new file mode 120000
index 0000000000..b2417e97b6
--- /dev/null
+++ b/Lang/Pluto/SHA-1
@@ -0,0 +1 @@
+../../Task/SHA-1/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/SHA-256 b/Lang/Pluto/SHA-256
new file mode 120000
index 0000000000..69f9d4a47c
--- /dev/null
+++ b/Lang/Pluto/SHA-256
@@ -0,0 +1 @@
+../../Task/SHA-256/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Safe-primes-and-unsafe-primes b/Lang/Pluto/Safe-primes-and-unsafe-primes
new file mode 120000
index 0000000000..0dd190920e
--- /dev/null
+++ b/Lang/Pluto/Safe-primes-and-unsafe-primes
@@ -0,0 +1 @@
+../../Task/Safe-primes-and-unsafe-primes/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sailors-coconuts-and-a-monkey-problem b/Lang/Pluto/Sailors-coconuts-and-a-monkey-problem
new file mode 120000
index 0000000000..29da882738
--- /dev/null
+++ b/Lang/Pluto/Sailors-coconuts-and-a-monkey-problem
@@ -0,0 +1 @@
+../../Task/Sailors-coconuts-and-a-monkey-problem/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Search-a-list b/Lang/Pluto/Search-a-list
new file mode 120000
index 0000000000..7284791eca
--- /dev/null
+++ b/Lang/Pluto/Search-a-list
@@ -0,0 +1 @@
+../../Task/Search-a-list/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Search-a-list-of-records b/Lang/Pluto/Search-a-list-of-records
new file mode 120000
index 0000000000..53af5de4bf
--- /dev/null
+++ b/Lang/Pluto/Search-a-list-of-records
@@ -0,0 +1 @@
+../../Task/Search-a-list-of-records/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Selectively-replace-multiple-instances-of-a-character-within-a-string b/Lang/Pluto/Selectively-replace-multiple-instances-of-a-character-within-a-string
new file mode 120000
index 0000000000..b494f69bf0
--- /dev/null
+++ b/Lang/Pluto/Selectively-replace-multiple-instances-of-a-character-within-a-string
@@ -0,0 +1 @@
+../../Task/Selectively-replace-multiple-instances-of-a-character-within-a-string/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Self-numbers b/Lang/Pluto/Self-numbers
new file mode 120000
index 0000000000..6ddaee76e3
--- /dev/null
+++ b/Lang/Pluto/Self-numbers
@@ -0,0 +1 @@
+../../Task/Self-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Semiprime b/Lang/Pluto/Semiprime
new file mode 120000
index 0000000000..8587fb750c
--- /dev/null
+++ b/Lang/Pluto/Semiprime
@@ -0,0 +1 @@
+../../Task/Semiprime/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Semordnilap b/Lang/Pluto/Semordnilap
new file mode 120000
index 0000000000..92f96e5b0c
--- /dev/null
+++ b/Lang/Pluto/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sequence-of-non-squares b/Lang/Pluto/Sequence-of-non-squares
new file mode 120000
index 0000000000..ffd6b85122
--- /dev/null
+++ b/Lang/Pluto/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sequence-of-primes-by-trial-division b/Lang/Pluto/Sequence-of-primes-by-trial-division
new file mode 120000
index 0000000000..0a541cb28c
--- /dev/null
+++ b/Lang/Pluto/Sequence-of-primes-by-trial-division
@@ -0,0 +1 @@
+../../Task/Sequence-of-primes-by-trial-division/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sequence-of-primorial-primes b/Lang/Pluto/Sequence-of-primorial-primes
new file mode 120000
index 0000000000..cc2120f894
--- /dev/null
+++ b/Lang/Pluto/Sequence-of-primorial-primes
@@ -0,0 +1 @@
+../../Task/Sequence-of-primorial-primes/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sequence:-smallest-number-with-exactly-n-divisors b/Lang/Pluto/Sequence:-smallest-number-with-exactly-n-divisors
new file mode 120000
index 0000000000..ac5bc99ced
--- /dev/null
+++ b/Lang/Pluto/Sequence:-smallest-number-with-exactly-n-divisors
@@ -0,0 +1 @@
+../../Task/Sequence:-smallest-number-with-exactly-n-divisors/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Set b/Lang/Pluto/Set
new file mode 120000
index 0000000000..9bbe04e32f
--- /dev/null
+++ b/Lang/Pluto/Set
@@ -0,0 +1 @@
+../../Task/Set/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Set-consolidation b/Lang/Pluto/Set-consolidation
new file mode 120000
index 0000000000..af203f8560
--- /dev/null
+++ b/Lang/Pluto/Set-consolidation
@@ -0,0 +1 @@
+../../Task/Set-consolidation/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Set-of-real-numbers b/Lang/Pluto/Set-of-real-numbers
new file mode 120000
index 0000000000..80d4d8a2d1
--- /dev/null
+++ b/Lang/Pluto/Set-of-real-numbers
@@ -0,0 +1 @@
+../../Task/Set-of-real-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Set-right-adjacent-bits b/Lang/Pluto/Set-right-adjacent-bits
new file mode 120000
index 0000000000..7f599e0236
--- /dev/null
+++ b/Lang/Pluto/Set-right-adjacent-bits
@@ -0,0 +1 @@
+../../Task/Set-right-adjacent-bits/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sexy-primes b/Lang/Pluto/Sexy-primes
new file mode 120000
index 0000000000..2ab94558b6
--- /dev/null
+++ b/Lang/Pluto/Sexy-primes
@@ -0,0 +1 @@
+../../Task/Sexy-primes/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Shoelace-formula-for-polygonal-area b/Lang/Pluto/Shoelace-formula-for-polygonal-area
new file mode 120000
index 0000000000..beae637d82
--- /dev/null
+++ b/Lang/Pluto/Shoelace-formula-for-polygonal-area
@@ -0,0 +1 @@
+../../Task/Shoelace-formula-for-polygonal-area/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Show-ASCII-table b/Lang/Pluto/Show-ASCII-table
new file mode 120000
index 0000000000..cac0997662
--- /dev/null
+++ b/Lang/Pluto/Show-ASCII-table
@@ -0,0 +1 @@
+../../Task/Show-ASCII-table/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sierpinski-arrowhead-curve b/Lang/Pluto/Sierpinski-arrowhead-curve
new file mode 120000
index 0000000000..18f606e730
--- /dev/null
+++ b/Lang/Pluto/Sierpinski-arrowhead-curve
@@ -0,0 +1 @@
+../../Task/Sierpinski-arrowhead-curve/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sierpinski-square-curve b/Lang/Pluto/Sierpinski-square-curve
new file mode 120000
index 0000000000..35f7d5150e
--- /dev/null
+++ b/Lang/Pluto/Sierpinski-square-curve
@@ -0,0 +1 @@
+../../Task/Sierpinski-square-curve/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sierpinski-triangle-Graphical b/Lang/Pluto/Sierpinski-triangle-Graphical
new file mode 120000
index 0000000000..008a1742b1
--- /dev/null
+++ b/Lang/Pluto/Sierpinski-triangle-Graphical
@@ -0,0 +1 @@
+../../Task/Sierpinski-triangle-Graphical/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Simple-turtle-graphics b/Lang/Pluto/Simple-turtle-graphics
new file mode 120000
index 0000000000..0cf7b3ba67
--- /dev/null
+++ b/Lang/Pluto/Simple-turtle-graphics
@@ -0,0 +1 @@
+../../Task/Simple-turtle-graphics/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Singleton b/Lang/Pluto/Singleton
new file mode 120000
index 0000000000..b0a6a2c730
--- /dev/null
+++ b/Lang/Pluto/Singleton
@@ -0,0 +1 @@
+../../Task/Singleton/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Singly-linked-list-Element-definition b/Lang/Pluto/Singly-linked-list-Element-definition
new file mode 120000
index 0000000000..1f46e7b961
--- /dev/null
+++ b/Lang/Pluto/Singly-linked-list-Element-definition
@@ -0,0 +1 @@
+../../Task/Singly-linked-list-Element-definition/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Singly-linked-list-Element-insertion b/Lang/Pluto/Singly-linked-list-Element-insertion
new file mode 120000
index 0000000000..27b69c63f5
--- /dev/null
+++ b/Lang/Pluto/Singly-linked-list-Element-insertion
@@ -0,0 +1 @@
+../../Task/Singly-linked-list-Element-insertion/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Singly-linked-list-Traversal b/Lang/Pluto/Singly-linked-list-Traversal
new file mode 120000
index 0000000000..a9f1239636
--- /dev/null
+++ b/Lang/Pluto/Singly-linked-list-Traversal
@@ -0,0 +1 @@
+../../Task/Singly-linked-list-Traversal/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sleep b/Lang/Pluto/Sleep
new file mode 120000
index 0000000000..fe338781ff
--- /dev/null
+++ b/Lang/Pluto/Sleep
@@ -0,0 +1 @@
+../../Task/Sleep/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sleeping-Beauty-problem b/Lang/Pluto/Sleeping-Beauty-problem
new file mode 120000
index 0000000000..34cc3d8c3d
--- /dev/null
+++ b/Lang/Pluto/Sleeping-Beauty-problem
@@ -0,0 +1 @@
+../../Task/Sleeping-Beauty-problem/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Smallest-number-k-such-that-k+2^m-is-composite-for-all-m-less-than-k b/Lang/Pluto/Smallest-number-k-such-that-k+2^m-is-composite-for-all-m-less-than-k
new file mode 120000
index 0000000000..b69fb666de
--- /dev/null
+++ b/Lang/Pluto/Smallest-number-k-such-that-k+2^m-is-composite-for-all-m-less-than-k
@@ -0,0 +1 @@
+../../Task/Smallest-number-k-such-that-k+2^m-is-composite-for-all-m-less-than-k/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Smarandache-Wellin-primes b/Lang/Pluto/Smarandache-Wellin-primes
new file mode 120000
index 0000000000..44308127bf
--- /dev/null
+++ b/Lang/Pluto/Smarandache-Wellin-primes
@@ -0,0 +1 @@
+../../Task/Smarandache-Wellin-primes/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Smarandache-prime-digital-sequence b/Lang/Pluto/Smarandache-prime-digital-sequence
new file mode 120000
index 0000000000..c1bae0f65e
--- /dev/null
+++ b/Lang/Pluto/Smarandache-prime-digital-sequence
@@ -0,0 +1 @@
+../../Task/Smarandache-prime-digital-sequence/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sockets b/Lang/Pluto/Sockets
new file mode 120000
index 0000000000..50dbde578c
--- /dev/null
+++ b/Lang/Pluto/Sockets
@@ -0,0 +1 @@
+../../Task/Sockets/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sokoban b/Lang/Pluto/Sokoban
new file mode 120000
index 0000000000..542f29a2fd
--- /dev/null
+++ b/Lang/Pluto/Sokoban
@@ -0,0 +1 @@
+../../Task/Sokoban/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Soloways-recurring-rainfall b/Lang/Pluto/Soloways-recurring-rainfall
new file mode 120000
index 0000000000..3292890eaf
--- /dev/null
+++ b/Lang/Pluto/Soloways-recurring-rainfall
@@ -0,0 +1 @@
+../../Task/Soloways-recurring-rainfall/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Solve-a-Numbrix-puzzle b/Lang/Pluto/Solve-a-Numbrix-puzzle
new file mode 120000
index 0000000000..a0c76a1703
--- /dev/null
+++ b/Lang/Pluto/Solve-a-Numbrix-puzzle
@@ -0,0 +1 @@
+../../Task/Solve-a-Numbrix-puzzle/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sort-a-list-of-object-identifiers b/Lang/Pluto/Sort-a-list-of-object-identifiers
new file mode 120000
index 0000000000..243d019eeb
--- /dev/null
+++ b/Lang/Pluto/Sort-a-list-of-object-identifiers
@@ -0,0 +1 @@
+../../Task/Sort-a-list-of-object-identifiers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sort-an-array-of-composite-structures b/Lang/Pluto/Sort-an-array-of-composite-structures
new file mode 120000
index 0000000000..11ca6daaca
--- /dev/null
+++ b/Lang/Pluto/Sort-an-array-of-composite-structures
@@ -0,0 +1 @@
+../../Task/Sort-an-array-of-composite-structures/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sort-an-integer-array b/Lang/Pluto/Sort-an-integer-array
new file mode 120000
index 0000000000..43fcfc8222
--- /dev/null
+++ b/Lang/Pluto/Sort-an-integer-array
@@ -0,0 +1 @@
+../../Task/Sort-an-integer-array/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sort-disjoint-sublist b/Lang/Pluto/Sort-disjoint-sublist
new file mode 120000
index 0000000000..43eaf99d0d
--- /dev/null
+++ b/Lang/Pluto/Sort-disjoint-sublist
@@ -0,0 +1 @@
+../../Task/Sort-disjoint-sublist/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sort-numbers-lexicographically b/Lang/Pluto/Sort-numbers-lexicographically
new file mode 120000
index 0000000000..e54ac23b46
--- /dev/null
+++ b/Lang/Pluto/Sort-numbers-lexicographically
@@ -0,0 +1 @@
+../../Task/Sort-numbers-lexicographically/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sort-using-a-custom-comparator b/Lang/Pluto/Sort-using-a-custom-comparator
new file mode 120000
index 0000000000..017bd9f879
--- /dev/null
+++ b/Lang/Pluto/Sort-using-a-custom-comparator
@@ -0,0 +1 @@
+../../Task/Sort-using-a-custom-comparator/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sorting-algorithms-Bead-sort b/Lang/Pluto/Sorting-algorithms-Bead-sort
new file mode 120000
index 0000000000..732611b770
--- /dev/null
+++ b/Lang/Pluto/Sorting-algorithms-Bead-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Bead-sort/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sorting-algorithms-Bogosort b/Lang/Pluto/Sorting-algorithms-Bogosort
new file mode 120000
index 0000000000..2902c3ee3a
--- /dev/null
+++ b/Lang/Pluto/Sorting-algorithms-Bogosort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Bogosort/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sorting-algorithms-Bubble-sort b/Lang/Pluto/Sorting-algorithms-Bubble-sort
new file mode 120000
index 0000000000..c4cdca7c13
--- /dev/null
+++ b/Lang/Pluto/Sorting-algorithms-Bubble-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Bubble-sort/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sorting-algorithms-Cocktail-sort b/Lang/Pluto/Sorting-algorithms-Cocktail-sort
new file mode 120000
index 0000000000..468360189f
--- /dev/null
+++ b/Lang/Pluto/Sorting-algorithms-Cocktail-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Cocktail-sort/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sorting-algorithms-Cocktail-sort-with-shifting-bounds b/Lang/Pluto/Sorting-algorithms-Cocktail-sort-with-shifting-bounds
new file mode 120000
index 0000000000..c01e910e78
--- /dev/null
+++ b/Lang/Pluto/Sorting-algorithms-Cocktail-sort-with-shifting-bounds
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Cocktail-sort-with-shifting-bounds/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sorting-algorithms-Comb-sort b/Lang/Pluto/Sorting-algorithms-Comb-sort
new file mode 120000
index 0000000000..b6f9e143fc
--- /dev/null
+++ b/Lang/Pluto/Sorting-algorithms-Comb-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Comb-sort/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sorting-algorithms-Counting-sort b/Lang/Pluto/Sorting-algorithms-Counting-sort
new file mode 120000
index 0000000000..d4c1acd3d5
--- /dev/null
+++ b/Lang/Pluto/Sorting-algorithms-Counting-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Counting-sort/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sorting-algorithms-Gnome-sort b/Lang/Pluto/Sorting-algorithms-Gnome-sort
new file mode 120000
index 0000000000..77a2f09b42
--- /dev/null
+++ b/Lang/Pluto/Sorting-algorithms-Gnome-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Gnome-sort/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sorting-algorithms-Heapsort b/Lang/Pluto/Sorting-algorithms-Heapsort
new file mode 120000
index 0000000000..4be9369490
--- /dev/null
+++ b/Lang/Pluto/Sorting-algorithms-Heapsort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Heapsort/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sorting-algorithms-Insertion-sort b/Lang/Pluto/Sorting-algorithms-Insertion-sort
new file mode 120000
index 0000000000..2f3123eb14
--- /dev/null
+++ b/Lang/Pluto/Sorting-algorithms-Insertion-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Insertion-sort/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sorting-algorithms-Merge-sort b/Lang/Pluto/Sorting-algorithms-Merge-sort
new file mode 120000
index 0000000000..e46aac85a3
--- /dev/null
+++ b/Lang/Pluto/Sorting-algorithms-Merge-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Merge-sort/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sorting-algorithms-Pancake-sort b/Lang/Pluto/Sorting-algorithms-Pancake-sort
new file mode 120000
index 0000000000..857f218dec
--- /dev/null
+++ b/Lang/Pluto/Sorting-algorithms-Pancake-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Pancake-sort/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sorting-algorithms-Patience-sort b/Lang/Pluto/Sorting-algorithms-Patience-sort
new file mode 120000
index 0000000000..bf8f7e3856
--- /dev/null
+++ b/Lang/Pluto/Sorting-algorithms-Patience-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Patience-sort/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sorting-algorithms-Permutation-sort b/Lang/Pluto/Sorting-algorithms-Permutation-sort
new file mode 120000
index 0000000000..a892e63103
--- /dev/null
+++ b/Lang/Pluto/Sorting-algorithms-Permutation-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Permutation-sort/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sorting-algorithms-Quicksort b/Lang/Pluto/Sorting-algorithms-Quicksort
new file mode 120000
index 0000000000..dcb1016c3c
--- /dev/null
+++ b/Lang/Pluto/Sorting-algorithms-Quicksort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Quicksort/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sorting-algorithms-Radix-sort b/Lang/Pluto/Sorting-algorithms-Radix-sort
new file mode 120000
index 0000000000..2aa1cd2582
--- /dev/null
+++ b/Lang/Pluto/Sorting-algorithms-Radix-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Radix-sort/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sorting-algorithms-Selection-sort b/Lang/Pluto/Sorting-algorithms-Selection-sort
new file mode 120000
index 0000000000..7993c7d392
--- /dev/null
+++ b/Lang/Pluto/Sorting-algorithms-Selection-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Selection-sort/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sorting-algorithms-Shell-sort b/Lang/Pluto/Sorting-algorithms-Shell-sort
new file mode 120000
index 0000000000..aa83ab75ed
--- /dev/null
+++ b/Lang/Pluto/Sorting-algorithms-Shell-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Shell-sort/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sorting-algorithms-Sleep-sort b/Lang/Pluto/Sorting-algorithms-Sleep-sort
new file mode 120000
index 0000000000..2b4156ef57
--- /dev/null
+++ b/Lang/Pluto/Sorting-algorithms-Sleep-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Sleep-sort/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sorting-algorithms-Stooge-sort b/Lang/Pluto/Sorting-algorithms-Stooge-sort
new file mode 120000
index 0000000000..adcd800531
--- /dev/null
+++ b/Lang/Pluto/Sorting-algorithms-Stooge-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Stooge-sort/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sorting-algorithms-Strand-sort b/Lang/Pluto/Sorting-algorithms-Strand-sort
new file mode 120000
index 0000000000..a3576da55b
--- /dev/null
+++ b/Lang/Pluto/Sorting-algorithms-Strand-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Strand-sort/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sparkline-in-unicode b/Lang/Pluto/Sparkline-in-unicode
new file mode 120000
index 0000000000..d4375bf194
--- /dev/null
+++ b/Lang/Pluto/Sparkline-in-unicode
@@ -0,0 +1 @@
+../../Task/Sparkline-in-unicode/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Spelling-of-ordinal-numbers b/Lang/Pluto/Spelling-of-ordinal-numbers
new file mode 120000
index 0000000000..707c9a5de7
--- /dev/null
+++ b/Lang/Pluto/Spelling-of-ordinal-numbers
@@ -0,0 +1 @@
+../../Task/Spelling-of-ordinal-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Spiral-matrix b/Lang/Pluto/Spiral-matrix
new file mode 120000
index 0000000000..ab63b333d6
--- /dev/null
+++ b/Lang/Pluto/Spiral-matrix
@@ -0,0 +1 @@
+../../Task/Spiral-matrix/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Square-but-not-cube b/Lang/Pluto/Square-but-not-cube
new file mode 120000
index 0000000000..93ef364cf3
--- /dev/null
+++ b/Lang/Pluto/Square-but-not-cube
@@ -0,0 +1 @@
+../../Task/Square-but-not-cube/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Square-free-integers b/Lang/Pluto/Square-free-integers
new file mode 120000
index 0000000000..bd620174b2
--- /dev/null
+++ b/Lang/Pluto/Square-free-integers
@@ -0,0 +1 @@
+../../Task/Square-free-integers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Stack b/Lang/Pluto/Stack
new file mode 120000
index 0000000000..b73a91dd58
--- /dev/null
+++ b/Lang/Pluto/Stack
@@ -0,0 +1 @@
+../../Task/Stack/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Start-from-a-main-routine b/Lang/Pluto/Start-from-a-main-routine
new file mode 120000
index 0000000000..cbf12fbc14
--- /dev/null
+++ b/Lang/Pluto/Start-from-a-main-routine
@@ -0,0 +1 @@
+../../Task/Start-from-a-main-routine/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Statistics-Basic b/Lang/Pluto/Statistics-Basic
new file mode 120000
index 0000000000..4f94a6e6d7
--- /dev/null
+++ b/Lang/Pluto/Statistics-Basic
@@ -0,0 +1 @@
+../../Task/Statistics-Basic/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Statistics-Normal-distribution b/Lang/Pluto/Statistics-Normal-distribution
new file mode 120000
index 0000000000..bc2d3ac3d4
--- /dev/null
+++ b/Lang/Pluto/Statistics-Normal-distribution
@@ -0,0 +1 @@
+../../Task/Statistics-Normal-distribution/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Stem-and-leaf-plot b/Lang/Pluto/Stem-and-leaf-plot
new file mode 120000
index 0000000000..cc3ba5ca9e
--- /dev/null
+++ b/Lang/Pluto/Stem-and-leaf-plot
@@ -0,0 +1 @@
+../../Task/Stem-and-leaf-plot/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Stirling-numbers-of-the-first-kind b/Lang/Pluto/Stirling-numbers-of-the-first-kind
new file mode 120000
index 0000000000..0c81546d18
--- /dev/null
+++ b/Lang/Pluto/Stirling-numbers-of-the-first-kind
@@ -0,0 +1 @@
+../../Task/Stirling-numbers-of-the-first-kind/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Stirling-numbers-of-the-second-kind b/Lang/Pluto/Stirling-numbers-of-the-second-kind
new file mode 120000
index 0000000000..05d2a235b3
--- /dev/null
+++ b/Lang/Pluto/Stirling-numbers-of-the-second-kind
@@ -0,0 +1 @@
+../../Task/Stirling-numbers-of-the-second-kind/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Straddling-checkerboard b/Lang/Pluto/Straddling-checkerboard
new file mode 120000
index 0000000000..d74538b05d
--- /dev/null
+++ b/Lang/Pluto/Straddling-checkerboard
@@ -0,0 +1 @@
+../../Task/Straddling-checkerboard/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Strassens-algorithm b/Lang/Pluto/Strassens-algorithm
new file mode 120000
index 0000000000..79ee4e726f
--- /dev/null
+++ b/Lang/Pluto/Strassens-algorithm
@@ -0,0 +1 @@
+../../Task/Strassens-algorithm/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/String-append b/Lang/Pluto/String-append
new file mode 120000
index 0000000000..e24995b130
--- /dev/null
+++ b/Lang/Pluto/String-append
@@ -0,0 +1 @@
+../../Task/String-append/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/String-interpolation-included- b/Lang/Pluto/String-interpolation-included-
new file mode 120000
index 0000000000..7953b3790b
--- /dev/null
+++ b/Lang/Pluto/String-interpolation-included-
@@ -0,0 +1 @@
+../../Task/String-interpolation-included-/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/String-length b/Lang/Pluto/String-length
new file mode 120000
index 0000000000..9313ae7886
--- /dev/null
+++ b/Lang/Pluto/String-length
@@ -0,0 +1 @@
+../../Task/String-length/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/String-matching b/Lang/Pluto/String-matching
new file mode 120000
index 0000000000..422a3c7f0c
--- /dev/null
+++ b/Lang/Pluto/String-matching
@@ -0,0 +1 @@
+../../Task/String-matching/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/String-prepend b/Lang/Pluto/String-prepend
new file mode 120000
index 0000000000..84229275c1
--- /dev/null
+++ b/Lang/Pluto/String-prepend
@@ -0,0 +1 @@
+../../Task/String-prepend/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Strip-a-set-of-characters-from-a-string b/Lang/Pluto/Strip-a-set-of-characters-from-a-string
new file mode 120000
index 0000000000..805462a850
--- /dev/null
+++ b/Lang/Pluto/Strip-a-set-of-characters-from-a-string
@@ -0,0 +1 @@
+../../Task/Strip-a-set-of-characters-from-a-string/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Strip-whitespace-from-a-string-Top-and-tail b/Lang/Pluto/Strip-whitespace-from-a-string-Top-and-tail
new file mode 120000
index 0000000000..f8b3fd3947
--- /dev/null
+++ b/Lang/Pluto/Strip-whitespace-from-a-string-Top-and-tail
@@ -0,0 +1 @@
+../../Task/Strip-whitespace-from-a-string-Top-and-tail/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Subleq b/Lang/Pluto/Subleq
new file mode 120000
index 0000000000..100b00d22e
--- /dev/null
+++ b/Lang/Pluto/Subleq
@@ -0,0 +1 @@
+../../Task/Subleq/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Substring b/Lang/Pluto/Substring
new file mode 120000
index 0000000000..830ca3e467
--- /dev/null
+++ b/Lang/Pluto/Substring
@@ -0,0 +1 @@
+../../Task/Substring/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Substring-Top-and-tail b/Lang/Pluto/Substring-Top-and-tail
new file mode 120000
index 0000000000..ac12380468
--- /dev/null
+++ b/Lang/Pluto/Substring-Top-and-tail
@@ -0,0 +1 @@
+../../Task/Substring-Top-and-tail/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Successive-prime-differences b/Lang/Pluto/Successive-prime-differences
new file mode 120000
index 0000000000..17a80e33ef
--- /dev/null
+++ b/Lang/Pluto/Successive-prime-differences
@@ -0,0 +1 @@
+../../Task/Successive-prime-differences/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sudan-function b/Lang/Pluto/Sudan-function
new file mode 120000
index 0000000000..18faadc2cc
--- /dev/null
+++ b/Lang/Pluto/Sudan-function
@@ -0,0 +1 @@
+../../Task/Sudan-function/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sudoku b/Lang/Pluto/Sudoku
new file mode 120000
index 0000000000..0219f968ec
--- /dev/null
+++ b/Lang/Pluto/Sudoku
@@ -0,0 +1 @@
+../../Task/Sudoku/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Suffixation-of-decimal-numbers b/Lang/Pluto/Suffixation-of-decimal-numbers
new file mode 120000
index 0000000000..c7008ba8db
--- /dev/null
+++ b/Lang/Pluto/Suffixation-of-decimal-numbers
@@ -0,0 +1 @@
+../../Task/Suffixation-of-decimal-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sum-and-product-of-an-array b/Lang/Pluto/Sum-and-product-of-an-array
new file mode 120000
index 0000000000..de37da7c3f
--- /dev/null
+++ b/Lang/Pluto/Sum-and-product-of-an-array
@@ -0,0 +1 @@
+../../Task/Sum-and-product-of-an-array/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sum-and-product-puzzle b/Lang/Pluto/Sum-and-product-puzzle
new file mode 120000
index 0000000000..b5887c9a13
--- /dev/null
+++ b/Lang/Pluto/Sum-and-product-puzzle
@@ -0,0 +1 @@
+../../Task/Sum-and-product-puzzle/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sum-digits-of-an-integer b/Lang/Pluto/Sum-digits-of-an-integer
new file mode 120000
index 0000000000..0c6a6782ed
--- /dev/null
+++ b/Lang/Pluto/Sum-digits-of-an-integer
@@ -0,0 +1 @@
+../../Task/Sum-digits-of-an-integer/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sum-multiples-of-3-and-5 b/Lang/Pluto/Sum-multiples-of-3-and-5
new file mode 120000
index 0000000000..7476a45c41
--- /dev/null
+++ b/Lang/Pluto/Sum-multiples-of-3-and-5
@@ -0,0 +1 @@
+../../Task/Sum-multiples-of-3-and-5/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sum-of-elements-below-main-diagonal-of-matrix b/Lang/Pluto/Sum-of-elements-below-main-diagonal-of-matrix
new file mode 120000
index 0000000000..45a9f51475
--- /dev/null
+++ b/Lang/Pluto/Sum-of-elements-below-main-diagonal-of-matrix
@@ -0,0 +1 @@
+../../Task/Sum-of-elements-below-main-diagonal-of-matrix/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Summarize-and-say-sequence b/Lang/Pluto/Summarize-and-say-sequence
new file mode 120000
index 0000000000..fc93ce6bcc
--- /dev/null
+++ b/Lang/Pluto/Summarize-and-say-sequence
@@ -0,0 +1 @@
+../../Task/Summarize-and-say-sequence/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Summarize-primes b/Lang/Pluto/Summarize-primes
new file mode 120000
index 0000000000..ecbdeed375
--- /dev/null
+++ b/Lang/Pluto/Summarize-primes
@@ -0,0 +1 @@
+../../Task/Summarize-primes/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Super-d-numbers b/Lang/Pluto/Super-d-numbers
new file mode 120000
index 0000000000..f56d2824e5
--- /dev/null
+++ b/Lang/Pluto/Super-d-numbers
@@ -0,0 +1 @@
+../../Task/Super-d-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Superellipse b/Lang/Pluto/Superellipse
new file mode 120000
index 0000000000..71cba61449
--- /dev/null
+++ b/Lang/Pluto/Superellipse
@@ -0,0 +1 @@
+../../Task/Superellipse/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Sylvesters-sequence b/Lang/Pluto/Sylvesters-sequence
new file mode 120000
index 0000000000..27749333cd
--- /dev/null
+++ b/Lang/Pluto/Sylvesters-sequence
@@ -0,0 +1 @@
+../../Task/Sylvesters-sequence/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Symmetric-difference b/Lang/Pluto/Symmetric-difference
new file mode 120000
index 0000000000..09ce1d13b8
--- /dev/null
+++ b/Lang/Pluto/Symmetric-difference
@@ -0,0 +1 @@
+../../Task/Symmetric-difference/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Synchronous-concurrency b/Lang/Pluto/Synchronous-concurrency
new file mode 120000
index 0000000000..4eb3a63418
--- /dev/null
+++ b/Lang/Pluto/Synchronous-concurrency
@@ -0,0 +1 @@
+../../Task/Synchronous-concurrency/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/System-time b/Lang/Pluto/System-time
new file mode 120000
index 0000000000..8575dc8b3a
--- /dev/null
+++ b/Lang/Pluto/System-time
@@ -0,0 +1 @@
+../../Task/System-time/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Tau-function b/Lang/Pluto/Tau-function
new file mode 120000
index 0000000000..03b50006f6
--- /dev/null
+++ b/Lang/Pluto/Tau-function
@@ -0,0 +1 @@
+../../Task/Tau-function/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Tau-number b/Lang/Pluto/Tau-number
new file mode 120000
index 0000000000..532021c510
--- /dev/null
+++ b/Lang/Pluto/Tau-number
@@ -0,0 +1 @@
+../../Task/Tau-number/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Temperature-conversion b/Lang/Pluto/Temperature-conversion
new file mode 120000
index 0000000000..dfda68998c
--- /dev/null
+++ b/Lang/Pluto/Temperature-conversion
@@ -0,0 +1 @@
+../../Task/Temperature-conversion/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Terminal-control-Clear-the-screen b/Lang/Pluto/Terminal-control-Clear-the-screen
new file mode 120000
index 0000000000..edabc9ce73
--- /dev/null
+++ b/Lang/Pluto/Terminal-control-Clear-the-screen
@@ -0,0 +1 @@
+../../Task/Terminal-control-Clear-the-screen/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Terminal-control-Coloured-text b/Lang/Pluto/Terminal-control-Coloured-text
new file mode 120000
index 0000000000..378909157d
--- /dev/null
+++ b/Lang/Pluto/Terminal-control-Coloured-text
@@ -0,0 +1 @@
+../../Task/Terminal-control-Coloured-text/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Terminal-control-Cursor-movement b/Lang/Pluto/Terminal-control-Cursor-movement
new file mode 120000
index 0000000000..bf8c8572a2
--- /dev/null
+++ b/Lang/Pluto/Terminal-control-Cursor-movement
@@ -0,0 +1 @@
+../../Task/Terminal-control-Cursor-movement/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Terminal-control-Cursor-positioning b/Lang/Pluto/Terminal-control-Cursor-positioning
new file mode 120000
index 0000000000..feeca5cd4b
--- /dev/null
+++ b/Lang/Pluto/Terminal-control-Cursor-positioning
@@ -0,0 +1 @@
+../../Task/Terminal-control-Cursor-positioning/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Terminal-control-Dimensions b/Lang/Pluto/Terminal-control-Dimensions
new file mode 120000
index 0000000000..79b01b1a8a
--- /dev/null
+++ b/Lang/Pluto/Terminal-control-Dimensions
@@ -0,0 +1 @@
+../../Task/Terminal-control-Dimensions/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Terminal-control-Display-an-extended-character b/Lang/Pluto/Terminal-control-Display-an-extended-character
new file mode 120000
index 0000000000..d9f4ec60f5
--- /dev/null
+++ b/Lang/Pluto/Terminal-control-Display-an-extended-character
@@ -0,0 +1 @@
+../../Task/Terminal-control-Display-an-extended-character/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Terminal-control-Hiding-the-cursor b/Lang/Pluto/Terminal-control-Hiding-the-cursor
new file mode 120000
index 0000000000..5126fbbc31
--- /dev/null
+++ b/Lang/Pluto/Terminal-control-Hiding-the-cursor
@@ -0,0 +1 @@
+../../Task/Terminal-control-Hiding-the-cursor/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Terminal-control-Inverse-video b/Lang/Pluto/Terminal-control-Inverse-video
new file mode 120000
index 0000000000..a011de6856
--- /dev/null
+++ b/Lang/Pluto/Terminal-control-Inverse-video
@@ -0,0 +1 @@
+../../Task/Terminal-control-Inverse-video/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Terminal-control-Preserve-screen b/Lang/Pluto/Terminal-control-Preserve-screen
new file mode 120000
index 0000000000..4985e385ae
--- /dev/null
+++ b/Lang/Pluto/Terminal-control-Preserve-screen
@@ -0,0 +1 @@
+../../Task/Terminal-control-Preserve-screen/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Terminal-control-Ringing-the-terminal-bell b/Lang/Pluto/Terminal-control-Ringing-the-terminal-bell
new file mode 120000
index 0000000000..c14ff1f9fd
--- /dev/null
+++ b/Lang/Pluto/Terminal-control-Ringing-the-terminal-bell
@@ -0,0 +1 @@
+../../Task/Terminal-control-Ringing-the-terminal-bell/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Terminal-control-Unicode-output b/Lang/Pluto/Terminal-control-Unicode-output
new file mode 120000
index 0000000000..c67e68f15d
--- /dev/null
+++ b/Lang/Pluto/Terminal-control-Unicode-output
@@ -0,0 +1 @@
+../../Task/Terminal-control-Unicode-output/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Ternary-logic b/Lang/Pluto/Ternary-logic
new file mode 120000
index 0000000000..ca522a2f56
--- /dev/null
+++ b/Lang/Pluto/Ternary-logic
@@ -0,0 +1 @@
+../../Task/Ternary-logic/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Test-integerness b/Lang/Pluto/Test-integerness
new file mode 120000
index 0000000000..9a3717f805
--- /dev/null
+++ b/Lang/Pluto/Test-integerness
@@ -0,0 +1 @@
+../../Task/Test-integerness/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Textonyms b/Lang/Pluto/Textonyms
new file mode 120000
index 0000000000..4c3ea903b1
--- /dev/null
+++ b/Lang/Pluto/Textonyms
@@ -0,0 +1 @@
+../../Task/Textonyms/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/The-Name-Game b/Lang/Pluto/The-Name-Game
new file mode 120000
index 0000000000..de7bc541a3
--- /dev/null
+++ b/Lang/Pluto/The-Name-Game
@@ -0,0 +1 @@
+../../Task/The-Name-Game/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/The-Twelve-Days-of-Christmas b/Lang/Pluto/The-Twelve-Days-of-Christmas
new file mode 120000
index 0000000000..0c2a346005
--- /dev/null
+++ b/Lang/Pluto/The-Twelve-Days-of-Christmas
@@ -0,0 +1 @@
+../../Task/The-Twelve-Days-of-Christmas/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/The-sieve-of-Sundaram b/Lang/Pluto/The-sieve-of-Sundaram
new file mode 120000
index 0000000000..bf60d24d46
--- /dev/null
+++ b/Lang/Pluto/The-sieve-of-Sundaram
@@ -0,0 +1 @@
+../../Task/The-sieve-of-Sundaram/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Thue-Morse b/Lang/Pluto/Thue-Morse
new file mode 120000
index 0000000000..b1a06a67e8
--- /dev/null
+++ b/Lang/Pluto/Thue-Morse
@@ -0,0 +1 @@
+../../Task/Thue-Morse/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Time-a-function b/Lang/Pluto/Time-a-function
new file mode 120000
index 0000000000..1ca7d0a7b7
--- /dev/null
+++ b/Lang/Pluto/Time-a-function
@@ -0,0 +1 @@
+../../Task/Time-a-function/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Tokenize-a-string-with-escaping b/Lang/Pluto/Tokenize-a-string-with-escaping
new file mode 120000
index 0000000000..ba51452013
--- /dev/null
+++ b/Lang/Pluto/Tokenize-a-string-with-escaping
@@ -0,0 +1 @@
+../../Task/Tokenize-a-string-with-escaping/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Top-rank-per-group b/Lang/Pluto/Top-rank-per-group
new file mode 120000
index 0000000000..c27cb54f5d
--- /dev/null
+++ b/Lang/Pluto/Top-rank-per-group
@@ -0,0 +1 @@
+../../Task/Top-rank-per-group/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Total-circles-area b/Lang/Pluto/Total-circles-area
new file mode 120000
index 0000000000..2f856ad28d
--- /dev/null
+++ b/Lang/Pluto/Total-circles-area
@@ -0,0 +1 @@
+../../Task/Total-circles-area/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Totient-function b/Lang/Pluto/Totient-function
new file mode 120000
index 0000000000..73b5eb6381
--- /dev/null
+++ b/Lang/Pluto/Totient-function
@@ -0,0 +1 @@
+../../Task/Totient-function/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Towers-of-Hanoi b/Lang/Pluto/Towers-of-Hanoi
new file mode 120000
index 0000000000..9b1428dcf0
--- /dev/null
+++ b/Lang/Pluto/Towers-of-Hanoi
@@ -0,0 +1 @@
+../../Task/Towers-of-Hanoi/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Trabb-Pardo-Knuth-algorithm b/Lang/Pluto/Trabb-Pardo-Knuth-algorithm
new file mode 120000
index 0000000000..e85f9f54de
--- /dev/null
+++ b/Lang/Pluto/Trabb-Pardo-Knuth-algorithm
@@ -0,0 +1 @@
+../../Task/Trabb-Pardo-Knuth-algorithm/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Transliterate-English-text-using-the-Greek-alphabet b/Lang/Pluto/Transliterate-English-text-using-the-Greek-alphabet
new file mode 120000
index 0000000000..329d1e52f1
--- /dev/null
+++ b/Lang/Pluto/Transliterate-English-text-using-the-Greek-alphabet
@@ -0,0 +1 @@
+../../Task/Transliterate-English-text-using-the-Greek-alphabet/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Trigonometric-functions b/Lang/Pluto/Trigonometric-functions
new file mode 120000
index 0000000000..8bcbebbd97
--- /dev/null
+++ b/Lang/Pluto/Trigonometric-functions
@@ -0,0 +1 @@
+../../Task/Trigonometric-functions/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Truncatable-primes b/Lang/Pluto/Truncatable-primes
new file mode 120000
index 0000000000..e57c3ab40f
--- /dev/null
+++ b/Lang/Pluto/Truncatable-primes
@@ -0,0 +1 @@
+../../Task/Truncatable-primes/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Truncate-a-file b/Lang/Pluto/Truncate-a-file
new file mode 120000
index 0000000000..f472b828c2
--- /dev/null
+++ b/Lang/Pluto/Truncate-a-file
@@ -0,0 +1 @@
+../../Task/Truncate-a-file/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Truth-table b/Lang/Pluto/Truth-table
new file mode 120000
index 0000000000..e15e65e09d
--- /dev/null
+++ b/Lang/Pluto/Truth-table
@@ -0,0 +1 @@
+../../Task/Truth-table/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Twelve-statements b/Lang/Pluto/Twelve-statements
new file mode 120000
index 0000000000..f003bdd498
--- /dev/null
+++ b/Lang/Pluto/Twelve-statements
@@ -0,0 +1 @@
+../../Task/Twelve-statements/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Twos-complement b/Lang/Pluto/Twos-complement
new file mode 120000
index 0000000000..5830145b21
--- /dev/null
+++ b/Lang/Pluto/Twos-complement
@@ -0,0 +1 @@
+../../Task/Twos-complement/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/UPC b/Lang/Pluto/UPC
new file mode 120000
index 0000000000..477e69b6c6
--- /dev/null
+++ b/Lang/Pluto/UPC
@@ -0,0 +1 @@
+../../Task/UPC/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Ultra-useful-primes b/Lang/Pluto/Ultra-useful-primes
new file mode 120000
index 0000000000..5db52360c1
--- /dev/null
+++ b/Lang/Pluto/Ultra-useful-primes
@@ -0,0 +1 @@
+../../Task/Ultra-useful-primes/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Unbias-a-random-generator b/Lang/Pluto/Unbias-a-random-generator
new file mode 120000
index 0000000000..14b505ac5e
--- /dev/null
+++ b/Lang/Pluto/Unbias-a-random-generator
@@ -0,0 +1 @@
+../../Task/Unbias-a-random-generator/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Unicode-strings b/Lang/Pluto/Unicode-strings
new file mode 120000
index 0000000000..482c486148
--- /dev/null
+++ b/Lang/Pluto/Unicode-strings
@@ -0,0 +1 @@
+../../Task/Unicode-strings/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Unprimeable-numbers b/Lang/Pluto/Unprimeable-numbers
new file mode 120000
index 0000000000..ec55975821
--- /dev/null
+++ b/Lang/Pluto/Unprimeable-numbers
@@ -0,0 +1 @@
+../../Task/Unprimeable-numbers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/User-input-Text b/Lang/Pluto/User-input-Text
new file mode 120000
index 0000000000..6c3afd2860
--- /dev/null
+++ b/Lang/Pluto/User-input-Text
@@ -0,0 +1 @@
+../../Task/User-input-Text/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Vampire-number b/Lang/Pluto/Vampire-number
new file mode 120000
index 0000000000..39b76c4ae2
--- /dev/null
+++ b/Lang/Pluto/Vampire-number
@@ -0,0 +1 @@
+../../Task/Vampire-number/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Van-Eck-sequence b/Lang/Pluto/Van-Eck-sequence
new file mode 120000
index 0000000000..d053bbc892
--- /dev/null
+++ b/Lang/Pluto/Van-Eck-sequence
@@ -0,0 +1 @@
+../../Task/Van-Eck-sequence/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Van-der-Corput-sequence b/Lang/Pluto/Van-der-Corput-sequence
new file mode 120000
index 0000000000..e6ce56ddef
--- /dev/null
+++ b/Lang/Pluto/Van-der-Corput-sequence
@@ -0,0 +1 @@
+../../Task/Van-der-Corput-sequence/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Variable-declaration-reset b/Lang/Pluto/Variable-declaration-reset
new file mode 120000
index 0000000000..26738839ca
--- /dev/null
+++ b/Lang/Pluto/Variable-declaration-reset
@@ -0,0 +1 @@
+../../Task/Variable-declaration-reset/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Variable-length-quantity b/Lang/Pluto/Variable-length-quantity
new file mode 120000
index 0000000000..3f78793bbd
--- /dev/null
+++ b/Lang/Pluto/Variable-length-quantity
@@ -0,0 +1 @@
+../../Task/Variable-length-quantity/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Variadic-function b/Lang/Pluto/Variadic-function
new file mode 120000
index 0000000000..8d2be144f4
--- /dev/null
+++ b/Lang/Pluto/Variadic-function
@@ -0,0 +1 @@
+../../Task/Variadic-function/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Vector b/Lang/Pluto/Vector
new file mode 120000
index 0000000000..fd56d6c8ab
--- /dev/null
+++ b/Lang/Pluto/Vector
@@ -0,0 +1 @@
+../../Task/Vector/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Vector-products b/Lang/Pluto/Vector-products
new file mode 120000
index 0000000000..83a09bc1a3
--- /dev/null
+++ b/Lang/Pluto/Vector-products
@@ -0,0 +1 @@
+../../Task/Vector-products/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Verhoeff-algorithm b/Lang/Pluto/Verhoeff-algorithm
new file mode 120000
index 0000000000..1b001cd3c1
--- /dev/null
+++ b/Lang/Pluto/Verhoeff-algorithm
@@ -0,0 +1 @@
+../../Task/Verhoeff-algorithm/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Voronoi-diagram b/Lang/Pluto/Voronoi-diagram
new file mode 120000
index 0000000000..50678561e7
--- /dev/null
+++ b/Lang/Pluto/Voronoi-diagram
@@ -0,0 +1 @@
+../../Task/Voronoi-diagram/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Wagstaff-primes b/Lang/Pluto/Wagstaff-primes
new file mode 120000
index 0000000000..d8a1a2f0da
--- /dev/null
+++ b/Lang/Pluto/Wagstaff-primes
@@ -0,0 +1 @@
+../../Task/Wagstaff-primes/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Water-collected-between-towers b/Lang/Pluto/Water-collected-between-towers
new file mode 120000
index 0000000000..94e32bc8f3
--- /dev/null
+++ b/Lang/Pluto/Water-collected-between-towers
@@ -0,0 +1 @@
+../../Task/Water-collected-between-towers/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Wieferich-primes b/Lang/Pluto/Wieferich-primes
new file mode 120000
index 0000000000..453231fbab
--- /dev/null
+++ b/Lang/Pluto/Wieferich-primes
@@ -0,0 +1 @@
+../../Task/Wieferich-primes/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Wilson-primes-of-order-n b/Lang/Pluto/Wilson-primes-of-order-n
new file mode 120000
index 0000000000..9bafdd051b
--- /dev/null
+++ b/Lang/Pluto/Wilson-primes-of-order-n
@@ -0,0 +1 @@
+../../Task/Wilson-primes-of-order-n/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Wireworld b/Lang/Pluto/Wireworld
new file mode 120000
index 0000000000..1eed665c2c
--- /dev/null
+++ b/Lang/Pluto/Wireworld
@@ -0,0 +1 @@
+../../Task/Wireworld/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Word-wheel b/Lang/Pluto/Word-wheel
new file mode 120000
index 0000000000..c83ad2ab7f
--- /dev/null
+++ b/Lang/Pluto/Word-wheel
@@ -0,0 +1 @@
+../../Task/Word-wheel/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/World-Cup-group-stage b/Lang/Pluto/World-Cup-group-stage
new file mode 120000
index 0000000000..1c8f3e8b53
--- /dev/null
+++ b/Lang/Pluto/World-Cup-group-stage
@@ -0,0 +1 @@
+../../Task/World-Cup-group-stage/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Write-entire-file b/Lang/Pluto/Write-entire-file
new file mode 120000
index 0000000000..be63715e40
--- /dev/null
+++ b/Lang/Pluto/Write-entire-file
@@ -0,0 +1 @@
+../../Task/Write-entire-file/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Write-float-arrays-to-a-text-file b/Lang/Pluto/Write-float-arrays-to-a-text-file
new file mode 120000
index 0000000000..eaa4582b34
--- /dev/null
+++ b/Lang/Pluto/Write-float-arrays-to-a-text-file
@@ -0,0 +1 @@
+../../Task/Write-float-arrays-to-a-text-file/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Write-language-name-in-3D-ASCII b/Lang/Pluto/Write-language-name-in-3D-ASCII
new file mode 120000
index 0000000000..54358f8cdd
--- /dev/null
+++ b/Lang/Pluto/Write-language-name-in-3D-ASCII
@@ -0,0 +1 @@
+../../Task/Write-language-name-in-3D-ASCII/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Y-combinator b/Lang/Pluto/Y-combinator
new file mode 120000
index 0000000000..b356912f44
--- /dev/null
+++ b/Lang/Pluto/Y-combinator
@@ -0,0 +1 @@
+../../Task/Y-combinator/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Yellowstone-sequence b/Lang/Pluto/Yellowstone-sequence
new file mode 120000
index 0000000000..f4fb013414
--- /dev/null
+++ b/Lang/Pluto/Yellowstone-sequence
@@ -0,0 +1 @@
+../../Task/Yellowstone-sequence/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Zebra-puzzle b/Lang/Pluto/Zebra-puzzle
new file mode 120000
index 0000000000..d1dee531e9
--- /dev/null
+++ b/Lang/Pluto/Zebra-puzzle
@@ -0,0 +1 @@
+../../Task/Zebra-puzzle/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Zeckendorf-number-representation b/Lang/Pluto/Zeckendorf-number-representation
new file mode 120000
index 0000000000..6f7ac19b32
--- /dev/null
+++ b/Lang/Pluto/Zeckendorf-number-representation
@@ -0,0 +1 @@
+../../Task/Zeckendorf-number-representation/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Zero-to-the-zero-power b/Lang/Pluto/Zero-to-the-zero-power
new file mode 120000
index 0000000000..88cbcf1376
--- /dev/null
+++ b/Lang/Pluto/Zero-to-the-zero-power
@@ -0,0 +1 @@
+../../Task/Zero-to-the-zero-power/Pluto
\ No newline at end of file
diff --git a/Lang/Pluto/Zig-zag-matrix b/Lang/Pluto/Zig-zag-matrix
new file mode 120000
index 0000000000..49521638f6
--- /dev/null
+++ b/Lang/Pluto/Zig-zag-matrix
@@ -0,0 +1 @@
+../../Task/Zig-zag-matrix/Pluto
\ No newline at end of file
diff --git a/Lang/PostScript/Sieve-of-Eratosthenes b/Lang/PostScript/Sieve-of-Eratosthenes
new file mode 120000
index 0000000000..bf5fd9fe66
--- /dev/null
+++ b/Lang/PostScript/Sieve-of-Eratosthenes
@@ -0,0 +1 @@
+../../Task/Sieve-of-Eratosthenes/PostScript
\ No newline at end of file
diff --git a/Lang/PowerShell/AKS-test-for-primes b/Lang/PowerShell/AKS-test-for-primes
new file mode 120000
index 0000000000..d5622ba541
--- /dev/null
+++ b/Lang/PowerShell/AKS-test-for-primes
@@ -0,0 +1 @@
+../../Task/AKS-test-for-primes/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Abundant-odd-numbers b/Lang/PowerShell/Abundant-odd-numbers
new file mode 120000
index 0000000000..fa7795f731
--- /dev/null
+++ b/Lang/PowerShell/Abundant-odd-numbers
@@ -0,0 +1 @@
+../../Task/Abundant-odd-numbers/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Anti-primes b/Lang/PowerShell/Anti-primes
new file mode 120000
index 0000000000..f56c16a315
--- /dev/null
+++ b/Lang/PowerShell/Anti-primes
@@ -0,0 +1 @@
+../../Task/Anti-primes/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Base64-decode-data b/Lang/PowerShell/Base64-decode-data
new file mode 120000
index 0000000000..64cfcd61a8
--- /dev/null
+++ b/Lang/PowerShell/Base64-decode-data
@@ -0,0 +1 @@
+../../Task/Base64-decode-data/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Bell-numbers b/Lang/PowerShell/Bell-numbers
new file mode 120000
index 0000000000..175671e690
--- /dev/null
+++ b/Lang/PowerShell/Bell-numbers
@@ -0,0 +1 @@
+../../Task/Bell-numbers/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Brazilian-numbers b/Lang/PowerShell/Brazilian-numbers
new file mode 120000
index 0000000000..93e2e48db6
--- /dev/null
+++ b/Lang/PowerShell/Brazilian-numbers
@@ -0,0 +1 @@
+../../Task/Brazilian-numbers/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Call-a-foreign-language-function b/Lang/PowerShell/Call-a-foreign-language-function
new file mode 120000
index 0000000000..b222a9fc7d
--- /dev/null
+++ b/Lang/PowerShell/Call-a-foreign-language-function
@@ -0,0 +1 @@
+../../Task/Call-a-foreign-language-function/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Department-numbers b/Lang/PowerShell/Department-numbers
new file mode 120000
index 0000000000..089828bb9a
--- /dev/null
+++ b/Lang/PowerShell/Department-numbers
@@ -0,0 +1 @@
+../../Task/Department-numbers/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Gray-code b/Lang/PowerShell/Gray-code
new file mode 120000
index 0000000000..c7adcf7cdb
--- /dev/null
+++ b/Lang/PowerShell/Gray-code
@@ -0,0 +1 @@
+../../Task/Gray-code/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Hello-world-Web-server b/Lang/PowerShell/Hello-world-Web-server
new file mode 120000
index 0000000000..3b4f878f34
--- /dev/null
+++ b/Lang/PowerShell/Hello-world-Web-server
@@ -0,0 +1 @@
+../../Task/Hello-world-Web-server/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Leonardo-numbers b/Lang/PowerShell/Leonardo-numbers
new file mode 120000
index 0000000000..fda0fa0dbc
--- /dev/null
+++ b/Lang/PowerShell/Leonardo-numbers
@@ -0,0 +1 @@
+../../Task/Leonardo-numbers/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/M-bius-function b/Lang/PowerShell/M-bius-function
new file mode 120000
index 0000000000..a50c276864
--- /dev/null
+++ b/Lang/PowerShell/M-bius-function
@@ -0,0 +1 @@
+../../Task/M-bius-function/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Mayan-numerals b/Lang/PowerShell/Mayan-numerals
new file mode 120000
index 0000000000..24e3ef5efb
--- /dev/null
+++ b/Lang/PowerShell/Mayan-numerals
@@ -0,0 +1 @@
+../../Task/Mayan-numerals/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Multifactorial b/Lang/PowerShell/Multifactorial
new file mode 120000
index 0000000000..45d4ca2539
--- /dev/null
+++ b/Lang/PowerShell/Multifactorial
@@ -0,0 +1 @@
+../../Task/Multifactorial/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Periodic-table b/Lang/PowerShell/Periodic-table
new file mode 120000
index 0000000000..bcfd7f5cf0
--- /dev/null
+++ b/Lang/PowerShell/Periodic-table
@@ -0,0 +1 @@
+../../Task/Periodic-table/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Quaternion-type b/Lang/PowerShell/Quaternion-type
deleted file mode 120000
index 60f8156bec..0000000000
--- a/Lang/PowerShell/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Statistics-Basic b/Lang/PowerShell/Statistics-Basic
new file mode 120000
index 0000000000..604034a29d
--- /dev/null
+++ b/Lang/PowerShell/Statistics-Basic
@@ -0,0 +1 @@
+../../Task/Statistics-Basic/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Statistics-Normal-distribution b/Lang/PowerShell/Statistics-Normal-distribution
new file mode 120000
index 0000000000..9ce69e4094
--- /dev/null
+++ b/Lang/PowerShell/Statistics-Normal-distribution
@@ -0,0 +1 @@
+../../Task/Statistics-Normal-distribution/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Strassens-algorithm b/Lang/PowerShell/Strassens-algorithm
new file mode 120000
index 0000000000..1b221ce844
--- /dev/null
+++ b/Lang/PowerShell/Strassens-algorithm
@@ -0,0 +1 @@
+../../Task/Strassens-algorithm/PowerShell
\ No newline at end of file
diff --git a/Lang/ProDOS/00-LANG.txt b/Lang/ProDOS/00-LANG.txt
index 3affb9c53a..d4852ff3b2 100644
--- a/Lang/ProDOS/00-LANG.txt
+++ b/Lang/ProDOS/00-LANG.txt
@@ -4,18 +4,18 @@ ProDOS is an open-source command-based programming language created by Riley Hou
===Overview===
ProDOS is a command-based language. This term refers to any form of language that uses built-in commands to function, instead of strings of keywords to function. For example:
-printline Hello, World!
+printline Hello, World!
The command "printline" is used to display the line "Hello, World". For clarification, in Java the alternative would be:
-public class HelloWorld
+public class HelloWorld
{
public static void main(String[] args)
{
System.out.println("Goodbye, World!");
}
-}
+}
-As you can see, the difference is quite significant. The command "printline" is pre-defined, this means that the user does not have to define classes,etc.
+As you can see, the difference is quite significant. The command "printline" is pre-defined, this means that the user does not have to define classes,etc.
===Future Implementations===
ProDOS has not yet reached a release stage, but due to it being only a few months left until it is able to be released, ProDOS 1 will be ready to be released for public distribution by early 2012.
\ No newline at end of file
diff --git a/Lang/Prog8/Quine b/Lang/Prog8/Quine
new file mode 120000
index 0000000000..d19dfe3196
--- /dev/null
+++ b/Lang/Prog8/Quine
@@ -0,0 +1 @@
+../../Task/Quine/Prog8
\ No newline at end of file
diff --git a/Lang/ProgressBASIC/00-LANG.txt b/Lang/ProgressBASIC/00-LANG.txt
new file mode 100644
index 0000000000..d243dbaa3d
--- /dev/null
+++ b/Lang/ProgressBASIC/00-LANG.txt
@@ -0,0 +1,3 @@
+{{language}}
+ProgressBASIC is a BASIC-like programming language used in the mobile/steam game Progressbar95. To get acses to the programming language. You must unlock the 8-bit category of systems.
+To understand how this programming language works, [https://progressbar95.fandom.com/wiki/ProgressBASIC#Commands click this]
\ No newline at end of file
diff --git a/Lang/ProgressBASIC/00-META.yaml b/Lang/ProgressBASIC/00-META.yaml
new file mode 100644
index 0000000000..82857e2590
--- /dev/null
+++ b/Lang/ProgressBASIC/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:ProgressBASIC
diff --git a/Lang/Prolog/100-prisoners b/Lang/Prolog/100-prisoners
new file mode 120000
index 0000000000..f105600099
--- /dev/null
+++ b/Lang/Prolog/100-prisoners
@@ -0,0 +1 @@
+../../Task/100-prisoners/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Boolean-values b/Lang/Prolog/Boolean-values
new file mode 120000
index 0000000000..a4d04329bd
--- /dev/null
+++ b/Lang/Prolog/Boolean-values
@@ -0,0 +1 @@
+../../Task/Boolean-values/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Damm-algorithm b/Lang/Prolog/Damm-algorithm
new file mode 120000
index 0000000000..beadc26281
--- /dev/null
+++ b/Lang/Prolog/Damm-algorithm
@@ -0,0 +1 @@
+../../Task/Damm-algorithm/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Determine-sentence-type b/Lang/Prolog/Determine-sentence-type
new file mode 120000
index 0000000000..d87bf5b582
--- /dev/null
+++ b/Lang/Prolog/Determine-sentence-type
@@ -0,0 +1 @@
+../../Task/Determine-sentence-type/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Evaluate-binomial-coefficients b/Lang/Prolog/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..15602e690b
--- /dev/null
+++ b/Lang/Prolog/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Hello-world-Newline-omission b/Lang/Prolog/Hello-world-Newline-omission
new file mode 120000
index 0000000000..c1a7a16c3a
--- /dev/null
+++ b/Lang/Prolog/Hello-world-Newline-omission
@@ -0,0 +1 @@
+../../Task/Hello-world-Newline-omission/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/ISBN13-check-digit b/Lang/Prolog/ISBN13-check-digit
new file mode 120000
index 0000000000..a76610ede1
--- /dev/null
+++ b/Lang/Prolog/ISBN13-check-digit
@@ -0,0 +1 @@
+../../Task/ISBN13-check-digit/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Integer-comparison b/Lang/Prolog/Integer-comparison
new file mode 120000
index 0000000000..700709dfc3
--- /dev/null
+++ b/Lang/Prolog/Integer-comparison
@@ -0,0 +1 @@
+../../Task/Integer-comparison/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Iterated-digits-squaring b/Lang/Prolog/Iterated-digits-squaring
new file mode 120000
index 0000000000..2783b6cb96
--- /dev/null
+++ b/Lang/Prolog/Iterated-digits-squaring
@@ -0,0 +1 @@
+../../Task/Iterated-digits-squaring/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Josephus-problem b/Lang/Prolog/Josephus-problem
new file mode 120000
index 0000000000..f88549c05c
--- /dev/null
+++ b/Lang/Prolog/Josephus-problem
@@ -0,0 +1 @@
+../../Task/Josephus-problem/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Magic-8-ball b/Lang/Prolog/Magic-8-ball
new file mode 120000
index 0000000000..6daea6349e
--- /dev/null
+++ b/Lang/Prolog/Magic-8-ball
@@ -0,0 +1 @@
+../../Task/Magic-8-ball/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Map-range b/Lang/Prolog/Map-range
new file mode 120000
index 0000000000..09c2135423
--- /dev/null
+++ b/Lang/Prolog/Map-range
@@ -0,0 +1 @@
+../../Task/Map-range/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Miller-Rabin-primality-test b/Lang/Prolog/Miller-Rabin-primality-test
deleted file mode 120000
index 77f0bc56fd..0000000000
--- a/Lang/Prolog/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Old-Russian-measure-of-length b/Lang/Prolog/Old-Russian-measure-of-length
new file mode 120000
index 0000000000..d1594e7647
--- /dev/null
+++ b/Lang/Prolog/Old-Russian-measure-of-length
@@ -0,0 +1 @@
+../../Task/Old-Russian-measure-of-length/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Order-by-pair-comparisons b/Lang/Prolog/Order-by-pair-comparisons
new file mode 120000
index 0000000000..b08bc67036
--- /dev/null
+++ b/Lang/Prolog/Order-by-pair-comparisons
@@ -0,0 +1 @@
+../../Task/Order-by-pair-comparisons/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Phrase-reversals b/Lang/Prolog/Phrase-reversals
new file mode 120000
index 0000000000..1afa8eb5f5
--- /dev/null
+++ b/Lang/Prolog/Phrase-reversals
@@ -0,0 +1 @@
+../../Task/Phrase-reversals/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Population-count b/Lang/Prolog/Population-count
new file mode 120000
index 0000000000..1ffa420c15
--- /dev/null
+++ b/Lang/Prolog/Population-count
@@ -0,0 +1 @@
+../../Task/Population-count/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Quaternion-type b/Lang/Prolog/Quaternion-type
deleted file mode 120000
index 458f5f70bc..0000000000
--- a/Lang/Prolog/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/RPG-attributes-generator b/Lang/Prolog/RPG-attributes-generator
new file mode 120000
index 0000000000..cde5e146a7
--- /dev/null
+++ b/Lang/Prolog/RPG-attributes-generator
@@ -0,0 +1 @@
+../../Task/RPG-attributes-generator/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/SEDOLs b/Lang/Prolog/SEDOLs
new file mode 120000
index 0000000000..21d9643112
--- /dev/null
+++ b/Lang/Prolog/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Semordnilap b/Lang/Prolog/Semordnilap
new file mode 120000
index 0000000000..c4e2d18fc4
--- /dev/null
+++ b/Lang/Prolog/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Sort-three-variables b/Lang/Prolog/Sort-three-variables
new file mode 120000
index 0000000000..8518a9819c
--- /dev/null
+++ b/Lang/Prolog/Sort-three-variables
@@ -0,0 +1 @@
+../../Task/Sort-three-variables/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Stem-and-leaf-plot b/Lang/Prolog/Stem-and-leaf-plot
new file mode 120000
index 0000000000..8a3d5cbab0
--- /dev/null
+++ b/Lang/Prolog/Stem-and-leaf-plot
@@ -0,0 +1 @@
+../../Task/Stem-and-leaf-plot/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/String-concatenation b/Lang/Prolog/String-concatenation
new file mode 120000
index 0000000000..47d572fb22
--- /dev/null
+++ b/Lang/Prolog/String-concatenation
@@ -0,0 +1 @@
+../../Task/String-concatenation/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Thue-Morse b/Lang/Prolog/Thue-Morse
new file mode 120000
index 0000000000..c42ff58a18
--- /dev/null
+++ b/Lang/Prolog/Thue-Morse
@@ -0,0 +1 @@
+../../Task/Thue-Morse/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Topswops b/Lang/Prolog/Topswops
new file mode 120000
index 0000000000..20c5cfbba8
--- /dev/null
+++ b/Lang/Prolog/Topswops
@@ -0,0 +1 @@
+../../Task/Topswops/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Trabb-Pardo-Knuth-algorithm b/Lang/Prolog/Trabb-Pardo-Knuth-algorithm
new file mode 120000
index 0000000000..dcd294e9ea
--- /dev/null
+++ b/Lang/Prolog/Trabb-Pardo-Knuth-algorithm
@@ -0,0 +1 @@
+../../Task/Trabb-Pardo-Knuth-algorithm/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Twos-complement b/Lang/Prolog/Twos-complement
new file mode 120000
index 0000000000..1ba2d1e131
--- /dev/null
+++ b/Lang/Prolog/Twos-complement
@@ -0,0 +1 @@
+../../Task/Twos-complement/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Wireworld b/Lang/Prolog/Wireworld
new file mode 120000
index 0000000000..b45eaa2601
--- /dev/null
+++ b/Lang/Prolog/Wireworld
@@ -0,0 +1 @@
+../../Task/Wireworld/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Zero-to-the-zero-power b/Lang/Prolog/Zero-to-the-zero-power
new file mode 120000
index 0000000000..5d3d1cb814
--- /dev/null
+++ b/Lang/Prolog/Zero-to-the-zero-power
@@ -0,0 +1 @@
+../../Task/Zero-to-the-zero-power/Prolog
\ No newline at end of file
diff --git a/Lang/PureBasic/ASCII-art-diagram-converter b/Lang/PureBasic/ASCII-art-diagram-converter
new file mode 120000
index 0000000000..33f4c7eea5
--- /dev/null
+++ b/Lang/PureBasic/ASCII-art-diagram-converter
@@ -0,0 +1 @@
+../../Task/ASCII-art-diagram-converter/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Bioinformatics-base-count b/Lang/PureBasic/Bioinformatics-base-count
deleted file mode 120000
index 16be5f27be..0000000000
--- a/Lang/PureBasic/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Blum-integer b/Lang/PureBasic/Blum-integer
new file mode 120000
index 0000000000..d3f0a3d564
--- /dev/null
+++ b/Lang/PureBasic/Blum-integer
@@ -0,0 +1 @@
+../../Task/Blum-integer/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Determine-if-a-string-has-all-the-same-characters b/Lang/PureBasic/Determine-if-a-string-has-all-the-same-characters
new file mode 120000
index 0000000000..8ce6b940bc
--- /dev/null
+++ b/Lang/PureBasic/Determine-if-a-string-has-all-the-same-characters
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-has-all-the-same-characters/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Determine-sentence-type b/Lang/PureBasic/Determine-sentence-type
new file mode 120000
index 0000000000..58f4c9411b
--- /dev/null
+++ b/Lang/PureBasic/Determine-sentence-type
@@ -0,0 +1 @@
+../../Task/Determine-sentence-type/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Generate-Chess960-starting-position b/Lang/PureBasic/Generate-Chess960-starting-position
new file mode 120000
index 0000000000..d1a0ea8b2a
--- /dev/null
+++ b/Lang/PureBasic/Generate-Chess960-starting-position
@@ -0,0 +1 @@
+../../Task/Generate-Chess960-starting-position/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Jewels-and-stones b/Lang/PureBasic/Jewels-and-stones
new file mode 120000
index 0000000000..90d847c8e7
--- /dev/null
+++ b/Lang/PureBasic/Jewels-and-stones
@@ -0,0 +1 @@
+../../Task/Jewels-and-stones/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/M-bius-function b/Lang/PureBasic/M-bius-function
new file mode 120000
index 0000000000..86603635cf
--- /dev/null
+++ b/Lang/PureBasic/M-bius-function
@@ -0,0 +1 @@
+../../Task/M-bius-function/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Meissel-Mertens-constant b/Lang/PureBasic/Meissel-Mertens-constant
deleted file mode 120000
index 81f0bd26b3..0000000000
--- a/Lang/PureBasic/Meissel-Mertens-constant
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Meissel-Mertens-constant/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Miller-Rabin-primality-test b/Lang/PureBasic/Miller-Rabin-primality-test
deleted file mode 120000
index af69162304..0000000000
--- a/Lang/PureBasic/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Numerical-and-alphabetical-suffixes b/Lang/PureBasic/Numerical-and-alphabetical-suffixes
new file mode 120000
index 0000000000..1544fa8d4a
--- /dev/null
+++ b/Lang/PureBasic/Numerical-and-alphabetical-suffixes
@@ -0,0 +1 @@
+../../Task/Numerical-and-alphabetical-suffixes/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Periodic-table b/Lang/PureBasic/Periodic-table
new file mode 120000
index 0000000000..d212a3056c
--- /dev/null
+++ b/Lang/PureBasic/Periodic-table
@@ -0,0 +1 @@
+../../Task/Periodic-table/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Quaternion-type b/Lang/PureBasic/Quaternion-type
deleted file mode 120000
index 6551ed8e89..0000000000
--- a/Lang/PureBasic/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/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
similarity index 100%
rename from Lang/PureBasic/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/PureBasic/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/PureBasic/Sequence-smallest-number-with-exactly-n-divisors b/Lang/PureBasic/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/PureBasic/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/PureBasic/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/PureBasic/The-Name-Game b/Lang/PureBasic/The-Name-Game
new file mode 120000
index 0000000000..50ae0fd1b6
--- /dev/null
+++ b/Lang/PureBasic/The-Name-Game
@@ -0,0 +1 @@
+../../Task/The-Name-Game/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Twos-complement b/Lang/PureBasic/Twos-complement
new file mode 120000
index 0000000000..dfe56459f4
--- /dev/null
+++ b/Lang/PureBasic/Twos-complement
@@ -0,0 +1 @@
+../../Task/Twos-complement/PureBasic
\ No newline at end of file
diff --git a/Lang/Python/Bioinformatics-base-count b/Lang/Python/Bioinformatics-base-count
deleted file mode 120000
index 7f8a0873e8..0000000000
--- a/Lang/Python/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/Python
\ No newline at end of file
diff --git a/Lang/Python/Compile-time-calculation b/Lang/Python/Compile-time-calculation
new file mode 120000
index 0000000000..33879ac69d
--- /dev/null
+++ b/Lang/Python/Compile-time-calculation
@@ -0,0 +1 @@
+../../Task/Compile-time-calculation/Python
\ No newline at end of file
diff --git a/Lang/Python/Constrained-genericity b/Lang/Python/Constrained-genericity
new file mode 120000
index 0000000000..3ac238c57a
--- /dev/null
+++ b/Lang/Python/Constrained-genericity
@@ -0,0 +1 @@
+../../Task/Constrained-genericity/Python
\ No newline at end of file
diff --git a/Lang/Python/Dominoes b/Lang/Python/Dominoes
new file mode 120000
index 0000000000..648f074afc
--- /dev/null
+++ b/Lang/Python/Dominoes
@@ -0,0 +1 @@
+../../Task/Dominoes/Python
\ No newline at end of file
diff --git a/Lang/Python/Erd-s-Selfridge-categorization-of-primes b/Lang/Python/Erd-s-Selfridge-categorization-of-primes
new file mode 120000
index 0000000000..fd2fdbcb3f
--- /dev/null
+++ b/Lang/Python/Erd-s-Selfridge-categorization-of-primes
@@ -0,0 +1 @@
+../../Task/Erd-s-Selfridge-categorization-of-primes/Python
\ No newline at end of file
diff --git a/Lang/Python/Execute-Brain- b/Lang/Python/Execute-Brain-
new file mode 120000
index 0000000000..ad83d880d6
--- /dev/null
+++ b/Lang/Python/Execute-Brain-
@@ -0,0 +1 @@
+../../Task/Execute-Brain-/Python
\ No newline at end of file
diff --git a/Lang/Python/Im-a-software-engineer-get-me-out-of-here b/Lang/Python/Im-a-software-engineer-get-me-out-of-here
new file mode 120000
index 0000000000..d238ff00d2
--- /dev/null
+++ b/Lang/Python/Im-a-software-engineer-get-me-out-of-here
@@ -0,0 +1 @@
+../../Task/Im-a-software-engineer-get-me-out-of-here/Python
\ No newline at end of file
diff --git a/Lang/Python/Isograms-and-heterograms b/Lang/Python/Isograms-and-heterograms
new file mode 120000
index 0000000000..f277330152
--- /dev/null
+++ b/Lang/Python/Isograms-and-heterograms
@@ -0,0 +1 @@
+../../Task/Isograms-and-heterograms/Python
\ No newline at end of file
diff --git a/Lang/Python/Meissel-Mertens-constant b/Lang/Python/Meissel-Mertens-constant
deleted file mode 120000
index 04fd530b92..0000000000
--- a/Lang/Python/Meissel-Mertens-constant
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Meissel-Mertens-constant/Python
\ No newline at end of file
diff --git a/Lang/Python/Miller-Rabin-primality-test b/Lang/Python/Miller-Rabin-primality-test
deleted file mode 120000
index 4ec507954a..0000000000
--- a/Lang/Python/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Python
\ No newline at end of file
diff --git a/Lang/Python/Multi-base-primes b/Lang/Python/Multi-base-primes
new file mode 120000
index 0000000000..6190bc944f
--- /dev/null
+++ b/Lang/Python/Multi-base-primes
@@ -0,0 +1 @@
+../../Task/Multi-base-primes/Python
\ No newline at end of file
diff --git a/Lang/Python/Numbers-which-are-not-the-sum-of-distinct-squares b/Lang/Python/Numbers-which-are-not-the-sum-of-distinct-squares
new file mode 120000
index 0000000000..3a47a71cf2
--- /dev/null
+++ b/Lang/Python/Numbers-which-are-not-the-sum-of-distinct-squares
@@ -0,0 +1 @@
+../../Task/Numbers-which-are-not-the-sum-of-distinct-squares/Python
\ No newline at end of file
diff --git a/Lang/Python/P-Adic-square-roots b/Lang/Python/P-Adic-square-roots
new file mode 120000
index 0000000000..3ecdf0d3ca
--- /dev/null
+++ b/Lang/Python/P-Adic-square-roots
@@ -0,0 +1 @@
+../../Task/P-Adic-square-roots/Python
\ No newline at end of file
diff --git a/Lang/Python/Parametric-polymorphism b/Lang/Python/Parametric-polymorphism
new file mode 120000
index 0000000000..b6d5668cdf
--- /dev/null
+++ b/Lang/Python/Parametric-polymorphism
@@ -0,0 +1 @@
+../../Task/Parametric-polymorphism/Python
\ No newline at end of file
diff --git a/Lang/Python/Peripheral-drift-illusion b/Lang/Python/Peripheral-drift-illusion
new file mode 120000
index 0000000000..4e0e7d7c77
--- /dev/null
+++ b/Lang/Python/Peripheral-drift-illusion
@@ -0,0 +1 @@
+../../Task/Peripheral-drift-illusion/Python
\ No newline at end of file
diff --git a/Lang/Python/Prime-numbers-whose-neighboring-pairs-are-tetraprimes b/Lang/Python/Prime-numbers-whose-neighboring-pairs-are-tetraprimes
new file mode 120000
index 0000000000..9997b73880
--- /dev/null
+++ b/Lang/Python/Prime-numbers-whose-neighboring-pairs-are-tetraprimes
@@ -0,0 +1 @@
+../../Task/Prime-numbers-whose-neighboring-pairs-are-tetraprimes/Python
\ No newline at end of file
diff --git a/Lang/Python/Quaternion-type b/Lang/Python/Quaternion-type
deleted file mode 120000
index 4219e34b85..0000000000
--- a/Lang/Python/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Python
\ No newline at end of file
diff --git a/Lang/Python/Ramanujan-primes-twins b/Lang/Python/Ramanujan-primes-twins
new file mode 120000
index 0000000000..8b76bc210b
--- /dev/null
+++ b/Lang/Python/Ramanujan-primes-twins
@@ -0,0 +1 @@
+../../Task/Ramanujan-primes-twins/Python
\ No newline at end of file
diff --git a/Lang/Python/Rhonda-numbers b/Lang/Python/Rhonda-numbers
new file mode 120000
index 0000000000..26cc73526d
--- /dev/null
+++ b/Lang/Python/Rhonda-numbers
@@ -0,0 +1 @@
+../../Task/Rhonda-numbers/Python
\ No newline at end of file
diff --git a/Lang/Python/Ruth-Aaron-numbers b/Lang/Python/Ruth-Aaron-numbers
new file mode 120000
index 0000000000..933b3d03bc
--- /dev/null
+++ b/Lang/Python/Ruth-Aaron-numbers
@@ -0,0 +1 @@
+../../Task/Ruth-Aaron-numbers/Python
\ No newline at end of file
diff --git a/Lang/Python/Sequence-nth-number-with-exactly-n-divisors b/Lang/Python/Sequence:-nth-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Python/Sequence-nth-number-with-exactly-n-divisors
rename to Lang/Python/Sequence:-nth-number-with-exactly-n-divisors
diff --git a/Lang/Python/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/Python/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/Python/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/Python/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/Python/Sequence-smallest-number-with-exactly-n-divisors b/Lang/Python/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Python/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/Python/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/Python/Smarandache-Wellin-primes b/Lang/Python/Smarandache-Wellin-primes
new file mode 120000
index 0000000000..87eea97b5c
--- /dev/null
+++ b/Lang/Python/Smarandache-Wellin-primes
@@ -0,0 +1 @@
+../../Task/Smarandache-Wellin-primes/Python
\ No newline at end of file
diff --git a/Lang/Python/Sorting-Algorithms-Circle-Sort b/Lang/Python/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index 3e7a80b339..0000000000
--- a/Lang/Python/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/Python
\ No newline at end of file
diff --git a/Lang/Python/Square-form-factorization b/Lang/Python/Square-form-factorization
new file mode 120000
index 0000000000..38da301a59
--- /dev/null
+++ b/Lang/Python/Square-form-factorization
@@ -0,0 +1 @@
+../../Task/Square-form-factorization/Python
\ No newline at end of file
diff --git a/Lang/Python/Start-from-a-main-routine b/Lang/Python/Start-from-a-main-routine
new file mode 120000
index 0000000000..e9c472aaa4
--- /dev/null
+++ b/Lang/Python/Start-from-a-main-routine
@@ -0,0 +1 @@
+../../Task/Start-from-a-main-routine/Python
\ No newline at end of file
diff --git a/Lang/Python/Untouchable-numbers b/Lang/Python/Untouchable-numbers
new file mode 120000
index 0000000000..c4bd0ba9e1
--- /dev/null
+++ b/Lang/Python/Untouchable-numbers
@@ -0,0 +1 @@
+../../Task/Untouchable-numbers/Python
\ No newline at end of file
diff --git a/Lang/Python/Wasteful-equidigital-and-frugal-numbers b/Lang/Python/Wasteful-equidigital-and-frugal-numbers
new file mode 120000
index 0000000000..c89de12312
--- /dev/null
+++ b/Lang/Python/Wasteful-equidigital-and-frugal-numbers
@@ -0,0 +1 @@
+../../Task/Wasteful-equidigital-and-frugal-numbers/Python
\ No newline at end of file
diff --git a/Lang/Q/00-LANG.txt b/Lang/Q/00-LANG.txt
index 761de14eda..1cf9ed3990 100644
--- a/Lang/Q/00-LANG.txt
+++ b/Lang/Q/00-LANG.txt
@@ -1,5 +1,6 @@
-{{language}}Q is another vector language (in the family of [[APL]] [[J]] [[K]] and [[Nial]])
+{{language}}
+Q is another vector language (in the family of [[APL]], [[J]], [[K]], and [[Nial]])
-There is a totally unrelated language called Q [http://q-lang.sourceforge.net/ here]. (It is an equational programming language)
+There is a totally unrelated language called Q [http://q-lang.sourceforge.net/ here]. (It is an equational programming language.)
-Q [https://code.kx.com/trac/wiki/QforMortals docs](anonymous/anonymous)
\ No newline at end of file
+Documentation: [https://code.kx.com/q4m3/ Q for Mortals] An introduction to q programming
\ No newline at end of file
diff --git a/Lang/Q/Euler-method b/Lang/Q/Euler-method
new file mode 120000
index 0000000000..093ad80e13
--- /dev/null
+++ b/Lang/Q/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/Q
\ No newline at end of file
diff --git a/Lang/QB64/Averages-Mean-angle b/Lang/QB64/Averages-Mean-angle
new file mode 120000
index 0000000000..aab53ced3a
--- /dev/null
+++ b/Lang/QB64/Averages-Mean-angle
@@ -0,0 +1 @@
+../../Task/Averages-Mean-angle/QB64
\ No newline at end of file
diff --git a/Lang/QB64/Blum-integer b/Lang/QB64/Blum-integer
new file mode 120000
index 0000000000..6d55cd1ae1
--- /dev/null
+++ b/Lang/QB64/Blum-integer
@@ -0,0 +1 @@
+../../Task/Blum-integer/QB64
\ No newline at end of file
diff --git a/Lang/QB64/Determine-if-a-string-has-all-the-same-characters b/Lang/QB64/Determine-if-a-string-has-all-the-same-characters
new file mode 120000
index 0000000000..e5cb75941f
--- /dev/null
+++ b/Lang/QB64/Determine-if-a-string-has-all-the-same-characters
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-has-all-the-same-characters/QB64
\ No newline at end of file
diff --git a/Lang/QB64/Fibonacci-n-step-number-sequences b/Lang/QB64/Fibonacci-n-step-number-sequences
new file mode 120000
index 0000000000..dbe9d19cad
--- /dev/null
+++ b/Lang/QB64/Fibonacci-n-step-number-sequences
@@ -0,0 +1 @@
+../../Task/Fibonacci-n-step-number-sequences/QB64
\ No newline at end of file
diff --git a/Lang/QB64/Hello-world-Newline-omission b/Lang/QB64/Hello-world-Newline-omission
new file mode 120000
index 0000000000..355c4d1286
--- /dev/null
+++ b/Lang/QB64/Hello-world-Newline-omission
@@ -0,0 +1 @@
+../../Task/Hello-world-Newline-omission/QB64
\ No newline at end of file
diff --git a/Lang/QB64/Hofstadter-Q-sequence b/Lang/QB64/Hofstadter-Q-sequence
new file mode 120000
index 0000000000..636c2bd5e2
--- /dev/null
+++ b/Lang/QB64/Hofstadter-Q-sequence
@@ -0,0 +1 @@
+../../Task/Hofstadter-Q-sequence/QB64
\ No newline at end of file
diff --git a/Lang/QB64/Intersecting-number-wheels b/Lang/QB64/Intersecting-number-wheels
new file mode 120000
index 0000000000..226a608551
--- /dev/null
+++ b/Lang/QB64/Intersecting-number-wheels
@@ -0,0 +1 @@
+../../Task/Intersecting-number-wheels/QB64
\ No newline at end of file
diff --git a/Lang/QB64/Mayan-calendar b/Lang/QB64/Mayan-calendar
new file mode 120000
index 0000000000..13deaa3e8a
--- /dev/null
+++ b/Lang/QB64/Mayan-calendar
@@ -0,0 +1 @@
+../../Task/Mayan-calendar/QB64
\ No newline at end of file
diff --git a/Lang/QB64/Multiple-regression b/Lang/QB64/Multiple-regression
new file mode 120000
index 0000000000..f5a655fb07
--- /dev/null
+++ b/Lang/QB64/Multiple-regression
@@ -0,0 +1 @@
+../../Task/Multiple-regression/QB64
\ No newline at end of file
diff --git a/Lang/QB64/Perfect-numbers b/Lang/QB64/Perfect-numbers
new file mode 120000
index 0000000000..313898bfff
--- /dev/null
+++ b/Lang/QB64/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/QB64
\ No newline at end of file
diff --git a/Lang/QB64/Price-fraction b/Lang/QB64/Price-fraction
new file mode 120000
index 0000000000..b2a7164220
--- /dev/null
+++ b/Lang/QB64/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/QB64
\ No newline at end of file
diff --git a/Lang/QB64/Safe-primes-and-unsafe-primes b/Lang/QB64/Safe-primes-and-unsafe-primes
new file mode 120000
index 0000000000..2fe9c13027
--- /dev/null
+++ b/Lang/QB64/Safe-primes-and-unsafe-primes
@@ -0,0 +1 @@
+../../Task/Safe-primes-and-unsafe-primes/QB64
\ No newline at end of file
diff --git a/Lang/QB64/Sum-of-a-series b/Lang/QB64/Sum-of-a-series
new file mode 120000
index 0000000000..67ad320160
--- /dev/null
+++ b/Lang/QB64/Sum-of-a-series
@@ -0,0 +1 @@
+../../Task/Sum-of-a-series/QB64
\ No newline at end of file
diff --git a/Lang/QB64/Tau-number b/Lang/QB64/Tau-number
new file mode 120000
index 0000000000..0690f3645f
--- /dev/null
+++ b/Lang/QB64/Tau-number
@@ -0,0 +1 @@
+../../Task/Tau-number/QB64
\ No newline at end of file
diff --git a/Lang/QB64/Trabb-Pardo-Knuth-algorithm b/Lang/QB64/Trabb-Pardo-Knuth-algorithm
new file mode 120000
index 0000000000..bd61960412
--- /dev/null
+++ b/Lang/QB64/Trabb-Pardo-Knuth-algorithm
@@ -0,0 +1 @@
+../../Task/Trabb-Pardo-Knuth-algorithm/QB64
\ No newline at end of file
diff --git a/Lang/QB64/Twos-complement b/Lang/QB64/Twos-complement
new file mode 120000
index 0000000000..fd393f8160
--- /dev/null
+++ b/Lang/QB64/Twos-complement
@@ -0,0 +1 @@
+../../Task/Twos-complement/QB64
\ No newline at end of file
diff --git a/Lang/QB64/Web-scraping b/Lang/QB64/Web-scraping
new file mode 120000
index 0000000000..bdf604fdc3
--- /dev/null
+++ b/Lang/QB64/Web-scraping
@@ -0,0 +1 @@
+../../Task/Web-scraping/QB64
\ No newline at end of file
diff --git a/Lang/QBasic/00-LANG.txt b/Lang/QBasic/00-LANG.txt
index 4ab26db45d..66c4f1d834 100644
--- a/Lang/QBasic/00-LANG.txt
+++ b/Lang/QBasic/00-LANG.txt
@@ -1,3 +1,4 @@
{{language}}
+{{implementation|BASIC}}
QBasic is a BASIC that was written by Microsoft and normally executes under Windows.
\ No newline at end of file
diff --git a/Lang/QBasic/15-puzzle-game b/Lang/QBasic/15-puzzle-game
new file mode 120000
index 0000000000..4cdffaba3f
--- /dev/null
+++ b/Lang/QBasic/15-puzzle-game
@@ -0,0 +1 @@
+../../Task/15-puzzle-game/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/ASCII-art-diagram-converter b/Lang/QBasic/ASCII-art-diagram-converter
new file mode 120000
index 0000000000..75bc551903
--- /dev/null
+++ b/Lang/QBasic/ASCII-art-diagram-converter
@@ -0,0 +1 @@
+../../Task/ASCII-art-diagram-converter/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/Associative-array-Merging b/Lang/QBasic/Associative-array-Merging
new file mode 120000
index 0000000000..7cdfcc0848
--- /dev/null
+++ b/Lang/QBasic/Associative-array-Merging
@@ -0,0 +1 @@
+../../Task/Associative-array-Merging/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/Averages-Mean-angle b/Lang/QBasic/Averages-Mean-angle
new file mode 120000
index 0000000000..499df28583
--- /dev/null
+++ b/Lang/QBasic/Averages-Mean-angle
@@ -0,0 +1 @@
+../../Task/Averages-Mean-angle/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/Determine-sentence-type b/Lang/QBasic/Determine-sentence-type
new file mode 120000
index 0000000000..5f23645126
--- /dev/null
+++ b/Lang/QBasic/Determine-sentence-type
@@ -0,0 +1 @@
+../../Task/Determine-sentence-type/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/Dinesmans-multiple-dwelling-problem b/Lang/QBasic/Dinesmans-multiple-dwelling-problem
deleted file mode 120000
index 58659e8fb4..0000000000
--- a/Lang/QBasic/Dinesmans-multiple-dwelling-problem
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Dinesmans-multiple-dwelling-problem/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/Display-a-linear-combination b/Lang/QBasic/Display-a-linear-combination
new file mode 120000
index 0000000000..e9d158c960
--- /dev/null
+++ b/Lang/QBasic/Display-a-linear-combination
@@ -0,0 +1 @@
+../../Task/Display-a-linear-combination/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/Diversity-prediction-theorem b/Lang/QBasic/Diversity-prediction-theorem
new file mode 120000
index 0000000000..01e16fde09
--- /dev/null
+++ b/Lang/QBasic/Diversity-prediction-theorem
@@ -0,0 +1 @@
+../../Task/Diversity-prediction-theorem/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/Evaluate-binomial-coefficients b/Lang/QBasic/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..86b00c5e75
--- /dev/null
+++ b/Lang/QBasic/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/Fibonacci-n-step-number-sequences b/Lang/QBasic/Fibonacci-n-step-number-sequences
new file mode 120000
index 0000000000..77136c7137
--- /dev/null
+++ b/Lang/QBasic/Fibonacci-n-step-number-sequences
@@ -0,0 +1 @@
+../../Task/Fibonacci-n-step-number-sequences/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/Horizontal-sundial-calculations b/Lang/QBasic/Horizontal-sundial-calculations
new file mode 120000
index 0000000000..48a7ed5986
--- /dev/null
+++ b/Lang/QBasic/Horizontal-sundial-calculations
@@ -0,0 +1 @@
+../../Task/Horizontal-sundial-calculations/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/Jensens-Device b/Lang/QBasic/Jensens-Device
new file mode 120000
index 0000000000..199e4d7809
--- /dev/null
+++ b/Lang/QBasic/Jensens-Device
@@ -0,0 +1 @@
+../../Task/Jensens-Device/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/Leonardo-numbers b/Lang/QBasic/Leonardo-numbers
new file mode 120000
index 0000000000..d0e3199c8a
--- /dev/null
+++ b/Lang/QBasic/Leonardo-numbers
@@ -0,0 +1 @@
+../../Task/Leonardo-numbers/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/Loops-Continue b/Lang/QBasic/Loops-Continue
new file mode 120000
index 0000000000..eeea4ac585
--- /dev/null
+++ b/Lang/QBasic/Loops-Continue
@@ -0,0 +1 @@
+../../Task/Loops-Continue/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/Map-range b/Lang/QBasic/Map-range
new file mode 120000
index 0000000000..be9705365d
--- /dev/null
+++ b/Lang/QBasic/Map-range
@@ -0,0 +1 @@
+../../Task/Map-range/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/Nested-templated-data b/Lang/QBasic/Nested-templated-data
new file mode 120000
index 0000000000..ddf5a87c1b
--- /dev/null
+++ b/Lang/QBasic/Nested-templated-data
@@ -0,0 +1 @@
+../../Task/Nested-templated-data/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/Numbers-with-equal-rises-and-falls b/Lang/QBasic/Numbers-with-equal-rises-and-falls
new file mode 120000
index 0000000000..8e3ab8bbe9
--- /dev/null
+++ b/Lang/QBasic/Numbers-with-equal-rises-and-falls
@@ -0,0 +1 @@
+../../Task/Numbers-with-equal-rises-and-falls/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/Phrase-reversals b/Lang/QBasic/Phrase-reversals
new file mode 120000
index 0000000000..7f3671bcb7
--- /dev/null
+++ b/Lang/QBasic/Phrase-reversals
@@ -0,0 +1 @@
+../../Task/Phrase-reversals/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/Pinstripe-Display b/Lang/QBasic/Pinstripe-Display
new file mode 120000
index 0000000000..f245a0ccf2
--- /dev/null
+++ b/Lang/QBasic/Pinstripe-Display
@@ -0,0 +1 @@
+../../Task/Pinstripe-Display/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/Ramer-Douglas-Peucker-line-simplification b/Lang/QBasic/Ramer-Douglas-Peucker-line-simplification
new file mode 120000
index 0000000000..574b7acaf0
--- /dev/null
+++ b/Lang/QBasic/Ramer-Douglas-Peucker-line-simplification
@@ -0,0 +1 @@
+../../Task/Ramer-Douglas-Peucker-line-simplification/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/Repeat-a-string b/Lang/QBasic/Repeat-a-string
deleted file mode 120000
index 4c99978a73..0000000000
--- a/Lang/QBasic/Repeat-a-string
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Repeat-a-string/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/Rot-13 b/Lang/QBasic/Rot-13
new file mode 120000
index 0000000000..8ebe820c50
--- /dev/null
+++ b/Lang/QBasic/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/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
similarity index 100%
rename from Lang/QBasic/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/QBasic/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/QBasic/Sequence-smallest-number-with-exactly-n-divisors b/Lang/QBasic/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/QBasic/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/QBasic/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/QBasic/Soundex b/Lang/QBasic/Soundex
new file mode 120000
index 0000000000..2d904fe964
--- /dev/null
+++ b/Lang/QBasic/Soundex
@@ -0,0 +1 @@
+../../Task/Soundex/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/Split-a-character-string-based-on-change-of-character b/Lang/QBasic/Split-a-character-string-based-on-change-of-character
new file mode 120000
index 0000000000..5e5ffa8a44
--- /dev/null
+++ b/Lang/QBasic/Split-a-character-string-based-on-change-of-character
@@ -0,0 +1 @@
+../../Task/Split-a-character-string-based-on-change-of-character/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/Statistics-Normal-distribution b/Lang/QBasic/Statistics-Normal-distribution
new file mode 120000
index 0000000000..9e5e8f24f2
--- /dev/null
+++ b/Lang/QBasic/Statistics-Normal-distribution
@@ -0,0 +1 @@
+../../Task/Statistics-Normal-distribution/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/The-Name-Game b/Lang/QBasic/The-Name-Game
new file mode 120000
index 0000000000..f7f2e9b30b
--- /dev/null
+++ b/Lang/QBasic/The-Name-Game
@@ -0,0 +1 @@
+../../Task/The-Name-Game/QBasic
\ No newline at end of file
diff --git a/Lang/QBasic/Vector b/Lang/QBasic/Vector
new file mode 120000
index 0000000000..7bbf551f69
--- /dev/null
+++ b/Lang/QBasic/Vector
@@ -0,0 +1 @@
+../../Task/Vector/QBasic
\ No newline at end of file
diff --git a/Lang/Quackery/00-LANG.txt b/Lang/Quackery/00-LANG.txt
index 498188387d..b70d597b46 100644
--- a/Lang/Quackery/00-LANG.txt
+++ b/Lang/Quackery/00-LANG.txt
@@ -1,9 +1,9 @@
{{language|Quackery}}
{{language programming paradigm|Concatenative}}
{{language programming paradigm|Imperative}}
-Quackery is an open-source, lightweight, entry-level concatenative language for educational and recreational programming.
+Quackery is an open-source, lightweight, entry-level concatenative language for educational and recreational programming, and an extensible compiler for a hypothetical processor, the Quackery Engine.
-It is coded as a Python 3 function in under 48k of Pythonscript, about half of which is a string of Quackery code.
+It is coded as a Python 3 function in about 50k of Pythonscript, about half of which is a string of Quackery code.
The Quackery GitHub repository, which includes the Quackery manual "The Book of Quackery" as a pdf, is at [https://github.com/GordonCharlton/Quackery github.com/GordonCharlton/Quackery].
@@ -19,7 +19,7 @@ To compile this definition of quackery, build takes a
The words is, [, and ] are builders; they can be found in the builders dictionary, which extends the functionality of build beyond building a flat nest for do to evaluate. is takes the item that do most recently added to its output nest, and adds it to the names dictionary, along with the string that follows it, "quackery" as its name. The syntax of Quackery is; words and numbers are sequences of printable characters, separated by spaces and carriage returns unless a builder treats the text that follows it otherwise. The builder builds is equivalent to is for adding new words and behaviours to the builders dictionary.
-Evaluation of a nest proceeds from left to right unless a control flow operator redirects it. done causes doto stop evaluating a nest and return to the nest that pointed to it immediately, rather than at the end of the nest. again restarts the evaluation of that nest, non-recursively. The word recurse does it recursively. if and iff conditionally (depending on the item on the top of the Quackery stack) skip over the next one and two items in the nest respectively. else skips over one item, unconditionally. As with the other provided control flow operators, these words are nests, not operators, that make use of the "meta-control flow" operators, which grant the behaviours described above to words that use them. (They modify items on the return stack, rather than acting on the Quackery engine's various pointers registers directly, so their changes are enacted upon exiting the nest that called them.)
+Evaluation of a nest proceeds from left to right unless a control flow operator redirects it. done causes doto stop evaluating a nest and return to the nest that pointed to it immediately, rather than at the end of the nest. again restarts the evaluation of that nest, non-recursively. The word recurse does it recursively. if and iff conditionally (depending on the item on the top of the Quackery stack) skip over the next one and two items in the nest respectively. else skips over one item, unconditionally. As with the other provided control flow operators, these words are nests, not operators, that make use of the "meta-control flow" operators, which grant the behaviours described above to words that use them. (They modify items on the return stack, rather than acting on the Quackery engine's various registers directly, so their changes are enacted upon exiting the nest that called them.)
There are no variables in Quackery. Instead, there are stack management words to rearrange the uppermost items on the Quackery stack as required, and nameable ancillary stacks that fulfil the roles of variables.
@@ -27,8 +27,28 @@ Everything is code except when it is data. When do does a number, t
Conceptually, the Quackery engine is a stack based processor which does not have direct access to physical memory but has a memory management co-processor that intermediates, that takes care of the nests and bignums, provides pointers to the Quackery engine CPU on request, and garbage collects continuously.
-Quackery is not intended to be a super-fast enterprise-level language; it is intended as a fun programming project straight out of a textbook. (The textbook is included in the download.)
+Quackery is not intended to be a super-fast enterprise-level language; it is intended as an exploration of a novel architecture, and a fun programming project straight out of a textbook. (The textbook is included in the download.)
-If your language supports bignums, first-class functions and dynamic arrays of bignums, functions and dynamic arrays, and has automatic garbage collection, and if you can code depth-first traversal of a tree you can implement Quackery in your preferred language with reasonable ease, and modify it as you please.
+Why not try your hand at one of the [[Tasks not implemented in Quackery]].
-Or try your hand at one of the [[Tasks not implemented in Quackery]].
\ No newline at end of file
+== Selected Quackery Examples ==
+
+Rosetta Code has hundreds of Quackery examples. Here’s a curated set that showcases some of Quackery's strengths:
+
+* [[99 bottles of beer#Quackery|99 bottles of beer]] Shows simple, readable control flow and output.
+* [[Gosper's hack#Quackery|Gosper's hack]] A nifty one-liner.
+* [[Temperature conversion#Quackery|Temperature conversion]] Co-operative brevity.
+* [[Balanced brackets#Quackery|Balanced brackets]] Demonstrates natural stack use for classic problems.
+* [[Loops/Increment loop index within loop body#Quackery|Increment loop index within loop body]] You want a loop that's indexed ''and'' indefinite? Here's how.
+* [[Quine#Quackery|Quine]] Illustrates code-as-data and quotation handling.
+* [[Bacon cipher#Quackery|Bacon cipher]] Highlights clear text manipulation with minimal code.
+* [[Permutations#Quackery|Permutations]] Uses recursion and stack shuffling expressively.
+* [[Sorting algorithms/Insertion sort#Quackery|Insertion sort]] Demonstrates some built-in higher-order functions.
+* [[Higher-order functions#Quackery|Higher-order functions]] Defining and using fold, map, and filter.
+* [[Conway's Game of Life#Quackery|Conway's Game of Life]] Handles structured simulation with clarity.
+* [[Execute Brain****#Quackery|Brainf*** interpreter]] Demonstrates interpreter-building and extensibility.
+* [[Dinesman's multiple-dwelling problem#Quackery|Dinesman's multiple-dwelling problem]] Crafting a Domain Specific Language.
+
+== The Task that Nearly Broke the Author ==
+
+* [[Zeckendorf arithmetic#Quackery|Zeckendorf arithmetic]] Forget everything you thought you knew about arithmetic…
\ No newline at end of file
diff --git a/Lang/Quackery/4-rings-or-4-squares-puzzle b/Lang/Quackery/4-rings-or-4-squares-puzzle
new file mode 120000
index 0000000000..786cc93b7f
--- /dev/null
+++ b/Lang/Quackery/4-rings-or-4-squares-puzzle
@@ -0,0 +1 @@
+../../Task/4-rings-or-4-squares-puzzle/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Balanced-ternary b/Lang/Quackery/Balanced-ternary
new file mode 120000
index 0000000000..c02c0b6483
--- /dev/null
+++ b/Lang/Quackery/Balanced-ternary
@@ -0,0 +1 @@
+../../Task/Balanced-ternary/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Benfords-law b/Lang/Quackery/Benfords-law
new file mode 120000
index 0000000000..83c8fdffec
--- /dev/null
+++ b/Lang/Quackery/Benfords-law
@@ -0,0 +1 @@
+../../Task/Benfords-law/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Bioinformatics-base-count b/Lang/Quackery/Bioinformatics-base-count
deleted file mode 120000
index 65cab8d1ed..0000000000
--- a/Lang/Quackery/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Chowla-numbers b/Lang/Quackery/Chowla-numbers
new file mode 120000
index 0000000000..017749c553
--- /dev/null
+++ b/Lang/Quackery/Chowla-numbers
@@ -0,0 +1 @@
+../../Task/Chowla-numbers/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Combinations-and-permutations b/Lang/Quackery/Combinations-and-permutations
new file mode 120000
index 0000000000..fc6f331f4d
--- /dev/null
+++ b/Lang/Quackery/Combinations-and-permutations
@@ -0,0 +1 @@
+../../Task/Combinations-and-permutations/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Cuban-primes b/Lang/Quackery/Cuban-primes
new file mode 120000
index 0000000000..8c512d4853
--- /dev/null
+++ b/Lang/Quackery/Cuban-primes
@@ -0,0 +1 @@
+../../Task/Cuban-primes/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Dice-game-probabilities b/Lang/Quackery/Dice-game-probabilities
new file mode 120000
index 0000000000..87d28dc799
--- /dev/null
+++ b/Lang/Quackery/Dice-game-probabilities
@@ -0,0 +1 @@
+../../Task/Dice-game-probabilities/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Dinesmans-multiple-dwelling-problem b/Lang/Quackery/Dinesmans-multiple-dwelling-problem
new file mode 120000
index 0000000000..2061e87b20
--- /dev/null
+++ b/Lang/Quackery/Dinesmans-multiple-dwelling-problem
@@ -0,0 +1 @@
+../../Task/Dinesmans-multiple-dwelling-problem/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Distribution-of-0-digits-in-factorial-series b/Lang/Quackery/Distribution-of-0-digits-in-factorial-series
new file mode 120000
index 0000000000..8627f3195b
--- /dev/null
+++ b/Lang/Quackery/Distribution-of-0-digits-in-factorial-series
@@ -0,0 +1 @@
+../../Task/Distribution-of-0-digits-in-factorial-series/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Doomsday-rule b/Lang/Quackery/Doomsday-rule
new file mode 120000
index 0000000000..f3df2f0b9b
--- /dev/null
+++ b/Lang/Quackery/Doomsday-rule
@@ -0,0 +1 @@
+../../Task/Doomsday-rule/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Dutch-national-flag-problem b/Lang/Quackery/Dutch-national-flag-problem
new file mode 120000
index 0000000000..133393cf2e
--- /dev/null
+++ b/Lang/Quackery/Dutch-national-flag-problem
@@ -0,0 +1 @@
+../../Task/Dutch-national-flag-problem/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Execute-Computer-Zero b/Lang/Quackery/Execute-Computer-Zero
new file mode 120000
index 0000000000..bffceead11
--- /dev/null
+++ b/Lang/Quackery/Execute-Computer-Zero
@@ -0,0 +1 @@
+../../Task/Execute-Computer-Zero/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/First-class-functions-Use-numbers-analogously b/Lang/Quackery/First-class-functions-Use-numbers-analogously
new file mode 120000
index 0000000000..c8416f6780
--- /dev/null
+++ b/Lang/Quackery/First-class-functions-Use-numbers-analogously
@@ -0,0 +1 @@
+../../Task/First-class-functions-Use-numbers-analogously/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Flipping-bits-game b/Lang/Quackery/Flipping-bits-game
new file mode 120000
index 0000000000..fd3aa38458
--- /dev/null
+++ b/Lang/Quackery/Flipping-bits-game
@@ -0,0 +1 @@
+../../Task/Flipping-bits-game/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Golden-ratio-Convergence b/Lang/Quackery/Golden-ratio-Convergence
new file mode 120000
index 0000000000..177994dc3e
--- /dev/null
+++ b/Lang/Quackery/Golden-ratio-Convergence
@@ -0,0 +1 @@
+../../Task/Golden-ratio-Convergence/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Menu b/Lang/Quackery/Menu
new file mode 120000
index 0000000000..07087595bc
--- /dev/null
+++ b/Lang/Quackery/Menu
@@ -0,0 +1 @@
+../../Task/Menu/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Miller-Rabin-primality-test b/Lang/Quackery/Miller-Rabin-primality-test
deleted file mode 120000
index d8e4ec56b5..0000000000
--- a/Lang/Quackery/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Minimum-multiple-of-m-where-digital-sum-equals-m b/Lang/Quackery/Minimum-multiple-of-m-where-digital-sum-equals-m
new file mode 120000
index 0000000000..ddb9ece049
--- /dev/null
+++ b/Lang/Quackery/Minimum-multiple-of-m-where-digital-sum-equals-m
@@ -0,0 +1 @@
+../../Task/Minimum-multiple-of-m-where-digital-sum-equals-m/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Old-lady-swallowed-a-fly b/Lang/Quackery/Old-lady-swallowed-a-fly
new file mode 120000
index 0000000000..0d6823a2fd
--- /dev/null
+++ b/Lang/Quackery/Old-lady-swallowed-a-fly
@@ -0,0 +1 @@
+../../Task/Old-lady-swallowed-a-fly/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Password-generator b/Lang/Quackery/Password-generator
new file mode 120000
index 0000000000..8d0efee13f
--- /dev/null
+++ b/Lang/Quackery/Password-generator
@@ -0,0 +1 @@
+../../Task/Password-generator/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Pseudo-random-numbers-Xorshift-star b/Lang/Quackery/Pseudo-random-numbers-Xorshift-star
new file mode 120000
index 0000000000..0d802ea7eb
--- /dev/null
+++ b/Lang/Quackery/Pseudo-random-numbers-Xorshift-star
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-Xorshift-star/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/Quackery/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/Quackery/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/Quackery/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/Quackery/Sequence-smallest-number-with-exactly-n-divisors b/Lang/Quackery/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Quackery/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/Quackery/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/Quackery/Sleep b/Lang/Quackery/Sleep
new file mode 120000
index 0000000000..7cd0464b5f
--- /dev/null
+++ b/Lang/Quackery/Sleep
@@ -0,0 +1 @@
+../../Task/Sleep/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Solve-the-no-connection-puzzle b/Lang/Quackery/Solve-the-no-connection-puzzle
new file mode 120000
index 0000000000..d37f201a93
--- /dev/null
+++ b/Lang/Quackery/Solve-the-no-connection-puzzle
@@ -0,0 +1 @@
+../../Task/Solve-the-no-connection-puzzle/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Sorting-Algorithms-Circle-Sort b/Lang/Quackery/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index e4abaee49d..0000000000
--- a/Lang/Quackery/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Square-free-integers b/Lang/Quackery/Square-free-integers
new file mode 120000
index 0000000000..1d2a5a3f4e
--- /dev/null
+++ b/Lang/Quackery/Square-free-integers
@@ -0,0 +1 @@
+../../Task/Square-free-integers/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Sum-of-elements-below-main-diagonal-of-matrix b/Lang/Quackery/Sum-of-elements-below-main-diagonal-of-matrix
new file mode 120000
index 0000000000..1f9736ed88
--- /dev/null
+++ b/Lang/Quackery/Sum-of-elements-below-main-diagonal-of-matrix
@@ -0,0 +1 @@
+../../Task/Sum-of-elements-below-main-diagonal-of-matrix/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Two-bullet-roulette b/Lang/Quackery/Two-bullet-roulette
new file mode 120000
index 0000000000..24f00326c1
--- /dev/null
+++ b/Lang/Quackery/Two-bullet-roulette
@@ -0,0 +1 @@
+../../Task/Two-bullet-roulette/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Ultra-useful-primes b/Lang/Quackery/Ultra-useful-primes
new file mode 120000
index 0000000000..d6fc3551e1
--- /dev/null
+++ b/Lang/Quackery/Ultra-useful-primes
@@ -0,0 +1 @@
+../../Task/Ultra-useful-primes/Quackery
\ No newline at end of file
diff --git a/Lang/Quackery/Universal-Turing-machine b/Lang/Quackery/Universal-Turing-machine
new file mode 120000
index 0000000000..9346211d7e
--- /dev/null
+++ b/Lang/Quackery/Universal-Turing-machine
@@ -0,0 +1 @@
+../../Task/Universal-Turing-machine/Quackery
\ No newline at end of file
diff --git a/Lang/QuickBASIC/AKS-test-for-primes b/Lang/QuickBASIC/AKS-test-for-primes
new file mode 120000
index 0000000000..3fb1fc33c1
--- /dev/null
+++ b/Lang/QuickBASIC/AKS-test-for-primes
@@ -0,0 +1 @@
+../../Task/AKS-test-for-primes/QuickBASIC
\ No newline at end of file
diff --git a/Lang/QuickBASIC/Abundant-odd-numbers b/Lang/QuickBASIC/Abundant-odd-numbers
new file mode 120000
index 0000000000..baf10a6d8e
--- /dev/null
+++ b/Lang/QuickBASIC/Abundant-odd-numbers
@@ -0,0 +1 @@
+../../Task/Abundant-odd-numbers/QuickBASIC
\ No newline at end of file
diff --git a/Lang/QuickBASIC/Arithmetic-numbers b/Lang/QuickBASIC/Arithmetic-numbers
new file mode 120000
index 0000000000..e7076b98ae
--- /dev/null
+++ b/Lang/QuickBASIC/Arithmetic-numbers
@@ -0,0 +1 @@
+../../Task/Arithmetic-numbers/QuickBASIC
\ No newline at end of file
diff --git a/Lang/QuickBASIC/Brazilian-numbers b/Lang/QuickBASIC/Brazilian-numbers
new file mode 120000
index 0000000000..28cd1e19d8
--- /dev/null
+++ b/Lang/QuickBASIC/Brazilian-numbers
@@ -0,0 +1 @@
+../../Task/Brazilian-numbers/QuickBASIC
\ No newline at end of file
diff --git a/Lang/QuickBASIC/CUSIP b/Lang/QuickBASIC/CUSIP
new file mode 120000
index 0000000000..cb4c762939
--- /dev/null
+++ b/Lang/QuickBASIC/CUSIP
@@ -0,0 +1 @@
+../../Task/CUSIP/QuickBASIC
\ No newline at end of file
diff --git a/Lang/QuickBASIC/Catalan-numbers b/Lang/QuickBASIC/Catalan-numbers
new file mode 120000
index 0000000000..d84bc84044
--- /dev/null
+++ b/Lang/QuickBASIC/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/QuickBASIC
\ No newline at end of file
diff --git a/Lang/QuickBASIC/Cumulative-standard-deviation b/Lang/QuickBASIC/Cumulative-standard-deviation
new file mode 120000
index 0000000000..969c73b001
--- /dev/null
+++ b/Lang/QuickBASIC/Cumulative-standard-deviation
@@ -0,0 +1 @@
+../../Task/Cumulative-standard-deviation/QuickBASIC
\ No newline at end of file
diff --git a/Lang/QuickBASIC/Determine-if-a-string-is-collapsible b/Lang/QuickBASIC/Determine-if-a-string-is-collapsible
new file mode 120000
index 0000000000..d58e5303fd
--- /dev/null
+++ b/Lang/QuickBASIC/Determine-if-a-string-is-collapsible
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-collapsible/QuickBASIC
\ No newline at end of file
diff --git a/Lang/QuickBASIC/Dutch-national-flag-problem b/Lang/QuickBASIC/Dutch-national-flag-problem
new file mode 120000
index 0000000000..f213f50587
--- /dev/null
+++ b/Lang/QuickBASIC/Dutch-national-flag-problem
@@ -0,0 +1 @@
+../../Task/Dutch-national-flag-problem/QuickBASIC
\ No newline at end of file
diff --git a/Lang/QuickBASIC/Equilibrium-index b/Lang/QuickBASIC/Equilibrium-index
new file mode 120000
index 0000000000..d38cfdf137
--- /dev/null
+++ b/Lang/QuickBASIC/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/QuickBASIC
\ No newline at end of file
diff --git a/Lang/QuickBASIC/Ethiopian-multiplication b/Lang/QuickBASIC/Ethiopian-multiplication
new file mode 120000
index 0000000000..8a8cc43790
--- /dev/null
+++ b/Lang/QuickBASIC/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/QuickBASIC
\ No newline at end of file
diff --git a/Lang/QuickBASIC/Function-definition b/Lang/QuickBASIC/Function-definition
new file mode 120000
index 0000000000..0251617973
--- /dev/null
+++ b/Lang/QuickBASIC/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/QuickBASIC
\ No newline at end of file
diff --git a/Lang/QuickBASIC/Gamma-function b/Lang/QuickBASIC/Gamma-function
new file mode 120000
index 0000000000..6180b04d53
--- /dev/null
+++ b/Lang/QuickBASIC/Gamma-function
@@ -0,0 +1 @@
+../../Task/Gamma-function/QuickBASIC
\ No newline at end of file
diff --git a/Lang/QuickBASIC/Knights-tour b/Lang/QuickBASIC/Knights-tour
new file mode 120000
index 0000000000..7c54f50c61
--- /dev/null
+++ b/Lang/QuickBASIC/Knights-tour
@@ -0,0 +1 @@
+../../Task/Knights-tour/QuickBASIC
\ No newline at end of file
diff --git a/Lang/QuickBASIC/Langtons-ant b/Lang/QuickBASIC/Langtons-ant
new file mode 120000
index 0000000000..c0bbe5661c
--- /dev/null
+++ b/Lang/QuickBASIC/Langtons-ant
@@ -0,0 +1 @@
+../../Task/Langtons-ant/QuickBASIC
\ No newline at end of file
diff --git a/Lang/QuickBASIC/M-bius-function b/Lang/QuickBASIC/M-bius-function
new file mode 120000
index 0000000000..8f60fadaa9
--- /dev/null
+++ b/Lang/QuickBASIC/M-bius-function
@@ -0,0 +1 @@
+../../Task/M-bius-function/QuickBASIC
\ No newline at end of file
diff --git a/Lang/QuickBASIC/Monty-Hall-problem b/Lang/QuickBASIC/Monty-Hall-problem
new file mode 120000
index 0000000000..5a322fee75
--- /dev/null
+++ b/Lang/QuickBASIC/Monty-Hall-problem
@@ -0,0 +1 @@
+../../Task/Monty-Hall-problem/QuickBASIC
\ No newline at end of file
diff --git a/Lang/QuickBASIC/Multifactorial b/Lang/QuickBASIC/Multifactorial
new file mode 120000
index 0000000000..1f38ec7f4d
--- /dev/null
+++ b/Lang/QuickBASIC/Multifactorial
@@ -0,0 +1 @@
+../../Task/Multifactorial/QuickBASIC
\ No newline at end of file
diff --git a/Lang/QuickBASIC/Nth-root b/Lang/QuickBASIC/Nth-root
new file mode 120000
index 0000000000..db6d881466
--- /dev/null
+++ b/Lang/QuickBASIC/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/QuickBASIC
\ No newline at end of file
diff --git a/Lang/QuickBASIC/Prime-decomposition b/Lang/QuickBASIC/Prime-decomposition
new file mode 120000
index 0000000000..1a12af5b95
--- /dev/null
+++ b/Lang/QuickBASIC/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/QuickBASIC
\ No newline at end of file
diff --git a/Lang/QuickBASIC/Random-numbers b/Lang/QuickBASIC/Random-numbers
new file mode 120000
index 0000000000..8332f543fa
--- /dev/null
+++ b/Lang/QuickBASIC/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/QuickBASIC
\ No newline at end of file
diff --git a/Lang/QuickBASIC/Repeat-a-string b/Lang/QuickBASIC/Repeat-a-string
new file mode 120000
index 0000000000..f019b580c1
--- /dev/null
+++ b/Lang/QuickBASIC/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/QuickBASIC
\ No newline at end of file
diff --git a/Lang/QuickBASIC/Semiprime b/Lang/QuickBASIC/Semiprime
new file mode 120000
index 0000000000..ded745aaee
--- /dev/null
+++ b/Lang/QuickBASIC/Semiprime
@@ -0,0 +1 @@
+../../Task/Semiprime/QuickBASIC
\ No newline at end of file
diff --git a/Lang/QuickBASIC/Shoelace-formula-for-polygonal-area b/Lang/QuickBASIC/Shoelace-formula-for-polygonal-area
new file mode 120000
index 0000000000..dc63463382
--- /dev/null
+++ b/Lang/QuickBASIC/Shoelace-formula-for-polygonal-area
@@ -0,0 +1 @@
+../../Task/Shoelace-formula-for-polygonal-area/QuickBASIC
\ No newline at end of file
diff --git a/Lang/QuickBASIC/Sorting-algorithms-Quicksort b/Lang/QuickBASIC/Sorting-algorithms-Quicksort
new file mode 120000
index 0000000000..573bd236b2
--- /dev/null
+++ b/Lang/QuickBASIC/Sorting-algorithms-Quicksort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Quicksort/QuickBASIC
\ No newline at end of file
diff --git a/Lang/Quite-BASIC/Determine-sentence-type b/Lang/Quite-BASIC/Determine-sentence-type
new file mode 120000
index 0000000000..6c274b9228
--- /dev/null
+++ b/Lang/Quite-BASIC/Determine-sentence-type
@@ -0,0 +1 @@
+../../Task/Determine-sentence-type/Quite-BASIC
\ No newline at end of file
diff --git a/Lang/Quite-BASIC/Empty-program b/Lang/Quite-BASIC/Empty-program
deleted file mode 120000
index fb2bfba5b2..0000000000
--- a/Lang/Quite-BASIC/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/Quite-BASIC
\ No newline at end of file
diff --git a/Lang/R/15-puzzle-solver b/Lang/R/15-puzzle-solver
new file mode 120000
index 0000000000..f3e79214e0
--- /dev/null
+++ b/Lang/R/15-puzzle-solver
@@ -0,0 +1 @@
+../../Task/15-puzzle-solver/R
\ No newline at end of file
diff --git a/Lang/R/ADFGVX-cipher b/Lang/R/ADFGVX-cipher
new file mode 120000
index 0000000000..78a519cccb
--- /dev/null
+++ b/Lang/R/ADFGVX-cipher
@@ -0,0 +1 @@
+../../Task/ADFGVX-cipher/R
\ No newline at end of file
diff --git a/Lang/R/Angle-difference-between-two-bearings b/Lang/R/Angle-difference-between-two-bearings
new file mode 120000
index 0000000000..a27ae03f18
--- /dev/null
+++ b/Lang/R/Angle-difference-between-two-bearings
@@ -0,0 +1 @@
+../../Task/Angle-difference-between-two-bearings/R
\ No newline at end of file
diff --git a/Lang/R/Angles-geometric-normalization-and-conversion b/Lang/R/Angles-geometric-normalization-and-conversion
new file mode 120000
index 0000000000..d1e56f507e
--- /dev/null
+++ b/Lang/R/Angles-geometric-normalization-and-conversion
@@ -0,0 +1 @@
+../../Task/Angles-geometric-normalization-and-conversion/R
\ No newline at end of file
diff --git a/Lang/R/Arithmetic-derivative b/Lang/R/Arithmetic-derivative
new file mode 120000
index 0000000000..b37750c7e7
--- /dev/null
+++ b/Lang/R/Arithmetic-derivative
@@ -0,0 +1 @@
+../../Task/Arithmetic-derivative/R
\ No newline at end of file
diff --git a/Lang/R/Balanced-ternary b/Lang/R/Balanced-ternary
new file mode 120000
index 0000000000..593bb03a22
--- /dev/null
+++ b/Lang/R/Balanced-ternary
@@ -0,0 +1 @@
+../../Task/Balanced-ternary/R
\ No newline at end of file
diff --git a/Lang/R/Bioinformatics-Sequence-mutation b/Lang/R/Bioinformatics-Sequence-mutation
new file mode 120000
index 0000000000..2779ce82b8
--- /dev/null
+++ b/Lang/R/Bioinformatics-Sequence-mutation
@@ -0,0 +1 @@
+../../Task/Bioinformatics-Sequence-mutation/R
\ No newline at end of file
diff --git a/Lang/R/Bioinformatics-base-count b/Lang/R/Bioinformatics-base-count
deleted file mode 120000
index 2ca416a985..0000000000
--- a/Lang/R/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/R
\ No newline at end of file
diff --git a/Lang/R/Boyer-Moore-string-search b/Lang/R/Boyer-Moore-string-search
new file mode 120000
index 0000000000..32fa72f304
--- /dev/null
+++ b/Lang/R/Boyer-Moore-string-search
@@ -0,0 +1 @@
+../../Task/Boyer-Moore-string-search/R
\ No newline at end of file
diff --git a/Lang/R/Brazilian-numbers b/Lang/R/Brazilian-numbers
new file mode 120000
index 0000000000..87e6a7046a
--- /dev/null
+++ b/Lang/R/Brazilian-numbers
@@ -0,0 +1 @@
+../../Task/Brazilian-numbers/R
\ No newline at end of file
diff --git a/Lang/R/CUSIP b/Lang/R/CUSIP
new file mode 120000
index 0000000000..e43a376539
--- /dev/null
+++ b/Lang/R/CUSIP
@@ -0,0 +1 @@
+../../Task/CUSIP/R
\ No newline at end of file
diff --git a/Lang/R/Call-a-foreign-language-function b/Lang/R/Call-a-foreign-language-function
new file mode 120000
index 0000000000..606c52dbec
--- /dev/null
+++ b/Lang/R/Call-a-foreign-language-function
@@ -0,0 +1 @@
+../../Task/Call-a-foreign-language-function/R
\ No newline at end of file
diff --git a/Lang/R/Camel-case-and-snake-case b/Lang/R/Camel-case-and-snake-case
new file mode 120000
index 0000000000..e76dd2d66a
--- /dev/null
+++ b/Lang/R/Camel-case-and-snake-case
@@ -0,0 +1 @@
+../../Task/Camel-case-and-snake-case/R
\ No newline at end of file
diff --git a/Lang/R/Catalan-numbers-Pascals-triangle b/Lang/R/Catalan-numbers-Pascals-triangle
new file mode 120000
index 0000000000..dbe83426e3
--- /dev/null
+++ b/Lang/R/Catalan-numbers-Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Catalan-numbers-Pascals-triangle/R
\ No newline at end of file
diff --git a/Lang/R/Chinese-zodiac b/Lang/R/Chinese-zodiac
new file mode 120000
index 0000000000..55811323ec
--- /dev/null
+++ b/Lang/R/Chinese-zodiac
@@ -0,0 +1 @@
+../../Task/Chinese-zodiac/R
\ No newline at end of file
diff --git a/Lang/R/Colour-pinstripe-Display b/Lang/R/Colour-pinstripe-Display
new file mode 120000
index 0000000000..88bf4afbbd
--- /dev/null
+++ b/Lang/R/Colour-pinstripe-Display
@@ -0,0 +1 @@
+../../Task/Colour-pinstripe-Display/R
\ No newline at end of file
diff --git a/Lang/R/Compare-length-of-two-strings b/Lang/R/Compare-length-of-two-strings
new file mode 120000
index 0000000000..834feb9f20
--- /dev/null
+++ b/Lang/R/Compare-length-of-two-strings
@@ -0,0 +1 @@
+../../Task/Compare-length-of-two-strings/R
\ No newline at end of file
diff --git a/Lang/R/Compare-sorting-algorithms-performance b/Lang/R/Compare-sorting-algorithms-performance
new file mode 120000
index 0000000000..61629d6cd5
--- /dev/null
+++ b/Lang/R/Compare-sorting-algorithms-performance
@@ -0,0 +1 @@
+../../Task/Compare-sorting-algorithms-performance/R
\ No newline at end of file
diff --git a/Lang/R/Conjugate-transpose b/Lang/R/Conjugate-transpose
new file mode 120000
index 0000000000..573e26fb04
--- /dev/null
+++ b/Lang/R/Conjugate-transpose
@@ -0,0 +1 @@
+../../Task/Conjugate-transpose/R
\ No newline at end of file
diff --git a/Lang/R/Continued-fraction b/Lang/R/Continued-fraction
new file mode 120000
index 0000000000..8e8db83048
--- /dev/null
+++ b/Lang/R/Continued-fraction
@@ -0,0 +1 @@
+../../Task/Continued-fraction/R
\ No newline at end of file
diff --git a/Lang/R/Continued-fraction-Arithmetic-Construct-from-rational-number b/Lang/R/Continued-fraction-Arithmetic-Construct-from-rational-number
new file mode 120000
index 0000000000..6bffaf9997
--- /dev/null
+++ b/Lang/R/Continued-fraction-Arithmetic-Construct-from-rational-number
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-Construct-from-rational-number/R
\ No newline at end of file
diff --git a/Lang/R/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n- b/Lang/R/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n-
new file mode 120000
index 0000000000..794241b476
--- /dev/null
+++ b/Lang/R/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n-
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n-/R
\ No newline at end of file
diff --git a/Lang/R/Convert-seconds-to-compound-duration b/Lang/R/Convert-seconds-to-compound-duration
new file mode 120000
index 0000000000..85f297d7da
--- /dev/null
+++ b/Lang/R/Convert-seconds-to-compound-duration
@@ -0,0 +1 @@
+../../Task/Convert-seconds-to-compound-duration/R
\ No newline at end of file
diff --git a/Lang/R/Convex-hull b/Lang/R/Convex-hull
new file mode 120000
index 0000000000..8db2946ae1
--- /dev/null
+++ b/Lang/R/Convex-hull
@@ -0,0 +1 @@
+../../Task/Convex-hull/R
\ No newline at end of file
diff --git a/Lang/R/Count-in-octal b/Lang/R/Count-in-octal
new file mode 120000
index 0000000000..37edd3a31e
--- /dev/null
+++ b/Lang/R/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/R
\ No newline at end of file
diff --git a/Lang/R/Cramers-rule b/Lang/R/Cramers-rule
new file mode 120000
index 0000000000..839896c59f
--- /dev/null
+++ b/Lang/R/Cramers-rule
@@ -0,0 +1 @@
+../../Task/Cramers-rule/R
\ No newline at end of file
diff --git a/Lang/R/Create-an-HTML-table b/Lang/R/Create-an-HTML-table
new file mode 120000
index 0000000000..209500efb4
--- /dev/null
+++ b/Lang/R/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/R
\ No newline at end of file
diff --git a/Lang/R/Curzon-numbers b/Lang/R/Curzon-numbers
new file mode 120000
index 0000000000..a381ff9f97
--- /dev/null
+++ b/Lang/R/Curzon-numbers
@@ -0,0 +1 @@
+../../Task/Curzon-numbers/R
\ No newline at end of file
diff --git a/Lang/R/De-Bruijn-sequences b/Lang/R/De-Bruijn-sequences
new file mode 120000
index 0000000000..bd74daf8c7
--- /dev/null
+++ b/Lang/R/De-Bruijn-sequences
@@ -0,0 +1 @@
+../../Task/De-Bruijn-sequences/R
\ No newline at end of file
diff --git a/Lang/R/Deceptive-numbers b/Lang/R/Deceptive-numbers
new file mode 120000
index 0000000000..68b87065ac
--- /dev/null
+++ b/Lang/R/Deceptive-numbers
@@ -0,0 +1 @@
+../../Task/Deceptive-numbers/R
\ No newline at end of file
diff --git a/Lang/R/Deepcopy b/Lang/R/Deepcopy
new file mode 120000
index 0000000000..85c0e9d496
--- /dev/null
+++ b/Lang/R/Deepcopy
@@ -0,0 +1 @@
+../../Task/Deepcopy/R
\ No newline at end of file
diff --git a/Lang/R/Demings-funnel b/Lang/R/Demings-funnel
new file mode 120000
index 0000000000..ae9cefb48f
--- /dev/null
+++ b/Lang/R/Demings-funnel
@@ -0,0 +1 @@
+../../Task/Demings-funnel/R
\ No newline at end of file
diff --git a/Lang/R/Determine-sentence-type b/Lang/R/Determine-sentence-type
new file mode 120000
index 0000000000..b5e3ac4763
--- /dev/null
+++ b/Lang/R/Determine-sentence-type
@@ -0,0 +1 @@
+../../Task/Determine-sentence-type/R
\ No newline at end of file
diff --git a/Lang/R/Digital-root-Multiplicative-digital-root b/Lang/R/Digital-root-Multiplicative-digital-root
new file mode 120000
index 0000000000..09c29b1f07
--- /dev/null
+++ b/Lang/R/Digital-root-Multiplicative-digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root-Multiplicative-digital-root/R
\ No newline at end of file
diff --git a/Lang/R/Dijkstras-algorithm b/Lang/R/Dijkstras-algorithm
new file mode 120000
index 0000000000..3bff2fae1d
--- /dev/null
+++ b/Lang/R/Dijkstras-algorithm
@@ -0,0 +1 @@
+../../Task/Dijkstras-algorithm/R
\ No newline at end of file
diff --git a/Lang/R/Disarium-numbers b/Lang/R/Disarium-numbers
new file mode 120000
index 0000000000..233dce846c
--- /dev/null
+++ b/Lang/R/Disarium-numbers
@@ -0,0 +1 @@
+../../Task/Disarium-numbers/R
\ No newline at end of file
diff --git a/Lang/R/Display-a-linear-combination b/Lang/R/Display-a-linear-combination
new file mode 120000
index 0000000000..c292ce3aec
--- /dev/null
+++ b/Lang/R/Display-a-linear-combination
@@ -0,0 +1 @@
+../../Task/Display-a-linear-combination/R
\ No newline at end of file
diff --git a/Lang/R/Doomsday-rule b/Lang/R/Doomsday-rule
new file mode 120000
index 0000000000..d2c2b8b054
--- /dev/null
+++ b/Lang/R/Doomsday-rule
@@ -0,0 +1 @@
+../../Task/Doomsday-rule/R
\ No newline at end of file
diff --git a/Lang/R/Draw-a-cuboid b/Lang/R/Draw-a-cuboid
new file mode 120000
index 0000000000..b0d15ca88e
--- /dev/null
+++ b/Lang/R/Draw-a-cuboid
@@ -0,0 +1 @@
+../../Task/Draw-a-cuboid/R
\ No newline at end of file
diff --git a/Lang/R/Draw-a-pixel b/Lang/R/Draw-a-pixel
new file mode 120000
index 0000000000..64a7037eb8
--- /dev/null
+++ b/Lang/R/Draw-a-pixel
@@ -0,0 +1 @@
+../../Task/Draw-a-pixel/R
\ No newline at end of file
diff --git a/Lang/R/Draw-a-sphere b/Lang/R/Draw-a-sphere
new file mode 120000
index 0000000000..5508f91f81
--- /dev/null
+++ b/Lang/R/Draw-a-sphere
@@ -0,0 +1 @@
+../../Task/Draw-a-sphere/R
\ No newline at end of file
diff --git a/Lang/R/Dutch-national-flag-problem b/Lang/R/Dutch-national-flag-problem
new file mode 120000
index 0000000000..422342365f
--- /dev/null
+++ b/Lang/R/Dutch-national-flag-problem
@@ -0,0 +1 @@
+../../Task/Dutch-national-flag-problem/R
\ No newline at end of file
diff --git a/Lang/R/Equilibrium-index b/Lang/R/Equilibrium-index
new file mode 120000
index 0000000000..7c36abe0f6
--- /dev/null
+++ b/Lang/R/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/R
\ No newline at end of file
diff --git a/Lang/R/Euclid-Mullin-sequence b/Lang/R/Euclid-Mullin-sequence
new file mode 120000
index 0000000000..3929a900d8
--- /dev/null
+++ b/Lang/R/Euclid-Mullin-sequence
@@ -0,0 +1 @@
+../../Task/Euclid-Mullin-sequence/R
\ No newline at end of file
diff --git a/Lang/R/Execute-HQ9+ b/Lang/R/Execute-HQ9+
new file mode 120000
index 0000000000..0972c0bb4f
--- /dev/null
+++ b/Lang/R/Execute-HQ9+
@@ -0,0 +1 @@
+../../Task/Execute-HQ9+/R
\ No newline at end of file
diff --git a/Lang/R/Factorial-primes b/Lang/R/Factorial-primes
new file mode 120000
index 0000000000..90b75c9d38
--- /dev/null
+++ b/Lang/R/Factorial-primes
@@ -0,0 +1 @@
+../../Task/Factorial-primes/R
\ No newline at end of file
diff --git a/Lang/R/Factorions b/Lang/R/Factorions
new file mode 120000
index 0000000000..351fcd0d06
--- /dev/null
+++ b/Lang/R/Factorions
@@ -0,0 +1 @@
+../../Task/Factorions/R
\ No newline at end of file
diff --git a/Lang/R/Factors-of-a-Mersenne-number b/Lang/R/Factors-of-a-Mersenne-number
new file mode 120000
index 0000000000..7aad181edd
--- /dev/null
+++ b/Lang/R/Factors-of-a-Mersenne-number
@@ -0,0 +1 @@
+../../Task/Factors-of-a-Mersenne-number/R
\ No newline at end of file
diff --git a/Lang/R/Fermat-numbers b/Lang/R/Fermat-numbers
new file mode 120000
index 0000000000..17ea6a5311
--- /dev/null
+++ b/Lang/R/Fermat-numbers
@@ -0,0 +1 @@
+../../Task/Fermat-numbers/R
\ No newline at end of file
diff --git a/Lang/R/Fibonacci-n-step-number-sequences b/Lang/R/Fibonacci-n-step-number-sequences
new file mode 120000
index 0000000000..1cf227761a
--- /dev/null
+++ b/Lang/R/Fibonacci-n-step-number-sequences
@@ -0,0 +1 @@
+../../Task/Fibonacci-n-step-number-sequences/R
\ No newline at end of file
diff --git a/Lang/R/File-extension-is-in-extensions-list b/Lang/R/File-extension-is-in-extensions-list
new file mode 120000
index 0000000000..154f141040
--- /dev/null
+++ b/Lang/R/File-extension-is-in-extensions-list
@@ -0,0 +1 @@
+../../Task/File-extension-is-in-extensions-list/R
\ No newline at end of file
diff --git a/Lang/R/Find-palindromic-numbers-in-both-binary-and-ternary-bases b/Lang/R/Find-palindromic-numbers-in-both-binary-and-ternary-bases
new file mode 120000
index 0000000000..1adf6989fe
--- /dev/null
+++ b/Lang/R/Find-palindromic-numbers-in-both-binary-and-ternary-bases
@@ -0,0 +1 @@
+../../Task/Find-palindromic-numbers-in-both-binary-and-ternary-bases/R
\ No newline at end of file
diff --git a/Lang/R/Flipping-bits-game b/Lang/R/Flipping-bits-game
new file mode 120000
index 0000000000..45f9cba067
--- /dev/null
+++ b/Lang/R/Flipping-bits-game
@@ -0,0 +1 @@
+../../Task/Flipping-bits-game/R
\ No newline at end of file
diff --git a/Lang/R/Floyd-Warshall-algorithm b/Lang/R/Floyd-Warshall-algorithm
new file mode 120000
index 0000000000..f0f7534bc6
--- /dev/null
+++ b/Lang/R/Floyd-Warshall-algorithm
@@ -0,0 +1 @@
+../../Task/Floyd-Warshall-algorithm/R
\ No newline at end of file
diff --git a/Lang/R/Fractran b/Lang/R/Fractran
new file mode 120000
index 0000000000..4684d03d23
--- /dev/null
+++ b/Lang/R/Fractran
@@ -0,0 +1 @@
+../../Task/Fractran/R
\ No newline at end of file
diff --git a/Lang/R/Gapful-numbers b/Lang/R/Gapful-numbers
new file mode 120000
index 0000000000..d00abda6e0
--- /dev/null
+++ b/Lang/R/Gapful-numbers
@@ -0,0 +1 @@
+../../Task/Gapful-numbers/R
\ No newline at end of file
diff --git a/Lang/R/Gauss-Jordan-matrix-inversion b/Lang/R/Gauss-Jordan-matrix-inversion
new file mode 120000
index 0000000000..abdff0e0d3
--- /dev/null
+++ b/Lang/R/Gauss-Jordan-matrix-inversion
@@ -0,0 +1 @@
+../../Task/Gauss-Jordan-matrix-inversion/R
\ No newline at end of file
diff --git a/Lang/R/Giuga-numbers b/Lang/R/Giuga-numbers
new file mode 120000
index 0000000000..e45399fcf4
--- /dev/null
+++ b/Lang/R/Giuga-numbers
@@ -0,0 +1 @@
+../../Task/Giuga-numbers/R
\ No newline at end of file
diff --git a/Lang/R/Golden-ratio-Convergence b/Lang/R/Golden-ratio-Convergence
new file mode 120000
index 0000000000..c3444860a4
--- /dev/null
+++ b/Lang/R/Golden-ratio-Convergence
@@ -0,0 +1 @@
+../../Task/Golden-ratio-Convergence/R
\ No newline at end of file
diff --git a/Lang/R/Greedy-algorithm-for-Egyptian-fractions b/Lang/R/Greedy-algorithm-for-Egyptian-fractions
new file mode 120000
index 0000000000..142b97c38d
--- /dev/null
+++ b/Lang/R/Greedy-algorithm-for-Egyptian-fractions
@@ -0,0 +1 @@
+../../Task/Greedy-algorithm-for-Egyptian-fractions/R
\ No newline at end of file
diff --git a/Lang/R/Halt-and-catch-fire b/Lang/R/Halt-and-catch-fire
new file mode 120000
index 0000000000..f754df332d
--- /dev/null
+++ b/Lang/R/Halt-and-catch-fire
@@ -0,0 +1 @@
+../../Task/Halt-and-catch-fire/R
\ No newline at end of file
diff --git a/Lang/R/Harshad-or-Niven-series b/Lang/R/Harshad-or-Niven-series
new file mode 120000
index 0000000000..30268e28d1
--- /dev/null
+++ b/Lang/R/Harshad-or-Niven-series
@@ -0,0 +1 @@
+../../Task/Harshad-or-Niven-series/R
\ No newline at end of file
diff --git a/Lang/R/Hello-world-Newbie b/Lang/R/Hello-world-Newbie
new file mode 120000
index 0000000000..af7f835953
--- /dev/null
+++ b/Lang/R/Hello-world-Newbie
@@ -0,0 +1 @@
+../../Task/Hello-world-Newbie/R
\ No newline at end of file
diff --git a/Lang/R/Hex-words b/Lang/R/Hex-words
new file mode 120000
index 0000000000..f38acbfb8b
--- /dev/null
+++ b/Lang/R/Hex-words
@@ -0,0 +1 @@
+../../Task/Hex-words/R
\ No newline at end of file
diff --git a/Lang/R/Humble-numbers b/Lang/R/Humble-numbers
new file mode 120000
index 0000000000..66447beec9
--- /dev/null
+++ b/Lang/R/Humble-numbers
@@ -0,0 +1 @@
+../../Task/Humble-numbers/R
\ No newline at end of file
diff --git a/Lang/R/ISBN13-check-digit b/Lang/R/ISBN13-check-digit
new file mode 120000
index 0000000000..2ffb9a42ca
--- /dev/null
+++ b/Lang/R/ISBN13-check-digit
@@ -0,0 +1 @@
+../../Task/ISBN13-check-digit/R
\ No newline at end of file
diff --git a/Lang/R/Integer-overflow b/Lang/R/Integer-overflow
new file mode 120000
index 0000000000..35a7fbe410
--- /dev/null
+++ b/Lang/R/Integer-overflow
@@ -0,0 +1 @@
+../../Task/Integer-overflow/R
\ No newline at end of file
diff --git a/Lang/R/Isqrt-integer-square-root-of-X b/Lang/R/Isqrt-integer-square-root-of-X
new file mode 120000
index 0000000000..3aa4e6becf
--- /dev/null
+++ b/Lang/R/Isqrt-integer-square-root-of-X
@@ -0,0 +1 @@
+../../Task/Isqrt-integer-square-root-of-X/R
\ No newline at end of file
diff --git a/Lang/R/Kernighans-large-earthquake-problem b/Lang/R/Kernighans-large-earthquake-problem
new file mode 120000
index 0000000000..e4a703f050
--- /dev/null
+++ b/Lang/R/Kernighans-large-earthquake-problem
@@ -0,0 +1 @@
+../../Task/Kernighans-large-earthquake-problem/R
\ No newline at end of file
diff --git a/Lang/R/LZW-compression b/Lang/R/LZW-compression
new file mode 120000
index 0000000000..52a9a7c425
--- /dev/null
+++ b/Lang/R/LZW-compression
@@ -0,0 +1 @@
+../../Task/LZW-compression/R
\ No newline at end of file
diff --git a/Lang/R/Literals-Floating-point b/Lang/R/Literals-Floating-point
new file mode 120000
index 0000000000..45971f0459
--- /dev/null
+++ b/Lang/R/Literals-Floating-point
@@ -0,0 +1 @@
+../../Task/Literals-Floating-point/R
\ No newline at end of file
diff --git a/Lang/R/Loops-With-multiple-ranges b/Lang/R/Loops-With-multiple-ranges
new file mode 120000
index 0000000000..b09ac16be3
--- /dev/null
+++ b/Lang/R/Loops-With-multiple-ranges
@@ -0,0 +1 @@
+../../Task/Loops-With-multiple-ranges/R
\ No newline at end of file
diff --git a/Lang/R/M-bius-function b/Lang/R/M-bius-function
new file mode 120000
index 0000000000..54d202ad87
--- /dev/null
+++ b/Lang/R/M-bius-function
@@ -0,0 +1 @@
+../../Task/M-bius-function/R
\ No newline at end of file
diff --git a/Lang/R/Magic-constant b/Lang/R/Magic-constant
new file mode 120000
index 0000000000..42b2f79fd6
--- /dev/null
+++ b/Lang/R/Magic-constant
@@ -0,0 +1 @@
+../../Task/Magic-constant/R
\ No newline at end of file
diff --git a/Lang/R/Make-directory-path b/Lang/R/Make-directory-path
new file mode 120000
index 0000000000..4c5b0435c3
--- /dev/null
+++ b/Lang/R/Make-directory-path
@@ -0,0 +1 @@
+../../Task/Make-directory-path/R
\ No newline at end of file
diff --git a/Lang/R/Middle-three-digits b/Lang/R/Middle-three-digits
new file mode 120000
index 0000000000..d0b65517a3
--- /dev/null
+++ b/Lang/R/Middle-three-digits
@@ -0,0 +1 @@
+../../Task/Middle-three-digits/R
\ No newline at end of file
diff --git a/Lang/R/Modular-arithmetic b/Lang/R/Modular-arithmetic
new file mode 120000
index 0000000000..d91672ac00
--- /dev/null
+++ b/Lang/R/Modular-arithmetic
@@ -0,0 +1 @@
+../../Task/Modular-arithmetic/R
\ No newline at end of file
diff --git a/Lang/R/Modular-exponentiation b/Lang/R/Modular-exponentiation
new file mode 120000
index 0000000000..00a5ab3605
--- /dev/null
+++ b/Lang/R/Modular-exponentiation
@@ -0,0 +1 @@
+../../Task/Modular-exponentiation/R
\ No newline at end of file
diff --git a/Lang/R/Move-to-front-algorithm b/Lang/R/Move-to-front-algorithm
new file mode 120000
index 0000000000..4c2217c694
--- /dev/null
+++ b/Lang/R/Move-to-front-algorithm
@@ -0,0 +1 @@
+../../Task/Move-to-front-algorithm/R
\ No newline at end of file
diff --git a/Lang/R/Multi-dimensional-array b/Lang/R/Multi-dimensional-array
new file mode 120000
index 0000000000..c00f08cfcf
--- /dev/null
+++ b/Lang/R/Multi-dimensional-array
@@ -0,0 +1 @@
+../../Task/Multi-dimensional-array/R
\ No newline at end of file
diff --git a/Lang/R/Munchausen-numbers b/Lang/R/Munchausen-numbers
new file mode 120000
index 0000000000..aa4d45945f
--- /dev/null
+++ b/Lang/R/Munchausen-numbers
@@ -0,0 +1 @@
+../../Task/Munchausen-numbers/R
\ No newline at end of file
diff --git a/Lang/R/Munching-squares b/Lang/R/Munching-squares
new file mode 120000
index 0000000000..5c31288892
--- /dev/null
+++ b/Lang/R/Munching-squares
@@ -0,0 +1 @@
+../../Task/Munching-squares/R
\ No newline at end of file
diff --git a/Lang/R/Naming-conventions b/Lang/R/Naming-conventions
new file mode 120000
index 0000000000..6ca70fbd5c
--- /dev/null
+++ b/Lang/R/Naming-conventions
@@ -0,0 +1 @@
+../../Task/Naming-conventions/R
\ No newline at end of file
diff --git a/Lang/R/Numbers-with-equal-rises-and-falls b/Lang/R/Numbers-with-equal-rises-and-falls
new file mode 120000
index 0000000000..bd2b09b1a8
--- /dev/null
+++ b/Lang/R/Numbers-with-equal-rises-and-falls
@@ -0,0 +1 @@
+../../Task/Numbers-with-equal-rises-and-falls/R
\ No newline at end of file
diff --git a/Lang/R/Numeric-error-propagation b/Lang/R/Numeric-error-propagation
new file mode 120000
index 0000000000..b4d737b26d
--- /dev/null
+++ b/Lang/R/Numeric-error-propagation
@@ -0,0 +1 @@
+../../Task/Numeric-error-propagation/R
\ No newline at end of file
diff --git a/Lang/R/Old-Russian-measure-of-length b/Lang/R/Old-Russian-measure-of-length
new file mode 120000
index 0000000000..10e03acc09
--- /dev/null
+++ b/Lang/R/Old-Russian-measure-of-length
@@ -0,0 +1 @@
+../../Task/Old-Russian-measure-of-length/R
\ No newline at end of file
diff --git a/Lang/R/Order-two-numerical-lists b/Lang/R/Order-two-numerical-lists
new file mode 120000
index 0000000000..7823304c26
--- /dev/null
+++ b/Lang/R/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/R
\ No newline at end of file
diff --git a/Lang/R/Padovan-n-step-number-sequences b/Lang/R/Padovan-n-step-number-sequences
new file mode 120000
index 0000000000..bb121da853
--- /dev/null
+++ b/Lang/R/Padovan-n-step-number-sequences
@@ -0,0 +1 @@
+../../Task/Padovan-n-step-number-sequences/R
\ No newline at end of file
diff --git a/Lang/R/Parse-an-IP-Address b/Lang/R/Parse-an-IP-Address
new file mode 120000
index 0000000000..9f23986592
--- /dev/null
+++ b/Lang/R/Parse-an-IP-Address
@@ -0,0 +1 @@
+../../Task/Parse-an-IP-Address/R
\ No newline at end of file
diff --git a/Lang/R/Parsing-RPN-calculator-algorithm b/Lang/R/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..121dbc0d6c
--- /dev/null
+++ b/Lang/R/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/R
\ No newline at end of file
diff --git a/Lang/R/Parsing-Shunting-yard-algorithm b/Lang/R/Parsing-Shunting-yard-algorithm
new file mode 120000
index 0000000000..ceae410d30
--- /dev/null
+++ b/Lang/R/Parsing-Shunting-yard-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-Shunting-yard-algorithm/R
\ No newline at end of file
diff --git a/Lang/R/Pernicious-numbers b/Lang/R/Pernicious-numbers
new file mode 120000
index 0000000000..e0d8d55200
--- /dev/null
+++ b/Lang/R/Pernicious-numbers
@@ -0,0 +1 @@
+../../Task/Pernicious-numbers/R
\ No newline at end of file
diff --git a/Lang/R/Phrase-reversals b/Lang/R/Phrase-reversals
new file mode 120000
index 0000000000..a54a2683b7
--- /dev/null
+++ b/Lang/R/Phrase-reversals
@@ -0,0 +1 @@
+../../Task/Phrase-reversals/R
\ No newline at end of file
diff --git a/Lang/R/Pig-the-dice-game b/Lang/R/Pig-the-dice-game
new file mode 120000
index 0000000000..eb7f5b9e91
--- /dev/null
+++ b/Lang/R/Pig-the-dice-game
@@ -0,0 +1 @@
+../../Task/Pig-the-dice-game/R
\ No newline at end of file
diff --git a/Lang/R/Pinstripe-Display b/Lang/R/Pinstripe-Display
new file mode 120000
index 0000000000..ecca9291db
--- /dev/null
+++ b/Lang/R/Pinstripe-Display
@@ -0,0 +1 @@
+../../Task/Pinstripe-Display/R
\ No newline at end of file
diff --git a/Lang/R/Plasma-effect b/Lang/R/Plasma-effect
new file mode 120000
index 0000000000..0d663e21d0
--- /dev/null
+++ b/Lang/R/Plasma-effect
@@ -0,0 +1 @@
+../../Task/Plasma-effect/R
\ No newline at end of file
diff --git a/Lang/R/Poker-hand-analyser b/Lang/R/Poker-hand-analyser
new file mode 120000
index 0000000000..1291d08bb2
--- /dev/null
+++ b/Lang/R/Poker-hand-analyser
@@ -0,0 +1 @@
+../../Task/Poker-hand-analyser/R
\ No newline at end of file
diff --git a/Lang/R/Pseudo-random-numbers-Middle-square-method b/Lang/R/Pseudo-random-numbers-Middle-square-method
new file mode 120000
index 0000000000..27657f10ef
--- /dev/null
+++ b/Lang/R/Pseudo-random-numbers-Middle-square-method
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-Middle-square-method/R
\ No newline at end of file
diff --git a/Lang/R/Quaternion-type b/Lang/R/Quaternion-type
deleted file mode 120000
index 2e826895b9..0000000000
--- a/Lang/R/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/R
\ No newline at end of file
diff --git a/Lang/R/Quickselect-algorithm b/Lang/R/Quickselect-algorithm
new file mode 120000
index 0000000000..996073d670
--- /dev/null
+++ b/Lang/R/Quickselect-algorithm
@@ -0,0 +1 @@
+../../Task/Quickselect-algorithm/R
\ No newline at end of file
diff --git a/Lang/R/Rename-a-file b/Lang/R/Rename-a-file
new file mode 120000
index 0000000000..d3214c3f95
--- /dev/null
+++ b/Lang/R/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/R
\ No newline at end of file
diff --git a/Lang/R/Rep-string b/Lang/R/Rep-string
new file mode 120000
index 0000000000..6f2483d2e5
--- /dev/null
+++ b/Lang/R/Rep-string
@@ -0,0 +1 @@
+../../Task/Rep-string/R
\ No newline at end of file
diff --git a/Lang/R/Repunit-primes b/Lang/R/Repunit-primes
new file mode 120000
index 0000000000..9ae6100164
--- /dev/null
+++ b/Lang/R/Repunit-primes
@@ -0,0 +1 @@
+../../Task/Repunit-primes/R
\ No newline at end of file
diff --git a/Lang/R/Retrieve-and-search-chat-history b/Lang/R/Retrieve-and-search-chat-history
new file mode 120000
index 0000000000..6f350b7b8c
--- /dev/null
+++ b/Lang/R/Retrieve-and-search-chat-history
@@ -0,0 +1 @@
+../../Task/Retrieve-and-search-chat-history/R
\ No newline at end of file
diff --git a/Lang/R/Search-a-list-of-records b/Lang/R/Search-a-list-of-records
new file mode 120000
index 0000000000..ee8b509a32
--- /dev/null
+++ b/Lang/R/Search-a-list-of-records
@@ -0,0 +1 @@
+../../Task/Search-a-list-of-records/R
\ No newline at end of file
diff --git a/Lang/R/Self-describing-numbers b/Lang/R/Self-describing-numbers
new file mode 120000
index 0000000000..3e9383f257
--- /dev/null
+++ b/Lang/R/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/R
\ No newline at end of file
diff --git a/Lang/R/Semordnilap b/Lang/R/Semordnilap
new file mode 120000
index 0000000000..8ef388caef
--- /dev/null
+++ b/Lang/R/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/R
\ No newline at end of file
diff --git a/Lang/R/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/R/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/R/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/R/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/R/Sequence-smallest-number-with-exactly-n-divisors b/Lang/R/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/R/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/R/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/R/Shoelace-formula-for-polygonal-area b/Lang/R/Shoelace-formula-for-polygonal-area
new file mode 120000
index 0000000000..8e6ea3fcc6
--- /dev/null
+++ b/Lang/R/Shoelace-formula-for-polygonal-area
@@ -0,0 +1 @@
+../../Task/Shoelace-formula-for-polygonal-area/R
\ No newline at end of file
diff --git a/Lang/R/Soloways-recurring-rainfall b/Lang/R/Soloways-recurring-rainfall
new file mode 120000
index 0000000000..33b1f84311
--- /dev/null
+++ b/Lang/R/Soloways-recurring-rainfall
@@ -0,0 +1 @@
+../../Task/Soloways-recurring-rainfall/R
\ No newline at end of file
diff --git a/Lang/R/Sort-numbers-lexicographically b/Lang/R/Sort-numbers-lexicographically
new file mode 120000
index 0000000000..77a76317d2
--- /dev/null
+++ b/Lang/R/Sort-numbers-lexicographically
@@ -0,0 +1 @@
+../../Task/Sort-numbers-lexicographically/R
\ No newline at end of file
diff --git a/Lang/R/Sorting-algorithms-Bead-sort b/Lang/R/Sorting-algorithms-Bead-sort
new file mode 120000
index 0000000000..4be00936ef
--- /dev/null
+++ b/Lang/R/Sorting-algorithms-Bead-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Bead-sort/R
\ No newline at end of file
diff --git a/Lang/R/Sorting-algorithms-Patience-sort b/Lang/R/Sorting-algorithms-Patience-sort
new file mode 120000
index 0000000000..bcaf3b078e
--- /dev/null
+++ b/Lang/R/Sorting-algorithms-Patience-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Patience-sort/R
\ No newline at end of file
diff --git a/Lang/R/Sorting-algorithms-Strand-sort b/Lang/R/Sorting-algorithms-Strand-sort
new file mode 120000
index 0000000000..80a612e755
--- /dev/null
+++ b/Lang/R/Sorting-algorithms-Strand-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Strand-sort/R
\ No newline at end of file
diff --git a/Lang/R/Spinning-rod-animation-Text b/Lang/R/Spinning-rod-animation-Text
new file mode 120000
index 0000000000..3083d1bb50
--- /dev/null
+++ b/Lang/R/Spinning-rod-animation-Text
@@ -0,0 +1 @@
+../../Task/Spinning-rod-animation-Text/R
\ No newline at end of file
diff --git a/Lang/R/Split-a-character-string-based-on-change-of-character b/Lang/R/Split-a-character-string-based-on-change-of-character
new file mode 120000
index 0000000000..16a92812f1
--- /dev/null
+++ b/Lang/R/Split-a-character-string-based-on-change-of-character
@@ -0,0 +1 @@
+../../Task/Split-a-character-string-based-on-change-of-character/R
\ No newline at end of file
diff --git a/Lang/R/Square-free-integers b/Lang/R/Square-free-integers
new file mode 120000
index 0000000000..a07b4300b5
--- /dev/null
+++ b/Lang/R/Square-free-integers
@@ -0,0 +1 @@
+../../Task/Square-free-integers/R
\ No newline at end of file
diff --git a/Lang/R/Start-from-a-main-routine b/Lang/R/Start-from-a-main-routine
new file mode 120000
index 0000000000..915851ff80
--- /dev/null
+++ b/Lang/R/Start-from-a-main-routine
@@ -0,0 +1 @@
+../../Task/Start-from-a-main-routine/R
\ No newline at end of file
diff --git a/Lang/R/Strassens-algorithm b/Lang/R/Strassens-algorithm
new file mode 120000
index 0000000000..e4aa0075a9
--- /dev/null
+++ b/Lang/R/Strassens-algorithm
@@ -0,0 +1 @@
+../../Task/Strassens-algorithm/R
\ No newline at end of file
diff --git a/Lang/R/String-interpolation-included- b/Lang/R/String-interpolation-included-
new file mode 120000
index 0000000000..f311002546
--- /dev/null
+++ b/Lang/R/String-interpolation-included-
@@ -0,0 +1 @@
+../../Task/String-interpolation-included-/R
\ No newline at end of file
diff --git a/Lang/R/String-matching b/Lang/R/String-matching
new file mode 120000
index 0000000000..2461134ac0
--- /dev/null
+++ b/Lang/R/String-matching
@@ -0,0 +1 @@
+../../Task/String-matching/R
\ No newline at end of file
diff --git a/Lang/R/Strip-a-set-of-characters-from-a-string b/Lang/R/Strip-a-set-of-characters-from-a-string
new file mode 120000
index 0000000000..b83d60c994
--- /dev/null
+++ b/Lang/R/Strip-a-set-of-characters-from-a-string
@@ -0,0 +1 @@
+../../Task/Strip-a-set-of-characters-from-a-string/R
\ No newline at end of file
diff --git a/Lang/R/Strip-block-comments b/Lang/R/Strip-block-comments
new file mode 120000
index 0000000000..17c55383a8
--- /dev/null
+++ b/Lang/R/Strip-block-comments
@@ -0,0 +1 @@
+../../Task/Strip-block-comments/R
\ No newline at end of file
diff --git a/Lang/R/Substitution-cipher b/Lang/R/Substitution-cipher
new file mode 120000
index 0000000000..ce3c7f1ac2
--- /dev/null
+++ b/Lang/R/Substitution-cipher
@@ -0,0 +1 @@
+../../Task/Substitution-cipher/R
\ No newline at end of file
diff --git a/Lang/R/Substring-Top-and-tail b/Lang/R/Substring-Top-and-tail
new file mode 120000
index 0000000000..271cd3b15f
--- /dev/null
+++ b/Lang/R/Substring-Top-and-tail
@@ -0,0 +1 @@
+../../Task/Substring-Top-and-tail/R
\ No newline at end of file
diff --git a/Lang/R/Superellipse b/Lang/R/Superellipse
new file mode 120000
index 0000000000..3b8dc95f89
--- /dev/null
+++ b/Lang/R/Superellipse
@@ -0,0 +1 @@
+../../Task/Superellipse/R
\ No newline at end of file
diff --git a/Lang/R/Sylvesters-sequence b/Lang/R/Sylvesters-sequence
new file mode 120000
index 0000000000..29d289c6ff
--- /dev/null
+++ b/Lang/R/Sylvesters-sequence
@@ -0,0 +1 @@
+../../Task/Sylvesters-sequence/R
\ No newline at end of file
diff --git a/Lang/R/Textonyms b/Lang/R/Textonyms
new file mode 120000
index 0000000000..a6ba4b7c41
--- /dev/null
+++ b/Lang/R/Textonyms
@@ -0,0 +1 @@
+../../Task/Textonyms/R
\ No newline at end of file
diff --git a/Lang/R/The-Name-Game b/Lang/R/The-Name-Game
new file mode 120000
index 0000000000..a5e981bf52
--- /dev/null
+++ b/Lang/R/The-Name-Game
@@ -0,0 +1 @@
+../../Task/The-Name-Game/R
\ No newline at end of file
diff --git a/Lang/R/Tonelli-Shanks-algorithm b/Lang/R/Tonelli-Shanks-algorithm
new file mode 120000
index 0000000000..2ad48c9cd5
--- /dev/null
+++ b/Lang/R/Tonelli-Shanks-algorithm
@@ -0,0 +1 @@
+../../Task/Tonelli-Shanks-algorithm/R
\ No newline at end of file
diff --git a/Lang/R/Transliterate-English-text-using-the-Greek-alphabet b/Lang/R/Transliterate-English-text-using-the-Greek-alphabet
new file mode 120000
index 0000000000..0b8d7b7463
--- /dev/null
+++ b/Lang/R/Transliterate-English-text-using-the-Greek-alphabet
@@ -0,0 +1 @@
+../../Task/Transliterate-English-text-using-the-Greek-alphabet/R
\ No newline at end of file
diff --git a/Lang/R/Twelve-statements b/Lang/R/Twelve-statements
new file mode 120000
index 0000000000..89536cfc68
--- /dev/null
+++ b/Lang/R/Twelve-statements
@@ -0,0 +1 @@
+../../Task/Twelve-statements/R
\ No newline at end of file
diff --git a/Lang/R/Van-der-Corput-sequence b/Lang/R/Van-der-Corput-sequence
new file mode 120000
index 0000000000..66a8a345d5
--- /dev/null
+++ b/Lang/R/Van-der-Corput-sequence
@@ -0,0 +1 @@
+../../Task/Van-der-Corput-sequence/R
\ No newline at end of file
diff --git a/Lang/R/Variable-declaration-reset b/Lang/R/Variable-declaration-reset
new file mode 120000
index 0000000000..d5c07caba9
--- /dev/null
+++ b/Lang/R/Variable-declaration-reset
@@ -0,0 +1 @@
+../../Task/Variable-declaration-reset/R
\ No newline at end of file
diff --git a/Lang/R/Vector b/Lang/R/Vector
new file mode 120000
index 0000000000..3d5cfd297c
--- /dev/null
+++ b/Lang/R/Vector
@@ -0,0 +1 @@
+../../Task/Vector/R
\ No newline at end of file
diff --git a/Lang/R/Verhoeff-algorithm b/Lang/R/Verhoeff-algorithm
new file mode 120000
index 0000000000..2838835d10
--- /dev/null
+++ b/Lang/R/Verhoeff-algorithm
@@ -0,0 +1 @@
+../../Task/Verhoeff-algorithm/R
\ No newline at end of file
diff --git a/Lang/R/Wieferich-primes b/Lang/R/Wieferich-primes
new file mode 120000
index 0000000000..1c103bdf36
--- /dev/null
+++ b/Lang/R/Wieferich-primes
@@ -0,0 +1 @@
+../../Task/Wieferich-primes/R
\ No newline at end of file
diff --git a/Lang/R/Wilson-primes-of-order-n b/Lang/R/Wilson-primes-of-order-n
new file mode 120000
index 0000000000..0638b273a2
--- /dev/null
+++ b/Lang/R/Wilson-primes-of-order-n
@@ -0,0 +1 @@
+../../Task/Wilson-primes-of-order-n/R
\ No newline at end of file
diff --git a/Lang/R/Write-entire-file b/Lang/R/Write-entire-file
new file mode 120000
index 0000000000..2972bb07fe
--- /dev/null
+++ b/Lang/R/Write-entire-file
@@ -0,0 +1 @@
+../../Task/Write-entire-file/R
\ No newline at end of file
diff --git a/Lang/REBOL/00-LANG.txt b/Lang/REBOL/00-LANG.txt
deleted file mode 100644
index 0117c8198c..0000000000
--- a/Lang/REBOL/00-LANG.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-{{stub}}{{language|REBOL
-|site=http://rebol.com}}
-REBOL stands for Relative Expression Based Object Language.
\ No newline at end of file
diff --git a/Lang/REBOL/00-META.yaml b/Lang/REBOL/00-META.yaml
deleted file mode 100644
index 58070bb517..0000000000
--- a/Lang/REBOL/00-META.yaml
+++ /dev/null
@@ -1,2 +0,0 @@
----
-from: http://rosettacode.org/wiki/Category:REBOL
diff --git a/Lang/REBOL/100-doors b/Lang/REBOL/100-doors
deleted file mode 120000
index 3c604849c4..0000000000
--- a/Lang/REBOL/100-doors
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/100-doors/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/15-puzzle-game b/Lang/REBOL/15-puzzle-game
deleted file mode 120000
index ca19266202..0000000000
--- a/Lang/REBOL/15-puzzle-game
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/15-puzzle-game/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/99-bottles-of-beer b/Lang/REBOL/99-bottles-of-beer
deleted file mode 120000
index 464d38e243..0000000000
--- a/Lang/REBOL/99-bottles-of-beer
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/99-bottles-of-beer/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/A+B b/Lang/REBOL/A+B
deleted file mode 120000
index a6531c3ec1..0000000000
--- a/Lang/REBOL/A+B
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/A+B/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Abstract-type b/Lang/REBOL/Abstract-type
deleted file mode 120000
index c01205f584..0000000000
--- a/Lang/REBOL/Abstract-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Abstract-type/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Accumulator-factory b/Lang/REBOL/Accumulator-factory
deleted file mode 120000
index 9f94ac82f1..0000000000
--- a/Lang/REBOL/Accumulator-factory
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Accumulator-factory/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Add-a-variable-to-a-class-instance-at-runtime b/Lang/REBOL/Add-a-variable-to-a-class-instance-at-runtime
deleted file mode 120000
index 901f7e7487..0000000000
--- a/Lang/REBOL/Add-a-variable-to-a-class-instance-at-runtime
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Add-a-variable-to-a-class-instance-at-runtime/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Align-columns b/Lang/REBOL/Align-columns
deleted file mode 120000
index 67ffa18d54..0000000000
--- a/Lang/REBOL/Align-columns
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Align-columns/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Amicable-pairs b/Lang/REBOL/Amicable-pairs
deleted file mode 120000
index 238ed42eb6..0000000000
--- a/Lang/REBOL/Amicable-pairs
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Amicable-pairs/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Animation b/Lang/REBOL/Animation
deleted file mode 120000
index 0fccfbad33..0000000000
--- a/Lang/REBOL/Animation
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Animation/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Anonymous-recursion b/Lang/REBOL/Anonymous-recursion
deleted file mode 120000
index 5c9e13cbb0..0000000000
--- a/Lang/REBOL/Anonymous-recursion
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Anonymous-recursion/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Apply-a-callback-to-an-array b/Lang/REBOL/Apply-a-callback-to-an-array
deleted file mode 120000
index a9a331e92d..0000000000
--- a/Lang/REBOL/Apply-a-callback-to-an-array
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Apply-a-callback-to-an-array/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Arithmetic-Integer b/Lang/REBOL/Arithmetic-Integer
deleted file mode 120000
index acafb7724e..0000000000
--- a/Lang/REBOL/Arithmetic-Integer
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arithmetic-Integer/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Array-concatenation b/Lang/REBOL/Array-concatenation
deleted file mode 120000
index 679c10ed62..0000000000
--- a/Lang/REBOL/Array-concatenation
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Array-concatenation/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Array-length b/Lang/REBOL/Array-length
deleted file mode 120000
index d083adde64..0000000000
--- a/Lang/REBOL/Array-length
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Array-length/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Arrays b/Lang/REBOL/Arrays
deleted file mode 120000
index 9fc95551ee..0000000000
--- a/Lang/REBOL/Arrays
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arrays/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Averages-Arithmetic-mean b/Lang/REBOL/Averages-Arithmetic-mean
deleted file mode 120000
index de8cb5e395..0000000000
--- a/Lang/REBOL/Averages-Arithmetic-mean
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Averages-Arithmetic-mean/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Averages-Median b/Lang/REBOL/Averages-Median
deleted file mode 120000
index 96ef2cd694..0000000000
--- a/Lang/REBOL/Averages-Median
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Averages-Median/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Calendar b/Lang/REBOL/Calendar
deleted file mode 120000
index f396941538..0000000000
--- a/Lang/REBOL/Calendar
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Calendar/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Check-that-file-exists b/Lang/REBOL/Check-that-file-exists
deleted file mode 120000
index 70f5435458..0000000000
--- a/Lang/REBOL/Check-that-file-exists
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Check-that-file-exists/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Classes b/Lang/REBOL/Classes
deleted file mode 120000
index f823823847..0000000000
--- a/Lang/REBOL/Classes
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Classes/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Comma-quibbling b/Lang/REBOL/Comma-quibbling
deleted file mode 120000
index b2f7530541..0000000000
--- a/Lang/REBOL/Comma-quibbling
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Comma-quibbling/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Comments b/Lang/REBOL/Comments
deleted file mode 120000
index 2dad54191c..0000000000
--- a/Lang/REBOL/Comments
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Comments/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Copy-a-string b/Lang/REBOL/Copy-a-string
deleted file mode 120000
index 8babad9959..0000000000
--- a/Lang/REBOL/Copy-a-string
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Copy-a-string/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Create-a-file b/Lang/REBOL/Create-a-file
deleted file mode 120000
index 3089537d01..0000000000
--- a/Lang/REBOL/Create-a-file
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Create-a-file/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Date-format b/Lang/REBOL/Date-format
deleted file mode 120000
index 33ce065e87..0000000000
--- a/Lang/REBOL/Date-format
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Date-format/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Date-manipulation b/Lang/REBOL/Date-manipulation
deleted file mode 120000
index 2722a008ce..0000000000
--- a/Lang/REBOL/Date-manipulation
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Date-manipulation/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Day-of-the-week b/Lang/REBOL/Day-of-the-week
deleted file mode 120000
index 82d7509a60..0000000000
--- a/Lang/REBOL/Day-of-the-week
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Day-of-the-week/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Delete-a-file b/Lang/REBOL/Delete-a-file
deleted file mode 120000
index 66f14845d7..0000000000
--- a/Lang/REBOL/Delete-a-file
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Delete-a-file/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Detect-division-by-zero b/Lang/REBOL/Detect-division-by-zero
deleted file mode 120000
index b0ccafd718..0000000000
--- a/Lang/REBOL/Detect-division-by-zero
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Detect-division-by-zero/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Determine-if-a-string-is-numeric b/Lang/REBOL/Determine-if-a-string-is-numeric
deleted file mode 120000
index 045a0ae13f..0000000000
--- a/Lang/REBOL/Determine-if-a-string-is-numeric
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Determine-if-a-string-is-numeric/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Documentation b/Lang/REBOL/Documentation
deleted file mode 120000
index daa69740d8..0000000000
--- a/Lang/REBOL/Documentation
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Documentation/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Dot-product b/Lang/REBOL/Dot-product
deleted file mode 120000
index 0e405ceca0..0000000000
--- a/Lang/REBOL/Dot-product
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Dot-product/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Dynamic-variable-names b/Lang/REBOL/Dynamic-variable-names
deleted file mode 120000
index dc26f8842e..0000000000
--- a/Lang/REBOL/Dynamic-variable-names
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Dynamic-variable-names/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Echo-server b/Lang/REBOL/Echo-server
deleted file mode 120000
index e5f15ce096..0000000000
--- a/Lang/REBOL/Echo-server
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Echo-server/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Empty-program b/Lang/REBOL/Empty-program
deleted file mode 120000
index 15b162acc2..0000000000
--- a/Lang/REBOL/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Environment-variables b/Lang/REBOL/Environment-variables
deleted file mode 120000
index 1742700711..0000000000
--- a/Lang/REBOL/Environment-variables
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Environment-variables/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Execute-Brain- b/Lang/REBOL/Execute-Brain-
deleted file mode 120000
index 5d49896311..0000000000
--- a/Lang/REBOL/Execute-Brain-
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Execute-Brain-/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Execute-a-system-command b/Lang/REBOL/Execute-a-system-command
deleted file mode 120000
index 6177e36583..0000000000
--- a/Lang/REBOL/Execute-a-system-command
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Execute-a-system-command/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/FTP b/Lang/REBOL/FTP
deleted file mode 120000
index 7ab1c53c58..0000000000
--- a/Lang/REBOL/FTP
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/FTP/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Factorial b/Lang/REBOL/Factorial
deleted file mode 120000
index 8643656c0a..0000000000
--- a/Lang/REBOL/Factorial
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Factorial/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/File-input-output b/Lang/REBOL/File-input-output
deleted file mode 120000
index 30e510fb5d..0000000000
--- a/Lang/REBOL/File-input-output
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/File-input-output/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/File-size b/Lang/REBOL/File-size
deleted file mode 120000
index 61c4252f32..0000000000
--- a/Lang/REBOL/File-size
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/File-size/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Filter b/Lang/REBOL/Filter
deleted file mode 120000
index d25c807398..0000000000
--- a/Lang/REBOL/Filter
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Filter/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Find-the-last-Sunday-of-each-month b/Lang/REBOL/Find-the-last-Sunday-of-each-month
deleted file mode 120000
index c54d330170..0000000000
--- a/Lang/REBOL/Find-the-last-Sunday-of-each-month
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Find-the-last-Sunday-of-each-month/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/First-class-functions b/Lang/REBOL/First-class-functions
deleted file mode 120000
index 729d2ef773..0000000000
--- a/Lang/REBOL/First-class-functions
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/First-class-functions/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Fixed-length-records b/Lang/REBOL/Fixed-length-records
deleted file mode 120000
index c6d6d1ea72..0000000000
--- a/Lang/REBOL/Fixed-length-records
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Fixed-length-records/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/FizzBuzz b/Lang/REBOL/FizzBuzz
deleted file mode 120000
index 5fada5dc79..0000000000
--- a/Lang/REBOL/FizzBuzz
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/FizzBuzz/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Flatten-a-list b/Lang/REBOL/Flatten-a-list
deleted file mode 120000
index c63e60f1ae..0000000000
--- a/Lang/REBOL/Flatten-a-list
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Flatten-a-list/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Flow-control-structures b/Lang/REBOL/Flow-control-structures
deleted file mode 120000
index 02978f970b..0000000000
--- a/Lang/REBOL/Flow-control-structures
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Flow-control-structures/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Formatted-numeric-output b/Lang/REBOL/Formatted-numeric-output
deleted file mode 120000
index 6231201b56..0000000000
--- a/Lang/REBOL/Formatted-numeric-output
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Formatted-numeric-output/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Function-composition b/Lang/REBOL/Function-composition
deleted file mode 120000
index 00fbef410f..0000000000
--- a/Lang/REBOL/Function-composition
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Function-composition/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Function-definition b/Lang/REBOL/Function-definition
deleted file mode 120000
index 24045b17c8..0000000000
--- a/Lang/REBOL/Function-definition
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Function-definition/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Generic-swap b/Lang/REBOL/Generic-swap
deleted file mode 120000
index 252d05095f..0000000000
--- a/Lang/REBOL/Generic-swap
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Generic-swap/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Greatest-common-divisor b/Lang/REBOL/Greatest-common-divisor
deleted file mode 120000
index 66251fda3d..0000000000
--- a/Lang/REBOL/Greatest-common-divisor
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Greatest-common-divisor/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Greatest-element-of-a-list b/Lang/REBOL/Greatest-element-of-a-list
deleted file mode 120000
index bf835b648c..0000000000
--- a/Lang/REBOL/Greatest-element-of-a-list
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Greatest-element-of-a-list/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/HTTP b/Lang/REBOL/HTTP
deleted file mode 120000
index 7ade844f73..0000000000
--- a/Lang/REBOL/HTTP
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/HTTP/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Hailstone-sequence b/Lang/REBOL/Hailstone-sequence
deleted file mode 120000
index f668d98fe0..0000000000
--- a/Lang/REBOL/Hailstone-sequence
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Hailstone-sequence/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Hello-world-Graphical b/Lang/REBOL/Hello-world-Graphical
deleted file mode 120000
index 65375f6063..0000000000
--- a/Lang/REBOL/Hello-world-Graphical
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Hello-world-Graphical/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Hello-world-Newline-omission b/Lang/REBOL/Hello-world-Newline-omission
deleted file mode 120000
index a1ab230770..0000000000
--- a/Lang/REBOL/Hello-world-Newline-omission
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Hello-world-Newline-omission/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Hello-world-Text b/Lang/REBOL/Hello-world-Text
deleted file mode 120000
index 417f675e90..0000000000
--- a/Lang/REBOL/Hello-world-Text
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Hello-world-Text/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Higher-order-functions b/Lang/REBOL/Higher-order-functions
deleted file mode 120000
index e0da7764d4..0000000000
--- a/Lang/REBOL/Higher-order-functions
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Higher-order-functions/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Horners-rule-for-polynomial-evaluation b/Lang/REBOL/Horners-rule-for-polynomial-evaluation
deleted file mode 120000
index 3ed4d272a6..0000000000
--- a/Lang/REBOL/Horners-rule-for-polynomial-evaluation
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Horners-rule-for-polynomial-evaluation/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Hostname b/Lang/REBOL/Hostname
deleted file mode 120000
index 00509fe88c..0000000000
--- a/Lang/REBOL/Hostname
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Hostname/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Increment-a-numerical-string b/Lang/REBOL/Increment-a-numerical-string
deleted file mode 120000
index 0b8ae5b473..0000000000
--- a/Lang/REBOL/Increment-a-numerical-string
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Increment-a-numerical-string/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Inheritance-Single b/Lang/REBOL/Inheritance-Single
deleted file mode 120000
index 8790c38450..0000000000
--- a/Lang/REBOL/Inheritance-Single
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Inheritance-Single/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Input-loop b/Lang/REBOL/Input-loop
deleted file mode 120000
index 81d9914a81..0000000000
--- a/Lang/REBOL/Input-loop
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Input-loop/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Integer-comparison b/Lang/REBOL/Integer-comparison
deleted file mode 120000
index 6f12d33801..0000000000
--- a/Lang/REBOL/Integer-comparison
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Integer-comparison/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Interactive-programming-repl- b/Lang/REBOL/Interactive-programming-repl-
deleted file mode 120000
index a2a59ee516..0000000000
--- a/Lang/REBOL/Interactive-programming-repl-
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Interactive-programming-repl-/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/JSON b/Lang/REBOL/JSON
deleted file mode 120000
index bbdd962074..0000000000
--- a/Lang/REBOL/JSON
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/JSON/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Josephus-problem b/Lang/REBOL/Josephus-problem
deleted file mode 120000
index d092745290..0000000000
--- a/Lang/REBOL/Josephus-problem
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Josephus-problem/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Keyboard-macros b/Lang/REBOL/Keyboard-macros
deleted file mode 120000
index 4c918106f7..0000000000
--- a/Lang/REBOL/Keyboard-macros
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Keyboard-macros/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Knuth-shuffle b/Lang/REBOL/Knuth-shuffle
deleted file mode 120000
index e1ef5ac835..0000000000
--- a/Lang/REBOL/Knuth-shuffle
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Knuth-shuffle/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Last-Friday-of-each-month b/Lang/REBOL/Last-Friday-of-each-month
deleted file mode 120000
index 592b3befd7..0000000000
--- a/Lang/REBOL/Last-Friday-of-each-month
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Last-Friday-of-each-month/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Leap-year b/Lang/REBOL/Leap-year
deleted file mode 120000
index e1fde0d2a0..0000000000
--- a/Lang/REBOL/Leap-year
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Leap-year/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Literals-Integer b/Lang/REBOL/Literals-Integer
deleted file mode 120000
index c018808d2d..0000000000
--- a/Lang/REBOL/Literals-Integer
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Literals-Integer/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Logical-operations b/Lang/REBOL/Logical-operations
deleted file mode 120000
index b2be03cb20..0000000000
--- a/Lang/REBOL/Logical-operations
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Logical-operations/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Loops-Break b/Lang/REBOL/Loops-Break
deleted file mode 120000
index b12b588bcd..0000000000
--- a/Lang/REBOL/Loops-Break
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Loops-Break/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Loops-Continue b/Lang/REBOL/Loops-Continue
deleted file mode 120000
index 620f8d42c2..0000000000
--- a/Lang/REBOL/Loops-Continue
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Loops-Continue/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Loops-Do-while b/Lang/REBOL/Loops-Do-while
deleted file mode 120000
index a092621ef7..0000000000
--- a/Lang/REBOL/Loops-Do-while
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Loops-Do-while/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Loops-Downward-for b/Lang/REBOL/Loops-Downward-for
deleted file mode 120000
index e956288e68..0000000000
--- a/Lang/REBOL/Loops-Downward-for
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Loops-Downward-for/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Loops-For b/Lang/REBOL/Loops-For
deleted file mode 120000
index 9c59f991f0..0000000000
--- a/Lang/REBOL/Loops-For
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Loops-For/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Loops-For-with-a-specified-step b/Lang/REBOL/Loops-For-with-a-specified-step
deleted file mode 120000
index 3174e4899e..0000000000
--- a/Lang/REBOL/Loops-For-with-a-specified-step
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Loops-For-with-a-specified-step/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Loops-Foreach b/Lang/REBOL/Loops-Foreach
deleted file mode 120000
index 98cc61392e..0000000000
--- a/Lang/REBOL/Loops-Foreach
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Loops-Foreach/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Loops-Infinite b/Lang/REBOL/Loops-Infinite
deleted file mode 120000
index cd80f1fc2f..0000000000
--- a/Lang/REBOL/Loops-Infinite
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Loops-Infinite/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Loops-N-plus-one-half b/Lang/REBOL/Loops-N-plus-one-half
deleted file mode 120000
index 530a004b19..0000000000
--- a/Lang/REBOL/Loops-N-plus-one-half
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Loops-N-plus-one-half/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Loops-Nested b/Lang/REBOL/Loops-Nested
deleted file mode 120000
index fad704e1b5..0000000000
--- a/Lang/REBOL/Loops-Nested
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Loops-Nested/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Loops-While b/Lang/REBOL/Loops-While
deleted file mode 120000
index 7caecdb43d..0000000000
--- a/Lang/REBOL/Loops-While
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Loops-While/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/MD5 b/Lang/REBOL/MD5
deleted file mode 120000
index 5cb019110c..0000000000
--- a/Lang/REBOL/MD5
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/MD5/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Mad-Libs b/Lang/REBOL/Mad-Libs
deleted file mode 120000
index db4b8d6171..0000000000
--- a/Lang/REBOL/Mad-Libs
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Mad-Libs/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Menu b/Lang/REBOL/Menu
deleted file mode 120000
index 3b0b7dc2de..0000000000
--- a/Lang/REBOL/Menu
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Menu/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Multiplication-tables b/Lang/REBOL/Multiplication-tables
deleted file mode 120000
index 1b70d39ee9..0000000000
--- a/Lang/REBOL/Multiplication-tables
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Multiplication-tables/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Mutual-recursion b/Lang/REBOL/Mutual-recursion
deleted file mode 120000
index cb2de22d29..0000000000
--- a/Lang/REBOL/Mutual-recursion
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Mutual-recursion/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Null-object b/Lang/REBOL/Null-object
deleted file mode 120000
index 0b324069d2..0000000000
--- a/Lang/REBOL/Null-object
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Null-object/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Number-reversal-game b/Lang/REBOL/Number-reversal-game
deleted file mode 120000
index a23e4203b5..0000000000
--- a/Lang/REBOL/Number-reversal-game
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Number-reversal-game/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Palindrome-detection b/Lang/REBOL/Palindrome-detection
deleted file mode 120000
index 45e3490dd4..0000000000
--- a/Lang/REBOL/Palindrome-detection
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Palindrome-detection/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Percentage-difference-between-images b/Lang/REBOL/Percentage-difference-between-images
deleted file mode 120000
index 47e0c29027..0000000000
--- a/Lang/REBOL/Percentage-difference-between-images
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Percentage-difference-between-images/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Perfect-numbers b/Lang/REBOL/Perfect-numbers
deleted file mode 120000
index 888589d0dd..0000000000
--- a/Lang/REBOL/Perfect-numbers
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Perfect-numbers/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Primality-by-trial-division b/Lang/REBOL/Primality-by-trial-division
deleted file mode 120000
index 6e14471054..0000000000
--- a/Lang/REBOL/Primality-by-trial-division
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Primality-by-trial-division/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Program-termination b/Lang/REBOL/Program-termination
deleted file mode 120000
index 7c4ce8b3c8..0000000000
--- a/Lang/REBOL/Program-termination
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Program-termination/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Queue-Definition b/Lang/REBOL/Queue-Definition
deleted file mode 120000
index aa21697e36..0000000000
--- a/Lang/REBOL/Queue-Definition
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Queue-Definition/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Queue-Usage b/Lang/REBOL/Queue-Usage
deleted file mode 120000
index 488c4682f8..0000000000
--- a/Lang/REBOL/Queue-Usage
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Queue-Usage/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Quine b/Lang/REBOL/Quine
deleted file mode 120000
index 391f27dc9c..0000000000
--- a/Lang/REBOL/Quine
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quine/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Read-a-specific-line-from-a-file b/Lang/REBOL/Read-a-specific-line-from-a-file
deleted file mode 120000
index fc3cb7c086..0000000000
--- a/Lang/REBOL/Read-a-specific-line-from-a-file
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Read-a-specific-line-from-a-file/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Read-entire-file b/Lang/REBOL/Read-entire-file
deleted file mode 120000
index 8d1ffdb8c8..0000000000
--- a/Lang/REBOL/Read-entire-file
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Read-entire-file/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Regular-expressions b/Lang/REBOL/Regular-expressions
deleted file mode 120000
index cc056f3dfc..0000000000
--- a/Lang/REBOL/Regular-expressions
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Regular-expressions/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Remove-duplicate-elements b/Lang/REBOL/Remove-duplicate-elements
deleted file mode 120000
index 989597f93c..0000000000
--- a/Lang/REBOL/Remove-duplicate-elements
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Remove-duplicate-elements/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Rename-a-file b/Lang/REBOL/Rename-a-file
deleted file mode 120000
index d5b1f76dba..0000000000
--- a/Lang/REBOL/Rename-a-file
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Rename-a-file/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Repeat-a-string b/Lang/REBOL/Repeat-a-string
deleted file mode 120000
index df3bda003c..0000000000
--- a/Lang/REBOL/Repeat-a-string
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Repeat-a-string/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Reverse-a-string b/Lang/REBOL/Reverse-a-string
deleted file mode 120000
index 4fa66fa042..0000000000
--- a/Lang/REBOL/Reverse-a-string
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Reverse-a-string/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Rot-13 b/Lang/REBOL/Rot-13
deleted file mode 120000
index 344b9949b8..0000000000
--- a/Lang/REBOL/Rot-13
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Rot-13/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Runtime-evaluation b/Lang/REBOL/Runtime-evaluation
deleted file mode 120000
index 4f29a7904a..0000000000
--- a/Lang/REBOL/Runtime-evaluation
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Runtime-evaluation/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Runtime-evaluation-In-an-environment b/Lang/REBOL/Runtime-evaluation-In-an-environment
deleted file mode 120000
index 00ac88948d..0000000000
--- a/Lang/REBOL/Runtime-evaluation-In-an-environment
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Runtime-evaluation-In-an-environment/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Search-a-list b/Lang/REBOL/Search-a-list
deleted file mode 120000
index 30c4450829..0000000000
--- a/Lang/REBOL/Search-a-list
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Search-a-list/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Send-email b/Lang/REBOL/Send-email
deleted file mode 120000
index 7a102c33ea..0000000000
--- a/Lang/REBOL/Send-email
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Send-email/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Shell-one-liner b/Lang/REBOL/Shell-one-liner
deleted file mode 120000
index 3efd76bee3..0000000000
--- a/Lang/REBOL/Shell-one-liner
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Shell-one-liner/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Simple-database b/Lang/REBOL/Simple-database
deleted file mode 120000
index 2171f3e8b2..0000000000
--- a/Lang/REBOL/Simple-database
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Simple-database/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Simple-windowed-application b/Lang/REBOL/Simple-windowed-application
deleted file mode 120000
index 3eb2f5011a..0000000000
--- a/Lang/REBOL/Simple-windowed-application
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Simple-windowed-application/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Sleep b/Lang/REBOL/Sleep
deleted file mode 120000
index 49498dee8f..0000000000
--- a/Lang/REBOL/Sleep
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sleep/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Sort-an-integer-array b/Lang/REBOL/Sort-an-integer-array
deleted file mode 120000
index be40906bd3..0000000000
--- a/Lang/REBOL/Sort-an-integer-array
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sort-an-integer-array/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Sort-stability b/Lang/REBOL/Sort-stability
deleted file mode 120000
index 7a6119bc4e..0000000000
--- a/Lang/REBOL/Sort-stability
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sort-stability/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Sorting-algorithms-Insertion-sort b/Lang/REBOL/Sorting-algorithms-Insertion-sort
deleted file mode 120000
index 5a9f9f2f24..0000000000
--- a/Lang/REBOL/Sorting-algorithms-Insertion-sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-algorithms-Insertion-sort/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Stack b/Lang/REBOL/Stack
deleted file mode 120000
index 70bb3936ee..0000000000
--- a/Lang/REBOL/Stack
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Stack/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Stair-climbing-puzzle b/Lang/REBOL/Stair-climbing-puzzle
deleted file mode 120000
index 935f1a3925..0000000000
--- a/Lang/REBOL/Stair-climbing-puzzle
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Stair-climbing-puzzle/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/String-case b/Lang/REBOL/String-case
deleted file mode 120000
index 2279191d8d..0000000000
--- a/Lang/REBOL/String-case
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/String-case/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/String-concatenation b/Lang/REBOL/String-concatenation
deleted file mode 120000
index 8be78ed69f..0000000000
--- a/Lang/REBOL/String-concatenation
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/String-concatenation/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/String-interpolation-included- b/Lang/REBOL/String-interpolation-included-
deleted file mode 120000
index 1158cc37bc..0000000000
--- a/Lang/REBOL/String-interpolation-included-
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/String-interpolation-included-/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/String-length b/Lang/REBOL/String-length
deleted file mode 120000
index 06c8f5cbd6..0000000000
--- a/Lang/REBOL/String-length
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/String-length/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Substring b/Lang/REBOL/Substring
deleted file mode 120000
index ae87eb5a53..0000000000
--- a/Lang/REBOL/Substring
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Substring/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Sum-and-product-of-an-array b/Lang/REBOL/Sum-and-product-of-an-array
deleted file mode 120000
index 5ce08d6535..0000000000
--- a/Lang/REBOL/Sum-and-product-of-an-array
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sum-and-product-of-an-array/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Symmetric-difference b/Lang/REBOL/Symmetric-difference
deleted file mode 120000
index 27c9c680ad..0000000000
--- a/Lang/REBOL/Symmetric-difference
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Symmetric-difference/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/System-time b/Lang/REBOL/System-time
deleted file mode 120000
index 7ea31d4a27..0000000000
--- a/Lang/REBOL/System-time
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/System-time/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Take-notes-on-the-command-line b/Lang/REBOL/Take-notes-on-the-command-line
deleted file mode 120000
index f00a0f5d0a..0000000000
--- a/Lang/REBOL/Take-notes-on-the-command-line
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Take-notes-on-the-command-line/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Tokenize-a-string b/Lang/REBOL/Tokenize-a-string
deleted file mode 120000
index ee10fb0551..0000000000
--- a/Lang/REBOL/Tokenize-a-string
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Tokenize-a-string/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Towers-of-Hanoi b/Lang/REBOL/Towers-of-Hanoi
deleted file mode 120000
index a173272546..0000000000
--- a/Lang/REBOL/Towers-of-Hanoi
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Towers-of-Hanoi/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Tree-traversal b/Lang/REBOL/Tree-traversal
deleted file mode 120000
index 0c44bbca9b..0000000000
--- a/Lang/REBOL/Tree-traversal
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Tree-traversal/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Trigonometric-functions b/Lang/REBOL/Trigonometric-functions
deleted file mode 120000
index 8f4c11188c..0000000000
--- a/Lang/REBOL/Trigonometric-functions
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Trigonometric-functions/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/User-input-Graphical b/Lang/REBOL/User-input-Graphical
deleted file mode 120000
index 001538e055..0000000000
--- a/Lang/REBOL/User-input-Graphical
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/User-input-Graphical/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/User-input-Text b/Lang/REBOL/User-input-Text
deleted file mode 120000
index b81fcf9c85..0000000000
--- a/Lang/REBOL/User-input-Text
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/User-input-Text/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Variadic-function b/Lang/REBOL/Variadic-function
deleted file mode 120000
index c3eb7c285d..0000000000
--- a/Lang/REBOL/Variadic-function
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Variadic-function/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Web-scraping b/Lang/REBOL/Web-scraping
deleted file mode 120000
index 4c37db2bfe..0000000000
--- a/Lang/REBOL/Web-scraping
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Web-scraping/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Window-creation b/Lang/REBOL/Window-creation
deleted file mode 120000
index d3c3450624..0000000000
--- a/Lang/REBOL/Window-creation
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Window-creation/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/XML-Input b/Lang/REBOL/XML-Input
deleted file mode 120000
index f96cb4fd5e..0000000000
--- a/Lang/REBOL/XML-Input
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/XML-Input/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Y-combinator b/Lang/REBOL/Y-combinator
deleted file mode 120000
index 492c58627d..0000000000
--- a/Lang/REBOL/Y-combinator
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Y-combinator/REBOL
\ No newline at end of file
diff --git a/Lang/REXX/00-LANG.txt b/Lang/REXX/00-LANG.txt
index 26a483d9aa..592349f719 100644
--- a/Lang/REXX/00-LANG.txt
+++ b/Lang/REXX/00-LANG.txt
@@ -26,6 +26,21 @@
The '''REXX''' language was influenced by the computer programming languages: '''ALGOL, PL/I, EXEC,''' and '''EXEC 2.'''
+Using Classic REXX closely resembles pseudo code and many languages like Basic or Julia. Experienced programmers should have no problem reading REXX code and translating it to other languages.
+Some items that might differ from what you are familiar with.
+* Caseless, fully free format.
+* Code blocks delimited by do...end, no brackets (){}.
+* A programs starts always with line 1, so you'll need 'exit' before the code for procedures and routines.
+* Usual control structures present: do...by...to, do while/until, select, leave, iterate, call, return, exit, & (and), \ (not).
+* No data types, no declarations, everything is string. String functions such as 'Left()' or 'Substr()' may be applied on numbers.
+* All arithmetic is decimal based, not binary. So stuff like bit shifting or multiply/divide by 2 using exponent add/subtract does not apply.
+* Exponentiation is designated by '**' thus x^2 = x**2.
+* Integer division is designated by '%' thus 13%3 = 4.
+* Modulo division (remainder) is designated by '//' thus 13//3 = 1 ('13 mod 3').
+* Arrays (here called 'stems') are designated by something like 'stem.a.b. etc' (stem = name array; a, b etc any value; 'associative arrays').
+* Precision is unlimited (default 9 digits), but you have to specify it yourself ('numeric digits nn').
+* Parameter passing always by value. Stems cannot be passed, but must be made available with 'expose'.
+
Versions of REXX:
* '''[[wp:ARexx|ARexx]]''' is a classic REXX implementation (with extensions) for the AmigaOS, given in bundle since AmigaOS 2. (Regina REXX has specific support for the extended functions that were introduced in ARexx.) ARexx was written in 1987 by William S. Hawes.
@@ -36,7 +51,7 @@ The '''REXX''' language was influenced by the computer programming languages: &n
* '''[[CRX REXX]]''' (Compact REXX) is a classic REXX first written by Dr. Brian Marks.
-* '''[[CTC REXX]]''' is a classic REXX that is bundled with PC/SPF and written by Command Technology Corporation, a license is required to use this product. This version of REXX can only be used under PC/SPF and it's panels. PC/SPF resembles the IBM program product SPF (which has other names and versions).
+* '''[[REXX/2]]''' is a classic REXX that is bundled with PC/SPF and written by Command Technology Corporation, a license is required to use this product. This version of REXX can only be used under PC/SPF and it's panels. PC/SPF resembles the IBM program product SPF (which has other names and versions). The last version was published in 1996. Company CTC doesn't exist anymore.
* '''[[KEXX]]''' is a subset of REXX that is bundled with KEDIT and written by Keven J. Kearney of Mansfield Software Group, Inc., a license is required to use this product. KEXX only executes under the KEDIT licensed product. KEDIT is an XEDIT clone (an editor from IBM for VM/CMS program products).
@@ -75,7 +90,7 @@ The '''REXX''' language was influenced by the computer programming languages: &n
* '''[[Regina REXX]]''' is an implementation first created by Anders Christensen (in 1992) and is now maintained by others, notably Mark Hessling. Regina REXX runs on more different platforms than any other REXX, too many to name here. It can be downloaded freely.
-* '''[[Reginald REXX]]''' is a REXX developed by Jeff Glatt. It can be downloaded freely.
+* '''[[Reginald REXX]]''' is a REXX developed by Jeff Glatt. It can be downloaded freely. According to Rexxinfo.org, Reginald is out of maintenance.
* '''[[REXX/imc]]''' a classic REXX developed by Ian M. Collier (imc) for Linux/Unix.
@@ -84,10 +99,10 @@ The '''REXX''' language was influenced by the computer programming languages: &n
* '''REXX/Personal''' is another name for '''Personal REXX''' (see above).
-* '''[[ROO oo-REXX]]''' an object-oriented REXX developed by Keith Watts of Kilowatt Software, Inc. It can be downloaded freely. '''ROO''' is also known as '''ROO!'''.
+* '''[[ROO oo-REXX]]''' an object-oriented REXX developed by Keith Watts of Kilowatt Software, Inc. It can be downloaded freely. '''ROO''' is also known as '''ROO!'''. According to Rexxinfo.org, Roo! is out of maintenance.
-* '''[[R4 REXX]]''' a classic REXX developed by Keith Watts of Kilowatt Software, Inc. It was also known as '''Portable REXX'''. It can be downloaded freely.
+* '''[[R4 REXX]]''' a classic REXX developed by Keith Watts of Kilowatt Software, Inc. It was also known as '''Portable REXX'''. It can be downloaded freely. According to Rexxinfo.org, R4 is out of maintenance.
* '''[[T/REXX, a REXX compiler for CMS]]''' is an implementation of classic REXX written by Leigh Lundin and Mark Woodruff (according to Wikipedia).
@@ -112,16 +127,7 @@ The '''REXX''' language was influenced by the computer programming languages: &n
* [http://www.rexxla.org The Rexx Language Association - www.rexxla.org]
* [http://regina-rexx.sourceforge.net/index.html Regina Rexx Interpreter]
* [http://www.kedit.com/ Mansfield Software Group, Inc. (KEDIT)]
-* [http://www.quercus-sys.com/ Personal REXX, Quercus Systems]
-* [http://www.commandtechnology.com/ CTC Command Technology]
* [http://www.rexxla.org/ CRX Open Source (right column side)]
-* [http://www.kilowattsoftware.com/r4Page.htm R4, Kilowatt Software]
-* [http://www.kilowattsoftware.com/rooPage.htm ROO, Kilowatt Software]
-* [http://publib.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/HCSE2C00/CCONTENTS?SHELF=hcsh2ab0&DN=SC24-6221-00&DT=20090724140455 z/VM V6R1 REXX/VM Reference]
-* [http://publib.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/HCSB3C00/CCONTENTS?SHELF=hcsh2ab0&DN=SC24-6222-00&DT=20090724131829 z/VM V6R1 REXX/VM User's Guide]
-* [http://www.rexxinfo.org/html/rexxinfo1.html#Rexx-Manuals {many references to REXX manuals}]
-
-
== Rosetta Code tasks not implemented in REXX ==
-[[Reports:Tasks_not_implemented_in_REXX]]
\ No newline at end of file
+[[Tasks not implemented in REXX]]
\ No newline at end of file
diff --git a/Lang/REXX/Arithmetic-numbers b/Lang/REXX/Arithmetic-numbers
new file mode 120000
index 0000000000..71a3332017
--- /dev/null
+++ b/Lang/REXX/Arithmetic-numbers
@@ -0,0 +1 @@
+../../Task/Arithmetic-numbers/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Ascending-primes b/Lang/REXX/Ascending-primes
new file mode 120000
index 0000000000..bbc0af4983
--- /dev/null
+++ b/Lang/REXX/Ascending-primes
@@ -0,0 +1 @@
+../../Task/Ascending-primes/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Base64-decode-data b/Lang/REXX/Base64-decode-data
new file mode 120000
index 0000000000..226b0ce798
--- /dev/null
+++ b/Lang/REXX/Base64-decode-data
@@ -0,0 +1 @@
+../../Task/Base64-decode-data/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Bioinformatics-base-count b/Lang/REXX/Bioinformatics-base-count
deleted file mode 120000
index c722864481..0000000000
--- a/Lang/REXX/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Blum-integer b/Lang/REXX/Blum-integer
new file mode 120000
index 0000000000..2aa27c2ff0
--- /dev/null
+++ b/Lang/REXX/Blum-integer
@@ -0,0 +1 @@
+../../Task/Blum-integer/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Chernicks-Carmichael-numbers b/Lang/REXX/Chernicks-Carmichael-numbers
new file mode 120000
index 0000000000..4050cb562e
--- /dev/null
+++ b/Lang/REXX/Chernicks-Carmichael-numbers
@@ -0,0 +1 @@
+../../Task/Chernicks-Carmichael-numbers/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Deceptive-numbers b/Lang/REXX/Deceptive-numbers
new file mode 120000
index 0000000000..3f3cdd6f00
--- /dev/null
+++ b/Lang/REXX/Deceptive-numbers
@@ -0,0 +1 @@
+../../Task/Deceptive-numbers/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Descending-primes b/Lang/REXX/Descending-primes
new file mode 120000
index 0000000000..c55d765868
--- /dev/null
+++ b/Lang/REXX/Descending-primes
@@ -0,0 +1 @@
+../../Task/Descending-primes/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Euclid-Mullin-sequence b/Lang/REXX/Euclid-Mullin-sequence
new file mode 120000
index 0000000000..3ded1fce93
--- /dev/null
+++ b/Lang/REXX/Euclid-Mullin-sequence
@@ -0,0 +1 @@
+../../Task/Euclid-Mullin-sequence/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Eulers-constant-0.5772... b/Lang/REXX/Eulers-constant-0.5772...
new file mode 120000
index 0000000000..4dd79a59f3
--- /dev/null
+++ b/Lang/REXX/Eulers-constant-0.5772...
@@ -0,0 +1 @@
+../../Task/Eulers-constant-0.5772.../REXX
\ No newline at end of file
diff --git a/Lang/REXX/Find-largest-left-truncatable-prime-in-a-given-base b/Lang/REXX/Find-largest-left-truncatable-prime-in-a-given-base
new file mode 120000
index 0000000000..528dd8a890
--- /dev/null
+++ b/Lang/REXX/Find-largest-left-truncatable-prime-in-a-given-base
@@ -0,0 +1 @@
+../../Task/Find-largest-left-truncatable-prime-in-a-given-base/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Goldbachs-comet b/Lang/REXX/Goldbachs-comet
new file mode 120000
index 0000000000..ddf76b927f
--- /dev/null
+++ b/Lang/REXX/Goldbachs-comet
@@ -0,0 +1 @@
+../../Task/Goldbachs-comet/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Jacobsthal-numbers b/Lang/REXX/Jacobsthal-numbers
new file mode 120000
index 0000000000..7f86ce7033
--- /dev/null
+++ b/Lang/REXX/Jacobsthal-numbers
@@ -0,0 +1 @@
+../../Task/Jacobsthal-numbers/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Legendre-prime-counting-function b/Lang/REXX/Legendre-prime-counting-function
new file mode 120000
index 0000000000..74d1b424e1
--- /dev/null
+++ b/Lang/REXX/Legendre-prime-counting-function
@@ -0,0 +1 @@
+../../Task/Legendre-prime-counting-function/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Magic-constant b/Lang/REXX/Magic-constant
new file mode 120000
index 0000000000..13d81a62dd
--- /dev/null
+++ b/Lang/REXX/Magic-constant
@@ -0,0 +1 @@
+../../Task/Magic-constant/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Miller-Rabin-primality-test b/Lang/REXX/Miller-Rabin-primality-test
deleted file mode 120000
index 6b9607754b..0000000000
--- a/Lang/REXX/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Primes---allocate-descendants-to-their-ancestors b/Lang/REXX/Primes---allocate-descendants-to-their-ancestors
new file mode 120000
index 0000000000..e6293c9090
--- /dev/null
+++ b/Lang/REXX/Primes---allocate-descendants-to-their-ancestors
@@ -0,0 +1 @@
+../../Task/Primes---allocate-descendants-to-their-ancestors/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Quaternion-type b/Lang/REXX/Quaternion-type
deleted file mode 120000
index 18e452fac4..0000000000
--- a/Lang/REXX/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Ramanujan-primes-twins b/Lang/REXX/Ramanujan-primes-twins
new file mode 120000
index 0000000000..09da3d7f76
--- /dev/null
+++ b/Lang/REXX/Ramanujan-primes-twins
@@ -0,0 +1 @@
+../../Task/Ramanujan-primes-twins/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Sequence-of-primorial-primes b/Lang/REXX/Sequence-of-primorial-primes
new file mode 120000
index 0000000000..cd4ebe8c73
--- /dev/null
+++ b/Lang/REXX/Sequence-of-primorial-primes
@@ -0,0 +1 @@
+../../Task/Sequence-of-primorial-primes/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Sequence-nth-number-with-exactly-n-divisors b/Lang/REXX/Sequence:-nth-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/REXX/Sequence-nth-number-with-exactly-n-divisors
rename to Lang/REXX/Sequence:-nth-number-with-exactly-n-divisors
diff --git a/Lang/REXX/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/REXX/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/REXX/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/REXX/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/REXX/Sequence-smallest-number-with-exactly-n-divisors b/Lang/REXX/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/REXX/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/REXX/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/REXX/Sieve-of-Pritchard b/Lang/REXX/Sieve-of-Pritchard
new file mode 120000
index 0000000000..601b18d906
--- /dev/null
+++ b/Lang/REXX/Sieve-of-Pritchard
@@ -0,0 +1 @@
+../../Task/Sieve-of-Pritchard/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Sorting-Algorithms-Circle-Sort b/Lang/REXX/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index 383d356065..0000000000
--- a/Lang/REXX/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Verhoeff-algorithm b/Lang/REXX/Verhoeff-algorithm
new file mode 120000
index 0000000000..0bc439ccea
--- /dev/null
+++ b/Lang/REXX/Verhoeff-algorithm
@@ -0,0 +1 @@
+../../Task/Verhoeff-algorithm/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Web-scraping b/Lang/REXX/Web-scraping
new file mode 120000
index 0000000000..818c9c985e
--- /dev/null
+++ b/Lang/REXX/Web-scraping
@@ -0,0 +1 @@
+../../Task/Web-scraping/REXX
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/00-LANG.txt b/Lang/RISC-V-Assembly/00-LANG.txt
index f524ed95fb..3f4a6ea98e 100644
--- a/Lang/RISC-V-Assembly/00-LANG.txt
+++ b/Lang/RISC-V-Assembly/00-LANG.txt
@@ -1,4 +1,79 @@
{{language|RISC-V Assembly}}[https://riscv.org Risc-V] is an open source hardware instruction set architecture based on the principle of a '''R'''educed '''I'''nstruction '''S'''et '''C'''omputer. The project was started by the university of California, Berkeley in 2010. This site refers to the Risc-V assembly language. ([https://en.wikipedia.org/wiki/RISC-V#Software Wikipedia page]), Website: [https://riscv.org https://riscv.org].
+'''Riscv on raspberry pico 2'''
+
+A pico2 with the chip rp2335 contains 2 cores hazard3 with risc v assembly
+it is possible to programm assembly riscv with the sdk C++ and a compiler riscv32-unknown-elf-as.exe
+
+It is also possible to programm without SDK but it is necessary to write functions for init
+the clocks and to communicate for usb connexion.
+
+install under Windows11 (or see documentation raspberry py pico SDK) :
+
+Create main folder (ex : \pico2)
+
+install SDK C++ (see instructions in raspberry pi pico2 SDK documentation)
+
+install toolchaine under \Pico2\tools\bin from
+
+https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-2/riscv-toolchain-14-x64-win.zip
+
+
+Create work folder (ex : \pico2\hello)
+
+Create file CMakeLists.txt (see instructions in raspberry pi pico2 SDK documentation)
+
+Create program hello.s with a editor
+
+Copy a file pico_sdk_import.cmake from \pico2\pico-sdk\external
+
+Create a folder build under \pico2\hello
+
+Go to this folder
+
+Compile program with :
+
+ cmake -DPICO_PLATFORM=rp2350-riscv -DPICO_TOOLCHAIN_PATH=E:\Pico2\tools\bin -G "NMake Makefiles" ..
+
+and
+ nmake
+
+copy the file .uf2 to raspberry pico2 (see documentation raspberry pi pico2)
+
+Start serial connexion on host (ex: putty on windows11)
+
+Example CMakeLists.txt :
+
+cmake_minimum_required(VERSION 3.13)
+
+include(pico_sdk_import.cmake)
+
+project(hello C CXX ASM)
+
+set(CMAKE_C_STANDARD 11)
+
+set(CMAKE_CXX_STANDARD 17)
+
+pico_sdk_init()
+
+add_executable(hello
+hello.s # pgm source assembly riscv
+)
+
+target_link_libraries(hello pico_stdlib)
+
+pico_enable_stdio_usb(hello 1)
+
+pico_enable_stdio_uart(hello 0)
+
+pico_add_extra_outputs(hello)
+
+
+see source program on hello world rosetta code
+
+cmake -DPython3_EXECUTABLE=C:\Users\Vincent\AppData\Local\Microsoft\WindowsApps\python3.10.exe -DPICO_PLATFORM=rp2350-riscv -DPICO_TOOLCHAIN_PATH=E:\Pico2\tools\bin -DPICO_SDK_PATH=..\..\..\pico-sdk -G "NMake Makefiles" ..
+
+see instructions list on chapter 3.8.1.6. Alphabetical list of instructions on rp2350 datasheet
+
[[Category:Assembler language]]
[[Category:Assembly]]
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Address-of-a-variable b/Lang/RISC-V-Assembly/Address-of-a-variable
new file mode 120000
index 0000000000..7e7b85f7fc
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Address-of-a-variable
@@ -0,0 +1 @@
+../../Task/Address-of-a-variable/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Arithmetic-Integer b/Lang/RISC-V-Assembly/Arithmetic-Integer
new file mode 120000
index 0000000000..41172f4754
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Array-length b/Lang/RISC-V-Assembly/Array-length
new file mode 120000
index 0000000000..51b567c37e
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Array-length
@@ -0,0 +1 @@
+../../Task/Array-length/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Binary-digits b/Lang/RISC-V-Assembly/Binary-digits
new file mode 120000
index 0000000000..45c4e871d7
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Binary-search b/Lang/RISC-V-Assembly/Binary-search
new file mode 120000
index 0000000000..ad0fc6f909
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Binary-search
@@ -0,0 +1 @@
+../../Task/Binary-search/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Bitwise-operations b/Lang/RISC-V-Assembly/Bitwise-operations
new file mode 120000
index 0000000000..d2de2c0d91
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Bitwise-operations
@@ -0,0 +1 @@
+../../Task/Bitwise-operations/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Compare-length-of-two-strings b/Lang/RISC-V-Assembly/Compare-length-of-two-strings
new file mode 120000
index 0000000000..b61a06982a
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Compare-length-of-two-strings
@@ -0,0 +1 @@
+../../Task/Compare-length-of-two-strings/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Conditional-structures b/Lang/RISC-V-Assembly/Conditional-structures
new file mode 120000
index 0000000000..2fb608a736
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Count-in-octal b/Lang/RISC-V-Assembly/Count-in-octal
new file mode 120000
index 0000000000..bf7e472328
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Determine-if-a-string-is-numeric b/Lang/RISC-V-Assembly/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..fe9d1269a0
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Doubly-linked-list-Definition b/Lang/RISC-V-Assembly/Doubly-linked-list-Definition
new file mode 120000
index 0000000000..f016184b4e
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Doubly-linked-list-Definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Definition/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Factorial b/Lang/RISC-V-Assembly/Factorial
new file mode 120000
index 0000000000..d4cbcd152f
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Factors-of-an-integer b/Lang/RISC-V-Assembly/Factors-of-an-integer
new file mode 120000
index 0000000000..e6286a7691
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Factors-of-an-integer
@@ -0,0 +1 @@
+../../Task/Factors-of-an-integer/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/FizzBuzz b/Lang/RISC-V-Assembly/FizzBuzz
new file mode 120000
index 0000000000..fa85a0bece
--- /dev/null
+++ b/Lang/RISC-V-Assembly/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Guess-the-number b/Lang/RISC-V-Assembly/Guess-the-number
new file mode 120000
index 0000000000..3c820e8397
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Guess-the-number
@@ -0,0 +1 @@
+../../Task/Guess-the-number/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Hello-world-Newbie b/Lang/RISC-V-Assembly/Hello-world-Newbie
new file mode 120000
index 0000000000..5721ad4125
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Hello-world-Newbie
@@ -0,0 +1 @@
+../../Task/Hello-world-Newbie/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Include-a-file b/Lang/RISC-V-Assembly/Include-a-file
new file mode 120000
index 0000000000..2742cb0a60
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Include-a-file
@@ -0,0 +1 @@
+../../Task/Include-a-file/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Integer-comparison b/Lang/RISC-V-Assembly/Integer-comparison
new file mode 120000
index 0000000000..c89ef738d7
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Integer-comparison
@@ -0,0 +1 @@
+../../Task/Integer-comparison/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Jump-anywhere b/Lang/RISC-V-Assembly/Jump-anywhere
new file mode 120000
index 0000000000..97bc1d7493
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Jump-anywhere
@@ -0,0 +1 @@
+../../Task/Jump-anywhere/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Logical-operations b/Lang/RISC-V-Assembly/Logical-operations
new file mode 120000
index 0000000000..c149f117e3
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Logical-operations
@@ -0,0 +1 @@
+../../Task/Logical-operations/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Loops-Do-while b/Lang/RISC-V-Assembly/Loops-Do-while
new file mode 120000
index 0000000000..c6ea94d0bd
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Loops-Do-while
@@ -0,0 +1 @@
+../../Task/Loops-Do-while/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Loops-For b/Lang/RISC-V-Assembly/Loops-For
new file mode 120000
index 0000000000..eb2a1946a7
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Loops-For
@@ -0,0 +1 @@
+../../Task/Loops-For/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Loops-While b/Lang/RISC-V-Assembly/Loops-While
new file mode 120000
index 0000000000..aefdc14d66
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Loops-While
@@ -0,0 +1 @@
+../../Task/Loops-While/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Loops-With-multiple-ranges b/Lang/RISC-V-Assembly/Loops-With-multiple-ranges
new file mode 120000
index 0000000000..e4ac51774c
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Loops-With-multiple-ranges
@@ -0,0 +1 @@
+../../Task/Loops-With-multiple-ranges/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Primality-by-trial-division b/Lang/RISC-V-Assembly/Primality-by-trial-division
new file mode 120000
index 0000000000..2d5326d125
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Sieve-of-Eratosthenes b/Lang/RISC-V-Assembly/Sieve-of-Eratosthenes
new file mode 120000
index 0000000000..048e79765f
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Sieve-of-Eratosthenes
@@ -0,0 +1 @@
+../../Task/Sieve-of-Eratosthenes/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Singly-linked-list-Element-definition b/Lang/RISC-V-Assembly/Singly-linked-list-Element-definition
new file mode 120000
index 0000000000..c46a1c1483
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Singly-linked-list-Element-definition
@@ -0,0 +1 @@
+../../Task/Singly-linked-list-Element-definition/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Singly-linked-list-Element-insertion b/Lang/RISC-V-Assembly/Singly-linked-list-Element-insertion
new file mode 120000
index 0000000000..3942e77b33
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Singly-linked-list-Element-insertion
@@ -0,0 +1 @@
+../../Task/Singly-linked-list-Element-insertion/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Singly-linked-list-Traversal b/Lang/RISC-V-Assembly/Singly-linked-list-Traversal
new file mode 120000
index 0000000000..704ea88764
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Singly-linked-list-Traversal
@@ -0,0 +1 @@
+../../Task/Singly-linked-list-Traversal/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Sorting-algorithms-Bubble-sort b/Lang/RISC-V-Assembly/Sorting-algorithms-Bubble-sort
new file mode 120000
index 0000000000..eb7e9f655b
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Sorting-algorithms-Bubble-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Bubble-sort/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Sorting-algorithms-Heapsort b/Lang/RISC-V-Assembly/Sorting-algorithms-Heapsort
new file mode 120000
index 0000000000..623c46da1a
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Sorting-algorithms-Heapsort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Heapsort/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Sorting-algorithms-Insertion-sort b/Lang/RISC-V-Assembly/Sorting-algorithms-Insertion-sort
new file mode 120000
index 0000000000..3748bff361
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Sorting-algorithms-Insertion-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Insertion-sort/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Sorting-algorithms-Merge-sort b/Lang/RISC-V-Assembly/Sorting-algorithms-Merge-sort
new file mode 120000
index 0000000000..e189625c7b
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Sorting-algorithms-Merge-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Merge-sort/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Sorting-algorithms-Patience-sort b/Lang/RISC-V-Assembly/Sorting-algorithms-Patience-sort
new file mode 120000
index 0000000000..ff4a528100
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Sorting-algorithms-Patience-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Patience-sort/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Sorting-algorithms-Quicksort b/Lang/RISC-V-Assembly/Sorting-algorithms-Quicksort
new file mode 120000
index 0000000000..61ec2d6c95
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Sorting-algorithms-Quicksort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Quicksort/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Sorting-algorithms-Selection-sort b/Lang/RISC-V-Assembly/Sorting-algorithms-Selection-sort
new file mode 120000
index 0000000000..dc2705e303
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Sorting-algorithms-Selection-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Selection-sort/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Sorting-algorithms-Shell-sort b/Lang/RISC-V-Assembly/Sorting-algorithms-Shell-sort
new file mode 120000
index 0000000000..3181770874
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Sorting-algorithms-Shell-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Shell-sort/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/String-append b/Lang/RISC-V-Assembly/String-append
new file mode 120000
index 0000000000..c4e4abff3f
--- /dev/null
+++ b/Lang/RISC-V-Assembly/String-append
@@ -0,0 +1 @@
+../../Task/String-append/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/String-comparison b/Lang/RISC-V-Assembly/String-comparison
new file mode 120000
index 0000000000..05a600887a
--- /dev/null
+++ b/Lang/RISC-V-Assembly/String-comparison
@@ -0,0 +1 @@
+../../Task/String-comparison/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/String-concatenation b/Lang/RISC-V-Assembly/String-concatenation
new file mode 120000
index 0000000000..14bea49904
--- /dev/null
+++ b/Lang/RISC-V-Assembly/String-concatenation
@@ -0,0 +1 @@
+../../Task/String-concatenation/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/String-interpolation-included- b/Lang/RISC-V-Assembly/String-interpolation-included-
new file mode 120000
index 0000000000..d5a6926006
--- /dev/null
+++ b/Lang/RISC-V-Assembly/String-interpolation-included-
@@ -0,0 +1 @@
+../../Task/String-interpolation-included-/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/String-length b/Lang/RISC-V-Assembly/String-length
new file mode 120000
index 0000000000..9f0b9ba1b7
--- /dev/null
+++ b/Lang/RISC-V-Assembly/String-length
@@ -0,0 +1 @@
+../../Task/String-length/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/String-matching b/Lang/RISC-V-Assembly/String-matching
new file mode 120000
index 0000000000..daa67c8da0
--- /dev/null
+++ b/Lang/RISC-V-Assembly/String-matching
@@ -0,0 +1 @@
+../../Task/String-matching/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/String-prepend b/Lang/RISC-V-Assembly/String-prepend
new file mode 120000
index 0000000000..4cf66d1f37
--- /dev/null
+++ b/Lang/RISC-V-Assembly/String-prepend
@@ -0,0 +1 @@
+../../Task/String-prepend/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Substring b/Lang/RISC-V-Assembly/Substring
new file mode 120000
index 0000000000..346f148efa
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Substring
@@ -0,0 +1 @@
+../../Task/Substring/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Tree-traversal b/Lang/RISC-V-Assembly/Tree-traversal
new file mode 120000
index 0000000000..e386a26400
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Tree-traversal
@@ -0,0 +1 @@
+../../Task/Tree-traversal/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RISC-V-Assembly/Visualize-a-tree b/Lang/RISC-V-Assembly/Visualize-a-tree
new file mode 120000
index 0000000000..20ab2b2342
--- /dev/null
+++ b/Lang/RISC-V-Assembly/Visualize-a-tree
@@ -0,0 +1 @@
+../../Task/Visualize-a-tree/RISC-V-Assembly
\ No newline at end of file
diff --git a/Lang/RPL/Guess-the-number b/Lang/RPL/Guess-the-number
deleted file mode 120000
index c108a4519e..0000000000
--- a/Lang/RPL/Guess-the-number
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number/RPL
\ No newline at end of file
diff --git a/Lang/RTL-2/00-LANG.txt b/Lang/RTL-2/00-LANG.txt
index 4f020fcdf0..1ed7c9f33f 100644
--- a/Lang/RTL-2/00-LANG.txt
+++ b/Lang/RTL-2/00-LANG.txt
@@ -52,6 +52,9 @@ While the specifics varied by operating system the following is an example of a
This code insert moves the value of a variable passed into the RTL/2 procedure into a variable called COUNTER in a data brick called MYDATA.
+== Design and Rationale ==
+J. G. P. Barnes describes RTL/2 and the reasons behind some of the design decisions made during its development in his 1976 book RTL/2 Design and Philosophy.
+
== Reserved Words ==
ABS
AND
@@ -83,6 +86,7 @@ LENGTH
LET
LOR
MOD
+MODE
NEV
NOT
OCT
diff --git a/Lang/Racket/Arithmetic-derivative b/Lang/Racket/Arithmetic-derivative
new file mode 120000
index 0000000000..67478aafca
--- /dev/null
+++ b/Lang/Racket/Arithmetic-derivative
@@ -0,0 +1 @@
+../../Task/Arithmetic-derivative/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Bioinformatics-base-count b/Lang/Racket/Bioinformatics-base-count
deleted file mode 120000
index e2d3d89548..0000000000
--- a/Lang/Racket/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Miller-Rabin-primality-test b/Lang/Racket/Miller-Rabin-primality-test
deleted file mode 120000
index db07b51bff..0000000000
--- a/Lang/Racket/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Quaternion-type b/Lang/Racket/Quaternion-type
deleted file mode 120000
index 88e3ea41c9..0000000000
--- a/Lang/Racket/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Sorting-Algorithms-Circle-Sort b/Lang/Racket/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index 4c351d18cc..0000000000
--- a/Lang/Racket/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Strassens-algorithm b/Lang/Racket/Strassens-algorithm
new file mode 120000
index 0000000000..c6d669358e
--- /dev/null
+++ b/Lang/Racket/Strassens-algorithm
@@ -0,0 +1 @@
+../../Task/Strassens-algorithm/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Twos-complement b/Lang/Racket/Twos-complement
new file mode 120000
index 0000000000..0d85b62ede
--- /dev/null
+++ b/Lang/Racket/Twos-complement
@@ -0,0 +1 @@
+../../Task/Twos-complement/Racket
\ No newline at end of file
diff --git a/Lang/Raku/Bioinformatics-base-count b/Lang/Raku/Bioinformatics-base-count
deleted file mode 120000
index 7d4ea3da69..0000000000
--- a/Lang/Raku/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/Raku
\ No newline at end of file
diff --git a/Lang/Raku/Catmull-Clark-subdivision-surface b/Lang/Raku/Catmull-Clark-subdivision-surface
new file mode 120000
index 0000000000..ca92993d5e
--- /dev/null
+++ b/Lang/Raku/Catmull-Clark-subdivision-surface
@@ -0,0 +1 @@
+../../Task/Catmull-Clark-subdivision-surface/Raku
\ No newline at end of file
diff --git a/Lang/Raku/Dominoes b/Lang/Raku/Dominoes
new file mode 120000
index 0000000000..48ba3c99bf
--- /dev/null
+++ b/Lang/Raku/Dominoes
@@ -0,0 +1 @@
+../../Task/Dominoes/Raku
\ No newline at end of file
diff --git a/Lang/Raku/Meissel-Mertens-constant b/Lang/Raku/Meissel-Mertens-constant
deleted file mode 120000
index 5a835b7f73..0000000000
--- a/Lang/Raku/Meissel-Mertens-constant
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Meissel-Mertens-constant/Raku
\ No newline at end of file
diff --git a/Lang/Raku/Miller-Rabin-primality-test b/Lang/Raku/Miller-Rabin-primality-test
deleted file mode 120000
index 5ec2c83bd9..0000000000
--- a/Lang/Raku/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Raku
\ No newline at end of file
diff --git a/Lang/Raku/Play-recorded-sounds b/Lang/Raku/Play-recorded-sounds
new file mode 120000
index 0000000000..7d18ecbdee
--- /dev/null
+++ b/Lang/Raku/Play-recorded-sounds
@@ -0,0 +1 @@
+../../Task/Play-recorded-sounds/Raku
\ No newline at end of file
diff --git a/Lang/Raku/Quaternion-type b/Lang/Raku/Quaternion-type
deleted file mode 120000
index 3333adafb6..0000000000
--- a/Lang/Raku/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Raku
\ No newline at end of file
diff --git a/Lang/Raku/Sequence-nth-number-with-exactly-n-divisors b/Lang/Raku/Sequence:-nth-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Raku/Sequence-nth-number-with-exactly-n-divisors
rename to Lang/Raku/Sequence:-nth-number-with-exactly-n-divisors
diff --git a/Lang/Raku/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/Raku/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/Raku/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/Raku/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/Raku/Sequence-smallest-number-with-exactly-n-divisors b/Lang/Raku/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Raku/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/Raku/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/Raku/Simple-turtle-graphics b/Lang/Raku/Simple-turtle-graphics
new file mode 120000
index 0000000000..496cec69f4
--- /dev/null
+++ b/Lang/Raku/Simple-turtle-graphics
@@ -0,0 +1 @@
+../../Task/Simple-turtle-graphics/Raku
\ No newline at end of file
diff --git a/Lang/Raku/Sorting-Algorithms-Circle-Sort b/Lang/Raku/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index 1ba8b44162..0000000000
--- a/Lang/Raku/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/Raku
\ No newline at end of file
diff --git a/Lang/RapidQ/Levenshtein-distance b/Lang/RapidQ/Levenshtein-distance
new file mode 120000
index 0000000000..43ee94415c
--- /dev/null
+++ b/Lang/RapidQ/Levenshtein-distance
@@ -0,0 +1 @@
+../../Task/Levenshtein-distance/RapidQ
\ No newline at end of file
diff --git a/Lang/RapidQ/Map-range b/Lang/RapidQ/Map-range
new file mode 120000
index 0000000000..a3da155381
--- /dev/null
+++ b/Lang/RapidQ/Map-range
@@ -0,0 +1 @@
+../../Task/Map-range/RapidQ
\ No newline at end of file
diff --git a/Lang/RapidQ/Nth-root b/Lang/RapidQ/Nth-root
new file mode 120000
index 0000000000..f4c270323f
--- /dev/null
+++ b/Lang/RapidQ/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/RapidQ
\ No newline at end of file
diff --git a/Lang/RapidQ/Temperature-conversion b/Lang/RapidQ/Temperature-conversion
new file mode 120000
index 0000000000..757db1c288
--- /dev/null
+++ b/Lang/RapidQ/Temperature-conversion
@@ -0,0 +1 @@
+../../Task/Temperature-conversion/RapidQ
\ No newline at end of file
diff --git a/Lang/Rebol/00-LANG.txt b/Lang/Rebol/00-LANG.txt
new file mode 100644
index 0000000000..4aa183678a
--- /dev/null
+++ b/Lang/Rebol/00-LANG.txt
@@ -0,0 +1,32 @@
+{{language|Rebol
+|site=http://rebol.com
+|strength=strong
+|checking=dynamic
+|gc=yes
+|exec=interpreted
+|tags=rebol, REBOL}}
+
+{{Language programming paradigm|Dynamic}}
+{{Language programming paradigm|Declarative}}
+{{Language programming paradigm|Functional}}
+{{Language programming paradigm|Event-driven}}
+{{Language programming paradigm|Reflective}}
+{{Language programming paradigm|Procedural}}
+{{Language programming paradigm|Imperative}}
+{{Language programming paradigm|Concurrent}}
+{{Language programming paradigm|Distributed}}
+
+Another entry (before merge) is available at [https://rosettacode.org/wiki/Category:REBOL Category:REBOL]
+
+'''Rebol''' (originally named '''REBOL''') stands for Relative Expression Based Object Language and was designed by Carl Sassenrath to combat unnecessary software complexity through a language-centric approach. Rebol has been around since about 1998, with [https://www.rebol.com/downloads.html Rebol 2 widely available] and free to use across many platforms. In December 2012, the Rebol 3 (R3) interpreter was [https://github.com/rebol/rebol/ released as open source] under the Apache 2.0 license. Today, an actively maintained community fork of Rebol 3 is available at https://github.com/Oldes/Rebol3/ with [https://github.com/Oldes/Rebol3/releases current releases and binaries]. This fork's goal is to keep the code close to the original design while improving usability, maintainability, and buildability.
+
+The functions dictionary for the latest available Rebol version can be found at: https://rebol.tech/docs/functions.html
+
+==Todo==
+[https://rosettacode.org/wiki/Tasks_not_implemented_in_Rebol Tasks not implemented in Rebol]
+
+==Useful links==
+* [http://www.rebol.com Original (outdated) Rebol site]
+* [https://github.com/Oldes/Rebol3 Rebol3 source] on Github (active development).
+* [https://rebol.zulipchat.com/ Rebol Zulip chat].
+* [https://app.element.io/#/room/#Rebol3:gitter.im Rebol Matrix chat].
\ No newline at end of file
diff --git a/Lang/Rebol/00-META.yaml b/Lang/Rebol/00-META.yaml
new file mode 100644
index 0000000000..1edb7cbb3e
--- /dev/null
+++ b/Lang/Rebol/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Rebol
diff --git a/Lang/Rebol/100-doors b/Lang/Rebol/100-doors
new file mode 120000
index 0000000000..5b331a9eba
--- /dev/null
+++ b/Lang/Rebol/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/100-prisoners b/Lang/Rebol/100-prisoners
new file mode 120000
index 0000000000..97501a6eb7
--- /dev/null
+++ b/Lang/Rebol/100-prisoners
@@ -0,0 +1 @@
+../../Task/100-prisoners/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/15-puzzle-game b/Lang/Rebol/15-puzzle-game
new file mode 120000
index 0000000000..067f887d80
--- /dev/null
+++ b/Lang/Rebol/15-puzzle-game
@@ -0,0 +1 @@
+../../Task/15-puzzle-game/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/21-game b/Lang/Rebol/21-game
new file mode 120000
index 0000000000..26c96de104
--- /dev/null
+++ b/Lang/Rebol/21-game
@@ -0,0 +1 @@
+../../Task/21-game/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/24-game b/Lang/Rebol/24-game
new file mode 120000
index 0000000000..da2db22523
--- /dev/null
+++ b/Lang/Rebol/24-game
@@ -0,0 +1 @@
+../../Task/24-game/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/9-billion-names-of-God-the-integer b/Lang/Rebol/9-billion-names-of-God-the-integer
new file mode 120000
index 0000000000..73577ad2b4
--- /dev/null
+++ b/Lang/Rebol/9-billion-names-of-God-the-integer
@@ -0,0 +1 @@
+../../Task/9-billion-names-of-God-the-integer/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/99-bottles-of-beer b/Lang/Rebol/99-bottles-of-beer
new file mode 120000
index 0000000000..5fa8a19390
--- /dev/null
+++ b/Lang/Rebol/99-bottles-of-beer
@@ -0,0 +1 @@
+../../Task/99-bottles-of-beer/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/A+B b/Lang/Rebol/A+B
new file mode 120000
index 0000000000..b25e6fbd34
--- /dev/null
+++ b/Lang/Rebol/A+B
@@ -0,0 +1 @@
+../../Task/A+B/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/ABC-problem b/Lang/Rebol/ABC-problem
new file mode 120000
index 0000000000..4e6e666878
--- /dev/null
+++ b/Lang/Rebol/ABC-problem
@@ -0,0 +1 @@
+../../Task/ABC-problem/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Abbreviations-automatic b/Lang/Rebol/Abbreviations-automatic
new file mode 120000
index 0000000000..85b470e105
--- /dev/null
+++ b/Lang/Rebol/Abbreviations-automatic
@@ -0,0 +1 @@
+../../Task/Abbreviations-automatic/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Abbreviations-easy b/Lang/Rebol/Abbreviations-easy
new file mode 120000
index 0000000000..f54524f132
--- /dev/null
+++ b/Lang/Rebol/Abbreviations-easy
@@ -0,0 +1 @@
+../../Task/Abbreviations-easy/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Abbreviations-simple b/Lang/Rebol/Abbreviations-simple
new file mode 120000
index 0000000000..1036d0a126
--- /dev/null
+++ b/Lang/Rebol/Abbreviations-simple
@@ -0,0 +1 @@
+../../Task/Abbreviations-simple/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Abelian-sandpile-model-Identity b/Lang/Rebol/Abelian-sandpile-model-Identity
new file mode 120000
index 0000000000..fa169923d8
--- /dev/null
+++ b/Lang/Rebol/Abelian-sandpile-model-Identity
@@ -0,0 +1 @@
+../../Task/Abelian-sandpile-model-Identity/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Abstract-type b/Lang/Rebol/Abstract-type
new file mode 120000
index 0000000000..98f9214f95
--- /dev/null
+++ b/Lang/Rebol/Abstract-type
@@ -0,0 +1 @@
+../../Task/Abstract-type/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Abundant-odd-numbers b/Lang/Rebol/Abundant-odd-numbers
new file mode 120000
index 0000000000..3a7c4247e0
--- /dev/null
+++ b/Lang/Rebol/Abundant-odd-numbers
@@ -0,0 +1 @@
+../../Task/Abundant-odd-numbers/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Accumulator-factory b/Lang/Rebol/Accumulator-factory
new file mode 120000
index 0000000000..2ad70f64ad
--- /dev/null
+++ b/Lang/Rebol/Accumulator-factory
@@ -0,0 +1 @@
+../../Task/Accumulator-factory/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Ackermann-function b/Lang/Rebol/Ackermann-function
new file mode 120000
index 0000000000..699a619796
--- /dev/null
+++ b/Lang/Rebol/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Add-a-variable-to-a-class-instance-at-runtime b/Lang/Rebol/Add-a-variable-to-a-class-instance-at-runtime
new file mode 120000
index 0000000000..a74659ec86
--- /dev/null
+++ b/Lang/Rebol/Add-a-variable-to-a-class-instance-at-runtime
@@ -0,0 +1 @@
+../../Task/Add-a-variable-to-a-class-instance-at-runtime/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Additive-primes b/Lang/Rebol/Additive-primes
new file mode 120000
index 0000000000..1f4da61e10
--- /dev/null
+++ b/Lang/Rebol/Additive-primes
@@ -0,0 +1 @@
+../../Task/Additive-primes/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Align-columns b/Lang/Rebol/Align-columns
new file mode 120000
index 0000000000..f1de5b19b7
--- /dev/null
+++ b/Lang/Rebol/Align-columns
@@ -0,0 +1 @@
+../../Task/Align-columns/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Almost-prime b/Lang/Rebol/Almost-prime
new file mode 120000
index 0000000000..485728d591
--- /dev/null
+++ b/Lang/Rebol/Almost-prime
@@ -0,0 +1 @@
+../../Task/Almost-prime/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Amb b/Lang/Rebol/Amb
new file mode 120000
index 0000000000..ada18b3a53
--- /dev/null
+++ b/Lang/Rebol/Amb
@@ -0,0 +1 @@
+../../Task/Amb/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Amicable-pairs b/Lang/Rebol/Amicable-pairs
new file mode 120000
index 0000000000..7715d03a59
--- /dev/null
+++ b/Lang/Rebol/Amicable-pairs
@@ -0,0 +1 @@
+../../Task/Amicable-pairs/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Anagrams b/Lang/Rebol/Anagrams
new file mode 120000
index 0000000000..19dbe7b94f
--- /dev/null
+++ b/Lang/Rebol/Anagrams
@@ -0,0 +1 @@
+../../Task/Anagrams/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Anagrams-Deranged-anagrams b/Lang/Rebol/Anagrams-Deranged-anagrams
new file mode 120000
index 0000000000..dc92d83901
--- /dev/null
+++ b/Lang/Rebol/Anagrams-Deranged-anagrams
@@ -0,0 +1 @@
+../../Task/Anagrams-Deranged-anagrams/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Animation b/Lang/Rebol/Animation
new file mode 120000
index 0000000000..9bc983a74f
--- /dev/null
+++ b/Lang/Rebol/Animation
@@ -0,0 +1 @@
+../../Task/Animation/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Anonymous-recursion b/Lang/Rebol/Anonymous-recursion
new file mode 120000
index 0000000000..bb89ba8ad2
--- /dev/null
+++ b/Lang/Rebol/Anonymous-recursion
@@ -0,0 +1 @@
+../../Task/Anonymous-recursion/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Anti-primes b/Lang/Rebol/Anti-primes
new file mode 120000
index 0000000000..a605291c15
--- /dev/null
+++ b/Lang/Rebol/Anti-primes
@@ -0,0 +1 @@
+../../Task/Anti-primes/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Apply-a-callback-to-an-array b/Lang/Rebol/Apply-a-callback-to-an-array
new file mode 120000
index 0000000000..846524932e
--- /dev/null
+++ b/Lang/Rebol/Apply-a-callback-to-an-array
@@ -0,0 +1 @@
+../../Task/Apply-a-callback-to-an-array/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Archimedean-spiral b/Lang/Rebol/Archimedean-spiral
new file mode 120000
index 0000000000..485754061d
--- /dev/null
+++ b/Lang/Rebol/Archimedean-spiral
@@ -0,0 +1 @@
+../../Task/Archimedean-spiral/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Arena-storage-pool b/Lang/Rebol/Arena-storage-pool
new file mode 120000
index 0000000000..261e2b68b6
--- /dev/null
+++ b/Lang/Rebol/Arena-storage-pool
@@ -0,0 +1 @@
+../../Task/Arena-storage-pool/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Arithmetic-Integer b/Lang/Rebol/Arithmetic-Integer
new file mode 120000
index 0000000000..beda640d8b
--- /dev/null
+++ b/Lang/Rebol/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Arithmetic-evaluation b/Lang/Rebol/Arithmetic-evaluation
new file mode 120000
index 0000000000..eace662534
--- /dev/null
+++ b/Lang/Rebol/Arithmetic-evaluation
@@ -0,0 +1 @@
+../../Task/Arithmetic-evaluation/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Array-concatenation b/Lang/Rebol/Array-concatenation
new file mode 120000
index 0000000000..54981e3b27
--- /dev/null
+++ b/Lang/Rebol/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Array-length b/Lang/Rebol/Array-length
new file mode 120000
index 0000000000..b057893924
--- /dev/null
+++ b/Lang/Rebol/Array-length
@@ -0,0 +1 @@
+../../Task/Array-length/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Arrays b/Lang/Rebol/Arrays
new file mode 120000
index 0000000000..c2505cc17f
--- /dev/null
+++ b/Lang/Rebol/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Assertions b/Lang/Rebol/Assertions
new file mode 120000
index 0000000000..410d203693
--- /dev/null
+++ b/Lang/Rebol/Assertions
@@ -0,0 +1 @@
+../../Task/Assertions/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Associative-array-Creation b/Lang/Rebol/Associative-array-Creation
new file mode 120000
index 0000000000..ed84b3cd74
--- /dev/null
+++ b/Lang/Rebol/Associative-array-Creation
@@ -0,0 +1 @@
+../../Task/Associative-array-Creation/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Attractive-numbers b/Lang/Rebol/Attractive-numbers
new file mode 120000
index 0000000000..bd3dc833b3
--- /dev/null
+++ b/Lang/Rebol/Attractive-numbers
@@ -0,0 +1 @@
+../../Task/Attractive-numbers/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Averages-Arithmetic-mean b/Lang/Rebol/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..1b2f7cd050
--- /dev/null
+++ b/Lang/Rebol/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Averages-Median b/Lang/Rebol/Averages-Median
new file mode 120000
index 0000000000..308cc999e7
--- /dev/null
+++ b/Lang/Rebol/Averages-Median
@@ -0,0 +1 @@
+../../Task/Averages-Median/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Babbage-problem b/Lang/Rebol/Babbage-problem
new file mode 120000
index 0000000000..da5afb5375
--- /dev/null
+++ b/Lang/Rebol/Babbage-problem
@@ -0,0 +1 @@
+../../Task/Babbage-problem/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Babylonian-spiral b/Lang/Rebol/Babylonian-spiral
new file mode 120000
index 0000000000..18aac82eae
--- /dev/null
+++ b/Lang/Rebol/Babylonian-spiral
@@ -0,0 +1 @@
+../../Task/Babylonian-spiral/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Balanced-brackets b/Lang/Rebol/Balanced-brackets
new file mode 120000
index 0000000000..99271027bc
--- /dev/null
+++ b/Lang/Rebol/Balanced-brackets
@@ -0,0 +1 @@
+../../Task/Balanced-brackets/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Barnsley-fern b/Lang/Rebol/Barnsley-fern
new file mode 120000
index 0000000000..e98ef998d2
--- /dev/null
+++ b/Lang/Rebol/Barnsley-fern
@@ -0,0 +1 @@
+../../Task/Barnsley-fern/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Base64-decode-data b/Lang/Rebol/Base64-decode-data
new file mode 120000
index 0000000000..0ea7b555cb
--- /dev/null
+++ b/Lang/Rebol/Base64-decode-data
@@ -0,0 +1 @@
+../../Task/Base64-decode-data/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Bifid-cipher b/Lang/Rebol/Bifid-cipher
new file mode 120000
index 0000000000..b00839dd98
--- /dev/null
+++ b/Lang/Rebol/Bifid-cipher
@@ -0,0 +1 @@
+../../Task/Bifid-cipher/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Binary-digits b/Lang/Rebol/Binary-digits
new file mode 120000
index 0000000000..7cb2d23198
--- /dev/null
+++ b/Lang/Rebol/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Binary-strings b/Lang/Rebol/Binary-strings
new file mode 120000
index 0000000000..9671e7ddf3
--- /dev/null
+++ b/Lang/Rebol/Binary-strings
@@ -0,0 +1 @@
+../../Task/Binary-strings/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Biorhythms b/Lang/Rebol/Biorhythms
new file mode 120000
index 0000000000..7e80c97327
--- /dev/null
+++ b/Lang/Rebol/Biorhythms
@@ -0,0 +1 @@
+../../Task/Biorhythms/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Bitcoin-address-validation b/Lang/Rebol/Bitcoin-address-validation
new file mode 120000
index 0000000000..9344a9c4c3
--- /dev/null
+++ b/Lang/Rebol/Bitcoin-address-validation
@@ -0,0 +1 @@
+../../Task/Bitcoin-address-validation/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Bitmap b/Lang/Rebol/Bitmap
new file mode 120000
index 0000000000..629709bef1
--- /dev/null
+++ b/Lang/Rebol/Bitmap
@@ -0,0 +1 @@
+../../Task/Bitmap/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Bitmap-Flood-fill b/Lang/Rebol/Bitmap-Flood-fill
new file mode 120000
index 0000000000..af82299463
--- /dev/null
+++ b/Lang/Rebol/Bitmap-Flood-fill
@@ -0,0 +1 @@
+../../Task/Bitmap-Flood-fill/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Bitmap-Histogram b/Lang/Rebol/Bitmap-Histogram
new file mode 120000
index 0000000000..3dc33a01e1
--- /dev/null
+++ b/Lang/Rebol/Bitmap-Histogram
@@ -0,0 +1 @@
+../../Task/Bitmap-Histogram/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Bitmap-Midpoint-circle-algorithm b/Lang/Rebol/Bitmap-Midpoint-circle-algorithm
new file mode 120000
index 0000000000..d8a14cc133
--- /dev/null
+++ b/Lang/Rebol/Bitmap-Midpoint-circle-algorithm
@@ -0,0 +1 @@
+../../Task/Bitmap-Midpoint-circle-algorithm/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Bitmap-Read-a-PPM-file b/Lang/Rebol/Bitmap-Read-a-PPM-file
new file mode 120000
index 0000000000..4c8503a5c6
--- /dev/null
+++ b/Lang/Rebol/Bitmap-Read-a-PPM-file
@@ -0,0 +1 @@
+../../Task/Bitmap-Read-a-PPM-file/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Bitmap-Write-a-PPM-file b/Lang/Rebol/Bitmap-Write-a-PPM-file
new file mode 120000
index 0000000000..f47ca4a660
--- /dev/null
+++ b/Lang/Rebol/Bitmap-Write-a-PPM-file
@@ -0,0 +1 @@
+../../Task/Bitmap-Write-a-PPM-file/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Bitwise-IO b/Lang/Rebol/Bitwise-IO
new file mode 120000
index 0000000000..d928c50478
--- /dev/null
+++ b/Lang/Rebol/Bitwise-IO
@@ -0,0 +1 @@
+../../Task/Bitwise-IO/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Bitwise-operations b/Lang/Rebol/Bitwise-operations
new file mode 120000
index 0000000000..ed4b6220a6
--- /dev/null
+++ b/Lang/Rebol/Bitwise-operations
@@ -0,0 +1 @@
+../../Task/Bitwise-operations/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Box-the-compass b/Lang/Rebol/Box-the-compass
new file mode 120000
index 0000000000..8772a92d1c
--- /dev/null
+++ b/Lang/Rebol/Box-the-compass
@@ -0,0 +1 @@
+../../Task/Box-the-compass/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Bulls-and-cows b/Lang/Rebol/Bulls-and-cows
new file mode 120000
index 0000000000..acbfc00124
--- /dev/null
+++ b/Lang/Rebol/Bulls-and-cows
@@ -0,0 +1 @@
+../../Task/Bulls-and-cows/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Bulls-and-cows-Player b/Lang/Rebol/Bulls-and-cows-Player
new file mode 120000
index 0000000000..3cce956d9f
--- /dev/null
+++ b/Lang/Rebol/Bulls-and-cows-Player
@@ -0,0 +1 @@
+../../Task/Bulls-and-cows-Player/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Burrows-Wheeler-transform b/Lang/Rebol/Burrows-Wheeler-transform
new file mode 120000
index 0000000000..0a3a26dcec
--- /dev/null
+++ b/Lang/Rebol/Burrows-Wheeler-transform
@@ -0,0 +1 @@
+../../Task/Burrows-Wheeler-transform/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/CRC-32 b/Lang/Rebol/CRC-32
new file mode 120000
index 0000000000..634c717528
--- /dev/null
+++ b/Lang/Rebol/CRC-32
@@ -0,0 +1 @@
+../../Task/CRC-32/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/CSV-data-manipulation b/Lang/Rebol/CSV-data-manipulation
new file mode 120000
index 0000000000..7ac497a786
--- /dev/null
+++ b/Lang/Rebol/CSV-data-manipulation
@@ -0,0 +1 @@
+../../Task/CSV-data-manipulation/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/CSV-to-HTML-translation b/Lang/Rebol/CSV-to-HTML-translation
new file mode 120000
index 0000000000..f5ad170ee4
--- /dev/null
+++ b/Lang/Rebol/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Caesar-cipher b/Lang/Rebol/Caesar-cipher
new file mode 120000
index 0000000000..a6b4726d60
--- /dev/null
+++ b/Lang/Rebol/Caesar-cipher
@@ -0,0 +1 @@
+../../Task/Caesar-cipher/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Calendar b/Lang/Rebol/Calendar
new file mode 120000
index 0000000000..ab6fe69315
--- /dev/null
+++ b/Lang/Rebol/Calendar
@@ -0,0 +1 @@
+../../Task/Calendar/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Calendar---for-REAL-programmers b/Lang/Rebol/Calendar---for-REAL-programmers
new file mode 120000
index 0000000000..af1c969dec
--- /dev/null
+++ b/Lang/Rebol/Calendar---for-REAL-programmers
@@ -0,0 +1 @@
+../../Task/Calendar---for-REAL-programmers/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Catalan-numbers b/Lang/Rebol/Catalan-numbers
new file mode 120000
index 0000000000..0e39f685c0
--- /dev/null
+++ b/Lang/Rebol/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Catalan-numbers-Pascals-triangle b/Lang/Rebol/Catalan-numbers-Pascals-triangle
new file mode 120000
index 0000000000..6b1b6d4970
--- /dev/null
+++ b/Lang/Rebol/Catalan-numbers-Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Catalan-numbers-Pascals-triangle/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Character-codes b/Lang/Rebol/Character-codes
new file mode 120000
index 0000000000..3daa301cb2
--- /dev/null
+++ b/Lang/Rebol/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Check-input-device-is-a-terminal b/Lang/Rebol/Check-input-device-is-a-terminal
new file mode 120000
index 0000000000..82d5a1e6e2
--- /dev/null
+++ b/Lang/Rebol/Check-input-device-is-a-terminal
@@ -0,0 +1 @@
+../../Task/Check-input-device-is-a-terminal/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Check-that-file-exists b/Lang/Rebol/Check-that-file-exists
new file mode 120000
index 0000000000..83129a7375
--- /dev/null
+++ b/Lang/Rebol/Check-that-file-exists
@@ -0,0 +1 @@
+../../Task/Check-that-file-exists/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Chinese-zodiac b/Lang/Rebol/Chinese-zodiac
new file mode 120000
index 0000000000..e983432942
--- /dev/null
+++ b/Lang/Rebol/Chinese-zodiac
@@ -0,0 +1 @@
+../../Task/Chinese-zodiac/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Classes b/Lang/Rebol/Classes
new file mode 120000
index 0000000000..19c13253ee
--- /dev/null
+++ b/Lang/Rebol/Classes
@@ -0,0 +1 @@
+../../Task/Classes/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Closures-Value-capture b/Lang/Rebol/Closures-Value-capture
new file mode 120000
index 0000000000..c746b0b21a
--- /dev/null
+++ b/Lang/Rebol/Closures-Value-capture
@@ -0,0 +1 @@
+../../Task/Closures-Value-capture/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Color-quantization b/Lang/Rebol/Color-quantization
new file mode 120000
index 0000000000..fca9b62778
--- /dev/null
+++ b/Lang/Rebol/Color-quantization
@@ -0,0 +1 @@
+../../Task/Color-quantization/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Comma-quibbling b/Lang/Rebol/Comma-quibbling
new file mode 120000
index 0000000000..8f9382035d
--- /dev/null
+++ b/Lang/Rebol/Comma-quibbling
@@ -0,0 +1 @@
+../../Task/Comma-quibbling/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Comments b/Lang/Rebol/Comments
new file mode 120000
index 0000000000..1a45f1afdb
--- /dev/null
+++ b/Lang/Rebol/Comments
@@ -0,0 +1 @@
+../../Task/Comments/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Compare-a-list-of-strings b/Lang/Rebol/Compare-a-list-of-strings
new file mode 120000
index 0000000000..8b48806d25
--- /dev/null
+++ b/Lang/Rebol/Compare-a-list-of-strings
@@ -0,0 +1 @@
+../../Task/Compare-a-list-of-strings/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Conways-Game-of-Life b/Lang/Rebol/Conways-Game-of-Life
new file mode 120000
index 0000000000..1be297f380
--- /dev/null
+++ b/Lang/Rebol/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Copy-a-string b/Lang/Rebol/Copy-a-string
new file mode 120000
index 0000000000..713a966385
--- /dev/null
+++ b/Lang/Rebol/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Create-a-file b/Lang/Rebol/Create-a-file
new file mode 120000
index 0000000000..eb56f3709c
--- /dev/null
+++ b/Lang/Rebol/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Create-a-two-dimensional-array-at-runtime b/Lang/Rebol/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..2338b1da0a
--- /dev/null
+++ b/Lang/Rebol/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Create-an-HTML-table b/Lang/Rebol/Create-an-HTML-table
new file mode 120000
index 0000000000..479c62b61c
--- /dev/null
+++ b/Lang/Rebol/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Currency b/Lang/Rebol/Currency
new file mode 120000
index 0000000000..918d212fb1
--- /dev/null
+++ b/Lang/Rebol/Currency
@@ -0,0 +1 @@
+../../Task/Currency/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Currying b/Lang/Rebol/Currying
new file mode 120000
index 0000000000..8810de2a28
--- /dev/null
+++ b/Lang/Rebol/Currying
@@ -0,0 +1 @@
+../../Task/Currying/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Date-format b/Lang/Rebol/Date-format
new file mode 120000
index 0000000000..bbad545c0e
--- /dev/null
+++ b/Lang/Rebol/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Date-manipulation b/Lang/Rebol/Date-manipulation
new file mode 120000
index 0000000000..0ef2caa486
--- /dev/null
+++ b/Lang/Rebol/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Day-of-the-week b/Lang/Rebol/Day-of-the-week
new file mode 120000
index 0000000000..27a96c7aab
--- /dev/null
+++ b/Lang/Rebol/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Deal-cards-for-FreeCell b/Lang/Rebol/Deal-cards-for-FreeCell
new file mode 120000
index 0000000000..6092f801ff
--- /dev/null
+++ b/Lang/Rebol/Deal-cards-for-FreeCell
@@ -0,0 +1 @@
+../../Task/Deal-cards-for-FreeCell/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Delete-a-file b/Lang/Rebol/Delete-a-file
new file mode 120000
index 0000000000..60299e91d7
--- /dev/null
+++ b/Lang/Rebol/Delete-a-file
@@ -0,0 +1 @@
+../../Task/Delete-a-file/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Detect-division-by-zero b/Lang/Rebol/Detect-division-by-zero
new file mode 120000
index 0000000000..fb477e9779
--- /dev/null
+++ b/Lang/Rebol/Detect-division-by-zero
@@ -0,0 +1 @@
+../../Task/Detect-division-by-zero/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Determine-if-a-string-is-numeric b/Lang/Rebol/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..6a7216a9d5
--- /dev/null
+++ b/Lang/Rebol/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Digital-root b/Lang/Rebol/Digital-root
new file mode 120000
index 0000000000..c70057beb3
--- /dev/null
+++ b/Lang/Rebol/Digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Display-a-linear-combination b/Lang/Rebol/Display-a-linear-combination
new file mode 120000
index 0000000000..701713c8e0
--- /dev/null
+++ b/Lang/Rebol/Display-a-linear-combination
@@ -0,0 +1 @@
+../../Task/Display-a-linear-combination/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Documentation b/Lang/Rebol/Documentation
new file mode 120000
index 0000000000..92c3f85b3b
--- /dev/null
+++ b/Lang/Rebol/Documentation
@@ -0,0 +1 @@
+../../Task/Documentation/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Dot-product b/Lang/Rebol/Dot-product
new file mode 120000
index 0000000000..a29d1db870
--- /dev/null
+++ b/Lang/Rebol/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Dragon-curve b/Lang/Rebol/Dragon-curve
new file mode 120000
index 0000000000..e192bc1b6c
--- /dev/null
+++ b/Lang/Rebol/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Draw-a-clock b/Lang/Rebol/Draw-a-clock
new file mode 120000
index 0000000000..9c767ac91b
--- /dev/null
+++ b/Lang/Rebol/Draw-a-clock
@@ -0,0 +1 @@
+../../Task/Draw-a-clock/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Draw-a-pixel b/Lang/Rebol/Draw-a-pixel
new file mode 120000
index 0000000000..4424b2ecc5
--- /dev/null
+++ b/Lang/Rebol/Draw-a-pixel
@@ -0,0 +1 @@
+../../Task/Draw-a-pixel/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Dynamic-variable-names b/Lang/Rebol/Dynamic-variable-names
new file mode 120000
index 0000000000..36e09e119f
--- /dev/null
+++ b/Lang/Rebol/Dynamic-variable-names
@@ -0,0 +1 @@
+../../Task/Dynamic-variable-names/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Echo-server b/Lang/Rebol/Echo-server
new file mode 120000
index 0000000000..cdc4b2fda6
--- /dev/null
+++ b/Lang/Rebol/Echo-server
@@ -0,0 +1 @@
+../../Task/Echo-server/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Empty-directory b/Lang/Rebol/Empty-directory
new file mode 120000
index 0000000000..2945783dae
--- /dev/null
+++ b/Lang/Rebol/Empty-directory
@@ -0,0 +1 @@
+../../Task/Empty-directory/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Empty-program b/Lang/Rebol/Empty-program
new file mode 120000
index 0000000000..f34c1f5023
--- /dev/null
+++ b/Lang/Rebol/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Empty-string b/Lang/Rebol/Empty-string
new file mode 120000
index 0000000000..33318a0a63
--- /dev/null
+++ b/Lang/Rebol/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Enumerations b/Lang/Rebol/Enumerations
new file mode 120000
index 0000000000..ba3f469c4e
--- /dev/null
+++ b/Lang/Rebol/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Environment-variables b/Lang/Rebol/Environment-variables
new file mode 120000
index 0000000000..5354438b20
--- /dev/null
+++ b/Lang/Rebol/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Ethiopian-multiplication b/Lang/Rebol/Ethiopian-multiplication
new file mode 120000
index 0000000000..1671fc4362
--- /dev/null
+++ b/Lang/Rebol/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Euler-method b/Lang/Rebol/Euler-method
new file mode 120000
index 0000000000..d587d93232
--- /dev/null
+++ b/Lang/Rebol/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Eulers-constant-0.5772... b/Lang/Rebol/Eulers-constant-0.5772...
new file mode 120000
index 0000000000..02917c130f
--- /dev/null
+++ b/Lang/Rebol/Eulers-constant-0.5772...
@@ -0,0 +1 @@
+../../Task/Eulers-constant-0.5772.../Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Evolutionary-algorithm b/Lang/Rebol/Evolutionary-algorithm
new file mode 120000
index 0000000000..ccdf89518f
--- /dev/null
+++ b/Lang/Rebol/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Execute-Brain- b/Lang/Rebol/Execute-Brain-
new file mode 120000
index 0000000000..60bfe033c3
--- /dev/null
+++ b/Lang/Rebol/Execute-Brain-
@@ -0,0 +1 @@
+../../Task/Execute-Brain-/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Execute-a-system-command b/Lang/Rebol/Execute-a-system-command
new file mode 120000
index 0000000000..14651b49c9
--- /dev/null
+++ b/Lang/Rebol/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Exponentiation-order b/Lang/Rebol/Exponentiation-order
new file mode 120000
index 0000000000..852ef49526
--- /dev/null
+++ b/Lang/Rebol/Exponentiation-order
@@ -0,0 +1 @@
+../../Task/Exponentiation-order/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/FASTA-format b/Lang/Rebol/FASTA-format
new file mode 120000
index 0000000000..40d663436d
--- /dev/null
+++ b/Lang/Rebol/FASTA-format
@@ -0,0 +1 @@
+../../Task/FASTA-format/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/FTP b/Lang/Rebol/FTP
new file mode 120000
index 0000000000..3480e1937d
--- /dev/null
+++ b/Lang/Rebol/FTP
@@ -0,0 +1 @@
+../../Task/FTP/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Factorial b/Lang/Rebol/Factorial
new file mode 120000
index 0000000000..359724a1fc
--- /dev/null
+++ b/Lang/Rebol/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Factors-of-an-integer b/Lang/Rebol/Factors-of-an-integer
new file mode 120000
index 0000000000..9d42008357
--- /dev/null
+++ b/Lang/Rebol/Factors-of-an-integer
@@ -0,0 +1 @@
+../../Task/Factors-of-an-integer/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Fibonacci-sequence b/Lang/Rebol/Fibonacci-sequence
new file mode 120000
index 0000000000..f57b59f681
--- /dev/null
+++ b/Lang/Rebol/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/File-input-output b/Lang/Rebol/File-input-output
new file mode 120000
index 0000000000..b8c077dcb5
--- /dev/null
+++ b/Lang/Rebol/File-input-output
@@ -0,0 +1 @@
+../../Task/File-input-output/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/File-size b/Lang/Rebol/File-size
new file mode 120000
index 0000000000..896b2c8e3b
--- /dev/null
+++ b/Lang/Rebol/File-size
@@ -0,0 +1 @@
+../../Task/File-size/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Filter b/Lang/Rebol/Filter
new file mode 120000
index 0000000000..eaf8ebe826
--- /dev/null
+++ b/Lang/Rebol/Filter
@@ -0,0 +1 @@
+../../Task/Filter/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Find-the-last-Sunday-of-each-month b/Lang/Rebol/Find-the-last-Sunday-of-each-month
new file mode 120000
index 0000000000..d3b115bfb8
--- /dev/null
+++ b/Lang/Rebol/Find-the-last-Sunday-of-each-month
@@ -0,0 +1 @@
+../../Task/Find-the-last-Sunday-of-each-month/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/First-class-functions b/Lang/Rebol/First-class-functions
new file mode 120000
index 0000000000..5b2c2417e0
--- /dev/null
+++ b/Lang/Rebol/First-class-functions
@@ -0,0 +1 @@
+../../Task/First-class-functions/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/First-class-functions-Use-numbers-analogously b/Lang/Rebol/First-class-functions-Use-numbers-analogously
new file mode 120000
index 0000000000..de2ebe8414
--- /dev/null
+++ b/Lang/Rebol/First-class-functions-Use-numbers-analogously
@@ -0,0 +1 @@
+../../Task/First-class-functions-Use-numbers-analogously/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Five-weekends b/Lang/Rebol/Five-weekends
new file mode 120000
index 0000000000..01c1c36611
--- /dev/null
+++ b/Lang/Rebol/Five-weekends
@@ -0,0 +1 @@
+../../Task/Five-weekends/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Fixed-length-records b/Lang/Rebol/Fixed-length-records
new file mode 120000
index 0000000000..9039851f51
--- /dev/null
+++ b/Lang/Rebol/Fixed-length-records
@@ -0,0 +1 @@
+../../Task/Fixed-length-records/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/FizzBuzz b/Lang/Rebol/FizzBuzz
new file mode 120000
index 0000000000..eab06ab9bd
--- /dev/null
+++ b/Lang/Rebol/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Flatten-a-list b/Lang/Rebol/Flatten-a-list
new file mode 120000
index 0000000000..c1a20ef65d
--- /dev/null
+++ b/Lang/Rebol/Flatten-a-list
@@ -0,0 +1 @@
+../../Task/Flatten-a-list/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Flow-control-structures b/Lang/Rebol/Flow-control-structures
new file mode 120000
index 0000000000..07ef2d4ad0
--- /dev/null
+++ b/Lang/Rebol/Flow-control-structures
@@ -0,0 +1 @@
+../../Task/Flow-control-structures/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Formatted-numeric-output b/Lang/Rebol/Formatted-numeric-output
new file mode 120000
index 0000000000..7f83bb070c
--- /dev/null
+++ b/Lang/Rebol/Formatted-numeric-output
@@ -0,0 +1 @@
+../../Task/Formatted-numeric-output/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Fractal-tree b/Lang/Rebol/Fractal-tree
new file mode 120000
index 0000000000..dc8b11466f
--- /dev/null
+++ b/Lang/Rebol/Fractal-tree
@@ -0,0 +1 @@
+../../Task/Fractal-tree/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Fraction-reduction b/Lang/Rebol/Fraction-reduction
new file mode 120000
index 0000000000..b0104cd06a
--- /dev/null
+++ b/Lang/Rebol/Fraction-reduction
@@ -0,0 +1 @@
+../../Task/Fraction-reduction/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Fractran b/Lang/Rebol/Fractran
new file mode 120000
index 0000000000..9377d42c62
--- /dev/null
+++ b/Lang/Rebol/Fractran
@@ -0,0 +1 @@
+../../Task/Fractran/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Function-composition b/Lang/Rebol/Function-composition
new file mode 120000
index 0000000000..76d75e3285
--- /dev/null
+++ b/Lang/Rebol/Function-composition
@@ -0,0 +1 @@
+../../Task/Function-composition/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Function-definition b/Lang/Rebol/Function-definition
new file mode 120000
index 0000000000..70c2821920
--- /dev/null
+++ b/Lang/Rebol/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Gapful-numbers b/Lang/Rebol/Gapful-numbers
new file mode 120000
index 0000000000..68fbc7017f
--- /dev/null
+++ b/Lang/Rebol/Gapful-numbers
@@ -0,0 +1 @@
+../../Task/Gapful-numbers/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Generic-swap b/Lang/Rebol/Generic-swap
new file mode 120000
index 0000000000..283afac298
--- /dev/null
+++ b/Lang/Rebol/Generic-swap
@@ -0,0 +1 @@
+../../Task/Generic-swap/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Get-system-command-output b/Lang/Rebol/Get-system-command-output
new file mode 120000
index 0000000000..62cff72de6
--- /dev/null
+++ b/Lang/Rebol/Get-system-command-output
@@ -0,0 +1 @@
+../../Task/Get-system-command-output/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Globally-replace-text-in-several-files b/Lang/Rebol/Globally-replace-text-in-several-files
new file mode 120000
index 0000000000..03354f183a
--- /dev/null
+++ b/Lang/Rebol/Globally-replace-text-in-several-files
@@ -0,0 +1 @@
+../../Task/Globally-replace-text-in-several-files/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Go-Fish b/Lang/Rebol/Go-Fish
new file mode 120000
index 0000000000..7c0ef6e6d5
--- /dev/null
+++ b/Lang/Rebol/Go-Fish
@@ -0,0 +1 @@
+../../Task/Go-Fish/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Greatest-common-divisor b/Lang/Rebol/Greatest-common-divisor
new file mode 120000
index 0000000000..e924b899c0
--- /dev/null
+++ b/Lang/Rebol/Greatest-common-divisor
@@ -0,0 +1 @@
+../../Task/Greatest-common-divisor/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Greatest-element-of-a-list b/Lang/Rebol/Greatest-element-of-a-list
new file mode 120000
index 0000000000..e262faf6c6
--- /dev/null
+++ b/Lang/Rebol/Greatest-element-of-a-list
@@ -0,0 +1 @@
+../../Task/Greatest-element-of-a-list/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/HTTP b/Lang/Rebol/HTTP
new file mode 120000
index 0000000000..f7583ff32a
--- /dev/null
+++ b/Lang/Rebol/HTTP
@@ -0,0 +1 @@
+../../Task/HTTP/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/HTTPS b/Lang/Rebol/HTTPS
new file mode 120000
index 0000000000..39a4cf4015
--- /dev/null
+++ b/Lang/Rebol/HTTPS
@@ -0,0 +1 @@
+../../Task/HTTPS/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/HTTPS-Authenticated b/Lang/Rebol/HTTPS-Authenticated
new file mode 120000
index 0000000000..325f33d148
--- /dev/null
+++ b/Lang/Rebol/HTTPS-Authenticated
@@ -0,0 +1 @@
+../../Task/HTTPS-Authenticated/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Hailstone-sequence b/Lang/Rebol/Hailstone-sequence
new file mode 120000
index 0000000000..52670d11f8
--- /dev/null
+++ b/Lang/Rebol/Hailstone-sequence
@@ -0,0 +1 @@
+../../Task/Hailstone-sequence/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Halt-and-catch-fire b/Lang/Rebol/Halt-and-catch-fire
new file mode 120000
index 0000000000..4e21d500fa
--- /dev/null
+++ b/Lang/Rebol/Halt-and-catch-fire
@@ -0,0 +1 @@
+../../Task/Halt-and-catch-fire/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Handle-a-signal b/Lang/Rebol/Handle-a-signal
new file mode 120000
index 0000000000..67b30c2214
--- /dev/null
+++ b/Lang/Rebol/Handle-a-signal
@@ -0,0 +1 @@
+../../Task/Handle-a-signal/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Hash-from-two-arrays b/Lang/Rebol/Hash-from-two-arrays
new file mode 120000
index 0000000000..de8389960e
--- /dev/null
+++ b/Lang/Rebol/Hash-from-two-arrays
@@ -0,0 +1 @@
+../../Task/Hash-from-two-arrays/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Hash-join b/Lang/Rebol/Hash-join
new file mode 120000
index 0000000000..02b63d13c7
--- /dev/null
+++ b/Lang/Rebol/Hash-join
@@ -0,0 +1 @@
+../../Task/Hash-join/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Hello-world-Graphical b/Lang/Rebol/Hello-world-Graphical
new file mode 120000
index 0000000000..e8f4608f84
--- /dev/null
+++ b/Lang/Rebol/Hello-world-Graphical
@@ -0,0 +1 @@
+../../Task/Hello-world-Graphical/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Hello-world-Newline-omission b/Lang/Rebol/Hello-world-Newline-omission
new file mode 120000
index 0000000000..2762747194
--- /dev/null
+++ b/Lang/Rebol/Hello-world-Newline-omission
@@ -0,0 +1 @@
+../../Task/Hello-world-Newline-omission/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Hello-world-Text b/Lang/Rebol/Hello-world-Text
new file mode 120000
index 0000000000..2b783947da
--- /dev/null
+++ b/Lang/Rebol/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Higher-order-functions b/Lang/Rebol/Higher-order-functions
new file mode 120000
index 0000000000..6c4634db1c
--- /dev/null
+++ b/Lang/Rebol/Higher-order-functions
@@ -0,0 +1 @@
+../../Task/Higher-order-functions/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Horners-rule-for-polynomial-evaluation b/Lang/Rebol/Horners-rule-for-polynomial-evaluation
new file mode 120000
index 0000000000..2e9d363a9e
--- /dev/null
+++ b/Lang/Rebol/Horners-rule-for-polynomial-evaluation
@@ -0,0 +1 @@
+../../Task/Horners-rule-for-polynomial-evaluation/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Hostname b/Lang/Rebol/Hostname
new file mode 120000
index 0000000000..3effe6dbed
--- /dev/null
+++ b/Lang/Rebol/Hostname
@@ -0,0 +1 @@
+../../Task/Hostname/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Huffman-coding b/Lang/Rebol/Huffman-coding
new file mode 120000
index 0000000000..545f0a329b
--- /dev/null
+++ b/Lang/Rebol/Huffman-coding
@@ -0,0 +1 @@
+../../Task/Huffman-coding/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/I-before-E-except-after-C b/Lang/Rebol/I-before-E-except-after-C
new file mode 120000
index 0000000000..e2b7750d9c
--- /dev/null
+++ b/Lang/Rebol/I-before-E-except-after-C
@@ -0,0 +1 @@
+../../Task/I-before-E-except-after-C/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/ISBN13-check-digit b/Lang/Rebol/ISBN13-check-digit
new file mode 120000
index 0000000000..aef47eac0f
--- /dev/null
+++ b/Lang/Rebol/ISBN13-check-digit
@@ -0,0 +1 @@
+../../Task/ISBN13-check-digit/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Identity-matrix b/Lang/Rebol/Identity-matrix
new file mode 120000
index 0000000000..6dfa288d93
--- /dev/null
+++ b/Lang/Rebol/Identity-matrix
@@ -0,0 +1 @@
+../../Task/Identity-matrix/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Image-noise b/Lang/Rebol/Image-noise
new file mode 120000
index 0000000000..a58b511104
--- /dev/null
+++ b/Lang/Rebol/Image-noise
@@ -0,0 +1 @@
+../../Task/Image-noise/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Increment-a-numerical-string b/Lang/Rebol/Increment-a-numerical-string
new file mode 120000
index 0000000000..1d874b5b6c
--- /dev/null
+++ b/Lang/Rebol/Increment-a-numerical-string
@@ -0,0 +1 @@
+../../Task/Increment-a-numerical-string/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Inheritance-Single b/Lang/Rebol/Inheritance-Single
new file mode 120000
index 0000000000..0d3eb9573f
--- /dev/null
+++ b/Lang/Rebol/Inheritance-Single
@@ -0,0 +1 @@
+../../Task/Inheritance-Single/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Input-loop b/Lang/Rebol/Input-loop
new file mode 120000
index 0000000000..62007f0b87
--- /dev/null
+++ b/Lang/Rebol/Input-loop
@@ -0,0 +1 @@
+../../Task/Input-loop/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Integer-comparison b/Lang/Rebol/Integer-comparison
new file mode 120000
index 0000000000..7349100994
--- /dev/null
+++ b/Lang/Rebol/Integer-comparison
@@ -0,0 +1 @@
+../../Task/Integer-comparison/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Integer-overflow b/Lang/Rebol/Integer-overflow
new file mode 120000
index 0000000000..8caca51571
--- /dev/null
+++ b/Lang/Rebol/Integer-overflow
@@ -0,0 +1 @@
+../../Task/Integer-overflow/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Interactive-programming-repl- b/Lang/Rebol/Interactive-programming-repl-
new file mode 120000
index 0000000000..e63ccabe70
--- /dev/null
+++ b/Lang/Rebol/Interactive-programming-repl-
@@ -0,0 +1 @@
+../../Task/Interactive-programming-repl-/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/JSON b/Lang/Rebol/JSON
new file mode 120000
index 0000000000..8bd9ae2a02
--- /dev/null
+++ b/Lang/Rebol/JSON
@@ -0,0 +1 @@
+../../Task/JSON/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Jacobsthal-numbers b/Lang/Rebol/Jacobsthal-numbers
new file mode 120000
index 0000000000..0faf5cccbd
--- /dev/null
+++ b/Lang/Rebol/Jacobsthal-numbers
@@ -0,0 +1 @@
+../../Task/Jacobsthal-numbers/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Jewels-and-stones b/Lang/Rebol/Jewels-and-stones
new file mode 120000
index 0000000000..b876a95e71
--- /dev/null
+++ b/Lang/Rebol/Jewels-and-stones
@@ -0,0 +1 @@
+../../Task/Jewels-and-stones/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Josephus-problem b/Lang/Rebol/Josephus-problem
new file mode 120000
index 0000000000..0a4a059418
--- /dev/null
+++ b/Lang/Rebol/Josephus-problem
@@ -0,0 +1 @@
+../../Task/Josephus-problem/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Keyboard-macros b/Lang/Rebol/Keyboard-macros
new file mode 120000
index 0000000000..6090099e1c
--- /dev/null
+++ b/Lang/Rebol/Keyboard-macros
@@ -0,0 +1 @@
+../../Task/Keyboard-macros/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Knapsack-problem-0-1 b/Lang/Rebol/Knapsack-problem-0-1
new file mode 120000
index 0000000000..a86da2e20d
--- /dev/null
+++ b/Lang/Rebol/Knapsack-problem-0-1
@@ -0,0 +1 @@
+../../Task/Knapsack-problem-0-1/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Knapsack-problem-Bounded b/Lang/Rebol/Knapsack-problem-Bounded
new file mode 120000
index 0000000000..75ecc0ad88
--- /dev/null
+++ b/Lang/Rebol/Knapsack-problem-Bounded
@@ -0,0 +1 @@
+../../Task/Knapsack-problem-Bounded/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Knapsack-problem-Continuous b/Lang/Rebol/Knapsack-problem-Continuous
new file mode 120000
index 0000000000..d2d9139eb3
--- /dev/null
+++ b/Lang/Rebol/Knapsack-problem-Continuous
@@ -0,0 +1 @@
+../../Task/Knapsack-problem-Continuous/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Knapsack-problem-Unbounded b/Lang/Rebol/Knapsack-problem-Unbounded
new file mode 120000
index 0000000000..05a28b3b91
--- /dev/null
+++ b/Lang/Rebol/Knapsack-problem-Unbounded
@@ -0,0 +1 @@
+../../Task/Knapsack-problem-Unbounded/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Knights-tour b/Lang/Rebol/Knights-tour
new file mode 120000
index 0000000000..71e91ef802
--- /dev/null
+++ b/Lang/Rebol/Knights-tour
@@ -0,0 +1 @@
+../../Task/Knights-tour/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Knuth-shuffle b/Lang/Rebol/Knuth-shuffle
new file mode 120000
index 0000000000..34c5744ed5
--- /dev/null
+++ b/Lang/Rebol/Knuth-shuffle
@@ -0,0 +1 @@
+../../Task/Knuth-shuffle/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/LZW-compression b/Lang/Rebol/LZW-compression
new file mode 120000
index 0000000000..6ef643485d
--- /dev/null
+++ b/Lang/Rebol/LZW-compression
@@ -0,0 +1 @@
+../../Task/LZW-compression/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Largest-number-divisible-by-its-digits b/Lang/Rebol/Largest-number-divisible-by-its-digits
new file mode 120000
index 0000000000..ded7dc4f52
--- /dev/null
+++ b/Lang/Rebol/Largest-number-divisible-by-its-digits
@@ -0,0 +1 @@
+../../Task/Largest-number-divisible-by-its-digits/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Last-Friday-of-each-month b/Lang/Rebol/Last-Friday-of-each-month
new file mode 120000
index 0000000000..22f9e289f1
--- /dev/null
+++ b/Lang/Rebol/Last-Friday-of-each-month
@@ -0,0 +1 @@
+../../Task/Last-Friday-of-each-month/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Leap-year b/Lang/Rebol/Leap-year
new file mode 120000
index 0000000000..fe28d10471
--- /dev/null
+++ b/Lang/Rebol/Leap-year
@@ -0,0 +1 @@
+../../Task/Leap-year/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Letter-frequency b/Lang/Rebol/Letter-frequency
new file mode 120000
index 0000000000..f821174d22
--- /dev/null
+++ b/Lang/Rebol/Letter-frequency
@@ -0,0 +1 @@
+../../Task/Letter-frequency/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Levenshtein-distance b/Lang/Rebol/Levenshtein-distance
new file mode 120000
index 0000000000..8eb20cd9e5
--- /dev/null
+++ b/Lang/Rebol/Levenshtein-distance
@@ -0,0 +1 @@
+../../Task/Levenshtein-distance/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Literals-Floating-point b/Lang/Rebol/Literals-Floating-point
new file mode 120000
index 0000000000..446f0ca13c
--- /dev/null
+++ b/Lang/Rebol/Literals-Floating-point
@@ -0,0 +1 @@
+../../Task/Literals-Floating-point/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Literals-Integer b/Lang/Rebol/Literals-Integer
new file mode 120000
index 0000000000..61eb2276ad
--- /dev/null
+++ b/Lang/Rebol/Literals-Integer
@@ -0,0 +1 @@
+../../Task/Literals-Integer/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Logical-operations b/Lang/Rebol/Logical-operations
new file mode 120000
index 0000000000..4ccc093b6a
--- /dev/null
+++ b/Lang/Rebol/Logical-operations
@@ -0,0 +1 @@
+../../Task/Logical-operations/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Look-and-say-sequence b/Lang/Rebol/Look-and-say-sequence
new file mode 120000
index 0000000000..5af8fa2fe8
--- /dev/null
+++ b/Lang/Rebol/Look-and-say-sequence
@@ -0,0 +1 @@
+../../Task/Look-and-say-sequence/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Loop-over-multiple-arrays-simultaneously b/Lang/Rebol/Loop-over-multiple-arrays-simultaneously
new file mode 120000
index 0000000000..7e8df4a406
--- /dev/null
+++ b/Lang/Rebol/Loop-over-multiple-arrays-simultaneously
@@ -0,0 +1 @@
+../../Task/Loop-over-multiple-arrays-simultaneously/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Loops-Break b/Lang/Rebol/Loops-Break
new file mode 120000
index 0000000000..a7d70b8ddf
--- /dev/null
+++ b/Lang/Rebol/Loops-Break
@@ -0,0 +1 @@
+../../Task/Loops-Break/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Loops-Continue b/Lang/Rebol/Loops-Continue
new file mode 120000
index 0000000000..eb55ae4a46
--- /dev/null
+++ b/Lang/Rebol/Loops-Continue
@@ -0,0 +1 @@
+../../Task/Loops-Continue/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Loops-Do-while b/Lang/Rebol/Loops-Do-while
new file mode 120000
index 0000000000..7b9c11e6c9
--- /dev/null
+++ b/Lang/Rebol/Loops-Do-while
@@ -0,0 +1 @@
+../../Task/Loops-Do-while/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Loops-Downward-for b/Lang/Rebol/Loops-Downward-for
new file mode 120000
index 0000000000..aabadccc5d
--- /dev/null
+++ b/Lang/Rebol/Loops-Downward-for
@@ -0,0 +1 @@
+../../Task/Loops-Downward-for/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Loops-For b/Lang/Rebol/Loops-For
new file mode 120000
index 0000000000..3441cbf3e4
--- /dev/null
+++ b/Lang/Rebol/Loops-For
@@ -0,0 +1 @@
+../../Task/Loops-For/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Loops-For-with-a-specified-step b/Lang/Rebol/Loops-For-with-a-specified-step
new file mode 120000
index 0000000000..48cddeed7c
--- /dev/null
+++ b/Lang/Rebol/Loops-For-with-a-specified-step
@@ -0,0 +1 @@
+../../Task/Loops-For-with-a-specified-step/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Loops-Foreach b/Lang/Rebol/Loops-Foreach
new file mode 120000
index 0000000000..5113646d4a
--- /dev/null
+++ b/Lang/Rebol/Loops-Foreach
@@ -0,0 +1 @@
+../../Task/Loops-Foreach/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Loops-Increment-loop-index-within-loop-body b/Lang/Rebol/Loops-Increment-loop-index-within-loop-body
new file mode 120000
index 0000000000..2a105f8219
--- /dev/null
+++ b/Lang/Rebol/Loops-Increment-loop-index-within-loop-body
@@ -0,0 +1 @@
+../../Task/Loops-Increment-loop-index-within-loop-body/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Loops-Infinite b/Lang/Rebol/Loops-Infinite
new file mode 120000
index 0000000000..b9782bb44c
--- /dev/null
+++ b/Lang/Rebol/Loops-Infinite
@@ -0,0 +1 @@
+../../Task/Loops-Infinite/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Loops-N-plus-one-half b/Lang/Rebol/Loops-N-plus-one-half
new file mode 120000
index 0000000000..fde94d5278
--- /dev/null
+++ b/Lang/Rebol/Loops-N-plus-one-half
@@ -0,0 +1 @@
+../../Task/Loops-N-plus-one-half/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Loops-Nested b/Lang/Rebol/Loops-Nested
new file mode 120000
index 0000000000..8570918c54
--- /dev/null
+++ b/Lang/Rebol/Loops-Nested
@@ -0,0 +1 @@
+../../Task/Loops-Nested/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Loops-While b/Lang/Rebol/Loops-While
new file mode 120000
index 0000000000..d6ae658607
--- /dev/null
+++ b/Lang/Rebol/Loops-While
@@ -0,0 +1 @@
+../../Task/Loops-While/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Loops-With-multiple-ranges b/Lang/Rebol/Loops-With-multiple-ranges
new file mode 120000
index 0000000000..1444c994ba
--- /dev/null
+++ b/Lang/Rebol/Loops-With-multiple-ranges
@@ -0,0 +1 @@
+../../Task/Loops-With-multiple-ranges/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Loops-Wrong-ranges b/Lang/Rebol/Loops-Wrong-ranges
new file mode 120000
index 0000000000..8c6fabb9b5
--- /dev/null
+++ b/Lang/Rebol/Loops-Wrong-ranges
@@ -0,0 +1 @@
+../../Task/Loops-Wrong-ranges/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Ludic-numbers b/Lang/Rebol/Ludic-numbers
new file mode 120000
index 0000000000..a4ebabb376
--- /dev/null
+++ b/Lang/Rebol/Ludic-numbers
@@ -0,0 +1 @@
+../../Task/Ludic-numbers/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Luhn-test-of-credit-card-numbers b/Lang/Rebol/Luhn-test-of-credit-card-numbers
new file mode 120000
index 0000000000..54db6d0086
--- /dev/null
+++ b/Lang/Rebol/Luhn-test-of-credit-card-numbers
@@ -0,0 +1 @@
+../../Task/Luhn-test-of-credit-card-numbers/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Lychrel-numbers b/Lang/Rebol/Lychrel-numbers
new file mode 120000
index 0000000000..a9ccc00139
--- /dev/null
+++ b/Lang/Rebol/Lychrel-numbers
@@ -0,0 +1 @@
+../../Task/Lychrel-numbers/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/MAC-vendor-lookup b/Lang/Rebol/MAC-vendor-lookup
new file mode 120000
index 0000000000..ea5da48c4a
--- /dev/null
+++ b/Lang/Rebol/MAC-vendor-lookup
@@ -0,0 +1 @@
+../../Task/MAC-vendor-lookup/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/MD5 b/Lang/Rebol/MD5
new file mode 120000
index 0000000000..8e783d3330
--- /dev/null
+++ b/Lang/Rebol/MD5
@@ -0,0 +1 @@
+../../Task/MD5/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Mad-Libs b/Lang/Rebol/Mad-Libs
new file mode 120000
index 0000000000..e503266ac3
--- /dev/null
+++ b/Lang/Rebol/Mad-Libs
@@ -0,0 +1 @@
+../../Task/Mad-Libs/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Mandelbrot-set b/Lang/Rebol/Mandelbrot-set
new file mode 120000
index 0000000000..9795649798
--- /dev/null
+++ b/Lang/Rebol/Mandelbrot-set
@@ -0,0 +1 @@
+../../Task/Mandelbrot-set/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Mayan-numerals b/Lang/Rebol/Mayan-numerals
new file mode 120000
index 0000000000..f3c3f1ac1b
--- /dev/null
+++ b/Lang/Rebol/Mayan-numerals
@@ -0,0 +1 @@
+../../Task/Mayan-numerals/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Maze-generation b/Lang/Rebol/Maze-generation
new file mode 120000
index 0000000000..16909e3bd3
--- /dev/null
+++ b/Lang/Rebol/Maze-generation
@@ -0,0 +1 @@
+../../Task/Maze-generation/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Menu b/Lang/Rebol/Menu
new file mode 120000
index 0000000000..0970cb6584
--- /dev/null
+++ b/Lang/Rebol/Menu
@@ -0,0 +1 @@
+../../Task/Menu/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Morse-code b/Lang/Rebol/Morse-code
new file mode 120000
index 0000000000..9b184a4368
--- /dev/null
+++ b/Lang/Rebol/Morse-code
@@ -0,0 +1 @@
+../../Task/Morse-code/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Multiplication-tables b/Lang/Rebol/Multiplication-tables
new file mode 120000
index 0000000000..19c593899a
--- /dev/null
+++ b/Lang/Rebol/Multiplication-tables
@@ -0,0 +1 @@
+../../Task/Multiplication-tables/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Mutual-recursion b/Lang/Rebol/Mutual-recursion
new file mode 120000
index 0000000000..3927e2e3d0
--- /dev/null
+++ b/Lang/Rebol/Mutual-recursion
@@ -0,0 +1 @@
+../../Task/Mutual-recursion/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Nim-game b/Lang/Rebol/Nim-game
new file mode 120000
index 0000000000..3d509e2da0
--- /dev/null
+++ b/Lang/Rebol/Nim-game
@@ -0,0 +1 @@
+../../Task/Nim-game/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Null-object b/Lang/Rebol/Null-object
new file mode 120000
index 0000000000..6d91c61493
--- /dev/null
+++ b/Lang/Rebol/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Number-reversal-game b/Lang/Rebol/Number-reversal-game
new file mode 120000
index 0000000000..225b967208
--- /dev/null
+++ b/Lang/Rebol/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Object-serialization b/Lang/Rebol/Object-serialization
new file mode 120000
index 0000000000..b546950e51
--- /dev/null
+++ b/Lang/Rebol/Object-serialization
@@ -0,0 +1 @@
+../../Task/Object-serialization/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Ordered-words b/Lang/Rebol/Ordered-words
new file mode 120000
index 0000000000..62492c8748
--- /dev/null
+++ b/Lang/Rebol/Ordered-words
@@ -0,0 +1 @@
+../../Task/Ordered-words/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Padovan-n-step-number-sequences b/Lang/Rebol/Padovan-n-step-number-sequences
new file mode 120000
index 0000000000..6ce6076d9f
--- /dev/null
+++ b/Lang/Rebol/Padovan-n-step-number-sequences
@@ -0,0 +1 @@
+../../Task/Padovan-n-step-number-sequences/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Palindrome-detection b/Lang/Rebol/Palindrome-detection
new file mode 120000
index 0000000000..976abf960a
--- /dev/null
+++ b/Lang/Rebol/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Palindromic-gapful-numbers b/Lang/Rebol/Palindromic-gapful-numbers
new file mode 120000
index 0000000000..ce1a9844df
--- /dev/null
+++ b/Lang/Rebol/Palindromic-gapful-numbers
@@ -0,0 +1 @@
+../../Task/Palindromic-gapful-numbers/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Parsing-Shunting-yard-algorithm b/Lang/Rebol/Parsing-Shunting-yard-algorithm
new file mode 120000
index 0000000000..b48c2dd4c0
--- /dev/null
+++ b/Lang/Rebol/Parsing-Shunting-yard-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-Shunting-yard-algorithm/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Pentagram b/Lang/Rebol/Pentagram
new file mode 120000
index 0000000000..707cf04e6c
--- /dev/null
+++ b/Lang/Rebol/Pentagram
@@ -0,0 +1 @@
+../../Task/Pentagram/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Percentage-difference-between-images b/Lang/Rebol/Percentage-difference-between-images
new file mode 120000
index 0000000000..4b4ccc789a
--- /dev/null
+++ b/Lang/Rebol/Percentage-difference-between-images
@@ -0,0 +1 @@
+../../Task/Percentage-difference-between-images/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Perfect-numbers b/Lang/Rebol/Perfect-numbers
new file mode 120000
index 0000000000..cc7bf3b1d8
--- /dev/null
+++ b/Lang/Rebol/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Permutation-test b/Lang/Rebol/Permutation-test
new file mode 120000
index 0000000000..33aca0c009
--- /dev/null
+++ b/Lang/Rebol/Permutation-test
@@ -0,0 +1 @@
+../../Task/Permutation-test/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Pick-random-element b/Lang/Rebol/Pick-random-element
new file mode 120000
index 0000000000..a63070b88e
--- /dev/null
+++ b/Lang/Rebol/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Playing-cards b/Lang/Rebol/Playing-cards
new file mode 120000
index 0000000000..77a603d4f6
--- /dev/null
+++ b/Lang/Rebol/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Poker-hand-analyser b/Lang/Rebol/Poker-hand-analyser
new file mode 120000
index 0000000000..cd92bc4893
--- /dev/null
+++ b/Lang/Rebol/Poker-hand-analyser
@@ -0,0 +1 @@
+../../Task/Poker-hand-analyser/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Polyspiral b/Lang/Rebol/Polyspiral
new file mode 120000
index 0000000000..a68aec96f7
--- /dev/null
+++ b/Lang/Rebol/Polyspiral
@@ -0,0 +1 @@
+../../Task/Polyspiral/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Primality-by-trial-division b/Lang/Rebol/Primality-by-trial-division
new file mode 120000
index 0000000000..efa17720e9
--- /dev/null
+++ b/Lang/Rebol/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Program-termination b/Lang/Rebol/Program-termination
new file mode 120000
index 0000000000..24f49d0325
--- /dev/null
+++ b/Lang/Rebol/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Pythagoras-tree b/Lang/Rebol/Pythagoras-tree
new file mode 120000
index 0000000000..f30dc63938
--- /dev/null
+++ b/Lang/Rebol/Pythagoras-tree
@@ -0,0 +1 @@
+../../Task/Pythagoras-tree/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Queue-Definition b/Lang/Rebol/Queue-Definition
new file mode 120000
index 0000000000..162ba667c2
--- /dev/null
+++ b/Lang/Rebol/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Queue-Usage b/Lang/Rebol/Queue-Usage
new file mode 120000
index 0000000000..f4c7c7a4c3
--- /dev/null
+++ b/Lang/Rebol/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Quine b/Lang/Rebol/Quine
new file mode 120000
index 0000000000..27b88ad2ff
--- /dev/null
+++ b/Lang/Rebol/Quine
@@ -0,0 +1 @@
+../../Task/Quine/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Quoting-constructs b/Lang/Rebol/Quoting-constructs
new file mode 120000
index 0000000000..cfd2d459f0
--- /dev/null
+++ b/Lang/Rebol/Quoting-constructs
@@ -0,0 +1 @@
+../../Task/Quoting-constructs/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/RPG-attributes-generator b/Lang/Rebol/RPG-attributes-generator
new file mode 120000
index 0000000000..b156c392e1
--- /dev/null
+++ b/Lang/Rebol/RPG-attributes-generator
@@ -0,0 +1 @@
+../../Task/RPG-attributes-generator/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Read-a-specific-line-from-a-file b/Lang/Rebol/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..14a1597027
--- /dev/null
+++ b/Lang/Rebol/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Read-entire-file b/Lang/Rebol/Read-entire-file
new file mode 120000
index 0000000000..28b35bf7cc
--- /dev/null
+++ b/Lang/Rebol/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Recamans-sequence b/Lang/Rebol/Recamans-sequence
new file mode 120000
index 0000000000..bfdd733327
--- /dev/null
+++ b/Lang/Rebol/Recamans-sequence
@@ -0,0 +1 @@
+../../Task/Recamans-sequence/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Reduced-row-echelon-form b/Lang/Rebol/Reduced-row-echelon-form
new file mode 120000
index 0000000000..743fe9cee3
--- /dev/null
+++ b/Lang/Rebol/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Regular-expressions b/Lang/Rebol/Regular-expressions
new file mode 120000
index 0000000000..8b6a46c176
--- /dev/null
+++ b/Lang/Rebol/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Remove-duplicate-elements b/Lang/Rebol/Remove-duplicate-elements
new file mode 120000
index 0000000000..e15cb15fa9
--- /dev/null
+++ b/Lang/Rebol/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Rename-a-file b/Lang/Rebol/Rename-a-file
new file mode 120000
index 0000000000..b1a36bd846
--- /dev/null
+++ b/Lang/Rebol/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Repeat-a-string b/Lang/Rebol/Repeat-a-string
new file mode 120000
index 0000000000..ef9fbbc4ad
--- /dev/null
+++ b/Lang/Rebol/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Reverse-a-string b/Lang/Rebol/Reverse-a-string
new file mode 120000
index 0000000000..58f8abd089
--- /dev/null
+++ b/Lang/Rebol/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Rock-paper-scissors b/Lang/Rebol/Rock-paper-scissors
new file mode 120000
index 0000000000..cda68fe0a1
--- /dev/null
+++ b/Lang/Rebol/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Rosetta-Code-Count-examples b/Lang/Rebol/Rosetta-Code-Count-examples
new file mode 120000
index 0000000000..d0380c9f7b
--- /dev/null
+++ b/Lang/Rebol/Rosetta-Code-Count-examples
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Count-examples/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Rosetta-Code-Find-unimplemented-tasks b/Lang/Rebol/Rosetta-Code-Find-unimplemented-tasks
new file mode 120000
index 0000000000..24ea450c68
--- /dev/null
+++ b/Lang/Rebol/Rosetta-Code-Find-unimplemented-tasks
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Find-unimplemented-tasks/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Rosetta-Code-Rank-languages-by-popularity b/Lang/Rebol/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..fab9075fea
--- /dev/null
+++ b/Lang/Rebol/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Rot-13 b/Lang/Rebol/Rot-13
new file mode 120000
index 0000000000..237e499a3f
--- /dev/null
+++ b/Lang/Rebol/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Runtime-evaluation b/Lang/Rebol/Runtime-evaluation
new file mode 120000
index 0000000000..b5e1f8ecde
--- /dev/null
+++ b/Lang/Rebol/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Runtime-evaluation-In-an-environment b/Lang/Rebol/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..f0cf1819d7
--- /dev/null
+++ b/Lang/Rebol/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/SHA-1 b/Lang/Rebol/SHA-1
new file mode 120000
index 0000000000..6006c706a1
--- /dev/null
+++ b/Lang/Rebol/SHA-1
@@ -0,0 +1 @@
+../../Task/SHA-1/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/SHA-256 b/Lang/Rebol/SHA-256
new file mode 120000
index 0000000000..a282c64fe3
--- /dev/null
+++ b/Lang/Rebol/SHA-256
@@ -0,0 +1 @@
+../../Task/SHA-256/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/SHA-256-Merkle-tree b/Lang/Rebol/SHA-256-Merkle-tree
new file mode 120000
index 0000000000..3ec6fddf77
--- /dev/null
+++ b/Lang/Rebol/SHA-256-Merkle-tree
@@ -0,0 +1 @@
+../../Task/SHA-256-Merkle-tree/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Search-a-list b/Lang/Rebol/Search-a-list
new file mode 120000
index 0000000000..318894f6a3
--- /dev/null
+++ b/Lang/Rebol/Search-a-list
@@ -0,0 +1 @@
+../../Task/Search-a-list/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Self-describing-numbers b/Lang/Rebol/Self-describing-numbers
new file mode 120000
index 0000000000..e068493027
--- /dev/null
+++ b/Lang/Rebol/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Semordnilap b/Lang/Rebol/Semordnilap
new file mode 120000
index 0000000000..0da3f78b6d
--- /dev/null
+++ b/Lang/Rebol/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Send-email b/Lang/Rebol/Send-email
new file mode 120000
index 0000000000..bdcdb84d73
--- /dev/null
+++ b/Lang/Rebol/Send-email
@@ -0,0 +1 @@
+../../Task/Send-email/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Shell-one-liner b/Lang/Rebol/Shell-one-liner
new file mode 120000
index 0000000000..d93fe376ad
--- /dev/null
+++ b/Lang/Rebol/Shell-one-liner
@@ -0,0 +1 @@
+../../Task/Shell-one-liner/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Show-ASCII-table b/Lang/Rebol/Show-ASCII-table
new file mode 120000
index 0000000000..73b59f4704
--- /dev/null
+++ b/Lang/Rebol/Show-ASCII-table
@@ -0,0 +1 @@
+../../Task/Show-ASCII-table/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Sieve-of-Eratosthenes b/Lang/Rebol/Sieve-of-Eratosthenes
new file mode 120000
index 0000000000..304a7c5cc4
--- /dev/null
+++ b/Lang/Rebol/Sieve-of-Eratosthenes
@@ -0,0 +1 @@
+../../Task/Sieve-of-Eratosthenes/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Sieve-of-Pritchard b/Lang/Rebol/Sieve-of-Pritchard
new file mode 120000
index 0000000000..ae2da5fd4b
--- /dev/null
+++ b/Lang/Rebol/Sieve-of-Pritchard
@@ -0,0 +1 @@
+../../Task/Sieve-of-Pritchard/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Simple-database b/Lang/Rebol/Simple-database
new file mode 120000
index 0000000000..91cc755165
--- /dev/null
+++ b/Lang/Rebol/Simple-database
@@ -0,0 +1 @@
+../../Task/Simple-database/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Simple-windowed-application b/Lang/Rebol/Simple-windowed-application
new file mode 120000
index 0000000000..9329534018
--- /dev/null
+++ b/Lang/Rebol/Simple-windowed-application
@@ -0,0 +1 @@
+../../Task/Simple-windowed-application/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Sleep b/Lang/Rebol/Sleep
new file mode 120000
index 0000000000..93ccbde879
--- /dev/null
+++ b/Lang/Rebol/Sleep
@@ -0,0 +1 @@
+../../Task/Sleep/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Sort-an-integer-array b/Lang/Rebol/Sort-an-integer-array
new file mode 120000
index 0000000000..964bc28a49
--- /dev/null
+++ b/Lang/Rebol/Sort-an-integer-array
@@ -0,0 +1 @@
+../../Task/Sort-an-integer-array/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Sort-stability b/Lang/Rebol/Sort-stability
new file mode 120000
index 0000000000..398ebf99ce
--- /dev/null
+++ b/Lang/Rebol/Sort-stability
@@ -0,0 +1 @@
+../../Task/Sort-stability/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Sorting-algorithms-Gnome-sort b/Lang/Rebol/Sorting-algorithms-Gnome-sort
new file mode 120000
index 0000000000..5a1b4b5c4b
--- /dev/null
+++ b/Lang/Rebol/Sorting-algorithms-Gnome-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Gnome-sort/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Sorting-algorithms-Insertion-sort b/Lang/Rebol/Sorting-algorithms-Insertion-sort
new file mode 120000
index 0000000000..542842155d
--- /dev/null
+++ b/Lang/Rebol/Sorting-algorithms-Insertion-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Insertion-sort/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Sorting-algorithms-Merge-sort b/Lang/Rebol/Sorting-algorithms-Merge-sort
new file mode 120000
index 0000000000..c0e13b1fde
--- /dev/null
+++ b/Lang/Rebol/Sorting-algorithms-Merge-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Merge-sort/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Sorting-algorithms-Stooge-sort b/Lang/Rebol/Sorting-algorithms-Stooge-sort
new file mode 120000
index 0000000000..330c056497
--- /dev/null
+++ b/Lang/Rebol/Sorting-algorithms-Stooge-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Stooge-sort/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Spiral-matrix b/Lang/Rebol/Spiral-matrix
new file mode 120000
index 0000000000..5be66bebd7
--- /dev/null
+++ b/Lang/Rebol/Spiral-matrix
@@ -0,0 +1 @@
+../../Task/Spiral-matrix/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Stack b/Lang/Rebol/Stack
new file mode 120000
index 0000000000..4ddf42dff7
--- /dev/null
+++ b/Lang/Rebol/Stack
@@ -0,0 +1 @@
+../../Task/Stack/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Stair-climbing-puzzle b/Lang/Rebol/Stair-climbing-puzzle
new file mode 120000
index 0000000000..30110c39ff
--- /dev/null
+++ b/Lang/Rebol/Stair-climbing-puzzle
@@ -0,0 +1 @@
+../../Task/Stair-climbing-puzzle/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Statistics-Normal-distribution b/Lang/Rebol/Statistics-Normal-distribution
new file mode 120000
index 0000000000..c2c6f8e607
--- /dev/null
+++ b/Lang/Rebol/Statistics-Normal-distribution
@@ -0,0 +1 @@
+../../Task/Statistics-Normal-distribution/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Straddling-checkerboard b/Lang/Rebol/Straddling-checkerboard
new file mode 120000
index 0000000000..b2cd63efdf
--- /dev/null
+++ b/Lang/Rebol/Straddling-checkerboard
@@ -0,0 +1 @@
+../../Task/Straddling-checkerboard/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/String-case b/Lang/Rebol/String-case
new file mode 120000
index 0000000000..99d32eb89d
--- /dev/null
+++ b/Lang/Rebol/String-case
@@ -0,0 +1 @@
+../../Task/String-case/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/String-concatenation b/Lang/Rebol/String-concatenation
new file mode 120000
index 0000000000..60e5df3a60
--- /dev/null
+++ b/Lang/Rebol/String-concatenation
@@ -0,0 +1 @@
+../../Task/String-concatenation/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/String-interpolation-included- b/Lang/Rebol/String-interpolation-included-
new file mode 120000
index 0000000000..0d16a99c3d
--- /dev/null
+++ b/Lang/Rebol/String-interpolation-included-
@@ -0,0 +1 @@
+../../Task/String-interpolation-included-/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/String-length b/Lang/Rebol/String-length
new file mode 120000
index 0000000000..4008031d32
--- /dev/null
+++ b/Lang/Rebol/String-length
@@ -0,0 +1 @@
+../../Task/String-length/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Strip-comments-from-a-string b/Lang/Rebol/Strip-comments-from-a-string
new file mode 120000
index 0000000000..7d0be8f55b
--- /dev/null
+++ b/Lang/Rebol/Strip-comments-from-a-string
@@ -0,0 +1 @@
+../../Task/Strip-comments-from-a-string/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Substring b/Lang/Rebol/Substring
new file mode 120000
index 0000000000..16d8520df3
--- /dev/null
+++ b/Lang/Rebol/Substring
@@ -0,0 +1 @@
+../../Task/Substring/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Sum-and-product-of-an-array b/Lang/Rebol/Sum-and-product-of-an-array
new file mode 120000
index 0000000000..f0691c6c52
--- /dev/null
+++ b/Lang/Rebol/Sum-and-product-of-an-array
@@ -0,0 +1 @@
+../../Task/Sum-and-product-of-an-array/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Symmetric-difference b/Lang/Rebol/Symmetric-difference
new file mode 120000
index 0000000000..ead8d7c53a
--- /dev/null
+++ b/Lang/Rebol/Symmetric-difference
@@ -0,0 +1 @@
+../../Task/Symmetric-difference/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/System-time b/Lang/Rebol/System-time
new file mode 120000
index 0000000000..26192d37e7
--- /dev/null
+++ b/Lang/Rebol/System-time
@@ -0,0 +1 @@
+../../Task/System-time/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Take-notes-on-the-command-line b/Lang/Rebol/Take-notes-on-the-command-line
new file mode 120000
index 0000000000..686f0e9609
--- /dev/null
+++ b/Lang/Rebol/Take-notes-on-the-command-line
@@ -0,0 +1 @@
+../../Task/Take-notes-on-the-command-line/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Terminal-control-Clear-the-screen b/Lang/Rebol/Terminal-control-Clear-the-screen
new file mode 120000
index 0000000000..26092c08d5
--- /dev/null
+++ b/Lang/Rebol/Terminal-control-Clear-the-screen
@@ -0,0 +1 @@
+../../Task/Terminal-control-Clear-the-screen/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Terminal-control-Coloured-text b/Lang/Rebol/Terminal-control-Coloured-text
new file mode 120000
index 0000000000..91c395fe7a
--- /dev/null
+++ b/Lang/Rebol/Terminal-control-Coloured-text
@@ -0,0 +1 @@
+../../Task/Terminal-control-Coloured-text/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/The-Twelve-Days-of-Christmas b/Lang/Rebol/The-Twelve-Days-of-Christmas
new file mode 120000
index 0000000000..1cd8cfb663
--- /dev/null
+++ b/Lang/Rebol/The-Twelve-Days-of-Christmas
@@ -0,0 +1 @@
+../../Task/The-Twelve-Days-of-Christmas/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Tokenize-a-string b/Lang/Rebol/Tokenize-a-string
new file mode 120000
index 0000000000..683933fc1a
--- /dev/null
+++ b/Lang/Rebol/Tokenize-a-string
@@ -0,0 +1 @@
+../../Task/Tokenize-a-string/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Towers-of-Hanoi b/Lang/Rebol/Towers-of-Hanoi
new file mode 120000
index 0000000000..256a976fba
--- /dev/null
+++ b/Lang/Rebol/Towers-of-Hanoi
@@ -0,0 +1 @@
+../../Task/Towers-of-Hanoi/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Transliterate-English-text-using-the-Greek-alphabet b/Lang/Rebol/Transliterate-English-text-using-the-Greek-alphabet
new file mode 120000
index 0000000000..6cd5a9fcd9
--- /dev/null
+++ b/Lang/Rebol/Transliterate-English-text-using-the-Greek-alphabet
@@ -0,0 +1 @@
+../../Task/Transliterate-English-text-using-the-Greek-alphabet/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Tree-traversal b/Lang/Rebol/Tree-traversal
new file mode 120000
index 0000000000..a9acbc3e12
--- /dev/null
+++ b/Lang/Rebol/Tree-traversal
@@ -0,0 +1 @@
+../../Task/Tree-traversal/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Trigonometric-functions b/Lang/Rebol/Trigonometric-functions
new file mode 120000
index 0000000000..31689c9f7b
--- /dev/null
+++ b/Lang/Rebol/Trigonometric-functions
@@ -0,0 +1 @@
+../../Task/Trigonometric-functions/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Truncate-a-file b/Lang/Rebol/Truncate-a-file
new file mode 120000
index 0000000000..a6b1c49090
--- /dev/null
+++ b/Lang/Rebol/Truncate-a-file
@@ -0,0 +1 @@
+../../Task/Truncate-a-file/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Twos-complement b/Lang/Rebol/Twos-complement
new file mode 120000
index 0000000000..7d177dca86
--- /dev/null
+++ b/Lang/Rebol/Twos-complement
@@ -0,0 +1 @@
+../../Task/Twos-complement/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/URL-decoding b/Lang/Rebol/URL-decoding
new file mode 120000
index 0000000000..13aaaaf76d
--- /dev/null
+++ b/Lang/Rebol/URL-decoding
@@ -0,0 +1 @@
+../../Task/URL-decoding/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/URL-encoding b/Lang/Rebol/URL-encoding
new file mode 120000
index 0000000000..f2738b2378
--- /dev/null
+++ b/Lang/Rebol/URL-encoding
@@ -0,0 +1 @@
+../../Task/URL-encoding/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/User-input-Graphical b/Lang/Rebol/User-input-Graphical
new file mode 120000
index 0000000000..9826592fbf
--- /dev/null
+++ b/Lang/Rebol/User-input-Graphical
@@ -0,0 +1 @@
+../../Task/User-input-Graphical/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/User-input-Text b/Lang/Rebol/User-input-Text
new file mode 120000
index 0000000000..61cd5bb640
--- /dev/null
+++ b/Lang/Rebol/User-input-Text
@@ -0,0 +1 @@
+../../Task/User-input-Text/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Validate-International-Securities-Identification-Number b/Lang/Rebol/Validate-International-Securities-Identification-Number
new file mode 120000
index 0000000000..c8f6432cf5
--- /dev/null
+++ b/Lang/Rebol/Validate-International-Securities-Identification-Number
@@ -0,0 +1 @@
+../../Task/Validate-International-Securities-Identification-Number/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Variadic-function b/Lang/Rebol/Variadic-function
new file mode 120000
index 0000000000..eb753c87ca
--- /dev/null
+++ b/Lang/Rebol/Variadic-function
@@ -0,0 +1 @@
+../../Task/Variadic-function/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Vigen-re-cipher b/Lang/Rebol/Vigen-re-cipher
new file mode 120000
index 0000000000..e4c0684470
--- /dev/null
+++ b/Lang/Rebol/Vigen-re-cipher
@@ -0,0 +1 @@
+../../Task/Vigen-re-cipher/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Walk-a-directory-Non-recursively b/Lang/Rebol/Walk-a-directory-Non-recursively
new file mode 120000
index 0000000000..7d9b757781
--- /dev/null
+++ b/Lang/Rebol/Walk-a-directory-Non-recursively
@@ -0,0 +1 @@
+../../Task/Walk-a-directory-Non-recursively/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Walk-a-directory-Recursively b/Lang/Rebol/Walk-a-directory-Recursively
new file mode 120000
index 0000000000..6bdc6972ee
--- /dev/null
+++ b/Lang/Rebol/Walk-a-directory-Recursively
@@ -0,0 +1 @@
+../../Task/Walk-a-directory-Recursively/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/War-card-game b/Lang/Rebol/War-card-game
new file mode 120000
index 0000000000..25923c64aa
--- /dev/null
+++ b/Lang/Rebol/War-card-game
@@ -0,0 +1 @@
+../../Task/War-card-game/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Web-scraping b/Lang/Rebol/Web-scraping
new file mode 120000
index 0000000000..4e9367ba38
--- /dev/null
+++ b/Lang/Rebol/Web-scraping
@@ -0,0 +1 @@
+../../Task/Web-scraping/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Window-creation b/Lang/Rebol/Window-creation
new file mode 120000
index 0000000000..bd0bbb0b87
--- /dev/null
+++ b/Lang/Rebol/Window-creation
@@ -0,0 +1 @@
+../../Task/Window-creation/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Word-frequency b/Lang/Rebol/Word-frequency
new file mode 120000
index 0000000000..520eed281f
--- /dev/null
+++ b/Lang/Rebol/Word-frequency
@@ -0,0 +1 @@
+../../Task/Word-frequency/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/XML-Input b/Lang/Rebol/XML-Input
new file mode 120000
index 0000000000..014dc4f1f1
--- /dev/null
+++ b/Lang/Rebol/XML-Input
@@ -0,0 +1 @@
+../../Task/XML-Input/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Y-combinator b/Lang/Rebol/Y-combinator
new file mode 120000
index 0000000000..dcc94474b6
--- /dev/null
+++ b/Lang/Rebol/Y-combinator
@@ -0,0 +1 @@
+../../Task/Y-combinator/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Zero-to-the-zero-power b/Lang/Rebol/Zero-to-the-zero-power
new file mode 120000
index 0000000000..8722267184
--- /dev/null
+++ b/Lang/Rebol/Zero-to-the-zero-power
@@ -0,0 +1 @@
+../../Task/Zero-to-the-zero-power/Rebol
\ No newline at end of file
diff --git a/Lang/Rebol/Zig-zag-matrix b/Lang/Rebol/Zig-zag-matrix
new file mode 120000
index 0000000000..ff69ef9beb
--- /dev/null
+++ b/Lang/Rebol/Zig-zag-matrix
@@ -0,0 +1 @@
+../../Task/Zig-zag-matrix/Rebol
\ No newline at end of file
diff --git a/Lang/Red/00-LANG.txt b/Lang/Red/00-LANG.txt
index 1cb6089084..bde0f4b81e 100644
--- a/Lang/Red/00-LANG.txt
+++ b/Lang/Red/00-LANG.txt
@@ -8,6 +8,9 @@ Like Rebol, Red has a low memory footprint, is garbage collected, and has a [htt
Red embeds several DSLs, among which Red/System (C semantics meet Red syntax), dedicated to low-level and system programming. It is also used as an intermediate language (IL) when Red is compiled. The Red executable is able to build Red/System files directly (`*.reds`) as well as Red files (`*.red`), and Red/System code may be embedded freely in Red code.
+==Todo==
+[https://rosettacode.org/wiki/Tasks_not_implemented_in_Red Tasks not implemented in Red]
+
==Useful links==
* [http://www.red-lang.org Red Language Website]
* [https://twitter.com/red_lang @red_lang] on Twitter.
diff --git a/Lang/Red/Accumulator-factory b/Lang/Red/Accumulator-factory
new file mode 120000
index 0000000000..73cf9ffff0
--- /dev/null
+++ b/Lang/Red/Accumulator-factory
@@ -0,0 +1 @@
+../../Task/Accumulator-factory/Red
\ No newline at end of file
diff --git a/Lang/Red/Address-of-a-variable b/Lang/Red/Address-of-a-variable
new file mode 120000
index 0000000000..81b5a1a171
--- /dev/null
+++ b/Lang/Red/Address-of-a-variable
@@ -0,0 +1 @@
+../../Task/Address-of-a-variable/Red
\ No newline at end of file
diff --git a/Lang/Red/Angle-difference-between-two-bearings b/Lang/Red/Angle-difference-between-two-bearings
new file mode 120000
index 0000000000..e218e0c4ee
--- /dev/null
+++ b/Lang/Red/Angle-difference-between-two-bearings
@@ -0,0 +1 @@
+../../Task/Angle-difference-between-two-bearings/Red
\ No newline at end of file
diff --git a/Lang/Red/Angles-geometric-normalization-and-conversion b/Lang/Red/Angles-geometric-normalization-and-conversion
new file mode 120000
index 0000000000..f969ff2c56
--- /dev/null
+++ b/Lang/Red/Angles-geometric-normalization-and-conversion
@@ -0,0 +1 @@
+../../Task/Angles-geometric-normalization-and-conversion/Red
\ No newline at end of file
diff --git a/Lang/Red/Arithmetic-Integer b/Lang/Red/Arithmetic-Integer
new file mode 120000
index 0000000000..cb3f74d046
--- /dev/null
+++ b/Lang/Red/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/Red
\ No newline at end of file
diff --git a/Lang/Red/Arithmetic-evaluation b/Lang/Red/Arithmetic-evaluation
new file mode 120000
index 0000000000..c6c5c304b5
--- /dev/null
+++ b/Lang/Red/Arithmetic-evaluation
@@ -0,0 +1 @@
+../../Task/Arithmetic-evaluation/Red
\ No newline at end of file
diff --git a/Lang/Red/Boolean-values b/Lang/Red/Boolean-values
new file mode 120000
index 0000000000..3df0e7a087
--- /dev/null
+++ b/Lang/Red/Boolean-values
@@ -0,0 +1 @@
+../../Task/Boolean-values/Red
\ No newline at end of file
diff --git a/Lang/Red/Calendar b/Lang/Red/Calendar
new file mode 120000
index 0000000000..3283fd5906
--- /dev/null
+++ b/Lang/Red/Calendar
@@ -0,0 +1 @@
+../../Task/Calendar/Red
\ No newline at end of file
diff --git a/Lang/Red/Calendar---for-REAL-programmers b/Lang/Red/Calendar---for-REAL-programmers
new file mode 120000
index 0000000000..e0db1bd24f
--- /dev/null
+++ b/Lang/Red/Calendar---for-REAL-programmers
@@ -0,0 +1 @@
+../../Task/Calendar---for-REAL-programmers/Red
\ No newline at end of file
diff --git a/Lang/Red/Call-a-function b/Lang/Red/Call-a-function
new file mode 120000
index 0000000000..2907d38f1e
--- /dev/null
+++ b/Lang/Red/Call-a-function
@@ -0,0 +1 @@
+../../Task/Call-a-function/Red
\ No newline at end of file
diff --git a/Lang/Red/Call-an-object-method b/Lang/Red/Call-an-object-method
new file mode 120000
index 0000000000..50c2f71ec1
--- /dev/null
+++ b/Lang/Red/Call-an-object-method
@@ -0,0 +1 @@
+../../Task/Call-an-object-method/Red
\ No newline at end of file
diff --git a/Lang/Red/Case-sensitivity-of-identifiers b/Lang/Red/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..1f46e1aec5
--- /dev/null
+++ b/Lang/Red/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/Red
\ No newline at end of file
diff --git a/Lang/Red/Classes b/Lang/Red/Classes
new file mode 120000
index 0000000000..5db3a1a49b
--- /dev/null
+++ b/Lang/Red/Classes
@@ -0,0 +1 @@
+../../Task/Classes/Red
\ No newline at end of file
diff --git a/Lang/Red/Compare-length-of-two-strings b/Lang/Red/Compare-length-of-two-strings
new file mode 120000
index 0000000000..0a8b824021
--- /dev/null
+++ b/Lang/Red/Compare-length-of-two-strings
@@ -0,0 +1 @@
+../../Task/Compare-length-of-two-strings/Red
\ No newline at end of file
diff --git a/Lang/Red/Compiler-AST-interpreter b/Lang/Red/Compiler-AST-interpreter
new file mode 120000
index 0000000000..38de1297c9
--- /dev/null
+++ b/Lang/Red/Compiler-AST-interpreter
@@ -0,0 +1 @@
+../../Task/Compiler-AST-interpreter/Red
\ No newline at end of file
diff --git a/Lang/Red/Compiler-code-generator b/Lang/Red/Compiler-code-generator
new file mode 120000
index 0000000000..7af219c35c
--- /dev/null
+++ b/Lang/Red/Compiler-code-generator
@@ -0,0 +1 @@
+../../Task/Compiler-code-generator/Red
\ No newline at end of file
diff --git a/Lang/Red/Compiler-lexical-analyzer b/Lang/Red/Compiler-lexical-analyzer
new file mode 120000
index 0000000000..6b88c28f94
--- /dev/null
+++ b/Lang/Red/Compiler-lexical-analyzer
@@ -0,0 +1 @@
+../../Task/Compiler-lexical-analyzer/Red
\ No newline at end of file
diff --git a/Lang/Red/Compiler-syntax-analyzer b/Lang/Red/Compiler-syntax-analyzer
new file mode 120000
index 0000000000..406b1710ff
--- /dev/null
+++ b/Lang/Red/Compiler-syntax-analyzer
@@ -0,0 +1 @@
+../../Task/Compiler-syntax-analyzer/Red
\ No newline at end of file
diff --git a/Lang/Red/Compiler-virtual-machine-interpreter b/Lang/Red/Compiler-virtual-machine-interpreter
new file mode 120000
index 0000000000..85d28b0fea
--- /dev/null
+++ b/Lang/Red/Compiler-virtual-machine-interpreter
@@ -0,0 +1 @@
+../../Task/Compiler-virtual-machine-interpreter/Red
\ No newline at end of file
diff --git a/Lang/Red/Currying b/Lang/Red/Currying
new file mode 120000
index 0000000000..a40d4bf838
--- /dev/null
+++ b/Lang/Red/Currying
@@ -0,0 +1 @@
+../../Task/Currying/Red
\ No newline at end of file
diff --git a/Lang/Red/Dot-product b/Lang/Red/Dot-product
new file mode 120000
index 0000000000..7a0eb69ac3
--- /dev/null
+++ b/Lang/Red/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Red
\ No newline at end of file
diff --git a/Lang/Red/Empty-directory b/Lang/Red/Empty-directory
new file mode 120000
index 0000000000..171a4f4f65
--- /dev/null
+++ b/Lang/Red/Empty-directory
@@ -0,0 +1 @@
+../../Task/Empty-directory/Red
\ No newline at end of file
diff --git a/Lang/Red/Execute-Brain- b/Lang/Red/Execute-Brain-
new file mode 120000
index 0000000000..603437fa06
--- /dev/null
+++ b/Lang/Red/Execute-Brain-
@@ -0,0 +1 @@
+../../Task/Execute-Brain-/Red
\ No newline at end of file
diff --git a/Lang/Red/Extend-your-language b/Lang/Red/Extend-your-language
new file mode 120000
index 0000000000..af9a4e8c46
--- /dev/null
+++ b/Lang/Red/Extend-your-language
@@ -0,0 +1 @@
+../../Task/Extend-your-language/Red
\ No newline at end of file
diff --git a/Lang/Red/First-class-functions b/Lang/Red/First-class-functions
new file mode 120000
index 0000000000..fbfe38fd28
--- /dev/null
+++ b/Lang/Red/First-class-functions
@@ -0,0 +1 @@
+../../Task/First-class-functions/Red
\ No newline at end of file
diff --git a/Lang/Red/Five-weekends b/Lang/Red/Five-weekends
new file mode 120000
index 0000000000..4b364097a6
--- /dev/null
+++ b/Lang/Red/Five-weekends
@@ -0,0 +1 @@
+../../Task/Five-weekends/Red
\ No newline at end of file
diff --git a/Lang/Red/Function-composition b/Lang/Red/Function-composition
new file mode 120000
index 0000000000..880a1c6e87
--- /dev/null
+++ b/Lang/Red/Function-composition
@@ -0,0 +1 @@
+../../Task/Function-composition/Red
\ No newline at end of file
diff --git a/Lang/Red/HTTP b/Lang/Red/HTTP
new file mode 120000
index 0000000000..f7d36ebcff
--- /dev/null
+++ b/Lang/Red/HTTP
@@ -0,0 +1 @@
+../../Task/HTTP/Red
\ No newline at end of file
diff --git a/Lang/Red/Leap-year b/Lang/Red/Leap-year
new file mode 120000
index 0000000000..cb911ae827
--- /dev/null
+++ b/Lang/Red/Leap-year
@@ -0,0 +1 @@
+../../Task/Leap-year/Red
\ No newline at end of file
diff --git a/Lang/Red/Logical-operations b/Lang/Red/Logical-operations
new file mode 120000
index 0000000000..b02eaed36f
--- /dev/null
+++ b/Lang/Red/Logical-operations
@@ -0,0 +1 @@
+../../Task/Logical-operations/Red
\ No newline at end of file
diff --git a/Lang/Red/Metaprogramming b/Lang/Red/Metaprogramming
new file mode 120000
index 0000000000..764ff52337
--- /dev/null
+++ b/Lang/Red/Metaprogramming
@@ -0,0 +1 @@
+../../Task/Metaprogramming/Red
\ No newline at end of file
diff --git a/Lang/Red/Parsing-RPN-calculator-algorithm b/Lang/Red/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..f68a7bf5c6
--- /dev/null
+++ b/Lang/Red/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/Red
\ No newline at end of file
diff --git a/Lang/Red/Parsing-RPN-to-infix-conversion b/Lang/Red/Parsing-RPN-to-infix-conversion
new file mode 120000
index 0000000000..27fb99e707
--- /dev/null
+++ b/Lang/Red/Parsing-RPN-to-infix-conversion
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-to-infix-conversion/Red
\ No newline at end of file
diff --git a/Lang/Red/Parsing-Shunting-yard-algorithm b/Lang/Red/Parsing-Shunting-yard-algorithm
new file mode 120000
index 0000000000..64583c9508
--- /dev/null
+++ b/Lang/Red/Parsing-Shunting-yard-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-Shunting-yard-algorithm/Red
\ No newline at end of file
diff --git a/Lang/Red/Partial-function-application b/Lang/Red/Partial-function-application
new file mode 120000
index 0000000000..dbffa4d18e
--- /dev/null
+++ b/Lang/Red/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/Red
\ No newline at end of file
diff --git a/Lang/Red/Quaternion-type b/Lang/Red/Quaternion-type
deleted file mode 120000
index 7b5fc87ddd..0000000000
--- a/Lang/Red/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Red
\ No newline at end of file
diff --git a/Lang/Red/Rosetta-Code-Find-unimplemented-tasks b/Lang/Red/Rosetta-Code-Find-unimplemented-tasks
new file mode 120000
index 0000000000..53726178b5
--- /dev/null
+++ b/Lang/Red/Rosetta-Code-Find-unimplemented-tasks
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Find-unimplemented-tasks/Red
\ No newline at end of file
diff --git a/Lang/Red/Runtime-evaluation-In-an-environment b/Lang/Red/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..ee82b72bbd
--- /dev/null
+++ b/Lang/Red/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/Red
\ No newline at end of file
diff --git a/Lang/Red/Towers-of-Hanoi b/Lang/Red/Towers-of-Hanoi
new file mode 120000
index 0000000000..112b276dee
--- /dev/null
+++ b/Lang/Red/Towers-of-Hanoi
@@ -0,0 +1 @@
+../../Task/Towers-of-Hanoi/Red
\ No newline at end of file
diff --git a/Lang/Red/Vector-products b/Lang/Red/Vector-products
new file mode 120000
index 0000000000..28d3b45939
--- /dev/null
+++ b/Lang/Red/Vector-products
@@ -0,0 +1 @@
+../../Task/Vector-products/Red
\ No newline at end of file
diff --git a/Lang/Red/Word-frequency b/Lang/Red/Word-frequency
new file mode 120000
index 0000000000..535322fbdc
--- /dev/null
+++ b/Lang/Red/Word-frequency
@@ -0,0 +1 @@
+../../Task/Word-frequency/Red
\ No newline at end of file
diff --git a/Lang/Refal/Align-columns b/Lang/Refal/Align-columns
new file mode 120000
index 0000000000..8c214d7af1
--- /dev/null
+++ b/Lang/Refal/Align-columns
@@ -0,0 +1 @@
+../../Task/Align-columns/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Arbitrary-precision-integers-included- b/Lang/Refal/Arbitrary-precision-integers-included-
new file mode 120000
index 0000000000..f00d324a4e
--- /dev/null
+++ b/Lang/Refal/Arbitrary-precision-integers-included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers-included-/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Arithmetic-derivative b/Lang/Refal/Arithmetic-derivative
new file mode 120000
index 0000000000..c88f60d44d
--- /dev/null
+++ b/Lang/Refal/Arithmetic-derivative
@@ -0,0 +1 @@
+../../Task/Arithmetic-derivative/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Bell-numbers b/Lang/Refal/Bell-numbers
new file mode 120000
index 0000000000..a73ced2740
--- /dev/null
+++ b/Lang/Refal/Bell-numbers
@@ -0,0 +1 @@
+../../Task/Bell-numbers/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Case-sensitivity-of-identifiers b/Lang/Refal/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..7def95d498
--- /dev/null
+++ b/Lang/Refal/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Combinations b/Lang/Refal/Combinations
new file mode 120000
index 0000000000..d4a5475872
--- /dev/null
+++ b/Lang/Refal/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Copy-stdin-to-stdout b/Lang/Refal/Copy-stdin-to-stdout
new file mode 120000
index 0000000000..974e13964c
--- /dev/null
+++ b/Lang/Refal/Copy-stdin-to-stdout
@@ -0,0 +1 @@
+../../Task/Copy-stdin-to-stdout/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Damm-algorithm b/Lang/Refal/Damm-algorithm
new file mode 120000
index 0000000000..9b99056b8a
--- /dev/null
+++ b/Lang/Refal/Damm-algorithm
@@ -0,0 +1 @@
+../../Task/Damm-algorithm/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Determine-sentence-type b/Lang/Refal/Determine-sentence-type
new file mode 120000
index 0000000000..13809ebd86
--- /dev/null
+++ b/Lang/Refal/Determine-sentence-type
@@ -0,0 +1 @@
+../../Task/Determine-sentence-type/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Disarium-numbers b/Lang/Refal/Disarium-numbers
new file mode 120000
index 0000000000..7389ead892
--- /dev/null
+++ b/Lang/Refal/Disarium-numbers
@@ -0,0 +1 @@
+../../Task/Disarium-numbers/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Discordian-date b/Lang/Refal/Discordian-date
new file mode 120000
index 0000000000..e18bd824ca
--- /dev/null
+++ b/Lang/Refal/Discordian-date
@@ -0,0 +1 @@
+../../Task/Discordian-date/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Display-a-linear-combination b/Lang/Refal/Display-a-linear-combination
new file mode 120000
index 0000000000..fc164db566
--- /dev/null
+++ b/Lang/Refal/Display-a-linear-combination
@@ -0,0 +1 @@
+../../Task/Display-a-linear-combination/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Doomsday-rule b/Lang/Refal/Doomsday-rule
new file mode 120000
index 0000000000..87fb488eaa
--- /dev/null
+++ b/Lang/Refal/Doomsday-rule
@@ -0,0 +1 @@
+../../Task/Doomsday-rule/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Duffinian-numbers b/Lang/Refal/Duffinian-numbers
new file mode 120000
index 0000000000..7aec5bb21b
--- /dev/null
+++ b/Lang/Refal/Duffinian-numbers
@@ -0,0 +1 @@
+../../Task/Duffinian-numbers/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Factors-of-an-integer b/Lang/Refal/Factors-of-an-integer
new file mode 120000
index 0000000000..b8b431c369
--- /dev/null
+++ b/Lang/Refal/Factors-of-an-integer
@@ -0,0 +1 @@
+../../Task/Factors-of-an-integer/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Flatten-a-list b/Lang/Refal/Flatten-a-list
new file mode 120000
index 0000000000..b2445ac726
--- /dev/null
+++ b/Lang/Refal/Flatten-a-list
@@ -0,0 +1 @@
+../../Task/Flatten-a-list/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Fractran b/Lang/Refal/Fractran
new file mode 120000
index 0000000000..30b9e7a511
--- /dev/null
+++ b/Lang/Refal/Fractran
@@ -0,0 +1 @@
+../../Task/Fractran/Refal
\ No newline at end of file
diff --git a/Lang/Refal/General-FizzBuzz b/Lang/Refal/General-FizzBuzz
new file mode 120000
index 0000000000..019727fd06
--- /dev/null
+++ b/Lang/Refal/General-FizzBuzz
@@ -0,0 +1 @@
+../../Task/General-FizzBuzz/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Horners-rule-for-polynomial-evaluation b/Lang/Refal/Horners-rule-for-polynomial-evaluation
new file mode 120000
index 0000000000..29b0a0f26a
--- /dev/null
+++ b/Lang/Refal/Horners-rule-for-polynomial-evaluation
@@ -0,0 +1 @@
+../../Task/Horners-rule-for-polynomial-evaluation/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Isqrt-integer-square-root-of-X b/Lang/Refal/Isqrt-integer-square-root-of-X
new file mode 120000
index 0000000000..812b5e86d3
--- /dev/null
+++ b/Lang/Refal/Isqrt-integer-square-root-of-X
@@ -0,0 +1 @@
+../../Task/Isqrt-integer-square-root-of-X/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Lah-numbers b/Lang/Refal/Lah-numbers
new file mode 120000
index 0000000000..a761f59719
--- /dev/null
+++ b/Lang/Refal/Lah-numbers
@@ -0,0 +1 @@
+../../Task/Lah-numbers/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Letter-frequency b/Lang/Refal/Letter-frequency
new file mode 120000
index 0000000000..e9c48e99dd
--- /dev/null
+++ b/Lang/Refal/Letter-frequency
@@ -0,0 +1 @@
+../../Task/Letter-frequency/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Loops-Infinite b/Lang/Refal/Loops-Infinite
new file mode 120000
index 0000000000..536c01c9bd
--- /dev/null
+++ b/Lang/Refal/Loops-Infinite
@@ -0,0 +1 @@
+../../Task/Loops-Infinite/Refal
\ No newline at end of file
diff --git a/Lang/Refal/McNuggets-problem b/Lang/Refal/McNuggets-problem
new file mode 120000
index 0000000000..90628a4989
--- /dev/null
+++ b/Lang/Refal/McNuggets-problem
@@ -0,0 +1 @@
+../../Task/McNuggets-problem/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Modular-exponentiation b/Lang/Refal/Modular-exponentiation
new file mode 120000
index 0000000000..68c13863de
--- /dev/null
+++ b/Lang/Refal/Modular-exponentiation
@@ -0,0 +1 @@
+../../Task/Modular-exponentiation/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Move-to-front-algorithm b/Lang/Refal/Move-to-front-algorithm
new file mode 120000
index 0000000000..e69e4f5498
--- /dev/null
+++ b/Lang/Refal/Move-to-front-algorithm
@@ -0,0 +1 @@
+../../Task/Move-to-front-algorithm/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Narcissistic-decimal-number b/Lang/Refal/Narcissistic-decimal-number
new file mode 120000
index 0000000000..3c509c9753
--- /dev/null
+++ b/Lang/Refal/Narcissistic-decimal-number
@@ -0,0 +1 @@
+../../Task/Narcissistic-decimal-number/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Nested-templated-data b/Lang/Refal/Nested-templated-data
new file mode 120000
index 0000000000..ceaf039a10
--- /dev/null
+++ b/Lang/Refal/Nested-templated-data
@@ -0,0 +1 @@
+../../Task/Nested-templated-data/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Old-lady-swallowed-a-fly b/Lang/Refal/Old-lady-swallowed-a-fly
new file mode 120000
index 0000000000..63d7ebf658
--- /dev/null
+++ b/Lang/Refal/Old-lady-swallowed-a-fly
@@ -0,0 +1 @@
+../../Task/Old-lady-swallowed-a-fly/Refal
\ No newline at end of file
diff --git a/Lang/Refal/One-dimensional-cellular-automata b/Lang/Refal/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..89b9ba280e
--- /dev/null
+++ b/Lang/Refal/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Ordered-words b/Lang/Refal/Ordered-words
new file mode 120000
index 0000000000..b546984c01
--- /dev/null
+++ b/Lang/Refal/Ordered-words
@@ -0,0 +1 @@
+../../Task/Ordered-words/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Palindrome-detection b/Lang/Refal/Palindrome-detection
new file mode 120000
index 0000000000..87f1ace89c
--- /dev/null
+++ b/Lang/Refal/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Population-count b/Lang/Refal/Population-count
new file mode 120000
index 0000000000..3cdd939b69
--- /dev/null
+++ b/Lang/Refal/Population-count
@@ -0,0 +1 @@
+../../Task/Population-count/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Power-set b/Lang/Refal/Power-set
new file mode 120000
index 0000000000..f50da086ad
--- /dev/null
+++ b/Lang/Refal/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Repeat b/Lang/Refal/Repeat
new file mode 120000
index 0000000000..1cdb36e096
--- /dev/null
+++ b/Lang/Refal/Repeat
@@ -0,0 +1 @@
+../../Task/Repeat/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Roman-numerals-Encode b/Lang/Refal/Roman-numerals-Encode
new file mode 120000
index 0000000000..a35e7a2ee0
--- /dev/null
+++ b/Lang/Refal/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Run-length-encoding b/Lang/Refal/Run-length-encoding
new file mode 120000
index 0000000000..afeb7091c3
--- /dev/null
+++ b/Lang/Refal/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Sierpinski-triangle b/Lang/Refal/Sierpinski-triangle
new file mode 120000
index 0000000000..078d645de8
--- /dev/null
+++ b/Lang/Refal/Sierpinski-triangle
@@ -0,0 +1 @@
+../../Task/Sierpinski-triangle/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Split-a-character-string-based-on-change-of-character b/Lang/Refal/Split-a-character-string-based-on-change-of-character
new file mode 120000
index 0000000000..8a3aec8866
--- /dev/null
+++ b/Lang/Refal/Split-a-character-string-based-on-change-of-character
@@ -0,0 +1 @@
+../../Task/Split-a-character-string-based-on-change-of-character/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Square-but-not-cube b/Lang/Refal/Square-but-not-cube
new file mode 120000
index 0000000000..a50417a708
--- /dev/null
+++ b/Lang/Refal/Square-but-not-cube
@@ -0,0 +1 @@
+../../Task/Square-but-not-cube/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Strip-comments-from-a-string b/Lang/Refal/Strip-comments-from-a-string
new file mode 120000
index 0000000000..6f86213c31
--- /dev/null
+++ b/Lang/Refal/Strip-comments-from-a-string
@@ -0,0 +1 @@
+../../Task/Strip-comments-from-a-string/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Super-d-numbers b/Lang/Refal/Super-d-numbers
new file mode 120000
index 0000000000..923b4678f8
--- /dev/null
+++ b/Lang/Refal/Super-d-numbers
@@ -0,0 +1 @@
+../../Task/Super-d-numbers/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Tokenize-a-string b/Lang/Refal/Tokenize-a-string
new file mode 120000
index 0000000000..f8ac7459de
--- /dev/null
+++ b/Lang/Refal/Tokenize-a-string
@@ -0,0 +1 @@
+../../Task/Tokenize-a-string/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Word-ladder b/Lang/Refal/Word-ladder
new file mode 120000
index 0000000000..b43f6deb31
--- /dev/null
+++ b/Lang/Refal/Word-ladder
@@ -0,0 +1 @@
+../../Task/Word-ladder/Refal
\ No newline at end of file
diff --git a/Lang/Refal/Zeckendorf-number-representation b/Lang/Refal/Zeckendorf-number-representation
new file mode 120000
index 0000000000..70b5a3265e
--- /dev/null
+++ b/Lang/Refal/Zeckendorf-number-representation
@@ -0,0 +1 @@
+../../Task/Zeckendorf-number-representation/Refal
\ No newline at end of file
diff --git a/Lang/Retro/Sieve-of-Eratosthenes b/Lang/Retro/Sieve-of-Eratosthenes
new file mode 120000
index 0000000000..d5617b7054
--- /dev/null
+++ b/Lang/Retro/Sieve-of-Eratosthenes
@@ -0,0 +1 @@
+../../Task/Sieve-of-Eratosthenes/Retro
\ No newline at end of file
diff --git a/Lang/Retro/String-append b/Lang/Retro/String-append
new file mode 120000
index 0000000000..db032f3f0a
--- /dev/null
+++ b/Lang/Retro/String-append
@@ -0,0 +1 @@
+../../Task/String-append/Retro
\ No newline at end of file
diff --git a/Lang/Retro/Sum-multiples-of-3-and-5 b/Lang/Retro/Sum-multiples-of-3-and-5
new file mode 120000
index 0000000000..cb0c42540d
--- /dev/null
+++ b/Lang/Retro/Sum-multiples-of-3-and-5
@@ -0,0 +1 @@
+../../Task/Sum-multiples-of-3-and-5/Retro
\ No newline at end of file
diff --git a/Lang/Rhombus/00-LANG.txt b/Lang/Rhombus/00-LANG.txt
new file mode 100644
index 0000000000..ef9932595f
--- /dev/null
+++ b/Lang/Rhombus/00-LANG.txt
@@ -0,0 +1,5 @@
+{{language
+|exec=both
+|gc=yes
+|site=https://rhombus-lang.org/
+}}
\ No newline at end of file
diff --git a/Lang/Rhombus/00-META.yaml b/Lang/Rhombus/00-META.yaml
new file mode 100644
index 0000000000..732b96d2eb
--- /dev/null
+++ b/Lang/Rhombus/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Rhombus
diff --git a/Lang/Rhombus/99-bottles-of-beer b/Lang/Rhombus/99-bottles-of-beer
new file mode 120000
index 0000000000..bcb9ee7049
--- /dev/null
+++ b/Lang/Rhombus/99-bottles-of-beer
@@ -0,0 +1 @@
+../../Task/99-bottles-of-beer/Rhombus
\ No newline at end of file
diff --git a/Lang/Rhombus/Arbitrary-precision-integers-included- b/Lang/Rhombus/Arbitrary-precision-integers-included-
new file mode 120000
index 0000000000..31558e19d7
--- /dev/null
+++ b/Lang/Rhombus/Arbitrary-precision-integers-included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers-included-/Rhombus
\ No newline at end of file
diff --git a/Lang/Rhombus/Caesar-cipher b/Lang/Rhombus/Caesar-cipher
new file mode 120000
index 0000000000..dd9f5453ed
--- /dev/null
+++ b/Lang/Rhombus/Caesar-cipher
@@ -0,0 +1 @@
+../../Task/Caesar-cipher/Rhombus
\ No newline at end of file
diff --git a/Lang/Rhombus/Factorial b/Lang/Rhombus/Factorial
new file mode 120000
index 0000000000..92b62c830f
--- /dev/null
+++ b/Lang/Rhombus/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/Rhombus
\ No newline at end of file
diff --git a/Lang/Rhombus/Fibonacci-sequence b/Lang/Rhombus/Fibonacci-sequence
new file mode 120000
index 0000000000..d496e8a0b2
--- /dev/null
+++ b/Lang/Rhombus/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/Rhombus
\ No newline at end of file
diff --git a/Lang/Rhombus/FizzBuzz b/Lang/Rhombus/FizzBuzz
new file mode 120000
index 0000000000..5740514b72
--- /dev/null
+++ b/Lang/Rhombus/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Rhombus
\ No newline at end of file
diff --git a/Lang/Rhombus/Guess-the-number-With-feedback b/Lang/Rhombus/Guess-the-number-With-feedback
new file mode 120000
index 0000000000..c51dd719ba
--- /dev/null
+++ b/Lang/Rhombus/Guess-the-number-With-feedback
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback/Rhombus
\ No newline at end of file
diff --git a/Lang/Rhombus/Hello-world-Text b/Lang/Rhombus/Hello-world-Text
new file mode 120000
index 0000000000..11fb03859d
--- /dev/null
+++ b/Lang/Rhombus/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Rhombus
\ No newline at end of file
diff --git a/Lang/Rhombus/Inheritance-Single b/Lang/Rhombus/Inheritance-Single
new file mode 120000
index 0000000000..2f478862d8
--- /dev/null
+++ b/Lang/Rhombus/Inheritance-Single
@@ -0,0 +1 @@
+../../Task/Inheritance-Single/Rhombus
\ No newline at end of file
diff --git a/Lang/Rhombus/Polymorphism b/Lang/Rhombus/Polymorphism
new file mode 120000
index 0000000000..a5540935b5
--- /dev/null
+++ b/Lang/Rhombus/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/Rhombus
\ No newline at end of file
diff --git a/Lang/Rhombus/Rot-13 b/Lang/Rhombus/Rot-13
new file mode 120000
index 0000000000..369226ff2f
--- /dev/null
+++ b/Lang/Rhombus/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Rhombus
\ No newline at end of file
diff --git a/Lang/Rhombus/Y-combinator b/Lang/Rhombus/Y-combinator
new file mode 120000
index 0000000000..745c50d95d
--- /dev/null
+++ b/Lang/Rhombus/Y-combinator
@@ -0,0 +1 @@
+../../Task/Y-combinator/Rhombus
\ No newline at end of file
diff --git a/Lang/Ring/Bioinformatics-base-count b/Lang/Ring/Bioinformatics-base-count
deleted file mode 120000
index 291f269ac6..0000000000
--- a/Lang/Ring/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/Ring
\ No newline at end of file
diff --git a/Lang/Ring/Brilliant-numbers b/Lang/Ring/Brilliant-numbers
new file mode 120000
index 0000000000..4e2621cdb9
--- /dev/null
+++ b/Lang/Ring/Brilliant-numbers
@@ -0,0 +1 @@
+../../Task/Brilliant-numbers/Ring
\ No newline at end of file
diff --git a/Lang/Ring/Colorful-numbers b/Lang/Ring/Colorful-numbers
new file mode 120000
index 0000000000..0882269c01
--- /dev/null
+++ b/Lang/Ring/Colorful-numbers
@@ -0,0 +1 @@
+../../Task/Colorful-numbers/Ring
\ No newline at end of file
diff --git a/Lang/Ring/Compare-a-list-of-strings b/Lang/Ring/Compare-a-list-of-strings
new file mode 120000
index 0000000000..308f7db9af
--- /dev/null
+++ b/Lang/Ring/Compare-a-list-of-strings
@@ -0,0 +1 @@
+../../Task/Compare-a-list-of-strings/Ring
\ No newline at end of file
diff --git a/Lang/Ring/Composite-numbers-k-with-no-single-digit-factors-whose-factors-are-all-substrings-of-k b/Lang/Ring/Composite-numbers-k-with-no-single-digit-factors-whose-factors-are-all-substrings-of-k
new file mode 120000
index 0000000000..cd105cb2cf
--- /dev/null
+++ b/Lang/Ring/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/Ring
\ No newline at end of file
diff --git a/Lang/Ring/Draw-a-clock b/Lang/Ring/Draw-a-clock
new file mode 120000
index 0000000000..d4e59a0d8d
--- /dev/null
+++ b/Lang/Ring/Draw-a-clock
@@ -0,0 +1 @@
+../../Task/Draw-a-clock/Ring
\ No newline at end of file
diff --git a/Lang/Ring/Duffinian-numbers b/Lang/Ring/Duffinian-numbers
new file mode 120000
index 0000000000..297b9a5500
--- /dev/null
+++ b/Lang/Ring/Duffinian-numbers
@@ -0,0 +1 @@
+../../Task/Duffinian-numbers/Ring
\ No newline at end of file
diff --git a/Lang/Ring/Empty-program b/Lang/Ring/Empty-program
deleted file mode 120000
index 05941ac0c2..0000000000
--- a/Lang/Ring/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/Ring
\ No newline at end of file
diff --git a/Lang/Ring/Miller-Rabin-primality-test b/Lang/Ring/Miller-Rabin-primality-test
deleted file mode 120000
index dd0885b5c9..0000000000
--- a/Lang/Ring/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Ring
\ No newline at end of file
diff --git a/Lang/Ring/Selectively-replace-multiple-instances-of-a-character-within-a-string b/Lang/Ring/Selectively-replace-multiple-instances-of-a-character-within-a-string
new file mode 120000
index 0000000000..238083a2d3
--- /dev/null
+++ b/Lang/Ring/Selectively-replace-multiple-instances-of-a-character-within-a-string
@@ -0,0 +1 @@
+../../Task/Selectively-replace-multiple-instances-of-a-character-within-a-string/Ring
\ No newline at end of file
diff --git a/Lang/Ring/Sequence-nth-number-with-exactly-n-divisors b/Lang/Ring/Sequence:-nth-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Ring/Sequence-nth-number-with-exactly-n-divisors
rename to Lang/Ring/Sequence:-nth-number-with-exactly-n-divisors
diff --git a/Lang/Ring/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/Ring/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/Ring/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/Ring/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/Ring/Sequence-smallest-number-with-exactly-n-divisors b/Lang/Ring/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Ring/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/Ring/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/Ring/Sorting-Algorithms-Circle-Sort b/Lang/Ring/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index de0338125a..0000000000
--- a/Lang/Ring/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/Ring
\ No newline at end of file
diff --git a/Lang/Ring/Sorting-algorithms-Bead-sort b/Lang/Ring/Sorting-algorithms-Bead-sort
new file mode 120000
index 0000000000..eea2153977
--- /dev/null
+++ b/Lang/Ring/Sorting-algorithms-Bead-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Bead-sort/Ring
\ No newline at end of file
diff --git a/Lang/Ring/Special-characters b/Lang/Ring/Special-characters
new file mode 120000
index 0000000000..0dd3c257c9
--- /dev/null
+++ b/Lang/Ring/Special-characters
@@ -0,0 +1 @@
+../../Task/Special-characters/Ring
\ No newline at end of file
diff --git a/Lang/Ring/Truth-table b/Lang/Ring/Truth-table
new file mode 120000
index 0000000000..b2ddf39eb1
--- /dev/null
+++ b/Lang/Ring/Truth-table
@@ -0,0 +1 @@
+../../Task/Truth-table/Ring
\ No newline at end of file
diff --git a/Lang/Ring/Twelve-statements b/Lang/Ring/Twelve-statements
new file mode 120000
index 0000000000..539ba91df6
--- /dev/null
+++ b/Lang/Ring/Twelve-statements
@@ -0,0 +1 @@
+../../Task/Twelve-statements/Ring
\ No newline at end of file
diff --git a/Lang/Ring/Universal-Turing-machine b/Lang/Ring/Universal-Turing-machine
new file mode 120000
index 0000000000..1e0cfd8b67
--- /dev/null
+++ b/Lang/Ring/Universal-Turing-machine
@@ -0,0 +1 @@
+../../Task/Universal-Turing-machine/Ring
\ No newline at end of file
diff --git a/Lang/Ring/Wagstaff-primes b/Lang/Ring/Wagstaff-primes
new file mode 120000
index 0000000000..877433f537
--- /dev/null
+++ b/Lang/Ring/Wagstaff-primes
@@ -0,0 +1 @@
+../../Task/Wagstaff-primes/Ring
\ No newline at end of file
diff --git a/Lang/Ring/Wieferich-primes b/Lang/Ring/Wieferich-primes
new file mode 120000
index 0000000000..4a7c97a04d
--- /dev/null
+++ b/Lang/Ring/Wieferich-primes
@@ -0,0 +1 @@
+../../Task/Wieferich-primes/Ring
\ No newline at end of file
diff --git a/Lang/Ring/Yin-and-yang b/Lang/Ring/Yin-and-yang
new file mode 120000
index 0000000000..b4e272e04d
--- /dev/null
+++ b/Lang/Ring/Yin-and-yang
@@ -0,0 +1 @@
+../../Task/Yin-and-yang/Ring
\ No newline at end of file
diff --git a/Lang/Robotic/Empty-program b/Lang/Robotic/Empty-program
deleted file mode 120000
index 5e2d95817a..0000000000
--- a/Lang/Robotic/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/Robotic
\ No newline at end of file
diff --git a/Lang/Rockstar/00-LANG.txt b/Lang/Rockstar/00-LANG.txt
index 9dc3cbc2f7..c22e2c3636 100644
--- a/Lang/Rockstar/00-LANG.txt
+++ b/Lang/Rockstar/00-LANG.txt
@@ -1,4 +1,8 @@
-{{stub}}{{language|Rockstar}}
+{{stub}}
+{{language|Rockstar
+|site=https://codewithrockstar.com/
+|hopl=no
+}}
Rockstar was created by a rockin' dude named Dylan Beattie.
diff --git a/Lang/Rocq/00-LANG.txt b/Lang/Rocq/00-LANG.txt
new file mode 100644
index 0000000000..3a6e02cc5b
--- /dev/null
+++ b/Lang/Rocq/00-LANG.txt
@@ -0,0 +1,9 @@
+{{language|Rocq
+|site=https://rocq-prover.org/
+}}
+The '''Rocq Prover''' (previously known as '''Coq''') is a proof assistant application. It allows the expression of mathematical assertions, mechanically checks proofs of these assertions, helps to find formal proofs, and extracts a certified program from the constructive proof of its formal specification. Rocq works within the theory of the calculus of inductive constructions, a derivative of the calculus of constructions. Rocq is not an automated [[wp:Theorem_prover|theorem prover]] but includes automatic theorem proving tactics and various decision procedures.
+
+==Citations==
+* [[wp:Rocq|Rocq]]
+
+[[Category:Mathematical programming languages]]
\ No newline at end of file
diff --git a/Lang/Rocq/00-META.yaml b/Lang/Rocq/00-META.yaml
new file mode 100644
index 0000000000..7a4ef3c3e3
--- /dev/null
+++ b/Lang/Rocq/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Rocq
diff --git a/Lang/Rocq/100-doors b/Lang/Rocq/100-doors
new file mode 120000
index 0000000000..ddc9d15706
--- /dev/null
+++ b/Lang/Rocq/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/Rocq
\ No newline at end of file
diff --git a/Lang/Rocq/Ackermann-function b/Lang/Rocq/Ackermann-function
new file mode 120000
index 0000000000..2c359313d3
--- /dev/null
+++ b/Lang/Rocq/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/Rocq
\ No newline at end of file
diff --git a/Lang/Rocq/Extend-your-language b/Lang/Rocq/Extend-your-language
new file mode 120000
index 0000000000..7a189585f3
--- /dev/null
+++ b/Lang/Rocq/Extend-your-language
@@ -0,0 +1 @@
+../../Task/Extend-your-language/Rocq
\ No newline at end of file
diff --git a/Lang/Rocq/Factorial b/Lang/Rocq/Factorial
new file mode 120000
index 0000000000..73a7e2f546
--- /dev/null
+++ b/Lang/Rocq/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/Rocq
\ No newline at end of file
diff --git a/Lang/Rocq/Fibonacci-sequence b/Lang/Rocq/Fibonacci-sequence
new file mode 120000
index 0000000000..a31a4762d2
--- /dev/null
+++ b/Lang/Rocq/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/Rocq
\ No newline at end of file
diff --git a/Lang/Rocq/FizzBuzz b/Lang/Rocq/FizzBuzz
new file mode 120000
index 0000000000..3dc20e67b5
--- /dev/null
+++ b/Lang/Rocq/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Rocq
\ No newline at end of file
diff --git a/Lang/Rocq/Hello-world-Newbie b/Lang/Rocq/Hello-world-Newbie
new file mode 120000
index 0000000000..f8f6323716
--- /dev/null
+++ b/Lang/Rocq/Hello-world-Newbie
@@ -0,0 +1 @@
+../../Task/Hello-world-Newbie/Rocq
\ No newline at end of file
diff --git a/Lang/Rocq/Hello-world-Text b/Lang/Rocq/Hello-world-Text
new file mode 120000
index 0000000000..3d91fcb1de
--- /dev/null
+++ b/Lang/Rocq/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Rocq
\ No newline at end of file
diff --git a/Lang/Rocq/Loops-For b/Lang/Rocq/Loops-For
new file mode 120000
index 0000000000..ea834fd5b7
--- /dev/null
+++ b/Lang/Rocq/Loops-For
@@ -0,0 +1 @@
+../../Task/Loops-For/Rocq
\ No newline at end of file
diff --git a/Lang/Rocq/Tree-traversal b/Lang/Rocq/Tree-traversal
new file mode 120000
index 0000000000..944802a525
--- /dev/null
+++ b/Lang/Rocq/Tree-traversal
@@ -0,0 +1 @@
+../../Task/Tree-traversal/Rocq
\ No newline at end of file
diff --git a/Lang/Rocq/Variadic-function b/Lang/Rocq/Variadic-function
new file mode 120000
index 0000000000..0c5215f0a1
--- /dev/null
+++ b/Lang/Rocq/Variadic-function
@@ -0,0 +1 @@
+../../Task/Variadic-function/Rocq
\ No newline at end of file
diff --git a/Lang/Ruby/Bioinformatics-base-count b/Lang/Ruby/Bioinformatics-base-count
deleted file mode 120000
index af92d7709c..0000000000
--- a/Lang/Ruby/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Miller-Rabin-primality-test b/Lang/Ruby/Miller-Rabin-primality-test
deleted file mode 120000
index d7cbf43733..0000000000
--- a/Lang/Ruby/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Quaternion-type b/Lang/Ruby/Quaternion-type
deleted file mode 120000
index c1af2a1904..0000000000
--- a/Lang/Ruby/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Sequence-nth-number-with-exactly-n-divisors b/Lang/Ruby/Sequence:-nth-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Ruby/Sequence-nth-number-with-exactly-n-divisors
rename to Lang/Ruby/Sequence:-nth-number-with-exactly-n-divisors
diff --git a/Lang/Ruby/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/Ruby/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/Ruby/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/Ruby/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/Ruby/Sequence-smallest-number-with-exactly-n-divisors b/Lang/Ruby/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Ruby/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/Ruby/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/Ruby/Sorting-Algorithms-Circle-Sort b/Lang/Ruby/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index 022b44ef66..0000000000
--- a/Lang/Ruby/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Strassens-algorithm b/Lang/Ruby/Strassens-algorithm
new file mode 120000
index 0000000000..ecb75a8f11
--- /dev/null
+++ b/Lang/Ruby/Strassens-algorithm
@@ -0,0 +1 @@
+../../Task/Strassens-algorithm/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Variable-declaration-reset b/Lang/Ruby/Variable-declaration-reset
new file mode 120000
index 0000000000..42ba082e34
--- /dev/null
+++ b/Lang/Ruby/Variable-declaration-reset
@@ -0,0 +1 @@
+../../Task/Variable-declaration-reset/Ruby
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Determine-sentence-type b/Lang/Run-BASIC/Determine-sentence-type
new file mode 120000
index 0000000000..5db5f89e0c
--- /dev/null
+++ b/Lang/Run-BASIC/Determine-sentence-type
@@ -0,0 +1 @@
+../../Task/Determine-sentence-type/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Josephus-problem b/Lang/Run-BASIC/Josephus-problem
new file mode 120000
index 0000000000..d5ce7e543e
--- /dev/null
+++ b/Lang/Run-BASIC/Josephus-problem
@@ -0,0 +1 @@
+../../Task/Josephus-problem/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Meissel-Mertens-constant b/Lang/Run-BASIC/Meissel-Mertens-constant
deleted file mode 120000
index 44168b020e..0000000000
--- a/Lang/Run-BASIC/Meissel-Mertens-constant
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Meissel-Mertens-constant/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Miller-Rabin-primality-test b/Lang/Run-BASIC/Miller-Rabin-primality-test
deleted file mode 120000
index 13b7319b57..0000000000
--- a/Lang/Run-BASIC/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Nested-templated-data b/Lang/Run-BASIC/Nested-templated-data
new file mode 120000
index 0000000000..e2c607e939
--- /dev/null
+++ b/Lang/Run-BASIC/Nested-templated-data
@@ -0,0 +1 @@
+../../Task/Nested-templated-data/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Numbers-with-equal-rises-and-falls b/Lang/Run-BASIC/Numbers-with-equal-rises-and-falls
new file mode 120000
index 0000000000..b0e664881e
--- /dev/null
+++ b/Lang/Run-BASIC/Numbers-with-equal-rises-and-falls
@@ -0,0 +1 @@
+../../Task/Numbers-with-equal-rises-and-falls/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Pancake-numbers b/Lang/Run-BASIC/Pancake-numbers
new file mode 120000
index 0000000000..8078e50109
--- /dev/null
+++ b/Lang/Run-BASIC/Pancake-numbers
@@ -0,0 +1 @@
+../../Task/Pancake-numbers/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Phrase-reversals b/Lang/Run-BASIC/Phrase-reversals
new file mode 120000
index 0000000000..db249e8a6e
--- /dev/null
+++ b/Lang/Run-BASIC/Phrase-reversals
@@ -0,0 +1 @@
+../../Task/Phrase-reversals/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
similarity index 100%
rename from Lang/Run-BASIC/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/Run-BASIC/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/Run-BASIC/Split-a-character-string-based-on-change-of-character b/Lang/Run-BASIC/Split-a-character-string-based-on-change-of-character
new file mode 120000
index 0000000000..afd1d6a928
--- /dev/null
+++ b/Lang/Run-BASIC/Split-a-character-string-based-on-change-of-character
@@ -0,0 +1 @@
+../../Task/Split-a-character-string-based-on-change-of-character/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/The-Name-Game b/Lang/Run-BASIC/The-Name-Game
new file mode 120000
index 0000000000..a0ca866e4a
--- /dev/null
+++ b/Lang/Run-BASIC/The-Name-Game
@@ -0,0 +1 @@
+../../Task/The-Name-Game/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Rust/Almkvist-Giullera-formula-for-pi b/Lang/Rust/Almkvist-Giullera-formula-for-pi
new file mode 120000
index 0000000000..495c52095c
--- /dev/null
+++ b/Lang/Rust/Almkvist-Giullera-formula-for-pi
@@ -0,0 +1 @@
+../../Task/Almkvist-Giullera-formula-for-pi/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Ascending-primes b/Lang/Rust/Ascending-primes
new file mode 120000
index 0000000000..84fdafe351
--- /dev/null
+++ b/Lang/Rust/Ascending-primes
@@ -0,0 +1 @@
+../../Task/Ascending-primes/Rust
\ No newline at end of file
diff --git a/Lang/Rust/B-zier-curves-Intersections b/Lang/Rust/B-zier-curves-Intersections
new file mode 120000
index 0000000000..732ede6e4e
--- /dev/null
+++ b/Lang/Rust/B-zier-curves-Intersections
@@ -0,0 +1 @@
+../../Task/B-zier-curves-Intersections/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Bifid-cipher b/Lang/Rust/Bifid-cipher
new file mode 120000
index 0000000000..8ddce2026b
--- /dev/null
+++ b/Lang/Rust/Bifid-cipher
@@ -0,0 +1 @@
+../../Task/Bifid-cipher/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Bioinformatics-Global-alignment b/Lang/Rust/Bioinformatics-Global-alignment
new file mode 120000
index 0000000000..3bbbc3b358
--- /dev/null
+++ b/Lang/Rust/Bioinformatics-Global-alignment
@@ -0,0 +1 @@
+../../Task/Bioinformatics-Global-alignment/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Bioinformatics-base-count b/Lang/Rust/Bioinformatics-base-count
deleted file mode 120000
index 412ded1361..0000000000
--- a/Lang/Rust/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Biorhythms b/Lang/Rust/Biorhythms
new file mode 120000
index 0000000000..8d5ffa21d8
--- /dev/null
+++ b/Lang/Rust/Biorhythms
@@ -0,0 +1 @@
+../../Task/Biorhythms/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Blum-integer b/Lang/Rust/Blum-integer
new file mode 120000
index 0000000000..7a0e8a69ae
--- /dev/null
+++ b/Lang/Rust/Blum-integer
@@ -0,0 +1 @@
+../../Task/Blum-integer/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Boyer-Moore-string-search b/Lang/Rust/Boyer-Moore-string-search
new file mode 120000
index 0000000000..b70383335b
--- /dev/null
+++ b/Lang/Rust/Boyer-Moore-string-search
@@ -0,0 +1 @@
+../../Task/Boyer-Moore-string-search/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Break-OO-privacy b/Lang/Rust/Break-OO-privacy
new file mode 120000
index 0000000000..37b6e0d417
--- /dev/null
+++ b/Lang/Rust/Break-OO-privacy
@@ -0,0 +1 @@
+../../Task/Break-OO-privacy/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Calendar---for-REAL-programmers b/Lang/Rust/Calendar---for-REAL-programmers
new file mode 120000
index 0000000000..5bd1cebf14
--- /dev/null
+++ b/Lang/Rust/Calendar---for-REAL-programmers
@@ -0,0 +1 @@
+../../Task/Calendar---for-REAL-programmers/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Camel-case-and-snake-case b/Lang/Rust/Camel-case-and-snake-case
new file mode 120000
index 0000000000..5c92d90b28
--- /dev/null
+++ b/Lang/Rust/Camel-case-and-snake-case
@@ -0,0 +1 @@
+../../Task/Camel-case-and-snake-case/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Color-quantization b/Lang/Rust/Color-quantization
new file mode 120000
index 0000000000..76c5471c0f
--- /dev/null
+++ b/Lang/Rust/Color-quantization
@@ -0,0 +1 @@
+../../Task/Color-quantization/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Commatizing-numbers b/Lang/Rust/Commatizing-numbers
new file mode 120000
index 0000000000..5df0e95315
--- /dev/null
+++ b/Lang/Rust/Commatizing-numbers
@@ -0,0 +1 @@
+../../Task/Commatizing-numbers/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Compare-sorting-algorithms-performance b/Lang/Rust/Compare-sorting-algorithms-performance
new file mode 120000
index 0000000000..7676ca3dd8
--- /dev/null
+++ b/Lang/Rust/Compare-sorting-algorithms-performance
@@ -0,0 +1 @@
+../../Task/Compare-sorting-algorithms-performance/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Compiler-AST-interpreter b/Lang/Rust/Compiler-AST-interpreter
new file mode 120000
index 0000000000..2028e35209
--- /dev/null
+++ b/Lang/Rust/Compiler-AST-interpreter
@@ -0,0 +1 @@
+../../Task/Compiler-AST-interpreter/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Compiler-code-generator b/Lang/Rust/Compiler-code-generator
new file mode 120000
index 0000000000..fa460708f3
--- /dev/null
+++ b/Lang/Rust/Compiler-code-generator
@@ -0,0 +1 @@
+../../Task/Compiler-code-generator/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Compiler-lexical-analyzer b/Lang/Rust/Compiler-lexical-analyzer
new file mode 120000
index 0000000000..b603fdc69a
--- /dev/null
+++ b/Lang/Rust/Compiler-lexical-analyzer
@@ -0,0 +1 @@
+../../Task/Compiler-lexical-analyzer/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Compiler-syntax-analyzer b/Lang/Rust/Compiler-syntax-analyzer
new file mode 120000
index 0000000000..4fa6fc40a8
--- /dev/null
+++ b/Lang/Rust/Compiler-syntax-analyzer
@@ -0,0 +1 @@
+../../Task/Compiler-syntax-analyzer/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n- b/Lang/Rust/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n-
new file mode 120000
index 0000000000..7e0955d429
--- /dev/null
+++ b/Lang/Rust/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n-
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n-/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Cyclops-numbers b/Lang/Rust/Cyclops-numbers
new file mode 120000
index 0000000000..044bb62e43
--- /dev/null
+++ b/Lang/Rust/Cyclops-numbers
@@ -0,0 +1 @@
+../../Task/Cyclops-numbers/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Cyclotomic-polynomial b/Lang/Rust/Cyclotomic-polynomial
new file mode 120000
index 0000000000..8ff16fabbb
--- /dev/null
+++ b/Lang/Rust/Cyclotomic-polynomial
@@ -0,0 +1 @@
+../../Task/Cyclotomic-polynomial/Rust
\ No newline at end of file
diff --git a/Lang/Rust/De-Bruijn-sequences b/Lang/Rust/De-Bruijn-sequences
new file mode 120000
index 0000000000..69c62c6871
--- /dev/null
+++ b/Lang/Rust/De-Bruijn-sequences
@@ -0,0 +1 @@
+../../Task/De-Bruijn-sequences/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Deconvolution-1D b/Lang/Rust/Deconvolution-1D
new file mode 120000
index 0000000000..d02a914ea3
--- /dev/null
+++ b/Lang/Rust/Deconvolution-1D
@@ -0,0 +1 @@
+../../Task/Deconvolution-1D/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Deconvolution-2D+ b/Lang/Rust/Deconvolution-2D+
new file mode 120000
index 0000000000..4b9cb470ba
--- /dev/null
+++ b/Lang/Rust/Deconvolution-2D+
@@ -0,0 +1 @@
+../../Task/Deconvolution-2D+/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Demings-funnel b/Lang/Rust/Demings-funnel
new file mode 120000
index 0000000000..295d5542ba
--- /dev/null
+++ b/Lang/Rust/Demings-funnel
@@ -0,0 +1 @@
+../../Task/Demings-funnel/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Descending-primes b/Lang/Rust/Descending-primes
new file mode 120000
index 0000000000..fc953fbf4e
--- /dev/null
+++ b/Lang/Rust/Descending-primes
@@ -0,0 +1 @@
+../../Task/Descending-primes/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Determine-if-two-triangles-overlap b/Lang/Rust/Determine-if-two-triangles-overlap
new file mode 120000
index 0000000000..2bc1e5e063
--- /dev/null
+++ b/Lang/Rust/Determine-if-two-triangles-overlap
@@ -0,0 +1 @@
+../../Task/Determine-if-two-triangles-overlap/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Determine-sentence-type b/Lang/Rust/Determine-sentence-type
new file mode 120000
index 0000000000..caee594e4d
--- /dev/null
+++ b/Lang/Rust/Determine-sentence-type
@@ -0,0 +1 @@
+../../Task/Determine-sentence-type/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Doubly-linked-list-Definition b/Lang/Rust/Doubly-linked-list-Definition
new file mode 120000
index 0000000000..9eb9054258
--- /dev/null
+++ b/Lang/Rust/Doubly-linked-list-Definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Definition/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Doubly-linked-list-Traversal b/Lang/Rust/Doubly-linked-list-Traversal
new file mode 120000
index 0000000000..b44bd60c3c
--- /dev/null
+++ b/Lang/Rust/Doubly-linked-list-Traversal
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Traversal/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Duffinian-numbers b/Lang/Rust/Duffinian-numbers
new file mode 120000
index 0000000000..5a84e9b8ff
--- /dev/null
+++ b/Lang/Rust/Duffinian-numbers
@@ -0,0 +1 @@
+../../Task/Duffinian-numbers/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Eban-numbers b/Lang/Rust/Eban-numbers
new file mode 120000
index 0000000000..cf564cdce5
--- /dev/null
+++ b/Lang/Rust/Eban-numbers
@@ -0,0 +1 @@
+../../Task/Eban-numbers/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Elliptic-Curve-Digital-Signature-Algorithm b/Lang/Rust/Elliptic-Curve-Digital-Signature-Algorithm
new file mode 120000
index 0000000000..f6d4ecb90e
--- /dev/null
+++ b/Lang/Rust/Elliptic-Curve-Digital-Signature-Algorithm
@@ -0,0 +1 @@
+../../Task/Elliptic-Curve-Digital-Signature-Algorithm/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Elliptic-curve-arithmetic b/Lang/Rust/Elliptic-curve-arithmetic
new file mode 120000
index 0000000000..cb1c49b6dd
--- /dev/null
+++ b/Lang/Rust/Elliptic-curve-arithmetic
@@ -0,0 +1 @@
+../../Task/Elliptic-curve-arithmetic/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Faulhabers-formula b/Lang/Rust/Faulhabers-formula
new file mode 120000
index 0000000000..f7691b3566
--- /dev/null
+++ b/Lang/Rust/Faulhabers-formula
@@ -0,0 +1 @@
+../../Task/Faulhabers-formula/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Faulhabers-triangle b/Lang/Rust/Faulhabers-triangle
new file mode 120000
index 0000000000..49b5537877
--- /dev/null
+++ b/Lang/Rust/Faulhabers-triangle
@@ -0,0 +1 @@
+../../Task/Faulhabers-triangle/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Find-largest-left-truncatable-prime-in-a-given-base b/Lang/Rust/Find-largest-left-truncatable-prime-in-a-given-base
new file mode 120000
index 0000000000..e7da5ced0b
--- /dev/null
+++ b/Lang/Rust/Find-largest-left-truncatable-prime-in-a-given-base
@@ -0,0 +1 @@
+../../Task/Find-largest-left-truncatable-prime-in-a-given-base/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Fractran b/Lang/Rust/Fractran
new file mode 120000
index 0000000000..46ed1ab96e
--- /dev/null
+++ b/Lang/Rust/Fractran
@@ -0,0 +1 @@
+../../Task/Fractran/Rust
\ No newline at end of file
diff --git a/Lang/Rust/French-Republican-calendar b/Lang/Rust/French-Republican-calendar
new file mode 120000
index 0000000000..60dfe0f429
--- /dev/null
+++ b/Lang/Rust/French-Republican-calendar
@@ -0,0 +1 @@
+../../Task/French-Republican-calendar/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Functional-coverage-tree b/Lang/Rust/Functional-coverage-tree
new file mode 120000
index 0000000000..fab149755e
--- /dev/null
+++ b/Lang/Rust/Functional-coverage-tree
@@ -0,0 +1 @@
+../../Task/Functional-coverage-tree/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Graph-colouring b/Lang/Rust/Graph-colouring
new file mode 120000
index 0000000000..acb44a12b7
--- /dev/null
+++ b/Lang/Rust/Graph-colouring
@@ -0,0 +1 @@
+../../Task/Graph-colouring/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Hex-words b/Lang/Rust/Hex-words
new file mode 120000
index 0000000000..9322882ab9
--- /dev/null
+++ b/Lang/Rust/Hex-words
@@ -0,0 +1 @@
+../../Task/Hex-words/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Humble-numbers b/Lang/Rust/Humble-numbers
new file mode 120000
index 0000000000..001b631312
--- /dev/null
+++ b/Lang/Rust/Humble-numbers
@@ -0,0 +1 @@
+../../Task/Humble-numbers/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Knapsack-problem-Bounded b/Lang/Rust/Knapsack-problem-Bounded
new file mode 120000
index 0000000000..db57c7551f
--- /dev/null
+++ b/Lang/Rust/Knapsack-problem-Bounded
@@ -0,0 +1 @@
+../../Task/Knapsack-problem-Bounded/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Kosaraju b/Lang/Rust/Kosaraju
new file mode 120000
index 0000000000..69a0c5ef3e
--- /dev/null
+++ b/Lang/Rust/Kosaraju
@@ -0,0 +1 @@
+../../Task/Kosaraju/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Latin-Squares-in-reduced-form b/Lang/Rust/Latin-Squares-in-reduced-form
new file mode 120000
index 0000000000..17d284a00f
--- /dev/null
+++ b/Lang/Rust/Latin-Squares-in-reduced-form
@@ -0,0 +1 @@
+../../Task/Latin-Squares-in-reduced-form/Rust
\ No newline at end of file
diff --git a/Lang/Rust/List-rooted-trees b/Lang/Rust/List-rooted-trees
new file mode 120000
index 0000000000..ef07119312
--- /dev/null
+++ b/Lang/Rust/List-rooted-trees
@@ -0,0 +1 @@
+../../Task/List-rooted-trees/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Long-literals-with-continuations b/Lang/Rust/Long-literals-with-continuations
new file mode 120000
index 0000000000..ad69d0820b
--- /dev/null
+++ b/Lang/Rust/Long-literals-with-continuations
@@ -0,0 +1 @@
+../../Task/Long-literals-with-continuations/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Mayan-calendar b/Lang/Rust/Mayan-calendar
new file mode 120000
index 0000000000..8da8002279
--- /dev/null
+++ b/Lang/Rust/Mayan-calendar
@@ -0,0 +1 @@
+../../Task/Mayan-calendar/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Median-filter b/Lang/Rust/Median-filter
new file mode 120000
index 0000000000..1cdae0e790
--- /dev/null
+++ b/Lang/Rust/Median-filter
@@ -0,0 +1 @@
+../../Task/Median-filter/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Miller-Rabin-primality-test b/Lang/Rust/Miller-Rabin-primality-test
deleted file mode 120000
index 937aebe94f..0000000000
--- a/Lang/Rust/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Modular-arithmetic b/Lang/Rust/Modular-arithmetic
new file mode 120000
index 0000000000..bf3b8fce76
--- /dev/null
+++ b/Lang/Rust/Modular-arithmetic
@@ -0,0 +1 @@
+../../Task/Modular-arithmetic/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Multiple-regression b/Lang/Rust/Multiple-regression
new file mode 120000
index 0000000000..84425ee458
--- /dev/null
+++ b/Lang/Rust/Multiple-regression
@@ -0,0 +1 @@
+../../Task/Multiple-regression/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Natural-sorting b/Lang/Rust/Natural-sorting
new file mode 120000
index 0000000000..77b1a7de05
--- /dev/null
+++ b/Lang/Rust/Natural-sorting
@@ -0,0 +1 @@
+../../Task/Natural-sorting/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Non-continuous-subsequences b/Lang/Rust/Non-continuous-subsequences
new file mode 120000
index 0000000000..7152418d6c
--- /dev/null
+++ b/Lang/Rust/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Nonogram-solver b/Lang/Rust/Nonogram-solver
new file mode 120000
index 0000000000..670a3f0f6a
--- /dev/null
+++ b/Lang/Rust/Nonogram-solver
@@ -0,0 +1 @@
+../../Task/Nonogram-solver/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Numerical-and-alphabetical-suffixes b/Lang/Rust/Numerical-and-alphabetical-suffixes
new file mode 120000
index 0000000000..0446d710e5
--- /dev/null
+++ b/Lang/Rust/Numerical-and-alphabetical-suffixes
@@ -0,0 +1 @@
+../../Task/Numerical-and-alphabetical-suffixes/Rust
\ No newline at end of file
diff --git a/Lang/Rust/OpenWebNet-password b/Lang/Rust/OpenWebNet-password
new file mode 120000
index 0000000000..24be1f8b4a
--- /dev/null
+++ b/Lang/Rust/OpenWebNet-password
@@ -0,0 +1 @@
+../../Task/OpenWebNet-password/Rust
\ No newline at end of file
diff --git a/Lang/Rust/P-Adic-numbers-basic b/Lang/Rust/P-Adic-numbers-basic
new file mode 120000
index 0000000000..2ccd34b2fd
--- /dev/null
+++ b/Lang/Rust/P-Adic-numbers-basic
@@ -0,0 +1 @@
+../../Task/P-Adic-numbers-basic/Rust
\ No newline at end of file
diff --git a/Lang/Rust/P-Adic-square-roots b/Lang/Rust/P-Adic-square-roots
new file mode 120000
index 0000000000..ed4fb995e0
--- /dev/null
+++ b/Lang/Rust/P-Adic-square-roots
@@ -0,0 +1 @@
+../../Task/P-Adic-square-roots/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Permutations-Derangements b/Lang/Rust/Permutations-Derangements
new file mode 120000
index 0000000000..9efa9a4159
--- /dev/null
+++ b/Lang/Rust/Permutations-Derangements
@@ -0,0 +1 @@
+../../Task/Permutations-Derangements/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Playfair-cipher b/Lang/Rust/Playfair-cipher
new file mode 120000
index 0000000000..f3e93df373
--- /dev/null
+++ b/Lang/Rust/Playfair-cipher
@@ -0,0 +1 @@
+../../Task/Playfair-cipher/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Polynomial-regression b/Lang/Rust/Polynomial-regression
new file mode 120000
index 0000000000..cdb9cdc8ff
--- /dev/null
+++ b/Lang/Rust/Polynomial-regression
@@ -0,0 +1 @@
+../../Task/Polynomial-regression/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Pseudo-random-numbers-Combined-recursive-generator-MRG32k3a b/Lang/Rust/Pseudo-random-numbers-Combined-recursive-generator-MRG32k3a
new file mode 120000
index 0000000000..a557952f5e
--- /dev/null
+++ b/Lang/Rust/Pseudo-random-numbers-Combined-recursive-generator-MRG32k3a
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-Combined-recursive-generator-MRG32k3a/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Pseudo-random-numbers-Middle-square-method b/Lang/Rust/Pseudo-random-numbers-Middle-square-method
new file mode 120000
index 0000000000..07d7dfdf71
--- /dev/null
+++ b/Lang/Rust/Pseudo-random-numbers-Middle-square-method
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-Middle-square-method/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Pseudo-random-numbers-Splitmix64 b/Lang/Rust/Pseudo-random-numbers-Splitmix64
new file mode 120000
index 0000000000..af868efefa
--- /dev/null
+++ b/Lang/Rust/Pseudo-random-numbers-Splitmix64
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-Splitmix64/Rust
\ No newline at end of file
diff --git a/Lang/Rust/QR-decomposition b/Lang/Rust/QR-decomposition
new file mode 120000
index 0000000000..b6ec08cee6
--- /dev/null
+++ b/Lang/Rust/QR-decomposition
@@ -0,0 +1 @@
+../../Task/QR-decomposition/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Quaternion-type b/Lang/Rust/Quaternion-type
deleted file mode 120000
index 92c25b946f..0000000000
--- a/Lang/Rust/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Ramanujan-primes-twins b/Lang/Rust/Ramanujan-primes-twins
new file mode 120000
index 0000000000..ec360cedbc
--- /dev/null
+++ b/Lang/Rust/Ramanujan-primes-twins
@@ -0,0 +1 @@
+../../Task/Ramanujan-primes-twins/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Rendezvous b/Lang/Rust/Rendezvous
new file mode 120000
index 0000000000..2ae4407138
--- /dev/null
+++ b/Lang/Rust/Rendezvous
@@ -0,0 +1 @@
+../../Task/Rendezvous/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Resistor-mesh b/Lang/Rust/Resistor-mesh
new file mode 120000
index 0000000000..245eca7f06
--- /dev/null
+++ b/Lang/Rust/Resistor-mesh
@@ -0,0 +1 @@
+../../Task/Resistor-mesh/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Sequence-smallest-number-with-exactly-n-divisors b/Lang/Rust/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Rust/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/Rust/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/Rust/Shoelace-formula-for-polygonal-area b/Lang/Rust/Shoelace-formula-for-polygonal-area
new file mode 120000
index 0000000000..4ce5ca075a
--- /dev/null
+++ b/Lang/Rust/Shoelace-formula-for-polygonal-area
@@ -0,0 +1 @@
+../../Task/Shoelace-formula-for-polygonal-area/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Singleton b/Lang/Rust/Singleton
new file mode 120000
index 0000000000..480988c162
--- /dev/null
+++ b/Lang/Rust/Singleton
@@ -0,0 +1 @@
+../../Task/Singleton/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Sokoban b/Lang/Rust/Sokoban
new file mode 120000
index 0000000000..57d1bc73b3
--- /dev/null
+++ b/Lang/Rust/Sokoban
@@ -0,0 +1 @@
+../../Task/Sokoban/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Solve-a-Holy-Knights-tour b/Lang/Rust/Solve-a-Holy-Knights-tour
new file mode 120000
index 0000000000..7d376bff89
--- /dev/null
+++ b/Lang/Rust/Solve-a-Holy-Knights-tour
@@ -0,0 +1 @@
+../../Task/Solve-a-Holy-Knights-tour/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Solve-a-Hopido-puzzle b/Lang/Rust/Solve-a-Hopido-puzzle
new file mode 120000
index 0000000000..13eae5b688
--- /dev/null
+++ b/Lang/Rust/Solve-a-Hopido-puzzle
@@ -0,0 +1 @@
+../../Task/Solve-a-Hopido-puzzle/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Solve-a-Numbrix-puzzle b/Lang/Rust/Solve-a-Numbrix-puzzle
new file mode 120000
index 0000000000..6da0fac9a0
--- /dev/null
+++ b/Lang/Rust/Solve-a-Numbrix-puzzle
@@ -0,0 +1 @@
+../../Task/Solve-a-Numbrix-puzzle/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Sorting-Algorithms-Circle-Sort b/Lang/Rust/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index 924c0eb5ac..0000000000
--- a/Lang/Rust/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Sorting-algorithms-Bead-sort b/Lang/Rust/Sorting-algorithms-Bead-sort
new file mode 120000
index 0000000000..1096740d47
--- /dev/null
+++ b/Lang/Rust/Sorting-algorithms-Bead-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Bead-sort/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Sorting-algorithms-Patience-sort b/Lang/Rust/Sorting-algorithms-Patience-sort
new file mode 120000
index 0000000000..98bfba78ce
--- /dev/null
+++ b/Lang/Rust/Sorting-algorithms-Patience-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Patience-sort/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Sorting-algorithms-Permutation-sort b/Lang/Rust/Sorting-algorithms-Permutation-sort
new file mode 120000
index 0000000000..0bbf7e172b
--- /dev/null
+++ b/Lang/Rust/Sorting-algorithms-Permutation-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Permutation-sort/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Sorting-algorithms-Strand-sort b/Lang/Rust/Sorting-algorithms-Strand-sort
new file mode 120000
index 0000000000..c01a273a80
--- /dev/null
+++ b/Lang/Rust/Sorting-algorithms-Strand-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Strand-sort/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Special-characters b/Lang/Rust/Special-characters
new file mode 120000
index 0000000000..7cb915367e
--- /dev/null
+++ b/Lang/Rust/Special-characters
@@ -0,0 +1 @@
+../../Task/Special-characters/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Stable-marriage-problem b/Lang/Rust/Stable-marriage-problem
new file mode 120000
index 0000000000..98e509ab20
--- /dev/null
+++ b/Lang/Rust/Stable-marriage-problem
@@ -0,0 +1 @@
+../../Task/Stable-marriage-problem/Rust
\ No newline at end of file
diff --git a/Lang/Rust/State-name-puzzle b/Lang/Rust/State-name-puzzle
new file mode 120000
index 0000000000..a88b598d4b
--- /dev/null
+++ b/Lang/Rust/State-name-puzzle
@@ -0,0 +1 @@
+../../Task/State-name-puzzle/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Steffensens-method b/Lang/Rust/Steffensens-method
new file mode 120000
index 0000000000..4aa426ad52
--- /dev/null
+++ b/Lang/Rust/Steffensens-method
@@ -0,0 +1 @@
+../../Task/Steffensens-method/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Stem-and-leaf-plot b/Lang/Rust/Stem-and-leaf-plot
new file mode 120000
index 0000000000..c5e2a0d27c
--- /dev/null
+++ b/Lang/Rust/Stem-and-leaf-plot
@@ -0,0 +1 @@
+../../Task/Stem-and-leaf-plot/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Stern-Brocot-sequence b/Lang/Rust/Stern-Brocot-sequence
new file mode 120000
index 0000000000..72080b645a
--- /dev/null
+++ b/Lang/Rust/Stern-Brocot-sequence
@@ -0,0 +1 @@
+../../Task/Stern-Brocot-sequence/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Strassens-algorithm b/Lang/Rust/Strassens-algorithm
new file mode 120000
index 0000000000..059089e819
--- /dev/null
+++ b/Lang/Rust/Strassens-algorithm
@@ -0,0 +1 @@
+../../Task/Strassens-algorithm/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Stream-merge b/Lang/Rust/Stream-merge
new file mode 120000
index 0000000000..101f42c85a
--- /dev/null
+++ b/Lang/Rust/Stream-merge
@@ -0,0 +1 @@
+../../Task/Stream-merge/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Strip-block-comments b/Lang/Rust/Strip-block-comments
new file mode 120000
index 0000000000..c9f77902d0
--- /dev/null
+++ b/Lang/Rust/Strip-block-comments
@@ -0,0 +1 @@
+../../Task/Strip-block-comments/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Strip-control-codes-and-extended-characters-from-a-string b/Lang/Rust/Strip-control-codes-and-extended-characters-from-a-string
new file mode 120000
index 0000000000..56a1876479
--- /dev/null
+++ b/Lang/Rust/Strip-control-codes-and-extended-characters-from-a-string
@@ -0,0 +1 @@
+../../Task/Strip-control-codes-and-extended-characters-from-a-string/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Subleq b/Lang/Rust/Subleq
new file mode 120000
index 0000000000..cc28544f34
--- /dev/null
+++ b/Lang/Rust/Subleq
@@ -0,0 +1 @@
+../../Task/Subleq/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Substitution-cipher b/Lang/Rust/Substitution-cipher
new file mode 120000
index 0000000000..aa3ad1011d
--- /dev/null
+++ b/Lang/Rust/Substitution-cipher
@@ -0,0 +1 @@
+../../Task/Substitution-cipher/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Sudan-function b/Lang/Rust/Sudan-function
new file mode 120000
index 0000000000..29cdeee99f
--- /dev/null
+++ b/Lang/Rust/Sudan-function
@@ -0,0 +1 @@
+../../Task/Sudan-function/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Suffixation-of-decimal-numbers b/Lang/Rust/Suffixation-of-decimal-numbers
new file mode 120000
index 0000000000..2428a135a4
--- /dev/null
+++ b/Lang/Rust/Suffixation-of-decimal-numbers
@@ -0,0 +1 @@
+../../Task/Suffixation-of-decimal-numbers/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Summarize-and-say-sequence b/Lang/Rust/Summarize-and-say-sequence
new file mode 120000
index 0000000000..030276987c
--- /dev/null
+++ b/Lang/Rust/Summarize-and-say-sequence
@@ -0,0 +1 @@
+../../Task/Summarize-and-say-sequence/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Superpermutation-minimisation b/Lang/Rust/Superpermutation-minimisation
new file mode 120000
index 0000000000..8b214e27cd
--- /dev/null
+++ b/Lang/Rust/Superpermutation-minimisation
@@ -0,0 +1 @@
+../../Task/Superpermutation-minimisation/Rust
\ No newline at end of file
diff --git a/Lang/Rust/The-Name-Game b/Lang/Rust/The-Name-Game
new file mode 120000
index 0000000000..92835f00de
--- /dev/null
+++ b/Lang/Rust/The-Name-Game
@@ -0,0 +1 @@
+../../Task/The-Name-Game/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Tonelli-Shanks-algorithm b/Lang/Rust/Tonelli-Shanks-algorithm
new file mode 120000
index 0000000000..b90bd71718
--- /dev/null
+++ b/Lang/Rust/Tonelli-Shanks-algorithm
@@ -0,0 +1 @@
+../../Task/Tonelli-Shanks-algorithm/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Tree-datastructures b/Lang/Rust/Tree-datastructures
new file mode 120000
index 0000000000..37b567712c
--- /dev/null
+++ b/Lang/Rust/Tree-datastructures
@@ -0,0 +1 @@
+../../Task/Tree-datastructures/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Tropical-algebra-overloading b/Lang/Rust/Tropical-algebra-overloading
new file mode 120000
index 0000000000..271296f0b3
--- /dev/null
+++ b/Lang/Rust/Tropical-algebra-overloading
@@ -0,0 +1 @@
+../../Task/Tropical-algebra-overloading/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Twos-complement b/Lang/Rust/Twos-complement
new file mode 120000
index 0000000000..086c8719d1
--- /dev/null
+++ b/Lang/Rust/Twos-complement
@@ -0,0 +1 @@
+../../Task/Twos-complement/Rust
\ No newline at end of file
diff --git a/Lang/Rust/UPC b/Lang/Rust/UPC
new file mode 120000
index 0000000000..775faf96be
--- /dev/null
+++ b/Lang/Rust/UPC
@@ -0,0 +1 @@
+../../Task/UPC/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Ukkonen-s-suffix-tree-construction b/Lang/Rust/Ukkonen-s-suffix-tree-construction
new file mode 120000
index 0000000000..684e412fed
--- /dev/null
+++ b/Lang/Rust/Ukkonen-s-suffix-tree-construction
@@ -0,0 +1 @@
+../../Task/Ukkonen-s-suffix-tree-construction/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Verhoeff-algorithm b/Lang/Rust/Verhoeff-algorithm
new file mode 120000
index 0000000000..fd5322e5ec
--- /dev/null
+++ b/Lang/Rust/Verhoeff-algorithm
@@ -0,0 +1 @@
+../../Task/Verhoeff-algorithm/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Vogels-approximation-method b/Lang/Rust/Vogels-approximation-method
new file mode 120000
index 0000000000..377b0aef0a
--- /dev/null
+++ b/Lang/Rust/Vogels-approximation-method
@@ -0,0 +1 @@
+../../Task/Vogels-approximation-method/Rust
\ No newline at end of file
diff --git a/Lang/Rust/War-card-game b/Lang/Rust/War-card-game
new file mode 120000
index 0000000000..bc45c42250
--- /dev/null
+++ b/Lang/Rust/War-card-game
@@ -0,0 +1 @@
+../../Task/War-card-game/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Word-ladder b/Lang/Rust/Word-ladder
new file mode 120000
index 0000000000..9973e5c323
--- /dev/null
+++ b/Lang/Rust/Word-ladder
@@ -0,0 +1 @@
+../../Task/Word-ladder/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Word-search b/Lang/Rust/Word-search
new file mode 120000
index 0000000000..737b35c0c7
--- /dev/null
+++ b/Lang/Rust/Word-search
@@ -0,0 +1 @@
+../../Task/Word-search/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Word-wheel b/Lang/Rust/Word-wheel
new file mode 120000
index 0000000000..3c8a9835e5
--- /dev/null
+++ b/Lang/Rust/Word-wheel
@@ -0,0 +1 @@
+../../Task/Word-wheel/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Wordiff b/Lang/Rust/Wordiff
new file mode 120000
index 0000000000..44e42a760a
--- /dev/null
+++ b/Lang/Rust/Wordiff
@@ -0,0 +1 @@
+../../Task/Wordiff/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Xiaolin-Wus-line-algorithm b/Lang/Rust/Xiaolin-Wus-line-algorithm
new file mode 120000
index 0000000000..68352a1cb5
--- /dev/null
+++ b/Lang/Rust/Xiaolin-Wus-line-algorithm
@@ -0,0 +1 @@
+../../Task/Xiaolin-Wus-line-algorithm/Rust
\ No newline at end of file
diff --git a/Lang/Rust/Zebra-puzzle b/Lang/Rust/Zebra-puzzle
new file mode 120000
index 0000000000..2b9c2729f7
--- /dev/null
+++ b/Lang/Rust/Zebra-puzzle
@@ -0,0 +1 @@
+../../Task/Zebra-puzzle/Rust
\ No newline at end of file
diff --git a/Lang/Rye/00-LANG.txt b/Lang/Rye/00-LANG.txt
new file mode 100644
index 0000000000..10b016e264
--- /dev/null
+++ b/Lang/Rye/00-LANG.txt
@@ -0,0 +1,11 @@
+{{stub}}{{language|rye}}
+Rye is a flexible, high-level programming language designed for predictable state management. Rye takes ideas from Rebol, and adds few from Factor, Linux shell, and Go. Written in Go, Rye doubles as a scripting companion for Go programs. Go's libraries integrate seamlessly, and Rye can be embedded as a scripting or config language for Go programs.
+
+As a high-level language, Rye explores bridging coding and user interfaces. Its interactive console features syntax highlighting, history, tab completion, and tools to explore the language and environment you’re crafting.
+
+==Todo==
+[https://rosettacode.org/wiki/Tasks_not_implemented_in_Rye Tasks not implemented in Rye]
+
+==Links==
+*[https://ryelang.org/ Homepage]
+*[https://github.com/refaktor/rye Github repository]
\ No newline at end of file
diff --git a/Lang/Rye/00-META.yaml b/Lang/Rye/00-META.yaml
new file mode 100644
index 0000000000..c4fbe956c0
--- /dev/null
+++ b/Lang/Rye/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Rye
diff --git a/Lang/Rye/100-doors b/Lang/Rye/100-doors
new file mode 120000
index 0000000000..438aa2dd57
--- /dev/null
+++ b/Lang/Rye/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/Rye
\ No newline at end of file
diff --git a/Lang/Rye/99-bottles-of-beer b/Lang/Rye/99-bottles-of-beer
new file mode 120000
index 0000000000..bd33c6e283
--- /dev/null
+++ b/Lang/Rye/99-bottles-of-beer
@@ -0,0 +1 @@
+../../Task/99-bottles-of-beer/Rye
\ No newline at end of file
diff --git a/Lang/Rye/A+B b/Lang/Rye/A+B
new file mode 120000
index 0000000000..cd82f2f9d7
--- /dev/null
+++ b/Lang/Rye/A+B
@@ -0,0 +1 @@
+../../Task/A+B/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Arithmetic-Integer b/Lang/Rye/Arithmetic-Integer
new file mode 120000
index 0000000000..3854f98ef8
--- /dev/null
+++ b/Lang/Rye/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Array-concatenation b/Lang/Rye/Array-concatenation
new file mode 120000
index 0000000000..e06de8357b
--- /dev/null
+++ b/Lang/Rye/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Array-length b/Lang/Rye/Array-length
new file mode 120000
index 0000000000..f3ddf845d5
--- /dev/null
+++ b/Lang/Rye/Array-length
@@ -0,0 +1 @@
+../../Task/Array-length/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Arrays b/Lang/Rye/Arrays
new file mode 120000
index 0000000000..0051f3551e
--- /dev/null
+++ b/Lang/Rye/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Assertions b/Lang/Rye/Assertions
new file mode 120000
index 0000000000..55dc6c4a1c
--- /dev/null
+++ b/Lang/Rye/Assertions
@@ -0,0 +1 @@
+../../Task/Assertions/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Associative-array-Creation b/Lang/Rye/Associative-array-Creation
new file mode 120000
index 0000000000..6d8b394caa
--- /dev/null
+++ b/Lang/Rye/Associative-array-Creation
@@ -0,0 +1 @@
+../../Task/Associative-array-Creation/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Catamorphism b/Lang/Rye/Catamorphism
new file mode 120000
index 0000000000..1cc0f4cd16
--- /dev/null
+++ b/Lang/Rye/Catamorphism
@@ -0,0 +1 @@
+../../Task/Catamorphism/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Check-that-file-exists b/Lang/Rye/Check-that-file-exists
new file mode 120000
index 0000000000..0f1689d415
--- /dev/null
+++ b/Lang/Rye/Check-that-file-exists
@@ -0,0 +1 @@
+../../Task/Check-that-file-exists/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Collections b/Lang/Rye/Collections
new file mode 120000
index 0000000000..8619dddf36
--- /dev/null
+++ b/Lang/Rye/Collections
@@ -0,0 +1 @@
+../../Task/Collections/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Compare-length-of-two-strings b/Lang/Rye/Compare-length-of-two-strings
new file mode 120000
index 0000000000..3ee03067fd
--- /dev/null
+++ b/Lang/Rye/Compare-length-of-two-strings
@@ -0,0 +1 @@
+../../Task/Compare-length-of-two-strings/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Copy-a-string b/Lang/Rye/Copy-a-string
new file mode 120000
index 0000000000..5130e809be
--- /dev/null
+++ b/Lang/Rye/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Create-a-file b/Lang/Rye/Create-a-file
new file mode 120000
index 0000000000..933dfda3ec
--- /dev/null
+++ b/Lang/Rye/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/Rye
\ No newline at end of file
diff --git a/Lang/Rye/DNS-query b/Lang/Rye/DNS-query
new file mode 120000
index 0000000000..25d8db99dd
--- /dev/null
+++ b/Lang/Rye/DNS-query
@@ -0,0 +1 @@
+../../Task/DNS-query/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Date-format b/Lang/Rye/Date-format
new file mode 120000
index 0000000000..3a4d47e12d
--- /dev/null
+++ b/Lang/Rye/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Date-manipulation b/Lang/Rye/Date-manipulation
new file mode 120000
index 0000000000..aae44dde34
--- /dev/null
+++ b/Lang/Rye/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Day-of-the-week b/Lang/Rye/Day-of-the-week
new file mode 120000
index 0000000000..39e63de9c9
--- /dev/null
+++ b/Lang/Rye/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Delete-a-file b/Lang/Rye/Delete-a-file
new file mode 120000
index 0000000000..9eea0e6587
--- /dev/null
+++ b/Lang/Rye/Delete-a-file
@@ -0,0 +1 @@
+../../Task/Delete-a-file/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Detect-division-by-zero b/Lang/Rye/Detect-division-by-zero
new file mode 120000
index 0000000000..f063a804c3
--- /dev/null
+++ b/Lang/Rye/Detect-division-by-zero
@@ -0,0 +1 @@
+../../Task/Detect-division-by-zero/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Determine-if-a-string-is-numeric b/Lang/Rye/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..921464be9b
--- /dev/null
+++ b/Lang/Rye/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Dot-product b/Lang/Rye/Dot-product
new file mode 120000
index 0000000000..ae39c4baea
--- /dev/null
+++ b/Lang/Rye/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Empty-string b/Lang/Rye/Empty-string
new file mode 120000
index 0000000000..f9e83f3c4d
--- /dev/null
+++ b/Lang/Rye/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Environment-variables b/Lang/Rye/Environment-variables
new file mode 120000
index 0000000000..61b0fc4a40
--- /dev/null
+++ b/Lang/Rye/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Even-or-odd b/Lang/Rye/Even-or-odd
new file mode 120000
index 0000000000..8e627fbc05
--- /dev/null
+++ b/Lang/Rye/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Exceptions b/Lang/Rye/Exceptions
new file mode 120000
index 0000000000..98c5a1f0b9
--- /dev/null
+++ b/Lang/Rye/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Execute-a-system-command b/Lang/Rye/Execute-a-system-command
new file mode 120000
index 0000000000..6ef49fa4fa
--- /dev/null
+++ b/Lang/Rye/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/Rye
\ No newline at end of file
diff --git a/Lang/Rye/File-input-output b/Lang/Rye/File-input-output
new file mode 120000
index 0000000000..92a41d1ae9
--- /dev/null
+++ b/Lang/Rye/File-input-output
@@ -0,0 +1 @@
+../../Task/File-input-output/Rye
\ No newline at end of file
diff --git a/Lang/Rye/File-size b/Lang/Rye/File-size
new file mode 120000
index 0000000000..434016471c
--- /dev/null
+++ b/Lang/Rye/File-size
@@ -0,0 +1 @@
+../../Task/File-size/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Filter b/Lang/Rye/Filter
new file mode 120000
index 0000000000..be25d82950
--- /dev/null
+++ b/Lang/Rye/Filter
@@ -0,0 +1 @@
+../../Task/Filter/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Function-definition b/Lang/Rye/Function-definition
new file mode 120000
index 0000000000..aacf81b6b4
--- /dev/null
+++ b/Lang/Rye/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Get-system-command-output b/Lang/Rye/Get-system-command-output
new file mode 120000
index 0000000000..0faad90e64
--- /dev/null
+++ b/Lang/Rye/Get-system-command-output
@@ -0,0 +1 @@
+../../Task/Get-system-command-output/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Globally-replace-text-in-several-files b/Lang/Rye/Globally-replace-text-in-several-files
new file mode 120000
index 0000000000..3bc1b5796d
--- /dev/null
+++ b/Lang/Rye/Globally-replace-text-in-several-files
@@ -0,0 +1 @@
+../../Task/Globally-replace-text-in-several-files/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Greatest-element-of-a-list b/Lang/Rye/Greatest-element-of-a-list
new file mode 120000
index 0000000000..3f8290710b
--- /dev/null
+++ b/Lang/Rye/Greatest-element-of-a-list
@@ -0,0 +1 @@
+../../Task/Greatest-element-of-a-list/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Guess-the-number b/Lang/Rye/Guess-the-number
new file mode 120000
index 0000000000..3554ecb000
--- /dev/null
+++ b/Lang/Rye/Guess-the-number
@@ -0,0 +1 @@
+../../Task/Guess-the-number/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Hello-world-Graphical b/Lang/Rye/Hello-world-Graphical
new file mode 120000
index 0000000000..8ba960fd9f
--- /dev/null
+++ b/Lang/Rye/Hello-world-Graphical
@@ -0,0 +1 @@
+../../Task/Hello-world-Graphical/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Hello-world-Newbie b/Lang/Rye/Hello-world-Newbie
new file mode 120000
index 0000000000..404d5bf799
--- /dev/null
+++ b/Lang/Rye/Hello-world-Newbie
@@ -0,0 +1 @@
+../../Task/Hello-world-Newbie/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Hello-world-Newline-omission b/Lang/Rye/Hello-world-Newline-omission
new file mode 120000
index 0000000000..8978311a91
--- /dev/null
+++ b/Lang/Rye/Hello-world-Newline-omission
@@ -0,0 +1 @@
+../../Task/Hello-world-Newline-omission/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Hello-world-Text b/Lang/Rye/Hello-world-Text
new file mode 120000
index 0000000000..527e3f5d07
--- /dev/null
+++ b/Lang/Rye/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Hello-world-Web-server b/Lang/Rye/Hello-world-Web-server
new file mode 120000
index 0000000000..3eb3a08cd7
--- /dev/null
+++ b/Lang/Rye/Hello-world-Web-server
@@ -0,0 +1 @@
+../../Task/Hello-world-Web-server/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Hostname b/Lang/Rye/Hostname
new file mode 120000
index 0000000000..794d1a04af
--- /dev/null
+++ b/Lang/Rye/Hostname
@@ -0,0 +1 @@
+../../Task/Hostname/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Include-a-file b/Lang/Rye/Include-a-file
new file mode 120000
index 0000000000..075626de41
--- /dev/null
+++ b/Lang/Rye/Include-a-file
@@ -0,0 +1 @@
+../../Task/Include-a-file/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Increment-a-numerical-string b/Lang/Rye/Increment-a-numerical-string
new file mode 120000
index 0000000000..a92efbbcc7
--- /dev/null
+++ b/Lang/Rye/Increment-a-numerical-string
@@ -0,0 +1 @@
+../../Task/Increment-a-numerical-string/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Integer-comparison b/Lang/Rye/Integer-comparison
new file mode 120000
index 0000000000..b464263441
--- /dev/null
+++ b/Lang/Rye/Integer-comparison
@@ -0,0 +1 @@
+../../Task/Integer-comparison/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Jewels-and-stones b/Lang/Rye/Jewels-and-stones
new file mode 120000
index 0000000000..2e39bc84a7
--- /dev/null
+++ b/Lang/Rye/Jewels-and-stones
@@ -0,0 +1 @@
+../../Task/Jewels-and-stones/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Loops-Do-while b/Lang/Rye/Loops-Do-while
new file mode 120000
index 0000000000..fb7d5e8d59
--- /dev/null
+++ b/Lang/Rye/Loops-Do-while
@@ -0,0 +1 @@
+../../Task/Loops-Do-while/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Loops-For b/Lang/Rye/Loops-For
new file mode 120000
index 0000000000..3149a28871
--- /dev/null
+++ b/Lang/Rye/Loops-For
@@ -0,0 +1 @@
+../../Task/Loops-For/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Loops-Foreach b/Lang/Rye/Loops-Foreach
new file mode 120000
index 0000000000..5feb6cdb06
--- /dev/null
+++ b/Lang/Rye/Loops-Foreach
@@ -0,0 +1 @@
+../../Task/Loops-Foreach/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Loops-Infinite b/Lang/Rye/Loops-Infinite
new file mode 120000
index 0000000000..7267542117
--- /dev/null
+++ b/Lang/Rye/Loops-Infinite
@@ -0,0 +1 @@
+../../Task/Loops-Infinite/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Loops-While b/Lang/Rye/Loops-While
new file mode 120000
index 0000000000..376326123c
--- /dev/null
+++ b/Lang/Rye/Loops-While
@@ -0,0 +1 @@
+../../Task/Loops-While/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Nth b/Lang/Rye/Nth
new file mode 120000
index 0000000000..5490f22f35
--- /dev/null
+++ b/Lang/Rye/Nth
@@ -0,0 +1 @@
+../../Task/Nth/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Operator-precedence b/Lang/Rye/Operator-precedence
new file mode 120000
index 0000000000..43eb0d7842
--- /dev/null
+++ b/Lang/Rye/Operator-precedence
@@ -0,0 +1 @@
+../../Task/Operator-precedence/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Ordered-words b/Lang/Rye/Ordered-words
new file mode 120000
index 0000000000..c1d477486c
--- /dev/null
+++ b/Lang/Rye/Ordered-words
@@ -0,0 +1 @@
+../../Task/Ordered-words/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Partial-function-application b/Lang/Rye/Partial-function-application
new file mode 120000
index 0000000000..ae25414b27
--- /dev/null
+++ b/Lang/Rye/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/Rye
\ No newline at end of file
diff --git a/Lang/Rye/RPG-attributes-generator b/Lang/Rye/RPG-attributes-generator
new file mode 120000
index 0000000000..fa9afbb45f
--- /dev/null
+++ b/Lang/Rye/RPG-attributes-generator
@@ -0,0 +1 @@
+../../Task/RPG-attributes-generator/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Read-entire-file b/Lang/Rye/Read-entire-file
new file mode 120000
index 0000000000..345a900f2b
--- /dev/null
+++ b/Lang/Rye/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Remove-duplicate-elements b/Lang/Rye/Remove-duplicate-elements
new file mode 120000
index 0000000000..c6a95084fa
--- /dev/null
+++ b/Lang/Rye/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Rename-a-file b/Lang/Rye/Rename-a-file
new file mode 120000
index 0000000000..3dce3fa2f0
--- /dev/null
+++ b/Lang/Rye/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Return-multiple-values b/Lang/Rye/Return-multiple-values
new file mode 120000
index 0000000000..9f9f2d8ad1
--- /dev/null
+++ b/Lang/Rye/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Reverse-a-string b/Lang/Rye/Reverse-a-string
new file mode 120000
index 0000000000..71a229a461
--- /dev/null
+++ b/Lang/Rye/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Sleep b/Lang/Rye/Sleep
new file mode 120000
index 0000000000..caf7749aa7
--- /dev/null
+++ b/Lang/Rye/Sleep
@@ -0,0 +1 @@
+../../Task/Sleep/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Sort-an-integer-array b/Lang/Rye/Sort-an-integer-array
new file mode 120000
index 0000000000..8cac11dd37
--- /dev/null
+++ b/Lang/Rye/Sort-an-integer-array
@@ -0,0 +1 @@
+../../Task/Sort-an-integer-array/Rye
\ No newline at end of file
diff --git a/Lang/Rye/String-append b/Lang/Rye/String-append
new file mode 120000
index 0000000000..7184f2004b
--- /dev/null
+++ b/Lang/Rye/String-append
@@ -0,0 +1 @@
+../../Task/String-append/Rye
\ No newline at end of file
diff --git a/Lang/Rye/String-case b/Lang/Rye/String-case
new file mode 120000
index 0000000000..d596578a64
--- /dev/null
+++ b/Lang/Rye/String-case
@@ -0,0 +1 @@
+../../Task/String-case/Rye
\ No newline at end of file
diff --git a/Lang/Rye/String-concatenation b/Lang/Rye/String-concatenation
new file mode 120000
index 0000000000..7a56a81ca6
--- /dev/null
+++ b/Lang/Rye/String-concatenation
@@ -0,0 +1 @@
+../../Task/String-concatenation/Rye
\ No newline at end of file
diff --git a/Lang/Rye/String-interpolation-included- b/Lang/Rye/String-interpolation-included-
new file mode 120000
index 0000000000..8918c4450c
--- /dev/null
+++ b/Lang/Rye/String-interpolation-included-
@@ -0,0 +1 @@
+../../Task/String-interpolation-included-/Rye
\ No newline at end of file
diff --git a/Lang/Rye/String-length b/Lang/Rye/String-length
new file mode 120000
index 0000000000..bf2836e136
--- /dev/null
+++ b/Lang/Rye/String-length
@@ -0,0 +1 @@
+../../Task/String-length/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Strip-a-set-of-characters-from-a-string b/Lang/Rye/Strip-a-set-of-characters-from-a-string
new file mode 120000
index 0000000000..a8703fda98
--- /dev/null
+++ b/Lang/Rye/Strip-a-set-of-characters-from-a-string
@@ -0,0 +1 @@
+../../Task/Strip-a-set-of-characters-from-a-string/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Strip-whitespace-from-a-string-Top-and-tail b/Lang/Rye/Strip-whitespace-from-a-string-Top-and-tail
new file mode 120000
index 0000000000..d53cb2cf57
--- /dev/null
+++ b/Lang/Rye/Strip-whitespace-from-a-string-Top-and-tail
@@ -0,0 +1 @@
+../../Task/Strip-whitespace-from-a-string-Top-and-tail/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Substring-Top-and-tail b/Lang/Rye/Substring-Top-and-tail
new file mode 120000
index 0000000000..1cf4555801
--- /dev/null
+++ b/Lang/Rye/Substring-Top-and-tail
@@ -0,0 +1 @@
+../../Task/Substring-Top-and-tail/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Sum-and-product-of-an-array b/Lang/Rye/Sum-and-product-of-an-array
new file mode 120000
index 0000000000..95d8d590bc
--- /dev/null
+++ b/Lang/Rye/Sum-and-product-of-an-array
@@ -0,0 +1 @@
+../../Task/Sum-and-product-of-an-array/Rye
\ No newline at end of file
diff --git a/Lang/Rye/System-time b/Lang/Rye/System-time
new file mode 120000
index 0000000000..14391ca376
--- /dev/null
+++ b/Lang/Rye/System-time
@@ -0,0 +1 @@
+../../Task/System-time/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Tokenize-a-string b/Lang/Rye/Tokenize-a-string
new file mode 120000
index 0000000000..404261ec01
--- /dev/null
+++ b/Lang/Rye/Tokenize-a-string
@@ -0,0 +1 @@
+../../Task/Tokenize-a-string/Rye
\ No newline at end of file
diff --git a/Lang/Rye/User-input-Text b/Lang/Rye/User-input-Text
new file mode 120000
index 0000000000..8cd3ad9295
--- /dev/null
+++ b/Lang/Rye/User-input-Text
@@ -0,0 +1 @@
+../../Task/User-input-Text/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Variables b/Lang/Rye/Variables
new file mode 120000
index 0000000000..d50ac89ca0
--- /dev/null
+++ b/Lang/Rye/Variables
@@ -0,0 +1 @@
+../../Task/Variables/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Window-creation b/Lang/Rye/Window-creation
new file mode 120000
index 0000000000..334b72f881
--- /dev/null
+++ b/Lang/Rye/Window-creation
@@ -0,0 +1 @@
+../../Task/Window-creation/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Write-entire-file b/Lang/Rye/Write-entire-file
new file mode 120000
index 0000000000..7a14255070
--- /dev/null
+++ b/Lang/Rye/Write-entire-file
@@ -0,0 +1 @@
+../../Task/Write-entire-file/Rye
\ No newline at end of file
diff --git a/Lang/Rye/Zero-to-the-zero-power b/Lang/Rye/Zero-to-the-zero-power
new file mode 120000
index 0000000000..2c54da2a61
--- /dev/null
+++ b/Lang/Rye/Zero-to-the-zero-power
@@ -0,0 +1 @@
+../../Task/Zero-to-the-zero-power/Rye
\ No newline at end of file
diff --git a/Lang/S-BASIC/00-LANG.txt b/Lang/S-BASIC/00-LANG.txt
index 7e71ba9085..cb4f4a5c14 100644
--- a/Lang/S-BASIC/00-LANG.txt
+++ b/Lang/S-BASIC/00-LANG.txt
@@ -1,4 +1,5 @@
{{stub}}{{language|S-BASIC}}
+{{implementation|BASIC}}
S-BASIC (the S stands for "structured") was a native-code
compiler for an ALGOL-like dialect of the BASIC programming
language, and ran on 8-bit microcomputers using the Z80 CPU and
diff --git a/Lang/S-BASIC/Additive-primes b/Lang/S-BASIC/Additive-primes
new file mode 120000
index 0000000000..b90d39a158
--- /dev/null
+++ b/Lang/S-BASIC/Additive-primes
@@ -0,0 +1 @@
+../../Task/Additive-primes/S-BASIC
\ No newline at end of file
diff --git a/Lang/S-BASIC/Address-of-a-variable b/Lang/S-BASIC/Address-of-a-variable
new file mode 120000
index 0000000000..e42c14ed1b
--- /dev/null
+++ b/Lang/S-BASIC/Address-of-a-variable
@@ -0,0 +1 @@
+../../Task/Address-of-a-variable/S-BASIC
\ No newline at end of file
diff --git a/Lang/S-BASIC/Case-sensitivity-of-identifiers b/Lang/S-BASIC/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..cf49bbdc11
--- /dev/null
+++ b/Lang/S-BASIC/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/S-BASIC
\ No newline at end of file
diff --git a/Lang/S-BASIC/Character-codes b/Lang/S-BASIC/Character-codes
new file mode 120000
index 0000000000..f408189f94
--- /dev/null
+++ b/Lang/S-BASIC/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/S-BASIC
\ No newline at end of file
diff --git a/Lang/S-BASIC/Copy-a-string b/Lang/S-BASIC/Copy-a-string
new file mode 120000
index 0000000000..cf54fdae2e
--- /dev/null
+++ b/Lang/S-BASIC/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/S-BASIC
\ No newline at end of file
diff --git a/Lang/S-BASIC/Determine-if-a-string-has-all-unique-characters b/Lang/S-BASIC/Determine-if-a-string-has-all-unique-characters
new file mode 120000
index 0000000000..f2a5cead6b
--- /dev/null
+++ b/Lang/S-BASIC/Determine-if-a-string-has-all-unique-characters
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-has-all-unique-characters/S-BASIC
\ No newline at end of file
diff --git a/Lang/S-BASIC/Factorial b/Lang/S-BASIC/Factorial
new file mode 120000
index 0000000000..3c6e9121ba
--- /dev/null
+++ b/Lang/S-BASIC/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/S-BASIC
\ No newline at end of file
diff --git a/Lang/S-BASIC/Golden-ratio-Convergence b/Lang/S-BASIC/Golden-ratio-Convergence
new file mode 120000
index 0000000000..4ad7ad99cc
--- /dev/null
+++ b/Lang/S-BASIC/Golden-ratio-Convergence
@@ -0,0 +1 @@
+../../Task/Golden-ratio-Convergence/S-BASIC
\ No newline at end of file
diff --git a/Lang/S-BASIC/Harmonic-series b/Lang/S-BASIC/Harmonic-series
new file mode 120000
index 0000000000..32781a4eaa
--- /dev/null
+++ b/Lang/S-BASIC/Harmonic-series
@@ -0,0 +1 @@
+../../Task/Harmonic-series/S-BASIC
\ No newline at end of file
diff --git a/Lang/S-BASIC/Hello-world-Line-printer b/Lang/S-BASIC/Hello-world-Line-printer
new file mode 120000
index 0000000000..c091e2e975
--- /dev/null
+++ b/Lang/S-BASIC/Hello-world-Line-printer
@@ -0,0 +1 @@
+../../Task/Hello-world-Line-printer/S-BASIC
\ No newline at end of file
diff --git a/Lang/S-BASIC/Integer-overflow b/Lang/S-BASIC/Integer-overflow
new file mode 120000
index 0000000000..60893ea23b
--- /dev/null
+++ b/Lang/S-BASIC/Integer-overflow
@@ -0,0 +1 @@
+../../Task/Integer-overflow/S-BASIC
\ No newline at end of file
diff --git a/Lang/S-BASIC/Loops-Break b/Lang/S-BASIC/Loops-Break
new file mode 120000
index 0000000000..4109f93543
--- /dev/null
+++ b/Lang/S-BASIC/Loops-Break
@@ -0,0 +1 @@
+../../Task/Loops-Break/S-BASIC
\ No newline at end of file
diff --git a/Lang/S-BASIC/Loops-Do-while b/Lang/S-BASIC/Loops-Do-while
new file mode 120000
index 0000000000..026ddb5c46
--- /dev/null
+++ b/Lang/S-BASIC/Loops-Do-while
@@ -0,0 +1 @@
+../../Task/Loops-Do-while/S-BASIC
\ No newline at end of file
diff --git a/Lang/S-BASIC/Loops-Increment-loop-index-within-loop-body b/Lang/S-BASIC/Loops-Increment-loop-index-within-loop-body
new file mode 120000
index 0000000000..0b105df636
--- /dev/null
+++ b/Lang/S-BASIC/Loops-Increment-loop-index-within-loop-body
@@ -0,0 +1 @@
+../../Task/Loops-Increment-loop-index-within-loop-body/S-BASIC
\ No newline at end of file
diff --git a/Lang/S-BASIC/Loops-While b/Lang/S-BASIC/Loops-While
new file mode 120000
index 0000000000..cf0317c07f
--- /dev/null
+++ b/Lang/S-BASIC/Loops-While
@@ -0,0 +1 @@
+../../Task/Loops-While/S-BASIC
\ No newline at end of file
diff --git a/Lang/S-BASIC/Real-constants-and-functions b/Lang/S-BASIC/Real-constants-and-functions
new file mode 120000
index 0000000000..dd7abd08ca
--- /dev/null
+++ b/Lang/S-BASIC/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/S-BASIC
\ No newline at end of file
diff --git a/Lang/S-BASIC/Rename-a-file b/Lang/S-BASIC/Rename-a-file
new file mode 120000
index 0000000000..918d2d7e4f
--- /dev/null
+++ b/Lang/S-BASIC/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/S-BASIC
\ No newline at end of file
diff --git a/Lang/S-BASIC/Sort-an-integer-array b/Lang/S-BASIC/Sort-an-integer-array
new file mode 120000
index 0000000000..ee8b6cb035
--- /dev/null
+++ b/Lang/S-BASIC/Sort-an-integer-array
@@ -0,0 +1 @@
+../../Task/Sort-an-integer-array/S-BASIC
\ No newline at end of file
diff --git a/Lang/S-BASIC/Sorting-algorithms-Insertion-sort b/Lang/S-BASIC/Sorting-algorithms-Insertion-sort
new file mode 120000
index 0000000000..60391d0e75
--- /dev/null
+++ b/Lang/S-BASIC/Sorting-algorithms-Insertion-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Insertion-sort/S-BASIC
\ No newline at end of file
diff --git a/Lang/S-BASIC/Square-free-integers b/Lang/S-BASIC/Square-free-integers
new file mode 120000
index 0000000000..d6296e2f26
--- /dev/null
+++ b/Lang/S-BASIC/Square-free-integers
@@ -0,0 +1 @@
+../../Task/Square-free-integers/S-BASIC
\ No newline at end of file
diff --git a/Lang/S-BASIC/String-interpolation-included- b/Lang/S-BASIC/String-interpolation-included-
new file mode 120000
index 0000000000..c71873859b
--- /dev/null
+++ b/Lang/S-BASIC/String-interpolation-included-
@@ -0,0 +1 @@
+../../Task/String-interpolation-included-/S-BASIC
\ No newline at end of file
diff --git a/Lang/S-BASIC/Strip-whitespace-from-a-string-Top-and-tail b/Lang/S-BASIC/Strip-whitespace-from-a-string-Top-and-tail
new file mode 120000
index 0000000000..e52fe4d75d
--- /dev/null
+++ b/Lang/S-BASIC/Strip-whitespace-from-a-string-Top-and-tail
@@ -0,0 +1 @@
+../../Task/Strip-whitespace-from-a-string-Top-and-tail/S-BASIC
\ No newline at end of file
diff --git a/Lang/S-BASIC/Sum-of-a-series b/Lang/S-BASIC/Sum-of-a-series
new file mode 120000
index 0000000000..1396d4d958
--- /dev/null
+++ b/Lang/S-BASIC/Sum-of-a-series
@@ -0,0 +1 @@
+../../Task/Sum-of-a-series/S-BASIC
\ No newline at end of file
diff --git a/Lang/S-BASIC/Variables b/Lang/S-BASIC/Variables
new file mode 120000
index 0000000000..09187048df
--- /dev/null
+++ b/Lang/S-BASIC/Variables
@@ -0,0 +1 @@
+../../Task/Variables/S-BASIC
\ No newline at end of file
diff --git a/Lang/S-BASIC/Zero-to-the-zero-power b/Lang/S-BASIC/Zero-to-the-zero-power
new file mode 120000
index 0000000000..e660e2efea
--- /dev/null
+++ b/Lang/S-BASIC/Zero-to-the-zero-power
@@ -0,0 +1 @@
+../../Task/Zero-to-the-zero-power/S-BASIC
\ No newline at end of file
diff --git a/Lang/SETL/Arbitrary-precision-integers-included- b/Lang/SETL/Arbitrary-precision-integers-included-
new file mode 120000
index 0000000000..36386fe719
--- /dev/null
+++ b/Lang/SETL/Arbitrary-precision-integers-included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers-included-/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Arithmetic-derivative b/Lang/SETL/Arithmetic-derivative
new file mode 120000
index 0000000000..56f987cef7
--- /dev/null
+++ b/Lang/SETL/Arithmetic-derivative
@@ -0,0 +1 @@
+../../Task/Arithmetic-derivative/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Bell-numbers b/Lang/SETL/Bell-numbers
new file mode 120000
index 0000000000..32b1473efe
--- /dev/null
+++ b/Lang/SETL/Bell-numbers
@@ -0,0 +1 @@
+../../Task/Bell-numbers/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Best-shuffle b/Lang/SETL/Best-shuffle
new file mode 120000
index 0000000000..25f39d305e
--- /dev/null
+++ b/Lang/SETL/Best-shuffle
@@ -0,0 +1 @@
+../../Task/Best-shuffle/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Brilliant-numbers b/Lang/SETL/Brilliant-numbers
new file mode 120000
index 0000000000..8c8cbe8558
--- /dev/null
+++ b/Lang/SETL/Brilliant-numbers
@@ -0,0 +1 @@
+../../Task/Brilliant-numbers/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Calculating-the-value-of-e b/Lang/SETL/Calculating-the-value-of-e
new file mode 120000
index 0000000000..751e6b54b5
--- /dev/null
+++ b/Lang/SETL/Calculating-the-value-of-e
@@ -0,0 +1 @@
+../../Task/Calculating-the-value-of-e/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Damm-algorithm b/Lang/SETL/Damm-algorithm
new file mode 120000
index 0000000000..8e8b8d193a
--- /dev/null
+++ b/Lang/SETL/Damm-algorithm
@@ -0,0 +1 @@
+../../Task/Damm-algorithm/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Doomsday-rule b/Lang/SETL/Doomsday-rule
new file mode 120000
index 0000000000..b9fa54eb7b
--- /dev/null
+++ b/Lang/SETL/Doomsday-rule
@@ -0,0 +1 @@
+../../Task/Doomsday-rule/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Duffinian-numbers b/Lang/SETL/Duffinian-numbers
new file mode 120000
index 0000000000..93694a20c6
--- /dev/null
+++ b/Lang/SETL/Duffinian-numbers
@@ -0,0 +1 @@
+../../Task/Duffinian-numbers/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Fractran b/Lang/SETL/Fractran
new file mode 120000
index 0000000000..20f759abeb
--- /dev/null
+++ b/Lang/SETL/Fractran
@@ -0,0 +1 @@
+../../Task/Fractran/SETL
\ No newline at end of file
diff --git a/Lang/SETL/General-FizzBuzz b/Lang/SETL/General-FizzBuzz
new file mode 120000
index 0000000000..c26977365f
--- /dev/null
+++ b/Lang/SETL/General-FizzBuzz
@@ -0,0 +1 @@
+../../Task/General-FizzBuzz/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Gray-code b/Lang/SETL/Gray-code
new file mode 120000
index 0000000000..a07e0b4e7b
--- /dev/null
+++ b/Lang/SETL/Gray-code
@@ -0,0 +1 @@
+../../Task/Gray-code/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Horners-rule-for-polynomial-evaluation b/Lang/SETL/Horners-rule-for-polynomial-evaluation
new file mode 120000
index 0000000000..c30c2e1637
--- /dev/null
+++ b/Lang/SETL/Horners-rule-for-polynomial-evaluation
@@ -0,0 +1 @@
+../../Task/Horners-rule-for-polynomial-evaluation/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Largest-proper-divisor-of-n b/Lang/SETL/Largest-proper-divisor-of-n
new file mode 120000
index 0000000000..a82ec82f9e
--- /dev/null
+++ b/Lang/SETL/Largest-proper-divisor-of-n
@@ -0,0 +1 @@
+../../Task/Largest-proper-divisor-of-n/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Levenshtein-distance b/Lang/SETL/Levenshtein-distance
new file mode 120000
index 0000000000..5a234fcd60
--- /dev/null
+++ b/Lang/SETL/Levenshtein-distance
@@ -0,0 +1 @@
+../../Task/Levenshtein-distance/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Loops-Do-while b/Lang/SETL/Loops-Do-while
new file mode 120000
index 0000000000..8e0329f189
--- /dev/null
+++ b/Lang/SETL/Loops-Do-while
@@ -0,0 +1 @@
+../../Task/Loops-Do-while/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Loops-Increment-loop-index-within-loop-body b/Lang/SETL/Loops-Increment-loop-index-within-loop-body
new file mode 120000
index 0000000000..21b3e5953d
--- /dev/null
+++ b/Lang/SETL/Loops-Increment-loop-index-within-loop-body
@@ -0,0 +1 @@
+../../Task/Loops-Increment-loop-index-within-loop-body/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Loops-Infinite b/Lang/SETL/Loops-Infinite
new file mode 120000
index 0000000000..582c03e313
--- /dev/null
+++ b/Lang/SETL/Loops-Infinite
@@ -0,0 +1 @@
+../../Task/Loops-Infinite/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Loops-N-plus-one-half b/Lang/SETL/Loops-N-plus-one-half
new file mode 120000
index 0000000000..111820383b
--- /dev/null
+++ b/Lang/SETL/Loops-N-plus-one-half
@@ -0,0 +1 @@
+../../Task/Loops-N-plus-one-half/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Luhn-test-of-credit-card-numbers b/Lang/SETL/Luhn-test-of-credit-card-numbers
new file mode 120000
index 0000000000..d5c47a10ed
--- /dev/null
+++ b/Lang/SETL/Luhn-test-of-credit-card-numbers
@@ -0,0 +1 @@
+../../Task/Luhn-test-of-credit-card-numbers/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Matrix-transposition b/Lang/SETL/Matrix-transposition
new file mode 120000
index 0000000000..9a975d9213
--- /dev/null
+++ b/Lang/SETL/Matrix-transposition
@@ -0,0 +1 @@
+../../Task/Matrix-transposition/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Mayan-numerals b/Lang/SETL/Mayan-numerals
new file mode 120000
index 0000000000..fd50100876
--- /dev/null
+++ b/Lang/SETL/Mayan-numerals
@@ -0,0 +1 @@
+../../Task/Mayan-numerals/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Modular-exponentiation b/Lang/SETL/Modular-exponentiation
new file mode 120000
index 0000000000..fcea778ebb
--- /dev/null
+++ b/Lang/SETL/Modular-exponentiation
@@ -0,0 +1 @@
+../../Task/Modular-exponentiation/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Monte-Carlo-methods b/Lang/SETL/Monte-Carlo-methods
new file mode 120000
index 0000000000..da6adaf82b
--- /dev/null
+++ b/Lang/SETL/Monte-Carlo-methods
@@ -0,0 +1 @@
+../../Task/Monte-Carlo-methods/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Monty-Hall-problem b/Lang/SETL/Monty-Hall-problem
new file mode 120000
index 0000000000..0740052c5e
--- /dev/null
+++ b/Lang/SETL/Monty-Hall-problem
@@ -0,0 +1 @@
+../../Task/Monty-Hall-problem/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Move-to-front-algorithm b/Lang/SETL/Move-to-front-algorithm
new file mode 120000
index 0000000000..7a6129ce08
--- /dev/null
+++ b/Lang/SETL/Move-to-front-algorithm
@@ -0,0 +1 @@
+../../Task/Move-to-front-algorithm/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Nested-templated-data b/Lang/SETL/Nested-templated-data
new file mode 120000
index 0000000000..58fd3f508a
--- /dev/null
+++ b/Lang/SETL/Nested-templated-data
@@ -0,0 +1 @@
+../../Task/Nested-templated-data/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Old-lady-swallowed-a-fly b/Lang/SETL/Old-lady-swallowed-a-fly
new file mode 120000
index 0000000000..948ed47605
--- /dev/null
+++ b/Lang/SETL/Old-lady-swallowed-a-fly
@@ -0,0 +1 @@
+../../Task/Old-lady-swallowed-a-fly/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Ordered-words b/Lang/SETL/Ordered-words
new file mode 120000
index 0000000000..efd35b209e
--- /dev/null
+++ b/Lang/SETL/Ordered-words
@@ -0,0 +1 @@
+../../Task/Ordered-words/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Partition-function-P b/Lang/SETL/Partition-function-P
new file mode 120000
index 0000000000..f47b3bd593
--- /dev/null
+++ b/Lang/SETL/Partition-function-P
@@ -0,0 +1 @@
+../../Task/Partition-function-P/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Pisano-period b/Lang/SETL/Pisano-period
new file mode 120000
index 0000000000..735d169166
--- /dev/null
+++ b/Lang/SETL/Pisano-period
@@ -0,0 +1 @@
+../../Task/Pisano-period/SETL
\ No newline at end of file
diff --git a/Lang/SETL/RPG-attributes-generator b/Lang/SETL/RPG-attributes-generator
new file mode 120000
index 0000000000..86469ad6af
--- /dev/null
+++ b/Lang/SETL/RPG-attributes-generator
@@ -0,0 +1 @@
+../../Task/RPG-attributes-generator/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Radical-of-an-integer b/Lang/SETL/Radical-of-an-integer
new file mode 120000
index 0000000000..7020a7b45c
--- /dev/null
+++ b/Lang/SETL/Radical-of-an-integer
@@ -0,0 +1 @@
+../../Task/Radical-of-an-integer/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Range-consolidation b/Lang/SETL/Range-consolidation
new file mode 120000
index 0000000000..b24d504011
--- /dev/null
+++ b/Lang/SETL/Range-consolidation
@@ -0,0 +1 @@
+../../Task/Range-consolidation/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
similarity index 100%
rename from Lang/SETL/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/SETL/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/SETL/Show-ASCII-table b/Lang/SETL/Show-ASCII-table
new file mode 120000
index 0000000000..5c4e8348ce
--- /dev/null
+++ b/Lang/SETL/Show-ASCII-table
@@ -0,0 +1 @@
+../../Task/Show-ASCII-table/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Sleeping-Beauty-problem b/Lang/SETL/Sleeping-Beauty-problem
new file mode 120000
index 0000000000..cf1ef983c1
--- /dev/null
+++ b/Lang/SETL/Sleeping-Beauty-problem
@@ -0,0 +1 @@
+../../Task/Sleeping-Beauty-problem/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Split-a-character-string-based-on-change-of-character b/Lang/SETL/Split-a-character-string-based-on-change-of-character
new file mode 120000
index 0000000000..ff9aa0b4dd
--- /dev/null
+++ b/Lang/SETL/Split-a-character-string-based-on-change-of-character
@@ -0,0 +1 @@
+../../Task/Split-a-character-string-based-on-change-of-character/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Square-free-integers b/Lang/SETL/Square-free-integers
new file mode 120000
index 0000000000..328ef78775
--- /dev/null
+++ b/Lang/SETL/Square-free-integers
@@ -0,0 +1 @@
+../../Task/Square-free-integers/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Strip-comments-from-a-string b/Lang/SETL/Strip-comments-from-a-string
new file mode 120000
index 0000000000..6397b858bf
--- /dev/null
+++ b/Lang/SETL/Strip-comments-from-a-string
@@ -0,0 +1 @@
+../../Task/Strip-comments-from-a-string/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Super-d-numbers b/Lang/SETL/Super-d-numbers
new file mode 120000
index 0000000000..0f77d4c38c
--- /dev/null
+++ b/Lang/SETL/Super-d-numbers
@@ -0,0 +1 @@
+../../Task/Super-d-numbers/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Tokenize-a-string b/Lang/SETL/Tokenize-a-string
new file mode 120000
index 0000000000..bd55474aef
--- /dev/null
+++ b/Lang/SETL/Tokenize-a-string
@@ -0,0 +1 @@
+../../Task/Tokenize-a-string/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Vector-products b/Lang/SETL/Vector-products
new file mode 120000
index 0000000000..936d45f3d5
--- /dev/null
+++ b/Lang/SETL/Vector-products
@@ -0,0 +1 @@
+../../Task/Vector-products/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Word-ladder b/Lang/SETL/Word-ladder
new file mode 120000
index 0000000000..c8dccafa85
--- /dev/null
+++ b/Lang/SETL/Word-ladder
@@ -0,0 +1 @@
+../../Task/Word-ladder/SETL
\ No newline at end of file
diff --git a/Lang/SETL/Zeckendorf-number-representation b/Lang/SETL/Zeckendorf-number-representation
new file mode 120000
index 0000000000..536fc12840
--- /dev/null
+++ b/Lang/SETL/Zeckendorf-number-representation
@@ -0,0 +1 @@
+../../Task/Zeckendorf-number-representation/SETL
\ No newline at end of file
diff --git a/Lang/SIL/00-LANG.txt b/Lang/SIL/00-LANG.txt
new file mode 100644
index 0000000000..2639d4af86
--- /dev/null
+++ b/Lang/SIL/00-LANG.txt
@@ -0,0 +1,8 @@
+{{stub}}{{language|sil}}
+SIL (Simple Interpreted Language) is designed for a nostalgic view of the past. It is simple and minimalist, but remains capable of universal computation. SIL used to be known as S.I.L.O.S.
+
+=== Todo ===
+[[Tasks not implemented in SIL]]
+
+==Links==
+*[https://github.com/rjhunjhunwala/SIL-S.I.L.O.S SIL on GitHub]
\ No newline at end of file
diff --git a/Lang/SIL/00-META.yaml b/Lang/SIL/00-META.yaml
new file mode 100644
index 0000000000..ac7ba9e679
--- /dev/null
+++ b/Lang/SIL/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:SIL
diff --git a/Lang/SIL/Apply-a-callback-to-an-array b/Lang/SIL/Apply-a-callback-to-an-array
new file mode 120000
index 0000000000..c6346f2693
--- /dev/null
+++ b/Lang/SIL/Apply-a-callback-to-an-array
@@ -0,0 +1 @@
+../../Task/Apply-a-callback-to-an-array/SIL
\ No newline at end of file
diff --git a/Lang/SIL/Arithmetic-Integer b/Lang/SIL/Arithmetic-Integer
new file mode 120000
index 0000000000..0359dfe6a8
--- /dev/null
+++ b/Lang/SIL/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/SIL
\ No newline at end of file
diff --git a/Lang/SIL/Function-definition b/Lang/SIL/Function-definition
new file mode 120000
index 0000000000..1ed935d033
--- /dev/null
+++ b/Lang/SIL/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/SIL
\ No newline at end of file
diff --git a/Lang/SIL/Hello-world-Text b/Lang/SIL/Hello-world-Text
new file mode 120000
index 0000000000..67a60a7cc4
--- /dev/null
+++ b/Lang/SIL/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/SIL
\ No newline at end of file
diff --git a/Lang/SIL/Loops-Do-while b/Lang/SIL/Loops-Do-while
new file mode 120000
index 0000000000..226040ebd7
--- /dev/null
+++ b/Lang/SIL/Loops-Do-while
@@ -0,0 +1 @@
+../../Task/Loops-Do-while/SIL
\ No newline at end of file
diff --git a/Lang/SIL/Loops-For b/Lang/SIL/Loops-For
new file mode 120000
index 0000000000..f6976d2ec6
--- /dev/null
+++ b/Lang/SIL/Loops-For
@@ -0,0 +1 @@
+../../Task/Loops-For/SIL
\ No newline at end of file
diff --git a/Lang/SIL/Loops-Infinite b/Lang/SIL/Loops-Infinite
new file mode 120000
index 0000000000..923cceed13
--- /dev/null
+++ b/Lang/SIL/Loops-Infinite
@@ -0,0 +1 @@
+../../Task/Loops-Infinite/SIL
\ No newline at end of file
diff --git a/Lang/SIL/Loops-N-plus-one-half b/Lang/SIL/Loops-N-plus-one-half
new file mode 120000
index 0000000000..8adce730cd
--- /dev/null
+++ b/Lang/SIL/Loops-N-plus-one-half
@@ -0,0 +1 @@
+../../Task/Loops-N-plus-one-half/SIL
\ No newline at end of file
diff --git a/Lang/SIL/Loops-While b/Lang/SIL/Loops-While
new file mode 120000
index 0000000000..401dee2479
--- /dev/null
+++ b/Lang/SIL/Loops-While
@@ -0,0 +1 @@
+../../Task/Loops-While/SIL
\ No newline at end of file
diff --git a/Lang/SNOBOL4/Find-the-intersection-of-two-lines b/Lang/SNOBOL4/Find-the-intersection-of-two-lines
new file mode 120000
index 0000000000..b2451a2b39
--- /dev/null
+++ b/Lang/SNOBOL4/Find-the-intersection-of-two-lines
@@ -0,0 +1 @@
+../../Task/Find-the-intersection-of-two-lines/SNOBOL4
\ No newline at end of file
diff --git a/Lang/SNOBOL4/Multiplication-tables b/Lang/SNOBOL4/Multiplication-tables
new file mode 120000
index 0000000000..756425cd3a
--- /dev/null
+++ b/Lang/SNOBOL4/Multiplication-tables
@@ -0,0 +1 @@
+../../Task/Multiplication-tables/SNOBOL4
\ No newline at end of file
diff --git a/Lang/SQL/Factorial b/Lang/SQL/Factorial
new file mode 120000
index 0000000000..c6f45973cd
--- /dev/null
+++ b/Lang/SQL/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/SQL
\ No newline at end of file
diff --git a/Lang/SapbotVM/00-LANG.txt b/Lang/SapbotVM/00-LANG.txt
new file mode 100644
index 0000000000..a83fdbd907
--- /dev/null
+++ b/Lang/SapbotVM/00-LANG.txt
@@ -0,0 +1,4 @@
+{{stub}}{{language|SapbotVM}}
+SapbotVM is easy-to-implement virtual machine architecture, made by Romarchive, that's not compilable, but only have interpreted Assembler. Also, this language have two formats: SVM1, SVM2. First, is based on JSON, second is custom.
+
+SapbotVM have limited support for monitor, no internet and plug and play devices. So only serial port.
\ No newline at end of file
diff --git a/Lang/SapbotVM/00-META.yaml b/Lang/SapbotVM/00-META.yaml
new file mode 100644
index 0000000000..f50043dbce
--- /dev/null
+++ b/Lang/SapbotVM/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:SapbotVM
diff --git a/Lang/SapbotVM/Guess-the-number-With-feedback b/Lang/SapbotVM/Guess-the-number-With-feedback
new file mode 120000
index 0000000000..0038e4427f
--- /dev/null
+++ b/Lang/SapbotVM/Guess-the-number-With-feedback
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback/SapbotVM
\ No newline at end of file
diff --git a/Lang/SapbotVM/Hello-world-Text b/Lang/SapbotVM/Hello-world-Text
new file mode 120000
index 0000000000..c695d3ee98
--- /dev/null
+++ b/Lang/SapbotVM/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/SapbotVM
\ No newline at end of file
diff --git a/Lang/Scala/Additive-primes b/Lang/Scala/Additive-primes
new file mode 120000
index 0000000000..ba2692b54f
--- /dev/null
+++ b/Lang/Scala/Additive-primes
@@ -0,0 +1 @@
+../../Task/Additive-primes/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Boyer-Moore-string-search b/Lang/Scala/Boyer-Moore-string-search
new file mode 120000
index 0000000000..58b64a7997
--- /dev/null
+++ b/Lang/Scala/Boyer-Moore-string-search
@@ -0,0 +1 @@
+../../Task/Boyer-Moore-string-search/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n- b/Lang/Scala/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n-
new file mode 120000
index 0000000000..03b359aab4
--- /dev/null
+++ b/Lang/Scala/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n-
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n-/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Descending-primes b/Lang/Scala/Descending-primes
new file mode 120000
index 0000000000..461c6bfefd
--- /dev/null
+++ b/Lang/Scala/Descending-primes
@@ -0,0 +1 @@
+../../Task/Descending-primes/Scala
\ No newline at end of file
diff --git a/Lang/Scala/ISBN13-check-digit b/Lang/Scala/ISBN13-check-digit
new file mode 120000
index 0000000000..b0dc1022b2
--- /dev/null
+++ b/Lang/Scala/ISBN13-check-digit
@@ -0,0 +1 @@
+../../Task/ISBN13-check-digit/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Miller-Rabin-primality-test b/Lang/Scala/Miller-Rabin-primality-test
deleted file mode 120000
index 28de5ef463..0000000000
--- a/Lang/Scala/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Parallel-calculations b/Lang/Scala/Parallel-calculations
new file mode 120000
index 0000000000..525e6ca1ba
--- /dev/null
+++ b/Lang/Scala/Parallel-calculations
@@ -0,0 +1 @@
+../../Task/Parallel-calculations/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Quaternion-type b/Lang/Scala/Quaternion-type
deleted file mode 120000
index 15f3eda4c9..0000000000
--- a/Lang/Scala/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Sorting-Algorithms-Circle-Sort b/Lang/Scala/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index 5b9f057951..0000000000
--- a/Lang/Scala/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Tonelli-Shanks-algorithm b/Lang/Scala/Tonelli-Shanks-algorithm
new file mode 120000
index 0000000000..a29f0a9b6f
--- /dev/null
+++ b/Lang/Scala/Tonelli-Shanks-algorithm
@@ -0,0 +1 @@
+../../Task/Tonelli-Shanks-algorithm/Scala
\ No newline at end of file
diff --git a/Lang/Scala/UPC b/Lang/Scala/UPC
new file mode 120000
index 0000000000..bc3faec2ef
--- /dev/null
+++ b/Lang/Scala/UPC
@@ -0,0 +1 @@
+../../Task/UPC/Scala
\ No newline at end of file
diff --git a/Lang/Scheme/Cantor-set b/Lang/Scheme/Cantor-set
new file mode 120000
index 0000000000..a799296687
--- /dev/null
+++ b/Lang/Scheme/Cantor-set
@@ -0,0 +1 @@
+../../Task/Cantor-set/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Cholesky-decomposition b/Lang/Scheme/Cholesky-decomposition
new file mode 120000
index 0000000000..ade9e83803
--- /dev/null
+++ b/Lang/Scheme/Cholesky-decomposition
@@ -0,0 +1 @@
+../../Task/Cholesky-decomposition/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Circular-primes b/Lang/Scheme/Circular-primes
new file mode 120000
index 0000000000..9f4430f520
--- /dev/null
+++ b/Lang/Scheme/Circular-primes
@@ -0,0 +1 @@
+../../Task/Circular-primes/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Compare-length-of-two-strings b/Lang/Scheme/Compare-length-of-two-strings
new file mode 120000
index 0000000000..d6e6006fa7
--- /dev/null
+++ b/Lang/Scheme/Compare-length-of-two-strings
@@ -0,0 +1 @@
+../../Task/Compare-length-of-two-strings/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Conjugate-transpose b/Lang/Scheme/Conjugate-transpose
new file mode 120000
index 0000000000..ef50892884
--- /dev/null
+++ b/Lang/Scheme/Conjugate-transpose
@@ -0,0 +1 @@
+../../Task/Conjugate-transpose/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Egyptian-division b/Lang/Scheme/Egyptian-division
new file mode 120000
index 0000000000..ca3a36ae83
--- /dev/null
+++ b/Lang/Scheme/Egyptian-division
@@ -0,0 +1 @@
+../../Task/Egyptian-division/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Empty-program b/Lang/Scheme/Empty-program
deleted file mode 120000
index ee1ee662be..0000000000
--- a/Lang/Scheme/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Find-the-missing-permutation b/Lang/Scheme/Find-the-missing-permutation
new file mode 120000
index 0000000000..8f7e82d271
--- /dev/null
+++ b/Lang/Scheme/Find-the-missing-permutation
@@ -0,0 +1 @@
+../../Task/Find-the-missing-permutation/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/French-Republican-calendar b/Lang/Scheme/French-Republican-calendar
new file mode 120000
index 0000000000..f19a245ee9
--- /dev/null
+++ b/Lang/Scheme/French-Republican-calendar
@@ -0,0 +1 @@
+../../Task/French-Republican-calendar/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Kronecker-product b/Lang/Scheme/Kronecker-product
new file mode 120000
index 0000000000..58539a69b9
--- /dev/null
+++ b/Lang/Scheme/Kronecker-product
@@ -0,0 +1 @@
+../../Task/Kronecker-product/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Kronecker-product-based-fractals b/Lang/Scheme/Kronecker-product-based-fractals
new file mode 120000
index 0000000000..c27228f2e0
--- /dev/null
+++ b/Lang/Scheme/Kronecker-product-based-fractals
@@ -0,0 +1 @@
+../../Task/Kronecker-product-based-fractals/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Last-letter-first-letter b/Lang/Scheme/Last-letter-first-letter
new file mode 120000
index 0000000000..a5c5c31b6e
--- /dev/null
+++ b/Lang/Scheme/Last-letter-first-letter
@@ -0,0 +1 @@
+../../Task/Last-letter-first-letter/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Miller-Rabin-primality-test b/Lang/Scheme/Miller-Rabin-primality-test
deleted file mode 120000
index 644cc32269..0000000000
--- a/Lang/Scheme/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Own-digits-power-sum b/Lang/Scheme/Own-digits-power-sum
new file mode 120000
index 0000000000..0897a09d02
--- /dev/null
+++ b/Lang/Scheme/Own-digits-power-sum
@@ -0,0 +1 @@
+../../Task/Own-digits-power-sum/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Pick-random-element b/Lang/Scheme/Pick-random-element
new file mode 120000
index 0000000000..5745ea287d
--- /dev/null
+++ b/Lang/Scheme/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Pseudo-random-numbers-Splitmix64 b/Lang/Scheme/Pseudo-random-numbers-Splitmix64
new file mode 120000
index 0000000000..730c9170c9
--- /dev/null
+++ b/Lang/Scheme/Pseudo-random-numbers-Splitmix64
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-Splitmix64/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Runge-Kutta-method b/Lang/Scheme/Runge-Kutta-method
new file mode 120000
index 0000000000..55b6f782a6
--- /dev/null
+++ b/Lang/Scheme/Runge-Kutta-method
@@ -0,0 +1 @@
+../../Task/Runge-Kutta-method/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Sierpinski-triangle-Graphical b/Lang/Scheme/Sierpinski-triangle-Graphical
new file mode 120000
index 0000000000..13f8e60559
--- /dev/null
+++ b/Lang/Scheme/Sierpinski-triangle-Graphical
@@ -0,0 +1 @@
+../../Task/Sierpinski-triangle-Graphical/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Tau-number b/Lang/Scheme/Tau-number
new file mode 120000
index 0000000000..fe45f01d25
--- /dev/null
+++ b/Lang/Scheme/Tau-number
@@ -0,0 +1 @@
+../../Task/Tau-number/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Unicode-variable-names b/Lang/Scheme/Unicode-variable-names
new file mode 120000
index 0000000000..e5f49b3fae
--- /dev/null
+++ b/Lang/Scheme/Unicode-variable-names
@@ -0,0 +1 @@
+../../Task/Unicode-variable-names/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Word-frequency b/Lang/Scheme/Word-frequency
new file mode 120000
index 0000000000..109edef2da
--- /dev/null
+++ b/Lang/Scheme/Word-frequency
@@ -0,0 +1 @@
+../../Task/Word-frequency/Scheme
\ No newline at end of file
diff --git a/Lang/Scilab/Empty-program b/Lang/Scilab/Empty-program
deleted file mode 120000
index 0cb8f21cc3..0000000000
--- a/Lang/Scilab/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/Scilab
\ No newline at end of file
diff --git a/Lang/Sed/00-LANG.txt b/Lang/Sed/00-LANG.txt
index 23390cea6c..5d2641e2db 100644
--- a/Lang/Sed/00-LANG.txt
+++ b/Lang/Sed/00-LANG.txt
@@ -6,5 +6,7 @@ a non interactive tool for text manipulation and filtering.
One implementation is [[GNU Sed]]
+See [[Tasks not implemented in sed]]
+
[[Category:Editor]]
[[Category:Utility]]
\ No newline at end of file
diff --git a/Lang/Seed7/Miller-Rabin-primality-test b/Lang/Seed7/Miller-Rabin-primality-test
deleted file mode 120000
index 298c8872f9..0000000000
--- a/Lang/Seed7/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Quaternion-type b/Lang/Seed7/Quaternion-type
deleted file mode 120000
index d621b24ce0..0000000000
--- a/Lang/Seed7/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Seed7
\ No newline at end of file
diff --git a/Lang/SequenceL/00-LANG.txt b/Lang/SequenceL/00-LANG.txt
index 3c3098bf74..5e5a95101f 100644
--- a/Lang/SequenceL/00-LANG.txt
+++ b/Lang/SequenceL/00-LANG.txt
@@ -3,7 +3,7 @@
|strength=strong
|safety=safe
|checking=static
-|site=http://sequencel.com
+|site=
|tags=sequencel
|hopl=no}}
{{language programming paradigm|Declarative}}
diff --git a/Lang/Set-lang/Empty-program b/Lang/Set-lang/Empty-program
deleted file mode 120000
index e6f84e5a85..0000000000
--- a/Lang/Set-lang/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/Set-lang
\ No newline at end of file
diff --git a/Lang/SheerPower-4GL/00-LANG.txt b/Lang/SheerPower-4GL/00-LANG.txt
index bd4b7049ad..fc11170935 100644
--- a/Lang/SheerPower-4GL/00-LANG.txt
+++ b/Lang/SheerPower-4GL/00-LANG.txt
@@ -1,6 +1,6 @@
{{stub}}
{{language
-|site=http://www.sp4gl.com/
+|site=https://sheerpower.ttinet.com/index.html/
}}
SheerPower 4GL is a Fourth-generation programming language developed by Touch Technologies, Inc.
@@ -16,4 +16,7 @@ SheerPower 4GL has several key features:
#There is also a Common Gateway Interface (CGI) interface built into SheerPower, along with many other built-in functions designed for high-performance and increased programmer productivity.
== See Also ==
-[[wp:SheerPower4GL|Wikipedia:SheerPower4GL]]
\ No newline at end of file
+[[wp:SheerPower4GL|Wikipedia:SheerPower4GL]]
+
+==Todo==
+[[Tasks_not_implemented_in_SheerPower_4GL]]
\ No newline at end of file
diff --git a/Lang/SheerPower-4GL/99-bottles-of-beer b/Lang/SheerPower-4GL/99-bottles-of-beer
new file mode 120000
index 0000000000..71e6136936
--- /dev/null
+++ b/Lang/SheerPower-4GL/99-bottles-of-beer
@@ -0,0 +1 @@
+../../Task/99-bottles-of-beer/SheerPower-4GL
\ No newline at end of file
diff --git a/Lang/SheerPower-4GL/Caesar-cipher b/Lang/SheerPower-4GL/Caesar-cipher
new file mode 120000
index 0000000000..b9d2a1d1d1
--- /dev/null
+++ b/Lang/SheerPower-4GL/Caesar-cipher
@@ -0,0 +1 @@
+../../Task/Caesar-cipher/SheerPower-4GL
\ No newline at end of file
diff --git a/Lang/SheerPower-4GL/FizzBuzz b/Lang/SheerPower-4GL/FizzBuzz
new file mode 120000
index 0000000000..339e329e2c
--- /dev/null
+++ b/Lang/SheerPower-4GL/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/SheerPower-4GL
\ No newline at end of file
diff --git a/Lang/SheerPower-4GL/Towers-of-Hanoi b/Lang/SheerPower-4GL/Towers-of-Hanoi
new file mode 120000
index 0000000000..a6bc7f6597
--- /dev/null
+++ b/Lang/SheerPower-4GL/Towers-of-Hanoi
@@ -0,0 +1 @@
+../../Task/Towers-of-Hanoi/SheerPower-4GL
\ No newline at end of file
diff --git a/Lang/Sidef/00-LANG.txt b/Lang/Sidef/00-LANG.txt
index a63ddf8a52..03c8af9ab7 100644
--- a/Lang/Sidef/00-LANG.txt
+++ b/Lang/Sidef/00-LANG.txt
@@ -18,14 +18,11 @@
[https://tio.run/#sidef Try Sidef on tio.run]
{{infobox_end}}
-Sidef is a modern, dynamic, object-oriented programming language, focusing on simplicity, readability and elegance, taking the best from languages like [[derived from::Ruby]], [[derived from::Go]], [[derived from::Raku]] and [[derived from::Julia]].
+Sidef is a modern, expressive programming language that combines the elegance of [[derived from::Ruby]], the versatility of [[derived from::Raku]], and the mathematical power of a built-in computer algebra system.
The language is mostly used as a research programming language.
-For more details, see:
-* Gitbook: [https://trizen.gitbook.io/sidef-lang/ https://trizen.gitbook.io/sidef-lang/]
-* Tutorial: [https://notabug.org/trizen/sidef/wiki https://notabug.org/trizen/sidef/wiki]
-* Development page: [https://github.com/trizen/sidef https://github.com/trizen/sidef]
+For more details, see: [https://github.com/trizen/sidef https://github.com/trizen/sidef]
==Todo==
diff --git a/Lang/Sidef/Arithmetic-derivative b/Lang/Sidef/Arithmetic-derivative
new file mode 120000
index 0000000000..bdcd1874e7
--- /dev/null
+++ b/Lang/Sidef/Arithmetic-derivative
@@ -0,0 +1 @@
+../../Task/Arithmetic-derivative/Sidef
\ No newline at end of file
diff --git a/Lang/Sidef/Arithmetic-numbers b/Lang/Sidef/Arithmetic-numbers
new file mode 120000
index 0000000000..672bca881d
--- /dev/null
+++ b/Lang/Sidef/Arithmetic-numbers
@@ -0,0 +1 @@
+../../Task/Arithmetic-numbers/Sidef
\ No newline at end of file
diff --git a/Lang/Sidef/Binary-strings b/Lang/Sidef/Binary-strings
new file mode 120000
index 0000000000..86bf141c80
--- /dev/null
+++ b/Lang/Sidef/Binary-strings
@@ -0,0 +1 @@
+../../Task/Binary-strings/Sidef
\ No newline at end of file
diff --git a/Lang/Sidef/CRC-32 b/Lang/Sidef/CRC-32
new file mode 120000
index 0000000000..7abbf21ee3
--- /dev/null
+++ b/Lang/Sidef/CRC-32
@@ -0,0 +1 @@
+../../Task/CRC-32/Sidef
\ No newline at end of file
diff --git a/Lang/Sidef/Empty-program b/Lang/Sidef/Empty-program
deleted file mode 120000
index c7465e3077..0000000000
--- a/Lang/Sidef/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/Sidef
\ No newline at end of file
diff --git a/Lang/Sidef/Increasing-gaps-between-consecutive-Niven-numbers b/Lang/Sidef/Increasing-gaps-between-consecutive-Niven-numbers
new file mode 120000
index 0000000000..b80a20c4f5
--- /dev/null
+++ b/Lang/Sidef/Increasing-gaps-between-consecutive-Niven-numbers
@@ -0,0 +1 @@
+../../Task/Increasing-gaps-between-consecutive-Niven-numbers/Sidef
\ No newline at end of file
diff --git a/Lang/Sidef/Jaro-Winkler-distance b/Lang/Sidef/Jaro-Winkler-distance
new file mode 120000
index 0000000000..48f92f7ccd
--- /dev/null
+++ b/Lang/Sidef/Jaro-Winkler-distance
@@ -0,0 +1 @@
+../../Task/Jaro-Winkler-distance/Sidef
\ No newline at end of file
diff --git a/Lang/Sidef/Jordan-P-lya-numbers b/Lang/Sidef/Jordan-P-lya-numbers
new file mode 120000
index 0000000000..b084543da1
--- /dev/null
+++ b/Lang/Sidef/Jordan-P-lya-numbers
@@ -0,0 +1 @@
+../../Task/Jordan-P-lya-numbers/Sidef
\ No newline at end of file
diff --git a/Lang/Sidef/Meissel-Mertens-constant b/Lang/Sidef/Meissel-Mertens-constant
deleted file mode 120000
index 7eda1518da..0000000000
--- a/Lang/Sidef/Meissel-Mertens-constant
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Meissel-Mertens-constant/Sidef
\ No newline at end of file
diff --git a/Lang/Sidef/Miller-Rabin-primality-test b/Lang/Sidef/Miller-Rabin-primality-test
deleted file mode 120000
index 5bb5523a0e..0000000000
--- a/Lang/Sidef/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Sidef
\ No newline at end of file
diff --git a/Lang/Sidef/Pell-numbers b/Lang/Sidef/Pell-numbers
new file mode 120000
index 0000000000..af14680327
--- /dev/null
+++ b/Lang/Sidef/Pell-numbers
@@ -0,0 +1 @@
+../../Task/Pell-numbers/Sidef
\ No newline at end of file
diff --git a/Lang/Sidef/Prime-numbers-whose-neighboring-pairs-are-tetraprimes b/Lang/Sidef/Prime-numbers-whose-neighboring-pairs-are-tetraprimes
new file mode 120000
index 0000000000..1f840ef9e4
--- /dev/null
+++ b/Lang/Sidef/Prime-numbers-whose-neighboring-pairs-are-tetraprimes
@@ -0,0 +1 @@
+../../Task/Prime-numbers-whose-neighboring-pairs-are-tetraprimes/Sidef
\ No newline at end of file
diff --git a/Lang/Sidef/Quaternion-type b/Lang/Sidef/Quaternion-type
deleted file mode 120000
index 5e28a5e41d..0000000000
--- a/Lang/Sidef/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Sidef
\ No newline at end of file
diff --git a/Lang/Sidef/Sequence-nth-number-with-exactly-n-divisors b/Lang/Sidef/Sequence:-nth-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Sidef/Sequence-nth-number-with-exactly-n-divisors
rename to Lang/Sidef/Sequence:-nth-number-with-exactly-n-divisors
diff --git a/Lang/Sidef/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/Sidef/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/Sidef/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/Sidef/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/Sidef/Sequence-smallest-number-with-exactly-n-divisors b/Lang/Sidef/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Sidef/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/Sidef/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/Sidef/Smarandache-Wellin-primes b/Lang/Sidef/Smarandache-Wellin-primes
new file mode 120000
index 0000000000..056e5bc295
--- /dev/null
+++ b/Lang/Sidef/Smarandache-Wellin-primes
@@ -0,0 +1 @@
+../../Task/Smarandache-Wellin-primes/Sidef
\ No newline at end of file
diff --git a/Lang/Sidef/Sorting-Algorithms-Circle-Sort b/Lang/Sidef/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index e866329cad..0000000000
--- a/Lang/Sidef/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/Sidef
\ No newline at end of file
diff --git a/Lang/Sidef/Wagstaff-primes b/Lang/Sidef/Wagstaff-primes
new file mode 120000
index 0000000000..d0053cfbed
--- /dev/null
+++ b/Lang/Sidef/Wagstaff-primes
@@ -0,0 +1 @@
+../../Task/Wagstaff-primes/Sidef
\ No newline at end of file
diff --git a/Lang/SimpleCode/Empty-program b/Lang/SimpleCode/Empty-program
deleted file mode 120000
index dc55c70d09..0000000000
--- a/Lang/SimpleCode/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/SimpleCode
\ No newline at end of file
diff --git a/Lang/Slate/Empty-program b/Lang/Slate/Empty-program
deleted file mode 120000
index cea8e90b74..0000000000
--- a/Lang/Slate/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/Slate
\ No newline at end of file
diff --git a/Lang/Smalltalk/Miller-Rabin-primality-test b/Lang/Smalltalk/Miller-Rabin-primality-test
deleted file mode 120000
index e3a303744d..0000000000
--- a/Lang/Smalltalk/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Smalltalk
\ No newline at end of file
diff --git a/Lang/SmileBASIC/Execute-Brain- b/Lang/SmileBASIC/Execute-Brain-
new file mode 120000
index 0000000000..f5b6561ddd
--- /dev/null
+++ b/Lang/SmileBASIC/Execute-Brain-
@@ -0,0 +1 @@
+../../Task/Execute-Brain-/SmileBASIC
\ No newline at end of file
diff --git a/Lang/Sparkling/Empty-program b/Lang/Sparkling/Empty-program
deleted file mode 120000
index 519287810d..0000000000
--- a/Lang/Sparkling/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/Sparkling
\ No newline at end of file
diff --git a/Lang/Standard-ML/Averages-Mean-angle b/Lang/Standard-ML/Averages-Mean-angle
new file mode 120000
index 0000000000..38ef0bd393
--- /dev/null
+++ b/Lang/Standard-ML/Averages-Mean-angle
@@ -0,0 +1 @@
+../../Task/Averages-Mean-angle/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Averages-Simple-moving-average b/Lang/Standard-ML/Averages-Simple-moving-average
new file mode 120000
index 0000000000..6dd59a5e2f
--- /dev/null
+++ b/Lang/Standard-ML/Averages-Simple-moving-average
@@ -0,0 +1 @@
+../../Task/Averages-Simple-moving-average/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Box-the-compass b/Lang/Standard-ML/Box-the-compass
new file mode 120000
index 0000000000..bdb5283192
--- /dev/null
+++ b/Lang/Standard-ML/Box-the-compass
@@ -0,0 +1 @@
+../../Task/Box-the-compass/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Call-a-foreign-language-function b/Lang/Standard-ML/Call-a-foreign-language-function
new file mode 120000
index 0000000000..1f398efa97
--- /dev/null
+++ b/Lang/Standard-ML/Call-a-foreign-language-function
@@ -0,0 +1 @@
+../../Task/Call-a-foreign-language-function/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Knuth-shuffle b/Lang/Standard-ML/Knuth-shuffle
new file mode 120000
index 0000000000..da7fa35b79
--- /dev/null
+++ b/Lang/Standard-ML/Knuth-shuffle
@@ -0,0 +1 @@
+../../Task/Knuth-shuffle/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Last-Friday-of-each-month b/Lang/Standard-ML/Last-Friday-of-each-month
new file mode 120000
index 0000000000..39c2756109
--- /dev/null
+++ b/Lang/Standard-ML/Last-Friday-of-each-month
@@ -0,0 +1 @@
+../../Task/Last-Friday-of-each-month/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Miller-Rabin-primality-test b/Lang/Standard-ML/Miller-Rabin-primality-test
deleted file mode 120000
index ba4b002043..0000000000
--- a/Lang/Standard-ML/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Pi b/Lang/Standard-ML/Pi
new file mode 120000
index 0000000000..f806ddbcae
--- /dev/null
+++ b/Lang/Standard-ML/Pi
@@ -0,0 +1 @@
+../../Task/Pi/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Pseudo-random-numbers-Splitmix64 b/Lang/Standard-ML/Pseudo-random-numbers-Splitmix64
new file mode 120000
index 0000000000..bce7d31edd
--- /dev/null
+++ b/Lang/Standard-ML/Pseudo-random-numbers-Splitmix64
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-Splitmix64/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/URL-encoding b/Lang/Standard-ML/URL-encoding
new file mode 120000
index 0000000000..f4e1b1b4e1
--- /dev/null
+++ b/Lang/Standard-ML/URL-encoding
@@ -0,0 +1 @@
+../../Task/URL-encoding/Standard-ML
\ No newline at end of file
diff --git a/Lang/Stax/00-LANG.txt b/Lang/Stax/00-LANG.txt
index daeb2cc2d2..9436dc0940 100644
--- a/Lang/Stax/00-LANG.txt
+++ b/Lang/Stax/00-LANG.txt
@@ -1 +1,2 @@
-{{stub}}{{language|Stax}}
\ No newline at end of file
+[https://github.com/tomtheisen/stax Github]
+{{language|site=https://staxlang.xyz/}}
\ No newline at end of file
diff --git a/Lang/SuperCollider/00-LANG.txt b/Lang/SuperCollider/00-LANG.txt
index f804a4a144..d6b538fcd2 100644
--- a/Lang/SuperCollider/00-LANG.txt
+++ b/Lang/SuperCollider/00-LANG.txt
@@ -9,4 +9,130 @@ The programming language was originally devised by James McCartney and has been
[https://github.com/supercollider/supercollider SuperCollider at GitHub]
-[http://supercollider.github.io/ SuperCollider Homepage]
\ No newline at end of file
+[http://supercollider.github.io/ SuperCollider Homepage]
+
+
+
+Some additional notes on SuperCollider 2024-06-21
+
+From the SuperCollider GitHub website: https://supercollider.github.io/ :
+Quote:
+A PLATFORM FOR AUDIO SYNTHESIS AND ALGORITHMIC COMPOSITION,
+ USED BY MUSICIANS, ARTISTS AND RESEARCHERS WORKING WITH SOUND.
+
+FREE AND OPEN SOURCE SOFTWARE FOR WINDOWS, MACOS AND LINUX.
+
+SuperCollider features three major components:
+scsynth – A real-time audio server
+sclang – An interpreted programming language
+scide – An editor for sclang with an integrated help system
+End-Quote.
+
+Some people try to squeeze a musical composition into 140 characters: (but just for the challenge):
+Don't judge SuperCollider or the language by these examples, they are just for fun.
+
+f={|t|Pbind(\note,Pseq([-1,1,6,8,9,1,-1,8,6,1,9,8]+5,319),\dur,t)};Ptpar([0,f.(1/6),12,f.(0.1672)],1).play
+
+Listen to the results here: https://supercollider.github.io/assets/audio/sc-140/06_batuhanbozkurt_celesteh.mp3
+You can see/hear more at: https://supercollider.github.io/sc-140.html
+
+
+As of today (2024-06-21) the current version of SuperCollider for all supported platforms is: 3.13.0
+
+While SClang (SuperCollider language) and its companion components are designed for the creation of sounds and music, the language is a full featured programming language.
+
+The language is OO, to the extent that everything is an object, even numbers.
+In this snippet: 123 + 456 the 123 is an object, + is a method on the class of that object, and 456 is a parameter to that method.
+Even though + is a method the syntax of the addition is what you would typically expect.
+
+The print function in SClang is a method called postln, which first appears in the root of the class tree: Object.
+
+Some examples, showing two possible call formats:
+
+postln("Hello World"); // prints: Hello World
+"Hello World".postln; // prints: Hello World
+postln(1001); // prints: 1001
+1001.postln; // prints: 1001
+postln(123 + 456); // prints: 579
+(123 + 456).postln; // prints: 579
+
+
+The method postln, adds a new-line after printing the text, if you don't want the new-line, use: post.
+
+
+SuperCollider from the command line (not used much)
+
+SuperCollider scripts are stored in files with an extension of .scd.
+These are typically referred to as supercollider documents, hence .scd.
+
+99.99% of the time, you will execute code from within the IDE (scide).
+
+It is possible but not typical, to run a script from the command line, for example:
+ > sclang.exe ABC_problem.scd
+This will output the expected results.
+See code at: https://rosettacode.org/wiki/ABC_problem#SuperCollider
+However, before executing your code, sclang will compile its class library, and you will see all of the messages about the compilation, before you see the output from your code.
+
+Also, once your code is finished, you will be stuck as sclang is still waiting for more input from a file, not the keyboard. The second problem can be solved by adding exit(0); to the end of your script (.scd file);
+
+SuperCollider comes packaged with QT, and has classes that represent GUI objects, for example:
+ > sclang.exe Barnsley_fern.scd
+Will open a window and draw the Barnsley Fern.
+See code at: https://rosettacode.org/wiki/Barnsley_fern#SuperCollider
+You will have to use Ctrl-c to kill the sclang process, you cannot add exit(0) to you script as the exit would happen before the GUI was fully created.
+
+It is theoretically possible to create a thread within your script which waits until all work is done and then for it to execute exit(0); but you are just giving yourself extra work.
+
+You can also run sclang without giving it a file, then it will accept input from the keyboard.
+ > sclang.exe
+You will get this prompt sc3> now you can type in ONE LINE OF CODE.
+For example, the following line of code has three statements, the end result is printing the sum of the two numbers:
+sc3> var v1=123; var v2=456; postf("v1+v2=%\n", v1+v2);
+v1+v2=579
+-> v1+v2=579
+
+The line with the arrow: -> v1+v2=579, is sclang printing the value of the last expression executed
+
+Summary: You can start sclang from the command line and type in some code, or you could give sclang a script to run, both will work, but it is much more productive to use scide.
+Using sclang from the command line is like playing your guitar with winter gloves on, you could do it, but why make life difficult?
+
+If you have composed (written code for) a long piece of music, and now you want to execute the code from the command line, yes, you can do it, but it isn't going to sound any different than it would if you execute the code from within scide.
+Also, scide offers the ability to 'live code', i.e. execute some code to make some music, and change the code as the music is playing, so the music evolves as you change the code.
+
+
+SuperCollider from the IDE
+Start scide, or 'open' a SuperCollider Document (*.scd), if scide is 'associated' with that file type.
+See: https://doc.sccode.org/Guides/SCIde.html
+After you start scide, it starts sclang, which compiles the SuperCollider classes.
+Now you can start coding.
+
+How to execute code (borrowed from the page at the URL above)
+
+To evaluate code, use one of the following keyboard commands:
+Ctrl+Return
+Most used, "smart" code evaluation:
+Normally, the current line will be evaluated (where the cursor is).
+If the cursor is within a region, the entire region will be evaluated. See below for explanation of regions.
+If some code is selected, the selection will be evaluated.
+
+Shift+Return
+
+Evaluates either the current line, or the selection (if any). Use this to evaluate a single line within a region without the need to select it.
+Regions make it quick and easy to evaluate larger portions of code. A region is surrounded by parentheses; to be interpreted as a region, the parenthesis must each be the only character on a line.
+
+(
+Pbind(
+ \degree, Pseries(0, 1, 8),
+ \dur, 0.25
+).play;
+)
+
+If the cursor is anywhere between the outermost parentheses, pressing Ctrl+Return will automatically evaluate the entire contents within the parentheses, starting with Pbind and ending with play;.
+
+To quickly evaluate a portion of code, you can also double-click on any bracket (round, squared, or curly), which will select everything between this and the other matching bracket, so you can quickly evaluate it.
+
+To stop any running code, use the Ctrl+. shortcut (Ctrl+Period).
+This will stop all the code scheduled on the clocks, as well as all the sound processes on the audio server.
+
+
+... more coming soon ...
\ No newline at end of file
diff --git a/Lang/SuperCollider/Averages-Pythagorean-means b/Lang/SuperCollider/Averages-Pythagorean-means
new file mode 120000
index 0000000000..9ee9ff6fef
--- /dev/null
+++ b/Lang/SuperCollider/Averages-Pythagorean-means
@@ -0,0 +1 @@
+../../Task/Averages-Pythagorean-means/SuperCollider
\ No newline at end of file
diff --git a/Lang/SuperCollider/Catalan-numbers b/Lang/SuperCollider/Catalan-numbers
new file mode 120000
index 0000000000..3ee9240cf0
--- /dev/null
+++ b/Lang/SuperCollider/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/SuperCollider
\ No newline at end of file
diff --git a/Lang/SuperCollider/Golden-ratio-Convergence b/Lang/SuperCollider/Golden-ratio-Convergence
new file mode 120000
index 0000000000..77807cac46
--- /dev/null
+++ b/Lang/SuperCollider/Golden-ratio-Convergence
@@ -0,0 +1 @@
+../../Task/Golden-ratio-Convergence/SuperCollider
\ No newline at end of file
diff --git a/Lang/SuperCollider/Iterated-digits-squaring b/Lang/SuperCollider/Iterated-digits-squaring
new file mode 120000
index 0000000000..197266fc01
--- /dev/null
+++ b/Lang/SuperCollider/Iterated-digits-squaring
@@ -0,0 +1 @@
+../../Task/Iterated-digits-squaring/SuperCollider
\ No newline at end of file
diff --git a/Lang/SuperCollider/Multiplication-tables b/Lang/SuperCollider/Multiplication-tables
new file mode 120000
index 0000000000..f5418ea2b2
--- /dev/null
+++ b/Lang/SuperCollider/Multiplication-tables
@@ -0,0 +1 @@
+../../Task/Multiplication-tables/SuperCollider
\ No newline at end of file
diff --git a/Lang/SuperCollider/Semordnilap b/Lang/SuperCollider/Semordnilap
deleted file mode 120000
index ace051dba8..0000000000
--- a/Lang/SuperCollider/Semordnilap
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Semordnilap/SuperCollider
\ No newline at end of file
diff --git a/Lang/SuperCollider/Vampire-number b/Lang/SuperCollider/Vampire-number
new file mode 120000
index 0000000000..96124ca653
--- /dev/null
+++ b/Lang/SuperCollider/Vampire-number
@@ -0,0 +1 @@
+../../Task/Vampire-number/SuperCollider
\ No newline at end of file
diff --git a/Lang/Swift/AVL-tree b/Lang/Swift/AVL-tree
new file mode 120000
index 0000000000..ff46aae38e
--- /dev/null
+++ b/Lang/Swift/AVL-tree
@@ -0,0 +1 @@
+../../Task/AVL-tree/Swift
\ No newline at end of file
diff --git a/Lang/Swift/Bioinformatics-base-count b/Lang/Swift/Bioinformatics-base-count
deleted file mode 120000
index c497b7a9fe..0000000000
--- a/Lang/Swift/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/Swift
\ No newline at end of file
diff --git a/Lang/Swift/Boyer-Moore-string-search b/Lang/Swift/Boyer-Moore-string-search
new file mode 120000
index 0000000000..d0d21c21e5
--- /dev/null
+++ b/Lang/Swift/Boyer-Moore-string-search
@@ -0,0 +1 @@
+../../Task/Boyer-Moore-string-search/Swift
\ No newline at end of file
diff --git a/Lang/Swift/Chaocipher b/Lang/Swift/Chaocipher
new file mode 120000
index 0000000000..6e9ab31392
--- /dev/null
+++ b/Lang/Swift/Chaocipher
@@ -0,0 +1 @@
+../../Task/Chaocipher/Swift
\ No newline at end of file
diff --git a/Lang/Swift/Compare-length-of-two-strings b/Lang/Swift/Compare-length-of-two-strings
new file mode 120000
index 0000000000..d53f307b7e
--- /dev/null
+++ b/Lang/Swift/Compare-length-of-two-strings
@@ -0,0 +1 @@
+../../Task/Compare-length-of-two-strings/Swift
\ No newline at end of file
diff --git a/Lang/Swift/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n- b/Lang/Swift/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n-
new file mode 120000
index 0000000000..bfa2341e33
--- /dev/null
+++ b/Lang/Swift/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n-
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n-/Swift
\ No newline at end of file
diff --git a/Lang/Swift/De-Bruijn-sequences b/Lang/Swift/De-Bruijn-sequences
new file mode 120000
index 0000000000..0fbdf1e9f8
--- /dev/null
+++ b/Lang/Swift/De-Bruijn-sequences
@@ -0,0 +1 @@
+../../Task/De-Bruijn-sequences/Swift
\ No newline at end of file
diff --git a/Lang/Swift/Empty-program b/Lang/Swift/Empty-program
deleted file mode 120000
index 2c1baaa481..0000000000
--- a/Lang/Swift/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/Swift
\ No newline at end of file
diff --git a/Lang/Swift/Floyd-Warshall-algorithm b/Lang/Swift/Floyd-Warshall-algorithm
new file mode 120000
index 0000000000..d1366dce22
--- /dev/null
+++ b/Lang/Swift/Floyd-Warshall-algorithm
@@ -0,0 +1 @@
+../../Task/Floyd-Warshall-algorithm/Swift
\ No newline at end of file
diff --git a/Lang/Swift/K-d-tree b/Lang/Swift/K-d-tree
new file mode 120000
index 0000000000..a4758e806b
--- /dev/null
+++ b/Lang/Swift/K-d-tree
@@ -0,0 +1 @@
+../../Task/K-d-tree/Swift
\ No newline at end of file
diff --git a/Lang/Swift/M-bius-function b/Lang/Swift/M-bius-function
new file mode 120000
index 0000000000..cd32d72e63
--- /dev/null
+++ b/Lang/Swift/M-bius-function
@@ -0,0 +1 @@
+../../Task/M-bius-function/Swift
\ No newline at end of file
diff --git a/Lang/Swift/Miller-Rabin-primality-test b/Lang/Swift/Miller-Rabin-primality-test
deleted file mode 120000
index 08a41b9961..0000000000
--- a/Lang/Swift/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Swift
\ No newline at end of file
diff --git a/Lang/Swift/Parse-an-IP-Address b/Lang/Swift/Parse-an-IP-Address
new file mode 120000
index 0000000000..b157f3f9a2
--- /dev/null
+++ b/Lang/Swift/Parse-an-IP-Address
@@ -0,0 +1 @@
+../../Task/Parse-an-IP-Address/Swift
\ No newline at end of file
diff --git a/Lang/Swift/Pseudo-random-numbers-Splitmix64 b/Lang/Swift/Pseudo-random-numbers-Splitmix64
new file mode 120000
index 0000000000..7f3d66c35a
--- /dev/null
+++ b/Lang/Swift/Pseudo-random-numbers-Splitmix64
@@ -0,0 +1 @@
+../../Task/Pseudo-random-numbers-Splitmix64/Swift
\ No newline at end of file
diff --git a/Lang/Swift/Quaternion-type b/Lang/Swift/Quaternion-type
deleted file mode 120000
index d74f88c4be..0000000000
--- a/Lang/Swift/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Swift
\ No newline at end of file
diff --git a/Lang/Swift/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/Swift/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/Swift/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/Swift/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/Swift/Sequence-smallest-number-with-exactly-n-divisors b/Lang/Swift/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Swift/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/Swift/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/Swift/Sorting-Algorithms-Circle-Sort b/Lang/Swift/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index 367310fdad..0000000000
--- a/Lang/Swift/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/Swift
\ No newline at end of file
diff --git a/Lang/Swift/Tonelli-Shanks-algorithm b/Lang/Swift/Tonelli-Shanks-algorithm
new file mode 120000
index 0000000000..9e28b1de2a
--- /dev/null
+++ b/Lang/Swift/Tonelli-Shanks-algorithm
@@ -0,0 +1 @@
+../../Task/Tonelli-Shanks-algorithm/Swift
\ No newline at end of file
diff --git a/Lang/Symsyn/Empty-program b/Lang/Symsyn/Empty-program
deleted file mode 120000
index 73cbdf1eb6..0000000000
--- a/Lang/Symsyn/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/Symsyn
\ No newline at end of file
diff --git a/Lang/TAV/00-LANG.txt b/Lang/TAV/00-LANG.txt
new file mode 100644
index 0000000000..bb9d8890a2
--- /dev/null
+++ b/Lang/TAV/00-LANG.txt
@@ -0,0 +1,46 @@
+{{language|TAV
+|site=https://tavpl.de
+|untyped=yes
+|exec=machine
+|gc=no
+|parampass=reference
+|checking=dynamic
+|safety=safe
+}}
+{{language programming paradigm|Procedural}}
+{{CompileOnline}}
+
+'''TAV''' is the '''terse and verbose'''
+language that borrows from [[Python]], Stage2, [[Genie]] and more.
+
+Its most outstanding feature is the use of templates for function calls instead of the
+traditional function_name(parameter, parameter, ...) form.
+Matched parenthesis are consequently rarely necessary.
+
+Summary of important points:
+
+* C precompiler, should work on any system with a reasonable C compiler
+* Block structuring by indentation, like in Python; line oriented
+* No keywords in the core language, only symbols (i.e. bigraphs)
+* Variables are of any kind (type) dynamically; no declarations necessary
+* Function definition and calls by word sequences with interspersed parameters, often no parenthesis needed
+* Maps (dictionaries) with all kinds of keys (except floating-point numbers)
+* Rows (arrays) if the keys are dense integers, dynamically expanding
+* Arbitrary precision integer numbers
+* Dynamic Unicode strings
+* Fields for extra data in rows and maps
+* Attributes for information about an item
+* Fault items for reliable error handling
+* Reference counting avoids unsolicited delays for garbage-collection
+* Basic support for object-oriented programming (no inheritance)
+* Discretionary type system specified, but not yet tested
+* Publication syntax with common English keywords instead of symbols
+* Bindings to SDL, Cairo and GTK (proof-of-concept level)
+
+Many examples can be run via copy and paste in the Playground.
+
+Because there are no keywords and rarely nested parenthesis (of any kind),
+syntax highlighting is not used.
+
+==Links==
+*[[https://tavpl.de/TAV-Online TAV Online Playground]]
\ No newline at end of file
diff --git a/Lang/TAV/00-META.yaml b/Lang/TAV/00-META.yaml
new file mode 100644
index 0000000000..94650f22a2
--- /dev/null
+++ b/Lang/TAV/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:TAV
diff --git a/Lang/TAV/A+B b/Lang/TAV/A+B
new file mode 120000
index 0000000000..a5e97665e3
--- /dev/null
+++ b/Lang/TAV/A+B
@@ -0,0 +1 @@
+../../Task/A+B/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Ackermann-function b/Lang/TAV/Ackermann-function
new file mode 120000
index 0000000000..237de07217
--- /dev/null
+++ b/Lang/TAV/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Anagrams b/Lang/TAV/Anagrams
new file mode 120000
index 0000000000..335a62bd1c
--- /dev/null
+++ b/Lang/TAV/Anagrams
@@ -0,0 +1 @@
+../../Task/Anagrams/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Arithmetic-Integer b/Lang/TAV/Arithmetic-Integer
new file mode 120000
index 0000000000..b9d994e37f
--- /dev/null
+++ b/Lang/TAV/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Array-concatenation b/Lang/TAV/Array-concatenation
new file mode 120000
index 0000000000..a1b0d9260d
--- /dev/null
+++ b/Lang/TAV/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Array-length b/Lang/TAV/Array-length
new file mode 120000
index 0000000000..0d849f41e8
--- /dev/null
+++ b/Lang/TAV/Array-length
@@ -0,0 +1 @@
+../../Task/Array-length/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Ascending-primes b/Lang/TAV/Ascending-primes
new file mode 120000
index 0000000000..b4add5cfb9
--- /dev/null
+++ b/Lang/TAV/Ascending-primes
@@ -0,0 +1 @@
+../../Task/Ascending-primes/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Associative-array-Iteration b/Lang/TAV/Associative-array-Iteration
new file mode 120000
index 0000000000..48bdb805ad
--- /dev/null
+++ b/Lang/TAV/Associative-array-Iteration
@@ -0,0 +1 @@
+../../Task/Associative-array-Iteration/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Averages-Root-mean-square b/Lang/TAV/Averages-Root-mean-square
new file mode 120000
index 0000000000..75f73fbdb8
--- /dev/null
+++ b/Lang/TAV/Averages-Root-mean-square
@@ -0,0 +1 @@
+../../Task/Averages-Root-mean-square/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Babbage-problem b/Lang/TAV/Babbage-problem
new file mode 120000
index 0000000000..141507242e
--- /dev/null
+++ b/Lang/TAV/Babbage-problem
@@ -0,0 +1 @@
+../../Task/Babbage-problem/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Bernoulli-numbers b/Lang/TAV/Bernoulli-numbers
new file mode 120000
index 0000000000..164f4e8e6c
--- /dev/null
+++ b/Lang/TAV/Bernoulli-numbers
@@ -0,0 +1 @@
+../../Task/Bernoulli-numbers/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Character-codes b/Lang/TAV/Character-codes
new file mode 120000
index 0000000000..46e37f6e83
--- /dev/null
+++ b/Lang/TAV/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Command-line-arguments b/Lang/TAV/Command-line-arguments
new file mode 120000
index 0000000000..72fc191937
--- /dev/null
+++ b/Lang/TAV/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Conditional-structures b/Lang/TAV/Conditional-structures
new file mode 120000
index 0000000000..bf797da6e6
--- /dev/null
+++ b/Lang/TAV/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Convert-decimal-number-to-rational b/Lang/TAV/Convert-decimal-number-to-rational
new file mode 120000
index 0000000000..c7b635149b
--- /dev/null
+++ b/Lang/TAV/Convert-decimal-number-to-rational
@@ -0,0 +1 @@
+../../Task/Convert-decimal-number-to-rational/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Copy-a-string b/Lang/TAV/Copy-a-string
new file mode 120000
index 0000000000..3ca111af72
--- /dev/null
+++ b/Lang/TAV/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Create-a-two-dimensional-array-at-runtime b/Lang/TAV/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..ec0fae01dd
--- /dev/null
+++ b/Lang/TAV/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Empty-string b/Lang/TAV/Empty-string
new file mode 120000
index 0000000000..c001916e31
--- /dev/null
+++ b/Lang/TAV/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Factorial b/Lang/TAV/Factorial
new file mode 120000
index 0000000000..005136367e
--- /dev/null
+++ b/Lang/TAV/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Fibonacci-sequence b/Lang/TAV/Fibonacci-sequence
new file mode 120000
index 0000000000..e65f13e72b
--- /dev/null
+++ b/Lang/TAV/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Formatted-numeric-output b/Lang/TAV/Formatted-numeric-output
new file mode 120000
index 0000000000..efbc60523a
--- /dev/null
+++ b/Lang/TAV/Formatted-numeric-output
@@ -0,0 +1 @@
+../../Task/Formatted-numeric-output/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Greatest-element-of-a-list b/Lang/TAV/Greatest-element-of-a-list
new file mode 120000
index 0000000000..b4f81674a0
--- /dev/null
+++ b/Lang/TAV/Greatest-element-of-a-list
@@ -0,0 +1 @@
+../../Task/Greatest-element-of-a-list/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Guess-the-number-With-feedback b/Lang/TAV/Guess-the-number-With-feedback
new file mode 120000
index 0000000000..5779e4d532
--- /dev/null
+++ b/Lang/TAV/Guess-the-number-With-feedback
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback/TAV
\ No newline at end of file
diff --git a/Lang/TAV/HTTPS b/Lang/TAV/HTTPS
new file mode 120000
index 0000000000..3b5c7b8988
--- /dev/null
+++ b/Lang/TAV/HTTPS
@@ -0,0 +1 @@
+../../Task/HTTPS/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Halt-and-catch-fire b/Lang/TAV/Halt-and-catch-fire
new file mode 120000
index 0000000000..802c4aa7b1
--- /dev/null
+++ b/Lang/TAV/Halt-and-catch-fire
@@ -0,0 +1 @@
+../../Task/Halt-and-catch-fire/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Hello-world-Graphical b/Lang/TAV/Hello-world-Graphical
new file mode 120000
index 0000000000..5207716bc0
--- /dev/null
+++ b/Lang/TAV/Hello-world-Graphical
@@ -0,0 +1 @@
+../../Task/Hello-world-Graphical/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Hello-world-Text b/Lang/TAV/Hello-world-Text
new file mode 120000
index 0000000000..3fd6788564
--- /dev/null
+++ b/Lang/TAV/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Letter-frequency b/Lang/TAV/Letter-frequency
new file mode 120000
index 0000000000..891b699844
--- /dev/null
+++ b/Lang/TAV/Letter-frequency
@@ -0,0 +1 @@
+../../Task/Letter-frequency/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Loop-over-multiple-arrays-simultaneously b/Lang/TAV/Loop-over-multiple-arrays-simultaneously
new file mode 120000
index 0000000000..b6133fd1e3
--- /dev/null
+++ b/Lang/TAV/Loop-over-multiple-arrays-simultaneously
@@ -0,0 +1 @@
+../../Task/Loop-over-multiple-arrays-simultaneously/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Loops-Break b/Lang/TAV/Loops-Break
new file mode 120000
index 0000000000..9576a14c29
--- /dev/null
+++ b/Lang/TAV/Loops-Break
@@ -0,0 +1 @@
+../../Task/Loops-Break/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Loops-Do-while b/Lang/TAV/Loops-Do-while
new file mode 120000
index 0000000000..1fc4e33872
--- /dev/null
+++ b/Lang/TAV/Loops-Do-while
@@ -0,0 +1 @@
+../../Task/Loops-Do-while/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Loops-Downward-for b/Lang/TAV/Loops-Downward-for
new file mode 120000
index 0000000000..414c0842ce
--- /dev/null
+++ b/Lang/TAV/Loops-Downward-for
@@ -0,0 +1 @@
+../../Task/Loops-Downward-for/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Loops-For b/Lang/TAV/Loops-For
new file mode 120000
index 0000000000..b5f2be83c7
--- /dev/null
+++ b/Lang/TAV/Loops-For
@@ -0,0 +1 @@
+../../Task/Loops-For/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Loops-Infinite b/Lang/TAV/Loops-Infinite
new file mode 120000
index 0000000000..6ab04989e3
--- /dev/null
+++ b/Lang/TAV/Loops-Infinite
@@ -0,0 +1 @@
+../../Task/Loops-Infinite/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Loops-N-plus-one-half b/Lang/TAV/Loops-N-plus-one-half
new file mode 120000
index 0000000000..eaeea87dec
--- /dev/null
+++ b/Lang/TAV/Loops-N-plus-one-half
@@ -0,0 +1 @@
+../../Task/Loops-N-plus-one-half/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Loops-While b/Lang/TAV/Loops-While
new file mode 120000
index 0000000000..b408169718
--- /dev/null
+++ b/Lang/TAV/Loops-While
@@ -0,0 +1 @@
+../../Task/Loops-While/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Multiplication-tables b/Lang/TAV/Multiplication-tables
new file mode 120000
index 0000000000..294070cfc4
--- /dev/null
+++ b/Lang/TAV/Multiplication-tables
@@ -0,0 +1 @@
+../../Task/Multiplication-tables/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Ordered-words b/Lang/TAV/Ordered-words
new file mode 120000
index 0000000000..1dd34f0734
--- /dev/null
+++ b/Lang/TAV/Ordered-words
@@ -0,0 +1 @@
+../../Task/Ordered-words/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Permutations b/Lang/TAV/Permutations
new file mode 120000
index 0000000000..c61f5ead43
--- /dev/null
+++ b/Lang/TAV/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Real-constants-and-functions b/Lang/TAV/Real-constants-and-functions
new file mode 120000
index 0000000000..074b803009
--- /dev/null
+++ b/Lang/TAV/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Reverse-a-string b/Lang/TAV/Reverse-a-string
new file mode 120000
index 0000000000..ded0969ffb
--- /dev/null
+++ b/Lang/TAV/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Semordnilap b/Lang/TAV/Semordnilap
new file mode 120000
index 0000000000..2269a5f472
--- /dev/null
+++ b/Lang/TAV/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Show-ASCII-table b/Lang/TAV/Show-ASCII-table
new file mode 120000
index 0000000000..f220b6d5c2
--- /dev/null
+++ b/Lang/TAV/Show-ASCII-table
@@ -0,0 +1 @@
+../../Task/Show-ASCII-table/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Simple-windowed-application b/Lang/TAV/Simple-windowed-application
new file mode 120000
index 0000000000..16b1926606
--- /dev/null
+++ b/Lang/TAV/Simple-windowed-application
@@ -0,0 +1 @@
+../../Task/Simple-windowed-application/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Stack b/Lang/TAV/Stack
new file mode 120000
index 0000000000..a05bead248
--- /dev/null
+++ b/Lang/TAV/Stack
@@ -0,0 +1 @@
+../../Task/Stack/TAV
\ No newline at end of file
diff --git a/Lang/TAV/String-length b/Lang/TAV/String-length
new file mode 120000
index 0000000000..6374cb4fac
--- /dev/null
+++ b/Lang/TAV/String-length
@@ -0,0 +1 @@
+../../Task/String-length/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Sudoku b/Lang/TAV/Sudoku
new file mode 120000
index 0000000000..c7ddc3598c
--- /dev/null
+++ b/Lang/TAV/Sudoku
@@ -0,0 +1 @@
+../../Task/Sudoku/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Tic-tac-toe b/Lang/TAV/Tic-tac-toe
new file mode 120000
index 0000000000..c75d3a40ab
--- /dev/null
+++ b/Lang/TAV/Tic-tac-toe
@@ -0,0 +1 @@
+../../Task/Tic-tac-toe/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Tokenize-a-string b/Lang/TAV/Tokenize-a-string
new file mode 120000
index 0000000000..8b4118dfbe
--- /dev/null
+++ b/Lang/TAV/Tokenize-a-string
@@ -0,0 +1 @@
+../../Task/Tokenize-a-string/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Twelve-statements b/Lang/TAV/Twelve-statements
new file mode 120000
index 0000000000..0036358c10
--- /dev/null
+++ b/Lang/TAV/Twelve-statements
@@ -0,0 +1 @@
+../../Task/Twelve-statements/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Window-creation b/Lang/TAV/Window-creation
new file mode 120000
index 0000000000..83a0431016
--- /dev/null
+++ b/Lang/TAV/Window-creation
@@ -0,0 +1 @@
+../../Task/Window-creation/TAV
\ No newline at end of file
diff --git a/Lang/TAV/Word-frequency b/Lang/TAV/Word-frequency
new file mode 120000
index 0000000000..569f86daf5
--- /dev/null
+++ b/Lang/TAV/Word-frequency
@@ -0,0 +1 @@
+../../Task/Word-frequency/TAV
\ No newline at end of file
diff --git a/Lang/TI-83-BASIC/00-LANG.txt b/Lang/TI-83-BASIC/00-LANG.txt
index 571b0d2a73..a8830c103d 100644
--- a/Lang/TI-83-BASIC/00-LANG.txt
+++ b/Lang/TI-83-BASIC/00-LANG.txt
@@ -8,24 +8,24 @@
The language contains control flow for structured programming.
The main control flow statements are:
====If====
-If condition
+If condition
Then
...
Else
...
-End
+End
====For====
-For(variable,start,stop,step)
+For(variable,start,stop,step)
...
-End
+End
====While====
-While condition
+While condition
...
-End
+End
====Repeat====
-Repeat condition
+Repeat condition
...
-End
+End
===Data types===
'''TI-BASIC''' is a strongly and dynamically-typed language
Variables are global. There is no local variables. So programs cannot be recursive, even if a program can call itself.
@@ -37,11 +37,11 @@ Variables are global. There is no local variables. So programs cannot be recursi
==Example==
One popular example is the quadratic formula program.
-Prompt A,B,C
+Prompt A,B,C
B²-4AC->D
(-B-sqrt(D))/(2A)->Y
(-B+sqrt(D))/(2A)->X
-{Y,X}
+{Y,X}
As far there is a complex mode and variable can be real or complex, this program is very ubiquitous.
diff --git a/Lang/TXR/Cheryls-birthday b/Lang/TXR/Cheryls-birthday
new file mode 120000
index 0000000000..3755473e4e
--- /dev/null
+++ b/Lang/TXR/Cheryls-birthday
@@ -0,0 +1 @@
+../../Task/Cheryls-birthday/TXR
\ No newline at end of file
diff --git a/Lang/Tailspin/00-LANG.txt b/Lang/Tailspin/00-LANG.txt
index a8437326e6..02c82847dd 100644
--- a/Lang/Tailspin/00-LANG.txt
+++ b/Lang/Tailspin/00-LANG.txt
@@ -18,4 +18,6 @@ The inspiration comes mostly from xslt, but data structures are json-like. The m
[https://github.com/tobega/tailspin-v0/blob/master/TailspinReference.md Syntax reference]
-Development page, also how to run Tailspin programs [https://github.com/tobega/tailspin-v0 on github]
\ No newline at end of file
+Development page, also how to run Tailspin programs [https://github.com/tobega/tailspin-v0 on github]
+
+Next version v0.5 [https://github.com/tobega/tailspin-v0.5 under development]
\ No newline at end of file
diff --git a/Lang/Tailspin/Combinations b/Lang/Tailspin/Combinations
new file mode 120000
index 0000000000..987b496fbb
--- /dev/null
+++ b/Lang/Tailspin/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/Tailspin
\ No newline at end of file
diff --git a/Lang/Tailspin/Sierpinski-triangle b/Lang/Tailspin/Sierpinski-triangle
new file mode 120000
index 0000000000..b603b111a2
--- /dev/null
+++ b/Lang/Tailspin/Sierpinski-triangle
@@ -0,0 +1 @@
+../../Task/Sierpinski-triangle/Tailspin
\ No newline at end of file
diff --git a/Lang/Tcl/Ascending-primes b/Lang/Tcl/Ascending-primes
new file mode 120000
index 0000000000..aad1d565ea
--- /dev/null
+++ b/Lang/Tcl/Ascending-primes
@@ -0,0 +1 @@
+../../Task/Ascending-primes/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Bioinformatics-base-count b/Lang/Tcl/Bioinformatics-base-count
deleted file mode 120000
index 2d2ea8e987..0000000000
--- a/Lang/Tcl/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Chaocipher b/Lang/Tcl/Chaocipher
new file mode 120000
index 0000000000..8d836b3e4a
--- /dev/null
+++ b/Lang/Tcl/Chaocipher
@@ -0,0 +1 @@
+../../Task/Chaocipher/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Character-codes b/Lang/Tcl/Character-codes
deleted file mode 120000
index 3f7702eaa9..0000000000
--- a/Lang/Tcl/Character-codes
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Character-codes/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/De-Bruijn-sequences b/Lang/Tcl/De-Bruijn-sequences
new file mode 120000
index 0000000000..b3e1240d2e
--- /dev/null
+++ b/Lang/Tcl/De-Bruijn-sequences
@@ -0,0 +1 @@
+../../Task/De-Bruijn-sequences/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Descending-primes b/Lang/Tcl/Descending-primes
new file mode 120000
index 0000000000..11b4ea6aa0
--- /dev/null
+++ b/Lang/Tcl/Descending-primes
@@ -0,0 +1 @@
+../../Task/Descending-primes/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Find-if-a-point-is-within-a-triangle b/Lang/Tcl/Find-if-a-point-is-within-a-triangle
new file mode 120000
index 0000000000..340eb44d03
--- /dev/null
+++ b/Lang/Tcl/Find-if-a-point-is-within-a-triangle
@@ -0,0 +1 @@
+../../Task/Find-if-a-point-is-within-a-triangle/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/M-bius-function b/Lang/Tcl/M-bius-function
new file mode 120000
index 0000000000..1c7ccdef59
--- /dev/null
+++ b/Lang/Tcl/M-bius-function
@@ -0,0 +1 @@
+../../Task/M-bius-function/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Miller-Rabin-primality-test b/Lang/Tcl/Miller-Rabin-primality-test
deleted file mode 120000
index 5e3095425f..0000000000
--- a/Lang/Tcl/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Quaternion-type b/Lang/Tcl/Quaternion-type
deleted file mode 120000
index 50905d75b8..0000000000
--- a/Lang/Tcl/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Sequence-smallest-number-with-exactly-n-divisors b/Lang/Tcl/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Tcl/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/Tcl/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/Tcl/Strassens-algorithm b/Lang/Tcl/Strassens-algorithm
new file mode 120000
index 0000000000..8ac35c1ae0
--- /dev/null
+++ b/Lang/Tcl/Strassens-algorithm
@@ -0,0 +1 @@
+../../Task/Strassens-algorithm/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Unicode-strings b/Lang/Tcl/Unicode-strings
new file mode 120000
index 0000000000..5d3bbc0431
--- /dev/null
+++ b/Lang/Tcl/Unicode-strings
@@ -0,0 +1 @@
+../../Task/Unicode-strings/Tcl
\ No newline at end of file
diff --git a/Lang/Tiny-BASIC/Leonardo-numbers b/Lang/Tiny-BASIC/Leonardo-numbers
new file mode 120000
index 0000000000..731e542c2f
--- /dev/null
+++ b/Lang/Tiny-BASIC/Leonardo-numbers
@@ -0,0 +1 @@
+../../Task/Leonardo-numbers/Tiny-BASIC
\ No newline at end of file
diff --git a/Lang/Tiny-BASIC/Magic-constant b/Lang/Tiny-BASIC/Magic-constant
new file mode 120000
index 0000000000..e64a075712
--- /dev/null
+++ b/Lang/Tiny-BASIC/Magic-constant
@@ -0,0 +1 @@
+../../Task/Magic-constant/Tiny-BASIC
\ No newline at end of file
diff --git a/Lang/Tiny-BASIC/Mandelbrot-set b/Lang/Tiny-BASIC/Mandelbrot-set
new file mode 120000
index 0000000000..9aab104307
--- /dev/null
+++ b/Lang/Tiny-BASIC/Mandelbrot-set
@@ -0,0 +1 @@
+../../Task/Mandelbrot-set/Tiny-BASIC
\ No newline at end of file
diff --git a/Lang/Tiny-BASIC/The-Twelve-Days-of-Christmas b/Lang/Tiny-BASIC/The-Twelve-Days-of-Christmas
new file mode 120000
index 0000000000..8dad6cc4e9
--- /dev/null
+++ b/Lang/Tiny-BASIC/The-Twelve-Days-of-Christmas
@@ -0,0 +1 @@
+../../Task/The-Twelve-Days-of-Christmas/Tiny-BASIC
\ No newline at end of file
diff --git a/Lang/Transd/Compare-length-of-two-strings b/Lang/Transd/Compare-length-of-two-strings
deleted file mode 120000
index 28f3956c3e..0000000000
--- a/Lang/Transd/Compare-length-of-two-strings
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Compare-length-of-two-strings/Transd
\ No newline at end of file
diff --git a/Lang/Trith/Empty-program b/Lang/Trith/Empty-program
deleted file mode 120000
index a3056b4a8b..0000000000
--- a/Lang/Trith/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/Trith
\ No newline at end of file
diff --git a/Lang/True-BASIC/00-LANG.txt b/Lang/True-BASIC/00-LANG.txt
index 765d6ad0cc..7ebdbc548e 100644
--- a/Lang/True-BASIC/00-LANG.txt
+++ b/Lang/True-BASIC/00-LANG.txt
@@ -2,6 +2,7 @@
|exec=interpreted
|tags=basic,TrueBasic
|site=http://www.truebasic.com/}}
+{{implementation|BASIC}}
True BASIC is a variant of the BASIC programming language descended from Dartmouth BASIC, the original BASIC. It was invented by college professors John G. Kemeny and Thomas E. Kurtz.
It is an interpreted, procedural language and sold as a commercial product. Versions have existed for Microsoft Windows, Apple Mac OS, MS-DOS, OS/2, and the Atari ST. The latest version of the language is 6.007 and currently only runs on Microsoft Windows.
diff --git a/Lang/True-BASIC/100-prisoners b/Lang/True-BASIC/100-prisoners
new file mode 120000
index 0000000000..b793e357f7
--- /dev/null
+++ b/Lang/True-BASIC/100-prisoners
@@ -0,0 +1 @@
+../../Task/100-prisoners/True-BASIC
\ No newline at end of file
diff --git a/Lang/True-BASIC/Determine-sentence-type b/Lang/True-BASIC/Determine-sentence-type
new file mode 120000
index 0000000000..988197fd95
--- /dev/null
+++ b/Lang/True-BASIC/Determine-sentence-type
@@ -0,0 +1 @@
+../../Task/Determine-sentence-type/True-BASIC
\ No newline at end of file
diff --git a/Lang/True-BASIC/Diversity-prediction-theorem b/Lang/True-BASIC/Diversity-prediction-theorem
new file mode 120000
index 0000000000..85980181c1
--- /dev/null
+++ b/Lang/True-BASIC/Diversity-prediction-theorem
@@ -0,0 +1 @@
+../../Task/Diversity-prediction-theorem/True-BASIC
\ No newline at end of file
diff --git a/Lang/True-BASIC/Evaluate-binomial-coefficients b/Lang/True-BASIC/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..8a2a036883
--- /dev/null
+++ b/Lang/True-BASIC/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/True-BASIC
\ No newline at end of file
diff --git a/Lang/True-BASIC/Greatest-element-of-a-list b/Lang/True-BASIC/Greatest-element-of-a-list
new file mode 120000
index 0000000000..3c9a45a72c
--- /dev/null
+++ b/Lang/True-BASIC/Greatest-element-of-a-list
@@ -0,0 +1 @@
+../../Task/Greatest-element-of-a-list/True-BASIC
\ No newline at end of file
diff --git a/Lang/True-BASIC/Leonardo-numbers b/Lang/True-BASIC/Leonardo-numbers
new file mode 120000
index 0000000000..7faae2372e
--- /dev/null
+++ b/Lang/True-BASIC/Leonardo-numbers
@@ -0,0 +1 @@
+../../Task/Leonardo-numbers/True-BASIC
\ No newline at end of file
diff --git a/Lang/True-BASIC/Loop-over-multiple-arrays-simultaneously b/Lang/True-BASIC/Loop-over-multiple-arrays-simultaneously
new file mode 120000
index 0000000000..0cb7e37da5
--- /dev/null
+++ b/Lang/True-BASIC/Loop-over-multiple-arrays-simultaneously
@@ -0,0 +1 @@
+../../Task/Loop-over-multiple-arrays-simultaneously/True-BASIC
\ No newline at end of file
diff --git a/Lang/True-BASIC/Meissel-Mertens-constant b/Lang/True-BASIC/Meissel-Mertens-constant
deleted file mode 120000
index fd72ec2c53..0000000000
--- a/Lang/True-BASIC/Meissel-Mertens-constant
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Meissel-Mertens-constant/True-BASIC
\ No newline at end of file
diff --git a/Lang/True-BASIC/Multiple-regression b/Lang/True-BASIC/Multiple-regression
new file mode 120000
index 0000000000..ca0e5c404e
--- /dev/null
+++ b/Lang/True-BASIC/Multiple-regression
@@ -0,0 +1 @@
+../../Task/Multiple-regression/True-BASIC
\ No newline at end of file
diff --git a/Lang/True-BASIC/Phrase-reversals b/Lang/True-BASIC/Phrase-reversals
new file mode 120000
index 0000000000..564680054e
--- /dev/null
+++ b/Lang/True-BASIC/Phrase-reversals
@@ -0,0 +1 @@
+../../Task/Phrase-reversals/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
similarity index 100%
rename from Lang/True-BASIC/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/True-BASIC/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/True-BASIC/Soundex b/Lang/True-BASIC/Soundex
new file mode 120000
index 0000000000..33e7fb68ee
--- /dev/null
+++ b/Lang/True-BASIC/Soundex
@@ -0,0 +1 @@
+../../Task/Soundex/True-BASIC
\ No newline at end of file
diff --git a/Lang/True-BASIC/Split-a-character-string-based-on-change-of-character b/Lang/True-BASIC/Split-a-character-string-based-on-change-of-character
new file mode 120000
index 0000000000..e25a5cf6f3
--- /dev/null
+++ b/Lang/True-BASIC/Split-a-character-string-based-on-change-of-character
@@ -0,0 +1 @@
+../../Task/Split-a-character-string-based-on-change-of-character/True-BASIC
\ No newline at end of file
diff --git a/Lang/True-BASIC/The-Name-Game b/Lang/True-BASIC/The-Name-Game
new file mode 120000
index 0000000000..bf4d14fb81
--- /dev/null
+++ b/Lang/True-BASIC/The-Name-Game
@@ -0,0 +1 @@
+../../Task/The-Name-Game/True-BASIC
\ No newline at end of file
diff --git a/Lang/True-BASIC/Vector b/Lang/True-BASIC/Vector
new file mode 120000
index 0000000000..4da227d0fe
--- /dev/null
+++ b/Lang/True-BASIC/Vector
@@ -0,0 +1 @@
+../../Task/Vector/True-BASIC
\ No newline at end of file
diff --git a/Lang/TypeScript/Additive-primes b/Lang/TypeScript/Additive-primes
new file mode 120000
index 0000000000..698823ecab
--- /dev/null
+++ b/Lang/TypeScript/Additive-primes
@@ -0,0 +1 @@
+../../Task/Additive-primes/TypeScript
\ No newline at end of file
diff --git a/Lang/TypeScript/Arithmetic-numbers b/Lang/TypeScript/Arithmetic-numbers
new file mode 120000
index 0000000000..0a37af8cff
--- /dev/null
+++ b/Lang/TypeScript/Arithmetic-numbers
@@ -0,0 +1 @@
+../../Task/Arithmetic-numbers/TypeScript
\ No newline at end of file
diff --git a/Lang/TypeScript/Deal-cards-for-FreeCell b/Lang/TypeScript/Deal-cards-for-FreeCell
new file mode 120000
index 0000000000..04eefe17ef
--- /dev/null
+++ b/Lang/TypeScript/Deal-cards-for-FreeCell
@@ -0,0 +1 @@
+../../Task/Deal-cards-for-FreeCell/TypeScript
\ No newline at end of file
diff --git a/Lang/TypeScript/Leonardo-numbers b/Lang/TypeScript/Leonardo-numbers
new file mode 120000
index 0000000000..501c953b40
--- /dev/null
+++ b/Lang/TypeScript/Leonardo-numbers
@@ -0,0 +1 @@
+../../Task/Leonardo-numbers/TypeScript
\ No newline at end of file
diff --git a/Lang/TypeScript/Map-range b/Lang/TypeScript/Map-range
new file mode 120000
index 0000000000..50eeda25cd
--- /dev/null
+++ b/Lang/TypeScript/Map-range
@@ -0,0 +1 @@
+../../Task/Map-range/TypeScript
\ No newline at end of file
diff --git a/Lang/TypeScript/Sum-of-a-series b/Lang/TypeScript/Sum-of-a-series
new file mode 120000
index 0000000000..810faf05f3
--- /dev/null
+++ b/Lang/TypeScript/Sum-of-a-series
@@ -0,0 +1 @@
+../../Task/Sum-of-a-series/TypeScript
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/CRC-32 b/Lang/UNIX-Shell/CRC-32
new file mode 120000
index 0000000000..7be1bb462f
--- /dev/null
+++ b/Lang/UNIX-Shell/CRC-32
@@ -0,0 +1 @@
+../../Task/CRC-32/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Color-of-a-screen-pixel b/Lang/UNIX-Shell/Color-of-a-screen-pixel
new file mode 120000
index 0000000000..8344bcd2f2
--- /dev/null
+++ b/Lang/UNIX-Shell/Color-of-a-screen-pixel
@@ -0,0 +1 @@
+../../Task/Color-of-a-screen-pixel/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Color-quantization b/Lang/UNIX-Shell/Color-quantization
new file mode 120000
index 0000000000..6c518f1af5
--- /dev/null
+++ b/Lang/UNIX-Shell/Color-quantization
@@ -0,0 +1 @@
+../../Task/Color-quantization/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Copy-stdin-to-stdout b/Lang/UNIX-Shell/Copy-stdin-to-stdout
new file mode 120000
index 0000000000..217727646b
--- /dev/null
+++ b/Lang/UNIX-Shell/Copy-stdin-to-stdout
@@ -0,0 +1 @@
+../../Task/Copy-stdin-to-stdout/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Horners-rule-for-polynomial-evaluation b/Lang/UNIX-Shell/Horners-rule-for-polynomial-evaluation
new file mode 120000
index 0000000000..18a4ccc4dc
--- /dev/null
+++ b/Lang/UNIX-Shell/Horners-rule-for-polynomial-evaluation
@@ -0,0 +1 @@
+../../Task/Horners-rule-for-polynomial-evaluation/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Pi b/Lang/UNIX-Shell/Pi
new file mode 120000
index 0000000000..854a52d02a
--- /dev/null
+++ b/Lang/UNIX-Shell/Pi
@@ -0,0 +1 @@
+../../Task/Pi/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Trabb-Pardo-Knuth-algorithm b/Lang/UNIX-Shell/Trabb-Pardo-Knuth-algorithm
new file mode 120000
index 0000000000..d9c18fe35b
--- /dev/null
+++ b/Lang/UNIX-Shell/Trabb-Pardo-Knuth-algorithm
@@ -0,0 +1 @@
+../../Task/Trabb-Pardo-Knuth-algorithm/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/Uiua/00-LANG.txt b/Lang/Uiua/00-LANG.txt
index 2a4f3f689f..f3cc2f1ee5 100644
--- a/Lang/Uiua/00-LANG.txt
+++ b/Lang/Uiua/00-LANG.txt
@@ -1,7 +1,15 @@
{{language
-|site=https://www.uiua.org/}}
-{{language programming paradigm|functional}}
-Uiua (''wee-wuh'') is a general purpose, stack-based, array-oriented programming language with a focus on simplicity, beauty, and tacit code.
+|exec=bytecode
+|site=https://www.uiua.org/
+|checking=dynamic
+|gc=yes
+|express=implicit
+|LCT=yes}}
+{{language programming paradigm|array}}
+{{language programming paradigm|functional|array}}
+From [https://www.uiua.org uiua.org]:
+
+"Uiua (''wee-wuh'') is a general purpose, stack-based, array-oriented programming language with a focus on simplicity, beauty, and tacit code.
Uiua has a simple, context-free, LL(3) grammar. Code runs from right to left, top to bottom, with only one precedence rule. As operators are to the left of their operands, Uiua code reads a little bit like a Lisp, but with fewer parentheses.
@@ -11,4 +19,10 @@ Uiua's one and only composite data type, the array, is based on those of APL, J,
Unlike other array languages, Uiua does not have monadic and dyadic versions of each glyph. Every glyph does only one thing, so you don't need to parse an entire expression to know which version it is.
-Find out more, and run code in your browser at https://www.uiua.org
\ No newline at end of file
+Find out more, and run code in your browser at [https://www.uiua.org https://www.uiua.org]."
+
+===Note===
+The Uiua programming language uses a custom font and colorful syntax highlighting to increase the readability of its code. As such syntax highlighting is not possible to display on this wiki, it is recommended to paste code into [https://www.uiua.org/pad the online Uiua pad] (or a [https://www.uiua.org/install#editor-support supported editor]) to view code more easily.
+
+==Todo==
+[https://rosettacode.org/wiki/Tasks_not_implemented_in_Uiua Tasks not implemented in Uiua]
\ No newline at end of file
diff --git a/Lang/Uiua/100-doors b/Lang/Uiua/100-doors
new file mode 120000
index 0000000000..58d6cad56c
--- /dev/null
+++ b/Lang/Uiua/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/15-puzzle-solver b/Lang/Uiua/15-puzzle-solver
new file mode 120000
index 0000000000..d2c4541287
--- /dev/null
+++ b/Lang/Uiua/15-puzzle-solver
@@ -0,0 +1 @@
+../../Task/15-puzzle-solver/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/21-game b/Lang/Uiua/21-game
new file mode 120000
index 0000000000..629762436d
--- /dev/null
+++ b/Lang/Uiua/21-game
@@ -0,0 +1 @@
+../../Task/21-game/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/4-rings-or-4-squares-puzzle b/Lang/Uiua/4-rings-or-4-squares-puzzle
new file mode 120000
index 0000000000..a31782d205
--- /dev/null
+++ b/Lang/Uiua/4-rings-or-4-squares-puzzle
@@ -0,0 +1 @@
+../../Task/4-rings-or-4-squares-puzzle/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/99-bottles-of-beer b/Lang/Uiua/99-bottles-of-beer
new file mode 120000
index 0000000000..bd1d75c2c7
--- /dev/null
+++ b/Lang/Uiua/99-bottles-of-beer
@@ -0,0 +1 @@
+../../Task/99-bottles-of-beer/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/A+B b/Lang/Uiua/A+B
new file mode 120000
index 0000000000..df9da8c183
--- /dev/null
+++ b/Lang/Uiua/A+B
@@ -0,0 +1 @@
+../../Task/A+B/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/ABC-problem b/Lang/Uiua/ABC-problem
new file mode 120000
index 0000000000..e3c88d305a
--- /dev/null
+++ b/Lang/Uiua/ABC-problem
@@ -0,0 +1 @@
+../../Task/ABC-problem/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/ADFGVX-cipher b/Lang/Uiua/ADFGVX-cipher
new file mode 120000
index 0000000000..3b808ce65e
--- /dev/null
+++ b/Lang/Uiua/ADFGVX-cipher
@@ -0,0 +1 @@
+../../Task/ADFGVX-cipher/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/ASCII-art-diagram-converter b/Lang/Uiua/ASCII-art-diagram-converter
new file mode 120000
index 0000000000..7868ebc205
--- /dev/null
+++ b/Lang/Uiua/ASCII-art-diagram-converter
@@ -0,0 +1 @@
+../../Task/ASCII-art-diagram-converter/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Abbreviations-automatic b/Lang/Uiua/Abbreviations-automatic
new file mode 120000
index 0000000000..4ed38ebb71
--- /dev/null
+++ b/Lang/Uiua/Abbreviations-automatic
@@ -0,0 +1 @@
+../../Task/Abbreviations-automatic/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Abelian-sandpile-model b/Lang/Uiua/Abelian-sandpile-model
new file mode 120000
index 0000000000..511d6d21ce
--- /dev/null
+++ b/Lang/Uiua/Abelian-sandpile-model
@@ -0,0 +1 @@
+../../Task/Abelian-sandpile-model/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Abundant-deficient-and-perfect-number-classifications b/Lang/Uiua/Abundant-deficient-and-perfect-number-classifications
new file mode 120000
index 0000000000..4ea7de4aaa
--- /dev/null
+++ b/Lang/Uiua/Abundant-deficient-and-perfect-number-classifications
@@ -0,0 +1 @@
+../../Task/Abundant-deficient-and-perfect-number-classifications/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Abundant-odd-numbers b/Lang/Uiua/Abundant-odd-numbers
new file mode 120000
index 0000000000..15f27f9ef1
--- /dev/null
+++ b/Lang/Uiua/Abundant-odd-numbers
@@ -0,0 +1 @@
+../../Task/Abundant-odd-numbers/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Ackermann-function b/Lang/Uiua/Ackermann-function
new file mode 120000
index 0000000000..94bc0faf99
--- /dev/null
+++ b/Lang/Uiua/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Align-columns b/Lang/Uiua/Align-columns
new file mode 120000
index 0000000000..90d8156011
--- /dev/null
+++ b/Lang/Uiua/Align-columns
@@ -0,0 +1 @@
+../../Task/Align-columns/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Almost-prime b/Lang/Uiua/Almost-prime
new file mode 120000
index 0000000000..392773baf7
--- /dev/null
+++ b/Lang/Uiua/Almost-prime
@@ -0,0 +1 @@
+../../Task/Almost-prime/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Amicable-pairs b/Lang/Uiua/Amicable-pairs
new file mode 120000
index 0000000000..8c9ce68129
--- /dev/null
+++ b/Lang/Uiua/Amicable-pairs
@@ -0,0 +1 @@
+../../Task/Amicable-pairs/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Anagrams b/Lang/Uiua/Anagrams
new file mode 120000
index 0000000000..a823cee1f3
--- /dev/null
+++ b/Lang/Uiua/Anagrams
@@ -0,0 +1 @@
+../../Task/Anagrams/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Angle-difference-between-two-bearings b/Lang/Uiua/Angle-difference-between-two-bearings
new file mode 120000
index 0000000000..ee9bbb083d
--- /dev/null
+++ b/Lang/Uiua/Angle-difference-between-two-bearings
@@ -0,0 +1 @@
+../../Task/Angle-difference-between-two-bearings/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Anonymous-recursion b/Lang/Uiua/Anonymous-recursion
new file mode 120000
index 0000000000..8c1b1c25c3
--- /dev/null
+++ b/Lang/Uiua/Anonymous-recursion
@@ -0,0 +1 @@
+../../Task/Anonymous-recursion/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Anti-primes b/Lang/Uiua/Anti-primes
new file mode 120000
index 0000000000..caaf04d665
--- /dev/null
+++ b/Lang/Uiua/Anti-primes
@@ -0,0 +1 @@
+../../Task/Anti-primes/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Apply-a-callback-to-an-array b/Lang/Uiua/Apply-a-callback-to-an-array
new file mode 120000
index 0000000000..685e6558c3
--- /dev/null
+++ b/Lang/Uiua/Apply-a-callback-to-an-array
@@ -0,0 +1 @@
+../../Task/Apply-a-callback-to-an-array/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Arithmetic-Complex b/Lang/Uiua/Arithmetic-Complex
new file mode 120000
index 0000000000..acbbaad1bb
--- /dev/null
+++ b/Lang/Uiua/Arithmetic-Complex
@@ -0,0 +1 @@
+../../Task/Arithmetic-Complex/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Arithmetic-Integer b/Lang/Uiua/Arithmetic-Integer
new file mode 120000
index 0000000000..8f8007cc44
--- /dev/null
+++ b/Lang/Uiua/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Arithmetic-derivative b/Lang/Uiua/Arithmetic-derivative
new file mode 120000
index 0000000000..940b88708d
--- /dev/null
+++ b/Lang/Uiua/Arithmetic-derivative
@@ -0,0 +1 @@
+../../Task/Arithmetic-derivative/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Arithmetic-geometric-mean b/Lang/Uiua/Arithmetic-geometric-mean
new file mode 120000
index 0000000000..6adeb66a11
--- /dev/null
+++ b/Lang/Uiua/Arithmetic-geometric-mean
@@ -0,0 +1 @@
+../../Task/Arithmetic-geometric-mean/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Arithmetic-geometric-mean-Calculate-Pi b/Lang/Uiua/Arithmetic-geometric-mean-Calculate-Pi
new file mode 120000
index 0000000000..e30c23f938
--- /dev/null
+++ b/Lang/Uiua/Arithmetic-geometric-mean-Calculate-Pi
@@ -0,0 +1 @@
+../../Task/Arithmetic-geometric-mean-Calculate-Pi/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Arithmetic-numbers b/Lang/Uiua/Arithmetic-numbers
new file mode 120000
index 0000000000..e537c98fb0
--- /dev/null
+++ b/Lang/Uiua/Arithmetic-numbers
@@ -0,0 +1 @@
+../../Task/Arithmetic-numbers/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Array-concatenation b/Lang/Uiua/Array-concatenation
new file mode 120000
index 0000000000..48fabf1a40
--- /dev/null
+++ b/Lang/Uiua/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Array-length b/Lang/Uiua/Array-length
new file mode 120000
index 0000000000..7c3be21b34
--- /dev/null
+++ b/Lang/Uiua/Array-length
@@ -0,0 +1 @@
+../../Task/Array-length/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Arrays b/Lang/Uiua/Arrays
new file mode 120000
index 0000000000..ae2ca1c8a6
--- /dev/null
+++ b/Lang/Uiua/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Ascending-primes b/Lang/Uiua/Ascending-primes
new file mode 120000
index 0000000000..83b9f7be7a
--- /dev/null
+++ b/Lang/Uiua/Ascending-primes
@@ -0,0 +1 @@
+../../Task/Ascending-primes/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Assertions b/Lang/Uiua/Assertions
new file mode 120000
index 0000000000..b370cee8a3
--- /dev/null
+++ b/Lang/Uiua/Assertions
@@ -0,0 +1 @@
+../../Task/Assertions/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Associative-array-Creation b/Lang/Uiua/Associative-array-Creation
new file mode 120000
index 0000000000..8f5e350a55
--- /dev/null
+++ b/Lang/Uiua/Associative-array-Creation
@@ -0,0 +1 @@
+../../Task/Associative-array-Creation/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Associative-array-Iteration b/Lang/Uiua/Associative-array-Iteration
new file mode 120000
index 0000000000..5ba8f9745a
--- /dev/null
+++ b/Lang/Uiua/Associative-array-Iteration
@@ -0,0 +1 @@
+../../Task/Associative-array-Iteration/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Associative-array-Merging b/Lang/Uiua/Associative-array-Merging
new file mode 120000
index 0000000000..d769831c9b
--- /dev/null
+++ b/Lang/Uiua/Associative-array-Merging
@@ -0,0 +1 @@
+../../Task/Associative-array-Merging/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Attractive-numbers b/Lang/Uiua/Attractive-numbers
new file mode 120000
index 0000000000..d36ccc01ec
--- /dev/null
+++ b/Lang/Uiua/Attractive-numbers
@@ -0,0 +1 @@
+../../Task/Attractive-numbers/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Averages-Arithmetic-mean b/Lang/Uiua/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..b50b3b064d
--- /dev/null
+++ b/Lang/Uiua/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Averages-Mean-time-of-day b/Lang/Uiua/Averages-Mean-time-of-day
new file mode 120000
index 0000000000..970582690e
--- /dev/null
+++ b/Lang/Uiua/Averages-Mean-time-of-day
@@ -0,0 +1 @@
+../../Task/Averages-Mean-time-of-day/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Averages-Median b/Lang/Uiua/Averages-Median
new file mode 120000
index 0000000000..254605ff30
--- /dev/null
+++ b/Lang/Uiua/Averages-Median
@@ -0,0 +1 @@
+../../Task/Averages-Median/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Averages-Mode b/Lang/Uiua/Averages-Mode
new file mode 120000
index 0000000000..13987f5b7d
--- /dev/null
+++ b/Lang/Uiua/Averages-Mode
@@ -0,0 +1 @@
+../../Task/Averages-Mode/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Averages-Pythagorean-means b/Lang/Uiua/Averages-Pythagorean-means
new file mode 120000
index 0000000000..a42d46aee7
--- /dev/null
+++ b/Lang/Uiua/Averages-Pythagorean-means
@@ -0,0 +1 @@
+../../Task/Averages-Pythagorean-means/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Averages-Root-mean-square b/Lang/Uiua/Averages-Root-mean-square
new file mode 120000
index 0000000000..681a323abf
--- /dev/null
+++ b/Lang/Uiua/Averages-Root-mean-square
@@ -0,0 +1 @@
+../../Task/Averages-Root-mean-square/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Babbage-problem b/Lang/Uiua/Babbage-problem
new file mode 120000
index 0000000000..485d090cb5
--- /dev/null
+++ b/Lang/Uiua/Babbage-problem
@@ -0,0 +1 @@
+../../Task/Babbage-problem/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Barnsley-fern b/Lang/Uiua/Barnsley-fern
new file mode 120000
index 0000000000..39f57d2d79
--- /dev/null
+++ b/Lang/Uiua/Barnsley-fern
@@ -0,0 +1 @@
+../../Task/Barnsley-fern/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Bell-numbers b/Lang/Uiua/Bell-numbers
new file mode 120000
index 0000000000..88832c268c
--- /dev/null
+++ b/Lang/Uiua/Bell-numbers
@@ -0,0 +1 @@
+../../Task/Bell-numbers/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Benfords-law b/Lang/Uiua/Benfords-law
new file mode 120000
index 0000000000..c9f7d29ef6
--- /dev/null
+++ b/Lang/Uiua/Benfords-law
@@ -0,0 +1 @@
+../../Task/Benfords-law/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Bifid-cipher b/Lang/Uiua/Bifid-cipher
new file mode 120000
index 0000000000..7118fdadf7
--- /dev/null
+++ b/Lang/Uiua/Bifid-cipher
@@ -0,0 +1 @@
+../../Task/Bifid-cipher/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Bin-given-limits b/Lang/Uiua/Bin-given-limits
new file mode 120000
index 0000000000..66cb90c004
--- /dev/null
+++ b/Lang/Uiua/Bin-given-limits
@@ -0,0 +1 @@
+../../Task/Bin-given-limits/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Binary-digits b/Lang/Uiua/Binary-digits
new file mode 120000
index 0000000000..126c2d6665
--- /dev/null
+++ b/Lang/Uiua/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Bitmap b/Lang/Uiua/Bitmap
new file mode 120000
index 0000000000..6ff7a055f3
--- /dev/null
+++ b/Lang/Uiua/Bitmap
@@ -0,0 +1 @@
+../../Task/Bitmap/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Bitmap-Flood-fill b/Lang/Uiua/Bitmap-Flood-fill
new file mode 120000
index 0000000000..8833733b75
--- /dev/null
+++ b/Lang/Uiua/Bitmap-Flood-fill
@@ -0,0 +1 @@
+../../Task/Bitmap-Flood-fill/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Bitwise-operations b/Lang/Uiua/Bitwise-operations
new file mode 120000
index 0000000000..1b1bf97751
--- /dev/null
+++ b/Lang/Uiua/Bitwise-operations
@@ -0,0 +1 @@
+../../Task/Bitwise-operations/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Boolean-values b/Lang/Uiua/Boolean-values
new file mode 120000
index 0000000000..ac8910eee9
--- /dev/null
+++ b/Lang/Uiua/Boolean-values
@@ -0,0 +1 @@
+../../Task/Boolean-values/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Bulls-and-cows-Player b/Lang/Uiua/Bulls-and-cows-Player
new file mode 120000
index 0000000000..b45c91dd88
--- /dev/null
+++ b/Lang/Uiua/Bulls-and-cows-Player
@@ -0,0 +1 @@
+../../Task/Bulls-and-cows-Player/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Burrows-Wheeler-transform b/Lang/Uiua/Burrows-Wheeler-transform
new file mode 120000
index 0000000000..d53398fc74
--- /dev/null
+++ b/Lang/Uiua/Burrows-Wheeler-transform
@@ -0,0 +1 @@
+../../Task/Burrows-Wheeler-transform/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/CRC-32 b/Lang/Uiua/CRC-32
new file mode 120000
index 0000000000..063f3e4ee3
--- /dev/null
+++ b/Lang/Uiua/CRC-32
@@ -0,0 +1 @@
+../../Task/CRC-32/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/CSV-data-manipulation b/Lang/Uiua/CSV-data-manipulation
new file mode 120000
index 0000000000..78747e6f49
--- /dev/null
+++ b/Lang/Uiua/CSV-data-manipulation
@@ -0,0 +1 @@
+../../Task/CSV-data-manipulation/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/CSV-to-HTML-translation b/Lang/Uiua/CSV-to-HTML-translation
new file mode 120000
index 0000000000..cd311bcc18
--- /dev/null
+++ b/Lang/Uiua/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Caesar-cipher b/Lang/Uiua/Caesar-cipher
new file mode 120000
index 0000000000..ef50c0e2e1
--- /dev/null
+++ b/Lang/Uiua/Caesar-cipher
@@ -0,0 +1 @@
+../../Task/Caesar-cipher/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Calculating-the-value-of-e b/Lang/Uiua/Calculating-the-value-of-e
new file mode 120000
index 0000000000..d7cc261bf8
--- /dev/null
+++ b/Lang/Uiua/Calculating-the-value-of-e
@@ -0,0 +1 @@
+../../Task/Calculating-the-value-of-e/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Calkin-Wilf-sequence b/Lang/Uiua/Calkin-Wilf-sequence
new file mode 120000
index 0000000000..23330ada15
--- /dev/null
+++ b/Lang/Uiua/Calkin-Wilf-sequence
@@ -0,0 +1 @@
+../../Task/Calkin-Wilf-sequence/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Call-a-function b/Lang/Uiua/Call-a-function
new file mode 120000
index 0000000000..1d6b22e4f5
--- /dev/null
+++ b/Lang/Uiua/Call-a-function
@@ -0,0 +1 @@
+../../Task/Call-a-function/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Cantor-set b/Lang/Uiua/Cantor-set
new file mode 120000
index 0000000000..1c94d38d0e
--- /dev/null
+++ b/Lang/Uiua/Cantor-set
@@ -0,0 +1 @@
+../../Task/Cantor-set/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Cartesian-product-of-two-or-more-lists b/Lang/Uiua/Cartesian-product-of-two-or-more-lists
new file mode 120000
index 0000000000..bff2250b36
--- /dev/null
+++ b/Lang/Uiua/Cartesian-product-of-two-or-more-lists
@@ -0,0 +1 @@
+../../Task/Cartesian-product-of-two-or-more-lists/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Catalan-numbers b/Lang/Uiua/Catalan-numbers
new file mode 120000
index 0000000000..39a3cbd336
--- /dev/null
+++ b/Lang/Uiua/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Catalan-numbers-Pascals-triangle b/Lang/Uiua/Catalan-numbers-Pascals-triangle
new file mode 120000
index 0000000000..d4426dbc39
--- /dev/null
+++ b/Lang/Uiua/Catalan-numbers-Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Catalan-numbers-Pascals-triangle/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Catamorphism b/Lang/Uiua/Catamorphism
new file mode 120000
index 0000000000..f0a8a02f45
--- /dev/null
+++ b/Lang/Uiua/Catamorphism
@@ -0,0 +1 @@
+../../Task/Catamorphism/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Character-codes b/Lang/Uiua/Character-codes
new file mode 120000
index 0000000000..511eef1d48
--- /dev/null
+++ b/Lang/Uiua/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Check-output-device-is-a-terminal b/Lang/Uiua/Check-output-device-is-a-terminal
new file mode 120000
index 0000000000..9599dac818
--- /dev/null
+++ b/Lang/Uiua/Check-output-device-is-a-terminal
@@ -0,0 +1 @@
+../../Task/Check-output-device-is-a-terminal/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Check-that-file-exists b/Lang/Uiua/Check-that-file-exists
new file mode 120000
index 0000000000..2ad54c3db1
--- /dev/null
+++ b/Lang/Uiua/Check-that-file-exists
@@ -0,0 +1 @@
+../../Task/Check-that-file-exists/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Circular-primes b/Lang/Uiua/Circular-primes
new file mode 120000
index 0000000000..65d19beab0
--- /dev/null
+++ b/Lang/Uiua/Circular-primes
@@ -0,0 +1 @@
+../../Task/Circular-primes/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Cistercian-numerals b/Lang/Uiua/Cistercian-numerals
new file mode 120000
index 0000000000..7a072fe82a
--- /dev/null
+++ b/Lang/Uiua/Cistercian-numerals
@@ -0,0 +1 @@
+../../Task/Cistercian-numerals/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Collections b/Lang/Uiua/Collections
new file mode 120000
index 0000000000..3ea461802a
--- /dev/null
+++ b/Lang/Uiua/Collections
@@ -0,0 +1 @@
+../../Task/Collections/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Color-wheel b/Lang/Uiua/Color-wheel
new file mode 120000
index 0000000000..f9a74260bf
--- /dev/null
+++ b/Lang/Uiua/Color-wheel
@@ -0,0 +1 @@
+../../Task/Color-wheel/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Colorful-numbers b/Lang/Uiua/Colorful-numbers
new file mode 120000
index 0000000000..b2f820f214
--- /dev/null
+++ b/Lang/Uiua/Colorful-numbers
@@ -0,0 +1 @@
+../../Task/Colorful-numbers/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Colour-bars-Display b/Lang/Uiua/Colour-bars-Display
new file mode 120000
index 0000000000..dbff1dc862
--- /dev/null
+++ b/Lang/Uiua/Colour-bars-Display
@@ -0,0 +1 @@
+../../Task/Colour-bars-Display/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Combinations b/Lang/Uiua/Combinations
new file mode 120000
index 0000000000..1300366dbb
--- /dev/null
+++ b/Lang/Uiua/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Combinations-and-permutations b/Lang/Uiua/Combinations-and-permutations
new file mode 120000
index 0000000000..c2af258e0d
--- /dev/null
+++ b/Lang/Uiua/Combinations-and-permutations
@@ -0,0 +1 @@
+../../Task/Combinations-and-permutations/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Command-line-arguments b/Lang/Uiua/Command-line-arguments
new file mode 120000
index 0000000000..d8dd4a464b
--- /dev/null
+++ b/Lang/Uiua/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Comments b/Lang/Uiua/Comments
new file mode 120000
index 0000000000..c903ca1910
--- /dev/null
+++ b/Lang/Uiua/Comments
@@ -0,0 +1 @@
+../../Task/Comments/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Compare-a-list-of-strings b/Lang/Uiua/Compare-a-list-of-strings
new file mode 120000
index 0000000000..7a7f8f4123
--- /dev/null
+++ b/Lang/Uiua/Compare-a-list-of-strings
@@ -0,0 +1 @@
+../../Task/Compare-a-list-of-strings/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Compare-length-of-two-strings b/Lang/Uiua/Compare-length-of-two-strings
new file mode 120000
index 0000000000..ca614fc73a
--- /dev/null
+++ b/Lang/Uiua/Compare-length-of-two-strings
@@ -0,0 +1 @@
+../../Task/Compare-length-of-two-strings/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Continued-fraction b/Lang/Uiua/Continued-fraction
new file mode 120000
index 0000000000..e2c428ddc0
--- /dev/null
+++ b/Lang/Uiua/Continued-fraction
@@ -0,0 +1 @@
+../../Task/Continued-fraction/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Convert-seconds-to-compound-duration b/Lang/Uiua/Convert-seconds-to-compound-duration
new file mode 120000
index 0000000000..7c892696f2
--- /dev/null
+++ b/Lang/Uiua/Convert-seconds-to-compound-duration
@@ -0,0 +1 @@
+../../Task/Convert-seconds-to-compound-duration/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Conways-Game-of-Life b/Lang/Uiua/Conways-Game-of-Life
new file mode 120000
index 0000000000..577dcf20b1
--- /dev/null
+++ b/Lang/Uiua/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Copy-a-string b/Lang/Uiua/Copy-a-string
new file mode 120000
index 0000000000..ecc8029f9f
--- /dev/null
+++ b/Lang/Uiua/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Count-in-factors b/Lang/Uiua/Count-in-factors
new file mode 120000
index 0000000000..fee553f727
--- /dev/null
+++ b/Lang/Uiua/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Count-in-octal b/Lang/Uiua/Count-in-octal
new file mode 120000
index 0000000000..8d3356f54e
--- /dev/null
+++ b/Lang/Uiua/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Count-occurrences-of-a-substring b/Lang/Uiua/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..5aa05050f1
--- /dev/null
+++ b/Lang/Uiua/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Count-the-coins b/Lang/Uiua/Count-the-coins
new file mode 120000
index 0000000000..061cac0c44
--- /dev/null
+++ b/Lang/Uiua/Count-the-coins
@@ -0,0 +1 @@
+../../Task/Count-the-coins/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Cramers-rule b/Lang/Uiua/Cramers-rule
new file mode 120000
index 0000000000..cdb9c1d147
--- /dev/null
+++ b/Lang/Uiua/Cramers-rule
@@ -0,0 +1 @@
+../../Task/Cramers-rule/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Create-a-two-dimensional-array-at-runtime b/Lang/Uiua/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..4ef285f54f
--- /dev/null
+++ b/Lang/Uiua/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Cuban-primes b/Lang/Uiua/Cuban-primes
new file mode 120000
index 0000000000..36dfb34863
--- /dev/null
+++ b/Lang/Uiua/Cuban-primes
@@ -0,0 +1 @@
+../../Task/Cuban-primes/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Cut-a-rectangle b/Lang/Uiua/Cut-a-rectangle
new file mode 120000
index 0000000000..c91aef1334
--- /dev/null
+++ b/Lang/Uiua/Cut-a-rectangle
@@ -0,0 +1 @@
+../../Task/Cut-a-rectangle/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Damm-algorithm b/Lang/Uiua/Damm-algorithm
new file mode 120000
index 0000000000..af8244172d
--- /dev/null
+++ b/Lang/Uiua/Damm-algorithm
@@ -0,0 +1 @@
+../../Task/Damm-algorithm/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Day-of-the-week b/Lang/Uiua/Day-of-the-week
new file mode 120000
index 0000000000..3e8980f9e6
--- /dev/null
+++ b/Lang/Uiua/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Delete-a-file b/Lang/Uiua/Delete-a-file
new file mode 120000
index 0000000000..a33b49cc5b
--- /dev/null
+++ b/Lang/Uiua/Delete-a-file
@@ -0,0 +1 @@
+../../Task/Delete-a-file/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Department-numbers b/Lang/Uiua/Department-numbers
new file mode 120000
index 0000000000..d3bc5b010c
--- /dev/null
+++ b/Lang/Uiua/Department-numbers
@@ -0,0 +1 @@
+../../Task/Department-numbers/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Descending-primes b/Lang/Uiua/Descending-primes
new file mode 120000
index 0000000000..9ae82c1998
--- /dev/null
+++ b/Lang/Uiua/Descending-primes
@@ -0,0 +1 @@
+../../Task/Descending-primes/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Detect-division-by-zero b/Lang/Uiua/Detect-division-by-zero
new file mode 120000
index 0000000000..40e2698013
--- /dev/null
+++ b/Lang/Uiua/Detect-division-by-zero
@@ -0,0 +1 @@
+../../Task/Detect-division-by-zero/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Determine-if-a-string-has-all-the-same-characters b/Lang/Uiua/Determine-if-a-string-has-all-the-same-characters
new file mode 120000
index 0000000000..55e1bace7e
--- /dev/null
+++ b/Lang/Uiua/Determine-if-a-string-has-all-the-same-characters
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-has-all-the-same-characters/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Determine-if-a-string-has-all-unique-characters b/Lang/Uiua/Determine-if-a-string-has-all-unique-characters
new file mode 120000
index 0000000000..76105a59e1
--- /dev/null
+++ b/Lang/Uiua/Determine-if-a-string-has-all-unique-characters
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-has-all-unique-characters/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Determine-if-a-string-is-collapsible b/Lang/Uiua/Determine-if-a-string-is-collapsible
new file mode 120000
index 0000000000..9891000cca
--- /dev/null
+++ b/Lang/Uiua/Determine-if-a-string-is-collapsible
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-collapsible/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Determine-if-a-string-is-numeric b/Lang/Uiua/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..12d7b2bbd9
--- /dev/null
+++ b/Lang/Uiua/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Digital-root b/Lang/Uiua/Digital-root
new file mode 120000
index 0000000000..709355d0c9
--- /dev/null
+++ b/Lang/Uiua/Digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Dijkstras-algorithm b/Lang/Uiua/Dijkstras-algorithm
new file mode 120000
index 0000000000..f3d03f9e62
--- /dev/null
+++ b/Lang/Uiua/Dijkstras-algorithm
@@ -0,0 +1 @@
+../../Task/Dijkstras-algorithm/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Disarium-numbers b/Lang/Uiua/Disarium-numbers
new file mode 120000
index 0000000000..28107527a2
--- /dev/null
+++ b/Lang/Uiua/Disarium-numbers
@@ -0,0 +1 @@
+../../Task/Disarium-numbers/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Dominoes b/Lang/Uiua/Dominoes
new file mode 120000
index 0000000000..bd5d6f0291
--- /dev/null
+++ b/Lang/Uiua/Dominoes
@@ -0,0 +1 @@
+../../Task/Dominoes/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Doomsday-rule b/Lang/Uiua/Doomsday-rule
new file mode 120000
index 0000000000..d408a1ec32
--- /dev/null
+++ b/Lang/Uiua/Doomsday-rule
@@ -0,0 +1 @@
+../../Task/Doomsday-rule/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Dot-product b/Lang/Uiua/Dot-product
new file mode 120000
index 0000000000..920d49c003
--- /dev/null
+++ b/Lang/Uiua/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Dutch-national-flag-problem b/Lang/Uiua/Dutch-national-flag-problem
new file mode 120000
index 0000000000..198949a01a
--- /dev/null
+++ b/Lang/Uiua/Dutch-national-flag-problem
@@ -0,0 +1 @@
+../../Task/Dutch-national-flag-problem/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Earliest-difference-between-prime-gaps b/Lang/Uiua/Earliest-difference-between-prime-gaps
new file mode 120000
index 0000000000..3fd8b6678f
--- /dev/null
+++ b/Lang/Uiua/Earliest-difference-between-prime-gaps
@@ -0,0 +1 @@
+../../Task/Earliest-difference-between-prime-gaps/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Echo-server b/Lang/Uiua/Echo-server
new file mode 120000
index 0000000000..13818666c0
--- /dev/null
+++ b/Lang/Uiua/Echo-server
@@ -0,0 +1 @@
+../../Task/Echo-server/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Emirp-primes b/Lang/Uiua/Emirp-primes
new file mode 120000
index 0000000000..277723b92d
--- /dev/null
+++ b/Lang/Uiua/Emirp-primes
@@ -0,0 +1 @@
+../../Task/Emirp-primes/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Empty-string b/Lang/Uiua/Empty-string
new file mode 120000
index 0000000000..9b9da2a9b4
--- /dev/null
+++ b/Lang/Uiua/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Enforced-immutability b/Lang/Uiua/Enforced-immutability
new file mode 120000
index 0000000000..243ebb8f2a
--- /dev/null
+++ b/Lang/Uiua/Enforced-immutability
@@ -0,0 +1 @@
+../../Task/Enforced-immutability/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Enumerations b/Lang/Uiua/Enumerations
new file mode 120000
index 0000000000..08a4a901fa
--- /dev/null
+++ b/Lang/Uiua/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Ethiopian-multiplication b/Lang/Uiua/Ethiopian-multiplication
new file mode 120000
index 0000000000..4091de8f8e
--- /dev/null
+++ b/Lang/Uiua/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Exceptions b/Lang/Uiua/Exceptions
new file mode 120000
index 0000000000..4cf4e7dfeb
--- /dev/null
+++ b/Lang/Uiua/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Exponentiation-operator b/Lang/Uiua/Exponentiation-operator
new file mode 120000
index 0000000000..bf3e3a41e0
--- /dev/null
+++ b/Lang/Uiua/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Exponentiation-order b/Lang/Uiua/Exponentiation-order
new file mode 120000
index 0000000000..8518c14141
--- /dev/null
+++ b/Lang/Uiua/Exponentiation-order
@@ -0,0 +1 @@
+../../Task/Exponentiation-order/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Extreme-floating-point-values b/Lang/Uiua/Extreme-floating-point-values
new file mode 120000
index 0000000000..05ab571554
--- /dev/null
+++ b/Lang/Uiua/Extreme-floating-point-values
@@ -0,0 +1 @@
+../../Task/Extreme-floating-point-values/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Factorial b/Lang/Uiua/Factorial
new file mode 120000
index 0000000000..5664c30904
--- /dev/null
+++ b/Lang/Uiua/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Factors-of-an-integer b/Lang/Uiua/Factors-of-an-integer
new file mode 120000
index 0000000000..c83bd4a95a
--- /dev/null
+++ b/Lang/Uiua/Factors-of-an-integer
@@ -0,0 +1 @@
+../../Task/Factors-of-an-integer/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Find-the-missing-permutation b/Lang/Uiua/Find-the-missing-permutation
new file mode 120000
index 0000000000..e1361833f3
--- /dev/null
+++ b/Lang/Uiua/Find-the-missing-permutation
@@ -0,0 +1 @@
+../../Task/Find-the-missing-permutation/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Flatten-a-list b/Lang/Uiua/Flatten-a-list
new file mode 120000
index 0000000000..8d22eb4f6e
--- /dev/null
+++ b/Lang/Uiua/Flatten-a-list
@@ -0,0 +1 @@
+../../Task/Flatten-a-list/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Flipping-bits-game b/Lang/Uiua/Flipping-bits-game
new file mode 120000
index 0000000000..4647df0617
--- /dev/null
+++ b/Lang/Uiua/Flipping-bits-game
@@ -0,0 +1 @@
+../../Task/Flipping-bits-game/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Forest-fire b/Lang/Uiua/Forest-fire
new file mode 120000
index 0000000000..1c1ded9f8f
--- /dev/null
+++ b/Lang/Uiua/Forest-fire
@@ -0,0 +1 @@
+../../Task/Forest-fire/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Greatest-common-divisor b/Lang/Uiua/Greatest-common-divisor
new file mode 120000
index 0000000000..ed42b8017f
--- /dev/null
+++ b/Lang/Uiua/Greatest-common-divisor
@@ -0,0 +1 @@
+../../Task/Greatest-common-divisor/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Hailstone-sequence b/Lang/Uiua/Hailstone-sequence
new file mode 120000
index 0000000000..eb6ae1ccd8
--- /dev/null
+++ b/Lang/Uiua/Hailstone-sequence
@@ -0,0 +1 @@
+../../Task/Hailstone-sequence/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Halt-and-catch-fire b/Lang/Uiua/Halt-and-catch-fire
new file mode 120000
index 0000000000..098009e021
--- /dev/null
+++ b/Lang/Uiua/Halt-and-catch-fire
@@ -0,0 +1 @@
+../../Task/Halt-and-catch-fire/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Hash-from-two-arrays b/Lang/Uiua/Hash-from-two-arrays
new file mode 120000
index 0000000000..63b4a8d5f8
--- /dev/null
+++ b/Lang/Uiua/Hash-from-two-arrays
@@ -0,0 +1 @@
+../../Task/Hash-from-two-arrays/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Hickerson-series-of-almost-integers b/Lang/Uiua/Hickerson-series-of-almost-integers
new file mode 120000
index 0000000000..d1dde8e508
--- /dev/null
+++ b/Lang/Uiua/Hickerson-series-of-almost-integers
@@ -0,0 +1 @@
+../../Task/Hickerson-series-of-almost-integers/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Identity-matrix b/Lang/Uiua/Identity-matrix
new file mode 120000
index 0000000000..73bc76c89c
--- /dev/null
+++ b/Lang/Uiua/Identity-matrix
@@ -0,0 +1 @@
+../../Task/Identity-matrix/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Include-a-file b/Lang/Uiua/Include-a-file
new file mode 120000
index 0000000000..2dd83554d2
--- /dev/null
+++ b/Lang/Uiua/Include-a-file
@@ -0,0 +1 @@
+../../Task/Include-a-file/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Increment-a-numerical-string b/Lang/Uiua/Increment-a-numerical-string
new file mode 120000
index 0000000000..5102531751
--- /dev/null
+++ b/Lang/Uiua/Increment-a-numerical-string
@@ -0,0 +1 @@
+../../Task/Increment-a-numerical-string/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Infinity b/Lang/Uiua/Infinity
new file mode 120000
index 0000000000..13e94dd0ff
--- /dev/null
+++ b/Lang/Uiua/Infinity
@@ -0,0 +1 @@
+../../Task/Infinity/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Integer-sequence b/Lang/Uiua/Integer-sequence
new file mode 120000
index 0000000000..71a2ec5539
--- /dev/null
+++ b/Lang/Uiua/Integer-sequence
@@ -0,0 +1 @@
+../../Task/Integer-sequence/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Iterated-digits-squaring b/Lang/Uiua/Iterated-digits-squaring
new file mode 120000
index 0000000000..e658bdae0a
--- /dev/null
+++ b/Lang/Uiua/Iterated-digits-squaring
@@ -0,0 +1 @@
+../../Task/Iterated-digits-squaring/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Jacobi-symbol b/Lang/Uiua/Jacobi-symbol
new file mode 120000
index 0000000000..c75e72b791
--- /dev/null
+++ b/Lang/Uiua/Jacobi-symbol
@@ -0,0 +1 @@
+../../Task/Jacobi-symbol/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Jacobsthal-numbers b/Lang/Uiua/Jacobsthal-numbers
new file mode 120000
index 0000000000..18c3697b6e
--- /dev/null
+++ b/Lang/Uiua/Jacobsthal-numbers
@@ -0,0 +1 @@
+../../Task/Jacobsthal-numbers/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Langtons-ant b/Lang/Uiua/Langtons-ant
new file mode 120000
index 0000000000..ea25fbedff
--- /dev/null
+++ b/Lang/Uiua/Langtons-ant
@@ -0,0 +1 @@
+../../Task/Langtons-ant/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Largest-int-from-concatenated-ints b/Lang/Uiua/Largest-int-from-concatenated-ints
new file mode 120000
index 0000000000..1440573f32
--- /dev/null
+++ b/Lang/Uiua/Largest-int-from-concatenated-ints
@@ -0,0 +1 @@
+../../Task/Largest-int-from-concatenated-ints/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Largest-number-divisible-by-its-digits b/Lang/Uiua/Largest-number-divisible-by-its-digits
new file mode 120000
index 0000000000..acf7bb2c5f
--- /dev/null
+++ b/Lang/Uiua/Largest-number-divisible-by-its-digits
@@ -0,0 +1 @@
+../../Task/Largest-number-divisible-by-its-digits/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Leap-year b/Lang/Uiua/Leap-year
new file mode 120000
index 0000000000..526002b745
--- /dev/null
+++ b/Lang/Uiua/Leap-year
@@ -0,0 +1 @@
+../../Task/Leap-year/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Least-common-multiple b/Lang/Uiua/Least-common-multiple
new file mode 120000
index 0000000000..83973eef06
--- /dev/null
+++ b/Lang/Uiua/Least-common-multiple
@@ -0,0 +1 @@
+../../Task/Least-common-multiple/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Levenshtein-distance b/Lang/Uiua/Levenshtein-distance
new file mode 120000
index 0000000000..2d4dd26520
--- /dev/null
+++ b/Lang/Uiua/Levenshtein-distance
@@ -0,0 +1 @@
+../../Task/Levenshtein-distance/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/List-comprehensions b/Lang/Uiua/List-comprehensions
new file mode 120000
index 0000000000..bf7b708e56
--- /dev/null
+++ b/Lang/Uiua/List-comprehensions
@@ -0,0 +1 @@
+../../Task/List-comprehensions/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Literals-Floating-point b/Lang/Uiua/Literals-Floating-point
new file mode 120000
index 0000000000..47d46d3181
--- /dev/null
+++ b/Lang/Uiua/Literals-Floating-point
@@ -0,0 +1 @@
+../../Task/Literals-Floating-point/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Look-and-say-sequence b/Lang/Uiua/Look-and-say-sequence
new file mode 120000
index 0000000000..f3d748e2f9
--- /dev/null
+++ b/Lang/Uiua/Look-and-say-sequence
@@ -0,0 +1 @@
+../../Task/Look-and-say-sequence/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Loop-over-multiple-arrays-simultaneously b/Lang/Uiua/Loop-over-multiple-arrays-simultaneously
new file mode 120000
index 0000000000..59937c5207
--- /dev/null
+++ b/Lang/Uiua/Loop-over-multiple-arrays-simultaneously
@@ -0,0 +1 @@
+../../Task/Loop-over-multiple-arrays-simultaneously/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Loops-Break b/Lang/Uiua/Loops-Break
new file mode 120000
index 0000000000..34504412c0
--- /dev/null
+++ b/Lang/Uiua/Loops-Break
@@ -0,0 +1 @@
+../../Task/Loops-Break/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Loops-While b/Lang/Uiua/Loops-While
new file mode 120000
index 0000000000..d29e38976b
--- /dev/null
+++ b/Lang/Uiua/Loops-While
@@ -0,0 +1 @@
+../../Task/Loops-While/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Luhn-test-of-credit-card-numbers b/Lang/Uiua/Luhn-test-of-credit-card-numbers
new file mode 120000
index 0000000000..6eae093c92
--- /dev/null
+++ b/Lang/Uiua/Luhn-test-of-credit-card-numbers
@@ -0,0 +1 @@
+../../Task/Luhn-test-of-credit-card-numbers/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/M-bius-function b/Lang/Uiua/M-bius-function
new file mode 120000
index 0000000000..5b29f0bb61
--- /dev/null
+++ b/Lang/Uiua/M-bius-function
@@ -0,0 +1 @@
+../../Task/M-bius-function/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Mandelbrot-set b/Lang/Uiua/Mandelbrot-set
new file mode 120000
index 0000000000..da1b6d50fa
--- /dev/null
+++ b/Lang/Uiua/Mandelbrot-set
@@ -0,0 +1 @@
+../../Task/Mandelbrot-set/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Matrix-multiplication b/Lang/Uiua/Matrix-multiplication
new file mode 120000
index 0000000000..8ecd583efc
--- /dev/null
+++ b/Lang/Uiua/Matrix-multiplication
@@ -0,0 +1 @@
+../../Task/Matrix-multiplication/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Matrix-transposition b/Lang/Uiua/Matrix-transposition
new file mode 120000
index 0000000000..877ca2d6ea
--- /dev/null
+++ b/Lang/Uiua/Matrix-transposition
@@ -0,0 +1 @@
+../../Task/Matrix-transposition/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Maze-solving b/Lang/Uiua/Maze-solving
new file mode 120000
index 0000000000..02af57731f
--- /dev/null
+++ b/Lang/Uiua/Maze-solving
@@ -0,0 +1 @@
+../../Task/Maze-solving/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/McNuggets-problem b/Lang/Uiua/McNuggets-problem
new file mode 120000
index 0000000000..93b54a1053
--- /dev/null
+++ b/Lang/Uiua/McNuggets-problem
@@ -0,0 +1 @@
+../../Task/McNuggets-problem/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Mertens-function b/Lang/Uiua/Mertens-function
new file mode 120000
index 0000000000..8c5970d27b
--- /dev/null
+++ b/Lang/Uiua/Mertens-function
@@ -0,0 +1 @@
+../../Task/Mertens-function/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Middle-three-digits b/Lang/Uiua/Middle-three-digits
new file mode 120000
index 0000000000..5c8f171c17
--- /dev/null
+++ b/Lang/Uiua/Middle-three-digits
@@ -0,0 +1 @@
+../../Task/Middle-three-digits/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Modular-inverse b/Lang/Uiua/Modular-inverse
new file mode 120000
index 0000000000..70c091b2ce
--- /dev/null
+++ b/Lang/Uiua/Modular-inverse
@@ -0,0 +1 @@
+../../Task/Modular-inverse/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Motzkin-numbers b/Lang/Uiua/Motzkin-numbers
new file mode 120000
index 0000000000..bef04d5aa9
--- /dev/null
+++ b/Lang/Uiua/Motzkin-numbers
@@ -0,0 +1 @@
+../../Task/Motzkin-numbers/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Multifactorial b/Lang/Uiua/Multifactorial
new file mode 120000
index 0000000000..cd3719d315
--- /dev/null
+++ b/Lang/Uiua/Multifactorial
@@ -0,0 +1 @@
+../../Task/Multifactorial/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Munchausen-numbers b/Lang/Uiua/Munchausen-numbers
new file mode 120000
index 0000000000..2170e259d6
--- /dev/null
+++ b/Lang/Uiua/Munchausen-numbers
@@ -0,0 +1 @@
+../../Task/Munchausen-numbers/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Munching-squares b/Lang/Uiua/Munching-squares
new file mode 120000
index 0000000000..65b5e765bd
--- /dev/null
+++ b/Lang/Uiua/Munching-squares
@@ -0,0 +1 @@
+../../Task/Munching-squares/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Musical-scale b/Lang/Uiua/Musical-scale
new file mode 120000
index 0000000000..1f1e1695ce
--- /dev/null
+++ b/Lang/Uiua/Musical-scale
@@ -0,0 +1 @@
+../../Task/Musical-scale/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/N-queens-problem b/Lang/Uiua/N-queens-problem
new file mode 120000
index 0000000000..d8b56e5e2a
--- /dev/null
+++ b/Lang/Uiua/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Narcissistic-decimal-number b/Lang/Uiua/Narcissistic-decimal-number
new file mode 120000
index 0000000000..fa8d4f2d6a
--- /dev/null
+++ b/Lang/Uiua/Narcissistic-decimal-number
@@ -0,0 +1 @@
+../../Task/Narcissistic-decimal-number/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Next-highest-int-from-digits b/Lang/Uiua/Next-highest-int-from-digits
new file mode 120000
index 0000000000..c924583411
--- /dev/null
+++ b/Lang/Uiua/Next-highest-int-from-digits
@@ -0,0 +1 @@
+../../Task/Next-highest-int-from-digits/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Non-continuous-subsequences b/Lang/Uiua/Non-continuous-subsequences
new file mode 120000
index 0000000000..cbb45eef3a
--- /dev/null
+++ b/Lang/Uiua/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Non-decimal-radices-Input b/Lang/Uiua/Non-decimal-radices-Input
new file mode 120000
index 0000000000..4980368463
--- /dev/null
+++ b/Lang/Uiua/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Non-decimal-radices-Output b/Lang/Uiua/Non-decimal-radices-Output
new file mode 120000
index 0000000000..8d901b62f2
--- /dev/null
+++ b/Lang/Uiua/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Numbers-which-are-not-the-sum-of-distinct-squares b/Lang/Uiua/Numbers-which-are-not-the-sum-of-distinct-squares
new file mode 120000
index 0000000000..fd1772b308
--- /dev/null
+++ b/Lang/Uiua/Numbers-which-are-not-the-sum-of-distinct-squares
@@ -0,0 +1 @@
+../../Task/Numbers-which-are-not-the-sum-of-distinct-squares/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/One-dimensional-cellular-automata b/Lang/Uiua/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..5df7e9b84a
--- /dev/null
+++ b/Lang/Uiua/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Ordered-words b/Lang/Uiua/Ordered-words
new file mode 120000
index 0000000000..7046edd964
--- /dev/null
+++ b/Lang/Uiua/Ordered-words
@@ -0,0 +1 @@
+../../Task/Ordered-words/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Padovan-sequence b/Lang/Uiua/Padovan-sequence
new file mode 120000
index 0000000000..5ff77d41cb
--- /dev/null
+++ b/Lang/Uiua/Padovan-sequence
@@ -0,0 +1 @@
+../../Task/Padovan-sequence/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Pangram-checker b/Lang/Uiua/Pangram-checker
new file mode 120000
index 0000000000..f48b39bf42
--- /dev/null
+++ b/Lang/Uiua/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Parsing-RPN-calculator-algorithm b/Lang/Uiua/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..650f272e3c
--- /dev/null
+++ b/Lang/Uiua/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Particle-fountain b/Lang/Uiua/Particle-fountain
new file mode 120000
index 0000000000..5a4eedea1a
--- /dev/null
+++ b/Lang/Uiua/Particle-fountain
@@ -0,0 +1 @@
+../../Task/Particle-fountain/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Partition-an-integer-x-into-n-primes b/Lang/Uiua/Partition-an-integer-x-into-n-primes
new file mode 120000
index 0000000000..b54ce3d232
--- /dev/null
+++ b/Lang/Uiua/Partition-an-integer-x-into-n-primes
@@ -0,0 +1 @@
+../../Task/Partition-an-integer-x-into-n-primes/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Partition-function-P b/Lang/Uiua/Partition-function-P
new file mode 120000
index 0000000000..e15b2a3f0a
--- /dev/null
+++ b/Lang/Uiua/Partition-function-P
@@ -0,0 +1 @@
+../../Task/Partition-function-P/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Pascal-matrix-generation b/Lang/Uiua/Pascal-matrix-generation
new file mode 120000
index 0000000000..d6006d5f28
--- /dev/null
+++ b/Lang/Uiua/Pascal-matrix-generation
@@ -0,0 +1 @@
+../../Task/Pascal-matrix-generation/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Pascals-triangle b/Lang/Uiua/Pascals-triangle
new file mode 120000
index 0000000000..d3ded33bae
--- /dev/null
+++ b/Lang/Uiua/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Pascals-triangle-Puzzle b/Lang/Uiua/Pascals-triangle-Puzzle
new file mode 120000
index 0000000000..9d1c439151
--- /dev/null
+++ b/Lang/Uiua/Pascals-triangle-Puzzle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle-Puzzle/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Password-generator b/Lang/Uiua/Password-generator
new file mode 120000
index 0000000000..0a559819ad
--- /dev/null
+++ b/Lang/Uiua/Password-generator
@@ -0,0 +1 @@
+../../Task/Password-generator/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Peaceful-chess-queen-armies b/Lang/Uiua/Peaceful-chess-queen-armies
new file mode 120000
index 0000000000..e3e9bf7f31
--- /dev/null
+++ b/Lang/Uiua/Peaceful-chess-queen-armies
@@ -0,0 +1 @@
+../../Task/Peaceful-chess-queen-armies/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Perfect-numbers b/Lang/Uiua/Perfect-numbers
new file mode 120000
index 0000000000..45883a0ea8
--- /dev/null
+++ b/Lang/Uiua/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Perfect-shuffle b/Lang/Uiua/Perfect-shuffle
new file mode 120000
index 0000000000..85b9185041
--- /dev/null
+++ b/Lang/Uiua/Perfect-shuffle
@@ -0,0 +1 @@
+../../Task/Perfect-shuffle/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Perfect-totient-numbers b/Lang/Uiua/Perfect-totient-numbers
new file mode 120000
index 0000000000..473a593e75
--- /dev/null
+++ b/Lang/Uiua/Perfect-totient-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-totient-numbers/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Periodic-table b/Lang/Uiua/Periodic-table
new file mode 120000
index 0000000000..5e6b72eb1b
--- /dev/null
+++ b/Lang/Uiua/Periodic-table
@@ -0,0 +1 @@
+../../Task/Periodic-table/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Peripheral-drift-illusion b/Lang/Uiua/Peripheral-drift-illusion
new file mode 120000
index 0000000000..6946c8b8f1
--- /dev/null
+++ b/Lang/Uiua/Peripheral-drift-illusion
@@ -0,0 +1 @@
+../../Task/Peripheral-drift-illusion/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Permutations b/Lang/Uiua/Permutations
new file mode 120000
index 0000000000..850f4f7144
--- /dev/null
+++ b/Lang/Uiua/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Pernicious-numbers b/Lang/Uiua/Pernicious-numbers
new file mode 120000
index 0000000000..bcc3ebf322
--- /dev/null
+++ b/Lang/Uiua/Pernicious-numbers
@@ -0,0 +1 @@
+../../Task/Pernicious-numbers/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Phrase-reversals b/Lang/Uiua/Phrase-reversals
new file mode 120000
index 0000000000..4584c0fe62
--- /dev/null
+++ b/Lang/Uiua/Phrase-reversals
@@ -0,0 +1 @@
+../../Task/Phrase-reversals/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Pick-random-element b/Lang/Uiua/Pick-random-element
new file mode 120000
index 0000000000..e85c1a21e1
--- /dev/null
+++ b/Lang/Uiua/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Pisano-period b/Lang/Uiua/Pisano-period
new file mode 120000
index 0000000000..2e3ec789ad
--- /dev/null
+++ b/Lang/Uiua/Pisano-period
@@ -0,0 +1 @@
+../../Task/Pisano-period/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Plasma-effect b/Lang/Uiua/Plasma-effect
new file mode 120000
index 0000000000..ca73067f67
--- /dev/null
+++ b/Lang/Uiua/Plasma-effect
@@ -0,0 +1 @@
+../../Task/Plasma-effect/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Population-count b/Lang/Uiua/Population-count
new file mode 120000
index 0000000000..601ac5e44a
--- /dev/null
+++ b/Lang/Uiua/Population-count
@@ -0,0 +1 @@
+../../Task/Population-count/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Power-set b/Lang/Uiua/Power-set
new file mode 120000
index 0000000000..21a40d792f
--- /dev/null
+++ b/Lang/Uiua/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Primality-by-Wilsons-theorem b/Lang/Uiua/Primality-by-Wilsons-theorem
new file mode 120000
index 0000000000..8e83e31c35
--- /dev/null
+++ b/Lang/Uiua/Primality-by-Wilsons-theorem
@@ -0,0 +1 @@
+../../Task/Primality-by-Wilsons-theorem/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Prime-conspiracy b/Lang/Uiua/Prime-conspiracy
new file mode 120000
index 0000000000..d1cad5b5e0
--- /dev/null
+++ b/Lang/Uiua/Prime-conspiracy
@@ -0,0 +1 @@
+../../Task/Prime-conspiracy/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Prime-decomposition b/Lang/Uiua/Prime-decomposition
new file mode 120000
index 0000000000..bdff89da46
--- /dev/null
+++ b/Lang/Uiua/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Prime-numbers-whose-neighboring-pairs-are-tetraprimes b/Lang/Uiua/Prime-numbers-whose-neighboring-pairs-are-tetraprimes
new file mode 120000
index 0000000000..fead595d8f
--- /dev/null
+++ b/Lang/Uiua/Prime-numbers-whose-neighboring-pairs-are-tetraprimes
@@ -0,0 +1 @@
+../../Task/Prime-numbers-whose-neighboring-pairs-are-tetraprimes/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Prime-triangle b/Lang/Uiua/Prime-triangle
new file mode 120000
index 0000000000..59527b37eb
--- /dev/null
+++ b/Lang/Uiua/Prime-triangle
@@ -0,0 +1 @@
+../../Task/Prime-triangle/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Program-termination b/Lang/Uiua/Program-termination
new file mode 120000
index 0000000000..58f6f7fb66
--- /dev/null
+++ b/Lang/Uiua/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Proper-divisors b/Lang/Uiua/Proper-divisors
new file mode 120000
index 0000000000..94a040a034
--- /dev/null
+++ b/Lang/Uiua/Proper-divisors
@@ -0,0 +1 @@
+../../Task/Proper-divisors/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Quoting-constructs b/Lang/Uiua/Quoting-constructs
new file mode 120000
index 0000000000..0a39b9c1b8
--- /dev/null
+++ b/Lang/Uiua/Quoting-constructs
@@ -0,0 +1 @@
+../../Task/Quoting-constructs/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/RPG-attributes-generator b/Lang/Uiua/RPG-attributes-generator
new file mode 120000
index 0000000000..96e8262b6d
--- /dev/null
+++ b/Lang/Uiua/RPG-attributes-generator
@@ -0,0 +1 @@
+../../Task/RPG-attributes-generator/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Radical-of-an-integer b/Lang/Uiua/Radical-of-an-integer
new file mode 120000
index 0000000000..dd623262df
--- /dev/null
+++ b/Lang/Uiua/Radical-of-an-integer
@@ -0,0 +1 @@
+../../Task/Radical-of-an-integer/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Random-Latin-squares b/Lang/Uiua/Random-Latin-squares
new file mode 120000
index 0000000000..1244042116
--- /dev/null
+++ b/Lang/Uiua/Random-Latin-squares
@@ -0,0 +1 @@
+../../Task/Random-Latin-squares/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Random-numbers b/Lang/Uiua/Random-numbers
new file mode 120000
index 0000000000..bc115ba91a
--- /dev/null
+++ b/Lang/Uiua/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Real-constants-and-functions b/Lang/Uiua/Real-constants-and-functions
new file mode 120000
index 0000000000..fb71bc51b7
--- /dev/null
+++ b/Lang/Uiua/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Recamans-sequence b/Lang/Uiua/Recamans-sequence
new file mode 120000
index 0000000000..fdc4665a6a
--- /dev/null
+++ b/Lang/Uiua/Recamans-sequence
@@ -0,0 +1 @@
+../../Task/Recamans-sequence/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Repeat b/Lang/Uiua/Repeat
new file mode 120000
index 0000000000..e75d6dc3ae
--- /dev/null
+++ b/Lang/Uiua/Repeat
@@ -0,0 +1 @@
+../../Task/Repeat/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Reverse-words-in-a-string b/Lang/Uiua/Reverse-words-in-a-string
new file mode 120000
index 0000000000..a6f43bc773
--- /dev/null
+++ b/Lang/Uiua/Reverse-words-in-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-words-in-a-string/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Rosetta-Code-Rank-languages-by-popularity b/Lang/Uiua/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..582776a4d1
--- /dev/null
+++ b/Lang/Uiua/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Run-length-encoding b/Lang/Uiua/Run-length-encoding
new file mode 120000
index 0000000000..b6eee5ca86
--- /dev/null
+++ b/Lang/Uiua/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Ruth-Aaron-numbers b/Lang/Uiua/Ruth-Aaron-numbers
new file mode 120000
index 0000000000..bbf8bc039a
--- /dev/null
+++ b/Lang/Uiua/Ruth-Aaron-numbers
@@ -0,0 +1 @@
+../../Task/Ruth-Aaron-numbers/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Self-describing-numbers b/Lang/Uiua/Self-describing-numbers
new file mode 120000
index 0000000000..158e71854a
--- /dev/null
+++ b/Lang/Uiua/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Sequence-of-primes-by-trial-division b/Lang/Uiua/Sequence-of-primes-by-trial-division
new file mode 120000
index 0000000000..d94d81ea51
--- /dev/null
+++ b/Lang/Uiua/Sequence-of-primes-by-trial-division
@@ -0,0 +1 @@
+../../Task/Sequence-of-primes-by-trial-division/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Set-puzzle b/Lang/Uiua/Set-puzzle
new file mode 120000
index 0000000000..3e3bc1d78f
--- /dev/null
+++ b/Lang/Uiua/Set-puzzle
@@ -0,0 +1 @@
+../../Task/Set-puzzle/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Set-right-adjacent-bits b/Lang/Uiua/Set-right-adjacent-bits
new file mode 120000
index 0000000000..902c125b59
--- /dev/null
+++ b/Lang/Uiua/Set-right-adjacent-bits
@@ -0,0 +1 @@
+../../Task/Set-right-adjacent-bits/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Sexy-primes b/Lang/Uiua/Sexy-primes
new file mode 120000
index 0000000000..8d61a811ee
--- /dev/null
+++ b/Lang/Uiua/Sexy-primes
@@ -0,0 +1 @@
+../../Task/Sexy-primes/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Shoelace-formula-for-polygonal-area b/Lang/Uiua/Shoelace-formula-for-polygonal-area
new file mode 120000
index 0000000000..d0a37fe60f
--- /dev/null
+++ b/Lang/Uiua/Shoelace-formula-for-polygonal-area
@@ -0,0 +1 @@
+../../Task/Shoelace-formula-for-polygonal-area/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Smith-numbers b/Lang/Uiua/Smith-numbers
new file mode 120000
index 0000000000..3e4afb53bf
--- /dev/null
+++ b/Lang/Uiua/Smith-numbers
@@ -0,0 +1 @@
+../../Task/Smith-numbers/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Solve-a-Hidato-puzzle b/Lang/Uiua/Solve-a-Hidato-puzzle
new file mode 120000
index 0000000000..961a795fe0
--- /dev/null
+++ b/Lang/Uiua/Solve-a-Hidato-puzzle
@@ -0,0 +1 @@
+../../Task/Solve-a-Hidato-puzzle/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Solve-a-Numbrix-puzzle b/Lang/Uiua/Solve-a-Numbrix-puzzle
new file mode 120000
index 0000000000..d5e755e9d5
--- /dev/null
+++ b/Lang/Uiua/Solve-a-Numbrix-puzzle
@@ -0,0 +1 @@
+../../Task/Solve-a-Numbrix-puzzle/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Sort-disjoint-sublist b/Lang/Uiua/Sort-disjoint-sublist
new file mode 120000
index 0000000000..247b8fbb37
--- /dev/null
+++ b/Lang/Uiua/Sort-disjoint-sublist
@@ -0,0 +1 @@
+../../Task/Sort-disjoint-sublist/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Spiral-matrix b/Lang/Uiua/Spiral-matrix
new file mode 120000
index 0000000000..58fe68a534
--- /dev/null
+++ b/Lang/Uiua/Spiral-matrix
@@ -0,0 +1 @@
+../../Task/Spiral-matrix/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Split-a-character-string-based-on-change-of-character b/Lang/Uiua/Split-a-character-string-based-on-change-of-character
new file mode 120000
index 0000000000..61d4dd8555
--- /dev/null
+++ b/Lang/Uiua/Split-a-character-string-based-on-change-of-character
@@ -0,0 +1 @@
+../../Task/Split-a-character-string-based-on-change-of-character/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Square-free-integers b/Lang/Uiua/Square-free-integers
new file mode 120000
index 0000000000..7a649e9779
--- /dev/null
+++ b/Lang/Uiua/Square-free-integers
@@ -0,0 +1 @@
+../../Task/Square-free-integers/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Stem-and-leaf-plot b/Lang/Uiua/Stem-and-leaf-plot
new file mode 120000
index 0000000000..cfafe7201a
--- /dev/null
+++ b/Lang/Uiua/Stem-and-leaf-plot
@@ -0,0 +1 @@
+../../Task/Stem-and-leaf-plot/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/String-case b/Lang/Uiua/String-case
new file mode 120000
index 0000000000..4362c13413
--- /dev/null
+++ b/Lang/Uiua/String-case
@@ -0,0 +1 @@
+../../Task/String-case/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/String-concatenation b/Lang/Uiua/String-concatenation
new file mode 120000
index 0000000000..cd5c2325bd
--- /dev/null
+++ b/Lang/Uiua/String-concatenation
@@ -0,0 +1 @@
+../../Task/String-concatenation/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/String-interpolation-included- b/Lang/Uiua/String-interpolation-included-
new file mode 120000
index 0000000000..e880f170b4
--- /dev/null
+++ b/Lang/Uiua/String-interpolation-included-
@@ -0,0 +1 @@
+../../Task/String-interpolation-included-/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/String-matching b/Lang/Uiua/String-matching
new file mode 120000
index 0000000000..d45ce27782
--- /dev/null
+++ b/Lang/Uiua/String-matching
@@ -0,0 +1 @@
+../../Task/String-matching/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Strip-a-set-of-characters-from-a-string b/Lang/Uiua/Strip-a-set-of-characters-from-a-string
new file mode 120000
index 0000000000..951d176969
--- /dev/null
+++ b/Lang/Uiua/Strip-a-set-of-characters-from-a-string
@@ -0,0 +1 @@
+../../Task/Strip-a-set-of-characters-from-a-string/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Sudan-function b/Lang/Uiua/Sudan-function
new file mode 120000
index 0000000000..afedd391cb
--- /dev/null
+++ b/Lang/Uiua/Sudan-function
@@ -0,0 +1 @@
+../../Task/Sudan-function/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Sudoku b/Lang/Uiua/Sudoku
new file mode 120000
index 0000000000..be7e18a94a
--- /dev/null
+++ b/Lang/Uiua/Sudoku
@@ -0,0 +1 @@
+../../Task/Sudoku/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Sum-multiples-of-3-and-5 b/Lang/Uiua/Sum-multiples-of-3-and-5
new file mode 120000
index 0000000000..1949126562
--- /dev/null
+++ b/Lang/Uiua/Sum-multiples-of-3-and-5
@@ -0,0 +1 @@
+../../Task/Sum-multiples-of-3-and-5/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Sum-of-elements-below-main-diagonal-of-matrix b/Lang/Uiua/Sum-of-elements-below-main-diagonal-of-matrix
new file mode 120000
index 0000000000..37e45429c6
--- /dev/null
+++ b/Lang/Uiua/Sum-of-elements-below-main-diagonal-of-matrix
@@ -0,0 +1 @@
+../../Task/Sum-of-elements-below-main-diagonal-of-matrix/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Summarize-primes b/Lang/Uiua/Summarize-primes
new file mode 120000
index 0000000000..4ad940883d
--- /dev/null
+++ b/Lang/Uiua/Summarize-primes
@@ -0,0 +1 @@
+../../Task/Summarize-primes/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Sylvesters-sequence b/Lang/Uiua/Sylvesters-sequence
new file mode 120000
index 0000000000..859c7ca10b
--- /dev/null
+++ b/Lang/Uiua/Sylvesters-sequence
@@ -0,0 +1 @@
+../../Task/Sylvesters-sequence/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Tau-function b/Lang/Uiua/Tau-function
new file mode 120000
index 0000000000..314431f8dd
--- /dev/null
+++ b/Lang/Uiua/Tau-function
@@ -0,0 +1 @@
+../../Task/Tau-function/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Test-a-function b/Lang/Uiua/Test-a-function
new file mode 120000
index 0000000000..4e61b05504
--- /dev/null
+++ b/Lang/Uiua/Test-a-function
@@ -0,0 +1 @@
+../../Task/Test-a-function/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Tic-tac-toe b/Lang/Uiua/Tic-tac-toe
new file mode 120000
index 0000000000..fc3b26168b
--- /dev/null
+++ b/Lang/Uiua/Tic-tac-toe
@@ -0,0 +1 @@
+../../Task/Tic-tac-toe/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Totient-function b/Lang/Uiua/Totient-function
new file mode 120000
index 0000000000..838bb52e2f
--- /dev/null
+++ b/Lang/Uiua/Totient-function
@@ -0,0 +1 @@
+../../Task/Totient-function/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Trigonometric-functions b/Lang/Uiua/Trigonometric-functions
new file mode 120000
index 0000000000..07a1fc051e
--- /dev/null
+++ b/Lang/Uiua/Trigonometric-functions
@@ -0,0 +1 @@
+../../Task/Trigonometric-functions/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Truncatable-primes b/Lang/Uiua/Truncatable-primes
new file mode 120000
index 0000000000..b02bf04462
--- /dev/null
+++ b/Lang/Uiua/Truncatable-primes
@@ -0,0 +1 @@
+../../Task/Truncatable-primes/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Unprimeable-numbers b/Lang/Uiua/Unprimeable-numbers
new file mode 120000
index 0000000000..5a99955431
--- /dev/null
+++ b/Lang/Uiua/Unprimeable-numbers
@@ -0,0 +1 @@
+../../Task/Unprimeable-numbers/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Validate-International-Securities-Identification-Number b/Lang/Uiua/Validate-International-Securities-Identification-Number
new file mode 120000
index 0000000000..6d28391590
--- /dev/null
+++ b/Lang/Uiua/Validate-International-Securities-Identification-Number
@@ -0,0 +1 @@
+../../Task/Validate-International-Securities-Identification-Number/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Voronoi-diagram b/Lang/Uiua/Voronoi-diagram
new file mode 120000
index 0000000000..d3162948cc
--- /dev/null
+++ b/Lang/Uiua/Voronoi-diagram
@@ -0,0 +1 @@
+../../Task/Voronoi-diagram/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Water-collected-between-towers b/Lang/Uiua/Water-collected-between-towers
new file mode 120000
index 0000000000..cfd5fa722a
--- /dev/null
+++ b/Lang/Uiua/Water-collected-between-towers
@@ -0,0 +1 @@
+../../Task/Water-collected-between-towers/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Weird-numbers b/Lang/Uiua/Weird-numbers
new file mode 120000
index 0000000000..3d24f8a95b
--- /dev/null
+++ b/Lang/Uiua/Weird-numbers
@@ -0,0 +1 @@
+../../Task/Weird-numbers/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Wieferich-primes b/Lang/Uiua/Wieferich-primes
new file mode 120000
index 0000000000..b9d2d78697
--- /dev/null
+++ b/Lang/Uiua/Wieferich-primes
@@ -0,0 +1 @@
+../../Task/Wieferich-primes/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Wireworld b/Lang/Uiua/Wireworld
new file mode 120000
index 0000000000..eaa729b6f4
--- /dev/null
+++ b/Lang/Uiua/Wireworld
@@ -0,0 +1 @@
+../../Task/Wireworld/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Word-frequency b/Lang/Uiua/Word-frequency
new file mode 120000
index 0000000000..f59b23af8e
--- /dev/null
+++ b/Lang/Uiua/Word-frequency
@@ -0,0 +1 @@
+../../Task/Word-frequency/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Word-wheel b/Lang/Uiua/Word-wheel
new file mode 120000
index 0000000000..f8bafcb6c7
--- /dev/null
+++ b/Lang/Uiua/Word-wheel
@@ -0,0 +1 @@
+../../Task/Word-wheel/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Yellowstone-sequence b/Lang/Uiua/Yellowstone-sequence
new file mode 120000
index 0000000000..0bae4da70f
--- /dev/null
+++ b/Lang/Uiua/Yellowstone-sequence
@@ -0,0 +1 @@
+../../Task/Yellowstone-sequence/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Zebra-puzzle b/Lang/Uiua/Zebra-puzzle
new file mode 120000
index 0000000000..cd343323b4
--- /dev/null
+++ b/Lang/Uiua/Zebra-puzzle
@@ -0,0 +1 @@
+../../Task/Zebra-puzzle/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Zeckendorf-number-representation b/Lang/Uiua/Zeckendorf-number-representation
new file mode 120000
index 0000000000..1748bf90ef
--- /dev/null
+++ b/Lang/Uiua/Zeckendorf-number-representation
@@ -0,0 +1 @@
+../../Task/Zeckendorf-number-representation/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Zhang-Suen-thinning-algorithm b/Lang/Uiua/Zhang-Suen-thinning-algorithm
new file mode 120000
index 0000000000..a7e773ae5b
--- /dev/null
+++ b/Lang/Uiua/Zhang-Suen-thinning-algorithm
@@ -0,0 +1 @@
+../../Task/Zhang-Suen-thinning-algorithm/Uiua
\ No newline at end of file
diff --git a/Lang/Uiua/Zig-zag-matrix b/Lang/Uiua/Zig-zag-matrix
new file mode 120000
index 0000000000..3d79e2a814
--- /dev/null
+++ b/Lang/Uiua/Zig-zag-matrix
@@ -0,0 +1 @@
+../../Task/Zig-zag-matrix/Uiua
\ No newline at end of file
diff --git a/Lang/Ultimate++/00-LANG.txt b/Lang/Ultimate++/00-LANG.txt
index b340f85de9..a819e23329 100644
--- a/Lang/Ultimate++/00-LANG.txt
+++ b/Lang/Ultimate++/00-LANG.txt
@@ -23,7 +23,7 @@ https://www.ultimatepp.org/www$uppweb$overview$en-us.html
==Language==
This example is a hello world using the Upp namespace.
-
+
#include
#include
@@ -39,7 +39,7 @@ CONSOLE_APP_MAIN
for(int i = 0; i < cmdline.GetCount(); i++) {
}
}
-
+
{{out}}
@@ -51,7 +51,7 @@ and Hello World
'''A+B B-A'''
-#include#include #include @@ -69,7 +69,7 @@ CONSOLE_APP_MAIN for(int i = 0; i < cmdline.GetCount(); i++) { } } -
#include#include #include @@ -108,7 +108,7 @@ CONSOLE_APP_MAIN for(int i = 0; i < cmdline.GetCount(); i++) { } } -
+In concatenative programming, there are no precedence rules, the calculations are merely performed in the sequence in which they are presented. The order with which elements come off a stack is known as last in, first out. '''''— [https://wiki.xxiivv.com/site/uxntal_syntax.html Uxntal Syntax]''''' ++ Instructions are written in uppercase, followed by any combination of the three 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) and for defining devices and zero-page variables. 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
+For further details on Uxntal syntax, see the [https://wiki.xxiivv.com/site/uxntal_syntax.html syntax page] on the XXIIVV wiki.
+
+[[Category:Assembler_language]]
+[[Category:Assembly]]
+[[Category:Esoteric_Languages]]
+[[Category:Execution_method/Compiled/Bytecode]]
+[[Category:Programming_paradigm/Object-oriented]]
+[[Category:Programming_paradigm/Concatenative]]
+[[Category:Typing/Unsafe]]
+[[Category:Typing/Untyped]]
\ No newline at end of file
diff --git a/Lang/Uxntal/Array-length b/Lang/Uxntal/Array-length
new file mode 120000
index 0000000000..438c43e439
--- /dev/null
+++ b/Lang/Uxntal/Array-length
@@ -0,0 +1 @@
+../../Task/Array-length/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Chaos-game b/Lang/Uxntal/Chaos-game
new file mode 120000
index 0000000000..80920dd6ff
--- /dev/null
+++ b/Lang/Uxntal/Chaos-game
@@ -0,0 +1 @@
+../../Task/Chaos-game/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Comments b/Lang/Uxntal/Comments
new file mode 120000
index 0000000000..b23db936ba
--- /dev/null
+++ b/Lang/Uxntal/Comments
@@ -0,0 +1 @@
+../../Task/Comments/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Conditional-structures b/Lang/Uxntal/Conditional-structures
new file mode 120000
index 0000000000..75d2f67746
--- /dev/null
+++ b/Lang/Uxntal/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Copy-a-string b/Lang/Uxntal/Copy-a-string
new file mode 120000
index 0000000000..00610fac74
--- /dev/null
+++ b/Lang/Uxntal/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Draw-a-pixel b/Lang/Uxntal/Draw-a-pixel
deleted file mode 120000
index 68f5f2e311..0000000000
--- a/Lang/Uxntal/Draw-a-pixel
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Draw-a-pixel/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Fibonacci-sequence b/Lang/Uxntal/Fibonacci-sequence
new file mode 120000
index 0000000000..7795c4564a
--- /dev/null
+++ b/Lang/Uxntal/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Flow-control-structures b/Lang/Uxntal/Flow-control-structures
new file mode 120000
index 0000000000..db95ed817d
--- /dev/null
+++ b/Lang/Uxntal/Flow-control-structures
@@ -0,0 +1 @@
+../../Task/Flow-control-structures/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Hello-world-Graphical b/Lang/Uxntal/Hello-world-Graphical
new file mode 120000
index 0000000000..2a5fadb101
--- /dev/null
+++ b/Lang/Uxntal/Hello-world-Graphical
@@ -0,0 +1 @@
+../../Task/Hello-world-Graphical/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Hello-world-Standard-error b/Lang/Uxntal/Hello-world-Standard-error
new file mode 120000
index 0000000000..be0ab3efa0
--- /dev/null
+++ b/Lang/Uxntal/Hello-world-Standard-error
@@ -0,0 +1 @@
+../../Task/Hello-world-Standard-error/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Hello-world-Text b/Lang/Uxntal/Hello-world-Text
deleted file mode 120000
index 9024a6cde4..0000000000
--- a/Lang/Uxntal/Hello-world-Text
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Hello-world-Text/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Integer-sequence b/Lang/Uxntal/Integer-sequence
new file mode 120000
index 0000000000..6d76150081
--- /dev/null
+++ b/Lang/Uxntal/Integer-sequence
@@ -0,0 +1 @@
+../../Task/Integer-sequence/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Loops-Break b/Lang/Uxntal/Loops-Break
new file mode 120000
index 0000000000..5d6d57196c
--- /dev/null
+++ b/Lang/Uxntal/Loops-Break
@@ -0,0 +1 @@
+../../Task/Loops-Break/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Loops-Continue b/Lang/Uxntal/Loops-Continue
new file mode 120000
index 0000000000..88d5768874
--- /dev/null
+++ b/Lang/Uxntal/Loops-Continue
@@ -0,0 +1 @@
+../../Task/Loops-Continue/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Loops-Do-while b/Lang/Uxntal/Loops-Do-while
new file mode 120000
index 0000000000..a3d655278d
--- /dev/null
+++ b/Lang/Uxntal/Loops-Do-while
@@ -0,0 +1 @@
+../../Task/Loops-Do-while/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Loops-For-with-a-specified-step b/Lang/Uxntal/Loops-For-with-a-specified-step
new file mode 120000
index 0000000000..4f79f37c9f
--- /dev/null
+++ b/Lang/Uxntal/Loops-For-with-a-specified-step
@@ -0,0 +1 @@
+../../Task/Loops-For-with-a-specified-step/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Loops-Foreach b/Lang/Uxntal/Loops-Foreach
new file mode 120000
index 0000000000..f8f61da6a7
--- /dev/null
+++ b/Lang/Uxntal/Loops-Foreach
@@ -0,0 +1 @@
+../../Task/Loops-Foreach/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Loops-N-plus-one-half b/Lang/Uxntal/Loops-N-plus-one-half
new file mode 120000
index 0000000000..f7ee606c95
--- /dev/null
+++ b/Lang/Uxntal/Loops-N-plus-one-half
@@ -0,0 +1 @@
+../../Task/Loops-N-plus-one-half/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Loops-While b/Lang/Uxntal/Loops-While
new file mode 120000
index 0000000000..f8307c2951
--- /dev/null
+++ b/Lang/Uxntal/Loops-While
@@ -0,0 +1 @@
+../../Task/Loops-While/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Quine b/Lang/Uxntal/Quine
new file mode 120000
index 0000000000..9f3a4ca4d4
--- /dev/null
+++ b/Lang/Uxntal/Quine
@@ -0,0 +1 @@
+../../Task/Quine/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Stack-traces b/Lang/Uxntal/Stack-traces
new file mode 120000
index 0000000000..0b9cf24839
--- /dev/null
+++ b/Lang/Uxntal/Stack-traces
@@ -0,0 +1 @@
+../../Task/Stack-traces/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/String-length b/Lang/Uxntal/String-length
new file mode 120000
index 0000000000..8dd88d3b90
--- /dev/null
+++ b/Lang/Uxntal/String-length
@@ -0,0 +1 @@
+../../Task/String-length/Uxntal
\ No newline at end of file
diff --git a/Lang/Uxntal/Weird-numbers b/Lang/Uxntal/Weird-numbers
new file mode 120000
index 0000000000..1bddac81d2
--- /dev/null
+++ b/Lang/Uxntal/Weird-numbers
@@ -0,0 +1 @@
+../../Task/Weird-numbers/Uxntal
\ No newline at end of file
diff --git a/Lang/V-(Vlang)/00-LANG.txt b/Lang/V-(Vlang)/00-LANG.txt
index 9a2f5797f1..56c1cc8279 100644
--- a/Lang/V-(Vlang)/00-LANG.txt
+++ b/Lang/V-(Vlang)/00-LANG.txt
@@ -13,7 +13,7 @@
''Simple, fast, safe, compiled. For developing maintainable software.''
:
dollars."!
+
+?"
,
and retrieves stringparts identified in the input file. [https://github.com/yaml/yamlscript/releases ys] and is also available in several programming languages as a binding module to the [https://github.com/yaml/yamlscript/releases libyamlscript.so] shared library:
+'''[https://yamlscript.org YS (pronounced "wise", aka YAMLScript)]''' is a new programming language that uses [https://yaml.org/ YAML] as its syntax. It is a complete, functional, general purpose language, but can also be easily embedded in YAML files to make them dynamic at load time. Most existing YAML files and all JSON files are already valid YS programs.
+You can learn YS for free (with help from experienced mentors) at [https://exercism.org/tracks/yamlscript Exercism].
+
+YS has a compiler/interpreter CLI program called [https://github.com/yaml/yamlscript/releases ys] and is also available in several programming languages as a binding module to the [https://github.com/yaml/yamlscript/releases libys.so] shared library:
+
+* [https://www.nuget.org/packages/YAMLScript/ C#]
* [https://clojars.org/org.yamlscript/clj-yamlscript Clojure]
+* [https://shardbox.org/shards/yamlscript Crystal]
+* [https://github.com/yaml/yamlscript-go Go]
+* [https://hackage.haskell.org/package/yamlscript Haskell]
* [https://clojars.org/org.yamlscript/yamlscript Java]
+* [https://juliahub.com/ui/Packages/General/YAMLScript Julia]
+* [https://luarocks.org/modules/ingy/yamlscript Lua]
* [https://www.npmjs.com/package/@yaml/yamlscript NodeJS]
* [https://metacpan.org/pod/YAMLScript Perl]
+* [https://packagist.org/packages/yaml/yamlscript PHP]
* [https://pypi.org/project/yamlscript/ Python]
* [https://raku.land/zef:ingy/YAMLScript Raku]
* [https://rubygems.org/gems/yamlscript Ruby]
* [https://crates.io/crates/yamlscript Rust]
-==Installing YAMLScript==
+==Installing YS==
-Run this command to install the ys command line YAMLScript runner/loader/compiler program.
+Run this command to install the ys command line YS runner/loader/compiler binary.
- curl -sSL yamlscript.org/install | bash
+ curl https://getys.org/ys | bash
That will install $HOME/.local/bin/ys. If $HOME/.local/bin is not in your PATH, run:
@@ -28,14 +39,77 @@ That will install $HOME/.local/bin/ys. If $HOME/.local/bin
+#!/usr/bin/env ys-0
+
+# Create a Rosetta Code entry for a YS program:
+
+defn main(program *args):
+ say: |-
+
+ =={{header|YAMLScript}}==
+
+ $ $command
+ $output
+ </pre>
+
+defn fmt-args(args):
+ args =: !:joins
+ map _ args:
+ \(re-matches(/[-+,.:\w]+/ _:S)
+ .if(_ pr-str(_)))
+ when args.?: " $args"
+
+
+You run it like this:
+
+
+$ ys rosetta-code-ys-entry fibonacci-sequence.ys 5
+
+=={{header|YAMLScript}}==
+
+{{out|input=3 4}}
+
+$ ys fibonacci-sequence.ys 5
+0
+1
+1
+2
+3
+</pre>
+
\ No newline at end of file
diff --git a/Lang/YAMLScript/100-prisoners b/Lang/YAMLScript/100-prisoners
new file mode 120000
index 0000000000..bebf8d5d8f
--- /dev/null
+++ b/Lang/YAMLScript/100-prisoners
@@ -0,0 +1 @@
+../../Task/100-prisoners/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/21-game b/Lang/YAMLScript/21-game
new file mode 120000
index 0000000000..80f0a3594c
--- /dev/null
+++ b/Lang/YAMLScript/21-game
@@ -0,0 +1 @@
+../../Task/21-game/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/Array-length b/Lang/YAMLScript/Array-length
new file mode 120000
index 0000000000..6ab2707560
--- /dev/null
+++ b/Lang/YAMLScript/Array-length
@@ -0,0 +1 @@
+../../Task/Array-length/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/Average-loop-length b/Lang/YAMLScript/Average-loop-length
new file mode 120000
index 0000000000..21710eecef
--- /dev/null
+++ b/Lang/YAMLScript/Average-loop-length
@@ -0,0 +1 @@
+../../Task/Average-loop-length/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/Base64-decode-data b/Lang/YAMLScript/Base64-decode-data
new file mode 120000
index 0000000000..0f66fa60fa
--- /dev/null
+++ b/Lang/YAMLScript/Base64-decode-data
@@ -0,0 +1 @@
+../../Task/Base64-decode-data/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/Best-shuffle b/Lang/YAMLScript/Best-shuffle
new file mode 120000
index 0000000000..99ffbfc9b1
--- /dev/null
+++ b/Lang/YAMLScript/Best-shuffle
@@ -0,0 +1 @@
+../../Task/Best-shuffle/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/Conways-Game-of-Life b/Lang/YAMLScript/Conways-Game-of-Life
new file mode 120000
index 0000000000..3153c05b26
--- /dev/null
+++ b/Lang/YAMLScript/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/Dragon-curve b/Lang/YAMLScript/Dragon-curve
new file mode 120000
index 0000000000..7f9deedb82
--- /dev/null
+++ b/Lang/YAMLScript/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/Even-or-odd b/Lang/YAMLScript/Even-or-odd
new file mode 120000
index 0000000000..95556dd2eb
--- /dev/null
+++ b/Lang/YAMLScript/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/Floyds-triangle b/Lang/YAMLScript/Floyds-triangle
new file mode 120000
index 0000000000..9c388f69f3
--- /dev/null
+++ b/Lang/YAMLScript/Floyds-triangle
@@ -0,0 +1 @@
+../../Task/Floyds-triangle/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/Function-definition b/Lang/YAMLScript/Function-definition
new file mode 120000
index 0000000000..cc6f6727f4
--- /dev/null
+++ b/Lang/YAMLScript/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/Greatest-common-divisor b/Lang/YAMLScript/Greatest-common-divisor
new file mode 120000
index 0000000000..134280cc97
--- /dev/null
+++ b/Lang/YAMLScript/Greatest-common-divisor
@@ -0,0 +1 @@
+../../Task/Greatest-common-divisor/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/Integer-comparison b/Lang/YAMLScript/Integer-comparison
new file mode 120000
index 0000000000..47b0c04990
--- /dev/null
+++ b/Lang/YAMLScript/Integer-comparison
@@ -0,0 +1 @@
+../../Task/Integer-comparison/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/Integer-overflow b/Lang/YAMLScript/Integer-overflow
new file mode 120000
index 0000000000..fe6aaac55c
--- /dev/null
+++ b/Lang/YAMLScript/Integer-overflow
@@ -0,0 +1 @@
+../../Task/Integer-overflow/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/JortSort b/Lang/YAMLScript/JortSort
new file mode 120000
index 0000000000..28bb797476
--- /dev/null
+++ b/Lang/YAMLScript/JortSort
@@ -0,0 +1 @@
+../../Task/JortSort/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/Knuth-shuffle b/Lang/YAMLScript/Knuth-shuffle
new file mode 120000
index 0000000000..676dc89553
--- /dev/null
+++ b/Lang/YAMLScript/Knuth-shuffle
@@ -0,0 +1 @@
+../../Task/Knuth-shuffle/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/Luhn-test-of-credit-card-numbers b/Lang/YAMLScript/Luhn-test-of-credit-card-numbers
new file mode 120000
index 0000000000..f96e4c4d21
--- /dev/null
+++ b/Lang/YAMLScript/Luhn-test-of-credit-card-numbers
@@ -0,0 +1 @@
+../../Task/Luhn-test-of-credit-card-numbers/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/Munching-squares b/Lang/YAMLScript/Munching-squares
new file mode 120000
index 0000000000..2b7870226f
--- /dev/null
+++ b/Lang/YAMLScript/Munching-squares
@@ -0,0 +1 @@
+../../Task/Munching-squares/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/Next-highest-int-from-digits b/Lang/YAMLScript/Next-highest-int-from-digits
new file mode 120000
index 0000000000..6dd0221650
--- /dev/null
+++ b/Lang/YAMLScript/Next-highest-int-from-digits
@@ -0,0 +1 @@
+../../Task/Next-highest-int-from-digits/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/One-dimensional-cellular-automata b/Lang/YAMLScript/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..74c105b72e
--- /dev/null
+++ b/Lang/YAMLScript/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/Palindrome-detection b/Lang/YAMLScript/Palindrome-detection
new file mode 120000
index 0000000000..fc4c1cdd2f
--- /dev/null
+++ b/Lang/YAMLScript/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/Quickselect-algorithm b/Lang/YAMLScript/Quickselect-algorithm
new file mode 120000
index 0000000000..978322a04a
--- /dev/null
+++ b/Lang/YAMLScript/Quickselect-algorithm
@@ -0,0 +1 @@
+../../Task/Quickselect-algorithm/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/Sieve-of-Eratosthenes b/Lang/YAMLScript/Sieve-of-Eratosthenes
new file mode 120000
index 0000000000..b42b0394f6
--- /dev/null
+++ b/Lang/YAMLScript/Sieve-of-Eratosthenes
@@ -0,0 +1 @@
+../../Task/Sieve-of-Eratosthenes/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/Sparkline-in-unicode b/Lang/YAMLScript/Sparkline-in-unicode
new file mode 120000
index 0000000000..ae2a07413c
--- /dev/null
+++ b/Lang/YAMLScript/Sparkline-in-unicode
@@ -0,0 +1 @@
+../../Task/Sparkline-in-unicode/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/Terminal-control-Ringing-the-terminal-bell b/Lang/YAMLScript/Terminal-control-Ringing-the-terminal-bell
new file mode 120000
index 0000000000..21baf990a9
--- /dev/null
+++ b/Lang/YAMLScript/Terminal-control-Ringing-the-terminal-bell
@@ -0,0 +1 @@
+../../Task/Terminal-control-Ringing-the-terminal-bell/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/Tokenize-a-string b/Lang/YAMLScript/Tokenize-a-string
new file mode 120000
index 0000000000..4c9f0efdcc
--- /dev/null
+++ b/Lang/YAMLScript/Tokenize-a-string
@@ -0,0 +1 @@
+../../Task/Tokenize-a-string/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/Undefined-values b/Lang/YAMLScript/Undefined-values
new file mode 120000
index 0000000000..ff7699a995
--- /dev/null
+++ b/Lang/YAMLScript/Undefined-values
@@ -0,0 +1 @@
+../../Task/Undefined-values/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/Validate-International-Securities-Identification-Number b/Lang/YAMLScript/Validate-International-Securities-Identification-Number
new file mode 120000
index 0000000000..40c80b8d7d
--- /dev/null
+++ b/Lang/YAMLScript/Validate-International-Securities-Identification-Number
@@ -0,0 +1 @@
+../../Task/Validate-International-Securities-Identification-Number/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/Van-der-Corput-sequence b/Lang/YAMLScript/Van-der-Corput-sequence
new file mode 120000
index 0000000000..654ffd3cbb
--- /dev/null
+++ b/Lang/YAMLScript/Van-der-Corput-sequence
@@ -0,0 +1 @@
+../../Task/Van-der-Corput-sequence/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/Weird-numbers b/Lang/YAMLScript/Weird-numbers
new file mode 120000
index 0000000000..bf5aa481d4
--- /dev/null
+++ b/Lang/YAMLScript/Weird-numbers
@@ -0,0 +1 @@
+../../Task/Weird-numbers/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/Xiaolin-Wus-line-algorithm b/Lang/YAMLScript/Xiaolin-Wus-line-algorithm
new file mode 120000
index 0000000000..be316f6902
--- /dev/null
+++ b/Lang/YAMLScript/Xiaolin-Wus-line-algorithm
@@ -0,0 +1 @@
+../../Task/Xiaolin-Wus-line-algorithm/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/Yellowstone-sequence b/Lang/YAMLScript/Yellowstone-sequence
new file mode 120000
index 0000000000..efac2d410f
--- /dev/null
+++ b/Lang/YAMLScript/Yellowstone-sequence
@@ -0,0 +1 @@
+../../Task/Yellowstone-sequence/YAMLScript
\ No newline at end of file
diff --git a/Lang/YAMLScript/Zig-zag-matrix b/Lang/YAMLScript/Zig-zag-matrix
new file mode 120000
index 0000000000..691eda7cd9
--- /dev/null
+++ b/Lang/YAMLScript/Zig-zag-matrix
@@ -0,0 +1 @@
+../../Task/Zig-zag-matrix/YAMLScript
\ No newline at end of file
diff --git a/Lang/Yabasic/Associative-array-Merging b/Lang/Yabasic/Associative-array-Merging
new file mode 120000
index 0000000000..446716ab58
--- /dev/null
+++ b/Lang/Yabasic/Associative-array-Merging
@@ -0,0 +1 @@
+../../Task/Associative-array-Merging/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Averages-Mean-angle b/Lang/Yabasic/Averages-Mean-angle
new file mode 120000
index 0000000000..ee2478f1ef
--- /dev/null
+++ b/Lang/Yabasic/Averages-Mean-angle
@@ -0,0 +1 @@
+../../Task/Averages-Mean-angle/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Determine-if-a-string-has-all-the-same-characters b/Lang/Yabasic/Determine-if-a-string-has-all-the-same-characters
new file mode 120000
index 0000000000..c1da4813dd
--- /dev/null
+++ b/Lang/Yabasic/Determine-if-a-string-has-all-the-same-characters
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-has-all-the-same-characters/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Determine-sentence-type b/Lang/Yabasic/Determine-sentence-type
new file mode 120000
index 0000000000..54129c23c0
--- /dev/null
+++ b/Lang/Yabasic/Determine-sentence-type
@@ -0,0 +1 @@
+../../Task/Determine-sentence-type/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Display-a-linear-combination b/Lang/Yabasic/Display-a-linear-combination
new file mode 120000
index 0000000000..3089327b6e
--- /dev/null
+++ b/Lang/Yabasic/Display-a-linear-combination
@@ -0,0 +1 @@
+../../Task/Display-a-linear-combination/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Diversity-prediction-theorem b/Lang/Yabasic/Diversity-prediction-theorem
new file mode 120000
index 0000000000..5dec4248b2
--- /dev/null
+++ b/Lang/Yabasic/Diversity-prediction-theorem
@@ -0,0 +1 @@
+../../Task/Diversity-prediction-theorem/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Empty-program b/Lang/Yabasic/Empty-program
deleted file mode 120000
index 86460983fb..0000000000
--- a/Lang/Yabasic/Empty-program
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Empty-program/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Evaluate-binomial-coefficients b/Lang/Yabasic/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..2d010b1897
--- /dev/null
+++ b/Lang/Yabasic/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Kronecker-product b/Lang/Yabasic/Kronecker-product
new file mode 120000
index 0000000000..64e2f55421
--- /dev/null
+++ b/Lang/Yabasic/Kronecker-product
@@ -0,0 +1 @@
+../../Task/Kronecker-product/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Meissel-Mertens-constant b/Lang/Yabasic/Meissel-Mertens-constant
deleted file mode 120000
index 2300a0e96d..0000000000
--- a/Lang/Yabasic/Meissel-Mertens-constant
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Meissel-Mertens-constant/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Modular-inverse b/Lang/Yabasic/Modular-inverse
new file mode 120000
index 0000000000..996963babe
--- /dev/null
+++ b/Lang/Yabasic/Modular-inverse
@@ -0,0 +1 @@
+../../Task/Modular-inverse/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Multiple-regression b/Lang/Yabasic/Multiple-regression
new file mode 120000
index 0000000000..047c89f1aa
--- /dev/null
+++ b/Lang/Yabasic/Multiple-regression
@@ -0,0 +1 @@
+../../Task/Multiple-regression/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Nested-templated-data b/Lang/Yabasic/Nested-templated-data
new file mode 120000
index 0000000000..026a122d79
--- /dev/null
+++ b/Lang/Yabasic/Nested-templated-data
@@ -0,0 +1 @@
+../../Task/Nested-templated-data/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Pascals-triangle b/Lang/Yabasic/Pascals-triangle
new file mode 120000
index 0000000000..9cb7c7cced
--- /dev/null
+++ b/Lang/Yabasic/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/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
similarity index 100%
rename from Lang/Yabasic/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/Yabasic/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/Yabasic/Sequence-smallest-number-with-exactly-n-divisors b/Lang/Yabasic/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Yabasic/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/Yabasic/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/Yabasic/Sexy-primes b/Lang/Yabasic/Sexy-primes
new file mode 120000
index 0000000000..a3fa026246
--- /dev/null
+++ b/Lang/Yabasic/Sexy-primes
@@ -0,0 +1 @@
+../../Task/Sexy-primes/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Shell-one-liner b/Lang/Yabasic/Shell-one-liner
new file mode 120000
index 0000000000..04ae90ab0a
--- /dev/null
+++ b/Lang/Yabasic/Shell-one-liner
@@ -0,0 +1 @@
+../../Task/Shell-one-liner/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Sorting-algorithms-Counting-sort b/Lang/Yabasic/Sorting-algorithms-Counting-sort
new file mode 120000
index 0000000000..c5fee45d6b
--- /dev/null
+++ b/Lang/Yabasic/Sorting-algorithms-Counting-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Counting-sort/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Sorting-algorithms-Stooge-sort b/Lang/Yabasic/Sorting-algorithms-Stooge-sort
new file mode 120000
index 0000000000..920cab2b30
--- /dev/null
+++ b/Lang/Yabasic/Sorting-algorithms-Stooge-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Stooge-sort/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Soundex b/Lang/Yabasic/Soundex
new file mode 120000
index 0000000000..154bd39b85
--- /dev/null
+++ b/Lang/Yabasic/Soundex
@@ -0,0 +1 @@
+../../Task/Soundex/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Statistics-Normal-distribution b/Lang/Yabasic/Statistics-Normal-distribution
new file mode 120000
index 0000000000..f9d32e077f
--- /dev/null
+++ b/Lang/Yabasic/Statistics-Normal-distribution
@@ -0,0 +1 @@
+../../Task/Statistics-Normal-distribution/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/The-Name-Game b/Lang/Yabasic/The-Name-Game
new file mode 120000
index 0000000000..97bfdf9347
--- /dev/null
+++ b/Lang/Yabasic/The-Name-Game
@@ -0,0 +1 @@
+../../Task/The-Name-Game/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Tree-datastructures b/Lang/Yabasic/Tree-datastructures
new file mode 120000
index 0000000000..da4a839e0d
--- /dev/null
+++ b/Lang/Yabasic/Tree-datastructures
@@ -0,0 +1 @@
+../../Task/Tree-datastructures/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Twos-complement b/Lang/Yabasic/Twos-complement
new file mode 120000
index 0000000000..3889fdcaf6
--- /dev/null
+++ b/Lang/Yabasic/Twos-complement
@@ -0,0 +1 @@
+../../Task/Twos-complement/Yabasic
\ No newline at end of file
diff --git a/Lang/Yabasic/Web-scraping b/Lang/Yabasic/Web-scraping
new file mode 120000
index 0000000000..2a4cb5ee13
--- /dev/null
+++ b/Lang/Yabasic/Web-scraping
@@ -0,0 +1 @@
+../../Task/Web-scraping/Yabasic
\ No newline at end of file
diff --git a/Lang/ZED/00-LANG.txt b/Lang/ZED/00-LANG.txt
index b0cb425a84..5b0358bc17 100644
--- a/Lang/ZED/00-LANG.txt
+++ b/Lang/ZED/00-LANG.txt
@@ -12,8 +12,9 @@ Development of ZEDc is also happening on GitHub: https://github.com/zelah/ZEDc
ZED can be seen compiling itself here: http://ideone.com/ARpMCM
+(begin (define (ZED* ZEDnumber1 ZEDnumber2) (cond (#t (* ZEDnumber1 ZEDnumber2)) (else err))) (define (ZED+ ZEDnumber1 ZEDnumber2) (cond (#t (+ ZEDnumber1 ZEDnumber2)) (else err))) (define (ZED- ZEDnumber1 ZEDnumber2) (cond (#t (- ZEDnumber1 ZEDnumber2)) (else err))) (define (ZED/ ZEDnumber1 ZEDnumber2) (cond (#t (/ ZEDnumber1 ZEDnumber2)) (else err))) (define (ZED= value1 value2) (cond (#t (eqv? value1 value2)) (else err))) (define (ZEDadd-between! item list collect) (cond ((null? list) collect) ((null? (cdr list)) (cons (car list) collect)) (#t (ZEDadd-between! item (cdr list) (cons item (cons (car list) collect)))) (else err))) (define (ZEDadd-between item list) (cond (#t (reverse (ZEDadd-between! item list (quote ())))) (else err))) (define (ZEDadd-between-ra list item) (cond (#t (reverse (ZEDadd-between! item list (quote ())))) (else err))) (define (ZEDalpha) (cond (#t (ZEDwrite-all (ZEDrd (quote ()) append (ZEDrd (quote ()) append (ZEDnewlines (ZEDby-four (ZEDfunction-sort (ZEDsentences (ZEDleading-newline (ZEDspace-newline (ZEDtab-replace (ZEDnewline-space-tab-repeats (ZEDnewline-space (ZEDfilter ZEDnot-return? (ZEDreplace-trailing-white-space (ZEDread-all)))))))))))))))) (else err))) (define (ZEDapplication? expression) (cond (#t (and (not (null? expression)) (pair? (car expression)) (null? (cdar expression)))) (else err))) (define (ZEDarity arity-hash function) (cond (#t (cdr (assoc function arity-hash))) (else err))) (define (ZEDarity-hash! clause) (cond (#t (cons (ZEDclause-name clause) (ZEDclause-arity clause))) (else err))) (define (ZEDarity-hash program) (cond (#t (append (map ZEDarity-hash! program) (append (list (cons (quote ZED1) 1) (cons (quote ZED!) 1) (cons (quote ZED001) 1) (cons (quote or) 2) (cons (quote and) 2) (cons (quote begin) 2) (cons (quote ZEDc) 2) (cons (quote quote) 1)) (list (cons (quote ZED002) 2) (cons (quote ZED003) 3) (cons (quote ZED004) 4) (cons (quote ZED005) 5) (cons (quote ZED006) 6) (cons (quote ZED007) 7) (cons (quote ZED008) 8) (cons (quote ZED009) 9) (cons (quote ZED010) 10) (cons (quote ZED011) 11) (cons (quote ZED012) 12) (cons (quote ZED013) 13) (cons (quote ZED014) 14) (cons (quote ZED015) 15) (cons (quote ZED016) 16) (cons (quote ZED017) 17) (cons (quote ZED018) 18) (cons (quote ZED019) 19) (cons (quote ZED020) 20) (cons (quote ZED021) 21) (cons (quote ZED022) 22) (cons (quote ZED023) 23) (cons (quote ZED024) 24) (cons (quote ZED025) 25) (cons (quote ZED026) 26) (cons (quote ZED027) 27) (cons (quote ZED028) 28) (cons (quote ZED029) 29) (cons (quote ZED030) 30) (cons (quote ZED031) 31) (cons (quote ZED032) 32) (cons (quote ZED033) 33) (cons (quote ZED034) 34) (cons (quote ZED035) 35) (cons (quote ZED036) 36) (cons (quote ZED037) 37) (cons (quote ZED038) 38) (cons (quote ZED039) 39) (cons (quote ZED040) 40) (cons (quote ZED041) 41) (cons (quote ZED042) 42) (cons (quote ZED043) 43) (cons (quote ZED044) 44) (cons (quote ZED045) 45) (cons (quote ZED046) 46) (cons (quote ZED047) 47) (cons (quote ZED048) 48) (cons (quote ZED049) 49) (cons (quote ZED050) 50) (cons (quote ZED051) 51) (cons (quote ZED052) 52) (cons (quote ZED053) 53) (cons (quote ZED054) 54) (cons (quote ZED055) 55) (cons (quote ZED056) 56) (cons (quote ZED057) 57) (cons (quote ZED058) 58) (cons (quote ZED059) 59) (cons (quote ZED060) 60) (cons (quote ZED061) 61) (cons (quote ZED062) 62) (cons (quote ZED063) 63) (cons (quote ZED064) 64) (cons (quote ZED065) 65) (cons (quote ZED066) 66) (cons (quote ZED067) 67) (cons (quote ZED068) 68) (cons (quote ZED069) 69) (cons (quote ZED070) 70) (cons (quote ZED071) 71) (cons (quote ZED072) 72) (cons (quote ZED073) 73) (cons (quote ZED074) 74) (cons (quote ZED075) 75) (cons (quote ZED076) 76) (cons (quote ZED077) 77) (cons (quote ZED078) 78) (cons (quote ZED079) 79) (cons (quote ZED080) 80) (cons (quote ZED081) 81) (cons (quote ZED082) 82) (cons (quote ZED083) 83) (cons (quote ZED084) 84) (cons (quote ZED085) 85) (cons (quote ZED086) 86) (cons (quote ZED087) 87) (cons (quote ZED088) 88) (cons (quote ZED089) 89) (cons (quote ZED090) 90) (cons (quote ZED091) 91) (cons (quote ZED092) 92) (cons (quote ZED093) 93) (cons (quote ZED094) 94) (cons (quote ZED095) 95) (cons (quote ZED096) 96) (cons (quote ZED097) 97) (cons (quote ZED098) 98) (cons (quote ZED099) 99))))) (else err))) (define (ZEDby-four! sentences collect) (cond ((null? sentences) collect) (#t (ZEDby-four! (cddddr sentences) (cons (list (car sentences) (cadr sentences) (caddr sentences) (cadddr sentences)) collect))) (else err))) (define (ZEDby-four sentences) (cond (#t (reverse (ZEDby-four! sentences (quote ())))) (else err))) (define (ZEDby-three! sentences collect) (cond ((null? sentences) collect) (#t (ZEDby-three! (cdddr sentences) (cons (list (car sentences) (cadr sentences) (caddr sentences)) collect))) (else err))) (define (ZEDby-three sentences) (cond (#t (reverse (ZEDby-three! sentences (quote ())))) (else err))) (define (ZEDcharacter-less? character1 character2) (cond (#t (< (char->integer character1) (char->integer character2))) (else err))) (define (ZEDclause-arguments clause) (cond (#t (cadr clause)) (else err))) (define (ZEDclause-arguments-agree clause1 clause2) (cond ((equal? (ZEDclause-arguments clause1) (ZEDclause-arguments clause2)) (ZEDclause-arguments clause1)) (else err))) (define (ZEDclause-arity clause) (cond (#t (length (ZEDclause-arguments clause))) (else err))) (define (ZEDclause-body clause) (cond (#t (cddr clause)) (else err))) (define (ZEDclause-less? clause1 clause2) (cond (#t (ZEDsentence-less? (car clause1) (car clause2))) (else err))) (define (ZEDclause-name clause) (cond (#t (car clause)) (else err))) (define (ZEDclause-name-agree clause1 clause2) (cond ((eq? (ZEDclause-name clause1) (ZEDclause-name clause2)) (ZEDclause-name clause1)) (else err))) (define (ZEDcombine-all! program collect) (cond ((null? program) collect) ((null? (cdr program)) (cons (car program) collect)) ((eq? (ZEDclause-name (car program)) (ZEDclause-name (cadr program))) (ZEDcombine-all! (ZEDcombine-head-clauses program) collect)) (#t (ZEDcombine-all! (cdr program) (cons (car program) collect))) (else err))) (define (ZEDcombine-all program) (cond (#t (reverse (ZEDcombine-all! program (quote ())))) (else err))) (define (ZEDcombine-clauses clause1 clause2) (cond (#t (cons (ZEDclause-name-agree clause1 clause2) (cons (ZEDclause-arguments-agree clause1 clause2) (append (ZEDclause-body clause1) (ZEDclause-body clause2))))) (else err))) (define (ZEDcombine-head-clauses program) (cond (#t (cons (ZEDcombine-clauses (car program) (cadr program)) (cddr program))) (else err))) (define (ZEDcombine-program-clauses program) (cond (#t (ZEDcombine-all (ZEDready-program program))) (else err))) (define (ZEDcomp!) (cond (#t (ZEDcomp!a (ZEDcombine-program-clauses (ZEDby-three (ZEDread-sentences (ZEDdiscard-comments (ZEDfunction-sort (ZEDsentences (ZEDleading-newline (ZEDspace-newline (ZEDtab-replace (ZEDnewline-space-tab-repeats (ZEDnewline-space (ZEDfilter ZEDnot-return? (ZEDreplace-trailing-white-space (ZEDread-all)))))))))))))))) (else err))) (define (ZEDcomp!a combined) (cond (#t (ZEDcomp!aa (ZEDprogramize combined (ZEDarity-hash combined)))) (else err))) (define (ZEDcomp!aa programized) (cond (#t (write programized)) (else err))) (define (ZEDcomp) (cond (#t (ZEDcomp!)) (else err))) (define (ZEDcondefy! expressions collect) (cond ((null? expressions) collect) (#t (ZEDcondefy! (cddr expressions) (cons (append (car expressions) (cadr expressions)) collect))) (else err))) (define (ZEDcondefy expressions) (cond (#t (reverse (ZEDcondefy! expressions (quote ())))) (else err))) (define (ZEDcons ZEDvalue1 ZEDvalue2) (cond (#t (cons ZEDvalue1 ZEDvalue2)) (else err))) (define (ZEDcount ZEDnumber) (cond (#t (cons (delay ZEDnumber) (delay (ZEDcount (ZED+ ZEDnumber 1))))) (else err))) (define (ZEDcount-by ZEDstep ZEDnumber) (cond (#t (cons (delay ZEDnumber) (delay (ZEDcount-by ZEDstep (ZED+ ZEDnumber ZEDstep))))) (else err))) (define (ZEDdelay-wrap expression) (cond (#t (list (quote delay) expression)) (else err))) (define (ZEDdigit? character) (cond (#t (or (eqv? #\0 character) (eqv? #\1 character) (eqv? #\2 character) (eqv? #\3 character) (eqv? #\4 character) (eqv? #\5 character) (eqv? #\6 character) (eqv? #\7 character) (eqv? #\8 character) (eqv? #\9 character))) (else err))) (define (ZEDdiscard-comments! program collect) (cond ((null? program) collect) (#t (ZEDdiscard-comments! (cddddr program) (cons (cadddr program) (cons (caddr program) (cons (car program) collect))))) (else err))) (define (ZEDdiscard-comments program) (cond (#t (reverse (ZEDdiscard-comments! program (quote ())))) (else err))) (define (ZEDdr! value) (cond ((pair? value) (ZEDmp ZEDdr! (ZEDfirst 64 value))) (#t value) (else err))) (define (ZEDdr value) (cond (#t (begin (display (ZEDpr (ZEDdr! value))) (newline) (newline) value)) (else err))) (define (ZEDdrr value) (cond (#t (begin (display (ZEDpr value)) (newline) (newline) value)) (else err))) (define (ZEDfalse? noun-list) (cond (#t (equal? noun-list (list ## #\f #\a #\l #\s #\e))) (else err))) (define (ZEDfi function list) (cond ((null? list) (quote ())) ((function (if (promise? (car list)) (force (car list)) (car list))) (cons (delay (if (promise? (car list)) (force (car list)) (car list))) (delay (ZEDfi function (if (promise? (cdr list)) (force (cdr list)) (cdr list)))))) (#t (ZEDfi function (if (promise? (cdr list)) (force (cdr list)) (cdr list)))) (else err))) (define (ZEDfilter! predicate list collect) (cond ((null? list) collect) ((predicate (car list)) (ZEDfilter! predicate (cdr list) (cons (car list) collect))) (#t (ZEDfilter! predicate (cdr list) collect)) (else err))) (define (ZEDfilter predicate list) (cond (#t (reverse (ZEDfilter! predicate list (quote ())))) (else err))) (define (ZEDfirst! integer list collect) (cond ((or (zero? integer) (null? list)) (reverse collect)) ((not (pair? list)) (reverse (cons list collect))) ((> integer 0) (ZEDfirst! (- integer 1) (if (promise? (cdr list)) (force (cdr list)) (cdr list)) (cons (if (promise? (car list)) (force (car list)) (car list)) collect))) (else err))) (define (ZEDfirst integer list) (cond ((not (pair? list)) list) (#t (ZEDfirst! integer list (quote ()))) (else err))) (define (ZEDflatten! ZEDlist ZEDsub-list-found? ZEDcollect) (cond ((and (ZEDnull? ZEDlist) (ZEDnot ZEDsub-list-found?)) (ZEDreverse ZEDcollect)) ((ZEDnull? ZEDlist) (ZEDflatten! (ZEDreverse ZEDcollect) #f (quote ()))) ((ZEDnot (ZEDpair? ZEDlist)) (ZEDflatten! (quote ()) ZEDsub-list-found? (ZEDcons ZEDlist ZEDcollect))) ((ZEDpair? (if (promise? (car ZEDlist)) (force (car ZEDlist)) (car ZEDlist))) (ZEDflatten! (if (promise? (cdr ZEDlist)) (force (cdr ZEDlist)) (cdr ZEDlist)) #t (ZEDcons (if (promise? (cdr (if (promise? (car ZEDlist)) (force (car ZEDlist)) (car ZEDlist)))) (force (cdr (if (promise? (car ZEDlist)) (force (car ZEDlist)) (car ZEDlist)))) (cdr (if (promise? (car ZEDlist)) (force (car ZEDlist)) (car ZEDlist)))) (ZEDcons (if (promise? (car (if (promise? (car ZEDlist)) (force (car ZEDlist)) (car ZEDlist)))) (force (car (if (promise? (car ZEDlist)) (force (car ZEDlist)) (car ZEDlist)))) (car (if (promise? (car ZEDlist)) (force (car ZEDlist)) (car ZEDlist)))) ZEDcollect)))) ((ZEDnull? (if (promise? (car ZEDlist)) (force (car ZEDlist)) (car ZEDlist))) (ZEDflatten! (if (promise? (cdr ZEDlist)) (force (cdr ZEDlist)) (cdr ZEDlist)) ZEDsub-list-found? ZEDcollect)) (#t (ZEDflatten! (if (promise? (cdr ZEDlist)) (force (cdr ZEDlist)) (cdr ZEDlist)) ZEDsub-list-found? (ZEDcons (if (promise? (car ZEDlist)) (force (car ZEDlist)) (car ZEDlist)) ZEDcollect))) (else err))) (define (ZEDflatten ZEDlist) (cond (#t (ZEDflatten! ZEDlist #f (quote ()))) (else err))) (define (ZEDfor-each ZEDeffect ZEDlist) (cond (#t (for-each ZEDeffect ZEDlist)) (else err))) (define (ZEDfunction expression) (cond (#t (caar expression)) (else err))) (define (ZEDfunction-sort sentences) (cond (#t (ZEDrd (quote ()) append (ZEDsort ZEDclause-less? (ZEDby-four sentences)))) (else err))) (define (ZEDfunctionize clause arity-hash) (cond (#t (list (quote define) (cons (ZEDclause-name clause) (ZEDclause-arguments clause)) (cons (quote cond) (append (ZEDcondefy (ZEDmap-with ZEDschemefy (ZEDclause-body clause) arity-hash)) (list (list (quote else) (quote err))))))) (else err))) (define (ZEDgather-count?! candidate) (cond (#t (and (= 6 (length candidate)) (eqv? #\Z (car candidate)) (eqv? #\E (cadr candidate)) (eqv? #\D (caddr candidate)) (eqv? #\0 (cadddr candidate)) (ZEDdigit? (car (cddddr candidate))) (ZEDdigit? (cadr (cddddr candidate))))) (else err))) (define (ZEDgather-count? symbol) (cond (#t (ZEDgather-count?! (string->list (symbol->string symbol)))) (else err))) (define (ZEDgather-noun sentence) (cond ((null? sentence) (quote ())) ((eqv? #\space (car sentence)) (quote ())) (#t (cons (car sentence) (ZEDgather-noun (cdr sentence)))) (else err))) (define (ZEDgather-verb sentence) (cond ((eqv? #) (car sentence)) (quote ())) (#t (cons (car sentence) (ZEDgather-verb (cdr sentence)))) (else err))) (define (ZEDgr garbage value) (cond (#t (begin (ZEDdr garbage) value)) (else err))) (define (ZEDgrr garbage value) (cond (#t (begin (ZEDdrr garbage) value)) (else err))) (define (ZEDleading-newline program) (cond ((null? program) (quote ())) ((eqv? #\newline (car program)) (cdr program)) (#t program) (else err))) (define (ZEDliteral? literal-list) (cond (#t (eqv? #" (car literal-list))) (else err))) (define (ZEDmake-ZED ZED-list) (cond ((equal? ZED-list (list #\e #\r #\r)) "'err") ((equal? ZED-list (list #\n #\i #\l)) "'()") ((equal? ZED-list (list #\a #\n #\d)) "and") ((equal? ZED-list (list #\o #\r)) "or") ((equal? ZED-list (list #\q #\u #\o #\t #\e)) "quote") ((equal? ZED-list (list #\s #\e)) "begin") (#t (list->string (append (list #\Z #\E #\D) ZED-list))) (else err))) (define (ZEDmake-character noun-list) (cond (#t (list->string (cons ## (cons #
+(cdr noun-list))))) (else err))) (define (ZEDmake-exact exact-list) (cond (#t (list->string (append (list ## #\e) exact-list))) (else err))) (define (ZEDmake-literal literal-list) (cond (#t (list->string (cdr (reverse (cdr (reverse literal-list)))))) (else err))) (define (ZEDmake-number-character noun-list) (cond (#t (list->string (list ## #
+(integer->char (string->number (list->string (cddr noun-list))))))) (else err))) (define (ZEDmap-with! function list extra collect) (cond ((null? list) collect) (#t (ZEDmap-with! function (cdr list) extra (cons (function (car list) extra) collect))) (else err))) (define (ZEDmap-with function list extra) (cond (#t (reverse (ZEDmap-with! function list extra (quote ())))) (else err))) (define (ZEDmerge! comparator list1 list2 collect) (cond ((null? list2) (append (reverse collect) list1)) ((null? list1) (append (reverse collect) list2)) ((comparator (car list2) (car list1)) (ZEDmerge! comparator list1 (cdr list2) (cons (car list2) collect))) (#t (ZEDmerge! comparator (cdr list1) list2 (cons (car list1) collect))) (else err))) (define (ZEDmerge comparator list1 list2) (cond (#t (ZEDmerge! comparator list1 list2 (quote ()))) (else err))) (define (ZEDmp function list) (cond ((null? list) (quote ())) ((pair? list) (cons (delay (function (if (promise? (car list)) (force (car list)) (car list)))) (delay (ZEDmp function (if (promise? (cdr list)) (force (cdr list)) (cdr list)))))) (#t (function list)) (else err))) (define (ZEDnewline-space! program) (cond (#t (cons #\newline (ZEDnewline-space!a program))) (else err))) (define (ZEDnewline-space!a program) (cond (#t (ZEDnewline-space!aa program (reverse (ZEDnewline-space!ab program (quote ()))))) (else err))) (define (ZEDnewline-space!aa program transformed) (cond ((equal? program transformed) program) (#t (ZEDnewline-space!a transformed)) (else err))) (define (ZEDnewline-space!ab program collect) (cond ((null? program) collect) ((null? (cdr program)) (cons (car program) collect)) ((and (eqv? #\newline (car program)) (or (eqv? #\space (cadr program)) (eqv? #\ht (cadr program)))) (ZEDnewline-space!ab (cdr program) collect)) (#t (ZEDnewline-space!ab (cdr program) (cons (car program) collect))) (else err))) (define (ZEDnewline-space program) (cond (#t (ZEDnewline-space! program)) (else err))) (define (ZEDnewline-space-tab-repeats! program collect) (cond ((or (null? program) (null? (cdr program))) (append program collect)) ((and (eqv? #\newline (car program)) (eqv? #\newline (cadr program))) (ZEDnewline-space-tab-repeats! (cdr program) collect)) ((and (or (eqv? #\space (car program)) (eqv? #\ht (car program))) (or (eqv? #\space (cadr program)) (eqv? #\ht (cadr program)))) (ZEDnewline-space-tab-repeats! (cdr program) collect)) (#t (ZEDnewline-space-tab-repeats! (cdr program) (cons (car program) collect))) (else err))) (define (ZEDnewline-space-tab-repeats program) (cond (#t (reverse (ZEDnewline-space-tab-repeats! program (quote ())))) (else err))) (define (ZEDnewlines clauses) (cond (#t (ZEDadd-between-ra (ZEDmap-with ZEDadd-between-ra clauses (list #\newline)) (list (list #\newline #\newline)))) (else err))) (define (ZEDnormal-character? noun-list) (cond (#t (eqv? (car noun-list) ##)) (else err))) (define (ZEDnot ZEDvalue) (cond (#t (not ZEDvalue)) (else err))) (define (ZEDnot-return? character) (cond (#t (not (eqv? #\cr character))) (else err))) (define (ZEDnoun! noun-list number?) (cond (number? (ZEDmake-exact noun-list)) ((ZEDliteral? noun-list) (ZEDmake-literal noun-list)) ((ZEDtrue? noun-list) "#t") ((ZEDfalse? noun-list) "#f") ((ZEDnumber-character? noun-list) (ZEDmake-number-character noun-list)) ((ZEDnormal-character? noun-list) (ZEDmake-character noun-list)) (#t (ZEDmake-ZED noun-list)) (else err))) (define (ZEDnoun noun-list) (cond (#t (ZEDnoun! noun-list (string->number (list->string noun-list)))) (else err))) (define (ZEDnull? ZEDvalue) (cond (#t (null? ZEDvalue)) (else err))) (define (ZEDnumber-character? noun-list) (cond (#t (and (eqv? (car noun-list) ##) (eqv? (cadr noun-list) #\0) (not (null? (cddr noun-list))))) (else err))) (define (ZEDpair? ZEDvalue) (cond (#t (pair? ZEDvalue)) (else err))) (define (ZEDpop stack) (cond (#t (cdr stack)) (else err))) (define (ZEDpr! value output-string) (cond (#t (begin (display (ZEDpr!a value (quote ())) output-string) (ZEDpr!b output-string (get-output-string output-string)))) (else err))) (define (ZEDpr!a value collect) (cond ((char? value) (ZEDpr!aa (list->string (list ## value)) collect)) ((string? value) (ZEDpr!aa (string-append """ value """) collect)) ((symbol? value) (ZEDpr!aa (symbol->string value) collect)) ((number? value) (ZEDpr!aa (number->string value) collect)) ((and (boolean? value) value) (ZEDpr!aa "#true" collect)) ((boolean? value) (ZEDpr!aa "#false" collect)) ((null? value) (reverse collect)) (#t (ZEDpr!a (if (promise? (cdr value)) (force (cdr value)) (cdr value)) (cons (ZEDpr!a (if (promise? (car value)) (force (car value)) (car value)) (quote ())) collect))) (else err))) (define (ZEDpr!aa string collect) (cond ((null? collect) string) (#t (reverse (cons string (cons "." collect)))) (else err))) (define (ZEDpr!b output-string value) (cond (#t (begin (close-output-port output-string) value)) (else err))) (define (ZEDpr value) (cond (#t (ZEDpr! value (open-output-string))) (else err))) (define (ZEDprogramize program arity-hash) (cond (#t (cons (quote begin) (ZEDmap-with ZEDfunctionize program arity-hash))) (else err))) (define (ZEDpush object stack) (cond (#t (cons object stack)) (else err))) (define (ZEDrd! function list) (cond ((null? (if (promise? (cdr list)) (force (cdr list)) (cdr list))) (if (promise? (car list)) (force (car list)) (car list))) (#t (ZEDrd! function (cons (function (if (promise? (car (if (promise? (cdr list)) (force (cdr list)) (cdr list)))) (force (car (if (promise? (cdr list)) (force (cdr list)) (cdr list)))) (car (if (promise? (cdr list)) (force (cdr list)) (cdr list)))) (if (promise? (car list)) (force (car list)) (car list))) (if (promise? (cdr (if (promise? (cdr list)) (force (cdr list)) (cdr list)))) (force (cdr (if (promise? (cdr list)) (force (cdr list)) (cdr list)))) (cdr (if (promise? (cdr list)) (force (cdr list)) (cdr list))))))) (else err))) (define (ZEDrd final function list) (cond (#t (ZEDrd! function (cons final (reverse list)))) (else err))) (define (ZEDread-all! collect) (cond (#t (ZEDread-all!a (read-char) collect)) (else err))) (define (ZEDread-all!a character collect) (cond ((eof-object? character) collect) (#t (ZEDread-all! (cons character collect))) (else err))) (define (ZEDread-all) (cond (#t (reverse (ZEDread-all! (quote ())))) (else err))) (define (ZEDread-sentence!a sentence collect) (cond ((null? sentence) collect) ((eqv? #\space (car sentence)) (ZEDread-sentence!a (cdr sentence) collect)) ((eqv? #( (car sentence)) (ZEDread-sentence!aa sentence (ZEDgather-verb (cdr sentence)) collect)) (#t (ZEDread-sentence!ab sentence (ZEDgather-noun sentence) collect)) (else err))) (define (ZEDread-sentence!aa sentence gather-verb collect) (cond (#t (ZEDread-sentence!a (ZEDtails (+ 2 (length gather-verb)) sentence) (cons (ZEDverb gather-verb) collect))) (else err))) (define (ZEDread-sentence!ab sentence gather-noun collect) (cond (#t (ZEDread-sentence!a (ZEDtails (length gather-noun) sentence) (cons (ZEDnoun gather-noun) collect))) (else err))) (define (ZEDread-sentence!b list output-string) (cond (#t (begin (display list output-string) (ZEDread-sentence!ba output-string (get-output-string output-string)))) (else err))) (define (ZEDread-sentence!ba output-string get-output-string) (cond (#t (begin (close-output-port output-string) (ZEDread-sentence!baa (open-input-string get-output-string)))) (else err))) (define (ZEDread-sentence!baa input-string) (cond (#t (ZEDread-sentence!baaa input-string (read input-string))) (else err))) (define (ZEDread-sentence!baaa input-string answer) (cond (#t (begin (close-input-port input-string) answer)) (else err))) (define (ZEDread-sentence sentence) (cond (#t (ZEDread-sentence!b (reverse (ZEDread-sentence!a sentence (quote ()))) (open-output-string))) (else err))) (define (ZEDread-sentences sentences) (cond (#t (map ZEDread-sentence sentences)) (else err))) (define (ZEDready-clause clause) (cond (#t (cons (caaar clause) (cons (cdar clause) (cdr clause)))) (else err))) (define (ZEDready-program program) (cond (#t (map ZEDready-clause program)) (else err))) (define (ZEDreplace-trailing-white-space! program) (cond ((null? program) (quote ())) ((or (eqv? (car program) #\space) (eqv? (car program) #\ht) (eqv? (car program) #\cr) (eqv? (car program) #\newline)) (ZEDreplace-trailing-white-space! (cdr program))) (#t (cons #\newline program)) (else err))) (define (ZEDreplace-trailing-white-space program) (cond (#t (reverse (ZEDreplace-trailing-white-space! (reverse program)))) (else err))) (define (ZEDreverse ZEDlist) (cond (#t (reverse ZEDlist)) (else err))) (define (ZEDschemefy! expression arity-hash stack) (cond ((null? expression) (ZEDtop stack)) ((ZEDapplication? expression) (ZEDschemefy!a expression arity-hash stack (ZEDfunction expression))) (#t (ZEDschemefy! (cdr expression) arity-hash (ZEDpush (car expression) stack))) (else err))) (define (ZEDschemefy!a expression arity-hash stack function) (cond (#t (ZEDschemefy!aa expression arity-hash stack function (ZEDarity arity-hash function))) (else err))) (define (ZEDschemefy!aa expression arity-hash stack function arity) (cond ((ZEDgather-count? function) (ZEDschemefy! (cdr expression) arity-hash (ZEDpush (ZEDfirst arity stack) (ZEDtails arity stack)))) ((eq? function (quote ZED1)) (ZEDschemefy! (cdr expression) arity-hash (ZEDpush (list (quote if) (list (quote promise?) (cons (quote car) (ZEDfirst arity stack))) (list (quote force) (cons (quote car) (ZEDfirst arity stack))) (cons (quote car) (ZEDfirst arity stack))) (ZEDtails arity stack)))) ((eq? function (quote ZED!)) (ZEDschemefy! (cdr expression) arity-hash (ZEDpush (list (quote if) (list (quote promise?) (cons (quote cdr) (ZEDfirst arity stack))) (list (quote force) (cons (quote cdr) (ZEDfirst arity stack))) (cons (quote cdr) (ZEDfirst arity stack))) (ZEDtails arity stack)))) ((eq? function (quote ZEDc)) (ZEDschemefy! (cdr expression) arity-hash (ZEDpush (cons (quote cons) (map ZEDdelay-wrap (ZEDfirst arity stack))) (ZEDtails arity stack)))) (#t (ZEDschemefy! (cdr expression) arity-hash (ZEDpush (cons function (ZEDfirst arity stack)) (ZEDtails arity stack)))) (else err))) (define (ZEDschemefy expression arity-hash) (cond (#t (list (ZEDschemefy! (reverse expression) arity-hash (ZEDstack)))) (else err))) (define (ZEDsentence-less? sentence1 sentence2) (cond ((null? sentence2) #f) ((null? sentence1) #t) ((ZEDcharacter-less? (car sentence1) (car sentence2)) #t) ((ZEDcharacter-less? (car sentence2) (car sentence1)) #f) (#t (ZEDsentence-less? (cdr sentence1) (cdr sentence2))) (else err))) (define (ZEDsentences! program collect1 collect2) (cond ((null? program) collect2) ((eqv? #\newline (car program)) (ZEDsentences! (cdr program) (quote ()) (cons (reverse collect1) collect2))) (#t (ZEDsentences! (cdr program) (cons (car program) collect1) collect2)) (else err))) (define (ZEDsentences program) (cond (#t (reverse (ZEDsentences! program (quote ()) (quote ())))) (else err))) (define (ZEDsort!a jumble) (cond (#t (map list jumble)) (else err))) (define (ZEDsort!b comparator jumble) (cond ((null? jumble) (quote ())) ((null? (cdr jumble)) jumble) (#t (ZEDsort!b comparator (cons (ZEDmerge comparator (car jumble) (cadr jumble)) (ZEDsort!b comparator (cddr jumble))))) (else err))) (define (ZEDsort comparator jumble) (cond (#t (car (ZEDsort!b comparator (ZEDsort!a jumble)))) (else err))) (define (ZEDspace-newline! program collect) (cond ((or (null? program) (null? (cdr program))) (append program collect)) ((and (eqv? #\space (car program)) (eqv? #\newline (cadr program))) (ZEDspace-newline! (cdr program) collect)) (#t (ZEDspace-newline! (cdr program) (cons (car program) collect))) (else err))) (define (ZEDspace-newline program) (cond (#t (reverse (ZEDspace-newline! program (quote ())))) (else err))) (define (ZEDstack) (cond (#t (quote ())) (else err))) (define (ZEDtab-replace! program collect) (cond ((null? program) collect) ((eqv? #\ht (car program)) (ZEDtab-replace! (cdr program) (cons #\space collect))) (#t (ZEDtab-replace! (cdr program) (cons (car program) collect))) (else err))) (define (ZEDtab-replace program) (cond (#t (reverse (ZEDtab-replace! program (quote ())))) (else err))) (define (ZEDtails number list) (cond ((null? list) (quote ())) ((zero? number) list) ((> number 0) (ZEDtails (- number 1) (cdr list))) (else err))) (define (ZEDtop stack) (cond (#t (car stack)) (else err))) (define (ZEDtrue? noun-list) (cond (#t (equal? noun-list (list ## #\t #\r #\u #\e))) (else err))) (define (ZEDverb verb-list) (cond ((ZEDliteral? verb-list) (list (ZEDmake-literal verb-list))) (#t (list (ZEDmake-ZED verb-list))) (else err))) (define (ZEDwrite-all program) (cond ((null? program) (quote err)) (#t (ZEDwrite-all (begin (write-char (car program)) (cdr program)))) (else err))) (define (ZEDzed->scheme! value collect) (cond ((null? value) (reverse collect)) (#t (ZEDzed->scheme! (if (promise? (cdr value)) (force (cdr value)) (cdr value)) (cons (ZEDzed->scheme (if (promise? (car value)) (force (car value)) (car value))) collect))) (else err))) (define (ZEDzed->scheme value) (cond ((not (pair? value)) value) (#t (ZEDzed->scheme! value (quote ()))) (else err)))) (ZEDcomp)
Language author on RC: [[User:Zelah|Zelah]] ([[User_talk:Zelah|talk]] | [[Special:Contributions/Zelah|contribs]])
-
-165x2 194x2 207x2
.
\ No newline at end of file
diff --git a/Lang/ZX-Spectrum-Basic/Sorting-Algorithms-Circle-Sort b/Lang/ZX-Spectrum-Basic/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index c34f35480d..0000000000
--- a/Lang/ZX-Spectrum-Basic/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/ZX-Spectrum-Basic
\ No newline at end of file
diff --git a/Lang/Zig/15-puzzle-game b/Lang/Zig/15-puzzle-game
new file mode 120000
index 0000000000..67842297fa
--- /dev/null
+++ b/Lang/Zig/15-puzzle-game
@@ -0,0 +1 @@
+../../Task/15-puzzle-game/Zig
\ No newline at end of file
diff --git a/Lang/Zig/15-puzzle-solver b/Lang/Zig/15-puzzle-solver
new file mode 120000
index 0000000000..31e2e98f6a
--- /dev/null
+++ b/Lang/Zig/15-puzzle-solver
@@ -0,0 +1 @@
+../../Task/15-puzzle-solver/Zig
\ No newline at end of file
diff --git a/Lang/Zig/2048 b/Lang/Zig/2048
new file mode 120000
index 0000000000..d2ac81be16
--- /dev/null
+++ b/Lang/Zig/2048
@@ -0,0 +1 @@
+../../Task/2048/Zig
\ No newline at end of file
diff --git a/Lang/Zig/24-game b/Lang/Zig/24-game
new file mode 120000
index 0000000000..7b40225753
--- /dev/null
+++ b/Lang/Zig/24-game
@@ -0,0 +1 @@
+../../Task/24-game/Zig
\ No newline at end of file
diff --git a/Lang/Zig/24-game-Solve b/Lang/Zig/24-game-Solve
new file mode 120000
index 0000000000..cf80fe1aa1
--- /dev/null
+++ b/Lang/Zig/24-game-Solve
@@ -0,0 +1 @@
+../../Task/24-game-Solve/Zig
\ No newline at end of file
diff --git a/Lang/Zig/9-billion-names-of-God-the-integer b/Lang/Zig/9-billion-names-of-God-the-integer
new file mode 120000
index 0000000000..891e6336a6
--- /dev/null
+++ b/Lang/Zig/9-billion-names-of-God-the-integer
@@ -0,0 +1 @@
+../../Task/9-billion-names-of-God-the-integer/Zig
\ No newline at end of file
diff --git a/Lang/Zig/A+B b/Lang/Zig/A+B
new file mode 120000
index 0000000000..99c5298cb2
--- /dev/null
+++ b/Lang/Zig/A+B
@@ -0,0 +1 @@
+../../Task/A+B/Zig
\ No newline at end of file
diff --git a/Lang/Zig/ABC-problem b/Lang/Zig/ABC-problem
new file mode 120000
index 0000000000..4f4592d850
--- /dev/null
+++ b/Lang/Zig/ABC-problem
@@ -0,0 +1 @@
+../../Task/ABC-problem/Zig
\ No newline at end of file
diff --git a/Lang/Zig/AVL-tree b/Lang/Zig/AVL-tree
new file mode 120000
index 0000000000..05056fdece
--- /dev/null
+++ b/Lang/Zig/AVL-tree
@@ -0,0 +1 @@
+../../Task/AVL-tree/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Abelian-sandpile-model b/Lang/Zig/Abelian-sandpile-model
new file mode 120000
index 0000000000..aff7b1b955
--- /dev/null
+++ b/Lang/Zig/Abelian-sandpile-model
@@ -0,0 +1 @@
+../../Task/Abelian-sandpile-model/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Abelian-sandpile-model-Identity b/Lang/Zig/Abelian-sandpile-model-Identity
new file mode 120000
index 0000000000..5a22dd3380
--- /dev/null
+++ b/Lang/Zig/Abelian-sandpile-model-Identity
@@ -0,0 +1 @@
+../../Task/Abelian-sandpile-model-Identity/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Anti-primes b/Lang/Zig/Anti-primes
new file mode 120000
index 0000000000..bde3882591
--- /dev/null
+++ b/Lang/Zig/Anti-primes
@@ -0,0 +1 @@
+../../Task/Anti-primes/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Arithmetic-Integer b/Lang/Zig/Arithmetic-Integer
new file mode 120000
index 0000000000..3faa5af494
--- /dev/null
+++ b/Lang/Zig/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Arrays b/Lang/Zig/Arrays
new file mode 120000
index 0000000000..8271fea84a
--- /dev/null
+++ b/Lang/Zig/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Associative-array-Creation b/Lang/Zig/Associative-array-Creation
new file mode 120000
index 0000000000..9dff0b181f
--- /dev/null
+++ b/Lang/Zig/Associative-array-Creation
@@ -0,0 +1 @@
+../../Task/Associative-array-Creation/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Associative-array-Iteration b/Lang/Zig/Associative-array-Iteration
new file mode 120000
index 0000000000..0120ea3ca0
--- /dev/null
+++ b/Lang/Zig/Associative-array-Iteration
@@ -0,0 +1 @@
+../../Task/Associative-array-Iteration/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Babbage-problem b/Lang/Zig/Babbage-problem
new file mode 120000
index 0000000000..c79a638466
--- /dev/null
+++ b/Lang/Zig/Babbage-problem
@@ -0,0 +1 @@
+../../Task/Babbage-problem/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Babylonian-spiral b/Lang/Zig/Babylonian-spiral
new file mode 120000
index 0000000000..518c958994
--- /dev/null
+++ b/Lang/Zig/Babylonian-spiral
@@ -0,0 +1 @@
+../../Task/Babylonian-spiral/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Balanced-brackets b/Lang/Zig/Balanced-brackets
new file mode 120000
index 0000000000..0a6293637f
--- /dev/null
+++ b/Lang/Zig/Balanced-brackets
@@ -0,0 +1 @@
+../../Task/Balanced-brackets/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Balanced-ternary b/Lang/Zig/Balanced-ternary
new file mode 120000
index 0000000000..aaf8a47b9b
--- /dev/null
+++ b/Lang/Zig/Balanced-ternary
@@ -0,0 +1 @@
+../../Task/Balanced-ternary/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Base64-decode-data b/Lang/Zig/Base64-decode-data
new file mode 120000
index 0000000000..9291a91364
--- /dev/null
+++ b/Lang/Zig/Base64-decode-data
@@ -0,0 +1 @@
+../../Task/Base64-decode-data/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Bifid-cipher b/Lang/Zig/Bifid-cipher
new file mode 120000
index 0000000000..c3e619eb90
--- /dev/null
+++ b/Lang/Zig/Bifid-cipher
@@ -0,0 +1 @@
+../../Task/Bifid-cipher/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Binary-digits b/Lang/Zig/Binary-digits
new file mode 120000
index 0000000000..6e0bd7354f
--- /dev/null
+++ b/Lang/Zig/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Bitcoin-address-validation b/Lang/Zig/Bitcoin-address-validation
new file mode 120000
index 0000000000..582e8551db
--- /dev/null
+++ b/Lang/Zig/Bitcoin-address-validation
@@ -0,0 +1 @@
+../../Task/Bitcoin-address-validation/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Bitmap b/Lang/Zig/Bitmap
new file mode 120000
index 0000000000..ef66b502ad
--- /dev/null
+++ b/Lang/Zig/Bitmap
@@ -0,0 +1 @@
+../../Task/Bitmap/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Boolean-values b/Lang/Zig/Boolean-values
new file mode 120000
index 0000000000..8bbec67819
--- /dev/null
+++ b/Lang/Zig/Boolean-values
@@ -0,0 +1 @@
+../../Task/Boolean-values/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Boyer-Moore-string-search b/Lang/Zig/Boyer-Moore-string-search
new file mode 120000
index 0000000000..9c6dd89c45
--- /dev/null
+++ b/Lang/Zig/Boyer-Moore-string-search
@@ -0,0 +1 @@
+../../Task/Boyer-Moore-string-search/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Break-OO-privacy b/Lang/Zig/Break-OO-privacy
new file mode 120000
index 0000000000..535f70b15b
--- /dev/null
+++ b/Lang/Zig/Break-OO-privacy
@@ -0,0 +1 @@
+../../Task/Break-OO-privacy/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Camel-case-and-snake-case b/Lang/Zig/Camel-case-and-snake-case
new file mode 120000
index 0000000000..ab00dfd34b
--- /dev/null
+++ b/Lang/Zig/Camel-case-and-snake-case
@@ -0,0 +1 @@
+../../Task/Camel-case-and-snake-case/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Canonicalize-CIDR b/Lang/Zig/Canonicalize-CIDR
new file mode 120000
index 0000000000..792c271f68
--- /dev/null
+++ b/Lang/Zig/Canonicalize-CIDR
@@ -0,0 +1 @@
+../../Task/Canonicalize-CIDR/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Cholesky-decomposition b/Lang/Zig/Cholesky-decomposition
new file mode 120000
index 0000000000..7fbe65969f
--- /dev/null
+++ b/Lang/Zig/Cholesky-decomposition
@@ -0,0 +1 @@
+../../Task/Cholesky-decomposition/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Chowla-numbers b/Lang/Zig/Chowla-numbers
new file mode 120000
index 0000000000..034b021f26
--- /dev/null
+++ b/Lang/Zig/Chowla-numbers
@@ -0,0 +1 @@
+../../Task/Chowla-numbers/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Command-line-arguments b/Lang/Zig/Command-line-arguments
new file mode 120000
index 0000000000..5b9231a470
--- /dev/null
+++ b/Lang/Zig/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Compare-sorting-algorithms-performance b/Lang/Zig/Compare-sorting-algorithms-performance
new file mode 120000
index 0000000000..2f98698afb
--- /dev/null
+++ b/Lang/Zig/Compare-sorting-algorithms-performance
@@ -0,0 +1 @@
+../../Task/Compare-sorting-algorithms-performance/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Convex-hull b/Lang/Zig/Convex-hull
new file mode 120000
index 0000000000..bb63712423
--- /dev/null
+++ b/Lang/Zig/Convex-hull
@@ -0,0 +1 @@
+../../Task/Convex-hull/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Conways-Game-of-Life b/Lang/Zig/Conways-Game-of-Life
new file mode 120000
index 0000000000..d6337a8a7a
--- /dev/null
+++ b/Lang/Zig/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Count-occurrences-of-a-substring b/Lang/Zig/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..820b93c2bb
--- /dev/null
+++ b/Lang/Zig/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Cumulative-standard-deviation b/Lang/Zig/Cumulative-standard-deviation
new file mode 120000
index 0000000000..225e824146
--- /dev/null
+++ b/Lang/Zig/Cumulative-standard-deviation
@@ -0,0 +1 @@
+../../Task/Cumulative-standard-deviation/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Cyclops-numbers b/Lang/Zig/Cyclops-numbers
new file mode 120000
index 0000000000..625d97b345
--- /dev/null
+++ b/Lang/Zig/Cyclops-numbers
@@ -0,0 +1 @@
+../../Task/Cyclops-numbers/Zig
\ No newline at end of file
diff --git a/Lang/Zig/De-Bruijn-sequences b/Lang/Zig/De-Bruijn-sequences
new file mode 120000
index 0000000000..1e82ee12c7
--- /dev/null
+++ b/Lang/Zig/De-Bruijn-sequences
@@ -0,0 +1 @@
+../../Task/De-Bruijn-sequences/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Deal-cards-for-FreeCell b/Lang/Zig/Deal-cards-for-FreeCell
new file mode 120000
index 0000000000..8f0b26df35
--- /dev/null
+++ b/Lang/Zig/Deal-cards-for-FreeCell
@@ -0,0 +1 @@
+../../Task/Deal-cards-for-FreeCell/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Deconvolution-1D b/Lang/Zig/Deconvolution-1D
new file mode 120000
index 0000000000..26b778762a
--- /dev/null
+++ b/Lang/Zig/Deconvolution-1D
@@ -0,0 +1 @@
+../../Task/Deconvolution-1D/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Determinant-and-permanent b/Lang/Zig/Determinant-and-permanent
new file mode 120000
index 0000000000..6aec06c204
--- /dev/null
+++ b/Lang/Zig/Determinant-and-permanent
@@ -0,0 +1 @@
+../../Task/Determinant-and-permanent/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Determine-if-a-string-is-numeric b/Lang/Zig/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..1317ba1b29
--- /dev/null
+++ b/Lang/Zig/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Dijkstras-algorithm b/Lang/Zig/Dijkstras-algorithm
new file mode 120000
index 0000000000..e85779f749
--- /dev/null
+++ b/Lang/Zig/Dijkstras-algorithm
@@ -0,0 +1 @@
+../../Task/Dijkstras-algorithm/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Eertree b/Lang/Zig/Eertree
new file mode 120000
index 0000000000..297f5d26a6
--- /dev/null
+++ b/Lang/Zig/Eertree
@@ -0,0 +1 @@
+../../Task/Eertree/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Egyptian-division b/Lang/Zig/Egyptian-division
new file mode 120000
index 0000000000..fbc8453acb
--- /dev/null
+++ b/Lang/Zig/Egyptian-division
@@ -0,0 +1 @@
+../../Task/Egyptian-division/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Elliptic-Curve-Digital-Signature-Algorithm b/Lang/Zig/Elliptic-Curve-Digital-Signature-Algorithm
new file mode 120000
index 0000000000..8631c5bdb3
--- /dev/null
+++ b/Lang/Zig/Elliptic-Curve-Digital-Signature-Algorithm
@@ -0,0 +1 @@
+../../Task/Elliptic-Curve-Digital-Signature-Algorithm/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Elliptic-curve-arithmetic b/Lang/Zig/Elliptic-curve-arithmetic
new file mode 120000
index 0000000000..6d1206bc71
--- /dev/null
+++ b/Lang/Zig/Elliptic-curve-arithmetic
@@ -0,0 +1 @@
+../../Task/Elliptic-curve-arithmetic/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Evolutionary-algorithm b/Lang/Zig/Evolutionary-algorithm
new file mode 120000
index 0000000000..59ff814ffb
--- /dev/null
+++ b/Lang/Zig/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Execute-a-Markov-algorithm b/Lang/Zig/Execute-a-Markov-algorithm
new file mode 120000
index 0000000000..5b70cd7b50
--- /dev/null
+++ b/Lang/Zig/Execute-a-Markov-algorithm
@@ -0,0 +1 @@
+../../Task/Execute-a-Markov-algorithm/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Factors-of-an-integer b/Lang/Zig/Factors-of-an-integer
new file mode 120000
index 0000000000..9bd33985d3
--- /dev/null
+++ b/Lang/Zig/Factors-of-an-integer
@@ -0,0 +1 @@
+../../Task/Factors-of-an-integer/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Farey-sequence b/Lang/Zig/Farey-sequence
new file mode 120000
index 0000000000..44274502d4
--- /dev/null
+++ b/Lang/Zig/Farey-sequence
@@ -0,0 +1 @@
+../../Task/Farey-sequence/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Fibonacci-sequence b/Lang/Zig/Fibonacci-sequence
new file mode 120000
index 0000000000..8c7ee19f72
--- /dev/null
+++ b/Lang/Zig/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Fibonacci-word b/Lang/Zig/Fibonacci-word
new file mode 120000
index 0000000000..e5d3567eb0
--- /dev/null
+++ b/Lang/Zig/Fibonacci-word
@@ -0,0 +1 @@
+../../Task/Fibonacci-word/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Find-the-missing-permutation b/Lang/Zig/Find-the-missing-permutation
new file mode 120000
index 0000000000..720e08365d
--- /dev/null
+++ b/Lang/Zig/Find-the-missing-permutation
@@ -0,0 +1 @@
+../../Task/Find-the-missing-permutation/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Floyd-Warshall-algorithm b/Lang/Zig/Floyd-Warshall-algorithm
new file mode 120000
index 0000000000..e20cfd03e2
--- /dev/null
+++ b/Lang/Zig/Floyd-Warshall-algorithm
@@ -0,0 +1 @@
+../../Task/Floyd-Warshall-algorithm/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Gray-code b/Lang/Zig/Gray-code
new file mode 120000
index 0000000000..f2147c406a
--- /dev/null
+++ b/Lang/Zig/Gray-code
@@ -0,0 +1 @@
+../../Task/Gray-code/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Halt-and-catch-fire b/Lang/Zig/Halt-and-catch-fire
new file mode 120000
index 0000000000..c9706c0075
--- /dev/null
+++ b/Lang/Zig/Halt-and-catch-fire
@@ -0,0 +1 @@
+../../Task/Halt-and-catch-fire/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Integer-sequence b/Lang/Zig/Integer-sequence
new file mode 120000
index 0000000000..43f4f97f8b
--- /dev/null
+++ b/Lang/Zig/Integer-sequence
@@ -0,0 +1 @@
+../../Task/Integer-sequence/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Jaro-similarity b/Lang/Zig/Jaro-similarity
new file mode 120000
index 0000000000..26cb0df4ff
--- /dev/null
+++ b/Lang/Zig/Jaro-similarity
@@ -0,0 +1 @@
+../../Task/Jaro-similarity/Zig
\ No newline at end of file
diff --git a/Lang/Zig/K-d-tree b/Lang/Zig/K-d-tree
new file mode 120000
index 0000000000..3fd542d0d2
--- /dev/null
+++ b/Lang/Zig/K-d-tree
@@ -0,0 +1 @@
+../../Task/K-d-tree/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Knapsack-problem-0-1 b/Lang/Zig/Knapsack-problem-0-1
new file mode 120000
index 0000000000..95f8fcd9fc
--- /dev/null
+++ b/Lang/Zig/Knapsack-problem-0-1
@@ -0,0 +1 @@
+../../Task/Knapsack-problem-0-1/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Knights-tour b/Lang/Zig/Knights-tour
new file mode 120000
index 0000000000..a8fa50bb64
--- /dev/null
+++ b/Lang/Zig/Knights-tour
@@ -0,0 +1 @@
+../../Task/Knights-tour/Zig
\ No newline at end of file
diff --git a/Lang/Zig/LZW-compression b/Lang/Zig/LZW-compression
new file mode 120000
index 0000000000..fd9ce93698
--- /dev/null
+++ b/Lang/Zig/LZW-compression
@@ -0,0 +1 @@
+../../Task/LZW-compression/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Latin-Squares-in-reduced-form b/Lang/Zig/Latin-Squares-in-reduced-form
new file mode 120000
index 0000000000..4ae8de3ec8
--- /dev/null
+++ b/Lang/Zig/Latin-Squares-in-reduced-form
@@ -0,0 +1 @@
+../../Task/Latin-Squares-in-reduced-form/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Loops-Nested b/Lang/Zig/Loops-Nested
new file mode 120000
index 0000000000..a78e39957d
--- /dev/null
+++ b/Lang/Zig/Loops-Nested
@@ -0,0 +1 @@
+../../Task/Loops-Nested/Zig
\ No newline at end of file
diff --git a/Lang/Zig/M-bius-function b/Lang/Zig/M-bius-function
new file mode 120000
index 0000000000..b4ad984b09
--- /dev/null
+++ b/Lang/Zig/M-bius-function
@@ -0,0 +1 @@
+../../Task/M-bius-function/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Main-step-of-GOST-28147-89 b/Lang/Zig/Main-step-of-GOST-28147-89
new file mode 120000
index 0000000000..433b294fbc
--- /dev/null
+++ b/Lang/Zig/Main-step-of-GOST-28147-89
@@ -0,0 +1 @@
+../../Task/Main-step-of-GOST-28147-89/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Matrix-exponentiation-operator b/Lang/Zig/Matrix-exponentiation-operator
new file mode 120000
index 0000000000..273e429228
--- /dev/null
+++ b/Lang/Zig/Matrix-exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Matrix-exponentiation-operator/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Modular-arithmetic b/Lang/Zig/Modular-arithmetic
new file mode 120000
index 0000000000..a64c6161fe
--- /dev/null
+++ b/Lang/Zig/Modular-arithmetic
@@ -0,0 +1 @@
+../../Task/Modular-arithmetic/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Modular-inverse b/Lang/Zig/Modular-inverse
new file mode 120000
index 0000000000..f96c2102b0
--- /dev/null
+++ b/Lang/Zig/Modular-inverse
@@ -0,0 +1 @@
+../../Task/Modular-inverse/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Monty-Hall-problem b/Lang/Zig/Monty-Hall-problem
new file mode 120000
index 0000000000..5c32ef8986
--- /dev/null
+++ b/Lang/Zig/Monty-Hall-problem
@@ -0,0 +1 @@
+../../Task/Monty-Hall-problem/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Move-to-front-algorithm b/Lang/Zig/Move-to-front-algorithm
new file mode 120000
index 0000000000..820f21fe3e
--- /dev/null
+++ b/Lang/Zig/Move-to-front-algorithm
@@ -0,0 +1 @@
+../../Task/Move-to-front-algorithm/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Mutual-recursion b/Lang/Zig/Mutual-recursion
new file mode 120000
index 0000000000..ad6fe03709
--- /dev/null
+++ b/Lang/Zig/Mutual-recursion
@@ -0,0 +1 @@
+../../Task/Mutual-recursion/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Natural-sorting b/Lang/Zig/Natural-sorting
new file mode 120000
index 0000000000..ce3fd8d2e1
--- /dev/null
+++ b/Lang/Zig/Natural-sorting
@@ -0,0 +1 @@
+../../Task/Natural-sorting/Zig
\ No newline at end of file
diff --git a/Lang/Zig/P-Adic-numbers-basic b/Lang/Zig/P-Adic-numbers-basic
new file mode 120000
index 0000000000..7be77909db
--- /dev/null
+++ b/Lang/Zig/P-Adic-numbers-basic
@@ -0,0 +1 @@
+../../Task/P-Adic-numbers-basic/Zig
\ No newline at end of file
diff --git a/Lang/Zig/P-Adic-square-roots b/Lang/Zig/P-Adic-square-roots
new file mode 120000
index 0000000000..bf2f9425e2
--- /dev/null
+++ b/Lang/Zig/P-Adic-square-roots
@@ -0,0 +1 @@
+../../Task/P-Adic-square-roots/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Parametric-polymorphism b/Lang/Zig/Parametric-polymorphism
new file mode 120000
index 0000000000..76dd4a7ae3
--- /dev/null
+++ b/Lang/Zig/Parametric-polymorphism
@@ -0,0 +1 @@
+../../Task/Parametric-polymorphism/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Parse-an-IP-Address b/Lang/Zig/Parse-an-IP-Address
new file mode 120000
index 0000000000..dcc1d9a064
--- /dev/null
+++ b/Lang/Zig/Parse-an-IP-Address
@@ -0,0 +1 @@
+../../Task/Parse-an-IP-Address/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Parsing-RPN-calculator-algorithm b/Lang/Zig/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..64d52e74e9
--- /dev/null
+++ b/Lang/Zig/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Parsing-Shunting-yard-algorithm b/Lang/Zig/Parsing-Shunting-yard-algorithm
new file mode 120000
index 0000000000..36cb3a3892
--- /dev/null
+++ b/Lang/Zig/Parsing-Shunting-yard-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-Shunting-yard-algorithm/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Pells-equation b/Lang/Zig/Pells-equation
new file mode 120000
index 0000000000..dc6754d05f
--- /dev/null
+++ b/Lang/Zig/Pells-equation
@@ -0,0 +1 @@
+../../Task/Pells-equation/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Permutations-by-swapping b/Lang/Zig/Permutations-by-swapping
new file mode 120000
index 0000000000..5e667cc7e2
--- /dev/null
+++ b/Lang/Zig/Permutations-by-swapping
@@ -0,0 +1 @@
+../../Task/Permutations-by-swapping/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Quickselect-algorithm b/Lang/Zig/Quickselect-algorithm
new file mode 120000
index 0000000000..7dbb81ef78
--- /dev/null
+++ b/Lang/Zig/Quickselect-algorithm
@@ -0,0 +1 @@
+../../Task/Quickselect-algorithm/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Quine b/Lang/Zig/Quine
new file mode 120000
index 0000000000..20f1f12898
--- /dev/null
+++ b/Lang/Zig/Quine
@@ -0,0 +1 @@
+../../Task/Quine/Zig
\ No newline at end of file
diff --git a/Lang/Zig/SHA-1 b/Lang/Zig/SHA-1
new file mode 120000
index 0000000000..374af24054
--- /dev/null
+++ b/Lang/Zig/SHA-1
@@ -0,0 +1 @@
+../../Task/SHA-1/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Sisyphus-sequence b/Lang/Zig/Sisyphus-sequence
new file mode 120000
index 0000000000..58dd5ff994
--- /dev/null
+++ b/Lang/Zig/Sisyphus-sequence
@@ -0,0 +1 @@
+../../Task/Sisyphus-sequence/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Solve-a-Holy-Knights-tour b/Lang/Zig/Solve-a-Holy-Knights-tour
new file mode 120000
index 0000000000..b0fe3fcb9a
--- /dev/null
+++ b/Lang/Zig/Solve-a-Holy-Knights-tour
@@ -0,0 +1 @@
+../../Task/Solve-a-Holy-Knights-tour/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Solve-the-no-connection-puzzle b/Lang/Zig/Solve-the-no-connection-puzzle
new file mode 120000
index 0000000000..4b3367c677
--- /dev/null
+++ b/Lang/Zig/Solve-the-no-connection-puzzle
@@ -0,0 +1 @@
+../../Task/Solve-the-no-connection-puzzle/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Sorting-algorithms-Patience-sort b/Lang/Zig/Sorting-algorithms-Patience-sort
new file mode 120000
index 0000000000..a696e81abf
--- /dev/null
+++ b/Lang/Zig/Sorting-algorithms-Patience-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Patience-sort/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Sorting-algorithms-Strand-sort b/Lang/Zig/Sorting-algorithms-Strand-sort
new file mode 120000
index 0000000000..67361c524c
--- /dev/null
+++ b/Lang/Zig/Sorting-algorithms-Strand-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Strand-sort/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Stern-Brocot-sequence b/Lang/Zig/Stern-Brocot-sequence
new file mode 120000
index 0000000000..4e68e871bc
--- /dev/null
+++ b/Lang/Zig/Stern-Brocot-sequence
@@ -0,0 +1 @@
+../../Task/Stern-Brocot-sequence/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Strassens-algorithm b/Lang/Zig/Strassens-algorithm
new file mode 120000
index 0000000000..f02a6cb05a
--- /dev/null
+++ b/Lang/Zig/Strassens-algorithm
@@ -0,0 +1 @@
+../../Task/Strassens-algorithm/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Stream-merge b/Lang/Zig/Stream-merge
new file mode 120000
index 0000000000..83ddc64918
--- /dev/null
+++ b/Lang/Zig/Stream-merge
@@ -0,0 +1 @@
+../../Task/Stream-merge/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Sudoku b/Lang/Zig/Sudoku
new file mode 120000
index 0000000000..cc0b8be01d
--- /dev/null
+++ b/Lang/Zig/Sudoku
@@ -0,0 +1 @@
+../../Task/Sudoku/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Sutherland-Hodgman-polygon-clipping b/Lang/Zig/Sutherland-Hodgman-polygon-clipping
new file mode 120000
index 0000000000..2e08ab9fc7
--- /dev/null
+++ b/Lang/Zig/Sutherland-Hodgman-polygon-clipping
@@ -0,0 +1 @@
+../../Task/Sutherland-Hodgman-polygon-clipping/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Tarjan b/Lang/Zig/Tarjan
new file mode 120000
index 0000000000..47db828add
--- /dev/null
+++ b/Lang/Zig/Tarjan
@@ -0,0 +1 @@
+../../Task/Tarjan/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Thue-Morse b/Lang/Zig/Thue-Morse
new file mode 120000
index 0000000000..514eeceeed
--- /dev/null
+++ b/Lang/Zig/Thue-Morse
@@ -0,0 +1 @@
+../../Task/Thue-Morse/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Tonelli-Shanks-algorithm b/Lang/Zig/Tonelli-Shanks-algorithm
new file mode 120000
index 0000000000..364e6278fd
--- /dev/null
+++ b/Lang/Zig/Tonelli-Shanks-algorithm
@@ -0,0 +1 @@
+../../Task/Tonelli-Shanks-algorithm/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Tree-datastructures b/Lang/Zig/Tree-datastructures
new file mode 120000
index 0000000000..2483259e7c
--- /dev/null
+++ b/Lang/Zig/Tree-datastructures
@@ -0,0 +1 @@
+../../Task/Tree-datastructures/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Verhoeff-algorithm b/Lang/Zig/Verhoeff-algorithm
new file mode 120000
index 0000000000..d90fb8e2ca
--- /dev/null
+++ b/Lang/Zig/Verhoeff-algorithm
@@ -0,0 +1 @@
+../../Task/Verhoeff-algorithm/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Vigen-re-cipher-Cryptanalysis b/Lang/Zig/Vigen-re-cipher-Cryptanalysis
new file mode 120000
index 0000000000..7fd7d3aa92
--- /dev/null
+++ b/Lang/Zig/Vigen-re-cipher-Cryptanalysis
@@ -0,0 +1 @@
+../../Task/Vigen-re-cipher-Cryptanalysis/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Vogels-approximation-method b/Lang/Zig/Vogels-approximation-method
new file mode 120000
index 0000000000..af40cfb307
--- /dev/null
+++ b/Lang/Zig/Vogels-approximation-method
@@ -0,0 +1 @@
+../../Task/Vogels-approximation-method/Zig
\ No newline at end of file
diff --git a/Lang/Zig/War-card-game b/Lang/Zig/War-card-game
new file mode 120000
index 0000000000..6bc9afa5bf
--- /dev/null
+++ b/Lang/Zig/War-card-game
@@ -0,0 +1 @@
+../../Task/War-card-game/Zig
\ No newline at end of file
diff --git a/Lang/Zig/Y-combinator b/Lang/Zig/Y-combinator
new file mode 120000
index 0000000000..1478dbbdb7
--- /dev/null
+++ b/Lang/Zig/Y-combinator
@@ -0,0 +1 @@
+../../Task/Y-combinator/Zig
\ No newline at end of file
diff --git a/Lang/Zkl/Bioinformatics-base-count b/Lang/Zkl/Bioinformatics-base-count
deleted file mode 120000
index f344937ca4..0000000000
--- a/Lang/Zkl/Bioinformatics-base-count
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Bioinformatics-base-count/Zkl
\ No newline at end of file
diff --git a/Lang/Zkl/Miller-Rabin-primality-test b/Lang/Zkl/Miller-Rabin-primality-test
deleted file mode 120000
index 92bfcfa6ff..0000000000
--- a/Lang/Zkl/Miller-Rabin-primality-test
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Miller-Rabin-primality-test/Zkl
\ No newline at end of file
diff --git a/Lang/Zkl/Quaternion-type b/Lang/Zkl/Quaternion-type
deleted file mode 120000
index d36f19dd00..0000000000
--- a/Lang/Zkl/Quaternion-type
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Quaternion-type/Zkl
\ No newline at end of file
diff --git a/Lang/Zkl/Sequence-nth-number-with-exactly-n-divisors b/Lang/Zkl/Sequence:-nth-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Zkl/Sequence-nth-number-with-exactly-n-divisors
rename to Lang/Zkl/Sequence:-nth-number-with-exactly-n-divisors
diff --git a/Lang/Zkl/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors b/Lang/Zkl/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
similarity index 100%
rename from Lang/Zkl/Sequence-smallest-number-greater-than-previous-term-with-exactly-n-divisors
rename to Lang/Zkl/Sequence:-smallest-number-greater-than-previous-term-with-exactly-n-divisors
diff --git a/Lang/Zkl/Sequence-smallest-number-with-exactly-n-divisors b/Lang/Zkl/Sequence:-smallest-number-with-exactly-n-divisors
similarity index 100%
rename from Lang/Zkl/Sequence-smallest-number-with-exactly-n-divisors
rename to Lang/Zkl/Sequence:-smallest-number-with-exactly-n-divisors
diff --git a/Lang/Zkl/Sorting-Algorithms-Circle-Sort b/Lang/Zkl/Sorting-Algorithms-Circle-Sort
deleted file mode 120000
index 6de597a14d..0000000000
--- a/Lang/Zkl/Sorting-Algorithms-Circle-Sort
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Sorting-Algorithms-Circle-Sort/Zkl
\ No newline at end of file
diff --git a/Lang/Zonnon/00-LANG.txt b/Lang/Zonnon/00-LANG.txt
index 8a95e192c9..e4a45b3fa4 100644
--- a/Lang/Zonnon/00-LANG.txt
+++ b/Lang/Zonnon/00-LANG.txt
@@ -3,4 +3,11 @@
|site=http://www.zonnon.ethz.ch/
|LCT=yes
}}
-Zonnon is a general-purpose programming language in the [[Pascal]], [[Modula-2]] and [[Oberon]] family. It retains an emphasis on simplicity, clear syntax and separation of concerns whilst focusing on concurrency and ease of composition and expression. Unification of abstractions is at the heart of its design and this is reflected in its conceptual model based on modules, objects, definitions and implementations. Zonnon offers a new computing model based on active objects with their interaction defined by syntax controlled dialogs. It also introduces new features including operator overloading and exception handling, and is specifically designed to be platform independent.
\ No newline at end of file
+Zonnon is a general-purpose programming language in the [[Pascal]], [[Modula-2]] and [[Oberon]] family. It retains an emphasis on simplicity, clear syntax and separation of concerns whilst focusing on concurrency and ease of composition and expression. Unification of abstractions is at the heart of its design and this is reflected in its conceptual model based on modules, objects, definitions and implementations. Zonnon offers a new computing model based on active objects with their interaction defined by syntax controlled dialogs. It also introduces new features including operator overloading and exception handling, and is specifically designed to be platform independent.
+
+===See also===
+* [[Oberon-07]]
+* [[Oberon-2]]
+* [[Component Pascal]]
+* [[Modula-2]]
+* [[Modula-3]]
\ No newline at end of file
diff --git a/Task/100-doors/00-TASK.txt b/Task/100-doors/00-TASK.txt
index fd7471448b..83471393d8 100644
--- a/Task/100-doors/00-TASK.txt
+++ b/Task/100-doors/00-TASK.txt
@@ -2,21 +2,26 @@ There are 100 doors in a row that are all initially closed.
You make 100 [[task feature::Rosetta Code:multiple passes|passes]] by the doors.
-The first time through, visit every door and ''toggle'' the door (if the door is closed, open it; if it is open, close it).
+The first time through, visit every door and ''toggle'' the door (if the door is closed, open it; if it is open, close it).
-The second time, only visit every 2nd door (door #2, #4, #6, ...), and toggle it.
+The second time, only visit every 2nd door (door #2, #4, #6, ...), and toggle it.
-The third time, visit every 3rd door (door #3, #6, #9, ...), etc, until you only visit the 100th door.
+The third time, visit every 3rd door (door #3, #6, #9, ...), etc, until you only visit the 100th door.
;Task:
-Answer the question: what state are the doors in after the last pass? Which are open, which are closed?
+Answer the question: what state are the doors in after the last pass? Which are open, which are closed?
'''[[task feature::Rosetta Code:extra credit|Alternate]]:'''
-As noted in this page's [[Talk:100 doors|discussion page]], the only doors that remain open are those whose numbers are perfect squares.
+As noted in this page's [[Talk:100 doors|discussion page]], the only doors that remain open are those whose numbers are perfect squares.
-Opening only those doors is an [[task feature::Rosetta Code:optimization|optimization]] that may also be expressed;
+Opening only those doors is an [[task feature::Rosetta Code:optimization|optimization]] that may also be expressed;
however, as should be obvious, this defeats the intent of comparing implementations across programming languages.
+;Why doesn't syntax highlighting work on this page ?:
+Currently, there is a limit on how many <syntaxhighlight> tags can appear on a page, so only the first few languages get highlighting, the rest are shown in monochrome.
+You could try "manual highlighting", possibly using one of the highlighters on [[Syntax highlighting using Mediawiki formatting]] or something similar.
+
+
diff --git a/Task/100-doors/11l/100-doors.11l b/Task/100-doors/11l/100-doors.11l
index 3783f3ff5a..2808744415 100644
--- a/Task/100-doors/11l/100-doors.11l
+++ b/Task/100-doors/11l/100-doors.11l
@@ -1,5 +1,5 @@
V doors = [0B] * 100
-L(i) 100
+L(i) 0.<100
L(j) (i .< 100).step(i + 1)
doors[j] = !doors[j]
print(‘Door ’(i + 1)‘: ’(I doors[i] {‘open’} E ‘close’))
diff --git a/Task/100-doors/8080-Assembly/100-doors.8080 b/Task/100-doors/8080-Assembly/100-doors-1.8080
similarity index 100%
rename from Task/100-doors/8080-Assembly/100-doors.8080
rename to Task/100-doors/8080-Assembly/100-doors-1.8080
diff --git a/Task/100-doors/8080-Assembly/100-doors-2.8080 b/Task/100-doors/8080-Assembly/100-doors-2.8080
new file mode 100644
index 0000000000..d5cb28c55f
--- /dev/null
+++ b/Task/100-doors/8080-Assembly/100-doors-2.8080
@@ -0,0 +1,79 @@
+wboot equ 0 ; jump to BIOS warm boot routine
+bdos equ 5 ; BDOS entry
+conout equ 2 ; BDOS console output function
+putstr equ 9 ; BDOS print string function
+ndoors equ 100 ; number of doors
+ ;
+ org 100h
+ lxi sp,stack ; set our own stack
+ lxi d,intro ; print introductory message
+ mvi c,putstr
+ call bdos
+ ;
+ ; generate sequence of squares to specified limit
+ ; HL holds the current square
+ ; DE holds the increment
+ ; BC holds the negative of the limit
+ ;
+gensqr: lxi h,1 ; starting value of square
+ lxi d,3 ; starting value of increment
+ lxi b,-ndoors
+sqrs2: call putdec ; otherwise print current square
+ mvi a,' ' ; separate with a space
+ call putchr
+ push h ; have we reached the limit?
+ dad b
+ pop h
+ jc done ; CY if HL > limit
+ dad d ; square += incrememnt
+ inx d ; increment += 2
+ inx d
+ jmp sqrs2 ; repeat until finished
+ ;
+done: jmp wboot ; exit with warm boot
+ ;---------------------------------------------------
+ ; console output of char in A register
+ ;---------------------------------------------------
+putchr: push h
+ push d
+ push b
+ mov e,a
+ mvi c,conout
+ call bdos
+ pop b
+ pop d
+ pop h
+ ret
+ ;---------------------------------------------------
+ ; Output decimal number to console
+ ; HL holds 16-bit unsigned binary number to print
+ ;---------------------------------------------------
+putdec: push b
+ push d
+ push h
+ lxi b,-10
+ lxi d,-1
+putdec2:
+ dad b
+ inx d
+ jc putdec2
+ lxi b,10
+ dad b
+ xchg
+ mov a,h
+ ora l
+ cnz putdec ; recursive call
+ mov a,e
+ adi '0'
+ call putchr
+ pop h
+ pop d
+ pop b
+ ret
+ ;---------------------------------------------------
+ ; data area and stack
+ ;---------------------------------------------------
+intro: db 'The open doors are: $'
+stack equ $+128 ; 64-level stack
+ ;
+ end
diff --git a/Task/100-doors/ANSI-BASIC/100-doors.basic b/Task/100-doors/ANSI-BASIC/100-doors.basic
new file mode 100644
index 0000000000..eec806c191
--- /dev/null
+++ b/Task/100-doors/ANSI-BASIC/100-doors.basic
@@ -0,0 +1,21 @@
+100 REM 100 doors
+110 REM The unoptimised door flipping method
+120 REM which simulates the process
+130 DIM IsDoorOpen(1 TO 100)
+140 LET DoorMax = UBOUND(IsDoorOpen)
+150 REM Set all doors to closed
+160 FOR I = 1 TO DoorMax
+170 LET IsDoorOpen(I) = 0
+180 NEXT I
+190 REM Repeatedly flip the doors
+200 FOR I = 1 TO DoorMax
+210 FOR J = I TO DoorMax STEP I
+220 LET IsDoorOpen(J) = 1 - IsDoorOpen(J)
+230 NEXT J
+240 NEXT I
+250 REM Display the results
+260 FOR I = 1 TO DoorMax
+270 IF IsDoorOpen(I) <> 0 THEN PRINT I;
+280 NEXT I
+290 PRINT
+300 END
diff --git a/Task/100-doors/APL/100-doors-2.apl b/Task/100-doors/APL/100-doors-2.apl
index ba6d739dae..bff8982b24 100644
--- a/Task/100-doors/APL/100-doors-2.apl
+++ b/Task/100-doors/APL/100-doors-2.apl
@@ -1,3 +1 @@
-⍝⍝ Also works with GNU APL after introduction of
-⍝⍝ the ⍸ function with SVN r1368, Dec 03 2020
-⍸≠⌿0=(⍳100)∘.|⍳100
+≠⌿0=(⍳100)∘.|⍳100
diff --git a/Task/100-doors/APL/100-doors-3.apl b/Task/100-doors/APL/100-doors-3.apl
new file mode 100644
index 0000000000..5fcad5e104
--- /dev/null
+++ b/Task/100-doors/APL/100-doors-3.apl
@@ -0,0 +1 @@
+⍸≠⌿0=(⍳100)∘.|⍳100
diff --git a/Task/100-doors/AWK/100-doors-1.awk b/Task/100-doors/AWK/100-doors-1.awk
deleted file mode 100644
index 1c2a279c09..0000000000
--- a/Task/100-doors/AWK/100-doors-1.awk
+++ /dev/null
@@ -1,17 +0,0 @@
-BEGIN {
- for(i=1; i <= 100; i++)
- {
- doors[i] = 0 # close the doors
- }
- for(i=1; i <= 100; i++)
- {
- for(j=i; j <= 100; j += i)
- {
- doors[j] = (doors[j]+1) % 2
- }
- }
- for(i=1; i <= 100; i++)
- {
- print i, doors[i] ? "open" : "close"
- }
-}
diff --git a/Task/100-doors/AWK/100-doors-2.awk b/Task/100-doors/AWK/100-doors-2.awk
deleted file mode 100644
index 9344bbec27..0000000000
--- a/Task/100-doors/AWK/100-doors-2.awk
+++ /dev/null
@@ -1,14 +0,0 @@
-BEGIN {
- for(i=1; i <= 100; i++) {
- doors[i] = 0 # close the doors
- }
- for(i=1; i <= 100; i++) {
- if ( int(sqrt(i)) == sqrt(i) ) {
- doors[i] = 1
- }
- }
- for(i=1; i <= 100; i++)
- {
- print i, doors[i] ? "open" : "close"
- }
-}
diff --git a/Task/100-doors/Ada/100-doors-1.ada b/Task/100-doors/Ada/100-doors-1.adb
similarity index 100%
rename from Task/100-doors/Ada/100-doors-1.ada
rename to Task/100-doors/Ada/100-doors-1.adb
diff --git a/Task/100-doors/Ada/100-doors-2.ada b/Task/100-doors/Ada/100-doors-2.adb
similarity index 100%
rename from Task/100-doors/Ada/100-doors-2.ada
rename to Task/100-doors/Ada/100-doors-2.adb
diff --git a/Task/100-doors/Adina/100-doors-1.adina b/Task/100-doors/Adina/100-doors-1.adina
new file mode 100644
index 0000000000..0e7190c89e
--- /dev/null
+++ b/Task/100-doors/Adina/100-doors-1.adina
@@ -0,0 +1,16 @@
+двери = новый-массив 100 ложь
+
+цикл
+ шаг
+ в-диапазоне 1 101
+ цикл
+ номер
+ в-диапазоне (шаг - 1) 100 шаг
+ двери[номер] := не двери[номер]
+
+цикл
+ номер 100
+ вывести/перенос
+ формат «Дверь ~a ~a»
+ номер + 1
+ двери[номер] ? «открыта» «закрыта»
diff --git a/Task/100-doors/Adina/100-doors-2.adina b/Task/100-doors/Adina/100-doors-2.adina
new file mode 100644
index 0000000000..6286140dc0
--- /dev/null
+++ b/Task/100-doors/Adina/100-doors-2.adina
@@ -0,0 +1,17 @@
+english()
+doors = make-vector 100 #f
+
+for
+ $ step
+ in-range 1 101
+ for
+ $ number
+ in-range (step - 1) 100 step
+ doors[number] := not doors[number]
+
+for
+ $ number 100
+ displayln
+ format "Door ~a ~a"
+ number + 1
+ if doors[number] "open" "closed"
diff --git a/Task/100-doors/Agena/100-doors.agena b/Task/100-doors/Agena/100-doors.agena
deleted file mode 100644
index 18c9cb1963..0000000000
--- a/Task/100-doors/Agena/100-doors.agena
+++ /dev/null
@@ -1,19 +0,0 @@
-# find the first few squares via the unoptimised door flipping method
-scope
-
- local doorMax := 100;
- local door;
- create register door( doorMax );
-
- # set all doors to closed
- for i to doorMax do door[ i ] := false od;
-
- # repeatedly flip the doors
- for i to doorMax do
- for j from i to doorMax by i do door[ j ] := not door[ j ] od
- od;
-
- # display the results
- for i to doorMax do if door[ i ] then write( " ", i ) fi od; print()
-
-epocs
diff --git a/Task/100-doors/ArkScript/100-doors-1.ark b/Task/100-doors/ArkScript/100-doors-1.ark
new file mode 100644
index 0000000000..713e3b360f
--- /dev/null
+++ b/Task/100-doors/ArkScript/100-doors-1.ark
@@ -0,0 +1,21 @@
+(import std.Range :range :forEach)
+(import std.List)
+
+(mut doors (list:fill 100 false))
+(let r (range 0 100))
+
+(forEach r
+ (fun (i) {
+ (mut j i)
+ (while (< j 100) {
+ (@= doors j (not (@ doors j)))
+ (set j (+ j i 1)) })
+ (print doors) }))
+
+(print
+ (list:map
+ (list:filter
+ (list:zipWithIndex doors)
+ (fun (e)
+ (@ e 1)))
+ (fun (e) (@ e 0))))
diff --git a/Task/100-doors/ArkScript/100-doors-2.ark b/Task/100-doors/ArkScript/100-doors-2.ark
new file mode 100644
index 0000000000..b1cb4380b2
--- /dev/null
+++ b/Task/100-doors/ArkScript/100-doors-2.ark
@@ -0,0 +1,4 @@
+[true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true]
+...
+[true false false true false false false false true false false false false false false true false false false false false false false false true false false false false false false false false false false true false false false false false false false false false false false false true false false false false false false false false false false false false false false true false false false false false false false false false false false false false false false false true false false false false false false false false false false false false false false false false false false true]
+[0 3 8 15 24 35 48 63 80 99]
diff --git a/Task/100-doors/AutoIt/100-doors.autoit b/Task/100-doors/AutoIt/100-doors.au3
similarity index 100%
rename from Task/100-doors/AutoIt/100-doors.autoit
rename to Task/100-doors/AutoIt/100-doors.au3
diff --git a/Task/100-doors/AutoLISP/100-doors.lsp b/Task/100-doors/AutoLISP/100-doors.lsp
new file mode 100644
index 0000000000..d4a0ebbe77
--- /dev/null
+++ b/Task/100-doors/AutoLISP/100-doors.lsp
@@ -0,0 +1,18 @@
+(defun CreateDoors (n / doors)
+ (repeat n
+ (setq doors (cons nil doors))
+ )
+)
+
+(defun Doors (doors / cnt)
+ (setq cnt 0)
+ (mapcar
+ '(lambda (d)
+ (zerop (rem (sqrt (setq cnt (1+ cnt))) 1))
+ )
+ doors
+ )
+)
+
+> (Doors (CreateDoors 100))
+(T nil nil T nil nil nil nil T nil nil nil nil nil nil T nil nil nil nil nil nil nil nil T nil nil nil nil nil nil nil nil nil nil T nil nil nil nil nil nil nil nil nil nil nil nil T nil nil nil nil nil nil nil nil nil nil nil nil nil nil T nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil T nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil T nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil T nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil T nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil T nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil T nil nil nil nil)
diff --git a/Task/100-doors/BQN/100-doors-4.bqn b/Task/100-doors/BQN/100-doors-4.bqn
new file mode 100644
index 0000000000..cfab61e191
--- /dev/null
+++ b/Task/100-doors/BQN/100-doors-4.bqn
@@ -0,0 +1,3 @@
+F ← {1+ / 2| +˝ 0= |⌜˜ 1+↕𝕩}
+F 100
+# ⟨ 1 4 9 16 25 36 49 64 81 100 ⟩
diff --git a/Task/100-doors/BQN/100-doors-5.bqn b/Task/100-doors/BQN/100-doors-5.bqn
new file mode 100644
index 0000000000..b78e4f3de6
--- /dev/null
+++ b/Task/100-doors/BQN/100-doors-5.bqn
@@ -0,0 +1,3 @@
+F ← {ט1+↕⌊√𝕩}
+F 100
+# ⟨ 1 4 9 16 25 36 49 64 81 100 ⟩
diff --git a/Task/100-doors/Ballerina/100-doors.ballerina b/Task/100-doors/Ballerina/100-doors.ballerina
new file mode 100644
index 0000000000..35d7c63798
--- /dev/null
+++ b/Task/100-doors/Ballerina/100-doors.ballerina
@@ -0,0 +1,16 @@
+// https://rosettacode.org/wiki/100_doors
+import ballerina/io;
+
+public function main() {
+ boolean[100] doors = [];
+ foreach int i in int:range(0,100,1) {
+ foreach int j in int:range(i, 100, i+1) {
+ doors[j] = ! doors[j];
+ }
+ }
+ foreach int i in int:range(0,doors.length(),1) {
+ if doors[i] {
+ io:println("Door #",i+1," is ","open");
+ }
+ }
+}
diff --git a/Task/100-doors/C-sharp/100-doors-1.cs b/Task/100-doors/C-sharp/100-doors-1.cs
index d06413f95c..3e031cc721 100644
--- a/Task/100-doors/C-sharp/100-doors-1.cs
+++ b/Task/100-doors/C-sharp/100-doors-1.cs
@@ -5,11 +5,10 @@ namespace ConsoleApplication1
{
static void Main(string[] args)
{
+ // Arrays are initialized to their type default values; the default for bool is false
+ // Use false to indicate closed door
bool[] doors = new bool[100];
- //Close all doors to start.
- for (int d = 0; d < 100; d++) doors[d] = false;
-
//For each pass...
for (int p = 0; p < 100; p++)//number of passes
{
@@ -24,7 +23,7 @@ namespace ConsoleApplication1
}
//Output the results.
- Console.WriteLine("Passes Completed!!! Here are the results: \r\n");
+ Console.WriteLine("Passes Completed!!! Here are the results:");
for (int d = 0; d < 100; d++)
{
if (doors[d])
diff --git a/Task/100-doors/C/100-doors-3.c b/Task/100-doors/C/100-doors-3.c
index fb7f7feb29..d8fed2c66e 100644
--- a/Task/100-doors/C/100-doors-3.c
+++ b/Task/100-doors/C/100-doors-3.c
@@ -1,19 +1,14 @@
#include
diff --git a/Task/21-game/ALGOL-68/21-game.alg b/Task/21-game/ALGOL-68/21-game.alg
new file mode 100644
index 0000000000..e9dfe16bed
--- /dev/null
+++ b/Task/21-game/ALGOL-68/21-game.alg
@@ -0,0 +1,41 @@
+IF print( ( "Player who reaches 21, wins", newline ) ); # 21 game - based on the EasyLang sample #
+ INT human = 1, computer = 2;
+ []STRING name = ( "Human ", "Computer" );
+ INT player := human, sum := 0;
+ STRING a := "?";
+ WHILE a /= "y" AND a /= "n" AND a /= "q" DO
+ print( ( "Do you want to go first (y/n/q) " ) );
+ read( ( a, newline ) );
+ IF a = "n" THEN player := computer FI
+ OD;
+ a /= "q"
+THEN
+ WHILE
+ INT add := IF player = human THEN
+ a := "?";
+ WHILE a /= "q" AND a /= "1" AND a /= "2" AND a /= "3" DO
+ print( ( newline, "Add 1, 2 or 3 (q to quit) " ) );
+ read( ( a, newline ) )
+ OD;
+ IF a = "1" THEN 1 ELIF a = "2" THEN 2 ELSE 3 FI
+ ELIF sum MOD 4 = 1 THEN
+ # player = computer, optimal move not possible #
+ ENTIER ( random * 3 ) + 1
+ ELSE
+ # player = computer, can make the optimal move #
+ 4 - ( sum + 3 ) MOD 4
+ FI;
+ sum +:= add;
+ IF a /= "q" THEN
+ print( ( name[ player ], ": ", whole( add, 0 ), " --> ", whole( sum, 0 ), newline ) )
+ FI;
+ a /= "q" AND sum < 21
+ DO
+ player := IF player = human THEN computer ELSE human FI
+ OD;
+ IF a /= "q" THEN
+ print( ( newline ) );
+ print( ( IF player = human THEN "Congratulations, you won" ELSE "Sorry, you lost" FI ) );
+ print( ( newline ) )
+ FI
+FI
diff --git a/Task/21-game/Ada/21-game.ada b/Task/21-game/Ada/21-game.adb
similarity index 100%
rename from Task/21-game/Ada/21-game.ada
rename to Task/21-game/Ada/21-game.adb
diff --git a/Task/21-game/AppleScript/21-game.applescript b/Task/21-game/AppleScript/21-game.applescript
new file mode 100644
index 0000000000..c850f044a1
--- /dev/null
+++ b/Task/21-game/AppleScript/21-game.applescript
@@ -0,0 +1,44 @@
+repeat
+ set pstart to some item of {true, false}
+ if pstart then
+ display alert "You go first!"
+ set score to 0
+ else
+ display alert "The computer goes first!"
+ log "The computer chose 1"
+ log "The score is now 1"
+ set score to 1
+ end if
+ repeat
+ repeat
+ set input to display alert "Choose a number:" buttons {1, 2, 3}
+ set pmove to button returned of input
+ set score to score + pmove
+ if score > 21 then
+ display alert "You can't go above 21! Try again."
+ set score to score - pmove
+ else
+ exit repeat
+ end if
+ end repeat
+ log "You chose " & pmove
+ log "The score is now " & score
+ if score = 21 then
+ log "You win!"
+ exit repeat
+ else if score mod 4 is not 1 then
+ set cmove to (5 - (score mod 4)) mod 4
+ else
+ set cmove to random number from 1 to 3
+ end if
+ set score to score + cmove
+ log "The computer chose " & cmove
+ log "The score is now " & score
+ if score = 21 then
+ log "Too bad! The computer wins."
+ exit repeat
+ end if
+ end repeat
+ set again to display alert "Play again?" buttons {"Yes", "No"}
+ if button returned of again = "No" then exit repeat
+end repeat
diff --git a/Task/21-game/Arturo/21-game.arturo b/Task/21-game/Arturo/21-game.arturo
index 3b62d3b212..a4c0d5eb0f 100644
--- a/Task/21-game/Arturo/21-game.arturo
+++ b/Task/21-game/Arturo/21-game.arturo
@@ -5,7 +5,7 @@ print "-----------------------------"
players: ["A" "B"]
currentPlayer: sample players
nextPlayer: first players -- currentPlayer
-runningTotal: new 0
+runningTotal: 0
num: 0
getNum: function [][
diff --git a/Task/21-game/AutoHotkey/21-game.ahk b/Task/21-game/AutoHotkey/21-game.ahk
index 89fc54b3c2..ba112f623d 100644
--- a/Task/21-game/AutoHotkey/21-game.ahk
+++ b/Task/21-game/AutoHotkey/21-game.ahk
@@ -6,7 +6,7 @@ Gui, add, text, xs vT, Total : 00
Gui, add, text, xs vComputer, Computer Dealt 00
Gui, add, text, xs Section, Player 1
loop, 3
- Gui, add, button, x+5 vPlayer1_%A_Index% gTotal, % A_Index
+ Gui, add, button, x+5 vPlayer1_%A_Index% gTotal, % A_Index
Gui, add, button, xs vReset gReset, reset
Gui show,, 21 Game
Winners := [1,5,9,13,17,21]
@@ -18,13 +18,13 @@ total := 0
GuiControl,, T, % "Total : " SubStr("00" Total, -1)
GuiControl,, Computer, % "Computer Waiting"
Loop 3
- GuiControl, Enable, % "Player1_" A_Index
+ GuiControl, Enable, % "Player1_" A_Index
Random, rnd, 0, 1
if rnd
{
- Loop 3
- GuiControl, Disable, % "Player1_" A_Index
- gosub ComputerTurn
+ Loop 3
+ GuiControl, Disable, % "Player1_" A_Index
+ gosub ComputerTurn
}
return
;-----------------------------------
@@ -34,12 +34,12 @@ Total += Added
GuiControl,, T, % "Total : " SubStr("00" Total, -1)
if (total >= 21)
{
- MsgBox % "Player 1 Wins"
- gosub reset
- return
+ MsgBox % "Player 1 Wins"
+ gosub reset
+ return
}
Loop 3
- GuiControl, Disable, % "Player1_" A_Index
+ GuiControl, Disable, % "Player1_" A_Index
gosub, ComputerTurn
return
;-----------------------------------
@@ -48,38 +48,38 @@ Gui, Submit, NoHide
Sleep 500
if RadioE
{
- if (total < 13)
- RadioC := true
- else
- RadioH := true
+ if (total < 13)
+ RadioC := true
+ else
+ RadioH := true
}
if RadioC
{
- Random, Deal, 1, 3
- total += Deal
+ Random, Deal, 1, 3
+ total += Deal
}
if RadioH
{
- for i, v in Winners
- if (total >= v)
- continue
- else
- {
- Deal := v - total
- if Deal > 3
- Random, Deal, 1, 3
- total += Deal
- break
- }
+ for i, v in Winners
+ if (total >= v)
+ continue
+ else
+ {
+ Deal := v - total
+ if Deal > 3
+ Random, Deal, 1, 3
+ total += Deal
+ break
+ }
}
GuiControl,, T, % "Total : " SubStr("00" Total, -1)
GuiControl,, Computer, % "Computer Dealt " Deal
if (total=21)
{
- MsgBox Computer Wins
- gosub, reset
+ MsgBox Computer Wins
+ gosub, reset
}
else
- Loop 3
- GuiControl, Enable, % "Player1_" A_Index
+ Loop 3
+ GuiControl, Enable, % "Player1_" A_Index
return
diff --git a/Task/21-game/EasyLang/21-game.easy b/Task/21-game/EasyLang/21-game.easy
index 1ed700b063..6f4e5100cd 100644
--- a/Task/21-game/EasyLang/21-game.easy
+++ b/Task/21-game/EasyLang/21-game.easy
@@ -2,36 +2,36 @@ print "Who reaches 21, wins"
print "Do you want to begin (y/n)"
who = 1
if input = "n"
- who = 2
+ who = 2
.
who$[] = [ "Human" "Computer" ]
repeat
- if who = 1
- repeat
- print ""
- print "Choose 1,2 or 3 (q for quit)"
- a$ = input
- n = number a$
- until a$ = "q" or (n >= 1 and n <= 3)
- .
- else
- sleep 1
- if sum mod 4 = 1
- n = randint 3
- else
- n = 4 - (sum + 3) mod 4
- .
- .
- sum += n
- print who$[who] & ": " & n & " --> " & sum
- until sum >= 21 or a$ = "q"
- who = who mod 2 + 1
+ if who = 1
+ repeat
+ print ""
+ print "Choose 1,2 or 3 (q for quit)"
+ a$ = input
+ n = number a$
+ until a$ = "q" or (n >= 1 and n <= 3)
+ .
+ else
+ sleep 1
+ if sum mod 4 = 1
+ n = random 1 3
+ else
+ n = 4 - (sum + 3) mod 4
+ .
+ .
+ sum += n
+ print who$[who] & ": " & n & " --> " & sum
+ until sum >= 21 or a$ = "q"
+ who = who mod 2 + 1
.
if a$ <> "q"
- print ""
- if who = 0
- print "Congratulation, you won"
- else
- print "Sorry, you lost"
- .
+ print ""
+ if who = 0
+ print "Congratulation, you won"
+ else
+ print "Sorry, you lost"
+ .
.
diff --git a/Task/21-game/GDScript/21-game.gd b/Task/21-game/GDScript/21-game.gd
index 78f190267d..009e2e3a9a 100644
--- a/Task/21-game/GDScript/21-game.gd
+++ b/Task/21-game/GDScript/21-game.gd
@@ -8,81 +8,81 @@ const target: int = 21
# -1 is returned to request quit
func get_player_choice(total: int) -> int:
- while true:
- printraw("Player's choice: ")
- var input: String = OS.read_string_from_stdin().strip_edges()
+ while true:
+ printraw("Player's choice: ")
+ var input: String = OS.read_string_from_stdin().strip_edges()
- if input == "quit":
- return -1
+ if input == "quit":
+ return -1
- if not input.is_valid_int():
- print("Please input an integer.")
- continue
+ if not input.is_valid_int():
+ print("Please input an integer.")
+ continue
- var input_int := int(input)
- if input_int < 1 or input_int > 3:
- print("Please pick a number from 1 to 3")
- continue
+ var input_int := int(input)
+ if input_int < 1 or input_int > 3:
+ print("Please pick a number from 1 to 3")
+ continue
- if input_int + total > target:
- print("Please do not exceed a total of %d" % target)
- continue
+ if input_int + total > target:
+ print("Please do not exceed a total of %d" % target)
+ continue
- return input_int
+ return input_int
- # This is required since Godot does not detect the unreachable code path
- OS.crash("unreachable")
- return 0
+ # This is required since Godot does not detect the unreachable code path
+ OS.crash("unreachable")
+ return 0
func get_computer_choice(total: int) -> int:
- # This can be shortened using max() if you do not have type checking OCD
- var remaining: int = target - total
- return randi_range(1, 3 if remaining > 3 else remaining)
+ # This can be shortened using max() if you do not have type checking OCD
+ var remaining: int = target - total
+ return randi_range(1, 3 if remaining > 3 else remaining)
func play() -> void:
- print("""\
+ print("""\
Welcome to the 21 game.
Type quit to exit.""")
- var total: int = 0
- var player: Player
- match randi_range(1, 2):
- 1:
- player = Player.Human
- print("You will go first.")
- 2:
- player = Player.Computer
- print("The computer will go first.")
+ var total: int = 0
+ var player: Player
+ match randi_range(1, 2):
+ 1:
+ player = Player.Human
+ print("You will go first.")
+ 2:
+ player = Player.Computer
+ print("The computer will go first.")
- while true:
- print("\nThe total is %d" % total)
+ while true:
+ print("\nThe total is %d" % total)
- var choice: int
- match player:
- Player.Human:
- choice = get_player_choice(total)
- if choice == -1:
- return
- Player.Computer:
- choice = get_computer_choice(total)
- print("The computer plays %d" % choice)
- assert(1 <= choice and choice <= 3)
+ var choice: int
+ match player:
+ Player.Human:
+ choice = get_player_choice(total)
+ if choice == -1:
+ return
+ Player.Computer:
+ choice = get_computer_choice(total)
+ print("The computer plays %d" % choice)
+ assert(1 <= choice and choice <= 3)
- total += choice
- if total == target:
- match player:
- Player.Human: print("You win!")
- Player.Computer: print("The computer won, you lose.")
- return
- assert(total < target)
+ total += choice
+ if total == target:
+ match player:
+ Player.Human: print("You win!")
+ Player.Computer: print("The computer won, you lose.")
+ return
+ assert(total < target)
- match player:
- Player.Human: player = Player.Computer
- Player.Computer: player = Player.Human
+ match player:
+ Player.Human: player = Player.Computer
+ Player.Computer: player = Player.Human
func _process(_delta: float) -> bool:
- randomize()
- play()
- return true
+ randomize()
+ play()
+ return true
diff --git a/Task/21-game/J/21-game.j b/Task/21-game/J/21-game.j
index 821237993a..04b5ac792e 100644
--- a/Task/21-game/J/21-game.j
+++ b/Task/21-game/J/21-game.j
@@ -1,37 +1,32 @@
-g21=: summarize@play@setup ::('g21: error termination'"_)
+g21=: summarize@play@setup ::'g21: error termination'
-NB. non-verb must be defined before use, otherwise are assumed verbs.
-Until=: 2 :'u^:(0-:v)^:_'
+Until=: {{u^:(0-:v)^:_}}
-t=: 'score turn choice'
-(t)=: i. # ;: t
-empty erase't'
-
-Fetch=: &{
-Alter=: }
+'score turn choice'=: 0 1 2
play=: move Until done
-done=: 21 <: score Fetch
-move=: [: update you`it@.(turn Fetch)
+move=: [: update you`it@.(turn&{)
+done=: 21 <: score&{
+
update=: swap@display@add
-add=: score Alter~ (score Fetch + choice Fetch)
-display=: [ ([: echo 'sum: {}' format~ score Fetch)
-swap=: turn Alter~ ([: -. turn Fetch)
+add=: score}~ score&{ + choice&{
+display=: [ 'sum: {}' echo@format~ score&{
+swap=: turn}~ [: -. turn&{
-it=: ([ [: echo 'It chose {}.' format~ choice Fetch)@(choice Alter~ cb)
-cb=: (1:`r`3:`2:)@.(4 | score Fetch) NB. computer brain
-r=: 3 :'>:?3'
+it=: ([ 'It chose {}.' echo@format~ choice&{)@(choice}~ cb)
+cb=: 1:`(>:@?@3)`3:`2:@.(4 | score&{) NB. computer brain
you=: qio1@check@acquire@prompt
-prompt=: [ ([: echo 'your choice?'"_)
-acquire=: choice Alter~ ('123' i. 0 { ' ' ,~ read)
-check=: (choice Alter~ (665 - score Fetch))@([ ([: echo 'g21: early termination'"_))^:(3 = choice Fetch)
-qio1=: choice Alter~ ([: >: choice Fetch)
+prompt=: [ echo@'your choice?'
+acquire=: choice}~'123'i.0{' ',~read
+check=: (choice}~ 665 - score&{)@([ echo@'g21: early termination')^:(3 = choice&{)
+qio1=: choice}~ ([: >: choice&{)
-setup=: ([ [: echo 'On your turn enter 1 2 or 3, other entries exit'"_)@((3 :'?2') turn Alter ])@0 0 0"_ NB. choose first player randomly
-summarize=: ' won' ,~ (];._2 'it you ') {~ turn Fetch
+setup=: ([ echo@'On your turn enter 1 2 or 3, other entries exit')@(?@2 turn} ])@0 0 0 NB. choose first player randomly
-read=: 1!:1@:1:
-write=: 1!:2 4: NB. unused
-format=: ''&$: :([: ; (a: , [: ":&.> [) ,. '{}' ([ (E. <@}.;._1 ]) ,) ])
+summarize=: ' won',~ ];._2@'it you '{~turn&{
+
+read=: 1!:1@1
+write=: 1!:2&4 NB. unused
+format=: ''&$: : ([: ; (a: , [: ":&.> [) ,. '{}' ([ (E. <@}.;._1 ]) ,) ])
diff --git a/Task/21-game/Julia/21-game.julia b/Task/21-game/Julia/21-game.jl
similarity index 100%
rename from Task/21-game/Julia/21-game.julia
rename to Task/21-game/Julia/21-game.jl
diff --git a/Task/21-game/Python/21-game-1.py b/Task/21-game/Python/21-game-1.py
index 61db2b29a5..fa4bcbcfdc 100644
--- a/Task/21-game/Python/21-game-1.py
+++ b/Task/21-game/Python/21-game-1.py
@@ -1,62 +1,62 @@
from random import randint
def start():
- game_count=0
- print("Enter q to quit at any time.\nThe computer will choose first.\nRunning total is now {}".format(game_count))
- roundno=1
- while game_count<21:
- print("\nROUND {}: \n".format(roundno))
- t = select_count(game_count)
- game_count = game_count+t
- print("Running total is now {}\n".format(game_count))
- if game_count>=21:
- print("So, commiserations, the computer has won!")
- return 0
- t = request_count()
- if not t:
- print('OK,quitting the game')
- return -1
- game_count = game_count+t
- print("Running total is now {}\n".format(game_count))
- if game_count>=21:
- print("So, congratulations, you've won!")
- return 1
- roundno+=1
+ game_count=0
+ print("Enter q to quit at any time.\nThe computer will choose first.\nRunning total is now {}".format(game_count))
+ roundno=1
+ while game_count<21:
+ print("\nROUND {}: \n".format(roundno))
+ t = select_count(game_count)
+ game_count = game_count+t
+ print("Running total is now {}\n".format(game_count))
+ if game_count>=21:
+ print("So, commiserations, the computer has won!")
+ return 0
+ t = request_count()
+ if not t:
+ print('OK,quitting the game')
+ return -1
+ game_count = game_count+t
+ print("Running total is now {}\n".format(game_count))
+ if game_count>=21:
+ print("So, congratulations, you've won!")
+ return 1
+ roundno+=1
def select_count(game_count):
- '''selects a random number if the game_count is less than 18. otherwise chooses the winning number'''
- if game_count<18:
- t= randint(1,3)
- else:
- t = 21-game_count
- print("The computer chooses {}".format(t))
- return t
+ '''selects a random number if the game_count is less than 18. otherwise chooses the winning number'''
+ if game_count<18:
+ t= randint(1,3)
+ else:
+ t = 21-game_count
+ print("The computer chooses {}".format(t))
+ return t
def request_count():
- '''request user input between 1,2 and 3. It will continue till either quit(q) or one of those numbers is requested.'''
- t=""
- while True:
- try:
- t = raw_input('Your choice 1 to 3 :')
- if int(t) in [1,2,3]:
- return int(t)
- else:
- print("Out of range, try again")
- except:
- if t=="q":
- return None
- else:
- print("Invalid Entry, try again")
+ '''request user input between 1,2 and 3. It will continue till either quit(q) or one of those numbers is requested.'''
+ t=""
+ while True:
+ try:
+ t = raw_input('Your choice 1 to 3 :')
+ if int(t) in [1,2,3]:
+ return int(t)
+ else:
+ print("Out of range, try again")
+ except:
+ if t=="q":
+ return None
+ else:
+ print("Invalid Entry, try again")
c=0
m=0
r=True
while r:
- o = start()
- if o==-1:
- break
- else:
- c+=1 if o==0 else 0
- m+=1 if o==1 else 0
- print("Computer wins {0} game, human wins {1} games".format(c,m))
- t = raw_input("Another game?(press y to continue):")
- r = (t=="y")
+ o = start()
+ if o==-1:
+ break
+ else:
+ c+=1 if o==0 else 0
+ m+=1 if o==1 else 0
+ print("Computer wins {0} game, human wins {1} games".format(c,m))
+ t = raw_input("Another game?(press y to continue):")
+ r = (t=="y")
diff --git a/Task/21-game/Rebol/21-game.rebol b/Task/21-game/Rebol/21-game.rebol
new file mode 100644
index 0000000000..03fa84803d
--- /dev/null
+++ b/Task/21-game/Rebol/21-game.rebol
@@ -0,0 +1,26 @@
+Rebol [
+ title: "Rosetta code: 21 game"
+ file: %21_game.r3
+ url: https://rosettacode.org/wiki/21_game
+]
+
+game-21: function[][
+ total: 0
+ human?: true
+ while [total <> 21][
+ either human? [
+ n: ask "Enter a number between 1 and 3 (CTRL+C to quit): "
+ if none? n [quit]
+ unless parse n [#"1" | #"2" | #"3"][ continue ]
+ n: to integer! n
+ ][ ;computer
+ if 3 < n: 21 - total [ n: random 3 ]
+ print ["Computer picks:" as-yellow n]
+ ]
+ total: total + n
+ print ["Total:" as-green total]
+ human?: not human?
+ ]
+ print as-green pick ["Computer wins!" "You win!"] human?
+]
+game-21
diff --git a/Task/21-game/Ring/21-game.ring b/Task/21-game/Ring/21-game.ring
index 51094dea5e..06bcf1934e 100644
--- a/Task/21-game/Ring/21-game.ring
+++ b/Task/21-game/Ring/21-game.ring
@@ -100,9 +100,9 @@ func choose(ch,ym)
ok
func msgBox(text) {
- m = new qMessageBox(win1) {
- setWindowTitle("21 Game")
- setText(text)
- show()
- }
+ m = new qMessageBox(win1) {
+ setWindowTitle("21 Game")
+ setText(text)
+ show()
+ }
}
diff --git a/Task/21-game/Rust/21-game.rust b/Task/21-game/Rust/21-game.rs
similarity index 100%
rename from Task/21-game/Rust/21-game.rust
rename to Task/21-game/Rust/21-game.rs
diff --git a/Task/21-game/Uiua/21-game.uiua b/Task/21-game/Uiua/21-game.uiua
new file mode 100644
index 0000000000..8f17d8a5d9
--- /dev/null
+++ b/Task/21-game/Uiua/21-game.uiua
@@ -0,0 +1,6 @@
+T ← 21
+P ← &p$"_ played: _\tTotal: _"
+Play‼ ← ⍥(&p$"_ won." ^0)⊸=T⊸P ^0 ⟜+ ^1
+Computer ← Play‼"Computer" ⍥+₁⊸=0◿4⊸˜-T # Aim for Rem mod 4 = 0
+Random ← Play‼"Random"+1⌊×3⚂ # Random play.
+◌⍢(⍥Computer⊸> {
+ @override
+ Iterator
> get iterator => _OpIterator();
+}
+
+class _OpIterator implements Iterator
> {
+ int _index = 0;
+ static const List
> orders() {
+ return [
+ [0, 1, 2, 3],
+ [0, 1, 3, 2],
+ [0, 2, 1, 3],
+ [0, 2, 3, 1],
+ [0, 3, 1, 2],
+ [0, 3, 2, 1],
+ [1, 0, 2, 3],
+ [1, 0, 3, 2],
+ [1, 2, 0, 3],
+ [1, 2, 3, 0],
+ [1, 3, 0, 2],
+ [1, 3, 2, 0],
+ [2, 0, 1, 3],
+ [2, 0, 3, 1],
+ [2, 1, 0, 3],
+ [2, 1, 3, 0],
+ [2, 3, 0, 1],
+ [2, 3, 1, 0],
+ [3, 0, 1, 2],
+ [3, 0, 2, 1],
+ [3, 1, 0, 2],
+ [3, 1, 2, 0],
+ [3, 2, 0, 1],
+ [3, 2, 1, 0]
+ ];
+}
+
+List
+7
diff --git a/Task/A+B/VBScript/a+b-1.vb b/Task/A+B/VBScript/a+b-1.vbs
similarity index 100%
rename from Task/A+B/VBScript/a+b-1.vb
rename to Task/A+B/VBScript/a+b-1.vbs
diff --git a/Task/A+B/VBScript/a+b-2.vb b/Task/A+B/VBScript/a+b-2.vbs
similarity index 100%
rename from Task/A+B/VBScript/a+b-2.vb
rename to Task/A+B/VBScript/a+b-2.vbs
diff --git a/Task/A+B/VHDL/a+b.vhdl b/Task/A+B/VHDL/a+b.vhd
similarity index 100%
rename from Task/A+B/VHDL/a+b.vhdl
rename to Task/A+B/VHDL/a+b.vhd
diff --git a/Task/A+B/X86-64-Assembly/a+b.x86-64 b/Task/A+B/X86-64-Assembly/a+b.x86-64
new file mode 100644
index 0000000000..6254ca0053
--- /dev/null
+++ b/Task/A+B/X86-64-Assembly/a+b.x86-64
@@ -0,0 +1,150 @@
+format ELF64 executable 3
+entry start
+bsize equ 24
+
+segment executable readable
+start:
+ pop rdx
+ cmp rdx, 1
+ jg .getargv0
+ mov qword[avar], 0
+ mov qword[bvar], 0
+ jmp .calculate
+ .getargv0:
+ pop rdi
+ pop rdi
+ call atoq
+ mov qword[avar], rax
+ cmp rdx, 2
+ jg .getargv1
+ mov qword[bvar], 0
+ jmp .calculate
+ .getargv1:
+ pop rdi
+ call atoq
+ mov qword[bvar], rax
+ .calculate:
+ xor rdi, rdi
+ add rdi, qword[avar]
+ add rdi, qword[bvar]
+ call printq
+ .exit0:
+ mov rax, 60
+ xor rdi, rdi
+ syscall
+
+atoq:
+ push r8
+ push r9
+ push rdi
+ push rsi
+ push rdx
+ push rcx
+ xor rcx, rcx
+ xor rax, rax
+ xor r8, r8
+ mov r9, 1
+ cmp byte[rdi], 0
+ jz .exit
+ cmp byte[rdi], '-'
+ jne .stbegin
+ mov r9, -1
+ inc rdi
+ .stbegin:
+ cmp byte[rdi], '0'
+ jl .return
+ cmp byte[rdi], '9'
+ jg .return
+ .stloop:
+ cmp byte[rdi + r8], '0'
+ jl .calc0
+ cmp byte[rdi + r8], '9'
+ jg .calc0
+ mov sil, byte[rdi + r8]
+ sub rsi, '0'
+ push rsi
+ inc r8
+ jmp .stloop
+ .calc0:
+ xor rcx, rcx
+ mov rdi, 10
+ mov rsi, 1
+ .calc1:
+ pop rax
+ mul rsi
+ add rcx, rax
+ dec r8
+ jz .return
+ mov rax, rsi
+ mul rdi
+ mov rsi, rax
+ jmp .calc1
+ .return:
+ xor rdx, rdx
+ mov rax, rcx
+ imul r9
+ .exit:
+ pop rcx
+ pop rdx
+ pop rsi
+ pop rdi
+ pop r9
+ pop r8
+ ret
+
+printq:
+ push r9
+ push rdi
+ push rsi
+ push rdx
+ mov rax, rdi
+ mov r9, bsize
+ dec r9
+ mov rsi, 10
+ sub rsp, bsize
+ sub rax, 0
+ jns .stloop
+ neg rax
+ .stloop:
+ xor rdx, rdx
+ div rsi
+ add dl, '0'
+ mov byte[rsp + r9], dl
+ sub rax, 0
+ jz .negtest
+ dec r9
+ jmp .stloop
+ .negtest:
+ sub rdi, 0
+ jns .printit
+ dec r9
+ mov byte[rsp + r9], '-'
+ .printit:
+ mov rdx, bsize
+ sub rdx, r9
+ mov rsi, rsp
+ add rsi, r9
+ mov rdi, 1
+ mov rax, 1
+ syscall
+ sub rsp, 8
+ mov byte[rsp], 0x0a
+ mov rax, 1
+ mov rdi, 1
+ mov rsi, rsp
+ mov rdx, 1
+ syscall
+ add rsp, 8
+ .restores:
+ add rsp, bsize
+ mov rax, rdx
+ pop rdx
+ pop rsi
+ pop rdi
+ pop r9
+ .return:
+ ret
+
+segment readable writable
+avar: rq 1
+bvar: rq 1
diff --git a/Task/A+B/ZED/a+b.zed b/Task/A+B/ZED/a+b.zed
index 6c28d79b86..b3605ef199 100644
--- a/Task/A+B/ZED/a+b.zed
+++ b/Task/A+B/ZED/a+b.zed
@@ -1,14 +1,14 @@
(A+B)
-comment:
+READ AND ADD
#true
(+) (read) (read)
(+) one two
-comment:
+=========
#true
(003) "+" one two
(read)
-comment:
+=========
#true
(001) "read"
diff --git a/Task/A+B/Zig/a+b.zig b/Task/A+B/Zig/a+b.zig
new file mode 100644
index 0000000000..378622f54f
--- /dev/null
+++ b/Task/A+B/Zig/a+b.zig
@@ -0,0 +1,18 @@
+const std = @import("std");
+
+pub fn main() !void {
+ var buf: [1024]u8 = undefined;
+ const reader = std.io.getStdIn().reader();
+ const stdout = std.io.getStdOut().writer();
+ try stdout.writeAll("Enter two integers separated by a space: ");
+ const input = try reader.readUntilDelimiter(&buf, '\n');
+ const text = std.mem.trimRight(u8, input, "\r\n");
+
+ var it = std.mem.tokenizeScalar(u8, text, ' ');
+
+ const a = try std.fmt.parseInt(i64, it.next().?, 10);
+ const b = try std.fmt.parseInt(i64, it.next().?, 10);
+
+
+ try stdout.print("{d}\n", .{a + b});
+}
diff --git a/Task/ABC-problem/8080-Assembly/abc-problem.8080 b/Task/ABC-problem/8080-Assembly/abc-problem.8080
index e6c7c4d5f4..1c9a496782 100644
--- a/Task/ABC-problem/8080-Assembly/abc-problem.8080
+++ b/Task/ABC-problem/8080-Assembly/abc-problem.8080
@@ -1,77 +1,77 @@
- org 100h
- jmp test
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;; Subroutine 'blocks': takes a $-terminated string in
- ;;; DE containing a word, and checks whether it can be
- ;;; written with the blocks.
- ;;; Returns: carry flag set if word is accepted.
- ;;; Uses registers: A, B, D, E, H, L
-blocks: push d ; Store string pointer
- lxi h,blockslist ; At the start, all blocks are
- lxi d,blocksavail ; available
- mvi b,40
-blocksinit: mov a,m
- stax d
- inx h
- inx d
- dcr b
- jnz blocksinit
- pop d ; Restore string pointer
-blockschar: ldax d ; Get current character
- cpi '$' ; End of string?
- stc ; Set carry flag (accept string)
- rz ; And then we're done
- ani 0DFh ; Make uppercase
- lxi h,blocksavail ; Is it available?
- mvi b,40
-blockscheck: cmp m
- jz blocksaccept ; Yes, we found it
- inx h ; Try next available char
- dcr b
- jnz blockscheck
- ana a ; Char unavailable, clear
- ret ; carry and stop.
-blocksaccept: mvi m,0 ; We've now used this char
- mov a,l ; And its blockmate
- xri 1
- mov l,a
- mvi m,0
- inx d ; Try next char in string
- jmp blockschar
- ;; Note: 'blocksavail' must not cross page boundary
-blockslist: db 'BOXKDQCPNAGTRETGQDFSJWHUVIANOBERFSLYPCZM'
-blocksavail: ds 40
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;; Test code: run the subroutine on the given words.
-test: lxi h,words
-doword: mov e,m ; Get pointer to next word
- inx h
- mov d,m
- inx h
- mov a,e ; If zero, end of word list
- ora d
- rz
- push h ; Save pointer to list
- push d ; Save pointer to word
- mvi c,9 ; Write word to console
- call 5
- pop d ; Retrieve word ponter
- call blocks ; Run the 'blocks' routine
- lxi d,yes ; Say 'yes',
- jc yesno ; if the carry is set.
- lxi d,no ; Otherwise, say 'no'.
-yesno: mvi c,9
- call 5
- pop h ; Restore list pointer
- jmp doword ; Do next word
-yes: db ': Yes',13,10,'$'
-no: db ': No',13,10,'$'
-words: dw wrda,wrdbark,wrdbook,wrdtreat,wrdcommon
- dw wrdsquad,wrdconfuse,0
-wrda: db 'A$'
-wrdbark: db 'BARK$'
-wrdbook: db 'BOOK$'
-wrdtreat: db 'TREAT$'
-wrdcommon: db 'COMMON$'
-wrdsquad: db 'SQUAD$'
-wrdconfuse: db 'CONFUSE$'
+ org 100h
+ jmp test
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+ ;;; Subroutine 'blocks': takes a $-terminated string in
+ ;;; DE containing a word, and checks whether it can be
+ ;;; written with the blocks.
+ ;;; Returns: carry flag set if word is accepted.
+ ;;; Uses registers: A, B, D, E, H, L
+blocks: push d ; Store string pointer
+ lxi h,blockslist ; At the start, all blocks are
+ lxi d,blocksavail ; available
+ mvi b,40
+blocksinit: mov a,m
+ stax d
+ inx h
+ inx d
+ dcr b
+ jnz blocksinit
+ pop d ; Restore string pointer
+blockschar: ldax d ; Get current character
+ cpi '$' ; End of string?
+ stc ; Set carry flag (accept string)
+ rz ; And then we're done
+ ani 0DFh ; Make uppercase
+ lxi h,blocksavail ; Is it available?
+ mvi b,40
+blockscheck: cmp m
+ jz blocksaccept ; Yes, we found it
+ inx h ; Try next available char
+ dcr b
+ jnz blockscheck
+ ana a ; Char unavailable, clear
+ ret ; carry and stop.
+blocksaccept: mvi m,0 ; We've now used this char
+ mov a,l ; And its blockmate
+ xri 1
+ mov l,a
+ mvi m,0
+ inx d ; Try next char in string
+ jmp blockschar
+ ;; Note: 'blocksavail' must not cross page boundary
+blockslist: db 'BOXKDQCPNAGTRETGQDFSJWHUVIANOBERFSLYPCZM'
+blocksavail: ds 40
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+ ;;; Test code: run the subroutine on the given words.
+test: lxi h,words
+doword: mov e,m ; Get pointer to next word
+ inx h
+ mov d,m
+ inx h
+ mov a,e ; If zero, end of word list
+ ora d
+ rz
+ push h ; Save pointer to list
+ push d ; Save pointer to word
+ mvi c,9 ; Write word to console
+ call 5
+ pop d ; Retrieve word ponter
+ call blocks ; Run the 'blocks' routine
+ lxi d,yes ; Say 'yes',
+ jc yesno ; if the carry is set.
+ lxi d,no ; Otherwise, say 'no'.
+yesno: mvi c,9
+ call 5
+ pop h ; Restore list pointer
+ jmp doword ; Do next word
+yes: db ': Yes',13,10,'$'
+no: db ': No',13,10,'$'
+words: dw wrda,wrdbark,wrdbook,wrdtreat,wrdcommon
+ dw wrdsquad,wrdconfuse,0
+wrda: db 'A$'
+wrdbark: db 'BARK$'
+wrdbook: db 'BOOK$'
+wrdtreat: db 'TREAT$'
+wrdcommon: db 'COMMON$'
+wrdsquad: db 'SQUAD$'
+wrdconfuse: db 'CONFUSE$'
diff --git a/Task/ABC-problem/8086-Assembly/abc-problem.8086 b/Task/ABC-problem/8086-Assembly/abc-problem.8086
index ca056dc17a..260f99738a 100644
--- a/Task/ABC-problem/8086-Assembly/abc-problem.8086
+++ b/Task/ABC-problem/8086-Assembly/abc-problem.8086
@@ -1,63 +1,63 @@
- cpu 8086
- bits 16
- org 100h
-section .text
- jmp demo
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;; Subroutine "blocks": see if the $-terminated string in DS:BX
- ;;; can be written with the blocks.
- ;;; Returns: carry flag set if word is accepted.
- ;;; Uses registers: AL, BX, CX, SI, DI
- ;;; Assumes CS=DS=ES
-blocks: mov si,.list ; Set all blocks available
- mov di,.avail
- mov cx,20
- rep movsw
-.char: mov al,[bx] ; Get current character
- inc bx
- cmp al,'$' ; Are we at the end?
- je .ok ; Then the string is accepted
- mov cx,40 ; If not, check if block is available
- mov di,.avail
- repne scasb
- test cx,cx ; This clears the carry flag
- jz .out ; If zero, block is not available
- dec di ; Zero out the block we found
- mov [di],ch ; CH is guaranteed 0 here
- xor di,1 ; Point at other character on block
- mov [di],ch ; Zero out that one too.
- jmp .char
-.ok: stc
-.out: ret
-.list: db 'BOXKDQCPNAGTRETGQDFSJWHUVIANOBERFSLYPCZM'
-.avail: db ' '
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;; Test code: run the subroutine on the given words
-demo: mov bp,words
-wrd: mov dx,[bp] ; Get word
- test dx,dx ; End of words?
- jz stop
- mov ah,9 ; Print word
- int 21h
- mov bx,dx ; Run subroutine
- call blocks
- mov dx,yes ; Print yes or no depending on carry
- jc print
- mov dx,no
-print: mov ah,9
- int 21h
- inc bp
- inc bp
- jmp wrd
-stop: ret
-section .data
-yes: db ': Yes',13,10,'$'
-no: db ': No',13,10,'$'
-words: dw .a,.bark,.book,.treat,.cmn,.squad,.confs,0
-.a: db 'A$'
-.bark: db 'BARK$'
-.book: db 'BOOK$'
-.treat: db 'TREAT$'
-.cmn: db 'COMMON$'
-.squad: db 'SQUAD$'
-.confs: db 'CONFUSE$'
+ cpu 8086
+ bits 16
+ org 100h
+section .text
+ jmp demo
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+ ;;; Subroutine "blocks": see if the $-terminated string in DS:BX
+ ;;; can be written with the blocks.
+ ;;; Returns: carry flag set if word is accepted.
+ ;;; Uses registers: AL, BX, CX, SI, DI
+ ;;; Assumes CS=DS=ES
+blocks: mov si,.list ; Set all blocks available
+ mov di,.avail
+ mov cx,20
+ rep movsw
+.char: mov al,[bx] ; Get current character
+ inc bx
+ cmp al,'$' ; Are we at the end?
+ je .ok ; Then the string is accepted
+ mov cx,40 ; If not, check if block is available
+ mov di,.avail
+ repne scasb
+ test cx,cx ; This clears the carry flag
+ jz .out ; If zero, block is not available
+ dec di ; Zero out the block we found
+ mov [di],ch ; CH is guaranteed 0 here
+ xor di,1 ; Point at other character on block
+ mov [di],ch ; Zero out that one too.
+ jmp .char
+.ok: stc
+.out: ret
+.list: db 'BOXKDQCPNAGTRETGQDFSJWHUVIANOBERFSLYPCZM'
+.avail: db ' '
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+ ;;; Test code: run the subroutine on the given words
+demo: mov bp,words
+wrd: mov dx,[bp] ; Get word
+ test dx,dx ; End of words?
+ jz stop
+ mov ah,9 ; Print word
+ int 21h
+ mov bx,dx ; Run subroutine
+ call blocks
+ mov dx,yes ; Print yes or no depending on carry
+ jc print
+ mov dx,no
+print: mov ah,9
+ int 21h
+ inc bp
+ inc bp
+ jmp wrd
+stop: ret
+section .data
+yes: db ': Yes',13,10,'$'
+no: db ': No',13,10,'$'
+words: dw .a,.bark,.book,.treat,.cmn,.squad,.confs,0
+.a: db 'A$'
+.bark: db 'BARK$'
+.book: db 'BOOK$'
+.treat: db 'TREAT$'
+.cmn: db 'COMMON$'
+.squad: db 'SQUAD$'
+.confs: db 'CONFUSE$'
diff --git a/Task/ABC-problem/8th/abc-problem.8th b/Task/ABC-problem/8th/abc-problem.8th
index f5b7f80c51..6869fcd656 100644
--- a/Task/ABC-problem/8th/abc-problem.8th
+++ b/Task/ABC-problem/8th/abc-problem.8th
@@ -171,8 +171,8 @@ var ix
' chkokpath s:each \ | path
rdrop \
success @ \ success
- if \
- break \
+ if \
+ break \
then
;
diff --git a/Task/ABC-problem/ALGOL-68/abc-problem.alg b/Task/ABC-problem/ALGOL-68/abc-problem.alg
index 524af00c33..11c3a41ade 100644
--- a/Task/ABC-problem/ALGOL-68/abc-problem.alg
+++ b/Task/ABC-problem/ALGOL-68/abc-problem.alg
@@ -1,21 +1,14 @@
+# ABC problem: #
# determine whether we can spell words with a set of blocks #
-# construct the list of blocks #
-[][]STRING blocks = ( ( "B", "O" ), ( "X", "K" ), ( "D", "Q" ), ( "C", "P" )
- , ( "N", "A" ), ( "G", "T" ), ( "R", "E" ), ( "T", "G" )
- , ( "Q", "D" ), ( "F", "S" ), ( "J", "W" ), ( "H", "U" )
- , ( "V", "I" ), ( "A", "N" ), ( "O", "B" ), ( "E", "R" )
- , ( "F", "S" ), ( "L", "Y" ), ( "P", "C" ), ( "Z", "M" )
- );
-
# Returns TRUE if we can spell the word using the blocks, FALSE otherwise #
# Returns TRUE for an empty string #
-PROC can spell = ( STRING word, [][]STRING blocks )BOOL:
+PROC can spell = ( STRING word, [][]STRING block set )BOOL:
BEGIN
# construct a set of flags to indicate whether the blocks are used #
# or not #
- [ 1 LWB blocks : 1 UPB blocks ]BOOL used;
+ [ 1 LWB block set : 1 UPB block set ]BOOL used;
FOR block pos FROM LWB used TO UPB used
DO
used[ block pos ] := FALSE
@@ -34,11 +27,11 @@ PROC can spell = ( STRING word, [][]STRING blocks )BOOL:
# look through the unused blocks for the current letter #
BOOL found := FALSE;
- FOR block pos FROM 1 LWB blocks TO 1 UPB blocks
+ FOR block pos FROM 1 LWB block set TO 1 UPB block set
WHILE NOT found
DO
- IF ( c = blocks[ block pos ][ 1 ][ 1 ]
- OR c = blocks[ block pos ][ 2 ][ 1 ]
+ IF ( c = block set[ block pos ][ 1 ][ 1 ]
+ OR c = block set[ block pos ][ 2 ][ 1 ]
)
AND NOT used[ block pos ]
THEN
@@ -56,25 +49,33 @@ PROC can spell = ( STRING word, [][]STRING blocks )BOOL:
END; # can spell #
-main: (
+# main # (
+
+ [][]STRING abc blocks # construct the list of blocks #
+ = ( ( "B", "O" ), ( "X", "K" ), ( "D", "Q" ), ( "C", "P" )
+ , ( "N", "A" ), ( "G", "T" ), ( "R", "E" ), ( "T", "G" )
+ , ( "Q", "D" ), ( "F", "S" ), ( "J", "W" ), ( "H", "U" )
+ , ( "V", "I" ), ( "A", "N" ), ( "O", "B" ), ( "E", "R" )
+ , ( "F", "S" ), ( "L", "Y" ), ( "P", "C" ), ( "Z", "M" )
+ );
# test the can spell procedure #
- PROC test can spell = ( STRING word, [][]STRING blocks )VOID:
+ PROC test can spell = ( STRING word, [][]STRING block set )VOID:
write( ( ( "can spell: """
+ word
+ """ -> "
- + IF can spell( word, blocks ) THEN "yes" ELSE "no" FI
+ + IF can spell( word, block set ) THEN "yes" ELSE "no" FI
)
, newline
)
);
- test can spell( "A", blocks );
- test can spell( "BaRK", blocks );
- test can spell( "BOOK", blocks );
- test can spell( "TREAT", blocks );
- test can spell( "COMMON", blocks );
- test can spell( "SQUAD", blocks );
- test can spell( "CONFUSE", blocks )
+ test can spell( "A", abc blocks );
+ test can spell( "BaRK", abc blocks );
+ test can spell( "BOOK", abc blocks );
+ test can spell( "TREAT", abc blocks );
+ test can spell( "COMMON", abc blocks );
+ test can spell( "SQUAD", abc blocks );
+ test can spell( "CONFUSE", abc blocks )
)
diff --git a/Task/ABC-problem/Ada/abc-problem.ada b/Task/ABC-problem/Ada/abc-problem.adb
similarity index 100%
rename from Task/ABC-problem/Ada/abc-problem.ada
rename to Task/ABC-problem/Ada/abc-problem.adb
diff --git a/Task/ABC-problem/Arturo/abc-problem.arturo b/Task/ABC-problem/Arturo/abc-problem.arturo
index 7ec68fd2ef..5365095039 100644
--- a/Task/ABC-problem/Arturo/abc-problem.arturo
+++ b/Task/ABC-problem/Arturo/abc-problem.arturo
@@ -16,8 +16,8 @@ canMakeWord?: function [wrd][
ref: new blocks
loop split wrd 'chr [
cib: charInBlock chr ref
- if? cib = ø [ return false ]
- else [ ref: remove ref .index cib ]
+ switch cib = ø [ return false ]
+ [ ref: remove ref .index cib ]
]
return true
]
diff --git a/Task/ABC-problem/AutoHotkey/abc-problem-1.ahk b/Task/ABC-problem/AutoHotkey/abc-problem-1.ahk
index 448f692c2b..d92688964d 100644
--- a/Task/ABC-problem/AutoHotkey/abc-problem-1.ahk
+++ b/Task/ABC-problem/AutoHotkey/abc-problem-1.ahk
@@ -1,24 +1,24 @@
isWordPossible(blocks, word){
- o := {}
- loop, parse, blocks, `n, `r
- o.Insert(A_LoopField)
- loop, parse, word
- if !(r := isWordPossible_contains(o, A_LoopField, word))
- return 0
- return 1
+ o := {}
+ loop, parse, blocks, `n, `r
+ o.Insert(A_LoopField)
+ loop, parse, word
+ if !(r := isWordPossible_contains(o, A_LoopField, word))
+ return 0
+ return 1
}
isWordPossible_contains(byref o, letter, word){
- loop 2 {
- for k,v in o
- if Instr(v,letter)
- {
- StringReplace, op, v,% letter
- if RegExMatch(op, "[" word "]")
- sap := k
- else added := 1 , sap := k
- if added
- return "1" o.remove(sap)
- }
- added := 1
- }
+ loop 2 {
+ for k,v in o
+ if Instr(v,letter)
+ {
+ StringReplace, op, v,% letter
+ if RegExMatch(op, "[" word "]")
+ sap := k
+ else added := 1 , sap := k
+ if added
+ return "1" o.remove(sap)
+ }
+ added := 1
+ }
}
diff --git a/Task/ABC-problem/AutoHotkey/abc-problem-2.ahk b/Task/ABC-problem/AutoHotkey/abc-problem-2.ahk
index dff93522ac..c68d69b1f4 100644
--- a/Task/ABC-problem/AutoHotkey/abc-problem-2.ahk
+++ b/Task/ABC-problem/AutoHotkey/abc-problem-2.ahk
@@ -34,5 +34,5 @@ CONFUSE
)"
loop, parse, wordlist, `n
- out .= A_LoopField " - " isWordPossible(blocks, A_LoopField) "`n"
+ out .= A_LoopField " - " isWordPossible(blocks, A_LoopField) "`n"
msgbox % out
diff --git a/Task/ABC-problem/BASIC256/abc-problem.basic b/Task/ABC-problem/BASIC256/abc-problem.basic
index e448382b74..9458ea9532 100644
--- a/Task/ABC-problem/BASIC256/abc-problem.basic
+++ b/Task/ABC-problem/BASIC256/abc-problem.basic
@@ -5,42 +5,42 @@ b = int((length(blocks$) /3) + 1)
dim blk$(b)
for i = 1 to length(makeWord$)
- wrd$ = word$(makeWord$,i,",")
- dim hit(b)
- n = 0
- if wrd$ = "" then exit for
- for k = 1 to length(wrd$)
- w$ = upper(mid(wrd$,k,1))
- for j = 1 to b
- if hit[j] = 0 then
- if w$ = left(word$(blocks$,j,","),1) or w$ = right(word$(blocks$,j,","),1) then
- hit[j] = 1
- n += 1
- exit for
- end if
- end if
- next j
- next k
- print wrd$; chr(9);
- if n = length(wrd$) then print " True" else print " False"
+ wrd$ = word$(makeWord$,i,",")
+ dim hit(b)
+ n = 0
+ if wrd$ = "" then exit for
+ for k = 1 to length(wrd$)
+ w$ = upper(mid(wrd$,k,1))
+ for j = 1 to b
+ if hit[j] = 0 then
+ if w$ = left(word$(blocks$,j,","),1) or w$ = right(word$(blocks$,j,","),1) then
+ hit[j] = 1
+ n += 1
+ exit for
+ end if
+ end if
+ next j
+ next k
+ print wrd$; chr(9);
+ if n = length(wrd$) then print " True" else print " False"
next i
end
function word$(sr$, wn, delim$)
- j = wn
- if j = 0 then j += 1
- res$ = "" : s$ = sr$ : d$ = delim$
- if d$ = "" then d$ = " "
- sd = length(d$) : sl = length(s$)
- while true
- n = instr(s$,d$) : j -= 1
- if j = 0 then
- if n = 0 then res$ = s$ else res$ = mid(s$,1,n-1)
- return res$
- end if
- if n = 0 then return res$
- if n = sl - sd then res$ = "" : return res$
- sl2 = sl-n : s$ = mid(s$,n+1,sl2) : sl = sl2
- end while
- return res$
+ j = wn
+ if j = 0 then j += 1
+ res$ = "" : s$ = sr$ : d$ = delim$
+ if d$ = "" then d$ = " "
+ sd = length(d$) : sl = length(s$)
+ while true
+ n = instr(s$,d$) : j -= 1
+ if j = 0 then
+ if n = 0 then res$ = s$ else res$ = mid(s$,1,n-1)
+ return res$
+ end if
+ if n = 0 then return res$
+ if n = sl - sd then res$ = "" : return res$
+ sl2 = sl-n : s$ = mid(s$,n+1,sl2) : sl = sl2
+ end while
+ return res$
end function
diff --git a/Task/ABC-problem/Ballerina/abc-problem.ballerina b/Task/ABC-problem/Ballerina/abc-problem.ballerina
new file mode 100644
index 0000000000..6210e2d24b
--- /dev/null
+++ b/Task/ABC-problem/Ballerina/abc-problem.ballerina
@@ -0,0 +1,32 @@
+import ballerina/io;
+
+function r(string word, string[] bl) returns boolean {
+ if word == "" { return true; }
+ int c = word[0].toBytes()[0] | 32;
+ foreach int i in 0..