diff --git a/.gitignore b/.gitignore
index d1899d9e0b..6a7c35e20c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
Cache
ToDo
+*.swp
diff --git a/Conf/.lang.yaml.swp b/Conf/.lang.yaml.swp
deleted file mode 100644
index 3230c9f12a..0000000000
Binary files a/Conf/.lang.yaml.swp and /dev/null differ
diff --git a/Conf/.task.yaml.swp b/Conf/.task.yaml.swp
deleted file mode 100644
index 222d3864db..0000000000
Binary files a/Conf/.task.yaml.swp and /dev/null differ
diff --git a/Conf/lang.yaml b/Conf/lang.yaml
index a5d9540a9d..aa700f4d97 100644
--- a/Conf/lang.yaml
+++ b/Conf/lang.yaml
@@ -62,6 +62,7 @@ AutoIt:
AWK:
Axiom:
Axum:
+
B:
Babel:
ext: pb
@@ -92,15 +93,91 @@ Burlesque:
ext: blq
C:
+C sharp:
+ ext: cs
+C Shell:
+ ext: csh
+C++:
+C++/CLI:
+ ext: cpp
+C0H:
+C1R:
+Caché ObjectScript:
+ ext: cos
+Caml:
+Cat:
+CB80:
+Cduce:
+Cecil:
+Chapel:
+Chef:
+Cilk:
+Cilk++:
+Clay:
+Clean:
+Clipper:
+Clipper/XBase++:
+CLIPS:
Clojure:
ext: clj
+CMake:
+COBOL:
+Cobra:
CoffeeScript:
ext: coffee
+ColdFusion:
+ ext: cfm
+Common Lisp:
+ ext: lisp
+Component Pascal:
+ ext: pascal
+Coq:
+Crack:
+Curry:
+
+D:
+Dao:
+Dart:
+Datalog:
+Dc:
+DCL:
+Delphi:
+Deluge:
+Diesel:
+DMS:
+Dodo0:
+DWScript:
Dylan:
+Dylan.NET:
+ ext: net
+Déjà Vu:
+ ext: djv
+
+E:
+EC:
+Efene:
+EGL:
Eiffel:
ext: e
+Ela:
+Elan:
+ElastiC:
+Elena:
+Elisa:
+Elixir:
+ELLA:
+Emacs Lisp:
+ ext: l
+Epigram:
Erlang:
ext: erl
+Es:
+ESQL:
+Euler:
+Euler Math Toolbox:
+Euphoria:
+Excel:
+
Forth:
ext: fth
Fortran:
diff --git a/Conf/task.yaml b/Conf/task.yaml
index aa5527aeb8..d5921041e6 100644
--- a/Conf/task.yaml
+++ b/Conf/task.yaml
@@ -68,34 +68,124 @@ Break OO privacy:
Bulls and cows:
Bulls and cows/Player:
-
-# Balanced brackets:
-# Balanced ternary:
-# Best shuffle:
-# # Binary digits:
-# Binary search:
-# Binary strings:
-# Bulls and cows:
Caesar cipher:
Calendar:
+Calendar - for "real" programmers:
+Call a foreign-language function:
+Call a function:
+Call a function in a shared library:
+Call an object method:
+Canny edge detector:
+Carmichael 3 strong pseudoprimes:
+Case-sensitivity of identifiers:
# Catalan numbers:
+Catmull–Clark subdivision surface:
+Character codes:
+Character matching:
+Chat server:
+Check Machin-like formulas:
Check that file exists:
Checkpoint synchronization:
-# Cholesky decomposition:
+Cholesky decomposition:
Classes:
Closest-pair problem:
Collections:
Color of a screen pixel:
+Color quantization:
+Colour bars/Display:
+Colour pinstripe/Display:
+Colour pinstripe/Printer:
+Combinations:
+Combinations with repetitions:
+Command-line arguments:
Comments:
+Compare sorting algorithms' performance: #'
+Compile-time calculation:
+Compound data type:
+Concurrent computing:
+Conditional structures:
+Constrained genericity:
+Constrained random points on a circle:
+Continued fraction:
+Continued fraction/Arithmetic/Construct from rational number:
+Continued fraction/Arithmetic/G(matrix NG, Contined Fraction N):
+Continued fraction/Arithmetic/G(matrix NG, Contined Fraction N1, Contined Fraction N2):
+Conway's Game of Life: #'
+# Copy a string:
+Count in factors:
+Count in octal:
+Count occurrences of a substring:
+Count the coins:
+CRC-32:
+Create a file:
+Create a file on magnetic tape:
+Create a two-dimensional array at runtime:
+Create an HTML table:
+Create an object at a given address:
+CSV to HTML translation:
+Cut a rectangle:
+
+Date format:
+Date manipulation:
+Day of the week:
+Deal cards for FreeCell:
Death Star:
-# Deepcopy:
+Deconvolution/1D:
+Deconvolution/2D+:
+Deepcopy:
Define a primitive data type:
Delegates:
Delete a file:
Detect division by zero:
Determine if a string is numeric:
+Determine if only one instance is running:
+Digital root:
+Dinesman's multiple-dwelling problem: #'
+Dining philosophers:
+Discordian date:
+Distributed programming:
+DNS query:
+Documentation:
+Dot product:
+Doubly-linked list/Definition:
+Doubly-linked list/Element definition:
+Doubly-linked list/Element insertion:
+Doubly-linked list/Traversal:
+# Dragon curve:
+Draw a cuboid:
+Draw a sphere:
+Dutch national flag problem:
+Dynamic variable names:
+
+Echo server:
+Element-wise operations:
+Empty directory:
+Empty program:
+Empty string:
+Enforced immutability:
Entropy:
+Enumerations:
+# Environment variables:
+Equilibrium index:
+Ethiopian multiplication:
+Euler method:
+Evaluate binomial coefficients:
+Even or odd:
+Events:
+Evolutionary algorithm:
+Exceptions:
+Exceptions/Catch an exception thrown in a nested call:
+Executable library:
+# Execute a Markov algorithm:
+Execute a system command:
+# Execute Brain****:
+Execute HQ9+:
# Execute SNUSP:
+Exponentiation operator:
+Extend your language:
+Extreme floating point values:
+
+
FizzBuzz:
Forest fire:
Go Fish:
diff --git a/Lang/0815/Count-in-octal b/Lang/0815/Count-in-octal
new file mode 120000
index 0000000000..d0eb875b62
--- /dev/null
+++ b/Lang/0815/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/0815
\ No newline at end of file
diff --git a/Lang/0815/Even-or-odd b/Lang/0815/Even-or-odd
new file mode 120000
index 0000000000..c5660bb4ca
--- /dev/null
+++ b/Lang/0815/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/0815
\ No newline at end of file
diff --git a/Lang/4DOS-Batch/Create-a-file b/Lang/4DOS-Batch/Create-a-file
new file mode 120000
index 0000000000..5dd056918d
--- /dev/null
+++ b/Lang/4DOS-Batch/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/4DOS-Batch
\ No newline at end of file
diff --git a/Lang/6502-Assembly/Conditional-structures b/Lang/6502-Assembly/Conditional-structures
new file mode 120000
index 0000000000..1a71df6e53
--- /dev/null
+++ b/Lang/6502-Assembly/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/6502-Assembly
\ No newline at end of file
diff --git a/Lang/6502-Assembly/Conways-Game-of-Life b/Lang/6502-Assembly/Conways-Game-of-Life
new file mode 120000
index 0000000000..8bfdd187d2
--- /dev/null
+++ b/Lang/6502-Assembly/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/6502-Assembly
\ No newline at end of file
diff --git a/Lang/6502-Assembly/Create-an-object-at-a-given-address b/Lang/6502-Assembly/Create-an-object-at-a-given-address
new file mode 120000
index 0000000000..b5fa9d59ce
--- /dev/null
+++ b/Lang/6502-Assembly/Create-an-object-at-a-given-address
@@ -0,0 +1 @@
+../../Task/Create-an-object-at-a-given-address/6502-Assembly
\ No newline at end of file
diff --git a/Lang/ABAP/Character-codes b/Lang/ABAP/Character-codes
new file mode 120000
index 0000000000..02b9dc2808
--- /dev/null
+++ b/Lang/ABAP/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/ABAP
\ No newline at end of file
diff --git a/Lang/ABAP/Date-format b/Lang/ABAP/Date-format
new file mode 120000
index 0000000000..ff7cc9cf16
--- /dev/null
+++ b/Lang/ABAP/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/ABAP
\ No newline at end of file
diff --git a/Lang/ABAP/Day-of-the-week b/Lang/ABAP/Day-of-the-week
new file mode 120000
index 0000000000..54d531bfb3
--- /dev/null
+++ b/Lang/ABAP/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/ABAP
\ No newline at end of file
diff --git a/Lang/ABAP/Dot-product b/Lang/ABAP/Dot-product
new file mode 120000
index 0000000000..e69c89da90
--- /dev/null
+++ b/Lang/ABAP/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/ABAP
\ No newline at end of file
diff --git a/Lang/ACL2/Character-codes b/Lang/ACL2/Character-codes
new file mode 120000
index 0000000000..107b466d88
--- /dev/null
+++ b/Lang/ACL2/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/ACL2
\ No newline at end of file
diff --git a/Lang/ACL2/Compound-data-type b/Lang/ACL2/Compound-data-type
new file mode 120000
index 0000000000..3825097232
--- /dev/null
+++ b/Lang/ACL2/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/ACL2
\ No newline at end of file
diff --git a/Lang/ACL2/Conways-Game-of-Life b/Lang/ACL2/Conways-Game-of-Life
new file mode 120000
index 0000000000..d2cd04f2dd
--- /dev/null
+++ b/Lang/ACL2/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/ACL2
\ No newline at end of file
diff --git a/Lang/ACL2/Dot-product b/Lang/ACL2/Dot-product
new file mode 120000
index 0000000000..445875e18f
--- /dev/null
+++ b/Lang/ACL2/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/ACL2
\ No newline at end of file
diff --git a/Lang/ACL2/Empty-string b/Lang/ACL2/Empty-string
new file mode 120000
index 0000000000..b6d4f60a44
--- /dev/null
+++ b/Lang/ACL2/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/ACL2
\ No newline at end of file
diff --git a/Lang/ACL2/Enforced-immutability b/Lang/ACL2/Enforced-immutability
new file mode 120000
index 0000000000..4d3b22a1d3
--- /dev/null
+++ b/Lang/ACL2/Enforced-immutability
@@ -0,0 +1 @@
+../../Task/Enforced-immutability/ACL2
\ No newline at end of file
diff --git a/Lang/ACL2/Enumerations b/Lang/ACL2/Enumerations
new file mode 120000
index 0000000000..d6dd358b1d
--- /dev/null
+++ b/Lang/ACL2/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/ACL2
\ No newline at end of file
diff --git a/Lang/ACL2/Ethiopian-multiplication b/Lang/ACL2/Ethiopian-multiplication
new file mode 120000
index 0000000000..d651e91ce0
--- /dev/null
+++ b/Lang/ACL2/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/ACL2
\ No newline at end of file
diff --git a/Lang/ACL2/Evaluate-binomial-coefficients b/Lang/ACL2/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..812ced43b4
--- /dev/null
+++ b/Lang/ACL2/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/ACL2
\ No newline at end of file
diff --git a/Lang/ALGOL-68/CSV-to-HTML-translation b/Lang/ALGOL-68/CSV-to-HTML-translation
new file mode 120000
index 0000000000..3411ae0f3c
--- /dev/null
+++ b/Lang/ALGOL-68/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Calendar-for-real-programmers b/Lang/ALGOL-68/Calendar-for-real-programmers
new file mode 120000
index 0000000000..4cf5bc4e24
--- /dev/null
+++ b/Lang/ALGOL-68/Calendar-for-real-programmers
@@ -0,0 +1 @@
+../../Task/Calendar-for-real-programmers/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Character-codes b/Lang/ALGOL-68/Character-codes
new file mode 120000
index 0000000000..72d0e543aa
--- /dev/null
+++ b/Lang/ALGOL-68/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Character-matching b/Lang/ALGOL-68/Character-matching
new file mode 120000
index 0000000000..1e794d2bb2
--- /dev/null
+++ b/Lang/ALGOL-68/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Cholesky-decomposition b/Lang/ALGOL-68/Cholesky-decomposition
new file mode 120000
index 0000000000..e6cd8b9432
--- /dev/null
+++ b/Lang/ALGOL-68/Cholesky-decomposition
@@ -0,0 +1 @@
+../../Task/Cholesky-decomposition/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Combinations b/Lang/ALGOL-68/Combinations
new file mode 120000
index 0000000000..079bc23312
--- /dev/null
+++ b/Lang/ALGOL-68/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Command-line-arguments b/Lang/ALGOL-68/Command-line-arguments
new file mode 120000
index 0000000000..3d94103bd5
--- /dev/null
+++ b/Lang/ALGOL-68/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Compound-data-type b/Lang/ALGOL-68/Compound-data-type
new file mode 120000
index 0000000000..8e6950164e
--- /dev/null
+++ b/Lang/ALGOL-68/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Concurrent-computing b/Lang/ALGOL-68/Concurrent-computing
new file mode 120000
index 0000000000..409daf3037
--- /dev/null
+++ b/Lang/ALGOL-68/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Constrained-random-points-on-a-circle b/Lang/ALGOL-68/Constrained-random-points-on-a-circle
new file mode 120000
index 0000000000..21209470ad
--- /dev/null
+++ b/Lang/ALGOL-68/Constrained-random-points-on-a-circle
@@ -0,0 +1 @@
+../../Task/Constrained-random-points-on-a-circle/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Count-in-octal b/Lang/ALGOL-68/Count-in-octal
new file mode 120000
index 0000000000..422e026303
--- /dev/null
+++ b/Lang/ALGOL-68/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Count-occurrences-of-a-substring b/Lang/ALGOL-68/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..e748c7baad
--- /dev/null
+++ b/Lang/ALGOL-68/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Create-a-file b/Lang/ALGOL-68/Create-a-file
new file mode 120000
index 0000000000..71b3f26dc8
--- /dev/null
+++ b/Lang/ALGOL-68/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Create-a-two-dimensional-array-at-runtime b/Lang/ALGOL-68/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..651a9f0a8c
--- /dev/null
+++ b/Lang/ALGOL-68/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Date-format b/Lang/ALGOL-68/Date-format
new file mode 120000
index 0000000000..e15f210291
--- /dev/null
+++ b/Lang/ALGOL-68/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Day-of-the-week b/Lang/ALGOL-68/Day-of-the-week
new file mode 120000
index 0000000000..3fb123e57c
--- /dev/null
+++ b/Lang/ALGOL-68/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Dot-product b/Lang/ALGOL-68/Dot-product
new file mode 120000
index 0000000000..8a8bdfb5b0
--- /dev/null
+++ b/Lang/ALGOL-68/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Doubly-linked-list-Definition b/Lang/ALGOL-68/Doubly-linked-list-Definition
new file mode 120000
index 0000000000..422569f719
--- /dev/null
+++ b/Lang/ALGOL-68/Doubly-linked-list-Definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Definition/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Doubly-linked-list-Element-definition b/Lang/ALGOL-68/Doubly-linked-list-Element-definition
new file mode 120000
index 0000000000..48e2049cee
--- /dev/null
+++ b/Lang/ALGOL-68/Doubly-linked-list-Element-definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-definition/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Doubly-linked-list-Element-insertion b/Lang/ALGOL-68/Doubly-linked-list-Element-insertion
new file mode 120000
index 0000000000..02ce2a80ca
--- /dev/null
+++ b/Lang/ALGOL-68/Doubly-linked-list-Element-insertion
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-insertion/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Element-wise-operations b/Lang/ALGOL-68/Element-wise-operations
new file mode 120000
index 0000000000..859984ccf1
--- /dev/null
+++ b/Lang/ALGOL-68/Element-wise-operations
@@ -0,0 +1 @@
+../../Task/Element-wise-operations/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Empty-program b/Lang/ALGOL-68/Empty-program
new file mode 120000
index 0000000000..7f0e92d731
--- /dev/null
+++ b/Lang/ALGOL-68/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Enforced-immutability b/Lang/ALGOL-68/Enforced-immutability
new file mode 120000
index 0000000000..51a1560fe6
--- /dev/null
+++ b/Lang/ALGOL-68/Enforced-immutability
@@ -0,0 +1 @@
+../../Task/Enforced-immutability/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Enumerations b/Lang/ALGOL-68/Enumerations
new file mode 120000
index 0000000000..48182e4efc
--- /dev/null
+++ b/Lang/ALGOL-68/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Equilibrium-index b/Lang/ALGOL-68/Equilibrium-index
new file mode 120000
index 0000000000..6be1465e7f
--- /dev/null
+++ b/Lang/ALGOL-68/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Ethiopian-multiplication b/Lang/ALGOL-68/Ethiopian-multiplication
new file mode 120000
index 0000000000..47314da31e
--- /dev/null
+++ b/Lang/ALGOL-68/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Euler-method b/Lang/ALGOL-68/Euler-method
new file mode 120000
index 0000000000..0c9945a567
--- /dev/null
+++ b/Lang/ALGOL-68/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Evaluate-binomial-coefficients b/Lang/ALGOL-68/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..033842621e
--- /dev/null
+++ b/Lang/ALGOL-68/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Evolutionary-algorithm b/Lang/ALGOL-68/Evolutionary-algorithm
new file mode 120000
index 0000000000..0c6177d42c
--- /dev/null
+++ b/Lang/ALGOL-68/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Exceptions b/Lang/ALGOL-68/Exceptions
new file mode 120000
index 0000000000..edd573a250
--- /dev/null
+++ b/Lang/ALGOL-68/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/ALGOL-68/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..0c29d4c18a
--- /dev/null
+++ b/Lang/ALGOL-68/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Execute-a-system-command b/Lang/ALGOL-68/Execute-a-system-command
new file mode 120000
index 0000000000..7c96334361
--- /dev/null
+++ b/Lang/ALGOL-68/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Exponentiation-operator b/Lang/ALGOL-68/Exponentiation-operator
new file mode 120000
index 0000000000..c1900e7b92
--- /dev/null
+++ b/Lang/ALGOL-68/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/ALGOL-68
\ No newline at end of file
diff --git a/Lang/APL/Create-a-file b/Lang/APL/Create-a-file
new file mode 120000
index 0000000000..5c5f69f16e
--- /dev/null
+++ b/Lang/APL/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/APL
\ No newline at end of file
diff --git a/Lang/APL/Create-a-two-dimensional-array-at-runtime b/Lang/APL/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..242308ae62
--- /dev/null
+++ b/Lang/APL/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/APL
\ No newline at end of file
diff --git a/Lang/ATS/Continued-fraction b/Lang/ATS/Continued-fraction
new file mode 120000
index 0000000000..fcfa92b91b
--- /dev/null
+++ b/Lang/ATS/Continued-fraction
@@ -0,0 +1 @@
+../../Task/Continued-fraction/ATS
\ No newline at end of file
diff --git a/Lang/AWK/CSV-to-HTML-translation b/Lang/AWK/CSV-to-HTML-translation
new file mode 120000
index 0000000000..b8f2ca5ae5
--- /dev/null
+++ b/Lang/AWK/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Call-a-function b/Lang/AWK/Call-a-function
new file mode 120000
index 0000000000..4886bc6d21
--- /dev/null
+++ b/Lang/AWK/Call-a-function
@@ -0,0 +1 @@
+../../Task/Call-a-function/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Case-sensitivity-of-identifiers b/Lang/AWK/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..d1b6c9ac8e
--- /dev/null
+++ b/Lang/AWK/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Character-codes b/Lang/AWK/Character-codes
new file mode 120000
index 0000000000..0c621a42cc
--- /dev/null
+++ b/Lang/AWK/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Combinations b/Lang/AWK/Combinations
new file mode 120000
index 0000000000..f770c2f22e
--- /dev/null
+++ b/Lang/AWK/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Command-line-arguments b/Lang/AWK/Command-line-arguments
new file mode 120000
index 0000000000..ca252c52aa
--- /dev/null
+++ b/Lang/AWK/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Compound-data-type b/Lang/AWK/Compound-data-type
new file mode 120000
index 0000000000..0ef332f866
--- /dev/null
+++ b/Lang/AWK/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Conditional-structures b/Lang/AWK/Conditional-structures
new file mode 120000
index 0000000000..448bfd4c40
--- /dev/null
+++ b/Lang/AWK/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Conways-Game-of-Life b/Lang/AWK/Conways-Game-of-Life
new file mode 120000
index 0000000000..0122637efd
--- /dev/null
+++ b/Lang/AWK/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Count-in-octal b/Lang/AWK/Count-in-octal
new file mode 120000
index 0000000000..347da640ac
--- /dev/null
+++ b/Lang/AWK/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Count-occurrences-of-a-substring b/Lang/AWK/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..6037edf1b9
--- /dev/null
+++ b/Lang/AWK/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Count-the-coins b/Lang/AWK/Count-the-coins
new file mode 120000
index 0000000000..8d8e0be6ec
--- /dev/null
+++ b/Lang/AWK/Count-the-coins
@@ -0,0 +1 @@
+../../Task/Count-the-coins/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Create-a-file b/Lang/AWK/Create-a-file
new file mode 120000
index 0000000000..46aaa6d222
--- /dev/null
+++ b/Lang/AWK/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Create-a-two-dimensional-array-at-runtime b/Lang/AWK/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..4f4e4da5ef
--- /dev/null
+++ b/Lang/AWK/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Create-an-HTML-table b/Lang/AWK/Create-an-HTML-table
new file mode 120000
index 0000000000..ba14a3375a
--- /dev/null
+++ b/Lang/AWK/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Date-format b/Lang/AWK/Date-format
new file mode 120000
index 0000000000..ff66f5cbca
--- /dev/null
+++ b/Lang/AWK/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Day-of-the-week b/Lang/AWK/Day-of-the-week
new file mode 120000
index 0000000000..7efa6334dc
--- /dev/null
+++ b/Lang/AWK/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Discordian-date b/Lang/AWK/Discordian-date
new file mode 120000
index 0000000000..bbf64034a9
--- /dev/null
+++ b/Lang/AWK/Discordian-date
@@ -0,0 +1 @@
+../../Task/Discordian-date/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Empty-program b/Lang/AWK/Empty-program
new file mode 120000
index 0000000000..16d27f6df2
--- /dev/null
+++ b/Lang/AWK/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Empty-string b/Lang/AWK/Empty-string
new file mode 120000
index 0000000000..21b2f07f1f
--- /dev/null
+++ b/Lang/AWK/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Enumerations b/Lang/AWK/Enumerations
new file mode 120000
index 0000000000..da8699fcbb
--- /dev/null
+++ b/Lang/AWK/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Ethiopian-multiplication b/Lang/AWK/Ethiopian-multiplication
new file mode 120000
index 0000000000..83ebd7b124
--- /dev/null
+++ b/Lang/AWK/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Even-or-odd b/Lang/AWK/Even-or-odd
new file mode 120000
index 0000000000..c99e60e7bb
--- /dev/null
+++ b/Lang/AWK/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Execute-a-system-command b/Lang/AWK/Execute-a-system-command
new file mode 120000
index 0000000000..c087f8cb77
--- /dev/null
+++ b/Lang/AWK/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Exponentiation-operator b/Lang/AWK/Exponentiation-operator
new file mode 120000
index 0000000000..21ad7a134e
--- /dev/null
+++ b/Lang/AWK/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Extreme-floating-point-values b/Lang/AWK/Extreme-floating-point-values
new file mode 120000
index 0000000000..f32acae1a4
--- /dev/null
+++ b/Lang/AWK/Extreme-floating-point-values
@@ -0,0 +1 @@
+../../Task/Extreme-floating-point-values/AWK
\ No newline at end of file
diff --git a/Lang/ActionScript/Call-a-function b/Lang/ActionScript/Call-a-function
new file mode 120000
index 0000000000..4cfa91713f
--- /dev/null
+++ b/Lang/ActionScript/Call-a-function
@@ -0,0 +1 @@
+../../Task/Call-a-function/ActionScript
\ No newline at end of file
diff --git a/Lang/ActionScript/Call-an-object-method b/Lang/ActionScript/Call-an-object-method
new file mode 120000
index 0000000000..47fc5dbfbb
--- /dev/null
+++ b/Lang/ActionScript/Call-an-object-method
@@ -0,0 +1 @@
+../../Task/Call-an-object-method/ActionScript
\ No newline at end of file
diff --git a/Lang/ActionScript/Character-codes b/Lang/ActionScript/Character-codes
new file mode 120000
index 0000000000..3fd17f5338
--- /dev/null
+++ b/Lang/ActionScript/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/ActionScript
\ No newline at end of file
diff --git a/Lang/ActionScript/Compound-data-type b/Lang/ActionScript/Compound-data-type
new file mode 120000
index 0000000000..3b8bc49b7e
--- /dev/null
+++ b/Lang/ActionScript/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/ActionScript
\ No newline at end of file
diff --git a/Lang/ActionScript/Dot-product b/Lang/ActionScript/Dot-product
new file mode 120000
index 0000000000..09782b9888
--- /dev/null
+++ b/Lang/ActionScript/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/ActionScript
\ No newline at end of file
diff --git a/Lang/ActionScript/Ethiopian-multiplication b/Lang/ActionScript/Ethiopian-multiplication
new file mode 120000
index 0000000000..e5e13f3f4d
--- /dev/null
+++ b/Lang/ActionScript/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/ActionScript
\ No newline at end of file
diff --git a/Lang/Ada/CRC-32 b/Lang/Ada/CRC-32
new file mode 120000
index 0000000000..70fdd69678
--- /dev/null
+++ b/Lang/Ada/CRC-32
@@ -0,0 +1 @@
+../../Task/CRC-32/Ada
\ No newline at end of file
diff --git a/Lang/Ada/CSV-to-HTML-translation b/Lang/Ada/CSV-to-HTML-translation
new file mode 120000
index 0000000000..554e126620
--- /dev/null
+++ b/Lang/Ada/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Calendar-for-real-programmers b/Lang/Ada/Calendar-for-real-programmers
new file mode 120000
index 0000000000..b080290260
--- /dev/null
+++ b/Lang/Ada/Calendar-for-real-programmers
@@ -0,0 +1 @@
+../../Task/Calendar-for-real-programmers/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Call-a-foreign-language-function b/Lang/Ada/Call-a-foreign-language-function
new file mode 120000
index 0000000000..8523881152
--- /dev/null
+++ b/Lang/Ada/Call-a-foreign-language-function
@@ -0,0 +1 @@
+../../Task/Call-a-foreign-language-function/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Call-a-function b/Lang/Ada/Call-a-function
new file mode 120000
index 0000000000..43c5399f5a
--- /dev/null
+++ b/Lang/Ada/Call-a-function
@@ -0,0 +1 @@
+../../Task/Call-a-function/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Call-a-function-in-a-shared-library b/Lang/Ada/Call-a-function-in-a-shared-library
new file mode 120000
index 0000000000..c8f3f65298
--- /dev/null
+++ b/Lang/Ada/Call-a-function-in-a-shared-library
@@ -0,0 +1 @@
+../../Task/Call-a-function-in-a-shared-library/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Carmichael-3-strong-pseudoprimes b/Lang/Ada/Carmichael-3-strong-pseudoprimes
new file mode 120000
index 0000000000..58f909d0d2
--- /dev/null
+++ b/Lang/Ada/Carmichael-3-strong-pseudoprimes
@@ -0,0 +1 @@
+../../Task/Carmichael-3-strong-pseudoprimes/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Case-sensitivity-of-identifiers b/Lang/Ada/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..56f526d925
--- /dev/null
+++ b/Lang/Ada/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Character-codes b/Lang/Ada/Character-codes
new file mode 120000
index 0000000000..571077713f
--- /dev/null
+++ b/Lang/Ada/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Character-matching b/Lang/Ada/Character-matching
new file mode 120000
index 0000000000..e7b13e9087
--- /dev/null
+++ b/Lang/Ada/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Chat-server b/Lang/Ada/Chat-server
new file mode 120000
index 0000000000..fe784d5710
--- /dev/null
+++ b/Lang/Ada/Chat-server
@@ -0,0 +1 @@
+../../Task/Chat-server/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Cholesky-decomposition b/Lang/Ada/Cholesky-decomposition
new file mode 120000
index 0000000000..d1462d5ce0
--- /dev/null
+++ b/Lang/Ada/Cholesky-decomposition
@@ -0,0 +1 @@
+../../Task/Cholesky-decomposition/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Combinations b/Lang/Ada/Combinations
new file mode 120000
index 0000000000..e2a9f1812d
--- /dev/null
+++ b/Lang/Ada/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Combinations-with-repetitions b/Lang/Ada/Combinations-with-repetitions
new file mode 120000
index 0000000000..05d7e56157
--- /dev/null
+++ b/Lang/Ada/Combinations-with-repetitions
@@ -0,0 +1 @@
+../../Task/Combinations-with-repetitions/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Command-line-arguments b/Lang/Ada/Command-line-arguments
new file mode 120000
index 0000000000..45f58f9c2f
--- /dev/null
+++ b/Lang/Ada/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Compile-time-calculation b/Lang/Ada/Compile-time-calculation
new file mode 120000
index 0000000000..b449f52fa6
--- /dev/null
+++ b/Lang/Ada/Compile-time-calculation
@@ -0,0 +1 @@
+../../Task/Compile-time-calculation/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Compound-data-type b/Lang/Ada/Compound-data-type
new file mode 120000
index 0000000000..440b5feac6
--- /dev/null
+++ b/Lang/Ada/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Concurrent-computing b/Lang/Ada/Concurrent-computing
new file mode 120000
index 0000000000..54661ba2ec
--- /dev/null
+++ b/Lang/Ada/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Conditional-structures b/Lang/Ada/Conditional-structures
new file mode 120000
index 0000000000..2d8c73c2f3
--- /dev/null
+++ b/Lang/Ada/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Constrained-genericity b/Lang/Ada/Constrained-genericity
new file mode 120000
index 0000000000..242b55418c
--- /dev/null
+++ b/Lang/Ada/Constrained-genericity
@@ -0,0 +1 @@
+../../Task/Constrained-genericity/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Constrained-random-points-on-a-circle b/Lang/Ada/Constrained-random-points-on-a-circle
new file mode 120000
index 0000000000..82ac0b2afd
--- /dev/null
+++ b/Lang/Ada/Constrained-random-points-on-a-circle
@@ -0,0 +1 @@
+../../Task/Constrained-random-points-on-a-circle/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Continued-fraction b/Lang/Ada/Continued-fraction
new file mode 120000
index 0000000000..38ee403f00
--- /dev/null
+++ b/Lang/Ada/Continued-fraction
@@ -0,0 +1 @@
+../../Task/Continued-fraction/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Conways-Game-of-Life b/Lang/Ada/Conways-Game-of-Life
new file mode 120000
index 0000000000..058a03690b
--- /dev/null
+++ b/Lang/Ada/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Count-in-factors b/Lang/Ada/Count-in-factors
new file mode 120000
index 0000000000..407ce82cce
--- /dev/null
+++ b/Lang/Ada/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Count-in-octal b/Lang/Ada/Count-in-octal
new file mode 120000
index 0000000000..1a601ae03d
--- /dev/null
+++ b/Lang/Ada/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Count-occurrences-of-a-substring b/Lang/Ada/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..799a1821b9
--- /dev/null
+++ b/Lang/Ada/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Count-the-coins b/Lang/Ada/Count-the-coins
new file mode 120000
index 0000000000..a8ce3a220d
--- /dev/null
+++ b/Lang/Ada/Count-the-coins
@@ -0,0 +1 @@
+../../Task/Count-the-coins/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Create-a-file b/Lang/Ada/Create-a-file
new file mode 120000
index 0000000000..c1cd74dab5
--- /dev/null
+++ b/Lang/Ada/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Create-a-two-dimensional-array-at-runtime b/Lang/Ada/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..eac810423c
--- /dev/null
+++ b/Lang/Ada/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Create-an-HTML-table b/Lang/Ada/Create-an-HTML-table
new file mode 120000
index 0000000000..73546dcefb
--- /dev/null
+++ b/Lang/Ada/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Create-an-object-at-a-given-address b/Lang/Ada/Create-an-object-at-a-given-address
new file mode 120000
index 0000000000..7799199e7e
--- /dev/null
+++ b/Lang/Ada/Create-an-object-at-a-given-address
@@ -0,0 +1 @@
+../../Task/Create-an-object-at-a-given-address/Ada
\ No newline at end of file
diff --git a/Lang/Ada/DNS-query b/Lang/Ada/DNS-query
new file mode 120000
index 0000000000..6c7a423f76
--- /dev/null
+++ b/Lang/Ada/DNS-query
@@ -0,0 +1 @@
+../../Task/DNS-query/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Date-format b/Lang/Ada/Date-format
new file mode 120000
index 0000000000..0ae8d4d708
--- /dev/null
+++ b/Lang/Ada/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Date-manipulation b/Lang/Ada/Date-manipulation
new file mode 120000
index 0000000000..4fe2ccef3a
--- /dev/null
+++ b/Lang/Ada/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Day-of-the-week b/Lang/Ada/Day-of-the-week
new file mode 120000
index 0000000000..4d9ce1a2c8
--- /dev/null
+++ b/Lang/Ada/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Deal-cards-for-FreeCell b/Lang/Ada/Deal-cards-for-FreeCell
new file mode 120000
index 0000000000..1dd9f1dc3a
--- /dev/null
+++ b/Lang/Ada/Deal-cards-for-FreeCell
@@ -0,0 +1 @@
+../../Task/Deal-cards-for-FreeCell/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Determine-if-only-one-instance-is-running b/Lang/Ada/Determine-if-only-one-instance-is-running
new file mode 120000
index 0000000000..5dda3f1d06
--- /dev/null
+++ b/Lang/Ada/Determine-if-only-one-instance-is-running
@@ -0,0 +1 @@
+../../Task/Determine-if-only-one-instance-is-running/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Digital-root b/Lang/Ada/Digital-root
new file mode 120000
index 0000000000..1e5f04f987
--- /dev/null
+++ b/Lang/Ada/Digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Dinesmans-multiple-dwelling-problem b/Lang/Ada/Dinesmans-multiple-dwelling-problem
new file mode 120000
index 0000000000..c9d0323ef7
--- /dev/null
+++ b/Lang/Ada/Dinesmans-multiple-dwelling-problem
@@ -0,0 +1 @@
+../../Task/Dinesmans-multiple-dwelling-problem/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Dining-philosophers b/Lang/Ada/Dining-philosophers
new file mode 120000
index 0000000000..5dd511417c
--- /dev/null
+++ b/Lang/Ada/Dining-philosophers
@@ -0,0 +1 @@
+../../Task/Dining-philosophers/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Discordian-date b/Lang/Ada/Discordian-date
new file mode 120000
index 0000000000..647955fbf8
--- /dev/null
+++ b/Lang/Ada/Discordian-date
@@ -0,0 +1 @@
+../../Task/Discordian-date/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Distributed-programming b/Lang/Ada/Distributed-programming
new file mode 120000
index 0000000000..8b5ab2c8c8
--- /dev/null
+++ b/Lang/Ada/Distributed-programming
@@ -0,0 +1 @@
+../../Task/Distributed-programming/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Documentation b/Lang/Ada/Documentation
new file mode 120000
index 0000000000..d4085fa287
--- /dev/null
+++ b/Lang/Ada/Documentation
@@ -0,0 +1 @@
+../../Task/Documentation/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Dot-product b/Lang/Ada/Dot-product
new file mode 120000
index 0000000000..8a33971c08
--- /dev/null
+++ b/Lang/Ada/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Doubly-linked-list-Element-definition b/Lang/Ada/Doubly-linked-list-Element-definition
new file mode 120000
index 0000000000..bc75fbb351
--- /dev/null
+++ b/Lang/Ada/Doubly-linked-list-Element-definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-definition/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Doubly-linked-list-Element-insertion b/Lang/Ada/Doubly-linked-list-Element-insertion
new file mode 120000
index 0000000000..390446719c
--- /dev/null
+++ b/Lang/Ada/Doubly-linked-list-Element-insertion
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-insertion/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Doubly-linked-list-Traversal b/Lang/Ada/Doubly-linked-list-Traversal
new file mode 120000
index 0000000000..16bc855bb7
--- /dev/null
+++ b/Lang/Ada/Doubly-linked-list-Traversal
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Traversal/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Draw-a-cuboid b/Lang/Ada/Draw-a-cuboid
new file mode 120000
index 0000000000..da3ce55cbb
--- /dev/null
+++ b/Lang/Ada/Draw-a-cuboid
@@ -0,0 +1 @@
+../../Task/Draw-a-cuboid/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Draw-a-sphere b/Lang/Ada/Draw-a-sphere
new file mode 120000
index 0000000000..d8d71f4693
--- /dev/null
+++ b/Lang/Ada/Draw-a-sphere
@@ -0,0 +1 @@
+../../Task/Draw-a-sphere/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Dutch-national-flag-problem b/Lang/Ada/Dutch-national-flag-problem
new file mode 120000
index 0000000000..bb583a67e7
--- /dev/null
+++ b/Lang/Ada/Dutch-national-flag-problem
@@ -0,0 +1 @@
+../../Task/Dutch-national-flag-problem/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Echo-server b/Lang/Ada/Echo-server
new file mode 120000
index 0000000000..e2569c6b46
--- /dev/null
+++ b/Lang/Ada/Echo-server
@@ -0,0 +1 @@
+../../Task/Echo-server/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Element-wise-operations b/Lang/Ada/Element-wise-operations
new file mode 120000
index 0000000000..dc5cbff574
--- /dev/null
+++ b/Lang/Ada/Element-wise-operations
@@ -0,0 +1 @@
+../../Task/Element-wise-operations/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Empty-directory b/Lang/Ada/Empty-directory
new file mode 120000
index 0000000000..ec7640c754
--- /dev/null
+++ b/Lang/Ada/Empty-directory
@@ -0,0 +1 @@
+../../Task/Empty-directory/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Empty-program b/Lang/Ada/Empty-program
new file mode 120000
index 0000000000..b9dd482e1e
--- /dev/null
+++ b/Lang/Ada/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Empty-string b/Lang/Ada/Empty-string
new file mode 120000
index 0000000000..3e2a8827c5
--- /dev/null
+++ b/Lang/Ada/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Enforced-immutability b/Lang/Ada/Enforced-immutability
new file mode 120000
index 0000000000..59052a9551
--- /dev/null
+++ b/Lang/Ada/Enforced-immutability
@@ -0,0 +1 @@
+../../Task/Enforced-immutability/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Enumerations b/Lang/Ada/Enumerations
new file mode 120000
index 0000000000..b3dcff6f07
--- /dev/null
+++ b/Lang/Ada/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Equilibrium-index b/Lang/Ada/Equilibrium-index
new file mode 120000
index 0000000000..22cec04ddf
--- /dev/null
+++ b/Lang/Ada/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Ethiopian-multiplication b/Lang/Ada/Ethiopian-multiplication
new file mode 120000
index 0000000000..d874a02dfa
--- /dev/null
+++ b/Lang/Ada/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Euler-method b/Lang/Ada/Euler-method
new file mode 120000
index 0000000000..0450dcb883
--- /dev/null
+++ b/Lang/Ada/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Evaluate-binomial-coefficients b/Lang/Ada/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..77172b9186
--- /dev/null
+++ b/Lang/Ada/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Even-or-odd b/Lang/Ada/Even-or-odd
new file mode 120000
index 0000000000..548d1c7754
--- /dev/null
+++ b/Lang/Ada/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Events b/Lang/Ada/Events
new file mode 120000
index 0000000000..ab51c2f39d
--- /dev/null
+++ b/Lang/Ada/Events
@@ -0,0 +1 @@
+../../Task/Events/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Evolutionary-algorithm b/Lang/Ada/Evolutionary-algorithm
new file mode 120000
index 0000000000..5af3436eb4
--- /dev/null
+++ b/Lang/Ada/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Exceptions b/Lang/Ada/Exceptions
new file mode 120000
index 0000000000..1ee56b86e9
--- /dev/null
+++ b/Lang/Ada/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/Ada/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..c74da15499
--- /dev/null
+++ b/Lang/Ada/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Executable-library b/Lang/Ada/Executable-library
new file mode 120000
index 0000000000..3d3d39d8aa
--- /dev/null
+++ b/Lang/Ada/Executable-library
@@ -0,0 +1 @@
+../../Task/Executable-library/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Execute-a-system-command b/Lang/Ada/Execute-a-system-command
new file mode 120000
index 0000000000..5925e4bc92
--- /dev/null
+++ b/Lang/Ada/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Exponentiation-operator b/Lang/Ada/Exponentiation-operator
new file mode 120000
index 0000000000..41980236e1
--- /dev/null
+++ b/Lang/Ada/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Extreme-floating-point-values b/Lang/Ada/Extreme-floating-point-values
new file mode 120000
index 0000000000..7eff4958dd
--- /dev/null
+++ b/Lang/Ada/Extreme-floating-point-values
@@ -0,0 +1 @@
+../../Task/Extreme-floating-point-values/Ada
\ No newline at end of file
diff --git a/Lang/Agena/Empty-program b/Lang/Agena/Empty-program
new file mode 120000
index 0000000000..582451bb28
--- /dev/null
+++ b/Lang/Agena/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/Agena
\ No newline at end of file
diff --git a/Lang/Aikido/Call-a-foreign-language-function b/Lang/Aikido/Call-a-foreign-language-function
new file mode 120000
index 0000000000..bff15e1039
--- /dev/null
+++ b/Lang/Aikido/Call-a-foreign-language-function
@@ -0,0 +1 @@
+../../Task/Call-a-foreign-language-function/Aikido
\ No newline at end of file
diff --git a/Lang/Aikido/Command-line-arguments b/Lang/Aikido/Command-line-arguments
new file mode 120000
index 0000000000..011210fca0
--- /dev/null
+++ b/Lang/Aikido/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Aikido
\ No newline at end of file
diff --git a/Lang/Aikido/Conditional-structures b/Lang/Aikido/Conditional-structures
new file mode 120000
index 0000000000..8bb5dd0d8a
--- /dev/null
+++ b/Lang/Aikido/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Aikido
\ No newline at end of file
diff --git a/Lang/Aikido/Create-a-file b/Lang/Aikido/Create-a-file
new file mode 120000
index 0000000000..1611dd7b24
--- /dev/null
+++ b/Lang/Aikido/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/Aikido
\ No newline at end of file
diff --git a/Lang/Aikido/Create-an-object-at-a-given-address b/Lang/Aikido/Create-an-object-at-a-given-address
new file mode 120000
index 0000000000..ea1ef48066
--- /dev/null
+++ b/Lang/Aikido/Create-an-object-at-a-given-address
@@ -0,0 +1 @@
+../../Task/Create-an-object-at-a-given-address/Aikido
\ No newline at end of file
diff --git a/Lang/Aikido/Exceptions b/Lang/Aikido/Exceptions
new file mode 120000
index 0000000000..016ca13d77
--- /dev/null
+++ b/Lang/Aikido/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/Aikido
\ No newline at end of file
diff --git a/Lang/Aikido/Execute-a-system-command b/Lang/Aikido/Execute-a-system-command
new file mode 120000
index 0000000000..666d59ec4c
--- /dev/null
+++ b/Lang/Aikido/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/Aikido
\ No newline at end of file
diff --git a/Lang/Aime/Character-codes b/Lang/Aime/Character-codes
new file mode 120000
index 0000000000..9d3286d19f
--- /dev/null
+++ b/Lang/Aime/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Aime
\ No newline at end of file
diff --git a/Lang/Aime/Conditional-structures b/Lang/Aime/Conditional-structures
new file mode 120000
index 0000000000..0d9968bb58
--- /dev/null
+++ b/Lang/Aime/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Aime
\ No newline at end of file
diff --git a/Lang/Aime/Execute-a-system-command b/Lang/Aime/Execute-a-system-command
new file mode 120000
index 0000000000..7f3b1bf9d7
--- /dev/null
+++ b/Lang/Aime/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/Aime
\ No newline at end of file
diff --git a/Lang/AmbientTalk/Conditional-structures b/Lang/AmbientTalk/Conditional-structures
new file mode 120000
index 0000000000..9efeaaaa3e
--- /dev/null
+++ b/Lang/AmbientTalk/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/AmbientTalk
\ No newline at end of file
diff --git a/Lang/AmigaE/Compound-data-type b/Lang/AmigaE/Compound-data-type
new file mode 120000
index 0000000000..629566d38b
--- /dev/null
+++ b/Lang/AmigaE/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/AmigaE
\ No newline at end of file
diff --git a/Lang/AmigaE/Conditional-structures b/Lang/AmigaE/Conditional-structures
new file mode 120000
index 0000000000..5fc35860db
--- /dev/null
+++ b/Lang/AmigaE/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/AmigaE
\ No newline at end of file
diff --git a/Lang/AmigaE/Empty-program b/Lang/AmigaE/Empty-program
new file mode 120000
index 0000000000..0c61c8ddb2
--- /dev/null
+++ b/Lang/AmigaE/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/AmigaE
\ No newline at end of file
diff --git a/Lang/AmigaE/Enumerations b/Lang/AmigaE/Enumerations
new file mode 120000
index 0000000000..f7b7909698
--- /dev/null
+++ b/Lang/AmigaE/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/AmigaE
\ No newline at end of file
diff --git a/Lang/AppleScript/Combinations b/Lang/AppleScript/Combinations
new file mode 120000
index 0000000000..63ae92aee8
--- /dev/null
+++ b/Lang/AppleScript/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/AppleScript
\ No newline at end of file
diff --git a/Lang/AppleScript/Command-line-arguments b/Lang/AppleScript/Command-line-arguments
new file mode 120000
index 0000000000..e403bd1932
--- /dev/null
+++ b/Lang/AppleScript/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/AppleScript
\ No newline at end of file
diff --git a/Lang/AppleScript/Conditional-structures b/Lang/AppleScript/Conditional-structures
new file mode 120000
index 0000000000..457896e5a3
--- /dev/null
+++ b/Lang/AppleScript/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/AppleScript
\ No newline at end of file
diff --git a/Lang/AppleScript/Create-a-file b/Lang/AppleScript/Create-a-file
new file mode 120000
index 0000000000..509d83954f
--- /dev/null
+++ b/Lang/AppleScript/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/AppleScript
\ No newline at end of file
diff --git a/Lang/AppleScript/Create-a-two-dimensional-array-at-runtime b/Lang/AppleScript/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..93689c070c
--- /dev/null
+++ b/Lang/AppleScript/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/AppleScript
\ No newline at end of file
diff --git a/Lang/AppleScript/Date-manipulation b/Lang/AppleScript/Date-manipulation
new file mode 120000
index 0000000000..ce5dba8733
--- /dev/null
+++ b/Lang/AppleScript/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/AppleScript
\ No newline at end of file
diff --git a/Lang/AppleScript/Day-of-the-week b/Lang/AppleScript/Day-of-the-week
new file mode 120000
index 0000000000..754fe8195c
--- /dev/null
+++ b/Lang/AppleScript/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/AppleScript
\ No newline at end of file
diff --git a/Lang/AppleScript/Empty-program b/Lang/AppleScript/Empty-program
new file mode 120000
index 0000000000..c565b7da63
--- /dev/null
+++ b/Lang/AppleScript/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/AppleScript
\ No newline at end of file
diff --git a/Lang/AppleScript/Evaluate-binomial-coefficients b/Lang/AppleScript/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..2ac3838c92
--- /dev/null
+++ b/Lang/AppleScript/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/AppleScript
\ No newline at end of file
diff --git a/Lang/AppleScript/Exceptions b/Lang/AppleScript/Exceptions
new file mode 120000
index 0000000000..d854887973
--- /dev/null
+++ b/Lang/AppleScript/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/AppleScript
\ No newline at end of file
diff --git a/Lang/AppleScript/Execute-a-system-command b/Lang/AppleScript/Execute-a-system-command
new file mode 120000
index 0000000000..795afc5150
--- /dev/null
+++ b/Lang/AppleScript/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/AppleScript
\ No newline at end of file
diff --git a/Lang/Argile/Empty-program b/Lang/Argile/Empty-program
new file mode 120000
index 0000000000..cd08656e7f
--- /dev/null
+++ b/Lang/Argile/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/Argile
\ No newline at end of file
diff --git a/Lang/AutoHotkey/CSV-to-HTML-translation b/Lang/AutoHotkey/CSV-to-HTML-translation
new file mode 120000
index 0000000000..2adef07619
--- /dev/null
+++ b/Lang/AutoHotkey/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Call-a-foreign-language-function b/Lang/AutoHotkey/Call-a-foreign-language-function
new file mode 120000
index 0000000000..9046c9a2de
--- /dev/null
+++ b/Lang/AutoHotkey/Call-a-foreign-language-function
@@ -0,0 +1 @@
+../../Task/Call-a-foreign-language-function/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Call-a-function b/Lang/AutoHotkey/Call-a-function
new file mode 120000
index 0000000000..99f8847ba6
--- /dev/null
+++ b/Lang/AutoHotkey/Call-a-function
@@ -0,0 +1 @@
+../../Task/Call-a-function/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Call-a-function-in-a-shared-library b/Lang/AutoHotkey/Call-a-function-in-a-shared-library
new file mode 120000
index 0000000000..ac6454326d
--- /dev/null
+++ b/Lang/AutoHotkey/Call-a-function-in-a-shared-library
@@ -0,0 +1 @@
+../../Task/Call-a-function-in-a-shared-library/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Call-an-object-method b/Lang/AutoHotkey/Call-an-object-method
new file mode 120000
index 0000000000..ae974e9a58
--- /dev/null
+++ b/Lang/AutoHotkey/Call-an-object-method
@@ -0,0 +1 @@
+../../Task/Call-an-object-method/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Case-sensitivity-of-identifiers b/Lang/AutoHotkey/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..1de5a25481
--- /dev/null
+++ b/Lang/AutoHotkey/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Character-codes b/Lang/AutoHotkey/Character-codes
new file mode 120000
index 0000000000..10ba20ac04
--- /dev/null
+++ b/Lang/AutoHotkey/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Character-matching b/Lang/AutoHotkey/Character-matching
new file mode 120000
index 0000000000..8c9c3fdc94
--- /dev/null
+++ b/Lang/AutoHotkey/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Colour-bars-Display b/Lang/AutoHotkey/Colour-bars-Display
new file mode 120000
index 0000000000..269687cd18
--- /dev/null
+++ b/Lang/AutoHotkey/Colour-bars-Display
@@ -0,0 +1 @@
+../../Task/Colour-bars-Display/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Colour-pinstripe-Display b/Lang/AutoHotkey/Colour-pinstripe-Display
new file mode 120000
index 0000000000..2773a0f5c0
--- /dev/null
+++ b/Lang/AutoHotkey/Colour-pinstripe-Display
@@ -0,0 +1 @@
+../../Task/Colour-pinstripe-Display/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Combinations b/Lang/AutoHotkey/Combinations
new file mode 120000
index 0000000000..8ea2f8bb49
--- /dev/null
+++ b/Lang/AutoHotkey/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Command-line-arguments b/Lang/AutoHotkey/Command-line-arguments
new file mode 120000
index 0000000000..dd95eae370
--- /dev/null
+++ b/Lang/AutoHotkey/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Compare-sorting-algorithms-performance b/Lang/AutoHotkey/Compare-sorting-algorithms-performance
new file mode 120000
index 0000000000..bd160ef705
--- /dev/null
+++ b/Lang/AutoHotkey/Compare-sorting-algorithms-performance
@@ -0,0 +1 @@
+../../Task/Compare-sorting-algorithms-performance/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Compound-data-type b/Lang/AutoHotkey/Compound-data-type
new file mode 120000
index 0000000000..c19907c8ce
--- /dev/null
+++ b/Lang/AutoHotkey/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Conditional-structures b/Lang/AutoHotkey/Conditional-structures
new file mode 120000
index 0000000000..28f59b5bf9
--- /dev/null
+++ b/Lang/AutoHotkey/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Constrained-random-points-on-a-circle b/Lang/AutoHotkey/Constrained-random-points-on-a-circle
new file mode 120000
index 0000000000..d03e12d1c2
--- /dev/null
+++ b/Lang/AutoHotkey/Constrained-random-points-on-a-circle
@@ -0,0 +1 @@
+../../Task/Constrained-random-points-on-a-circle/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Conways-Game-of-Life b/Lang/AutoHotkey/Conways-Game-of-Life
new file mode 120000
index 0000000000..c9537295d7
--- /dev/null
+++ b/Lang/AutoHotkey/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Count-in-factors b/Lang/AutoHotkey/Count-in-factors
new file mode 120000
index 0000000000..69b024d76e
--- /dev/null
+++ b/Lang/AutoHotkey/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Count-in-octal b/Lang/AutoHotkey/Count-in-octal
new file mode 120000
index 0000000000..6c13ea8f4e
--- /dev/null
+++ b/Lang/AutoHotkey/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Count-occurrences-of-a-substring b/Lang/AutoHotkey/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..e283d94ae2
--- /dev/null
+++ b/Lang/AutoHotkey/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Count-the-coins b/Lang/AutoHotkey/Count-the-coins
new file mode 120000
index 0000000000..89883f9c75
--- /dev/null
+++ b/Lang/AutoHotkey/Count-the-coins
@@ -0,0 +1 @@
+../../Task/Count-the-coins/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Create-a-file b/Lang/AutoHotkey/Create-a-file
new file mode 120000
index 0000000000..c610581d84
--- /dev/null
+++ b/Lang/AutoHotkey/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Create-a-two-dimensional-array-at-runtime b/Lang/AutoHotkey/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..192d931a02
--- /dev/null
+++ b/Lang/AutoHotkey/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Create-an-HTML-table b/Lang/AutoHotkey/Create-an-HTML-table
new file mode 120000
index 0000000000..3aa06bc5b8
--- /dev/null
+++ b/Lang/AutoHotkey/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Create-an-object-at-a-given-address b/Lang/AutoHotkey/Create-an-object-at-a-given-address
new file mode 120000
index 0000000000..c1a3df0f11
--- /dev/null
+++ b/Lang/AutoHotkey/Create-an-object-at-a-given-address
@@ -0,0 +1 @@
+../../Task/Create-an-object-at-a-given-address/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Date-format b/Lang/AutoHotkey/Date-format
new file mode 120000
index 0000000000..f6997aebcf
--- /dev/null
+++ b/Lang/AutoHotkey/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Date-manipulation b/Lang/AutoHotkey/Date-manipulation
new file mode 120000
index 0000000000..8b4b288dfe
--- /dev/null
+++ b/Lang/AutoHotkey/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Day-of-the-week b/Lang/AutoHotkey/Day-of-the-week
new file mode 120000
index 0000000000..391e3b07f1
--- /dev/null
+++ b/Lang/AutoHotkey/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Documentation b/Lang/AutoHotkey/Documentation
new file mode 120000
index 0000000000..0ed597dc14
--- /dev/null
+++ b/Lang/AutoHotkey/Documentation
@@ -0,0 +1 @@
+../../Task/Documentation/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Dot-product b/Lang/AutoHotkey/Dot-product
new file mode 120000
index 0000000000..38b5575ae4
--- /dev/null
+++ b/Lang/AutoHotkey/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Dynamic-variable-names b/Lang/AutoHotkey/Dynamic-variable-names
new file mode 120000
index 0000000000..0a873897aa
--- /dev/null
+++ b/Lang/AutoHotkey/Dynamic-variable-names
@@ -0,0 +1 @@
+../../Task/Dynamic-variable-names/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Echo-server b/Lang/AutoHotkey/Echo-server
new file mode 120000
index 0000000000..7ee25ac726
--- /dev/null
+++ b/Lang/AutoHotkey/Echo-server
@@ -0,0 +1 @@
+../../Task/Echo-server/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Empty-program b/Lang/AutoHotkey/Empty-program
new file mode 120000
index 0000000000..62adf9827c
--- /dev/null
+++ b/Lang/AutoHotkey/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Empty-string b/Lang/AutoHotkey/Empty-string
new file mode 120000
index 0000000000..f7c9b92e7f
--- /dev/null
+++ b/Lang/AutoHotkey/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Enforced-immutability b/Lang/AutoHotkey/Enforced-immutability
new file mode 120000
index 0000000000..7571a9f421
--- /dev/null
+++ b/Lang/AutoHotkey/Enforced-immutability
@@ -0,0 +1 @@
+../../Task/Enforced-immutability/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Enumerations b/Lang/AutoHotkey/Enumerations
new file mode 120000
index 0000000000..2c618266ee
--- /dev/null
+++ b/Lang/AutoHotkey/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Ethiopian-multiplication b/Lang/AutoHotkey/Ethiopian-multiplication
new file mode 120000
index 0000000000..18b5345f51
--- /dev/null
+++ b/Lang/AutoHotkey/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Evaluate-binomial-coefficients b/Lang/AutoHotkey/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..00a2db5ad4
--- /dev/null
+++ b/Lang/AutoHotkey/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Even-or-odd b/Lang/AutoHotkey/Even-or-odd
new file mode 120000
index 0000000000..bbf87889b2
--- /dev/null
+++ b/Lang/AutoHotkey/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Events b/Lang/AutoHotkey/Events
new file mode 120000
index 0000000000..9e69857927
--- /dev/null
+++ b/Lang/AutoHotkey/Events
@@ -0,0 +1 @@
+../../Task/Events/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Evolutionary-algorithm b/Lang/AutoHotkey/Evolutionary-algorithm
new file mode 120000
index 0000000000..6e3c5dcef7
--- /dev/null
+++ b/Lang/AutoHotkey/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Exceptions b/Lang/AutoHotkey/Exceptions
new file mode 120000
index 0000000000..759c59de1b
--- /dev/null
+++ b/Lang/AutoHotkey/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/AutoHotkey/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..99544e2136
--- /dev/null
+++ b/Lang/AutoHotkey/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Executable-library b/Lang/AutoHotkey/Executable-library
new file mode 120000
index 0000000000..377940fb98
--- /dev/null
+++ b/Lang/AutoHotkey/Executable-library
@@ -0,0 +1 @@
+../../Task/Executable-library/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Execute-HQ9+ b/Lang/AutoHotkey/Execute-HQ9+
new file mode 120000
index 0000000000..764d29bf8a
--- /dev/null
+++ b/Lang/AutoHotkey/Execute-HQ9+
@@ -0,0 +1 @@
+../../Task/Execute-HQ9+/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Execute-a-system-command b/Lang/AutoHotkey/Execute-a-system-command
new file mode 120000
index 0000000000..57ff124c2f
--- /dev/null
+++ b/Lang/AutoHotkey/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Exponentiation-operator b/Lang/AutoHotkey/Exponentiation-operator
new file mode 120000
index 0000000000..669c469ec6
--- /dev/null
+++ b/Lang/AutoHotkey/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoIt/CSV-to-HTML-translation b/Lang/AutoIt/CSV-to-HTML-translation
new file mode 120000
index 0000000000..bfb0b429d4
--- /dev/null
+++ b/Lang/AutoIt/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/AutoIt
\ No newline at end of file
diff --git a/Lang/AutoIt/Character-matching b/Lang/AutoIt/Character-matching
new file mode 120000
index 0000000000..d22ba39a43
--- /dev/null
+++ b/Lang/AutoIt/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/AutoIt
\ No newline at end of file
diff --git a/Lang/AutoIt/Create-a-two-dimensional-array-at-runtime b/Lang/AutoIt/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..e75fe84ee7
--- /dev/null
+++ b/Lang/AutoIt/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/AutoIt
\ No newline at end of file
diff --git a/Lang/AutoIt/Day-of-the-week b/Lang/AutoIt/Day-of-the-week
new file mode 120000
index 0000000000..c7d5aeea4a
--- /dev/null
+++ b/Lang/AutoIt/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/AutoIt
\ No newline at end of file
diff --git a/Lang/AutoIt/Dutch-national-flag-problem b/Lang/AutoIt/Dutch-national-flag-problem
new file mode 120000
index 0000000000..74d1c7ba9d
--- /dev/null
+++ b/Lang/AutoIt/Dutch-national-flag-problem
@@ -0,0 +1 @@
+../../Task/Dutch-national-flag-problem/AutoIt
\ No newline at end of file
diff --git a/Lang/AutoIt/Empty-program b/Lang/AutoIt/Empty-program
new file mode 120000
index 0000000000..30bd171f84
--- /dev/null
+++ b/Lang/AutoIt/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/AutoIt
\ No newline at end of file
diff --git a/Lang/AutoIt/Ethiopian-multiplication b/Lang/AutoIt/Ethiopian-multiplication
new file mode 120000
index 0000000000..e5910cddde
--- /dev/null
+++ b/Lang/AutoIt/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/AutoIt
\ No newline at end of file
diff --git a/Lang/Axiom/Continued-fraction b/Lang/Axiom/Continued-fraction
new file mode 120000
index 0000000000..c05b783be5
--- /dev/null
+++ b/Lang/Axiom/Continued-fraction
@@ -0,0 +1 @@
+../../Task/Continued-fraction/Axiom
\ No newline at end of file
diff --git a/Lang/BASIC/Character-codes b/Lang/BASIC/Character-codes
new file mode 120000
index 0000000000..a9a36e9319
--- /dev/null
+++ b/Lang/BASIC/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Character-matching b/Lang/BASIC/Character-matching
new file mode 120000
index 0000000000..c685afa92d
--- /dev/null
+++ b/Lang/BASIC/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Command-line-arguments b/Lang/BASIC/Command-line-arguments
new file mode 120000
index 0000000000..2cb8b02285
--- /dev/null
+++ b/Lang/BASIC/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Compile-time-calculation b/Lang/BASIC/Compile-time-calculation
new file mode 120000
index 0000000000..14d44490e7
--- /dev/null
+++ b/Lang/BASIC/Compile-time-calculation
@@ -0,0 +1 @@
+../../Task/Compile-time-calculation/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Compound-data-type b/Lang/BASIC/Compound-data-type
new file mode 120000
index 0000000000..edfe32b305
--- /dev/null
+++ b/Lang/BASIC/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Conditional-structures b/Lang/BASIC/Conditional-structures
new file mode 120000
index 0000000000..ee71212a96
--- /dev/null
+++ b/Lang/BASIC/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Count-in-octal b/Lang/BASIC/Count-in-octal
new file mode 120000
index 0000000000..ae6d9f81e0
--- /dev/null
+++ b/Lang/BASIC/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Count-occurrences-of-a-substring b/Lang/BASIC/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..2f890850a0
--- /dev/null
+++ b/Lang/BASIC/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Create-a-file b/Lang/BASIC/Create-a-file
new file mode 120000
index 0000000000..0cdfd7aea2
--- /dev/null
+++ b/Lang/BASIC/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Date-format b/Lang/BASIC/Date-format
new file mode 120000
index 0000000000..e062f36016
--- /dev/null
+++ b/Lang/BASIC/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Digital-root b/Lang/BASIC/Digital-root
new file mode 120000
index 0000000000..8de34cbd9b
--- /dev/null
+++ b/Lang/BASIC/Digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Discordian-date b/Lang/BASIC/Discordian-date
new file mode 120000
index 0000000000..00be27020c
--- /dev/null
+++ b/Lang/BASIC/Discordian-date
@@ -0,0 +1 @@
+../../Task/Discordian-date/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Draw-a-sphere b/Lang/BASIC/Draw-a-sphere
new file mode 120000
index 0000000000..f408c5e3c7
--- /dev/null
+++ b/Lang/BASIC/Draw-a-sphere
@@ -0,0 +1 @@
+../../Task/Draw-a-sphere/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Dynamic-variable-names b/Lang/BASIC/Dynamic-variable-names
new file mode 120000
index 0000000000..47313540e4
--- /dev/null
+++ b/Lang/BASIC/Dynamic-variable-names
@@ -0,0 +1 @@
+../../Task/Dynamic-variable-names/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Empty-program b/Lang/BASIC/Empty-program
new file mode 120000
index 0000000000..b77acd37eb
--- /dev/null
+++ b/Lang/BASIC/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Empty-string b/Lang/BASIC/Empty-string
new file mode 120000
index 0000000000..7391494748
--- /dev/null
+++ b/Lang/BASIC/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Enforced-immutability b/Lang/BASIC/Enforced-immutability
new file mode 120000
index 0000000000..cb0d1a7696
--- /dev/null
+++ b/Lang/BASIC/Enforced-immutability
@@ -0,0 +1 @@
+../../Task/Enforced-immutability/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Enumerations b/Lang/BASIC/Enumerations
new file mode 120000
index 0000000000..31cc5def23
--- /dev/null
+++ b/Lang/BASIC/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Ethiopian-multiplication b/Lang/BASIC/Ethiopian-multiplication
new file mode 120000
index 0000000000..94be458bb2
--- /dev/null
+++ b/Lang/BASIC/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Even-or-odd b/Lang/BASIC/Even-or-odd
new file mode 120000
index 0000000000..6abc779b43
--- /dev/null
+++ b/Lang/BASIC/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Execute-a-system-command b/Lang/BASIC/Execute-a-system-command
new file mode 120000
index 0000000000..3524d9a372
--- /dev/null
+++ b/Lang/BASIC/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Exponentiation-operator b/Lang/BASIC/Exponentiation-operator
new file mode 120000
index 0000000000..2a5f0c078b
--- /dev/null
+++ b/Lang/BASIC/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC256/Conways-Game-of-Life b/Lang/BASIC256/Conways-Game-of-Life
new file mode 120000
index 0000000000..eb5e0bfb2a
--- /dev/null
+++ b/Lang/BASIC256/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/BASIC256
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/CSV-to-HTML-translation b/Lang/BBC-BASIC/CSV-to-HTML-translation
new file mode 120000
index 0000000000..e28b48522c
--- /dev/null
+++ b/Lang/BBC-BASIC/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Calendar-for-real-programmers b/Lang/BBC-BASIC/Calendar-for-real-programmers
new file mode 120000
index 0000000000..e970caf6e2
--- /dev/null
+++ b/Lang/BBC-BASIC/Calendar-for-real-programmers
@@ -0,0 +1 @@
+../../Task/Calendar-for-real-programmers/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Call-a-foreign-language-function b/Lang/BBC-BASIC/Call-a-foreign-language-function
new file mode 120000
index 0000000000..0af3540bb1
--- /dev/null
+++ b/Lang/BBC-BASIC/Call-a-foreign-language-function
@@ -0,0 +1 @@
+../../Task/Call-a-foreign-language-function/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Call-a-function-in-a-shared-library b/Lang/BBC-BASIC/Call-a-function-in-a-shared-library
new file mode 120000
index 0000000000..2034616947
--- /dev/null
+++ b/Lang/BBC-BASIC/Call-a-function-in-a-shared-library
@@ -0,0 +1 @@
+../../Task/Call-a-function-in-a-shared-library/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Case-sensitivity-of-identifiers b/Lang/BBC-BASIC/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..e1780e6ba1
--- /dev/null
+++ b/Lang/BBC-BASIC/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Character-codes b/Lang/BBC-BASIC/Character-codes
new file mode 120000
index 0000000000..a09c8f4711
--- /dev/null
+++ b/Lang/BBC-BASIC/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Character-matching b/Lang/BBC-BASIC/Character-matching
new file mode 120000
index 0000000000..c281710c7f
--- /dev/null
+++ b/Lang/BBC-BASIC/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Cholesky-decomposition b/Lang/BBC-BASIC/Cholesky-decomposition
new file mode 120000
index 0000000000..9ee56d9371
--- /dev/null
+++ b/Lang/BBC-BASIC/Cholesky-decomposition
@@ -0,0 +1 @@
+../../Task/Cholesky-decomposition/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Colour-bars-Display b/Lang/BBC-BASIC/Colour-bars-Display
new file mode 120000
index 0000000000..2bab2092e9
--- /dev/null
+++ b/Lang/BBC-BASIC/Colour-bars-Display
@@ -0,0 +1 @@
+../../Task/Colour-bars-Display/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Colour-pinstripe-Display b/Lang/BBC-BASIC/Colour-pinstripe-Display
new file mode 120000
index 0000000000..d4c44631b6
--- /dev/null
+++ b/Lang/BBC-BASIC/Colour-pinstripe-Display
@@ -0,0 +1 @@
+../../Task/Colour-pinstripe-Display/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Colour-pinstripe-Printer b/Lang/BBC-BASIC/Colour-pinstripe-Printer
new file mode 120000
index 0000000000..5bb3c25856
--- /dev/null
+++ b/Lang/BBC-BASIC/Colour-pinstripe-Printer
@@ -0,0 +1 @@
+../../Task/Colour-pinstripe-Printer/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Combinations b/Lang/BBC-BASIC/Combinations
new file mode 120000
index 0000000000..6b7d034c95
--- /dev/null
+++ b/Lang/BBC-BASIC/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Combinations-with-repetitions b/Lang/BBC-BASIC/Combinations-with-repetitions
new file mode 120000
index 0000000000..58dd9d80be
--- /dev/null
+++ b/Lang/BBC-BASIC/Combinations-with-repetitions
@@ -0,0 +1 @@
+../../Task/Combinations-with-repetitions/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Command-line-arguments b/Lang/BBC-BASIC/Command-line-arguments
new file mode 120000
index 0000000000..58e6169986
--- /dev/null
+++ b/Lang/BBC-BASIC/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Compare-sorting-algorithms-performance b/Lang/BBC-BASIC/Compare-sorting-algorithms-performance
new file mode 120000
index 0000000000..1730d91e14
--- /dev/null
+++ b/Lang/BBC-BASIC/Compare-sorting-algorithms-performance
@@ -0,0 +1 @@
+../../Task/Compare-sorting-algorithms-performance/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Compound-data-type b/Lang/BBC-BASIC/Compound-data-type
new file mode 120000
index 0000000000..66355486f1
--- /dev/null
+++ b/Lang/BBC-BASIC/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Concurrent-computing b/Lang/BBC-BASIC/Concurrent-computing
new file mode 120000
index 0000000000..4ee46f8d32
--- /dev/null
+++ b/Lang/BBC-BASIC/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Conditional-structures b/Lang/BBC-BASIC/Conditional-structures
new file mode 120000
index 0000000000..bc0d5c83d3
--- /dev/null
+++ b/Lang/BBC-BASIC/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Constrained-random-points-on-a-circle b/Lang/BBC-BASIC/Constrained-random-points-on-a-circle
new file mode 120000
index 0000000000..8a32de444b
--- /dev/null
+++ b/Lang/BBC-BASIC/Constrained-random-points-on-a-circle
@@ -0,0 +1 @@
+../../Task/Constrained-random-points-on-a-circle/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Continued-fraction b/Lang/BBC-BASIC/Continued-fraction
new file mode 120000
index 0000000000..a2c167fccd
--- /dev/null
+++ b/Lang/BBC-BASIC/Continued-fraction
@@ -0,0 +1 @@
+../../Task/Continued-fraction/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Conways-Game-of-Life b/Lang/BBC-BASIC/Conways-Game-of-Life
new file mode 120000
index 0000000000..c1a3803646
--- /dev/null
+++ b/Lang/BBC-BASIC/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Count-in-factors b/Lang/BBC-BASIC/Count-in-factors
new file mode 120000
index 0000000000..c160ba2a75
--- /dev/null
+++ b/Lang/BBC-BASIC/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Count-in-octal b/Lang/BBC-BASIC/Count-in-octal
new file mode 120000
index 0000000000..deace67645
--- /dev/null
+++ b/Lang/BBC-BASIC/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Count-occurrences-of-a-substring b/Lang/BBC-BASIC/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..47e7a5048c
--- /dev/null
+++ b/Lang/BBC-BASIC/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Count-the-coins b/Lang/BBC-BASIC/Count-the-coins
new file mode 120000
index 0000000000..463ea8345e
--- /dev/null
+++ b/Lang/BBC-BASIC/Count-the-coins
@@ -0,0 +1 @@
+../../Task/Count-the-coins/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Create-a-file b/Lang/BBC-BASIC/Create-a-file
new file mode 120000
index 0000000000..4a2f9f340a
--- /dev/null
+++ b/Lang/BBC-BASIC/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Create-a-two-dimensional-array-at-runtime b/Lang/BBC-BASIC/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..e199dc63ca
--- /dev/null
+++ b/Lang/BBC-BASIC/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Create-an-HTML-table b/Lang/BBC-BASIC/Create-an-HTML-table
new file mode 120000
index 0000000000..7f7f5cd770
--- /dev/null
+++ b/Lang/BBC-BASIC/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Create-an-object-at-a-given-address b/Lang/BBC-BASIC/Create-an-object-at-a-given-address
new file mode 120000
index 0000000000..d775989d4e
--- /dev/null
+++ b/Lang/BBC-BASIC/Create-an-object-at-a-given-address
@@ -0,0 +1 @@
+../../Task/Create-an-object-at-a-given-address/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/DNS-query b/Lang/BBC-BASIC/DNS-query
new file mode 120000
index 0000000000..1eb3e9d666
--- /dev/null
+++ b/Lang/BBC-BASIC/DNS-query
@@ -0,0 +1 @@
+../../Task/DNS-query/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Date-format b/Lang/BBC-BASIC/Date-format
new file mode 120000
index 0000000000..878e65f133
--- /dev/null
+++ b/Lang/BBC-BASIC/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Date-manipulation b/Lang/BBC-BASIC/Date-manipulation
new file mode 120000
index 0000000000..8a0023cae9
--- /dev/null
+++ b/Lang/BBC-BASIC/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Day-of-the-week b/Lang/BBC-BASIC/Day-of-the-week
new file mode 120000
index 0000000000..f1dc6e27e8
--- /dev/null
+++ b/Lang/BBC-BASIC/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Deal-cards-for-FreeCell b/Lang/BBC-BASIC/Deal-cards-for-FreeCell
new file mode 120000
index 0000000000..62509c4e4e
--- /dev/null
+++ b/Lang/BBC-BASIC/Deal-cards-for-FreeCell
@@ -0,0 +1 @@
+../../Task/Deal-cards-for-FreeCell/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Deconvolution-1D b/Lang/BBC-BASIC/Deconvolution-1D
new file mode 120000
index 0000000000..bf077c2775
--- /dev/null
+++ b/Lang/BBC-BASIC/Deconvolution-1D
@@ -0,0 +1 @@
+../../Task/Deconvolution-1D/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Determine-if-only-one-instance-is-running b/Lang/BBC-BASIC/Determine-if-only-one-instance-is-running
new file mode 120000
index 0000000000..4ba8905f57
--- /dev/null
+++ b/Lang/BBC-BASIC/Determine-if-only-one-instance-is-running
@@ -0,0 +1 @@
+../../Task/Determine-if-only-one-instance-is-running/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Digital-root b/Lang/BBC-BASIC/Digital-root
new file mode 120000
index 0000000000..b5eb363669
--- /dev/null
+++ b/Lang/BBC-BASIC/Digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Dinesmans-multiple-dwelling-problem b/Lang/BBC-BASIC/Dinesmans-multiple-dwelling-problem
new file mode 120000
index 0000000000..6cdc3b0024
--- /dev/null
+++ b/Lang/BBC-BASIC/Dinesmans-multiple-dwelling-problem
@@ -0,0 +1 @@
+../../Task/Dinesmans-multiple-dwelling-problem/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Dining-philosophers b/Lang/BBC-BASIC/Dining-philosophers
new file mode 120000
index 0000000000..136371d279
--- /dev/null
+++ b/Lang/BBC-BASIC/Dining-philosophers
@@ -0,0 +1 @@
+../../Task/Dining-philosophers/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Discordian-date b/Lang/BBC-BASIC/Discordian-date
new file mode 120000
index 0000000000..a040ccc519
--- /dev/null
+++ b/Lang/BBC-BASIC/Discordian-date
@@ -0,0 +1 @@
+../../Task/Discordian-date/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Dot-product b/Lang/BBC-BASIC/Dot-product
new file mode 120000
index 0000000000..633bae9732
--- /dev/null
+++ b/Lang/BBC-BASIC/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Doubly-linked-list-Element-definition b/Lang/BBC-BASIC/Doubly-linked-list-Element-definition
new file mode 120000
index 0000000000..e5cb6a5eca
--- /dev/null
+++ b/Lang/BBC-BASIC/Doubly-linked-list-Element-definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-definition/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Doubly-linked-list-Element-insertion b/Lang/BBC-BASIC/Doubly-linked-list-Element-insertion
new file mode 120000
index 0000000000..fc293fcd3a
--- /dev/null
+++ b/Lang/BBC-BASIC/Doubly-linked-list-Element-insertion
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-insertion/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Doubly-linked-list-Traversal b/Lang/BBC-BASIC/Doubly-linked-list-Traversal
new file mode 120000
index 0000000000..23c10770b6
--- /dev/null
+++ b/Lang/BBC-BASIC/Doubly-linked-list-Traversal
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Traversal/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Draw-a-cuboid b/Lang/BBC-BASIC/Draw-a-cuboid
new file mode 120000
index 0000000000..30e68f2545
--- /dev/null
+++ b/Lang/BBC-BASIC/Draw-a-cuboid
@@ -0,0 +1 @@
+../../Task/Draw-a-cuboid/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Draw-a-sphere b/Lang/BBC-BASIC/Draw-a-sphere
new file mode 120000
index 0000000000..9b98fd11f1
--- /dev/null
+++ b/Lang/BBC-BASIC/Draw-a-sphere
@@ -0,0 +1 @@
+../../Task/Draw-a-sphere/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Dutch-national-flag-problem b/Lang/BBC-BASIC/Dutch-national-flag-problem
new file mode 120000
index 0000000000..fed2b1393d
--- /dev/null
+++ b/Lang/BBC-BASIC/Dutch-national-flag-problem
@@ -0,0 +1 @@
+../../Task/Dutch-national-flag-problem/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Dynamic-variable-names b/Lang/BBC-BASIC/Dynamic-variable-names
new file mode 120000
index 0000000000..ac5c6c76ef
--- /dev/null
+++ b/Lang/BBC-BASIC/Dynamic-variable-names
@@ -0,0 +1 @@
+../../Task/Dynamic-variable-names/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Echo-server b/Lang/BBC-BASIC/Echo-server
new file mode 120000
index 0000000000..e6685c8bb5
--- /dev/null
+++ b/Lang/BBC-BASIC/Echo-server
@@ -0,0 +1 @@
+../../Task/Echo-server/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Element-wise-operations b/Lang/BBC-BASIC/Element-wise-operations
new file mode 120000
index 0000000000..157bd2c268
--- /dev/null
+++ b/Lang/BBC-BASIC/Element-wise-operations
@@ -0,0 +1 @@
+../../Task/Element-wise-operations/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Empty-directory b/Lang/BBC-BASIC/Empty-directory
new file mode 120000
index 0000000000..2efc36e0ee
--- /dev/null
+++ b/Lang/BBC-BASIC/Empty-directory
@@ -0,0 +1 @@
+../../Task/Empty-directory/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Empty-program b/Lang/BBC-BASIC/Empty-program
new file mode 120000
index 0000000000..2453735ba7
--- /dev/null
+++ b/Lang/BBC-BASIC/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Empty-string b/Lang/BBC-BASIC/Empty-string
new file mode 120000
index 0000000000..0fb6b727de
--- /dev/null
+++ b/Lang/BBC-BASIC/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Enforced-immutability b/Lang/BBC-BASIC/Enforced-immutability
new file mode 120000
index 0000000000..cb02eca9dd
--- /dev/null
+++ b/Lang/BBC-BASIC/Enforced-immutability
@@ -0,0 +1 @@
+../../Task/Enforced-immutability/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Equilibrium-index b/Lang/BBC-BASIC/Equilibrium-index
new file mode 120000
index 0000000000..dfb677776b
--- /dev/null
+++ b/Lang/BBC-BASIC/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Ethiopian-multiplication b/Lang/BBC-BASIC/Ethiopian-multiplication
new file mode 120000
index 0000000000..4c8585062b
--- /dev/null
+++ b/Lang/BBC-BASIC/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Euler-method b/Lang/BBC-BASIC/Euler-method
new file mode 120000
index 0000000000..955665ab10
--- /dev/null
+++ b/Lang/BBC-BASIC/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Evaluate-binomial-coefficients b/Lang/BBC-BASIC/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..19e10e5d56
--- /dev/null
+++ b/Lang/BBC-BASIC/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Even-or-odd b/Lang/BBC-BASIC/Even-or-odd
new file mode 120000
index 0000000000..5287e5f7bf
--- /dev/null
+++ b/Lang/BBC-BASIC/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Events b/Lang/BBC-BASIC/Events
new file mode 120000
index 0000000000..6ff8cc556a
--- /dev/null
+++ b/Lang/BBC-BASIC/Events
@@ -0,0 +1 @@
+../../Task/Events/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Evolutionary-algorithm b/Lang/BBC-BASIC/Evolutionary-algorithm
new file mode 120000
index 0000000000..e1480da10c
--- /dev/null
+++ b/Lang/BBC-BASIC/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Exceptions b/Lang/BBC-BASIC/Exceptions
new file mode 120000
index 0000000000..d7f620b824
--- /dev/null
+++ b/Lang/BBC-BASIC/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/BBC-BASIC/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..047ae6aec0
--- /dev/null
+++ b/Lang/BBC-BASIC/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Executable-library b/Lang/BBC-BASIC/Executable-library
new file mode 120000
index 0000000000..099318e3b7
--- /dev/null
+++ b/Lang/BBC-BASIC/Executable-library
@@ -0,0 +1 @@
+../../Task/Executable-library/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Execute-HQ9+ b/Lang/BBC-BASIC/Execute-HQ9+
new file mode 120000
index 0000000000..1f31d2b842
--- /dev/null
+++ b/Lang/BBC-BASIC/Execute-HQ9+
@@ -0,0 +1 @@
+../../Task/Execute-HQ9+/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Execute-a-system-command b/Lang/BBC-BASIC/Execute-a-system-command
new file mode 120000
index 0000000000..1b01d38060
--- /dev/null
+++ b/Lang/BBC-BASIC/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Exponentiation-operator b/Lang/BBC-BASIC/Exponentiation-operator
new file mode 120000
index 0000000000..8de03527ea
--- /dev/null
+++ b/Lang/BBC-BASIC/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/Batch-File/Command-line-arguments b/Lang/Batch-File/Command-line-arguments
new file mode 120000
index 0000000000..08bc78fff3
--- /dev/null
+++ b/Lang/Batch-File/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Create-a-file b/Lang/Batch-File/Create-a-file
new file mode 120000
index 0000000000..375d0ca207
--- /dev/null
+++ b/Lang/Batch-File/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Dynamic-variable-names b/Lang/Batch-File/Dynamic-variable-names
new file mode 120000
index 0000000000..98413e84b4
--- /dev/null
+++ b/Lang/Batch-File/Dynamic-variable-names
@@ -0,0 +1 @@
+../../Task/Dynamic-variable-names/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Empty-program b/Lang/Batch-File/Empty-program
new file mode 120000
index 0000000000..9bfe5cb2c5
--- /dev/null
+++ b/Lang/Batch-File/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/Batch-File
\ No newline at end of file
diff --git a/Lang/Befunge/Character-codes b/Lang/Befunge/Character-codes
new file mode 120000
index 0000000000..da77a29466
--- /dev/null
+++ b/Lang/Befunge/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Befunge
\ No newline at end of file
diff --git a/Lang/Befunge/Conditional-structures b/Lang/Befunge/Conditional-structures
new file mode 120000
index 0000000000..20e0a1754b
--- /dev/null
+++ b/Lang/Befunge/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Befunge
\ No newline at end of file
diff --git a/Lang/Bori/Conditional-structures b/Lang/Bori/Conditional-structures
new file mode 120000
index 0000000000..8a75947df4
--- /dev/null
+++ b/Lang/Bori/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Bori
\ No newline at end of file
diff --git a/Lang/Bracmat/Character-matching b/Lang/Bracmat/Character-matching
new file mode 120000
index 0000000000..2dd0079e40
--- /dev/null
+++ b/Lang/Bracmat/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Combinations b/Lang/Bracmat/Combinations
new file mode 120000
index 0000000000..0f9bf047fd
--- /dev/null
+++ b/Lang/Bracmat/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Command-line-arguments b/Lang/Bracmat/Command-line-arguments
new file mode 120000
index 0000000000..6949a683ea
--- /dev/null
+++ b/Lang/Bracmat/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Compound-data-type b/Lang/Bracmat/Compound-data-type
new file mode 120000
index 0000000000..82bc8ddad6
--- /dev/null
+++ b/Lang/Bracmat/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Conditional-structures b/Lang/Bracmat/Conditional-structures
new file mode 120000
index 0000000000..cd3b69249b
--- /dev/null
+++ b/Lang/Bracmat/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Count-in-octal b/Lang/Bracmat/Count-in-octal
new file mode 120000
index 0000000000..7f415220d0
--- /dev/null
+++ b/Lang/Bracmat/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Count-occurrences-of-a-substring b/Lang/Bracmat/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..f6d33c0977
--- /dev/null
+++ b/Lang/Bracmat/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Create-a-file b/Lang/Bracmat/Create-a-file
new file mode 120000
index 0000000000..8d785b08b8
--- /dev/null
+++ b/Lang/Bracmat/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Deal-cards-for-FreeCell b/Lang/Bracmat/Deal-cards-for-FreeCell
new file mode 120000
index 0000000000..1c4c42771f
--- /dev/null
+++ b/Lang/Bracmat/Deal-cards-for-FreeCell
@@ -0,0 +1 @@
+../../Task/Deal-cards-for-FreeCell/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Dinesmans-multiple-dwelling-problem b/Lang/Bracmat/Dinesmans-multiple-dwelling-problem
new file mode 120000
index 0000000000..73b914d434
--- /dev/null
+++ b/Lang/Bracmat/Dinesmans-multiple-dwelling-problem
@@ -0,0 +1 @@
+../../Task/Dinesmans-multiple-dwelling-problem/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Dot-product b/Lang/Bracmat/Dot-product
new file mode 120000
index 0000000000..41e98e7974
--- /dev/null
+++ b/Lang/Bracmat/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Dynamic-variable-names b/Lang/Bracmat/Dynamic-variable-names
new file mode 120000
index 0000000000..bb78c3be48
--- /dev/null
+++ b/Lang/Bracmat/Dynamic-variable-names
@@ -0,0 +1 @@
+../../Task/Dynamic-variable-names/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Empty-program b/Lang/Bracmat/Empty-program
new file mode 120000
index 0000000000..2b0fc29e9f
--- /dev/null
+++ b/Lang/Bracmat/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Empty-string b/Lang/Bracmat/Empty-string
new file mode 120000
index 0000000000..f947f3b75a
--- /dev/null
+++ b/Lang/Bracmat/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Evaluate-binomial-coefficients b/Lang/Bracmat/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..fd27192584
--- /dev/null
+++ b/Lang/Bracmat/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Even-or-odd b/Lang/Bracmat/Even-or-odd
new file mode 120000
index 0000000000..b1f2ed5484
--- /dev/null
+++ b/Lang/Bracmat/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Execute-a-system-command b/Lang/Bracmat/Execute-a-system-command
new file mode 120000
index 0000000000..14adc43500
--- /dev/null
+++ b/Lang/Bracmat/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/Bracmat
\ No newline at end of file
diff --git a/Lang/Brainf---/Conditional-structures b/Lang/Brainf---/Conditional-structures
new file mode 120000
index 0000000000..35f6570cca
--- /dev/null
+++ b/Lang/Brainf---/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Brainf---
\ No newline at end of file
diff --git a/Lang/Brainf---/Count-in-octal b/Lang/Brainf---/Count-in-octal
new file mode 120000
index 0000000000..189d4177a4
--- /dev/null
+++ b/Lang/Brainf---/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/Brainf---
\ No newline at end of file
diff --git a/Lang/Brainf---/Even-or-odd b/Lang/Brainf---/Even-or-odd
new file mode 120000
index 0000000000..8ec68735b4
--- /dev/null
+++ b/Lang/Brainf---/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/Brainf---
\ No newline at end of file
diff --git a/Lang/Brat/Execute-a-system-command b/Lang/Brat/Execute-a-system-command
new file mode 120000
index 0000000000..7eb82e55c6
--- /dev/null
+++ b/Lang/Brat/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/Brat
\ No newline at end of file
diff --git a/Lang/Brat/Exponentiation-operator b/Lang/Brat/Exponentiation-operator
new file mode 120000
index 0000000000..57e8817a42
--- /dev/null
+++ b/Lang/Brat/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/Brat
\ No newline at end of file
diff --git a/Lang/Brlcad/Case-sensitivity-of-identifiers b/Lang/Brlcad/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..e4956e4325
--- /dev/null
+++ b/Lang/Brlcad/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/Brlcad
\ No newline at end of file
diff --git a/Lang/Brlcad/Draw-a-cuboid b/Lang/Brlcad/Draw-a-cuboid
new file mode 120000
index 0000000000..91ccd1e272
--- /dev/null
+++ b/Lang/Brlcad/Draw-a-cuboid
@@ -0,0 +1 @@
+../../Task/Draw-a-cuboid/Brlcad
\ No newline at end of file
diff --git a/Lang/Brlcad/Draw-a-sphere b/Lang/Brlcad/Draw-a-sphere
new file mode 120000
index 0000000000..850fab02cc
--- /dev/null
+++ b/Lang/Brlcad/Draw-a-sphere
@@ -0,0 +1 @@
+../../Task/Draw-a-sphere/Brlcad
\ No newline at end of file
diff --git a/Lang/Brlcad/Empty-program b/Lang/Brlcad/Empty-program
new file mode 120000
index 0000000000..5ed5873831
--- /dev/null
+++ b/Lang/Brlcad/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/Brlcad
\ No newline at end of file
diff --git a/Lang/Brlcad/Execute-a-system-command b/Lang/Brlcad/Execute-a-system-command
new file mode 120000
index 0000000000..a9a7e902de
--- /dev/null
+++ b/Lang/Brlcad/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/Brlcad
\ No newline at end of file
diff --git a/Lang/Burlesque/Conditional-structures b/Lang/Burlesque/Conditional-structures
new file mode 120000
index 0000000000..44b7b5bdba
--- /dev/null
+++ b/Lang/Burlesque/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Burlesque
\ No newline at end of file
diff --git a/Lang/Burlesque/Evaluate-binomial-coefficients b/Lang/Burlesque/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..dcfcee8e53
--- /dev/null
+++ b/Lang/Burlesque/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/Burlesque
\ No newline at end of file
diff --git a/Lang/Burlesque/Even-or-odd b/Lang/Burlesque/Even-or-odd
new file mode 120000
index 0000000000..b653bcc483
--- /dev/null
+++ b/Lang/Burlesque/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/Burlesque
\ No newline at end of file
diff --git a/Lang/C++-CLI/0DESCRIPTION b/Lang/C++-CLI/0DESCRIPTION
new file mode 100644
index 0000000000..2b5a6ed4f2
--- /dev/null
+++ b/Lang/C++-CLI/0DESCRIPTION
@@ -0,0 +1,2 @@
+{{language}}{{stub}}
+C++/CLI is a language created by Microsoft which extends C++ (similar to how C++ extends C) to support the CLI (.NET) framework.
\ No newline at end of file
diff --git a/Lang/C++-CLI/Color-of-a-screen-pixel b/Lang/C++-CLI/Color-of-a-screen-pixel
new file mode 120000
index 0000000000..1df27310c6
--- /dev/null
+++ b/Lang/C++-CLI/Color-of-a-screen-pixel
@@ -0,0 +1 @@
+../../Task/Color-of-a-screen-pixel/C++-CLI
\ No newline at end of file
diff --git a/Lang/C++/0DESCRIPTION b/Lang/C++/0DESCRIPTION
new file mode 100644
index 0000000000..a40d989057
--- /dev/null
+++ b/Lang/C++/0DESCRIPTION
@@ -0,0 +1,30 @@
+{{language|C++
+|exec=machine
+|safety=both
+|gc=no
+|parampass=both
+|checking=both
+|express=explicit
+|strength=strong
+|compat=both
+|tags=cpp
+|hopl id=1202
+|LCT=yes
+|bnf=http://cpp.comsci.us/syntax/statement/index.html}}{{codepad}}{{allows|Network access}}{{allows|Database access
+}}{{allows|Concurrency}}{{provides|Run time polymorphism}}{{provides|Compile time polymorphism}}{{allows|Windowing UI}}{{allows|Graphics}}{{allows|OpenGL}}{{allows|Dynamic linking}}{{provides|File access}}{{allows|File system access}}{{provides|Objects}}{{allows|Signal handling}}{{provides|Mutable state}}
+'''C++''' is named after the [[derived from::compatible with::C]] language, from which it is derived. C++ extends C into becoming an [[object-oriented language]]. However, unlike other object-oriented languages, it doesn't try to force you into [[object-oriented programming]], but is a multi-[[:Category:Programming Paradigms|paradigm]] language. Besides conventional [[procedural programming]] and object-oriented programming, it also supports [[generic programming]].
+
+The ++ in C++ is some what of an inside joke, in that C++ is C with a Post Increment operator attached, thus C++ is C + 1; however, this interpretation has the flaw that post-increment increments the value ''after'' returning the value, so the post-increment expression still evaluates to the value before the increment.
+
+If you can't find an implementation for your task in the C++ category below, please look in the [[C]] category, as many of the tasks can be implemented identically in C and C++.
+
+==Versions==
+* '''C++98''' is the version of C++ standardized by ISO in 1998. It is the most commonly used and supported version of the language. The term "C++" usually refers to C++98.
+* '''C++03''' is a minor improvement to C++98, standardized by ISO in 2003.
+* '''TR1''' (Technical Report 1) is a proposal for extensions to the C++ standard library. It was published in 2007. Many of its proposals made it into C++11. Many compilers support it, but put its headers in a different directory.
+* '''C++11''' (formerly called '''C++0x''') is a significant improvement, adding many new language features and libraries. It was standardized by ISO in 2011. It is not completely supported by many, if any, compilers, but most of its features are available in [[GCC]] [http://gcc.gnu.org/projects/cxx0x.html] and [[Clang]] [http://clang.llvm.org/cxx_status.html].
+
+{{language programming paradigm|Imperative}}
+{{language programming paradigm|Object-oriented}}
+{{language programming paradigm|Generic}}
+
\ No newline at end of file
diff --git a/Lang/C++/100-doors b/Lang/C++/100-doors
new file mode 120000
index 0000000000..96df4a761e
--- /dev/null
+++ b/Lang/C++/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/C++
\ No newline at end of file
diff --git a/Lang/C++/24-game b/Lang/C++/24-game
new file mode 120000
index 0000000000..5353966124
--- /dev/null
+++ b/Lang/C++/24-game
@@ -0,0 +1 @@
+../../Task/24-game/C++
\ No newline at end of file
diff --git a/Lang/C++/99-Bottles-of-Beer b/Lang/C++/99-Bottles-of-Beer
new file mode 120000
index 0000000000..e0a12a71f2
--- /dev/null
+++ b/Lang/C++/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/C++
\ No newline at end of file
diff --git a/Lang/C++/A+B b/Lang/C++/A+B
new file mode 120000
index 0000000000..2d82269630
--- /dev/null
+++ b/Lang/C++/A+B
@@ -0,0 +1 @@
+../../Task/A+B/C++
\ No newline at end of file
diff --git a/Lang/C++/Abstract-type b/Lang/C++/Abstract-type
new file mode 120000
index 0000000000..5a66f8b092
--- /dev/null
+++ b/Lang/C++/Abstract-type
@@ -0,0 +1 @@
+../../Task/Abstract-type/C++
\ No newline at end of file
diff --git a/Lang/C++/Accumulator-factory b/Lang/C++/Accumulator-factory
new file mode 120000
index 0000000000..2865f9f91c
--- /dev/null
+++ b/Lang/C++/Accumulator-factory
@@ -0,0 +1 @@
+../../Task/Accumulator-factory/C++
\ No newline at end of file
diff --git a/Lang/C++/Ackermann-function b/Lang/C++/Ackermann-function
new file mode 120000
index 0000000000..de471fb697
--- /dev/null
+++ b/Lang/C++/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/C++
\ No newline at end of file
diff --git a/Lang/C++/Anagrams b/Lang/C++/Anagrams
new file mode 120000
index 0000000000..6621a70ef3
--- /dev/null
+++ b/Lang/C++/Anagrams
@@ -0,0 +1 @@
+../../Task/Anagrams/C++
\ No newline at end of file
diff --git a/Lang/C++/Animate-a-pendulum b/Lang/C++/Animate-a-pendulum
new file mode 120000
index 0000000000..4f46f900e2
--- /dev/null
+++ b/Lang/C++/Animate-a-pendulum
@@ -0,0 +1 @@
+../../Task/Animate-a-pendulum/C++
\ No newline at end of file
diff --git a/Lang/C++/Anonymous-recursion b/Lang/C++/Anonymous-recursion
new file mode 120000
index 0000000000..b13b7af1d8
--- /dev/null
+++ b/Lang/C++/Anonymous-recursion
@@ -0,0 +1 @@
+../../Task/Anonymous-recursion/C++
\ No newline at end of file
diff --git a/Lang/C++/Apply-a-callback-to-an-array b/Lang/C++/Apply-a-callback-to-an-array
new file mode 120000
index 0000000000..ccb8852fb4
--- /dev/null
+++ b/Lang/C++/Apply-a-callback-to-an-array
@@ -0,0 +1 @@
+../../Task/Apply-a-callback-to-an-array/C++
\ No newline at end of file
diff --git a/Lang/C++/Arena-storage-pool b/Lang/C++/Arena-storage-pool
new file mode 120000
index 0000000000..2397f917c6
--- /dev/null
+++ b/Lang/C++/Arena-storage-pool
@@ -0,0 +1 @@
+../../Task/Arena-storage-pool/C++
\ No newline at end of file
diff --git a/Lang/C++/Arithmetic-Complex b/Lang/C++/Arithmetic-Complex
new file mode 120000
index 0000000000..6c32243a82
--- /dev/null
+++ b/Lang/C++/Arithmetic-Complex
@@ -0,0 +1 @@
+../../Task/Arithmetic-Complex/C++
\ No newline at end of file
diff --git a/Lang/C++/Arithmetic-Integer b/Lang/C++/Arithmetic-Integer
new file mode 120000
index 0000000000..f96e1d233c
--- /dev/null
+++ b/Lang/C++/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/C++
\ No newline at end of file
diff --git a/Lang/C++/Arithmetic-Rational b/Lang/C++/Arithmetic-Rational
new file mode 120000
index 0000000000..1e97dd14e4
--- /dev/null
+++ b/Lang/C++/Arithmetic-Rational
@@ -0,0 +1 @@
+../../Task/Arithmetic-Rational/C++
\ No newline at end of file
diff --git a/Lang/C++/Arithmetic-evaluation b/Lang/C++/Arithmetic-evaluation
new file mode 120000
index 0000000000..275eaddb58
--- /dev/null
+++ b/Lang/C++/Arithmetic-evaluation
@@ -0,0 +1 @@
+../../Task/Arithmetic-evaluation/C++
\ No newline at end of file
diff --git a/Lang/C++/Arithmetic-geometric-mean b/Lang/C++/Arithmetic-geometric-mean
new file mode 120000
index 0000000000..86e37727bb
--- /dev/null
+++ b/Lang/C++/Arithmetic-geometric-mean
@@ -0,0 +1 @@
+../../Task/Arithmetic-geometric-mean/C++
\ No newline at end of file
diff --git a/Lang/C++/Array-concatenation b/Lang/C++/Array-concatenation
new file mode 120000
index 0000000000..5bd2765b16
--- /dev/null
+++ b/Lang/C++/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/C++
\ No newline at end of file
diff --git a/Lang/C++/Arrays b/Lang/C++/Arrays
new file mode 120000
index 0000000000..01cdbf0a03
--- /dev/null
+++ b/Lang/C++/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/C++
\ No newline at end of file
diff --git a/Lang/C++/Assertions b/Lang/C++/Assertions
new file mode 120000
index 0000000000..5a5dd4a460
--- /dev/null
+++ b/Lang/C++/Assertions
@@ -0,0 +1 @@
+../../Task/Assertions/C++
\ No newline at end of file
diff --git a/Lang/C++/Associative-array-Creation b/Lang/C++/Associative-array-Creation
new file mode 120000
index 0000000000..3934ef985d
--- /dev/null
+++ b/Lang/C++/Associative-array-Creation
@@ -0,0 +1 @@
+../../Task/Associative-array-Creation/C++
\ No newline at end of file
diff --git a/Lang/C++/Associative-array-Iteration b/Lang/C++/Associative-array-Iteration
new file mode 120000
index 0000000000..4b10b8efc0
--- /dev/null
+++ b/Lang/C++/Associative-array-Iteration
@@ -0,0 +1 @@
+../../Task/Associative-array-Iteration/C++
\ No newline at end of file
diff --git a/Lang/C++/Averages-Arithmetic-mean b/Lang/C++/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..e9d5a71beb
--- /dev/null
+++ b/Lang/C++/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/C++
\ No newline at end of file
diff --git a/Lang/C++/Averages-Median b/Lang/C++/Averages-Median
new file mode 120000
index 0000000000..7fad8fa076
--- /dev/null
+++ b/Lang/C++/Averages-Median
@@ -0,0 +1 @@
+../../Task/Averages-Median/C++
\ No newline at end of file
diff --git a/Lang/C++/Averages-Mode b/Lang/C++/Averages-Mode
new file mode 120000
index 0000000000..06b97a5f92
--- /dev/null
+++ b/Lang/C++/Averages-Mode
@@ -0,0 +1 @@
+../../Task/Averages-Mode/C++
\ No newline at end of file
diff --git a/Lang/C++/Averages-Pythagorean-means b/Lang/C++/Averages-Pythagorean-means
new file mode 120000
index 0000000000..0d6943c9a7
--- /dev/null
+++ b/Lang/C++/Averages-Pythagorean-means
@@ -0,0 +1 @@
+../../Task/Averages-Pythagorean-means/C++
\ No newline at end of file
diff --git a/Lang/C++/Averages-Root-mean-square b/Lang/C++/Averages-Root-mean-square
new file mode 120000
index 0000000000..1491f928b7
--- /dev/null
+++ b/Lang/C++/Averages-Root-mean-square
@@ -0,0 +1 @@
+../../Task/Averages-Root-mean-square/C++
\ No newline at end of file
diff --git a/Lang/C++/Averages-Simple-moving-average b/Lang/C++/Averages-Simple-moving-average
new file mode 120000
index 0000000000..fd8428c094
--- /dev/null
+++ b/Lang/C++/Averages-Simple-moving-average
@@ -0,0 +1 @@
+../../Task/Averages-Simple-moving-average/C++
\ No newline at end of file
diff --git a/Lang/C++/Balanced-brackets b/Lang/C++/Balanced-brackets
new file mode 120000
index 0000000000..6180e022c7
--- /dev/null
+++ b/Lang/C++/Balanced-brackets
@@ -0,0 +1 @@
+../../Task/Balanced-brackets/C++
\ No newline at end of file
diff --git a/Lang/C++/Binary-search b/Lang/C++/Binary-search
new file mode 120000
index 0000000000..768c2e64ec
--- /dev/null
+++ b/Lang/C++/Binary-search
@@ -0,0 +1 @@
+../../Task/Binary-search/C++
\ No newline at end of file
diff --git a/Lang/C++/Bitmap b/Lang/C++/Bitmap
new file mode 120000
index 0000000000..f9b19598de
--- /dev/null
+++ b/Lang/C++/Bitmap
@@ -0,0 +1 @@
+../../Task/Bitmap/C++
\ No newline at end of file
diff --git a/Lang/C++/Bitmap-Bresenhams-line-algorithm b/Lang/C++/Bitmap-Bresenhams-line-algorithm
new file mode 120000
index 0000000000..2553a18aef
--- /dev/null
+++ b/Lang/C++/Bitmap-Bresenhams-line-algorithm
@@ -0,0 +1 @@
+../../Task/Bitmap-Bresenhams-line-algorithm/C++
\ No newline at end of file
diff --git a/Lang/C++/Bitwise-operations b/Lang/C++/Bitwise-operations
new file mode 120000
index 0000000000..4a89defb5b
--- /dev/null
+++ b/Lang/C++/Bitwise-operations
@@ -0,0 +1 @@
+../../Task/Bitwise-operations/C++
\ No newline at end of file
diff --git a/Lang/C++/Box-the-compass b/Lang/C++/Box-the-compass
new file mode 120000
index 0000000000..a1e03d3a67
--- /dev/null
+++ b/Lang/C++/Box-the-compass
@@ -0,0 +1 @@
+../../Task/Box-the-compass/C++
\ No newline at end of file
diff --git a/Lang/C++/Break-OO-privacy b/Lang/C++/Break-OO-privacy
new file mode 120000
index 0000000000..815ee77a22
--- /dev/null
+++ b/Lang/C++/Break-OO-privacy
@@ -0,0 +1 @@
+../../Task/Break-OO-privacy/C++
\ No newline at end of file
diff --git a/Lang/C++/Bulls-and-cows b/Lang/C++/Bulls-and-cows
new file mode 120000
index 0000000000..949d1b468e
--- /dev/null
+++ b/Lang/C++/Bulls-and-cows
@@ -0,0 +1 @@
+../../Task/Bulls-and-cows/C++
\ No newline at end of file
diff --git a/Lang/C++/CSV-to-HTML-translation b/Lang/C++/CSV-to-HTML-translation
new file mode 120000
index 0000000000..114b8631c8
--- /dev/null
+++ b/Lang/C++/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/C++
\ No newline at end of file
diff --git a/Lang/C++/Caesar-cipher b/Lang/C++/Caesar-cipher
new file mode 120000
index 0000000000..500989457d
--- /dev/null
+++ b/Lang/C++/Caesar-cipher
@@ -0,0 +1 @@
+../../Task/Caesar-cipher/C++
\ No newline at end of file
diff --git a/Lang/C++/Call-a-foreign-language-function b/Lang/C++/Call-a-foreign-language-function
new file mode 120000
index 0000000000..93cbde9113
--- /dev/null
+++ b/Lang/C++/Call-a-foreign-language-function
@@ -0,0 +1 @@
+../../Task/Call-a-foreign-language-function/C++
\ No newline at end of file
diff --git a/Lang/C++/Call-an-object-method b/Lang/C++/Call-an-object-method
new file mode 120000
index 0000000000..8042ad59ed
--- /dev/null
+++ b/Lang/C++/Call-an-object-method
@@ -0,0 +1 @@
+../../Task/Call-an-object-method/C++
\ No newline at end of file
diff --git a/Lang/C++/Character-codes b/Lang/C++/Character-codes
new file mode 120000
index 0000000000..5ebe2488c8
--- /dev/null
+++ b/Lang/C++/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/C++
\ No newline at end of file
diff --git a/Lang/C++/Character-matching b/Lang/C++/Character-matching
new file mode 120000
index 0000000000..3c821871c8
--- /dev/null
+++ b/Lang/C++/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/C++
\ No newline at end of file
diff --git a/Lang/C++/Check-that-file-exists b/Lang/C++/Check-that-file-exists
new file mode 120000
index 0000000000..63fc9d7c3d
--- /dev/null
+++ b/Lang/C++/Check-that-file-exists
@@ -0,0 +1 @@
+../../Task/Check-that-file-exists/C++
\ No newline at end of file
diff --git a/Lang/C++/Classes b/Lang/C++/Classes
new file mode 120000
index 0000000000..9592402a36
--- /dev/null
+++ b/Lang/C++/Classes
@@ -0,0 +1 @@
+../../Task/Classes/C++
\ No newline at end of file
diff --git a/Lang/C++/Collections b/Lang/C++/Collections
new file mode 120000
index 0000000000..415b1020da
--- /dev/null
+++ b/Lang/C++/Collections
@@ -0,0 +1 @@
+../../Task/Collections/C++
\ No newline at end of file
diff --git a/Lang/C++/Colour-bars-Display b/Lang/C++/Colour-bars-Display
new file mode 120000
index 0000000000..4156f38cd5
--- /dev/null
+++ b/Lang/C++/Colour-bars-Display
@@ -0,0 +1 @@
+../../Task/Colour-bars-Display/C++
\ No newline at end of file
diff --git a/Lang/C++/Combinations b/Lang/C++/Combinations
new file mode 120000
index 0000000000..9a2091f15b
--- /dev/null
+++ b/Lang/C++/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/C++
\ No newline at end of file
diff --git a/Lang/C++/Command-line-arguments b/Lang/C++/Command-line-arguments
new file mode 120000
index 0000000000..e4679f055d
--- /dev/null
+++ b/Lang/C++/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/C++
\ No newline at end of file
diff --git a/Lang/C++/Comments b/Lang/C++/Comments
new file mode 120000
index 0000000000..593e7e94c9
--- /dev/null
+++ b/Lang/C++/Comments
@@ -0,0 +1 @@
+../../Task/Comments/C++
\ No newline at end of file
diff --git a/Lang/C++/Compile-time-calculation b/Lang/C++/Compile-time-calculation
new file mode 120000
index 0000000000..bbf5519940
--- /dev/null
+++ b/Lang/C++/Compile-time-calculation
@@ -0,0 +1 @@
+../../Task/Compile-time-calculation/C++
\ No newline at end of file
diff --git a/Lang/C++/Compound-data-type b/Lang/C++/Compound-data-type
new file mode 120000
index 0000000000..596e7b28ee
--- /dev/null
+++ b/Lang/C++/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/C++
\ No newline at end of file
diff --git a/Lang/C++/Concurrent-computing b/Lang/C++/Concurrent-computing
new file mode 120000
index 0000000000..0588af0066
--- /dev/null
+++ b/Lang/C++/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/C++
\ No newline at end of file
diff --git a/Lang/C++/Conditional-structures b/Lang/C++/Conditional-structures
new file mode 120000
index 0000000000..6b7f865533
--- /dev/null
+++ b/Lang/C++/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/C++
\ No newline at end of file
diff --git a/Lang/C++/Continued-fraction b/Lang/C++/Continued-fraction
new file mode 120000
index 0000000000..52f67e8b5a
--- /dev/null
+++ b/Lang/C++/Continued-fraction
@@ -0,0 +1 @@
+../../Task/Continued-fraction/C++
\ No newline at end of file
diff --git a/Lang/C++/Continued-fraction-Arithmetic-Construct-from-rational-number b/Lang/C++/Continued-fraction-Arithmetic-Construct-from-rational-number
new file mode 120000
index 0000000000..581e3c7a69
--- /dev/null
+++ b/Lang/C++/Continued-fraction-Arithmetic-Construct-from-rational-number
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-Construct-from-rational-number/C++
\ No newline at end of file
diff --git a/Lang/C++/Continued-fraction-Arithmetic-G(matrix-NG,-Contined-Fraction-N) b/Lang/C++/Continued-fraction-Arithmetic-G(matrix-NG,-Contined-Fraction-N)
new file mode 120000
index 0000000000..0588cbbce9
--- /dev/null
+++ b/Lang/C++/Continued-fraction-Arithmetic-G(matrix-NG,-Contined-Fraction-N)
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-G(matrix-NG,-Contined-Fraction-N)/C++
\ No newline at end of file
diff --git a/Lang/C++/Continued-fraction-Arithmetic-G(matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2) b/Lang/C++/Continued-fraction-Arithmetic-G(matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2)
new file mode 120000
index 0000000000..ba452b8bd0
--- /dev/null
+++ b/Lang/C++/Continued-fraction-Arithmetic-G(matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2)
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-G(matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2)/C++
\ No newline at end of file
diff --git a/Lang/C++/Conways-Game-of-Life b/Lang/C++/Conways-Game-of-Life
new file mode 120000
index 0000000000..3a820231d4
--- /dev/null
+++ b/Lang/C++/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/C++
\ No newline at end of file
diff --git a/Lang/C++/Count-in-octal b/Lang/C++/Count-in-octal
new file mode 120000
index 0000000000..3756ff3c9c
--- /dev/null
+++ b/Lang/C++/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/C++
\ No newline at end of file
diff --git a/Lang/C++/Count-occurrences-of-a-substring b/Lang/C++/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..0af85a902a
--- /dev/null
+++ b/Lang/C++/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/C++
\ No newline at end of file
diff --git a/Lang/C++/Create-a-file b/Lang/C++/Create-a-file
new file mode 120000
index 0000000000..0bbb582a6b
--- /dev/null
+++ b/Lang/C++/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/C++
\ No newline at end of file
diff --git a/Lang/C++/Create-a-two-dimensional-array-at-runtime b/Lang/C++/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..a69d2a9b3b
--- /dev/null
+++ b/Lang/C++/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/C++
\ No newline at end of file
diff --git a/Lang/C++/Create-an-HTML-table b/Lang/C++/Create-an-HTML-table
new file mode 120000
index 0000000000..13b56f1c14
--- /dev/null
+++ b/Lang/C++/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/C++
\ No newline at end of file
diff --git a/Lang/C++/Create-an-object-at-a-given-address b/Lang/C++/Create-an-object-at-a-given-address
new file mode 120000
index 0000000000..da0b6c7933
--- /dev/null
+++ b/Lang/C++/Create-an-object-at-a-given-address
@@ -0,0 +1 @@
+../../Task/Create-an-object-at-a-given-address/C++
\ No newline at end of file
diff --git a/Lang/C++/Date-format b/Lang/C++/Date-format
new file mode 120000
index 0000000000..ac52a7dd58
--- /dev/null
+++ b/Lang/C++/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/C++
\ No newline at end of file
diff --git a/Lang/C++/Date-manipulation b/Lang/C++/Date-manipulation
new file mode 120000
index 0000000000..e2487f1deb
--- /dev/null
+++ b/Lang/C++/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/C++
\ No newline at end of file
diff --git a/Lang/C++/Day-of-the-week b/Lang/C++/Day-of-the-week
new file mode 120000
index 0000000000..9d942a0990
--- /dev/null
+++ b/Lang/C++/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/C++
\ No newline at end of file
diff --git a/Lang/C++/Define-a-primitive-data-type b/Lang/C++/Define-a-primitive-data-type
new file mode 120000
index 0000000000..adacd9c880
--- /dev/null
+++ b/Lang/C++/Define-a-primitive-data-type
@@ -0,0 +1 @@
+../../Task/Define-a-primitive-data-type/C++
\ No newline at end of file
diff --git a/Lang/C++/Delegates b/Lang/C++/Delegates
new file mode 120000
index 0000000000..a66f222acb
--- /dev/null
+++ b/Lang/C++/Delegates
@@ -0,0 +1 @@
+../../Task/Delegates/C++
\ No newline at end of file
diff --git a/Lang/C++/Delete-a-file b/Lang/C++/Delete-a-file
new file mode 120000
index 0000000000..0691641dd9
--- /dev/null
+++ b/Lang/C++/Delete-a-file
@@ -0,0 +1 @@
+../../Task/Delete-a-file/C++
\ No newline at end of file
diff --git a/Lang/C++/Determine-if-a-string-is-numeric b/Lang/C++/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..92a166821a
--- /dev/null
+++ b/Lang/C++/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/C++
\ No newline at end of file
diff --git a/Lang/C++/Determine-if-only-one-instance-is-running b/Lang/C++/Determine-if-only-one-instance-is-running
new file mode 120000
index 0000000000..96003c84b0
--- /dev/null
+++ b/Lang/C++/Determine-if-only-one-instance-is-running
@@ -0,0 +1 @@
+../../Task/Determine-if-only-one-instance-is-running/C++
\ No newline at end of file
diff --git a/Lang/C++/Digital-root b/Lang/C++/Digital-root
new file mode 120000
index 0000000000..705e6a8ba8
--- /dev/null
+++ b/Lang/C++/Digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root/C++
\ No newline at end of file
diff --git a/Lang/C++/Dining-philosophers b/Lang/C++/Dining-philosophers
new file mode 120000
index 0000000000..eecbd1488d
--- /dev/null
+++ b/Lang/C++/Dining-philosophers
@@ -0,0 +1 @@
+../../Task/Dining-philosophers/C++
\ No newline at end of file
diff --git a/Lang/C++/Dot-product b/Lang/C++/Dot-product
new file mode 120000
index 0000000000..10a069b9e3
--- /dev/null
+++ b/Lang/C++/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/C++
\ No newline at end of file
diff --git a/Lang/C++/Dutch-national-flag-problem b/Lang/C++/Dutch-national-flag-problem
new file mode 120000
index 0000000000..afa8b38a70
--- /dev/null
+++ b/Lang/C++/Dutch-national-flag-problem
@@ -0,0 +1 @@
+../../Task/Dutch-national-flag-problem/C++
\ No newline at end of file
diff --git a/Lang/C++/Empty-program b/Lang/C++/Empty-program
new file mode 120000
index 0000000000..ce72963617
--- /dev/null
+++ b/Lang/C++/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/C++
\ No newline at end of file
diff --git a/Lang/C++/Empty-string b/Lang/C++/Empty-string
new file mode 120000
index 0000000000..7a3b403ef9
--- /dev/null
+++ b/Lang/C++/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/C++
\ No newline at end of file
diff --git a/Lang/C++/Enforced-immutability b/Lang/C++/Enforced-immutability
new file mode 120000
index 0000000000..7f974a54e8
--- /dev/null
+++ b/Lang/C++/Enforced-immutability
@@ -0,0 +1 @@
+../../Task/Enforced-immutability/C++
\ No newline at end of file
diff --git a/Lang/C++/Enumerations b/Lang/C++/Enumerations
new file mode 120000
index 0000000000..d6df46c7f3
--- /dev/null
+++ b/Lang/C++/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/C++
\ No newline at end of file
diff --git a/Lang/C++/Equilibrium-index b/Lang/C++/Equilibrium-index
new file mode 120000
index 0000000000..10ba9782d9
--- /dev/null
+++ b/Lang/C++/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/C++
\ No newline at end of file
diff --git a/Lang/C++/Ethiopian-multiplication b/Lang/C++/Ethiopian-multiplication
new file mode 120000
index 0000000000..6c8b7f84c4
--- /dev/null
+++ b/Lang/C++/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/C++
\ No newline at end of file
diff --git a/Lang/C++/Euler-method b/Lang/C++/Euler-method
new file mode 120000
index 0000000000..c0294c291e
--- /dev/null
+++ b/Lang/C++/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/C++
\ No newline at end of file
diff --git a/Lang/C++/Evaluate-binomial-coefficients b/Lang/C++/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..ca9e000e3a
--- /dev/null
+++ b/Lang/C++/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/C++
\ No newline at end of file
diff --git a/Lang/C++/Even-or-odd b/Lang/C++/Even-or-odd
new file mode 120000
index 0000000000..e5b4a2cc5b
--- /dev/null
+++ b/Lang/C++/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/C++
\ No newline at end of file
diff --git a/Lang/C++/Evolutionary-algorithm b/Lang/C++/Evolutionary-algorithm
new file mode 120000
index 0000000000..bfaaaddfd3
--- /dev/null
+++ b/Lang/C++/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/C++
\ No newline at end of file
diff --git a/Lang/C++/Exceptions b/Lang/C++/Exceptions
new file mode 120000
index 0000000000..339fd0bd98
--- /dev/null
+++ b/Lang/C++/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/C++
\ No newline at end of file
diff --git a/Lang/C++/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/C++/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..18dba36595
--- /dev/null
+++ b/Lang/C++/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/C++
\ No newline at end of file
diff --git a/Lang/C++/Execute-HQ9+ b/Lang/C++/Execute-HQ9+
new file mode 120000
index 0000000000..d4878b9809
--- /dev/null
+++ b/Lang/C++/Execute-HQ9+
@@ -0,0 +1 @@
+../../Task/Execute-HQ9+/C++
\ No newline at end of file
diff --git a/Lang/C++/Execute-a-system-command b/Lang/C++/Execute-a-system-command
new file mode 120000
index 0000000000..2d545c92a2
--- /dev/null
+++ b/Lang/C++/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/C++
\ No newline at end of file
diff --git a/Lang/C++/Exponentiation-operator b/Lang/C++/Exponentiation-operator
new file mode 120000
index 0000000000..86371aee83
--- /dev/null
+++ b/Lang/C++/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/C++
\ No newline at end of file
diff --git a/Lang/C++/FizzBuzz b/Lang/C++/FizzBuzz
new file mode 120000
index 0000000000..e1ba1c442a
--- /dev/null
+++ b/Lang/C++/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/C++
\ No newline at end of file
diff --git a/Lang/C++/Infinity b/Lang/C++/Infinity
new file mode 120000
index 0000000000..8fcfcb622b
--- /dev/null
+++ b/Lang/C++/Infinity
@@ -0,0 +1 @@
+../../Task/Infinity/C++
\ No newline at end of file
diff --git a/Lang/C++/JSON b/Lang/C++/JSON
new file mode 120000
index 0000000000..22c772d81f
--- /dev/null
+++ b/Lang/C++/JSON
@@ -0,0 +1 @@
+../../Task/JSON/C++
\ No newline at end of file
diff --git a/Lang/C++/Knuth-shuffle b/Lang/C++/Knuth-shuffle
new file mode 120000
index 0000000000..3adf7553c9
--- /dev/null
+++ b/Lang/C++/Knuth-shuffle
@@ -0,0 +1 @@
+../../Task/Knuth-shuffle/C++
\ No newline at end of file
diff --git a/Lang/C++/Ordered-words b/Lang/C++/Ordered-words
new file mode 120000
index 0000000000..ccbe3d514b
--- /dev/null
+++ b/Lang/C++/Ordered-words
@@ -0,0 +1 @@
+../../Task/Ordered-words/C++
\ No newline at end of file
diff --git a/Lang/C++/Pi b/Lang/C++/Pi
new file mode 120000
index 0000000000..1d87dd0375
--- /dev/null
+++ b/Lang/C++/Pi
@@ -0,0 +1 @@
+../../Task/Pi/C++
\ No newline at end of file
diff --git a/Lang/C++/Quine b/Lang/C++/Quine
new file mode 120000
index 0000000000..886120aa65
--- /dev/null
+++ b/Lang/C++/Quine
@@ -0,0 +1 @@
+../../Task/Quine/C++
\ No newline at end of file
diff --git a/Lang/C++/Search-a-list b/Lang/C++/Search-a-list
new file mode 120000
index 0000000000..df0dd05760
--- /dev/null
+++ b/Lang/C++/Search-a-list
@@ -0,0 +1 @@
+../../Task/Search-a-list/C++
\ No newline at end of file
diff --git a/Lang/C-Shell/0DESCRIPTION b/Lang/C-Shell/0DESCRIPTION
new file mode 100644
index 0000000000..f15c7c3fa6
--- /dev/null
+++ b/Lang/C-Shell/0DESCRIPTION
@@ -0,0 +1,108 @@
+{{language
+|exec=interpreted
+|tags=csh
+|hopl id=1936
+}}{{implementation|UNIX Shell}}
+'''csh''' was the shell that William Joy wrote for [[BSD]]. '''csh''' accepted the same [[Unix]] commands as other shells, but had a very different syntax (for variable assignments, control flow, and such). '''csh''' is not compatible with the [[Bourne Shell]].
+
+BSD keeps the C Shell at /bin/csh. [[Hashbang]] lines should use the -f option:
+
+#!/bin/csh -f
+
+== Reputation ==
+C Shell is obsolete. Most scriptwriters prefer a Bourne-compatible shell, and few users want to learn two flavors of shells. C Shell introduced tilde expansion (ls ~), job control, command history, and aliases, but POSIX shells now have all of those.
+
+[http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/ Csh Programming Considered Harmful] and [http://www.grymoire.com/Unix/CshTop10.txt Top Ten Reasons not to use the C shell] give multiple reasons to avoid C Shell.
+
+== Syntax ==
+[http://www.openbsd.org/cgi-bin/man.cgi?query=csh&apropos=0&sektion=1&manpath=OpenBSD+Current&arch=i386&format=html The manual for csh(1)] claims that C Shell has "a C-like syntax". Several other languages have a C-like syntax, including [[Java]] and [[Pike]], and Unix utilities [[AWK]] and [[bc]]. C Shell is less like [[C]] than those other languages.
+
+This example prints a [[Hailstone sequence]] from 13.
+
+{| class="wikitable"
+! C
+! C Shell
+|-
+|| #include
+
+int
+main()
+{
+ int n;
+
+ n = 13;
+ printf("%d\n", n);
+ while (n != 1) {
+ if (n % 2)
+ n = 3 * n + 1;
+ else
+ n /= 2;
+
+ printf("%d\n", n);
+ }
+
+ return 0;
+}
+||
+
+
+
+
+
+
+@ n = 13
+echo $n
+while ($n != 1)
+ if ($n % 2) then
+ @ n = 3 * $n + 1
+ else
+ @ n /= 2
+ endif
+ echo $n
+end
+
+
+
+|}
+
+C Shell has no braces {} to group the commands. Strange keywords are then, endif and end. Expressions have $n instead of n. Assignments use @ n.
+
+C Shell has "a C-like syntax" because C Shell is more like C than [[Bourne Shell]].
+
+{| class="wikitable"
+! Bourne Shell
+! C Shell
+|-
+|| n=13
+echo $n
+while test $n -ne 1; do
+ if expr $n % 2 >/dev/null; then
+ n=`expr 3 \* $n + 1`
+ else
+ n=`expr $n / 2`
+ fi
+ echo $n
+done
+|| @ n = 13
+echo $n
+while ($n != 1)
+ if ($n % 2) then
+ @ n = 3 * $n + 1
+ else
+ @ n /= 2
+ endif
+ echo $n
+end
+|}
+
+Bourne Shell requires test or expr to evaluate expressions. C Shell has built-in expressions, so the Hailstone sequence comes more easily. These expressions have a stupid quirk: all operators are right-associative, so 10 - 3 - 2 acts like 10 - (3 - 2). The fix is to use parentheses.
+
+% @ n = 10 - 3 - 2
+% echo $n
+9
+% @ n = (10 - 3) - 2
+% echo $n
+5
+
+== Links ==
+* [[OpenBSD]] has [http://www.openbsd.org/cgi-bin/man.cgi?query=csh&apropos=0&sektion=1&manpath=OpenBSD+Current&arch=i386&format=html csh(1) manual] and [http://www.openbsd.org/cgi-bin/cvsweb/src/bin/csh/ source code].
\ No newline at end of file
diff --git a/Lang/C-sharp/0DESCRIPTION b/Lang/C-sharp/0DESCRIPTION
new file mode 100644
index 0000000000..f9abd37fde
--- /dev/null
+++ b/Lang/C-sharp/0DESCRIPTION
@@ -0,0 +1,23 @@
+
Due to technical limitations, the link [[C sharp|C#]] points to the [[C]] [[programming language]] in some articles. To correct this issue, replace [[C#]] with [[C sharp|C#]], and {{header|C#}} with {{header|C sharp|C#}}
+{{language|C sharp
+|exec=bytecode
+|gc=yes
+|strength=strong
+|checking=static
+|compat=nominative
+|express=implicit
+|safety=both
+|tags=csharp
+|hopl id=3445
+|LCT=yes
+|bnf=http://csharp.comsci.us/syntax/expression/ebnf.html}}[[runs on vm::common language runtime| ]]
+
+'''C#''' is an [[object-oriented language|object-oriented programming language]] developed by Microsoft as part of their .NET initiative, and later approved as a standard by [[wp:ECMA|ECMA]] and [[ISO]]. C# has a procedural, [[object-oriented language|object-oriented]] syntax based on [[C++]] that includes aspects of several other programming languages (most notably [[Delphi]] and [[Java]]) with a particular emphasis on simplification (fewer symbolic requirements than [[C++]], fewer declarative requirements than [[Java]]).
+
+==Citations==
+*[[wp:C_sharp|Wikipedia:C#]]
+
+{{language programming paradigm|Imperative}}
+{{language programming paradigm|Object-oriented}}
+{{language programming paradigm|Generic}}
+{{language programming paradigm|Reflective}}
\ No newline at end of file
diff --git a/Lang/C-sharp/100-doors b/Lang/C-sharp/100-doors
new file mode 120000
index 0000000000..b561b92b6e
--- /dev/null
+++ b/Lang/C-sharp/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/99-Bottles-of-Beer b/Lang/C-sharp/99-Bottles-of-Beer
new file mode 120000
index 0000000000..2338fb9478
--- /dev/null
+++ b/Lang/C-sharp/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Abstract-type b/Lang/C-sharp/Abstract-type
new file mode 120000
index 0000000000..d22d69c09c
--- /dev/null
+++ b/Lang/C-sharp/Abstract-type
@@ -0,0 +1 @@
+../../Task/Abstract-type/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Ackermann-function b/Lang/C-sharp/Ackermann-function
new file mode 120000
index 0000000000..a0a547230f
--- /dev/null
+++ b/Lang/C-sharp/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Address-of-a-variable b/Lang/C-sharp/Address-of-a-variable
new file mode 120000
index 0000000000..65df5a9933
--- /dev/null
+++ b/Lang/C-sharp/Address-of-a-variable
@@ -0,0 +1 @@
+../../Task/Address-of-a-variable/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Align-columns b/Lang/C-sharp/Align-columns
new file mode 120000
index 0000000000..b3e8aede08
--- /dev/null
+++ b/Lang/C-sharp/Align-columns
@@ -0,0 +1 @@
+../../Task/Align-columns/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Animate-a-pendulum b/Lang/C-sharp/Animate-a-pendulum
new file mode 120000
index 0000000000..e380ea22b2
--- /dev/null
+++ b/Lang/C-sharp/Animate-a-pendulum
@@ -0,0 +1 @@
+../../Task/Animate-a-pendulum/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Animation b/Lang/C-sharp/Animation
new file mode 120000
index 0000000000..4c97d6dfed
--- /dev/null
+++ b/Lang/C-sharp/Animation
@@ -0,0 +1 @@
+../../Task/Animation/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Apply-a-callback-to-an-array b/Lang/C-sharp/Apply-a-callback-to-an-array
new file mode 120000
index 0000000000..4b62967633
--- /dev/null
+++ b/Lang/C-sharp/Apply-a-callback-to-an-array
@@ -0,0 +1 @@
+../../Task/Apply-a-callback-to-an-array/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Arbitrary-precision-integers-(included) b/Lang/C-sharp/Arbitrary-precision-integers-(included)
new file mode 120000
index 0000000000..2eaa17c3fa
--- /dev/null
+++ b/Lang/C-sharp/Arbitrary-precision-integers-(included)
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers-(included)/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Arithmetic-Complex b/Lang/C-sharp/Arithmetic-Complex
new file mode 120000
index 0000000000..d6ae239ee4
--- /dev/null
+++ b/Lang/C-sharp/Arithmetic-Complex
@@ -0,0 +1 @@
+../../Task/Arithmetic-Complex/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Arithmetic-geometric-mean b/Lang/C-sharp/Arithmetic-geometric-mean
new file mode 120000
index 0000000000..da4c2f3ead
--- /dev/null
+++ b/Lang/C-sharp/Arithmetic-geometric-mean
@@ -0,0 +1 @@
+../../Task/Arithmetic-geometric-mean/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Array-concatenation b/Lang/C-sharp/Array-concatenation
new file mode 120000
index 0000000000..7c31b28cfb
--- /dev/null
+++ b/Lang/C-sharp/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Arrays b/Lang/C-sharp/Arrays
new file mode 120000
index 0000000000..5f87a03cc4
--- /dev/null
+++ b/Lang/C-sharp/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Assertions b/Lang/C-sharp/Assertions
new file mode 120000
index 0000000000..e519b49c4b
--- /dev/null
+++ b/Lang/C-sharp/Assertions
@@ -0,0 +1 @@
+../../Task/Assertions/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Associative-array-Creation b/Lang/C-sharp/Associative-array-Creation
new file mode 120000
index 0000000000..01936b5a2c
--- /dev/null
+++ b/Lang/C-sharp/Associative-array-Creation
@@ -0,0 +1 @@
+../../Task/Associative-array-Creation/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Associative-array-Iteration b/Lang/C-sharp/Associative-array-Iteration
new file mode 120000
index 0000000000..49361a1916
--- /dev/null
+++ b/Lang/C-sharp/Associative-array-Iteration
@@ -0,0 +1 @@
+../../Task/Associative-array-Iteration/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Atomic-updates b/Lang/C-sharp/Atomic-updates
new file mode 120000
index 0000000000..f09e61c710
--- /dev/null
+++ b/Lang/C-sharp/Atomic-updates
@@ -0,0 +1 @@
+../../Task/Atomic-updates/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Averages-Arithmetic-mean b/Lang/C-sharp/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..b059d5b128
--- /dev/null
+++ b/Lang/C-sharp/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Break-OO-privacy b/Lang/C-sharp/Break-OO-privacy
new file mode 120000
index 0000000000..d53942d2fe
--- /dev/null
+++ b/Lang/C-sharp/Break-OO-privacy
@@ -0,0 +1 @@
+../../Task/Break-OO-privacy/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/CSV-to-HTML-translation b/Lang/C-sharp/CSV-to-HTML-translation
new file mode 120000
index 0000000000..a07a4f1ca8
--- /dev/null
+++ b/Lang/C-sharp/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Case-sensitivity-of-identifiers b/Lang/C-sharp/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..fd3b40189e
--- /dev/null
+++ b/Lang/C-sharp/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Conways-Game-of-Life b/Lang/C-sharp/Conways-Game-of-Life
new file mode 120000
index 0000000000..a85a094b2b
--- /dev/null
+++ b/Lang/C-sharp/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Count-occurrences-of-a-substring b/Lang/C-sharp/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..e0ff754c3e
--- /dev/null
+++ b/Lang/C-sharp/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Create-an-HTML-table b/Lang/C-sharp/Create-an-HTML-table
new file mode 120000
index 0000000000..9897268837
--- /dev/null
+++ b/Lang/C-sharp/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/DNS-query b/Lang/C-sharp/DNS-query
new file mode 120000
index 0000000000..abc5f9260b
--- /dev/null
+++ b/Lang/C-sharp/DNS-query
@@ -0,0 +1 @@
+../../Task/DNS-query/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Deepcopy b/Lang/C-sharp/Deepcopy
new file mode 120000
index 0000000000..2ab911d397
--- /dev/null
+++ b/Lang/C-sharp/Deepcopy
@@ -0,0 +1 @@
+../../Task/Deepcopy/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Delegates b/Lang/C-sharp/Delegates
new file mode 120000
index 0000000000..7183cb2d0c
--- /dev/null
+++ b/Lang/C-sharp/Delegates
@@ -0,0 +1 @@
+../../Task/Delegates/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Doubly-linked-list-Definition b/Lang/C-sharp/Doubly-linked-list-Definition
new file mode 120000
index 0000000000..fbb812ac18
--- /dev/null
+++ b/Lang/C-sharp/Doubly-linked-list-Definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Definition/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Doubly-linked-list-Traversal b/Lang/C-sharp/Doubly-linked-list-Traversal
new file mode 120000
index 0000000000..e3989d09d0
--- /dev/null
+++ b/Lang/C-sharp/Doubly-linked-list-Traversal
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Traversal/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Empty-string b/Lang/C-sharp/Empty-string
new file mode 120000
index 0000000000..f0e357d897
--- /dev/null
+++ b/Lang/C-sharp/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Euler-method b/Lang/C-sharp/Euler-method
new file mode 120000
index 0000000000..e3dc279a6b
--- /dev/null
+++ b/Lang/C-sharp/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Execute-HQ9+ b/Lang/C-sharp/Execute-HQ9+
new file mode 120000
index 0000000000..496e56ca85
--- /dev/null
+++ b/Lang/C-sharp/Execute-HQ9+
@@ -0,0 +1 @@
+../../Task/Execute-HQ9+/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Forest-fire b/Lang/C-sharp/Forest-fire
new file mode 120000
index 0000000000..836abe8c21
--- /dev/null
+++ b/Lang/C-sharp/Forest-fire
@@ -0,0 +1 @@
+../../Task/Forest-fire/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/JSON b/Lang/C-sharp/JSON
new file mode 120000
index 0000000000..0a10bf9331
--- /dev/null
+++ b/Lang/C-sharp/JSON
@@ -0,0 +1 @@
+../../Task/JSON/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Quine b/Lang/C-sharp/Quine
new file mode 120000
index 0000000000..a80020a284
--- /dev/null
+++ b/Lang/C-sharp/Quine
@@ -0,0 +1 @@
+../../Task/Quine/C-sharp
\ No newline at end of file
diff --git a/Lang/C/CRC-32 b/Lang/C/CRC-32
new file mode 120000
index 0000000000..c8f2b3c5a1
--- /dev/null
+++ b/Lang/C/CRC-32
@@ -0,0 +1 @@
+../../Task/CRC-32/C
\ No newline at end of file
diff --git a/Lang/C/CSV-to-HTML-translation b/Lang/C/CSV-to-HTML-translation
new file mode 120000
index 0000000000..e5903ea60d
--- /dev/null
+++ b/Lang/C/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/C
\ No newline at end of file
diff --git a/Lang/C/Call-a-function b/Lang/C/Call-a-function
new file mode 120000
index 0000000000..34574dead5
--- /dev/null
+++ b/Lang/C/Call-a-function
@@ -0,0 +1 @@
+../../Task/Call-a-function/C
\ No newline at end of file
diff --git a/Lang/C/Call-a-function-in-a-shared-library b/Lang/C/Call-a-function-in-a-shared-library
new file mode 120000
index 0000000000..29e6de7532
--- /dev/null
+++ b/Lang/C/Call-a-function-in-a-shared-library
@@ -0,0 +1 @@
+../../Task/Call-a-function-in-a-shared-library/C
\ No newline at end of file
diff --git a/Lang/C/Canny-edge-detector b/Lang/C/Canny-edge-detector
new file mode 120000
index 0000000000..82d1cf4c1e
--- /dev/null
+++ b/Lang/C/Canny-edge-detector
@@ -0,0 +1 @@
+../../Task/Canny-edge-detector/C
\ No newline at end of file
diff --git a/Lang/C/Case-sensitivity-of-identifiers b/Lang/C/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..f4c8987581
--- /dev/null
+++ b/Lang/C/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/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..82cfcc7ff1
--- /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/Character-codes b/Lang/C/Character-codes
new file mode 120000
index 0000000000..303730f005
--- /dev/null
+++ b/Lang/C/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/C
\ No newline at end of file
diff --git a/Lang/C/Character-matching b/Lang/C/Character-matching
new file mode 120000
index 0000000000..f7db89c9cd
--- /dev/null
+++ b/Lang/C/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/C
\ No newline at end of file
diff --git a/Lang/C/Chat-server b/Lang/C/Chat-server
new file mode 120000
index 0000000000..2fb2767af2
--- /dev/null
+++ b/Lang/C/Chat-server
@@ -0,0 +1 @@
+../../Task/Chat-server/C
\ No newline at end of file
diff --git a/Lang/C/Cholesky-decomposition b/Lang/C/Cholesky-decomposition
new file mode 120000
index 0000000000..892b09c20b
--- /dev/null
+++ b/Lang/C/Cholesky-decomposition
@@ -0,0 +1 @@
+../../Task/Cholesky-decomposition/C
\ No newline at end of file
diff --git a/Lang/C/Color-quantization b/Lang/C/Color-quantization
new file mode 120000
index 0000000000..1a7379f139
--- /dev/null
+++ b/Lang/C/Color-quantization
@@ -0,0 +1 @@
+../../Task/Color-quantization/C
\ No newline at end of file
diff --git a/Lang/C/Combinations b/Lang/C/Combinations
new file mode 120000
index 0000000000..1059d645bc
--- /dev/null
+++ b/Lang/C/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/C
\ No newline at end of file
diff --git a/Lang/C/Combinations-with-repetitions b/Lang/C/Combinations-with-repetitions
new file mode 120000
index 0000000000..759f1adcef
--- /dev/null
+++ b/Lang/C/Combinations-with-repetitions
@@ -0,0 +1 @@
+../../Task/Combinations-with-repetitions/C
\ No newline at end of file
diff --git a/Lang/C/Command-line-arguments b/Lang/C/Command-line-arguments
new file mode 120000
index 0000000000..9e21892e3e
--- /dev/null
+++ b/Lang/C/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/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..60d1f4e72b
--- /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/Compile-time-calculation b/Lang/C/Compile-time-calculation
new file mode 120000
index 0000000000..9a831917ed
--- /dev/null
+++ b/Lang/C/Compile-time-calculation
@@ -0,0 +1 @@
+../../Task/Compile-time-calculation/C
\ No newline at end of file
diff --git a/Lang/C/Compound-data-type b/Lang/C/Compound-data-type
new file mode 120000
index 0000000000..dda4c6d7ca
--- /dev/null
+++ b/Lang/C/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/C
\ No newline at end of file
diff --git a/Lang/C/Concurrent-computing b/Lang/C/Concurrent-computing
new file mode 120000
index 0000000000..0acfa2bc80
--- /dev/null
+++ b/Lang/C/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/C
\ No newline at end of file
diff --git a/Lang/C/Constrained-random-points-on-a-circle b/Lang/C/Constrained-random-points-on-a-circle
new file mode 120000
index 0000000000..68f5e68dc0
--- /dev/null
+++ b/Lang/C/Constrained-random-points-on-a-circle
@@ -0,0 +1 @@
+../../Task/Constrained-random-points-on-a-circle/C
\ No newline at end of file
diff --git a/Lang/C/Continued-fraction b/Lang/C/Continued-fraction
new file mode 120000
index 0000000000..e881e95121
--- /dev/null
+++ b/Lang/C/Continued-fraction
@@ -0,0 +1 @@
+../../Task/Continued-fraction/C
\ No newline at end of file
diff --git a/Lang/C/Conways-Game-of-Life b/Lang/C/Conways-Game-of-Life
new file mode 120000
index 0000000000..94d51ff797
--- /dev/null
+++ b/Lang/C/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/C
\ No newline at end of file
diff --git a/Lang/C/Count-in-factors b/Lang/C/Count-in-factors
new file mode 120000
index 0000000000..5e868ef1ba
--- /dev/null
+++ b/Lang/C/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/C
\ No newline at end of file
diff --git a/Lang/C/Count-in-octal b/Lang/C/Count-in-octal
new file mode 120000
index 0000000000..5bb3e42c97
--- /dev/null
+++ b/Lang/C/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/C
\ No newline at end of file
diff --git a/Lang/C/Count-occurrences-of-a-substring b/Lang/C/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..e224f7ff94
--- /dev/null
+++ b/Lang/C/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/C
\ No newline at end of file
diff --git a/Lang/C/Count-the-coins b/Lang/C/Count-the-coins
new file mode 120000
index 0000000000..10ed2f5bd1
--- /dev/null
+++ b/Lang/C/Count-the-coins
@@ -0,0 +1 @@
+../../Task/Count-the-coins/C
\ No newline at end of file
diff --git a/Lang/C/Create-a-file b/Lang/C/Create-a-file
new file mode 120000
index 0000000000..32ddffa93c
--- /dev/null
+++ b/Lang/C/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/C
\ No newline at end of file
diff --git a/Lang/C/Create-a-two-dimensional-array-at-runtime b/Lang/C/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..2eb97b5932
--- /dev/null
+++ b/Lang/C/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/C
\ No newline at end of file
diff --git a/Lang/C/Create-an-HTML-table b/Lang/C/Create-an-HTML-table
new file mode 120000
index 0000000000..9759d50fd8
--- /dev/null
+++ b/Lang/C/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/C
\ No newline at end of file
diff --git a/Lang/C/Create-an-object-at-a-given-address b/Lang/C/Create-an-object-at-a-given-address
new file mode 120000
index 0000000000..3759a8110e
--- /dev/null
+++ b/Lang/C/Create-an-object-at-a-given-address
@@ -0,0 +1 @@
+../../Task/Create-an-object-at-a-given-address/C
\ No newline at end of file
diff --git a/Lang/C/Cut-a-rectangle b/Lang/C/Cut-a-rectangle
new file mode 120000
index 0000000000..10a715baad
--- /dev/null
+++ b/Lang/C/Cut-a-rectangle
@@ -0,0 +1 @@
+../../Task/Cut-a-rectangle/C
\ No newline at end of file
diff --git a/Lang/C/Date-format b/Lang/C/Date-format
new file mode 120000
index 0000000000..19e7613974
--- /dev/null
+++ b/Lang/C/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/C
\ No newline at end of file
diff --git a/Lang/C/Date-manipulation b/Lang/C/Date-manipulation
new file mode 120000
index 0000000000..00b42589c0
--- /dev/null
+++ b/Lang/C/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/C
\ No newline at end of file
diff --git a/Lang/C/Day-of-the-week b/Lang/C/Day-of-the-week
new file mode 120000
index 0000000000..8e20aa59b7
--- /dev/null
+++ b/Lang/C/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/C
\ No newline at end of file
diff --git a/Lang/C/Deal-cards-for-FreeCell b/Lang/C/Deal-cards-for-FreeCell
new file mode 120000
index 0000000000..6efbeeb277
--- /dev/null
+++ b/Lang/C/Deal-cards-for-FreeCell
@@ -0,0 +1 @@
+../../Task/Deal-cards-for-FreeCell/C
\ No newline at end of file
diff --git a/Lang/C/Deconvolution-1D b/Lang/C/Deconvolution-1D
new file mode 120000
index 0000000000..c0163bf7cd
--- /dev/null
+++ b/Lang/C/Deconvolution-1D
@@ -0,0 +1 @@
+../../Task/Deconvolution-1D/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..436585e4c0
--- /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/Determine-if-only-one-instance-is-running b/Lang/C/Determine-if-only-one-instance-is-running
new file mode 120000
index 0000000000..58be00ed34
--- /dev/null
+++ b/Lang/C/Determine-if-only-one-instance-is-running
@@ -0,0 +1 @@
+../../Task/Determine-if-only-one-instance-is-running/C
\ No newline at end of file
diff --git a/Lang/C/Digital-root b/Lang/C/Digital-root
new file mode 120000
index 0000000000..2995ed84f3
--- /dev/null
+++ b/Lang/C/Digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root/C
\ No newline at end of file
diff --git a/Lang/C/Dinesmans-multiple-dwelling-problem b/Lang/C/Dinesmans-multiple-dwelling-problem
new file mode 120000
index 0000000000..bc43904f54
--- /dev/null
+++ b/Lang/C/Dinesmans-multiple-dwelling-problem
@@ -0,0 +1 @@
+../../Task/Dinesmans-multiple-dwelling-problem/C
\ No newline at end of file
diff --git a/Lang/C/Dining-philosophers b/Lang/C/Dining-philosophers
new file mode 120000
index 0000000000..0271c50134
--- /dev/null
+++ b/Lang/C/Dining-philosophers
@@ -0,0 +1 @@
+../../Task/Dining-philosophers/C
\ No newline at end of file
diff --git a/Lang/C/Discordian-date b/Lang/C/Discordian-date
new file mode 120000
index 0000000000..ce18fc6609
--- /dev/null
+++ b/Lang/C/Discordian-date
@@ -0,0 +1 @@
+../../Task/Discordian-date/C
\ No newline at end of file
diff --git a/Lang/C/Distributed-programming b/Lang/C/Distributed-programming
new file mode 120000
index 0000000000..037f25db5d
--- /dev/null
+++ b/Lang/C/Distributed-programming
@@ -0,0 +1 @@
+../../Task/Distributed-programming/C
\ No newline at end of file
diff --git a/Lang/C/Documentation b/Lang/C/Documentation
new file mode 120000
index 0000000000..e8c6bad81e
--- /dev/null
+++ b/Lang/C/Documentation
@@ -0,0 +1 @@
+../../Task/Documentation/C
\ No newline at end of file
diff --git a/Lang/C/Dot-product b/Lang/C/Dot-product
new file mode 120000
index 0000000000..a43f3f948b
--- /dev/null
+++ b/Lang/C/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/C
\ No newline at end of file
diff --git a/Lang/C/Doubly-linked-list-Definition b/Lang/C/Doubly-linked-list-Definition
new file mode 120000
index 0000000000..3032efe462
--- /dev/null
+++ b/Lang/C/Doubly-linked-list-Definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Definition/C
\ No newline at end of file
diff --git a/Lang/C/Doubly-linked-list-Element-definition b/Lang/C/Doubly-linked-list-Element-definition
new file mode 120000
index 0000000000..896d88c803
--- /dev/null
+++ b/Lang/C/Doubly-linked-list-Element-definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-definition/C
\ No newline at end of file
diff --git a/Lang/C/Doubly-linked-list-Element-insertion b/Lang/C/Doubly-linked-list-Element-insertion
new file mode 120000
index 0000000000..dd28df9621
--- /dev/null
+++ b/Lang/C/Doubly-linked-list-Element-insertion
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-insertion/C
\ No newline at end of file
diff --git a/Lang/C/Doubly-linked-list-Traversal b/Lang/C/Doubly-linked-list-Traversal
new file mode 120000
index 0000000000..ea148e92fc
--- /dev/null
+++ b/Lang/C/Doubly-linked-list-Traversal
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Traversal/C
\ No newline at end of file
diff --git a/Lang/C/Draw-a-cuboid b/Lang/C/Draw-a-cuboid
new file mode 120000
index 0000000000..fa59cd0cfe
--- /dev/null
+++ b/Lang/C/Draw-a-cuboid
@@ -0,0 +1 @@
+../../Task/Draw-a-cuboid/C
\ No newline at end of file
diff --git a/Lang/C/Draw-a-sphere b/Lang/C/Draw-a-sphere
new file mode 120000
index 0000000000..97013e8833
--- /dev/null
+++ b/Lang/C/Draw-a-sphere
@@ -0,0 +1 @@
+../../Task/Draw-a-sphere/C
\ No newline at end of file
diff --git a/Lang/C/Echo-server b/Lang/C/Echo-server
new file mode 120000
index 0000000000..59cc9eeebe
--- /dev/null
+++ b/Lang/C/Echo-server
@@ -0,0 +1 @@
+../../Task/Echo-server/C
\ No newline at end of file
diff --git a/Lang/C/Element-wise-operations b/Lang/C/Element-wise-operations
new file mode 120000
index 0000000000..db21f240da
--- /dev/null
+++ b/Lang/C/Element-wise-operations
@@ -0,0 +1 @@
+../../Task/Element-wise-operations/C
\ No newline at end of file
diff --git a/Lang/C/Empty-directory b/Lang/C/Empty-directory
new file mode 120000
index 0000000000..a72b5981c1
--- /dev/null
+++ b/Lang/C/Empty-directory
@@ -0,0 +1 @@
+../../Task/Empty-directory/C
\ No newline at end of file
diff --git a/Lang/C/Empty-program b/Lang/C/Empty-program
new file mode 120000
index 0000000000..c7e22b13a5
--- /dev/null
+++ b/Lang/C/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/C
\ No newline at end of file
diff --git a/Lang/C/Empty-string b/Lang/C/Empty-string
new file mode 120000
index 0000000000..c3476a092f
--- /dev/null
+++ b/Lang/C/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/C
\ No newline at end of file
diff --git a/Lang/C/Enforced-immutability b/Lang/C/Enforced-immutability
new file mode 120000
index 0000000000..ce8924eb5d
--- /dev/null
+++ b/Lang/C/Enforced-immutability
@@ -0,0 +1 @@
+../../Task/Enforced-immutability/C
\ No newline at end of file
diff --git a/Lang/C/Enumerations b/Lang/C/Enumerations
new file mode 120000
index 0000000000..b349ea6311
--- /dev/null
+++ b/Lang/C/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/C
\ No newline at end of file
diff --git a/Lang/C/Equilibrium-index b/Lang/C/Equilibrium-index
new file mode 120000
index 0000000000..601ef68605
--- /dev/null
+++ b/Lang/C/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/C
\ No newline at end of file
diff --git a/Lang/C/Ethiopian-multiplication b/Lang/C/Ethiopian-multiplication
new file mode 120000
index 0000000000..98ccf2d595
--- /dev/null
+++ b/Lang/C/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/C
\ No newline at end of file
diff --git a/Lang/C/Euler-method b/Lang/C/Euler-method
new file mode 120000
index 0000000000..20d5a805d3
--- /dev/null
+++ b/Lang/C/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/C
\ No newline at end of file
diff --git a/Lang/C/Evaluate-binomial-coefficients b/Lang/C/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..a7b6e0c665
--- /dev/null
+++ b/Lang/C/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/C
\ No newline at end of file
diff --git a/Lang/C/Even-or-odd b/Lang/C/Even-or-odd
new file mode 120000
index 0000000000..873e6932ce
--- /dev/null
+++ b/Lang/C/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/C
\ No newline at end of file
diff --git a/Lang/C/Events b/Lang/C/Events
new file mode 120000
index 0000000000..882637ab28
--- /dev/null
+++ b/Lang/C/Events
@@ -0,0 +1 @@
+../../Task/Events/C
\ No newline at end of file
diff --git a/Lang/C/Evolutionary-algorithm b/Lang/C/Evolutionary-algorithm
new file mode 120000
index 0000000000..4c70ab341f
--- /dev/null
+++ b/Lang/C/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/C
\ No newline at end of file
diff --git a/Lang/C/Exceptions b/Lang/C/Exceptions
new file mode 120000
index 0000000000..e22b19d23a
--- /dev/null
+++ b/Lang/C/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/C
\ No newline at end of file
diff --git a/Lang/C/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/C/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..3b4642daa8
--- /dev/null
+++ b/Lang/C/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/C
\ No newline at end of file
diff --git a/Lang/C/Executable-library b/Lang/C/Executable-library
new file mode 120000
index 0000000000..ddc683af5a
--- /dev/null
+++ b/Lang/C/Executable-library
@@ -0,0 +1 @@
+../../Task/Executable-library/C
\ No newline at end of file
diff --git a/Lang/C/Execute-HQ9+ b/Lang/C/Execute-HQ9+
new file mode 120000
index 0000000000..952ddfbf16
--- /dev/null
+++ b/Lang/C/Execute-HQ9+
@@ -0,0 +1 @@
+../../Task/Execute-HQ9+/C
\ No newline at end of file
diff --git a/Lang/C/Execute-a-system-command b/Lang/C/Execute-a-system-command
new file mode 120000
index 0000000000..82d82b75cb
--- /dev/null
+++ b/Lang/C/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/C
\ No newline at end of file
diff --git a/Lang/C/Exponentiation-operator b/Lang/C/Exponentiation-operator
new file mode 120000
index 0000000000..810c3afb64
--- /dev/null
+++ b/Lang/C/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/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..dd475238e6
--- /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..f308162911
--- /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/C0H/0DESCRIPTION b/Lang/C0H/0DESCRIPTION
new file mode 100644
index 0000000000..c11d86a01b
--- /dev/null
+++ b/Lang/C0H/0DESCRIPTION
@@ -0,0 +1,26 @@
+{{language
+|exec=machine
+|gc=no
+|safety=unsafe
+|parampass=value
+|checking=static
+|compat=nominative
+|express=explicit
+|strength=weak
+|hopl=no}}{{language programming paradigm|Imperative}}
+'''C0H''' is a general-purpose, [[procedural programming|procedural]], [[imperative programming|imperative]] computer programming language, partially developed by André van Delft in 2011. It is a small extension to the well known [[derived from::compatible with::C]] programming language, allowing for the smallest "Hello World" program that one can think of.
+
+The development of C0H has been inspired on the [[HQ9+]] programming language, which accepts "H" in its source to print "Hello World!". However, HQ9+ is not a general purpose programming language; in fact it has very limited capabilities. C0H improves over HQ9+ by offering the full power of the C language; moreover, C0H offers a shorter path to writing a Hello World program: just create an empty file!
+
+C0H has been followed up by [[C1R]], a C extension aimed at short solutions for tasks that are implemented by C programs at RosettaCode.org.
+==Versions==
+* version 0.99 existed for about 35 minutes. An empty input source file would result in a program printing "Hello World!".
+* version 1.00 quickly followed up version 0.99, after the creator of the language found out to his great surprise that the web site Rosetta Code required a "Hello World" program to print "Goodbye, World!"
+
+==Implementation==
+See [[C0H Implementation]]
+
+==Documentation==
+To get a reference document on C0H, it is advised to upgrade a reference document on the "C" programming language, and attach a Post-it note stating C0H is like C, except that an empty input file yields "Goodbye, World".
+
+{{language programming paradigm|Imperative}}
\ No newline at end of file
diff --git a/Lang/C1R/0DESCRIPTION b/Lang/C1R/0DESCRIPTION
new file mode 100644
index 0000000000..89488b5363
--- /dev/null
+++ b/Lang/C1R/0DESCRIPTION
@@ -0,0 +1,32 @@
+{{language
+|exec=machine
+|gc=no
+|safety=unsafe
+|parampass=value
+|checking=static
+|compat=nominative
+|express=explicit
+|strength=weak
+|hopl=no}}{{language programming paradigm|Imperative}}
+'''C1R''' is a general-purpose, [[procedural programming|procedural]], [[imperative programming|imperative]] computer programming language, partially developed by André van Delft in 2011. It is a small extension to the well known [[derived from::compatible with::C]] programming language, allowing for very small programs that implement tasks that are implemented by C programs at RosettaCode.org.
+
+C1R can also be regarded as an [[adaptive]] language, as the set of valid C1R programs varies with the C implementations for tasks at Rosetta Code.
+
+The development of C1R has been inspired on the [[HQ9+]] and [[C0H]] programming languages. HQ9+ accepts "H" in its source to print "Hello World!". C0H improves over HQ9+ by offering the full power of the C language; moreover, C0H offers a shorter path to writing a Hello World program: just create an empty file. C1R allows the user to submit a text file with just a simple reference of a task implemented in C at Rosetta Code; that reference is the implementation of the task in C1R.
+E.g., the following C1R program
+
+Hello_world/Text
+
+does exactly the same as the C program listed at the "[[Hello_world/Text]]" page, namely print "Goodbye world!".
+
+==Implementation==
+C1R is implemented using a Shell script that calls the C compiler. The script starts by testing whether C code should be downloaded from the Rosetta Code site. The Quine task is treated as a special case.
+See [[C1R Implementation]]
+
+==Acknowledgement==
+When hearing of C0H, Jelle van Zeijl suggested to make a similar language based on downloading C code from the Rosetta Code site.
+
+==Documentation==
+To get a reference document on C1R, it is advised to upgrade a reference document on the "C" programming language, and attach a Post-it note stating C1R is like C, except that in case it contains just 1 line that directs to a Rosetta Code URL with a valid C implementation.
+
+{{language programming paradigm|Imperative}}
\ No newline at end of file
diff --git a/Lang/C1R/100-doors b/Lang/C1R/100-doors
new file mode 120000
index 0000000000..e9e58d4c58
--- /dev/null
+++ b/Lang/C1R/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/C1R
\ No newline at end of file
diff --git a/Lang/C1R/Quine b/Lang/C1R/Quine
new file mode 120000
index 0000000000..e2681b7153
--- /dev/null
+++ b/Lang/C1R/Quine
@@ -0,0 +1 @@
+../../Task/Quine/C1R
\ No newline at end of file
diff --git a/Lang/CB80/0DESCRIPTION b/Lang/CB80/0DESCRIPTION
new file mode 100644
index 0000000000..96b8bf005c
--- /dev/null
+++ b/Lang/CB80/0DESCRIPTION
@@ -0,0 +1 @@
+{{language}}{{Stub}}
\ No newline at end of file
diff --git a/Lang/CLIPS/0DESCRIPTION b/Lang/CLIPS/0DESCRIPTION
new file mode 100644
index 0000000000..1d7b1d1738
--- /dev/null
+++ b/Lang/CLIPS/0DESCRIPTION
@@ -0,0 +1,10 @@
+{{language|CLIPS
+|site=http://clipsrules.sourceforge.net/
+}}
+
+CLIPS is a productive development and delivery expert system tool which provides a complete environment for the construction of rule and/or object based expert systems. Created in 1985, CLIPS is now widely used throughout the government, industry, and academia. The name is an acronym for "C Language Integrated Production System."
+
+CLIPS is probably the most widely used expert system tool because it is fast, efficient and free. Although it is now in the public domain, it is still updated and supported by the original author, Gary Riley. CLIPS incorporates a complete object-oriented language COOL for writing expert systems. Though it is written in C, its interface more closely resembles that of the programming language LISP. Extensions can be written in C, and CLIPS can be called from C.
+
+==See Also==
+*[[wp:CLIPS|Wikipedia:CLIPS]]
\ No newline at end of file
diff --git a/Lang/CLIPS/100-doors b/Lang/CLIPS/100-doors
new file mode 120000
index 0000000000..312237b16a
--- /dev/null
+++ b/Lang/CLIPS/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/CLIPS
\ No newline at end of file
diff --git a/Lang/CLIPS/99-Bottles-of-Beer b/Lang/CLIPS/99-Bottles-of-Beer
new file mode 120000
index 0000000000..f9c1fd1a37
--- /dev/null
+++ b/Lang/CLIPS/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/CLIPS
\ No newline at end of file
diff --git a/Lang/CLIPS/Ackermann-function b/Lang/CLIPS/Ackermann-function
new file mode 120000
index 0000000000..2ae31206e3
--- /dev/null
+++ b/Lang/CLIPS/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/CLIPS
\ No newline at end of file
diff --git a/Lang/CLIPS/FizzBuzz b/Lang/CLIPS/FizzBuzz
new file mode 120000
index 0000000000..283e9989ad
--- /dev/null
+++ b/Lang/CLIPS/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/CLIPS
\ No newline at end of file
diff --git a/Lang/CMake/0DESCRIPTION b/Lang/CMake/0DESCRIPTION
new file mode 100644
index 0000000000..4bfb8f4457
--- /dev/null
+++ b/Lang/CMake/0DESCRIPTION
@@ -0,0 +1,98 @@
+{{language
+|exec=interpreted
+|site=http://www.cmake.org/
+|hopl=no
+|tags=cmake}}
+
+CMake is a cross-platform make system, for compiling [[C]], [[C++]] or [[Fortran]] programs. CMake uses a configuration file (CMakeLists.txt) to run configure tests, find libraries, create targets, and generate a build system for [[make|Unix make]] or another build tool. This configuration file runs commands in CMake's own scripting language.
+
+For Rosetta Code, most examples work with ''CMake 2.6'' or later in ''process script mode'' (cmake -P myscript.cmake). Many examples use features from 2.6, especially function(). In cmake -P mode, CMake runs the script but never creates a project. So there are no configure tests and no targets.
+
+==Simple project==
+This example builds a small C program after checking if #include provides clock_gettime() or gettimeofday().
+
+===CMakeLists.txt===
+# CMakeLists.txt
+cmake_minimum_required(VERSION 2.6)
+project(simpletime C) # This project will use the C compiler.
+
+# Check if this system has clock_gettime() or gettimeofday(),
+# then generate config.h with the results.
+include(CheckSymbolExists)
+check_symbol_exists(clock_gettime sys/time.h HAVE_CLOCK_GETTIME)
+check_symbol_exists(gettimeofday sys/time.h HAVE_GETTIMEOFDAY)
+configure_file(config.h.in config.h)
+
+# Allow C to #include , if doing out-of-source build.
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+
+# This target will make an executable from the given
+# source files and any included header files.
+add_executable(simpletime simpletime.c)
+
+# The install target will install the executable
+# to ${CMAKE_INSTALL_PREFIX}/bin.
+install(TARGETS simpletime DESTINATION bin)
+
+===config.h.in===
+/* config.h, generated from config.h.in by CMake ${CMAKE_VERSION} */
+#cmakedefine HAVE_CLOCK_GETTIME
+#cmakedefine HAVE_GETTIMEOFDAY
+
+===simpletime.c===
+/* simpletime.c */
+#include "config.h"
+
+#if defined(HAVE_CLOCK_GETTIME) || defined(HAVE_GETTIMEOFDAY)
+#include
+#endif
+#include
+#include
+
+/*
+ * Simply print the current time.
+ */
+int
+main()
+{
+#if defined(HAVE_CLOCK_GETTIME)
+ struct timespec ts;
+ clock_gettime(CLOCK_REALTIME, &ts);
+ printf("The time is %s" "and %ld nanoseconds.\n",
+ ctime(&ts.tv_sec), ts.tv_nsec);
+#elif defined(HAVE_GETTIMEOFDAY)
+ struct timeval tv;
+ gettimeofday(&tv, NULL);
+ printf("The time is %s" "and %ld microseconds.\n",
+ ctime(&tv.tv_sec), tv.tv_usec);
+#else
+ time_t sec;
+ sec = time(NULL);
+ printf("The time is %s", ctime(&sec));
+#endif
+ return 0;
+}
+
+If the three files CMakeLists.txt, config.h.in and simpletime.c are in .., then cmake .. configures the project.
+
+ $ cmake ..
+ -- The C compiler identification is GNU
+ -- Check for working C compiler: /usr/bin/gcc
+ -- Check for working C compiler: /usr/bin/gcc -- works
+ -- Detecting C compiler ABI info
+ -- Detecting C compiler ABI info - done
+ -- Looking for clock_gettime
+ -- Looking for clock_gettime - found
+ -- Looking for gettimeofday
+ -- Looking for gettimeofday - found
+ -- Configuring done
+ -- Generating done
+ -- Build files have been written to: /home/kernigh/field/rc/simpletime/work
+ $ make
+ Scanning dependencies of target simpletime
+ [100%] Building C object CMakeFiles/simpletime.dir/simpletime.c.o
+ Linking C executable simpletime
+ [100%] Built target simpletime
+ $ ./simpletime
+ The time is Wed Sep 7 17:10:55 2011
+ and 993848603 nanoseconds.
\ No newline at end of file
diff --git a/Lang/CMake/Boolean-values b/Lang/CMake/Boolean-values
new file mode 120000
index 0000000000..9ef9fc72ef
--- /dev/null
+++ b/Lang/CMake/Boolean-values
@@ -0,0 +1 @@
+../../Task/Boolean-values/CMake
\ No newline at end of file
diff --git a/Lang/CMake/Call-a-foreign-language-function b/Lang/CMake/Call-a-foreign-language-function
new file mode 120000
index 0000000000..fb3e8ce795
--- /dev/null
+++ b/Lang/CMake/Call-a-foreign-language-function
@@ -0,0 +1 @@
+../../Task/Call-a-foreign-language-function/CMake
\ No newline at end of file
diff --git a/Lang/CMake/Conditional-structures b/Lang/CMake/Conditional-structures
new file mode 120000
index 0000000000..e4a993f544
--- /dev/null
+++ b/Lang/CMake/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/CMake
\ No newline at end of file
diff --git a/Lang/CMake/Execute-a-system-command b/Lang/CMake/Execute-a-system-command
new file mode 120000
index 0000000000..e18b312959
--- /dev/null
+++ b/Lang/CMake/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/CMake
\ No newline at end of file
diff --git a/Lang/CMake/FizzBuzz b/Lang/CMake/FizzBuzz
new file mode 120000
index 0000000000..dd85668466
--- /dev/null
+++ b/Lang/CMake/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/CMake
\ No newline at end of file
diff --git a/Lang/CMake/Knuth-shuffle b/Lang/CMake/Knuth-shuffle
new file mode 120000
index 0000000000..4691c9a0a5
--- /dev/null
+++ b/Lang/CMake/Knuth-shuffle
@@ -0,0 +1 @@
+../../Task/Knuth-shuffle/CMake
\ No newline at end of file
diff --git a/Lang/COBOL/0DESCRIPTION b/Lang/COBOL/0DESCRIPTION
new file mode 100644
index 0000000000..3306d9f996
--- /dev/null
+++ b/Lang/COBOL/0DESCRIPTION
@@ -0,0 +1,7 @@
+{{stub}}{{language|COBOL
+|strength=strong
+|checking=static
+|gc=no
+|LCT=yes
+|bnf=http://www.cs.vu.nl/~x/grammars/cobol/}}
+COmmon Business Oriented Language
\ No newline at end of file
diff --git a/Lang/COBOL/100-doors b/Lang/COBOL/100-doors
new file mode 120000
index 0000000000..1fc5a07e7b
--- /dev/null
+++ b/Lang/COBOL/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/99-Bottles-of-Beer b/Lang/COBOL/99-Bottles-of-Beer
new file mode 120000
index 0000000000..e673f89f04
--- /dev/null
+++ b/Lang/COBOL/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Address-of-a-variable b/Lang/COBOL/Address-of-a-variable
new file mode 120000
index 0000000000..0fda778d46
--- /dev/null
+++ b/Lang/COBOL/Address-of-a-variable
@@ -0,0 +1 @@
+../../Task/Address-of-a-variable/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Case-sensitivity-of-identifiers b/Lang/COBOL/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..d6c235898a
--- /dev/null
+++ b/Lang/COBOL/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Comments b/Lang/COBOL/Comments
new file mode 120000
index 0000000000..1771f874d9
--- /dev/null
+++ b/Lang/COBOL/Comments
@@ -0,0 +1 @@
+../../Task/Comments/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Conditional-structures b/Lang/COBOL/Conditional-structures
new file mode 120000
index 0000000000..e58e188561
--- /dev/null
+++ b/Lang/COBOL/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Create-an-object-at-a-given-address b/Lang/COBOL/Create-an-object-at-a-given-address
new file mode 120000
index 0000000000..1b730b9394
--- /dev/null
+++ b/Lang/COBOL/Create-an-object-at-a-given-address
@@ -0,0 +1 @@
+../../Task/Create-an-object-at-a-given-address/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Empty-program b/Lang/COBOL/Empty-program
new file mode 120000
index 0000000000..c1fbaf0b02
--- /dev/null
+++ b/Lang/COBOL/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Ethiopian-multiplication b/Lang/COBOL/Ethiopian-multiplication
new file mode 120000
index 0000000000..5b685b5def
--- /dev/null
+++ b/Lang/COBOL/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/FizzBuzz b/Lang/COBOL/FizzBuzz
new file mode 120000
index 0000000000..870319a812
--- /dev/null
+++ b/Lang/COBOL/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Quine b/Lang/COBOL/Quine
new file mode 120000
index 0000000000..c0935d700b
--- /dev/null
+++ b/Lang/COBOL/Quine
@@ -0,0 +1 @@
+../../Task/Quine/COBOL
\ No newline at end of file
diff --git a/Lang/Cache-ObjectScript/0DESCRIPTION b/Lang/Cache-ObjectScript/0DESCRIPTION
new file mode 100644
index 0000000000..059dfee753
--- /dev/null
+++ b/Lang/Cache-ObjectScript/0DESCRIPTION
@@ -0,0 +1,18 @@
+{{language|COS
+|checking=dynamic}}
+{{language programming paradigm|Dynamic}}
+{{language programming paradigm|Object-oriented}}
+
+Visit the [https://groups.google.com/forum/?fromgroups#!forum/intersystems-public-cache Google group] for discussions about this language.
+
+Visit [[wp:Caché_ObjectScript|Wikipedia]] for a general description.
+
+Caché ObjectScript (COS) is a part of the Caché database system sold by InterSystems. The language is a functional superset of the ANSI-standard M (i.e. MUMPS) programming language. MUMPS programmers can run existing MUMPS routines under Caché with little or no change. The original scripting language for Caché, Caché ObjectScript is an object-oriented language. One interesting feature of Caché ObjectScript is that it enables the intermixing of data access methods – developers may view data as objects, as relational tables (using SQL), or as multidimensional arrays.
+
+
+==Documentation==
+''InterSystems Documentation''
+http://docs.intersystems.com
+
+''InterSystems Class Reference (Caché 2012.2)''
+http://docs.intersystems.com/cache20122/csp/documatic/%25CSP.Documatic.cls
\ No newline at end of file
diff --git a/Lang/Cache-ObjectScript/DNS-query b/Lang/Cache-ObjectScript/DNS-query
new file mode 120000
index 0000000000..2299f15497
--- /dev/null
+++ b/Lang/Cache-ObjectScript/DNS-query
@@ -0,0 +1 @@
+../../Task/DNS-query/Cache-ObjectScript
\ No newline at end of file
diff --git a/Lang/Cache-ObjectScript/JSON b/Lang/Cache-ObjectScript/JSON
new file mode 120000
index 0000000000..e34e673978
--- /dev/null
+++ b/Lang/Cache-ObjectScript/JSON
@@ -0,0 +1 @@
+../../Task/JSON/Cache-ObjectScript
\ No newline at end of file
diff --git a/Lang/Caml/0DESCRIPTION b/Lang/Caml/0DESCRIPTION
new file mode 100644
index 0000000000..d94f7c82fd
--- /dev/null
+++ b/Lang/Caml/0DESCRIPTION
@@ -0,0 +1,2 @@
+{{language|Caml}}{{stub}}
+Relative of [[Standard ML]] that took a different path from the foundational [[derived from::ML]] language. It's derived language, [[OCaml]], is more well-known.
\ No newline at end of file
diff --git a/Lang/Cat/0DESCRIPTION b/Lang/Cat/0DESCRIPTION
new file mode 100644
index 0000000000..5d85d8943a
--- /dev/null
+++ b/Lang/Cat/0DESCRIPTION
@@ -0,0 +1,9 @@
+{{language
+|site=http://www.cat-language.com/
+}}
+Cat is a functional stack-based programming language inspired by the [[Joy]] programming language. Cat provides a static type system with type inferencing (like [[ML]] or [[Haskell]]), and a term rewriting macro language extension language called MetaCat. Cat uses static typing, and is somewhat less flexibility but safer than Joy.
+
+All constructs in Cat (atomic programs, user defined programs, operators, literals, lists) behave as functions which takes a single stack as input and returns a new stack. In Cat the concatenation of two functions (e.g. [f g]) has the effect of composition of both functions (e.g. g(f(x))). All new user defined functions are defined as lists of functions. Cat not only has no variable declaration, there are no argument declarations. Cat also lends itself to the higher order functional programming: the lambda operation in Cat is the list construction operator "[...]" and currying can be achieved used basic operations such as "cons".
+
+==See Also==
+[[wp:Cat_(programming_language)|Cat (programming language)]]
\ No newline at end of file
diff --git a/Lang/Cduce/0DESCRIPTION b/Lang/Cduce/0DESCRIPTION
new file mode 100644
index 0000000000..0733d4d1ec
--- /dev/null
+++ b/Lang/Cduce/0DESCRIPTION
@@ -0,0 +1,3 @@
+{{stub}}{{language
+|site=http://www.cduce.org/
+}}
\ No newline at end of file
diff --git a/Lang/Cduce/FizzBuzz b/Lang/Cduce/FizzBuzz
new file mode 120000
index 0000000000..2e2118972d
--- /dev/null
+++ b/Lang/Cduce/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Cduce
\ No newline at end of file
diff --git a/Lang/Cecil/0DESCRIPTION b/Lang/Cecil/0DESCRIPTION
new file mode 100644
index 0000000000..af88b119f7
--- /dev/null
+++ b/Lang/Cecil/0DESCRIPTION
@@ -0,0 +1,13 @@
+{{language|Cecil
+|site=http://www.cs.washington.edu/research/projects/cecil/
+}}
+
+Cecil is a pure object-oriented programming language. Cecil has many similarities to other object-oriented languages, most notably [[Objective-C]], [[Modula-3]], and [[Self]]. The main goals of the project were extensibility, orthogonality, efficiency, and ease-of-use.
+
+The language supports multiple dispatch and multimethods, dynamic inheritance, and optional static type checking. Unlike most other OOP systems, Cecil allows subtyping and code inheritance to be used separately, allowing run-time or external extension of object classes or instances. Like [[Objective-C]], all object services in Cecil are invoked by message passing, and the language supports run-time class identification. These features allow Cecil to support dynamic, exploratory programming styles. Parameterized types and methods (generics, polymorphism), garbage collection, and delegation are also supported. Cecil also supports a module mechanism for isolating independent libraries or packages.
+
+The [[Diesel]] language is the successor of Cecil.[[#Citation|[1]]]
+
+
+==Citations==
+#[[wp:Cecil (programming language)|Wikipedia: Cecil]]
\ No newline at end of file
diff --git a/Lang/Chapel/0DESCRIPTION b/Lang/Chapel/0DESCRIPTION
new file mode 100644
index 0000000000..7a627fdeb4
--- /dev/null
+++ b/Lang/Chapel/0DESCRIPTION
@@ -0,0 +1,7 @@
+{{stub}}{{language|Chapel
+|site=http://chapel.cray.com/
+}}
+
+Chapel is an emerging parallel programming language whose design and development is being led by Cray Inc. Chapel is being developed as an open-source effort with contributions from academia, industry, and scientific computing centers. Chapel emerged from Cray's entry in the DARPA-led High Productivity Computing Systems program (HPCS).
+
+Chapel is designed to improve the productivity of high-end computer users while also serving as a portable parallel programming model that can be used on commodity clusters or desktop multicore systems. Chapel strives to vastly improve the programmability of large-scale parallel computers while matching or beating the performance and portability of current programming models like MPI.
\ No newline at end of file
diff --git a/Lang/Chapel/99-Bottles-of-Beer b/Lang/Chapel/99-Bottles-of-Beer
new file mode 120000
index 0000000000..a29e1fd59d
--- /dev/null
+++ b/Lang/Chapel/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/Chapel
\ No newline at end of file
diff --git a/Lang/Chef/0DESCRIPTION b/Lang/Chef/0DESCRIPTION
new file mode 100644
index 0000000000..f4c7e4698d
--- /dev/null
+++ b/Lang/Chef/0DESCRIPTION
@@ -0,0 +1,8 @@
+{{stub}}{{language|Chef
+|site=http://www.dangermouse.net/esoteric/chef.html}}[[Category:Esoteric Languages]]
+'''Chef''' is an esoteric programming language designed by David Morgan-Mar. It is based on the manipulation of data values in a number of [[stack]]s (the same idea is used in assembly programming languages). The joke is that the variables tend to be named after basic foodstuffs, the stacks are called 'mixing bowls' and the instructions for manipulating them 'mix', 'stir', etc.. A program, then, reads much like a cooking recipe.
+
+==External links==
+*[http://www.dangermouse.net/esoteric/ DM's Esoteric Programming Languages]
+*[http://search.cpan.org/dist/Acme-Chef An interpreter for Chef written in Perl]
+*[[eso:Chef|Chef on Esolangs]]
\ No newline at end of file
diff --git a/Lang/Chef/99-Bottles-of-Beer b/Lang/Chef/99-Bottles-of-Beer
new file mode 120000
index 0000000000..0a81826598
--- /dev/null
+++ b/Lang/Chef/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/Chef
\ No newline at end of file
diff --git a/Lang/Chef/Arithmetic-Integer b/Lang/Chef/Arithmetic-Integer
new file mode 120000
index 0000000000..ee54166651
--- /dev/null
+++ b/Lang/Chef/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/Chef
\ No newline at end of file
diff --git a/Lang/Chef/Averages-Arithmetic-mean b/Lang/Chef/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..71d181d9a2
--- /dev/null
+++ b/Lang/Chef/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/Chef
\ No newline at end of file
diff --git a/Lang/Chef/Comments b/Lang/Chef/Comments
new file mode 120000
index 0000000000..110d8e0d38
--- /dev/null
+++ b/Lang/Chef/Comments
@@ -0,0 +1 @@
+../../Task/Comments/Chef
\ No newline at end of file
diff --git a/Lang/Chef/FizzBuzz b/Lang/Chef/FizzBuzz
new file mode 120000
index 0000000000..c94a46f378
--- /dev/null
+++ b/Lang/Chef/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Chef
\ No newline at end of file
diff --git a/Lang/Cilk++/0DESCRIPTION b/Lang/Cilk++/0DESCRIPTION
new file mode 100644
index 0000000000..e84522db5a
--- /dev/null
+++ b/Lang/Cilk++/0DESCRIPTION
@@ -0,0 +1,13 @@
+{{language|Cilk++
+|site=http://software.intel.com/en-us/articles/intel-cilk/
+}}
+
+Cilk++ is an extension to C++ that offers a quick, easy and reliable way to improve the performance of C++ programs on multi-core processors.
+
+It introduces three new key words:
+
+* The cilk_spawn keyword modifies a function call statement to tell the Cilk++ runtime system that the function may (but is not required to) run in parallel with the caller
+
+* The cilk_sync statement indicates that the current function cannot run in parallel with its spawned children. After the children all complete, the current function can continue.
+
+* A cilk_for loop is a replacement for the normal C++ for loop that permits loop iterations to run in parallel. The Cilk++ compiler converts a cilk_for loop into an efficient divide-and-conquer recursive traversal over the loop iterations.
\ No newline at end of file
diff --git a/Lang/Cilk/0DESCRIPTION b/Lang/Cilk/0DESCRIPTION
new file mode 100644
index 0000000000..e58181304a
--- /dev/null
+++ b/Lang/Cilk/0DESCRIPTION
@@ -0,0 +1,24 @@
+{{wikipedia|Cilk}}
+
+
+{{language|Cilk
+|exec=machine
+|site=http://supertech.csail.mit.edu/cilk/
+|gc=no
+|safety=unsafe
+|parampass=both
+|checking=static
+|compat=nominative
+|express=explicit
+|strength=weak
+|tags=cilk
+|altsite=http://www.cilk.com/}}
+[[derived from::C| ]]
+
+'''Cilk''' (pronounced ''silk'') is a general-purpose programming language designed for multithreaded [[wp:parallel computing|parallel computing]].
+
+The Cilk language has been developed since 1994 at the [[wp:Massachusetts Institute of Technology|MIT Laboratory for Computer Science]]. It is based on [[:Category:C|ANSI C]], with the addition of a handful of Cilk-specific keywords. When the Cilk keywords are removed from Cilk source code, the result is a valid C program, called the ''serial elision'' (or ''C elision'') of the full Cilk program. Cilk is a faithful extension of C and the serial elision of any Cilk program is always a valid serial implementation in C of the semantics of the parallel Cilk program.
+
+==See also==
+*[http://supertech.csail.mit.edu/cilk/ Cilk page at MIT]
+*[[wp:Cilk|Cilk on Wikipedia]]
\ No newline at end of file
diff --git a/Lang/Clay/0DESCRIPTION b/Lang/Clay/0DESCRIPTION
new file mode 100644
index 0000000000..213e3b6f94
--- /dev/null
+++ b/Lang/Clay/0DESCRIPTION
@@ -0,0 +1,10 @@
+{{stub}}
+{{language
+|site=http://tachyon.in/clay/
+}}
+Clay is a systems programming language with whole program type propagation designed to support Generic programming.
+It supports Multiple dispatch and compile time meta-programming. It does not have garbage collection
+
+There is little documentation, but the following discussions may be of help:
+* [http://lambda-the-ultimate.org/node/4023 Discussion of Clay on Lambda the Ultimate]
+* [http://www.reddit.com/r/programming/comments/ctmxx/the_clay_programming_language/ Discussion of Clay on on Reddit]
\ No newline at end of file
diff --git a/Lang/Clay/99-Bottles-of-Beer b/Lang/Clay/99-Bottles-of-Beer
new file mode 120000
index 0000000000..431d0f5cef
--- /dev/null
+++ b/Lang/Clay/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/Clay
\ No newline at end of file
diff --git a/Lang/Clay/Accumulator-factory b/Lang/Clay/Accumulator-factory
new file mode 120000
index 0000000000..9a71754d02
--- /dev/null
+++ b/Lang/Clay/Accumulator-factory
@@ -0,0 +1 @@
+../../Task/Accumulator-factory/Clay
\ No newline at end of file
diff --git a/Lang/Clay/Ackermann-function b/Lang/Clay/Ackermann-function
new file mode 120000
index 0000000000..c153d61e8a
--- /dev/null
+++ b/Lang/Clay/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/Clay
\ No newline at end of file
diff --git a/Lang/Clay/Euler-method b/Lang/Clay/Euler-method
new file mode 120000
index 0000000000..178dbb1ac1
--- /dev/null
+++ b/Lang/Clay/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/Clay
\ No newline at end of file
diff --git a/Lang/Clay/Extend-your-language b/Lang/Clay/Extend-your-language
new file mode 120000
index 0000000000..e347fa8135
--- /dev/null
+++ b/Lang/Clay/Extend-your-language
@@ -0,0 +1 @@
+../../Task/Extend-your-language/Clay
\ No newline at end of file
diff --git a/Lang/Clay/FizzBuzz b/Lang/Clay/FizzBuzz
new file mode 120000
index 0000000000..7c29e40abd
--- /dev/null
+++ b/Lang/Clay/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Clay
\ No newline at end of file
diff --git a/Lang/Clean/0DESCRIPTION b/Lang/Clean/0DESCRIPTION
new file mode 100644
index 0000000000..f8df15c3ef
--- /dev/null
+++ b/Lang/Clean/0DESCRIPTION
@@ -0,0 +1,12 @@
+{{language|Clean
+|strength=strong
+|express=implicit
+|checking=static
+|gc=yes
+|LCT=yes}}
+{{language programming paradigm|Declarative}}
+'''Clean''' is a pure and lazy functional [[programming language]].
+
+==Citations==
+* [http://clean.cs.ru.nl/ The Clean web site]
+* [[wp:Clean_%28programming_language%29|Wikipedia:Clean (programming language)]]
\ No newline at end of file
diff --git a/Lang/Clean/Apply-a-callback-to-an-array b/Lang/Clean/Apply-a-callback-to-an-array
new file mode 120000
index 0000000000..ea6e71c8d5
--- /dev/null
+++ b/Lang/Clean/Apply-a-callback-to-an-array
@@ -0,0 +1 @@
+../../Task/Apply-a-callback-to-an-array/Clean
\ No newline at end of file
diff --git a/Lang/Clean/Boolean-values b/Lang/Clean/Boolean-values
new file mode 120000
index 0000000000..378a14df2e
--- /dev/null
+++ b/Lang/Clean/Boolean-values
@@ -0,0 +1 @@
+../../Task/Boolean-values/Clean
\ No newline at end of file
diff --git a/Lang/Clean/Command-line-arguments b/Lang/Clean/Command-line-arguments
new file mode 120000
index 0000000000..5bf5b55a3e
--- /dev/null
+++ b/Lang/Clean/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Clean
\ No newline at end of file
diff --git a/Lang/Clean/Comments b/Lang/Clean/Comments
new file mode 120000
index 0000000000..29401d5693
--- /dev/null
+++ b/Lang/Clean/Comments
@@ -0,0 +1 @@
+../../Task/Comments/Clean
\ No newline at end of file
diff --git a/Lang/Clean/Compound-data-type b/Lang/Clean/Compound-data-type
new file mode 120000
index 0000000000..5acc9c714a
--- /dev/null
+++ b/Lang/Clean/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/Clean
\ No newline at end of file
diff --git a/Lang/Clean/Conditional-structures b/Lang/Clean/Conditional-structures
new file mode 120000
index 0000000000..97b0a365f2
--- /dev/null
+++ b/Lang/Clean/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Clean
\ No newline at end of file
diff --git a/Lang/Clean/Create-a-two-dimensional-array-at-runtime b/Lang/Clean/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..ea3674afb1
--- /dev/null
+++ b/Lang/Clean/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/Clean
\ No newline at end of file
diff --git a/Lang/Clean/Empty-program b/Lang/Clean/Empty-program
new file mode 120000
index 0000000000..e6023bb378
--- /dev/null
+++ b/Lang/Clean/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/Clean
\ No newline at end of file
diff --git a/Lang/Clipper-XBase++/0DESCRIPTION b/Lang/Clipper-XBase++/0DESCRIPTION
new file mode 100644
index 0000000000..b2896f085c
--- /dev/null
+++ b/Lang/Clipper-XBase++/0DESCRIPTION
@@ -0,0 +1,19 @@
+{{language}}The Clipper Language was written originally to create executable .EXE files out of the code written for dBase III from Ashton-Tate, which was an interpretative language.
+
+The original writers of Clipper were Ashton-Tate employees that formed a company named Nantucket. The story goes, while sitting in a bar on the island of Nantucket, in MA, and looking at a painting of a Clipper Ship.
+
+Later on, Nantucket was bought by Computer Associates who discontinued maintaining Clipper (last version was 5.3) in 1997.
+
+I believe it was the most powerful relational database language of it's time and it is still in use by some large corporations because of it's simplicity and reliability. When the [[Windows]] world came into the scenery, several companies wrote languages that are near 100% compatible with Clipper. Two very well use are XBase++ and xHarbour.
+
+Before dBase came about, to find a record in a table you had to do a binary sort. One of the big features, among others, of dBase was that it could find one record out of a billion by doing only 3 comparisons (on a 4.7 MHz computer) that took less than one second using index files as reference. They also invented the DBF file structure which carries the structure of the table internally in record # 0, also known as the phantom or ghost record.
+
+[http://www.clippersolutions.com Clipper Solutions]
+
+[http://www.alaska-software.com Alaska Software]
+
+[http://www.xharbour.org xHarbour]
+
+[http://www.xailer.com Xailer]
+
+[http://www.donnay-software.com Donnay Software]
\ No newline at end of file
diff --git a/Lang/Clipper/0DESCRIPTION b/Lang/Clipper/0DESCRIPTION
new file mode 100644
index 0000000000..96b8bf005c
--- /dev/null
+++ b/Lang/Clipper/0DESCRIPTION
@@ -0,0 +1 @@
+{{language}}{{Stub}}
\ No newline at end of file
diff --git a/Lang/Clipper/FizzBuzz b/Lang/Clipper/FizzBuzz
new file mode 120000
index 0000000000..6daa8d1dfb
--- /dev/null
+++ b/Lang/Clipper/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Clipper
\ No newline at end of file
diff --git a/Lang/Clojure/Character-codes b/Lang/Clojure/Character-codes
new file mode 120000
index 0000000000..e29f87a09e
--- /dev/null
+++ b/Lang/Clojure/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Character-matching b/Lang/Clojure/Character-matching
new file mode 120000
index 0000000000..ca5eff8664
--- /dev/null
+++ b/Lang/Clojure/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Combinations b/Lang/Clojure/Combinations
new file mode 120000
index 0000000000..9e7433ddbe
--- /dev/null
+++ b/Lang/Clojure/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Combinations-with-repetitions b/Lang/Clojure/Combinations-with-repetitions
new file mode 120000
index 0000000000..d326f19d27
--- /dev/null
+++ b/Lang/Clojure/Combinations-with-repetitions
@@ -0,0 +1 @@
+../../Task/Combinations-with-repetitions/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Command-line-arguments b/Lang/Clojure/Command-line-arguments
new file mode 120000
index 0000000000..3ad5cfaba9
--- /dev/null
+++ b/Lang/Clojure/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Compile-time-calculation b/Lang/Clojure/Compile-time-calculation
new file mode 120000
index 0000000000..e55f888533
--- /dev/null
+++ b/Lang/Clojure/Compile-time-calculation
@@ -0,0 +1 @@
+../../Task/Compile-time-calculation/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Compound-data-type b/Lang/Clojure/Compound-data-type
new file mode 120000
index 0000000000..cf71cc21e3
--- /dev/null
+++ b/Lang/Clojure/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Concurrent-computing b/Lang/Clojure/Concurrent-computing
new file mode 120000
index 0000000000..c5c65bb044
--- /dev/null
+++ b/Lang/Clojure/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Conditional-structures b/Lang/Clojure/Conditional-structures
new file mode 120000
index 0000000000..5a00167cc8
--- /dev/null
+++ b/Lang/Clojure/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Constrained-random-points-on-a-circle b/Lang/Clojure/Constrained-random-points-on-a-circle
new file mode 120000
index 0000000000..ebfd95a465
--- /dev/null
+++ b/Lang/Clojure/Constrained-random-points-on-a-circle
@@ -0,0 +1 @@
+../../Task/Constrained-random-points-on-a-circle/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Conways-Game-of-Life b/Lang/Clojure/Conways-Game-of-Life
new file mode 120000
index 0000000000..0fb22cfad0
--- /dev/null
+++ b/Lang/Clojure/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Count-in-octal b/Lang/Clojure/Count-in-octal
new file mode 120000
index 0000000000..76bd165d60
--- /dev/null
+++ b/Lang/Clojure/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Create-a-file b/Lang/Clojure/Create-a-file
new file mode 120000
index 0000000000..ee08225f5e
--- /dev/null
+++ b/Lang/Clojure/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Create-a-two-dimensional-array-at-runtime b/Lang/Clojure/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..0b3831696f
--- /dev/null
+++ b/Lang/Clojure/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/DNS-query b/Lang/Clojure/DNS-query
new file mode 120000
index 0000000000..81b386eaa7
--- /dev/null
+++ b/Lang/Clojure/DNS-query
@@ -0,0 +1 @@
+../../Task/DNS-query/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Date-format b/Lang/Clojure/Date-format
new file mode 120000
index 0000000000..238f507c5b
--- /dev/null
+++ b/Lang/Clojure/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Date-manipulation b/Lang/Clojure/Date-manipulation
new file mode 120000
index 0000000000..5d8db1a480
--- /dev/null
+++ b/Lang/Clojure/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Day-of-the-week b/Lang/Clojure/Day-of-the-week
new file mode 120000
index 0000000000..1a7bc4a673
--- /dev/null
+++ b/Lang/Clojure/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Determine-if-only-one-instance-is-running b/Lang/Clojure/Determine-if-only-one-instance-is-running
new file mode 120000
index 0000000000..ee91ab21d5
--- /dev/null
+++ b/Lang/Clojure/Determine-if-only-one-instance-is-running
@@ -0,0 +1 @@
+../../Task/Determine-if-only-one-instance-is-running/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Dining-philosophers b/Lang/Clojure/Dining-philosophers
new file mode 120000
index 0000000000..dfcc6de534
--- /dev/null
+++ b/Lang/Clojure/Dining-philosophers
@@ -0,0 +1 @@
+../../Task/Dining-philosophers/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Documentation b/Lang/Clojure/Documentation
new file mode 120000
index 0000000000..834e9992d0
--- /dev/null
+++ b/Lang/Clojure/Documentation
@@ -0,0 +1 @@
+../../Task/Documentation/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Dot-product b/Lang/Clojure/Dot-product
new file mode 120000
index 0000000000..6c8cd06ff3
--- /dev/null
+++ b/Lang/Clojure/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Doubly-linked-list-Definition b/Lang/Clojure/Doubly-linked-list-Definition
new file mode 120000
index 0000000000..eff2154cde
--- /dev/null
+++ b/Lang/Clojure/Doubly-linked-list-Definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Definition/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Doubly-linked-list-Element-definition b/Lang/Clojure/Doubly-linked-list-Element-definition
new file mode 120000
index 0000000000..16f9862278
--- /dev/null
+++ b/Lang/Clojure/Doubly-linked-list-Element-definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-definition/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Doubly-linked-list-Element-insertion b/Lang/Clojure/Doubly-linked-list-Element-insertion
new file mode 120000
index 0000000000..0354e58e87
--- /dev/null
+++ b/Lang/Clojure/Doubly-linked-list-Element-insertion
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-insertion/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Doubly-linked-list-Traversal b/Lang/Clojure/Doubly-linked-list-Traversal
new file mode 120000
index 0000000000..42920cae8b
--- /dev/null
+++ b/Lang/Clojure/Doubly-linked-list-Traversal
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Traversal/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Dynamic-variable-names b/Lang/Clojure/Dynamic-variable-names
new file mode 120000
index 0000000000..90c2c70a64
--- /dev/null
+++ b/Lang/Clojure/Dynamic-variable-names
@@ -0,0 +1 @@
+../../Task/Dynamic-variable-names/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Echo-server b/Lang/Clojure/Echo-server
new file mode 120000
index 0000000000..4fc248689c
--- /dev/null
+++ b/Lang/Clojure/Echo-server
@@ -0,0 +1 @@
+../../Task/Echo-server/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Element-wise-operations b/Lang/Clojure/Element-wise-operations
new file mode 120000
index 0000000000..e61b9cb1ab
--- /dev/null
+++ b/Lang/Clojure/Element-wise-operations
@@ -0,0 +1 @@
+../../Task/Element-wise-operations/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Empty-string b/Lang/Clojure/Empty-string
new file mode 120000
index 0000000000..447d4d575a
--- /dev/null
+++ b/Lang/Clojure/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Enforced-immutability b/Lang/Clojure/Enforced-immutability
new file mode 120000
index 0000000000..6cfc906b94
--- /dev/null
+++ b/Lang/Clojure/Enforced-immutability
@@ -0,0 +1 @@
+../../Task/Enforced-immutability/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Enumerations b/Lang/Clojure/Enumerations
new file mode 120000
index 0000000000..210ea8aa65
--- /dev/null
+++ b/Lang/Clojure/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Equilibrium-index b/Lang/Clojure/Equilibrium-index
new file mode 120000
index 0000000000..e7f3b5829b
--- /dev/null
+++ b/Lang/Clojure/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Ethiopian-multiplication b/Lang/Clojure/Ethiopian-multiplication
new file mode 120000
index 0000000000..face27fd5d
--- /dev/null
+++ b/Lang/Clojure/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Evaluate-binomial-coefficients b/Lang/Clojure/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..b02f5c31b7
--- /dev/null
+++ b/Lang/Clojure/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Even-or-odd b/Lang/Clojure/Even-or-odd
new file mode 120000
index 0000000000..546cb55840
--- /dev/null
+++ b/Lang/Clojure/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Evolutionary-algorithm b/Lang/Clojure/Evolutionary-algorithm
new file mode 120000
index 0000000000..6a10238869
--- /dev/null
+++ b/Lang/Clojure/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Exceptions b/Lang/Clojure/Exceptions
new file mode 120000
index 0000000000..8c4af768e9
--- /dev/null
+++ b/Lang/Clojure/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Execute-HQ9+ b/Lang/Clojure/Execute-HQ9+
new file mode 120000
index 0000000000..53f444a95d
--- /dev/null
+++ b/Lang/Clojure/Execute-HQ9+
@@ -0,0 +1 @@
+../../Task/Execute-HQ9+/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Execute-a-system-command b/Lang/Clojure/Execute-a-system-command
new file mode 120000
index 0000000000..16b055c74a
--- /dev/null
+++ b/Lang/Clojure/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Exponentiation-operator b/Lang/Clojure/Exponentiation-operator
new file mode 120000
index 0000000000..09e5212430
--- /dev/null
+++ b/Lang/Clojure/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Extend-your-language b/Lang/Clojure/Extend-your-language
new file mode 120000
index 0000000000..ee02cf0314
--- /dev/null
+++ b/Lang/Clojure/Extend-your-language
@@ -0,0 +1 @@
+../../Task/Extend-your-language/Clojure
\ No newline at end of file
diff --git a/Lang/Cobra/0DESCRIPTION b/Lang/Cobra/0DESCRIPTION
new file mode 100644
index 0000000000..4684555963
--- /dev/null
+++ b/Lang/Cobra/0DESCRIPTION
@@ -0,0 +1,6 @@
+{{stub}}
+{{language
+|site=http://cobra-language.com/
+}}
+Cobra is an object-oriented programming language produced by Cobra Language LLC.
+It supports both static and dynamic typing and has first class support for contracts and unit testing. It is strongly influenced by [[Python]], [[C#]], [[Eiffel]] and [[Objective-C]].
\ No newline at end of file
diff --git a/Lang/Cobra/Averages-Arithmetic-mean b/Lang/Cobra/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..11b184c26b
--- /dev/null
+++ b/Lang/Cobra/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/Cobra
\ No newline at end of file
diff --git a/Lang/CoffeeScript/CSV-to-HTML-translation b/Lang/CoffeeScript/CSV-to-HTML-translation
new file mode 120000
index 0000000000..2a1dc0453c
--- /dev/null
+++ b/Lang/CoffeeScript/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Case-sensitivity-of-identifiers b/Lang/CoffeeScript/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..6839271161
--- /dev/null
+++ b/Lang/CoffeeScript/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Character-codes b/Lang/CoffeeScript/Character-codes
new file mode 120000
index 0000000000..25dc086cde
--- /dev/null
+++ b/Lang/CoffeeScript/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Character-matching b/Lang/CoffeeScript/Character-matching
new file mode 120000
index 0000000000..cb8521a139
--- /dev/null
+++ b/Lang/CoffeeScript/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Chat-server b/Lang/CoffeeScript/Chat-server
new file mode 120000
index 0000000000..54b012e300
--- /dev/null
+++ b/Lang/CoffeeScript/Chat-server
@@ -0,0 +1 @@
+../../Task/Chat-server/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Combinations b/Lang/CoffeeScript/Combinations
new file mode 120000
index 0000000000..44653bd716
--- /dev/null
+++ b/Lang/CoffeeScript/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Combinations-with-repetitions b/Lang/CoffeeScript/Combinations-with-repetitions
new file mode 120000
index 0000000000..9f0e2b6bf5
--- /dev/null
+++ b/Lang/CoffeeScript/Combinations-with-repetitions
@@ -0,0 +1 @@
+../../Task/Combinations-with-repetitions/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Compound-data-type b/Lang/CoffeeScript/Compound-data-type
new file mode 120000
index 0000000000..21d53e0d27
--- /dev/null
+++ b/Lang/CoffeeScript/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Concurrent-computing b/Lang/CoffeeScript/Concurrent-computing
new file mode 120000
index 0000000000..f62d0acfbd
--- /dev/null
+++ b/Lang/CoffeeScript/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Conditional-structures b/Lang/CoffeeScript/Conditional-structures
new file mode 120000
index 0000000000..d87bdc87a8
--- /dev/null
+++ b/Lang/CoffeeScript/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Constrained-random-points-on-a-circle b/Lang/CoffeeScript/Constrained-random-points-on-a-circle
new file mode 120000
index 0000000000..154a288b01
--- /dev/null
+++ b/Lang/CoffeeScript/Constrained-random-points-on-a-circle
@@ -0,0 +1 @@
+../../Task/Constrained-random-points-on-a-circle/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Continued-fraction b/Lang/CoffeeScript/Continued-fraction
new file mode 120000
index 0000000000..629bbb2cd5
--- /dev/null
+++ b/Lang/CoffeeScript/Continued-fraction
@@ -0,0 +1 @@
+../../Task/Continued-fraction/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Count-in-factors b/Lang/CoffeeScript/Count-in-factors
new file mode 120000
index 0000000000..2f1bb90b53
--- /dev/null
+++ b/Lang/CoffeeScript/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Count-in-octal b/Lang/CoffeeScript/Count-in-octal
new file mode 120000
index 0000000000..69c4b294b0
--- /dev/null
+++ b/Lang/CoffeeScript/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Count-occurrences-of-a-substring b/Lang/CoffeeScript/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..513d1ba7af
--- /dev/null
+++ b/Lang/CoffeeScript/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Create-an-HTML-table b/Lang/CoffeeScript/Create-an-HTML-table
new file mode 120000
index 0000000000..65bbfbb1cf
--- /dev/null
+++ b/Lang/CoffeeScript/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/DNS-query b/Lang/CoffeeScript/DNS-query
new file mode 120000
index 0000000000..1c484763bc
--- /dev/null
+++ b/Lang/CoffeeScript/DNS-query
@@ -0,0 +1 @@
+../../Task/DNS-query/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Date-format b/Lang/CoffeeScript/Date-format
new file mode 120000
index 0000000000..f97cdfd8ff
--- /dev/null
+++ b/Lang/CoffeeScript/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Day-of-the-week b/Lang/CoffeeScript/Day-of-the-week
new file mode 120000
index 0000000000..2830dff321
--- /dev/null
+++ b/Lang/CoffeeScript/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Dot-product b/Lang/CoffeeScript/Dot-product
new file mode 120000
index 0000000000..c836558ced
--- /dev/null
+++ b/Lang/CoffeeScript/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Echo-server b/Lang/CoffeeScript/Echo-server
new file mode 120000
index 0000000000..08d0d4b579
--- /dev/null
+++ b/Lang/CoffeeScript/Echo-server
@@ -0,0 +1 @@
+../../Task/Echo-server/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Empty-directory b/Lang/CoffeeScript/Empty-directory
new file mode 120000
index 0000000000..d1248e13a4
--- /dev/null
+++ b/Lang/CoffeeScript/Empty-directory
@@ -0,0 +1 @@
+../../Task/Empty-directory/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Empty-program b/Lang/CoffeeScript/Empty-program
new file mode 120000
index 0000000000..c325b31ffa
--- /dev/null
+++ b/Lang/CoffeeScript/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Empty-string b/Lang/CoffeeScript/Empty-string
new file mode 120000
index 0000000000..07895e4adf
--- /dev/null
+++ b/Lang/CoffeeScript/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Ethiopian-multiplication b/Lang/CoffeeScript/Ethiopian-multiplication
new file mode 120000
index 0000000000..6cc0429a76
--- /dev/null
+++ b/Lang/CoffeeScript/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Evaluate-binomial-coefficients b/Lang/CoffeeScript/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..87e62a12ee
--- /dev/null
+++ b/Lang/CoffeeScript/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/CoffeeScript
\ No newline at end of file
diff --git a/Lang/ColdFusion/0DESCRIPTION b/Lang/ColdFusion/0DESCRIPTION
new file mode 100644
index 0000000000..7ed3c1cc66
--- /dev/null
+++ b/Lang/ColdFusion/0DESCRIPTION
@@ -0,0 +1,11 @@
+{{language|ColdFusion
+|strength=weak
+|express=implicit
+|checking=dynamic
+|site=http://www.adobe.com/products/coldfusion
+|LCT=yes}}'''ColdFusion''' is an application server and software development framework used for the development of computer software in general, and dynamic web sites in particular. In this regard, ColdFusion is a similar product to [[Microsoft]] [[ASP|ASP.NET]] or [[Java|Java Enterprise Edition]].
+
+The primary feature of ColdFusion is its associated scripting language, ColdFusion Markup Language (CFML), which compares to [[Java Server Pages|JSP]], [[C sharp|C#]], or [[PHP]] and resembles [[HTML]] in syntax. "ColdFusion" is often used synonymously with "CFML", but it should be noted that there are additional CFML application servers besides ColdFusion, and that ColdFusion supports programming languages other than CFML, such as server-side [[ActionScript]].
+
+==Citations==
+* [[wp:ColdFusion|Wikipedia:Coldfusion]]
\ No newline at end of file
diff --git a/Lang/ColdFusion/100-doors b/Lang/ColdFusion/100-doors
new file mode 120000
index 0000000000..d00f5f4c73
--- /dev/null
+++ b/Lang/ColdFusion/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/ColdFusion
\ No newline at end of file
diff --git a/Lang/ColdFusion/99-Bottles-of-Beer b/Lang/ColdFusion/99-Bottles-of-Beer
new file mode 120000
index 0000000000..95aaeab71f
--- /dev/null
+++ b/Lang/ColdFusion/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/ColdFusion
\ No newline at end of file
diff --git a/Lang/ColdFusion/Associative-array-Creation b/Lang/ColdFusion/Associative-array-Creation
new file mode 120000
index 0000000000..6e033d4116
--- /dev/null
+++ b/Lang/ColdFusion/Associative-array-Creation
@@ -0,0 +1 @@
+../../Task/Associative-array-Creation/ColdFusion
\ No newline at end of file
diff --git a/Lang/ColdFusion/Comments b/Lang/ColdFusion/Comments
new file mode 120000
index 0000000000..449bad5fbb
--- /dev/null
+++ b/Lang/ColdFusion/Comments
@@ -0,0 +1 @@
+../../Task/Comments/ColdFusion
\ No newline at end of file
diff --git a/Lang/ColdFusion/Conditional-structures b/Lang/ColdFusion/Conditional-structures
new file mode 120000
index 0000000000..d67b5fc705
--- /dev/null
+++ b/Lang/ColdFusion/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/ColdFusion
\ No newline at end of file
diff --git a/Lang/ColdFusion/Date-format b/Lang/ColdFusion/Date-format
new file mode 120000
index 0000000000..eca256c4c0
--- /dev/null
+++ b/Lang/ColdFusion/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/ColdFusion
\ No newline at end of file
diff --git a/Lang/ColdFusion/Day-of-the-week b/Lang/ColdFusion/Day-of-the-week
new file mode 120000
index 0000000000..58258519f2
--- /dev/null
+++ b/Lang/ColdFusion/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/ColdFusion
\ No newline at end of file
diff --git a/Lang/ColdFusion/Determine-if-a-string-is-numeric b/Lang/ColdFusion/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..fb1934cbdd
--- /dev/null
+++ b/Lang/ColdFusion/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/ColdFusion
\ No newline at end of file
diff --git a/Lang/ColdFusion/Ethiopian-multiplication b/Lang/ColdFusion/Ethiopian-multiplication
new file mode 120000
index 0000000000..5edcca8b6c
--- /dev/null
+++ b/Lang/ColdFusion/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/ColdFusion
\ No newline at end of file
diff --git a/Lang/ColdFusion/Exceptions b/Lang/ColdFusion/Exceptions
new file mode 120000
index 0000000000..23dbab67cf
--- /dev/null
+++ b/Lang/ColdFusion/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/ColdFusion
\ No newline at end of file
diff --git a/Lang/Common-Lisp/0DESCRIPTION b/Lang/Common-Lisp/0DESCRIPTION
new file mode 100644
index 0000000000..5ab01e735c
--- /dev/null
+++ b/Lang/Common-Lisp/0DESCRIPTION
@@ -0,0 +1,21 @@
+{{language
+|exec=machine
+|strength=strong
+|safety=safe
+|checking=both
+|gc=yes
+|LCT=yes}}
+{{implementation|Lisp}}
+{{language programming paradigm|functional}}
+{{language programming paradigm|procedural}}
+{{language programming paradigm|object-oriented}}
+{{language programming paradigm|reflective}}
+
+'''Common Lisp''', commonly abbreviated '''CL''', is a dialect of the [[derived from::Lisp]] programming language, standardised by [[ANSI]] X3.226-1994. Developed as a common successor to Maclisp and Lisp Machine Lisp, it is not an implementation but a language specification. Several implementations of the Common Lisp standard are available, including commercial products and [[open source]] software.
+
+Common Lisp is a general-purpose programming language, in contrast to Lisp variants such as [[Emacs Lisp]] and AutoLISP which are embedded extension languages in particular products. Unlike many earlier Lisps, Common Lisp (like [[derived from::Scheme]]) uses lexical variable scope.
+
+The "CL-USER> " prompt seen in front of some examples shows that the code was run in a Lisp [[read-eval-print loop]], or REPL, running interactively in an environment such as [[SLIME]].
+
+==Citations==
+* [[wp:Common_lisp|Wikipedia:Common Lisp]]
\ No newline at end of file
diff --git a/Lang/Common-Lisp/100-doors b/Lang/Common-Lisp/100-doors
new file mode 120000
index 0000000000..d242b6d0a8
--- /dev/null
+++ b/Lang/Common-Lisp/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/24-game b/Lang/Common-Lisp/24-game
new file mode 120000
index 0000000000..0feaeb0543
--- /dev/null
+++ b/Lang/Common-Lisp/24-game
@@ -0,0 +1 @@
+../../Task/24-game/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/99-Bottles-of-Beer b/Lang/Common-Lisp/99-Bottles-of-Beer
new file mode 120000
index 0000000000..ff0505e107
--- /dev/null
+++ b/Lang/Common-Lisp/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/A+B b/Lang/Common-Lisp/A+B
new file mode 120000
index 0000000000..a181ad5d19
--- /dev/null
+++ b/Lang/Common-Lisp/A+B
@@ -0,0 +1 @@
+../../Task/A+B/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Abstract-type b/Lang/Common-Lisp/Abstract-type
new file mode 120000
index 0000000000..8f98fd3324
--- /dev/null
+++ b/Lang/Common-Lisp/Abstract-type
@@ -0,0 +1 @@
+../../Task/Abstract-type/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Accumulator-factory b/Lang/Common-Lisp/Accumulator-factory
new file mode 120000
index 0000000000..9d316cb805
--- /dev/null
+++ b/Lang/Common-Lisp/Accumulator-factory
@@ -0,0 +1 @@
+../../Task/Accumulator-factory/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Ackermann-function b/Lang/Common-Lisp/Ackermann-function
new file mode 120000
index 0000000000..ab6a668d58
--- /dev/null
+++ b/Lang/Common-Lisp/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Add-a-variable-to-a-class-instance-at-runtime b/Lang/Common-Lisp/Add-a-variable-to-a-class-instance-at-runtime
new file mode 120000
index 0000000000..22b667889b
--- /dev/null
+++ b/Lang/Common-Lisp/Add-a-variable-to-a-class-instance-at-runtime
@@ -0,0 +1 @@
+../../Task/Add-a-variable-to-a-class-instance-at-runtime/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Address-of-a-variable b/Lang/Common-Lisp/Address-of-a-variable
new file mode 120000
index 0000000000..efd1981bae
--- /dev/null
+++ b/Lang/Common-Lisp/Address-of-a-variable
@@ -0,0 +1 @@
+../../Task/Address-of-a-variable/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Align-columns b/Lang/Common-Lisp/Align-columns
new file mode 120000
index 0000000000..cad987516c
--- /dev/null
+++ b/Lang/Common-Lisp/Align-columns
@@ -0,0 +1 @@
+../../Task/Align-columns/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Anagrams b/Lang/Common-Lisp/Anagrams
new file mode 120000
index 0000000000..fb611d7517
--- /dev/null
+++ b/Lang/Common-Lisp/Anagrams
@@ -0,0 +1 @@
+../../Task/Anagrams/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Anagrams-Deranged-anagrams b/Lang/Common-Lisp/Anagrams-Deranged-anagrams
new file mode 120000
index 0000000000..b3085a29f3
--- /dev/null
+++ b/Lang/Common-Lisp/Anagrams-Deranged-anagrams
@@ -0,0 +1 @@
+../../Task/Anagrams-Deranged-anagrams/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Animation b/Lang/Common-Lisp/Animation
new file mode 120000
index 0000000000..ea32b5546f
--- /dev/null
+++ b/Lang/Common-Lisp/Animation
@@ -0,0 +1 @@
+../../Task/Animation/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Anonymous-recursion b/Lang/Common-Lisp/Anonymous-recursion
new file mode 120000
index 0000000000..48f8252c9e
--- /dev/null
+++ b/Lang/Common-Lisp/Anonymous-recursion
@@ -0,0 +1 @@
+../../Task/Anonymous-recursion/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Apply-a-callback-to-an-array b/Lang/Common-Lisp/Apply-a-callback-to-an-array
new file mode 120000
index 0000000000..be967c175d
--- /dev/null
+++ b/Lang/Common-Lisp/Apply-a-callback-to-an-array
@@ -0,0 +1 @@
+../../Task/Apply-a-callback-to-an-array/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Arbitrary-precision-integers-(included) b/Lang/Common-Lisp/Arbitrary-precision-integers-(included)
new file mode 120000
index 0000000000..ecef923ba4
--- /dev/null
+++ b/Lang/Common-Lisp/Arbitrary-precision-integers-(included)
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers-(included)/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Arithmetic-Complex b/Lang/Common-Lisp/Arithmetic-Complex
new file mode 120000
index 0000000000..f0ad17cb84
--- /dev/null
+++ b/Lang/Common-Lisp/Arithmetic-Complex
@@ -0,0 +1 @@
+../../Task/Arithmetic-Complex/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Arithmetic-Integer b/Lang/Common-Lisp/Arithmetic-Integer
new file mode 120000
index 0000000000..8b18244630
--- /dev/null
+++ b/Lang/Common-Lisp/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Arithmetic-Rational b/Lang/Common-Lisp/Arithmetic-Rational
new file mode 120000
index 0000000000..46786d5844
--- /dev/null
+++ b/Lang/Common-Lisp/Arithmetic-Rational
@@ -0,0 +1 @@
+../../Task/Arithmetic-Rational/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Arithmetic-evaluation b/Lang/Common-Lisp/Arithmetic-evaluation
new file mode 120000
index 0000000000..a538f098c9
--- /dev/null
+++ b/Lang/Common-Lisp/Arithmetic-evaluation
@@ -0,0 +1 @@
+../../Task/Arithmetic-evaluation/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Arithmetic-geometric-mean b/Lang/Common-Lisp/Arithmetic-geometric-mean
new file mode 120000
index 0000000000..09f8e5f851
--- /dev/null
+++ b/Lang/Common-Lisp/Arithmetic-geometric-mean
@@ -0,0 +1 @@
+../../Task/Arithmetic-geometric-mean/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Array-concatenation b/Lang/Common-Lisp/Array-concatenation
new file mode 120000
index 0000000000..deecea21de
--- /dev/null
+++ b/Lang/Common-Lisp/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Arrays b/Lang/Common-Lisp/Arrays
new file mode 120000
index 0000000000..38fa36efee
--- /dev/null
+++ b/Lang/Common-Lisp/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Assertions b/Lang/Common-Lisp/Assertions
new file mode 120000
index 0000000000..7deab47712
--- /dev/null
+++ b/Lang/Common-Lisp/Assertions
@@ -0,0 +1 @@
+../../Task/Assertions/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Associative-array-Creation b/Lang/Common-Lisp/Associative-array-Creation
new file mode 120000
index 0000000000..2bffaf59f2
--- /dev/null
+++ b/Lang/Common-Lisp/Associative-array-Creation
@@ -0,0 +1 @@
+../../Task/Associative-array-Creation/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Associative-array-Iteration b/Lang/Common-Lisp/Associative-array-Iteration
new file mode 120000
index 0000000000..5ece7776df
--- /dev/null
+++ b/Lang/Common-Lisp/Associative-array-Iteration
@@ -0,0 +1 @@
+../../Task/Associative-array-Iteration/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Averages-Arithmetic-mean b/Lang/Common-Lisp/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..033b00d662
--- /dev/null
+++ b/Lang/Common-Lisp/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Averages-Mean-angle b/Lang/Common-Lisp/Averages-Mean-angle
new file mode 120000
index 0000000000..fc4b57ac8f
--- /dev/null
+++ b/Lang/Common-Lisp/Averages-Mean-angle
@@ -0,0 +1 @@
+../../Task/Averages-Mean-angle/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Averages-Median b/Lang/Common-Lisp/Averages-Median
new file mode 120000
index 0000000000..6bf03023c8
--- /dev/null
+++ b/Lang/Common-Lisp/Averages-Median
@@ -0,0 +1 @@
+../../Task/Averages-Median/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Averages-Pythagorean-means b/Lang/Common-Lisp/Averages-Pythagorean-means
new file mode 120000
index 0000000000..f6fd8e4f18
--- /dev/null
+++ b/Lang/Common-Lisp/Averages-Pythagorean-means
@@ -0,0 +1 @@
+../../Task/Averages-Pythagorean-means/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Averages-Root-mean-square b/Lang/Common-Lisp/Averages-Root-mean-square
new file mode 120000
index 0000000000..1379cc597b
--- /dev/null
+++ b/Lang/Common-Lisp/Averages-Root-mean-square
@@ -0,0 +1 @@
+../../Task/Averages-Root-mean-square/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Averages-Simple-moving-average b/Lang/Common-Lisp/Averages-Simple-moving-average
new file mode 120000
index 0000000000..67a9862702
--- /dev/null
+++ b/Lang/Common-Lisp/Averages-Simple-moving-average
@@ -0,0 +1 @@
+../../Task/Averages-Simple-moving-average/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Balanced-brackets b/Lang/Common-Lisp/Balanced-brackets
new file mode 120000
index 0000000000..9183eaf151
--- /dev/null
+++ b/Lang/Common-Lisp/Balanced-brackets
@@ -0,0 +1 @@
+../../Task/Balanced-brackets/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Balanced-ternary b/Lang/Common-Lisp/Balanced-ternary
new file mode 120000
index 0000000000..ba27452e76
--- /dev/null
+++ b/Lang/Common-Lisp/Balanced-ternary
@@ -0,0 +1 @@
+../../Task/Balanced-ternary/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Best-shuffle b/Lang/Common-Lisp/Best-shuffle
new file mode 120000
index 0000000000..a186ba6479
--- /dev/null
+++ b/Lang/Common-Lisp/Best-shuffle
@@ -0,0 +1 @@
+../../Task/Best-shuffle/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Binary-search b/Lang/Common-Lisp/Binary-search
new file mode 120000
index 0000000000..b4a0d629d5
--- /dev/null
+++ b/Lang/Common-Lisp/Binary-search
@@ -0,0 +1 @@
+../../Task/Binary-search/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Binary-strings b/Lang/Common-Lisp/Binary-strings
new file mode 120000
index 0000000000..60c2cd0656
--- /dev/null
+++ b/Lang/Common-Lisp/Binary-strings
@@ -0,0 +1 @@
+../../Task/Binary-strings/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Bitmap b/Lang/Common-Lisp/Bitmap
new file mode 120000
index 0000000000..ee6ccab38f
--- /dev/null
+++ b/Lang/Common-Lisp/Bitmap
@@ -0,0 +1 @@
+../../Task/Bitmap/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Bitmap-Bresenhams-line-algorithm b/Lang/Common-Lisp/Bitmap-Bresenhams-line-algorithm
new file mode 120000
index 0000000000..0d77d53ccf
--- /dev/null
+++ b/Lang/Common-Lisp/Bitmap-Bresenhams-line-algorithm
@@ -0,0 +1 @@
+../../Task/Bitmap-Bresenhams-line-algorithm/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Bitmap-Midpoint-circle-algorithm b/Lang/Common-Lisp/Bitmap-Midpoint-circle-algorithm
new file mode 120000
index 0000000000..a96e0c5fb8
--- /dev/null
+++ b/Lang/Common-Lisp/Bitmap-Midpoint-circle-algorithm
@@ -0,0 +1 @@
+../../Task/Bitmap-Midpoint-circle-algorithm/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Bitmap-Read-a-PPM-file b/Lang/Common-Lisp/Bitmap-Read-a-PPM-file
new file mode 120000
index 0000000000..35eaf891e5
--- /dev/null
+++ b/Lang/Common-Lisp/Bitmap-Read-a-PPM-file
@@ -0,0 +1 @@
+../../Task/Bitmap-Read-a-PPM-file/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Bitmap-Write-a-PPM-file b/Lang/Common-Lisp/Bitmap-Write-a-PPM-file
new file mode 120000
index 0000000000..65768b439c
--- /dev/null
+++ b/Lang/Common-Lisp/Bitmap-Write-a-PPM-file
@@ -0,0 +1 @@
+../../Task/Bitmap-Write-a-PPM-file/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Bitwise-operations b/Lang/Common-Lisp/Bitwise-operations
new file mode 120000
index 0000000000..07229b5830
--- /dev/null
+++ b/Lang/Common-Lisp/Bitwise-operations
@@ -0,0 +1 @@
+../../Task/Bitwise-operations/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Break-OO-privacy b/Lang/Common-Lisp/Break-OO-privacy
new file mode 120000
index 0000000000..bf5e1866f1
--- /dev/null
+++ b/Lang/Common-Lisp/Break-OO-privacy
@@ -0,0 +1 @@
+../../Task/Break-OO-privacy/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Bulls-and-cows b/Lang/Common-Lisp/Bulls-and-cows
new file mode 120000
index 0000000000..68b031396d
--- /dev/null
+++ b/Lang/Common-Lisp/Bulls-and-cows
@@ -0,0 +1 @@
+../../Task/Bulls-and-cows/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/CRC-32 b/Lang/Common-Lisp/CRC-32
new file mode 120000
index 0000000000..d0b08bd913
--- /dev/null
+++ b/Lang/Common-Lisp/CRC-32
@@ -0,0 +1 @@
+../../Task/CRC-32/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/CSV-to-HTML-translation b/Lang/Common-Lisp/CSV-to-HTML-translation
new file mode 120000
index 0000000000..8678b64ed4
--- /dev/null
+++ b/Lang/Common-Lisp/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Caesar-cipher b/Lang/Common-Lisp/Caesar-cipher
new file mode 120000
index 0000000000..43055cba18
--- /dev/null
+++ b/Lang/Common-Lisp/Caesar-cipher
@@ -0,0 +1 @@
+../../Task/Caesar-cipher/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Call-a-foreign-language-function b/Lang/Common-Lisp/Call-a-foreign-language-function
new file mode 120000
index 0000000000..c94afc643d
--- /dev/null
+++ b/Lang/Common-Lisp/Call-a-foreign-language-function
@@ -0,0 +1 @@
+../../Task/Call-a-foreign-language-function/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Call-a-function-in-a-shared-library b/Lang/Common-Lisp/Call-a-function-in-a-shared-library
new file mode 120000
index 0000000000..5448faaac0
--- /dev/null
+++ b/Lang/Common-Lisp/Call-a-function-in-a-shared-library
@@ -0,0 +1 @@
+../../Task/Call-a-function-in-a-shared-library/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Case-sensitivity-of-identifiers b/Lang/Common-Lisp/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..bd47c8b99d
--- /dev/null
+++ b/Lang/Common-Lisp/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Character-codes b/Lang/Common-Lisp/Character-codes
new file mode 120000
index 0000000000..0dfcb8c5d6
--- /dev/null
+++ b/Lang/Common-Lisp/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Check-that-file-exists b/Lang/Common-Lisp/Check-that-file-exists
new file mode 120000
index 0000000000..b8db61705a
--- /dev/null
+++ b/Lang/Common-Lisp/Check-that-file-exists
@@ -0,0 +1 @@
+../../Task/Check-that-file-exists/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Cholesky-decomposition b/Lang/Common-Lisp/Cholesky-decomposition
new file mode 120000
index 0000000000..37a6e7e1bb
--- /dev/null
+++ b/Lang/Common-Lisp/Cholesky-decomposition
@@ -0,0 +1 @@
+../../Task/Cholesky-decomposition/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Classes b/Lang/Common-Lisp/Classes
new file mode 120000
index 0000000000..ae1755c352
--- /dev/null
+++ b/Lang/Common-Lisp/Classes
@@ -0,0 +1 @@
+../../Task/Classes/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Closest-pair-problem b/Lang/Common-Lisp/Closest-pair-problem
new file mode 120000
index 0000000000..0a31306727
--- /dev/null
+++ b/Lang/Common-Lisp/Closest-pair-problem
@@ -0,0 +1 @@
+../../Task/Closest-pair-problem/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Collections b/Lang/Common-Lisp/Collections
new file mode 120000
index 0000000000..dc7a30d25c
--- /dev/null
+++ b/Lang/Common-Lisp/Collections
@@ -0,0 +1 @@
+../../Task/Collections/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Combinations b/Lang/Common-Lisp/Combinations
new file mode 120000
index 0000000000..7898ac337f
--- /dev/null
+++ b/Lang/Common-Lisp/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Command-line-arguments b/Lang/Common-Lisp/Command-line-arguments
new file mode 120000
index 0000000000..11426e0bd8
--- /dev/null
+++ b/Lang/Common-Lisp/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Comments b/Lang/Common-Lisp/Comments
new file mode 120000
index 0000000000..979fc91055
--- /dev/null
+++ b/Lang/Common-Lisp/Comments
@@ -0,0 +1 @@
+../../Task/Comments/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Compile-time-calculation b/Lang/Common-Lisp/Compile-time-calculation
new file mode 120000
index 0000000000..f7989845bf
--- /dev/null
+++ b/Lang/Common-Lisp/Compile-time-calculation
@@ -0,0 +1 @@
+../../Task/Compile-time-calculation/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Compound-data-type b/Lang/Common-Lisp/Compound-data-type
new file mode 120000
index 0000000000..b9e12e0e4f
--- /dev/null
+++ b/Lang/Common-Lisp/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Concurrent-computing b/Lang/Common-Lisp/Concurrent-computing
new file mode 120000
index 0000000000..f10b901463
--- /dev/null
+++ b/Lang/Common-Lisp/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Conditional-structures b/Lang/Common-Lisp/Conditional-structures
new file mode 120000
index 0000000000..3b264d7b8e
--- /dev/null
+++ b/Lang/Common-Lisp/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Constrained-genericity b/Lang/Common-Lisp/Constrained-genericity
new file mode 120000
index 0000000000..e891819289
--- /dev/null
+++ b/Lang/Common-Lisp/Constrained-genericity
@@ -0,0 +1 @@
+../../Task/Constrained-genericity/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Constrained-random-points-on-a-circle b/Lang/Common-Lisp/Constrained-random-points-on-a-circle
new file mode 120000
index 0000000000..11f6571148
--- /dev/null
+++ b/Lang/Common-Lisp/Constrained-random-points-on-a-circle
@@ -0,0 +1 @@
+../../Task/Constrained-random-points-on-a-circle/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Continued-fraction b/Lang/Common-Lisp/Continued-fraction
new file mode 120000
index 0000000000..59f5aef25e
--- /dev/null
+++ b/Lang/Common-Lisp/Continued-fraction
@@ -0,0 +1 @@
+../../Task/Continued-fraction/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Conways-Game-of-Life b/Lang/Common-Lisp/Conways-Game-of-Life
new file mode 120000
index 0000000000..5e7cd2bc05
--- /dev/null
+++ b/Lang/Common-Lisp/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Count-in-factors b/Lang/Common-Lisp/Count-in-factors
new file mode 120000
index 0000000000..2895204413
--- /dev/null
+++ b/Lang/Common-Lisp/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Count-in-octal b/Lang/Common-Lisp/Count-in-octal
new file mode 120000
index 0000000000..1983cfd5ac
--- /dev/null
+++ b/Lang/Common-Lisp/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Count-occurrences-of-a-substring b/Lang/Common-Lisp/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..a3ebeb7e71
--- /dev/null
+++ b/Lang/Common-Lisp/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Count-the-coins b/Lang/Common-Lisp/Count-the-coins
new file mode 120000
index 0000000000..f891f158cf
--- /dev/null
+++ b/Lang/Common-Lisp/Count-the-coins
@@ -0,0 +1 @@
+../../Task/Count-the-coins/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Create-a-file b/Lang/Common-Lisp/Create-a-file
new file mode 120000
index 0000000000..c2330f0310
--- /dev/null
+++ b/Lang/Common-Lisp/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Create-a-two-dimensional-array-at-runtime b/Lang/Common-Lisp/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..615c75e1a7
--- /dev/null
+++ b/Lang/Common-Lisp/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Cut-a-rectangle b/Lang/Common-Lisp/Cut-a-rectangle
new file mode 120000
index 0000000000..2b00aa714d
--- /dev/null
+++ b/Lang/Common-Lisp/Cut-a-rectangle
@@ -0,0 +1 @@
+../../Task/Cut-a-rectangle/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/DNS-query b/Lang/Common-Lisp/DNS-query
new file mode 120000
index 0000000000..0e0d8dcf26
--- /dev/null
+++ b/Lang/Common-Lisp/DNS-query
@@ -0,0 +1 @@
+../../Task/DNS-query/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Date-format b/Lang/Common-Lisp/Date-format
new file mode 120000
index 0000000000..908e2e846e
--- /dev/null
+++ b/Lang/Common-Lisp/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Day-of-the-week b/Lang/Common-Lisp/Day-of-the-week
new file mode 120000
index 0000000000..d752884832
--- /dev/null
+++ b/Lang/Common-Lisp/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Deal-cards-for-FreeCell b/Lang/Common-Lisp/Deal-cards-for-FreeCell
new file mode 120000
index 0000000000..558c35f3dd
--- /dev/null
+++ b/Lang/Common-Lisp/Deal-cards-for-FreeCell
@@ -0,0 +1 @@
+../../Task/Deal-cards-for-FreeCell/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Deconvolution-1D b/Lang/Common-Lisp/Deconvolution-1D
new file mode 120000
index 0000000000..b8e3bbbfd4
--- /dev/null
+++ b/Lang/Common-Lisp/Deconvolution-1D
@@ -0,0 +1 @@
+../../Task/Deconvolution-1D/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Deepcopy b/Lang/Common-Lisp/Deepcopy
new file mode 120000
index 0000000000..6901285800
--- /dev/null
+++ b/Lang/Common-Lisp/Deepcopy
@@ -0,0 +1 @@
+../../Task/Deepcopy/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Define-a-primitive-data-type b/Lang/Common-Lisp/Define-a-primitive-data-type
new file mode 120000
index 0000000000..788b66818d
--- /dev/null
+++ b/Lang/Common-Lisp/Define-a-primitive-data-type
@@ -0,0 +1 @@
+../../Task/Define-a-primitive-data-type/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Delegates b/Lang/Common-Lisp/Delegates
new file mode 120000
index 0000000000..5d2d12c2f4
--- /dev/null
+++ b/Lang/Common-Lisp/Delegates
@@ -0,0 +1 @@
+../../Task/Delegates/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Delete-a-file b/Lang/Common-Lisp/Delete-a-file
new file mode 120000
index 0000000000..86eb45dfbe
--- /dev/null
+++ b/Lang/Common-Lisp/Delete-a-file
@@ -0,0 +1 @@
+../../Task/Delete-a-file/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Detect-division-by-zero b/Lang/Common-Lisp/Detect-division-by-zero
new file mode 120000
index 0000000000..766b3f91fc
--- /dev/null
+++ b/Lang/Common-Lisp/Detect-division-by-zero
@@ -0,0 +1 @@
+../../Task/Detect-division-by-zero/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Determine-if-a-string-is-numeric b/Lang/Common-Lisp/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..67012b6e35
--- /dev/null
+++ b/Lang/Common-Lisp/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Dining-philosophers b/Lang/Common-Lisp/Dining-philosophers
new file mode 120000
index 0000000000..0e683f776c
--- /dev/null
+++ b/Lang/Common-Lisp/Dining-philosophers
@@ -0,0 +1 @@
+../../Task/Dining-philosophers/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Dot-product b/Lang/Common-Lisp/Dot-product
new file mode 120000
index 0000000000..a06a077cf1
--- /dev/null
+++ b/Lang/Common-Lisp/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Doubly-linked-list-Definition b/Lang/Common-Lisp/Doubly-linked-list-Definition
new file mode 120000
index 0000000000..0d4ebaa29d
--- /dev/null
+++ b/Lang/Common-Lisp/Doubly-linked-list-Definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Definition/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Doubly-linked-list-Element-definition b/Lang/Common-Lisp/Doubly-linked-list-Element-definition
new file mode 120000
index 0000000000..c1cd359655
--- /dev/null
+++ b/Lang/Common-Lisp/Doubly-linked-list-Element-definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-definition/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Dynamic-variable-names b/Lang/Common-Lisp/Dynamic-variable-names
new file mode 120000
index 0000000000..baf9374390
--- /dev/null
+++ b/Lang/Common-Lisp/Dynamic-variable-names
@@ -0,0 +1 @@
+../../Task/Dynamic-variable-names/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Echo-server b/Lang/Common-Lisp/Echo-server
new file mode 120000
index 0000000000..0c2ffe5473
--- /dev/null
+++ b/Lang/Common-Lisp/Echo-server
@@ -0,0 +1 @@
+../../Task/Echo-server/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Element-wise-operations b/Lang/Common-Lisp/Element-wise-operations
new file mode 120000
index 0000000000..1bf70d04c3
--- /dev/null
+++ b/Lang/Common-Lisp/Element-wise-operations
@@ -0,0 +1 @@
+../../Task/Element-wise-operations/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Empty-string b/Lang/Common-Lisp/Empty-string
new file mode 120000
index 0000000000..7192d9d1bd
--- /dev/null
+++ b/Lang/Common-Lisp/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Enumerations b/Lang/Common-Lisp/Enumerations
new file mode 120000
index 0000000000..982cd31b87
--- /dev/null
+++ b/Lang/Common-Lisp/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Ethiopian-multiplication b/Lang/Common-Lisp/Ethiopian-multiplication
new file mode 120000
index 0000000000..b31ddde568
--- /dev/null
+++ b/Lang/Common-Lisp/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Euler-method b/Lang/Common-Lisp/Euler-method
new file mode 120000
index 0000000000..ef87771c07
--- /dev/null
+++ b/Lang/Common-Lisp/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Evaluate-binomial-coefficients b/Lang/Common-Lisp/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..c82eb87374
--- /dev/null
+++ b/Lang/Common-Lisp/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Even-or-odd b/Lang/Common-Lisp/Even-or-odd
new file mode 120000
index 0000000000..24a4241ed4
--- /dev/null
+++ b/Lang/Common-Lisp/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Evolutionary-algorithm b/Lang/Common-Lisp/Evolutionary-algorithm
new file mode 120000
index 0000000000..28973cfd26
--- /dev/null
+++ b/Lang/Common-Lisp/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Exceptions b/Lang/Common-Lisp/Exceptions
new file mode 120000
index 0000000000..682c139b4a
--- /dev/null
+++ b/Lang/Common-Lisp/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/Common-Lisp/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..98cced88d7
--- /dev/null
+++ b/Lang/Common-Lisp/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Execute-a-system-command b/Lang/Common-Lisp/Execute-a-system-command
new file mode 120000
index 0000000000..e5d2337e70
--- /dev/null
+++ b/Lang/Common-Lisp/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Exponentiation-operator b/Lang/Common-Lisp/Exponentiation-operator
new file mode 120000
index 0000000000..3117564730
--- /dev/null
+++ b/Lang/Common-Lisp/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Extend-your-language b/Lang/Common-Lisp/Extend-your-language
new file mode 120000
index 0000000000..4afd11c2e2
--- /dev/null
+++ b/Lang/Common-Lisp/Extend-your-language
@@ -0,0 +1 @@
+../../Task/Extend-your-language/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/FizzBuzz b/Lang/Common-Lisp/FizzBuzz
new file mode 120000
index 0000000000..b008e8b0a8
--- /dev/null
+++ b/Lang/Common-Lisp/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Forest-fire b/Lang/Common-Lisp/Forest-fire
new file mode 120000
index 0000000000..9a7ae31bed
--- /dev/null
+++ b/Lang/Common-Lisp/Forest-fire
@@ -0,0 +1 @@
+../../Task/Forest-fire/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Infinity b/Lang/Common-Lisp/Infinity
new file mode 120000
index 0000000000..880e47acb4
--- /dev/null
+++ b/Lang/Common-Lisp/Infinity
@@ -0,0 +1 @@
+../../Task/Infinity/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/JSON b/Lang/Common-Lisp/JSON
new file mode 120000
index 0000000000..2bc74060ad
--- /dev/null
+++ b/Lang/Common-Lisp/JSON
@@ -0,0 +1 @@
+../../Task/JSON/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Knuth-shuffle b/Lang/Common-Lisp/Knuth-shuffle
new file mode 120000
index 0000000000..d4e377f43a
--- /dev/null
+++ b/Lang/Common-Lisp/Knuth-shuffle
@@ -0,0 +1 @@
+../../Task/Knuth-shuffle/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Narcissist b/Lang/Common-Lisp/Narcissist
new file mode 120000
index 0000000000..4edccf7856
--- /dev/null
+++ b/Lang/Common-Lisp/Narcissist
@@ -0,0 +1 @@
+../../Task/Narcissist/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Ordered-words b/Lang/Common-Lisp/Ordered-words
new file mode 120000
index 0000000000..8f9859692e
--- /dev/null
+++ b/Lang/Common-Lisp/Ordered-words
@@ -0,0 +1 @@
+../../Task/Ordered-words/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Quine b/Lang/Common-Lisp/Quine
new file mode 120000
index 0000000000..c33dfa673b
--- /dev/null
+++ b/Lang/Common-Lisp/Quine
@@ -0,0 +1 @@
+../../Task/Quine/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Search-a-list b/Lang/Common-Lisp/Search-a-list
new file mode 120000
index 0000000000..5650e4a765
--- /dev/null
+++ b/Lang/Common-Lisp/Search-a-list
@@ -0,0 +1 @@
+../../Task/Search-a-list/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Component-Pascal/0DESCRIPTION b/Lang/Component-Pascal/0DESCRIPTION
new file mode 100644
index 0000000000..a83cc2b2e7
--- /dev/null
+++ b/Lang/Component-Pascal/0DESCRIPTION
@@ -0,0 +1,4 @@
+{{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
diff --git a/Lang/Component-Pascal/Arrays b/Lang/Component-Pascal/Arrays
new file mode 120000
index 0000000000..ca2888d8bb
--- /dev/null
+++ b/Lang/Component-Pascal/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/Component-Pascal
\ No newline at end of file
diff --git a/Lang/Component-Pascal/Assertions b/Lang/Component-Pascal/Assertions
new file mode 120000
index 0000000000..765a2c9e43
--- /dev/null
+++ b/Lang/Component-Pascal/Assertions
@@ -0,0 +1 @@
+../../Task/Assertions/Component-Pascal
\ No newline at end of file
diff --git a/Lang/Component-Pascal/Create-a-two-dimensional-array-at-runtime b/Lang/Component-Pascal/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..deddbb5704
--- /dev/null
+++ b/Lang/Component-Pascal/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/Component-Pascal
\ No newline at end of file
diff --git a/Lang/Coq/0DESCRIPTION b/Lang/Coq/0DESCRIPTION
new file mode 100644
index 0000000000..f366dcaecc
--- /dev/null
+++ b/Lang/Coq/0DESCRIPTION
@@ -0,0 +1,6 @@
+{{language|Coq}}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
diff --git a/Lang/Coq/Ackermann-function b/Lang/Coq/Ackermann-function
new file mode 120000
index 0000000000..03a0752c76
--- /dev/null
+++ b/Lang/Coq/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/Coq
\ No newline at end of file
diff --git a/Lang/Crack/0DESCRIPTION b/Lang/Crack/0DESCRIPTION
new file mode 100644
index 0000000000..0f046e3a6b
--- /dev/null
+++ b/Lang/Crack/0DESCRIPTION
@@ -0,0 +1,14 @@
+{{language|Crack
+|exec=machine
+|site=http://code.google.com/p/crack-language/
+|gc=yes
+|parampass=both
+|safety=safe
+|checking=static
+|strength=strong
+|LCT=yes}}
+{{language programming paradigm|Object-oriented}}
+
+Crack aims to provide the ease of development of a scripting language with the performance of a compiled language. The crack language itself derives concepts from [[C++]], [[Java]] and [[Python]], incorporating [[object-oriented programming]], operator overloading and strong typing.
+
+The "crack" program is a "script executor" that compiles source to machine code [[JIT|on the fly]] (it will cache the code to intermediate formats as appropriate). A static (ahead of time) compiler is also in development.
\ No newline at end of file
diff --git a/Lang/Crack/Conditional-structures b/Lang/Crack/Conditional-structures
new file mode 120000
index 0000000000..ba994c516c
--- /dev/null
+++ b/Lang/Crack/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Crack
\ No newline at end of file
diff --git a/Lang/Curry/0DESCRIPTION b/Lang/Curry/0DESCRIPTION
new file mode 100644
index 0000000000..5cbad8ae8e
--- /dev/null
+++ b/Lang/Curry/0DESCRIPTION
@@ -0,0 +1,11 @@
+{{stub}}{{language|Curry
+|site=http://www-ps.informatik.uni-kiel.de/currywiki/
+}}
+{{language programming paradigm|Declarative}}
+{{language programming paradigm|functional}}
+{{language programming paradigm|Logic_Programming}}
+
+Curry is a functional logic programming language, based on the Haskell language.
+
+==See Also==
+*[[wp:Curry_(programming_language)|Wikipedia:Curry (programming language)]]
\ No newline at end of file
diff --git a/Lang/D/0DESCRIPTION b/Lang/D/0DESCRIPTION
new file mode 100644
index 0000000000..67d713611f
--- /dev/null
+++ b/Lang/D/0DESCRIPTION
@@ -0,0 +1,19 @@
+{{language|D
+|strength=strong
+|gc=yes
+|safety=both
+|express=explicit
+|compat=both
+|checking=both
+|parampass=both
+|site=http://dlang.org/
+|LCT=yes}}{{codepad}}
+{{language programming paradigm|Imperative}}
+{{language programming paradigm|procedural}}
+{{language programming paradigm|object-oriented}}
+{{language programming paradigm|Functional}}
+{{language programming paradigm|generic}}
+'''D''' is an [[object-oriented]], [[imperative programming|imperative]], multi-[[:Category:Programming Paradigms|paradigm]] system programming language by Walter Bright of Digital Mars. It originated as a re-engineering of [[C++]], but even though it is predominantly influenced by that language, it is not a variant of C++. D has redesigned some C++ features and has been influenced by concepts used in other programming languages, such as [[Python]], [[Java]], [[C sharp|C#]] and [[Eiffel]]. A stable version, 1.0, was released on January 2, 2007.
+
+==Citations==
+* [[wp:D (programming language)|Wikipedia:D (programming language)]]
\ No newline at end of file
diff --git a/Lang/D/100-doors b/Lang/D/100-doors
new file mode 120000
index 0000000000..93e8ecae82
--- /dev/null
+++ b/Lang/D/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/D
\ No newline at end of file
diff --git a/Lang/D/24-game b/Lang/D/24-game
new file mode 120000
index 0000000000..aec7abcc31
--- /dev/null
+++ b/Lang/D/24-game
@@ -0,0 +1 @@
+../../Task/24-game/D
\ No newline at end of file
diff --git a/Lang/D/99-Bottles-of-Beer b/Lang/D/99-Bottles-of-Beer
new file mode 120000
index 0000000000..dd70a5706d
--- /dev/null
+++ b/Lang/D/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/D
\ No newline at end of file
diff --git a/Lang/D/A+B b/Lang/D/A+B
new file mode 120000
index 0000000000..b596c542e2
--- /dev/null
+++ b/Lang/D/A+B
@@ -0,0 +1 @@
+../../Task/A+B/D
\ No newline at end of file
diff --git a/Lang/D/Abstract-type b/Lang/D/Abstract-type
new file mode 120000
index 0000000000..cbcbc60ab6
--- /dev/null
+++ b/Lang/D/Abstract-type
@@ -0,0 +1 @@
+../../Task/Abstract-type/D
\ No newline at end of file
diff --git a/Lang/D/Accumulator-factory b/Lang/D/Accumulator-factory
new file mode 120000
index 0000000000..5bc916c79d
--- /dev/null
+++ b/Lang/D/Accumulator-factory
@@ -0,0 +1 @@
+../../Task/Accumulator-factory/D
\ No newline at end of file
diff --git a/Lang/D/Ackermann-function b/Lang/D/Ackermann-function
new file mode 120000
index 0000000000..b13205c208
--- /dev/null
+++ b/Lang/D/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/D
\ No newline at end of file
diff --git a/Lang/D/Add-a-variable-to-a-class-instance-at-runtime b/Lang/D/Add-a-variable-to-a-class-instance-at-runtime
new file mode 120000
index 0000000000..06c3751658
--- /dev/null
+++ b/Lang/D/Add-a-variable-to-a-class-instance-at-runtime
@@ -0,0 +1 @@
+../../Task/Add-a-variable-to-a-class-instance-at-runtime/D
\ No newline at end of file
diff --git a/Lang/D/Address-of-a-variable b/Lang/D/Address-of-a-variable
new file mode 120000
index 0000000000..20b01e6faf
--- /dev/null
+++ b/Lang/D/Address-of-a-variable
@@ -0,0 +1 @@
+../../Task/Address-of-a-variable/D
\ No newline at end of file
diff --git a/Lang/D/Align-columns b/Lang/D/Align-columns
new file mode 120000
index 0000000000..513271d497
--- /dev/null
+++ b/Lang/D/Align-columns
@@ -0,0 +1 @@
+../../Task/Align-columns/D
\ No newline at end of file
diff --git a/Lang/D/Anagrams-Deranged-anagrams b/Lang/D/Anagrams-Deranged-anagrams
new file mode 120000
index 0000000000..201ff8d1bd
--- /dev/null
+++ b/Lang/D/Anagrams-Deranged-anagrams
@@ -0,0 +1 @@
+../../Task/Anagrams-Deranged-anagrams/D
\ No newline at end of file
diff --git a/Lang/D/Animation b/Lang/D/Animation
new file mode 120000
index 0000000000..36a5e56e12
--- /dev/null
+++ b/Lang/D/Animation
@@ -0,0 +1 @@
+../../Task/Animation/D
\ No newline at end of file
diff --git a/Lang/D/Anonymous-recursion b/Lang/D/Anonymous-recursion
new file mode 120000
index 0000000000..26d1e95d3d
--- /dev/null
+++ b/Lang/D/Anonymous-recursion
@@ -0,0 +1 @@
+../../Task/Anonymous-recursion/D
\ No newline at end of file
diff --git a/Lang/D/Apply-a-callback-to-an-array b/Lang/D/Apply-a-callback-to-an-array
new file mode 120000
index 0000000000..bc59ea9bc2
--- /dev/null
+++ b/Lang/D/Apply-a-callback-to-an-array
@@ -0,0 +1 @@
+../../Task/Apply-a-callback-to-an-array/D
\ No newline at end of file
diff --git a/Lang/D/Arbitrary-precision-integers-(included) b/Lang/D/Arbitrary-precision-integers-(included)
new file mode 120000
index 0000000000..671b355fe3
--- /dev/null
+++ b/Lang/D/Arbitrary-precision-integers-(included)
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers-(included)/D
\ No newline at end of file
diff --git a/Lang/D/Arithmetic-Complex b/Lang/D/Arithmetic-Complex
new file mode 120000
index 0000000000..eee2f702be
--- /dev/null
+++ b/Lang/D/Arithmetic-Complex
@@ -0,0 +1 @@
+../../Task/Arithmetic-Complex/D
\ No newline at end of file
diff --git a/Lang/D/Arithmetic-Integer b/Lang/D/Arithmetic-Integer
new file mode 120000
index 0000000000..1363e0004c
--- /dev/null
+++ b/Lang/D/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/D
\ No newline at end of file
diff --git a/Lang/D/Arithmetic-Rational b/Lang/D/Arithmetic-Rational
new file mode 120000
index 0000000000..f0abbae98e
--- /dev/null
+++ b/Lang/D/Arithmetic-Rational
@@ -0,0 +1 @@
+../../Task/Arithmetic-Rational/D
\ No newline at end of file
diff --git a/Lang/D/Arithmetic-evaluation b/Lang/D/Arithmetic-evaluation
new file mode 120000
index 0000000000..f226fbc3a0
--- /dev/null
+++ b/Lang/D/Arithmetic-evaluation
@@ -0,0 +1 @@
+../../Task/Arithmetic-evaluation/D
\ No newline at end of file
diff --git a/Lang/D/Arithmetic-geometric-mean b/Lang/D/Arithmetic-geometric-mean
new file mode 120000
index 0000000000..42c280f9c1
--- /dev/null
+++ b/Lang/D/Arithmetic-geometric-mean
@@ -0,0 +1 @@
+../../Task/Arithmetic-geometric-mean/D
\ No newline at end of file
diff --git a/Lang/D/Array-concatenation b/Lang/D/Array-concatenation
new file mode 120000
index 0000000000..82611998de
--- /dev/null
+++ b/Lang/D/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/D
\ No newline at end of file
diff --git a/Lang/D/Arrays b/Lang/D/Arrays
new file mode 120000
index 0000000000..50246534c0
--- /dev/null
+++ b/Lang/D/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/D
\ No newline at end of file
diff --git a/Lang/D/Assertions b/Lang/D/Assertions
new file mode 120000
index 0000000000..e006976712
--- /dev/null
+++ b/Lang/D/Assertions
@@ -0,0 +1 @@
+../../Task/Assertions/D
\ No newline at end of file
diff --git a/Lang/D/Associative-array-Creation b/Lang/D/Associative-array-Creation
new file mode 120000
index 0000000000..877bc1e04b
--- /dev/null
+++ b/Lang/D/Associative-array-Creation
@@ -0,0 +1 @@
+../../Task/Associative-array-Creation/D
\ No newline at end of file
diff --git a/Lang/D/Associative-array-Iteration b/Lang/D/Associative-array-Iteration
new file mode 120000
index 0000000000..6e9da8be46
--- /dev/null
+++ b/Lang/D/Associative-array-Iteration
@@ -0,0 +1 @@
+../../Task/Associative-array-Iteration/D
\ No newline at end of file
diff --git a/Lang/D/Atomic-updates b/Lang/D/Atomic-updates
new file mode 120000
index 0000000000..5e2dd0c55a
--- /dev/null
+++ b/Lang/D/Atomic-updates
@@ -0,0 +1 @@
+../../Task/Atomic-updates/D
\ No newline at end of file
diff --git a/Lang/D/Average-loop-length b/Lang/D/Average-loop-length
new file mode 120000
index 0000000000..8af792e43a
--- /dev/null
+++ b/Lang/D/Average-loop-length
@@ -0,0 +1 @@
+../../Task/Average-loop-length/D
\ No newline at end of file
diff --git a/Lang/D/Averages-Arithmetic-mean b/Lang/D/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..2e776dc6a1
--- /dev/null
+++ b/Lang/D/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/D
\ No newline at end of file
diff --git a/Lang/D/Averages-Mean-angle b/Lang/D/Averages-Mean-angle
new file mode 120000
index 0000000000..89cec9493b
--- /dev/null
+++ b/Lang/D/Averages-Mean-angle
@@ -0,0 +1 @@
+../../Task/Averages-Mean-angle/D
\ No newline at end of file
diff --git a/Lang/D/Averages-Median b/Lang/D/Averages-Median
new file mode 120000
index 0000000000..a9ac74d03d
--- /dev/null
+++ b/Lang/D/Averages-Median
@@ -0,0 +1 @@
+../../Task/Averages-Median/D
\ No newline at end of file
diff --git a/Lang/D/Averages-Mode b/Lang/D/Averages-Mode
new file mode 120000
index 0000000000..61b91916a3
--- /dev/null
+++ b/Lang/D/Averages-Mode
@@ -0,0 +1 @@
+../../Task/Averages-Mode/D
\ No newline at end of file
diff --git a/Lang/D/Averages-Pythagorean-means b/Lang/D/Averages-Pythagorean-means
new file mode 120000
index 0000000000..59b091531f
--- /dev/null
+++ b/Lang/D/Averages-Pythagorean-means
@@ -0,0 +1 @@
+../../Task/Averages-Pythagorean-means/D
\ No newline at end of file
diff --git a/Lang/D/Averages-Root-mean-square b/Lang/D/Averages-Root-mean-square
new file mode 120000
index 0000000000..348cff278e
--- /dev/null
+++ b/Lang/D/Averages-Root-mean-square
@@ -0,0 +1 @@
+../../Task/Averages-Root-mean-square/D
\ No newline at end of file
diff --git a/Lang/D/Averages-Simple-moving-average b/Lang/D/Averages-Simple-moving-average
new file mode 120000
index 0000000000..c7da3c4dee
--- /dev/null
+++ b/Lang/D/Averages-Simple-moving-average
@@ -0,0 +1 @@
+../../Task/Averages-Simple-moving-average/D
\ No newline at end of file
diff --git a/Lang/D/Balanced-brackets b/Lang/D/Balanced-brackets
new file mode 120000
index 0000000000..6a2ad1c1e2
--- /dev/null
+++ b/Lang/D/Balanced-brackets
@@ -0,0 +1 @@
+../../Task/Balanced-brackets/D
\ No newline at end of file
diff --git a/Lang/D/Balanced-ternary b/Lang/D/Balanced-ternary
new file mode 120000
index 0000000000..ef07733aa4
--- /dev/null
+++ b/Lang/D/Balanced-ternary
@@ -0,0 +1 @@
+../../Task/Balanced-ternary/D
\ No newline at end of file
diff --git a/Lang/D/Best-shuffle b/Lang/D/Best-shuffle
new file mode 120000
index 0000000000..fac00aae80
--- /dev/null
+++ b/Lang/D/Best-shuffle
@@ -0,0 +1 @@
+../../Task/Best-shuffle/D
\ No newline at end of file
diff --git a/Lang/D/Binary-search b/Lang/D/Binary-search
new file mode 120000
index 0000000000..bc4ae9b4ac
--- /dev/null
+++ b/Lang/D/Binary-search
@@ -0,0 +1 @@
+../../Task/Binary-search/D
\ No newline at end of file
diff --git a/Lang/D/Binary-strings b/Lang/D/Binary-strings
new file mode 120000
index 0000000000..894326e801
--- /dev/null
+++ b/Lang/D/Binary-strings
@@ -0,0 +1 @@
+../../Task/Binary-strings/D
\ No newline at end of file
diff --git a/Lang/D/Bitmap b/Lang/D/Bitmap
new file mode 120000
index 0000000000..bf04f67250
--- /dev/null
+++ b/Lang/D/Bitmap
@@ -0,0 +1 @@
+../../Task/Bitmap/D
\ No newline at end of file
diff --git a/Lang/D/Bitmap-B-zier-curves-Cubic b/Lang/D/Bitmap-B-zier-curves-Cubic
new file mode 120000
index 0000000000..a7243f68a4
--- /dev/null
+++ b/Lang/D/Bitmap-B-zier-curves-Cubic
@@ -0,0 +1 @@
+../../Task/Bitmap-B-zier-curves-Cubic/D
\ No newline at end of file
diff --git a/Lang/D/Bitmap-B-zier-curves-Quadratic b/Lang/D/Bitmap-B-zier-curves-Quadratic
new file mode 120000
index 0000000000..f914b40744
--- /dev/null
+++ b/Lang/D/Bitmap-B-zier-curves-Quadratic
@@ -0,0 +1 @@
+../../Task/Bitmap-B-zier-curves-Quadratic/D
\ No newline at end of file
diff --git a/Lang/D/Bitmap-Bresenhams-line-algorithm b/Lang/D/Bitmap-Bresenhams-line-algorithm
new file mode 120000
index 0000000000..841cdf7d60
--- /dev/null
+++ b/Lang/D/Bitmap-Bresenhams-line-algorithm
@@ -0,0 +1 @@
+../../Task/Bitmap-Bresenhams-line-algorithm/D
\ No newline at end of file
diff --git a/Lang/D/Bitmap-Flood-fill b/Lang/D/Bitmap-Flood-fill
new file mode 120000
index 0000000000..cb4f00fef5
--- /dev/null
+++ b/Lang/D/Bitmap-Flood-fill
@@ -0,0 +1 @@
+../../Task/Bitmap-Flood-fill/D
\ No newline at end of file
diff --git a/Lang/D/Bitmap-Histogram b/Lang/D/Bitmap-Histogram
new file mode 120000
index 0000000000..7a072e1236
--- /dev/null
+++ b/Lang/D/Bitmap-Histogram
@@ -0,0 +1 @@
+../../Task/Bitmap-Histogram/D
\ No newline at end of file
diff --git a/Lang/D/Bitmap-Midpoint-circle-algorithm b/Lang/D/Bitmap-Midpoint-circle-algorithm
new file mode 120000
index 0000000000..feee40920b
--- /dev/null
+++ b/Lang/D/Bitmap-Midpoint-circle-algorithm
@@ -0,0 +1 @@
+../../Task/Bitmap-Midpoint-circle-algorithm/D
\ No newline at end of file
diff --git a/Lang/D/Bitwise-IO b/Lang/D/Bitwise-IO
new file mode 120000
index 0000000000..70c58ac0cd
--- /dev/null
+++ b/Lang/D/Bitwise-IO
@@ -0,0 +1 @@
+../../Task/Bitwise-IO/D
\ No newline at end of file
diff --git a/Lang/D/Bitwise-operations b/Lang/D/Bitwise-operations
new file mode 120000
index 0000000000..d48b98da4d
--- /dev/null
+++ b/Lang/D/Bitwise-operations
@@ -0,0 +1 @@
+../../Task/Bitwise-operations/D
\ No newline at end of file
diff --git a/Lang/D/Box-the-compass b/Lang/D/Box-the-compass
new file mode 120000
index 0000000000..74a1ff94e8
--- /dev/null
+++ b/Lang/D/Box-the-compass
@@ -0,0 +1 @@
+../../Task/Box-the-compass/D
\ No newline at end of file
diff --git a/Lang/D/Bulls-and-cows b/Lang/D/Bulls-and-cows
new file mode 120000
index 0000000000..679bce17cc
--- /dev/null
+++ b/Lang/D/Bulls-and-cows
@@ -0,0 +1 @@
+../../Task/Bulls-and-cows/D
\ No newline at end of file
diff --git a/Lang/D/Bulls-and-cows-Player b/Lang/D/Bulls-and-cows-Player
new file mode 120000
index 0000000000..48e89d3525
--- /dev/null
+++ b/Lang/D/Bulls-and-cows-Player
@@ -0,0 +1 @@
+../../Task/Bulls-and-cows-Player/D
\ No newline at end of file
diff --git a/Lang/D/CRC-32 b/Lang/D/CRC-32
new file mode 120000
index 0000000000..ef52dc85e3
--- /dev/null
+++ b/Lang/D/CRC-32
@@ -0,0 +1 @@
+../../Task/CRC-32/D
\ No newline at end of file
diff --git a/Lang/D/CSV-to-HTML-translation b/Lang/D/CSV-to-HTML-translation
new file mode 120000
index 0000000000..55095f0ce6
--- /dev/null
+++ b/Lang/D/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/D
\ No newline at end of file
diff --git a/Lang/D/Caesar-cipher b/Lang/D/Caesar-cipher
new file mode 120000
index 0000000000..7eb2e6d352
--- /dev/null
+++ b/Lang/D/Caesar-cipher
@@ -0,0 +1 @@
+../../Task/Caesar-cipher/D
\ No newline at end of file
diff --git a/Lang/D/Calendar b/Lang/D/Calendar
new file mode 120000
index 0000000000..47d7b13ad8
--- /dev/null
+++ b/Lang/D/Calendar
@@ -0,0 +1 @@
+../../Task/Calendar/D
\ No newline at end of file
diff --git a/Lang/D/Call-a-foreign-language-function b/Lang/D/Call-a-foreign-language-function
new file mode 120000
index 0000000000..ada36e2a25
--- /dev/null
+++ b/Lang/D/Call-a-foreign-language-function
@@ -0,0 +1 @@
+../../Task/Call-a-foreign-language-function/D
\ No newline at end of file
diff --git a/Lang/D/Call-a-function-in-a-shared-library b/Lang/D/Call-a-function-in-a-shared-library
new file mode 120000
index 0000000000..0a78941cfb
--- /dev/null
+++ b/Lang/D/Call-a-function-in-a-shared-library
@@ -0,0 +1 @@
+../../Task/Call-a-function-in-a-shared-library/D
\ No newline at end of file
diff --git a/Lang/D/Call-an-object-method b/Lang/D/Call-an-object-method
new file mode 120000
index 0000000000..6f6f9a8e50
--- /dev/null
+++ b/Lang/D/Call-an-object-method
@@ -0,0 +1 @@
+../../Task/Call-an-object-method/D
\ No newline at end of file
diff --git a/Lang/D/Canny-edge-detector b/Lang/D/Canny-edge-detector
new file mode 120000
index 0000000000..987d5038fc
--- /dev/null
+++ b/Lang/D/Canny-edge-detector
@@ -0,0 +1 @@
+../../Task/Canny-edge-detector/D
\ No newline at end of file
diff --git a/Lang/D/Carmichael-3-strong-pseudoprimes b/Lang/D/Carmichael-3-strong-pseudoprimes
new file mode 120000
index 0000000000..a55bdb3c50
--- /dev/null
+++ b/Lang/D/Carmichael-3-strong-pseudoprimes
@@ -0,0 +1 @@
+../../Task/Carmichael-3-strong-pseudoprimes/D
\ No newline at end of file
diff --git a/Lang/D/Case-sensitivity-of-identifiers b/Lang/D/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..c983b717c3
--- /dev/null
+++ b/Lang/D/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/D
\ No newline at end of file
diff --git a/Lang/D/Character-codes b/Lang/D/Character-codes
new file mode 120000
index 0000000000..82433cd2e4
--- /dev/null
+++ b/Lang/D/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/D
\ No newline at end of file
diff --git a/Lang/D/Character-matching b/Lang/D/Character-matching
new file mode 120000
index 0000000000..a177ce7f32
--- /dev/null
+++ b/Lang/D/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/D
\ No newline at end of file
diff --git a/Lang/D/Check-Machin-like-formulas b/Lang/D/Check-Machin-like-formulas
new file mode 120000
index 0000000000..376a7249a3
--- /dev/null
+++ b/Lang/D/Check-Machin-like-formulas
@@ -0,0 +1 @@
+../../Task/Check-Machin-like-formulas/D
\ No newline at end of file
diff --git a/Lang/D/Check-that-file-exists b/Lang/D/Check-that-file-exists
new file mode 120000
index 0000000000..8cf6a9d3d6
--- /dev/null
+++ b/Lang/D/Check-that-file-exists
@@ -0,0 +1 @@
+../../Task/Check-that-file-exists/D
\ No newline at end of file
diff --git a/Lang/D/Checkpoint-synchronization b/Lang/D/Checkpoint-synchronization
new file mode 120000
index 0000000000..bd53b1a50c
--- /dev/null
+++ b/Lang/D/Checkpoint-synchronization
@@ -0,0 +1 @@
+../../Task/Checkpoint-synchronization/D
\ No newline at end of file
diff --git a/Lang/D/Cholesky-decomposition b/Lang/D/Cholesky-decomposition
new file mode 120000
index 0000000000..356653aa53
--- /dev/null
+++ b/Lang/D/Cholesky-decomposition
@@ -0,0 +1 @@
+../../Task/Cholesky-decomposition/D
\ No newline at end of file
diff --git a/Lang/D/Classes b/Lang/D/Classes
new file mode 120000
index 0000000000..b1e1077c1c
--- /dev/null
+++ b/Lang/D/Classes
@@ -0,0 +1 @@
+../../Task/Classes/D
\ No newline at end of file
diff --git a/Lang/D/Closest-pair-problem b/Lang/D/Closest-pair-problem
new file mode 120000
index 0000000000..c195b8803c
--- /dev/null
+++ b/Lang/D/Closest-pair-problem
@@ -0,0 +1 @@
+../../Task/Closest-pair-problem/D
\ No newline at end of file
diff --git a/Lang/D/Collections b/Lang/D/Collections
new file mode 120000
index 0000000000..56cb52cab0
--- /dev/null
+++ b/Lang/D/Collections
@@ -0,0 +1 @@
+../../Task/Collections/D
\ No newline at end of file
diff --git a/Lang/D/Color-quantization b/Lang/D/Color-quantization
new file mode 120000
index 0000000000..147076572b
--- /dev/null
+++ b/Lang/D/Color-quantization
@@ -0,0 +1 @@
+../../Task/Color-quantization/D
\ No newline at end of file
diff --git a/Lang/D/Combinations b/Lang/D/Combinations
new file mode 120000
index 0000000000..b3c7d7492d
--- /dev/null
+++ b/Lang/D/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/D
\ No newline at end of file
diff --git a/Lang/D/Combinations-with-repetitions b/Lang/D/Combinations-with-repetitions
new file mode 120000
index 0000000000..e49831bc4a
--- /dev/null
+++ b/Lang/D/Combinations-with-repetitions
@@ -0,0 +1 @@
+../../Task/Combinations-with-repetitions/D
\ No newline at end of file
diff --git a/Lang/D/Command-line-arguments b/Lang/D/Command-line-arguments
new file mode 120000
index 0000000000..5cdbb86b56
--- /dev/null
+++ b/Lang/D/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/D
\ No newline at end of file
diff --git a/Lang/D/Comments b/Lang/D/Comments
new file mode 120000
index 0000000000..25d30b9c48
--- /dev/null
+++ b/Lang/D/Comments
@@ -0,0 +1 @@
+../../Task/Comments/D
\ No newline at end of file
diff --git a/Lang/D/Compare-sorting-algorithms-performance b/Lang/D/Compare-sorting-algorithms-performance
new file mode 120000
index 0000000000..29d7e137e5
--- /dev/null
+++ b/Lang/D/Compare-sorting-algorithms-performance
@@ -0,0 +1 @@
+../../Task/Compare-sorting-algorithms-performance/D
\ No newline at end of file
diff --git a/Lang/D/Compile-time-calculation b/Lang/D/Compile-time-calculation
new file mode 120000
index 0000000000..9be3efb836
--- /dev/null
+++ b/Lang/D/Compile-time-calculation
@@ -0,0 +1 @@
+../../Task/Compile-time-calculation/D
\ No newline at end of file
diff --git a/Lang/D/Compound-data-type b/Lang/D/Compound-data-type
new file mode 120000
index 0000000000..4065084658
--- /dev/null
+++ b/Lang/D/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/D
\ No newline at end of file
diff --git a/Lang/D/Concurrent-computing b/Lang/D/Concurrent-computing
new file mode 120000
index 0000000000..6eaa308608
--- /dev/null
+++ b/Lang/D/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/D
\ No newline at end of file
diff --git a/Lang/D/Conditional-structures b/Lang/D/Conditional-structures
new file mode 120000
index 0000000000..19c378338e
--- /dev/null
+++ b/Lang/D/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/D
\ No newline at end of file
diff --git a/Lang/D/Constrained-genericity b/Lang/D/Constrained-genericity
new file mode 120000
index 0000000000..faade326c4
--- /dev/null
+++ b/Lang/D/Constrained-genericity
@@ -0,0 +1 @@
+../../Task/Constrained-genericity/D
\ No newline at end of file
diff --git a/Lang/D/Constrained-random-points-on-a-circle b/Lang/D/Constrained-random-points-on-a-circle
new file mode 120000
index 0000000000..653494b5e8
--- /dev/null
+++ b/Lang/D/Constrained-random-points-on-a-circle
@@ -0,0 +1 @@
+../../Task/Constrained-random-points-on-a-circle/D
\ No newline at end of file
diff --git a/Lang/D/Continued-fraction b/Lang/D/Continued-fraction
new file mode 120000
index 0000000000..a1167310a8
--- /dev/null
+++ b/Lang/D/Continued-fraction
@@ -0,0 +1 @@
+../../Task/Continued-fraction/D
\ No newline at end of file
diff --git a/Lang/D/Conways-Game-of-Life b/Lang/D/Conways-Game-of-Life
new file mode 120000
index 0000000000..fbc476bdac
--- /dev/null
+++ b/Lang/D/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/D
\ No newline at end of file
diff --git a/Lang/D/Count-in-factors b/Lang/D/Count-in-factors
new file mode 120000
index 0000000000..896005e214
--- /dev/null
+++ b/Lang/D/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/D
\ No newline at end of file
diff --git a/Lang/D/Count-in-octal b/Lang/D/Count-in-octal
new file mode 120000
index 0000000000..5c20637d63
--- /dev/null
+++ b/Lang/D/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/D
\ No newline at end of file
diff --git a/Lang/D/Count-occurrences-of-a-substring b/Lang/D/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..2f8180d46c
--- /dev/null
+++ b/Lang/D/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/D
\ No newline at end of file
diff --git a/Lang/D/Count-the-coins b/Lang/D/Count-the-coins
new file mode 120000
index 0000000000..a9a53204f6
--- /dev/null
+++ b/Lang/D/Count-the-coins
@@ -0,0 +1 @@
+../../Task/Count-the-coins/D
\ No newline at end of file
diff --git a/Lang/D/Create-a-file b/Lang/D/Create-a-file
new file mode 120000
index 0000000000..1851cafefb
--- /dev/null
+++ b/Lang/D/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/D
\ No newline at end of file
diff --git a/Lang/D/Create-a-two-dimensional-array-at-runtime b/Lang/D/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..17b20e2733
--- /dev/null
+++ b/Lang/D/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/D
\ No newline at end of file
diff --git a/Lang/D/Create-an-HTML-table b/Lang/D/Create-an-HTML-table
new file mode 120000
index 0000000000..0c0e676bde
--- /dev/null
+++ b/Lang/D/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/D
\ No newline at end of file
diff --git a/Lang/D/Create-an-object-at-a-given-address b/Lang/D/Create-an-object-at-a-given-address
new file mode 120000
index 0000000000..8ebc70adba
--- /dev/null
+++ b/Lang/D/Create-an-object-at-a-given-address
@@ -0,0 +1 @@
+../../Task/Create-an-object-at-a-given-address/D
\ No newline at end of file
diff --git a/Lang/D/Cut-a-rectangle b/Lang/D/Cut-a-rectangle
new file mode 120000
index 0000000000..da5b746353
--- /dev/null
+++ b/Lang/D/Cut-a-rectangle
@@ -0,0 +1 @@
+../../Task/Cut-a-rectangle/D
\ No newline at end of file
diff --git a/Lang/D/DNS-query b/Lang/D/DNS-query
new file mode 120000
index 0000000000..f14a853312
--- /dev/null
+++ b/Lang/D/DNS-query
@@ -0,0 +1 @@
+../../Task/DNS-query/D
\ No newline at end of file
diff --git a/Lang/D/Date-format b/Lang/D/Date-format
new file mode 120000
index 0000000000..c5431488f3
--- /dev/null
+++ b/Lang/D/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/D
\ No newline at end of file
diff --git a/Lang/D/Day-of-the-week b/Lang/D/Day-of-the-week
new file mode 120000
index 0000000000..51aa815633
--- /dev/null
+++ b/Lang/D/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/D
\ No newline at end of file
diff --git a/Lang/D/Deal-cards-for-FreeCell b/Lang/D/Deal-cards-for-FreeCell
new file mode 120000
index 0000000000..bdfb0db2f9
--- /dev/null
+++ b/Lang/D/Deal-cards-for-FreeCell
@@ -0,0 +1 @@
+../../Task/Deal-cards-for-FreeCell/D
\ No newline at end of file
diff --git a/Lang/D/Death-Star b/Lang/D/Death-Star
new file mode 120000
index 0000000000..6f3d441194
--- /dev/null
+++ b/Lang/D/Death-Star
@@ -0,0 +1 @@
+../../Task/Death-Star/D
\ No newline at end of file
diff --git a/Lang/D/Deconvolution-1D b/Lang/D/Deconvolution-1D
new file mode 120000
index 0000000000..a76fe65140
--- /dev/null
+++ b/Lang/D/Deconvolution-1D
@@ -0,0 +1 @@
+../../Task/Deconvolution-1D/D
\ No newline at end of file
diff --git a/Lang/D/Deconvolution-2D+ b/Lang/D/Deconvolution-2D+
new file mode 120000
index 0000000000..bad0e403b1
--- /dev/null
+++ b/Lang/D/Deconvolution-2D+
@@ -0,0 +1 @@
+../../Task/Deconvolution-2D+/D
\ No newline at end of file
diff --git a/Lang/D/Define-a-primitive-data-type b/Lang/D/Define-a-primitive-data-type
new file mode 120000
index 0000000000..485e48ecd3
--- /dev/null
+++ b/Lang/D/Define-a-primitive-data-type
@@ -0,0 +1 @@
+../../Task/Define-a-primitive-data-type/D
\ No newline at end of file
diff --git a/Lang/D/Delegates b/Lang/D/Delegates
new file mode 120000
index 0000000000..c297a419d0
--- /dev/null
+++ b/Lang/D/Delegates
@@ -0,0 +1 @@
+../../Task/Delegates/D
\ No newline at end of file
diff --git a/Lang/D/Delete-a-file b/Lang/D/Delete-a-file
new file mode 120000
index 0000000000..860af2beb8
--- /dev/null
+++ b/Lang/D/Delete-a-file
@@ -0,0 +1 @@
+../../Task/Delete-a-file/D
\ No newline at end of file
diff --git a/Lang/D/Detect-division-by-zero b/Lang/D/Detect-division-by-zero
new file mode 120000
index 0000000000..b751e6ef6d
--- /dev/null
+++ b/Lang/D/Detect-division-by-zero
@@ -0,0 +1 @@
+../../Task/Detect-division-by-zero/D
\ No newline at end of file
diff --git a/Lang/D/Determine-if-a-string-is-numeric b/Lang/D/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..6cd7c3899d
--- /dev/null
+++ b/Lang/D/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/D
\ No newline at end of file
diff --git a/Lang/D/Digital-root b/Lang/D/Digital-root
new file mode 120000
index 0000000000..bd86ad19c9
--- /dev/null
+++ b/Lang/D/Digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root/D
\ No newline at end of file
diff --git a/Lang/D/Dinesmans-multiple-dwelling-problem b/Lang/D/Dinesmans-multiple-dwelling-problem
new file mode 120000
index 0000000000..4d8c96148e
--- /dev/null
+++ b/Lang/D/Dinesmans-multiple-dwelling-problem
@@ -0,0 +1 @@
+../../Task/Dinesmans-multiple-dwelling-problem/D
\ No newline at end of file
diff --git a/Lang/D/Dining-philosophers b/Lang/D/Dining-philosophers
new file mode 120000
index 0000000000..9db99586d4
--- /dev/null
+++ b/Lang/D/Dining-philosophers
@@ -0,0 +1 @@
+../../Task/Dining-philosophers/D
\ No newline at end of file
diff --git a/Lang/D/Discordian-date b/Lang/D/Discordian-date
new file mode 120000
index 0000000000..2606e46492
--- /dev/null
+++ b/Lang/D/Discordian-date
@@ -0,0 +1 @@
+../../Task/Discordian-date/D
\ No newline at end of file
diff --git a/Lang/D/Distributed-programming b/Lang/D/Distributed-programming
new file mode 120000
index 0000000000..50de9bf87f
--- /dev/null
+++ b/Lang/D/Distributed-programming
@@ -0,0 +1 @@
+../../Task/Distributed-programming/D
\ No newline at end of file
diff --git a/Lang/D/Documentation b/Lang/D/Documentation
new file mode 120000
index 0000000000..722f372944
--- /dev/null
+++ b/Lang/D/Documentation
@@ -0,0 +1 @@
+../../Task/Documentation/D
\ No newline at end of file
diff --git a/Lang/D/Dot-product b/Lang/D/Dot-product
new file mode 120000
index 0000000000..5b53dbded9
--- /dev/null
+++ b/Lang/D/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/D
\ No newline at end of file
diff --git a/Lang/D/Doubly-linked-list-Definition b/Lang/D/Doubly-linked-list-Definition
new file mode 120000
index 0000000000..7644424412
--- /dev/null
+++ b/Lang/D/Doubly-linked-list-Definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Definition/D
\ No newline at end of file
diff --git a/Lang/D/Doubly-linked-list-Element-definition b/Lang/D/Doubly-linked-list-Element-definition
new file mode 120000
index 0000000000..8dc9730497
--- /dev/null
+++ b/Lang/D/Doubly-linked-list-Element-definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-definition/D
\ No newline at end of file
diff --git a/Lang/D/Doubly-linked-list-Element-insertion b/Lang/D/Doubly-linked-list-Element-insertion
new file mode 120000
index 0000000000..56149154b5
--- /dev/null
+++ b/Lang/D/Doubly-linked-list-Element-insertion
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-insertion/D
\ No newline at end of file
diff --git a/Lang/D/Doubly-linked-list-Traversal b/Lang/D/Doubly-linked-list-Traversal
new file mode 120000
index 0000000000..275b50f09d
--- /dev/null
+++ b/Lang/D/Doubly-linked-list-Traversal
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Traversal/D
\ No newline at end of file
diff --git a/Lang/D/Draw-a-cuboid b/Lang/D/Draw-a-cuboid
new file mode 120000
index 0000000000..afd094ecaf
--- /dev/null
+++ b/Lang/D/Draw-a-cuboid
@@ -0,0 +1 @@
+../../Task/Draw-a-cuboid/D
\ No newline at end of file
diff --git a/Lang/D/Draw-a-sphere b/Lang/D/Draw-a-sphere
new file mode 120000
index 0000000000..44b6cca63b
--- /dev/null
+++ b/Lang/D/Draw-a-sphere
@@ -0,0 +1 @@
+../../Task/Draw-a-sphere/D
\ No newline at end of file
diff --git a/Lang/D/Dutch-national-flag-problem b/Lang/D/Dutch-national-flag-problem
new file mode 120000
index 0000000000..f4f86fe5ef
--- /dev/null
+++ b/Lang/D/Dutch-national-flag-problem
@@ -0,0 +1 @@
+../../Task/Dutch-national-flag-problem/D
\ No newline at end of file
diff --git a/Lang/D/Echo-server b/Lang/D/Echo-server
new file mode 120000
index 0000000000..afa648df6b
--- /dev/null
+++ b/Lang/D/Echo-server
@@ -0,0 +1 @@
+../../Task/Echo-server/D
\ No newline at end of file
diff --git a/Lang/D/Element-wise-operations b/Lang/D/Element-wise-operations
new file mode 120000
index 0000000000..fa3bdcd7f9
--- /dev/null
+++ b/Lang/D/Element-wise-operations
@@ -0,0 +1 @@
+../../Task/Element-wise-operations/D
\ No newline at end of file
diff --git a/Lang/D/Empty-directory b/Lang/D/Empty-directory
new file mode 120000
index 0000000000..11d352a0c5
--- /dev/null
+++ b/Lang/D/Empty-directory
@@ -0,0 +1 @@
+../../Task/Empty-directory/D
\ No newline at end of file
diff --git a/Lang/D/Empty-program b/Lang/D/Empty-program
new file mode 120000
index 0000000000..3d28348682
--- /dev/null
+++ b/Lang/D/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/D
\ No newline at end of file
diff --git a/Lang/D/Empty-string b/Lang/D/Empty-string
new file mode 120000
index 0000000000..82c1a7dcd9
--- /dev/null
+++ b/Lang/D/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/D
\ No newline at end of file
diff --git a/Lang/D/Enforced-immutability b/Lang/D/Enforced-immutability
new file mode 120000
index 0000000000..4e78f8b43a
--- /dev/null
+++ b/Lang/D/Enforced-immutability
@@ -0,0 +1 @@
+../../Task/Enforced-immutability/D
\ No newline at end of file
diff --git a/Lang/D/Entropy b/Lang/D/Entropy
new file mode 120000
index 0000000000..7ea47bd863
--- /dev/null
+++ b/Lang/D/Entropy
@@ -0,0 +1 @@
+../../Task/Entropy/D
\ No newline at end of file
diff --git a/Lang/D/Enumerations b/Lang/D/Enumerations
new file mode 120000
index 0000000000..b59dfdf058
--- /dev/null
+++ b/Lang/D/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/D
\ No newline at end of file
diff --git a/Lang/D/Equilibrium-index b/Lang/D/Equilibrium-index
new file mode 120000
index 0000000000..52eb7597cc
--- /dev/null
+++ b/Lang/D/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/D
\ No newline at end of file
diff --git a/Lang/D/Ethiopian-multiplication b/Lang/D/Ethiopian-multiplication
new file mode 120000
index 0000000000..5af9240732
--- /dev/null
+++ b/Lang/D/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/D
\ No newline at end of file
diff --git a/Lang/D/Euler-method b/Lang/D/Euler-method
new file mode 120000
index 0000000000..046f471f7b
--- /dev/null
+++ b/Lang/D/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/D
\ No newline at end of file
diff --git a/Lang/D/Evaluate-binomial-coefficients b/Lang/D/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..6854d3704f
--- /dev/null
+++ b/Lang/D/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/D
\ No newline at end of file
diff --git a/Lang/D/Even-or-odd b/Lang/D/Even-or-odd
new file mode 120000
index 0000000000..d17c8e627c
--- /dev/null
+++ b/Lang/D/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/D
\ No newline at end of file
diff --git a/Lang/D/Evolutionary-algorithm b/Lang/D/Evolutionary-algorithm
new file mode 120000
index 0000000000..cfc220615d
--- /dev/null
+++ b/Lang/D/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/D
\ No newline at end of file
diff --git a/Lang/D/Exceptions b/Lang/D/Exceptions
new file mode 120000
index 0000000000..ded6152ed8
--- /dev/null
+++ b/Lang/D/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/D
\ No newline at end of file
diff --git a/Lang/D/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/D/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..768f791088
--- /dev/null
+++ b/Lang/D/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/D
\ No newline at end of file
diff --git a/Lang/D/Execute-HQ9+ b/Lang/D/Execute-HQ9+
new file mode 120000
index 0000000000..8c3d865788
--- /dev/null
+++ b/Lang/D/Execute-HQ9+
@@ -0,0 +1 @@
+../../Task/Execute-HQ9+/D
\ No newline at end of file
diff --git a/Lang/D/Execute-a-system-command b/Lang/D/Execute-a-system-command
new file mode 120000
index 0000000000..cd38166adb
--- /dev/null
+++ b/Lang/D/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/D
\ No newline at end of file
diff --git a/Lang/D/Exponentiation-operator b/Lang/D/Exponentiation-operator
new file mode 120000
index 0000000000..0267c4d428
--- /dev/null
+++ b/Lang/D/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/D
\ No newline at end of file
diff --git a/Lang/D/Extend-your-language b/Lang/D/Extend-your-language
new file mode 120000
index 0000000000..588250aa68
--- /dev/null
+++ b/Lang/D/Extend-your-language
@@ -0,0 +1 @@
+../../Task/Extend-your-language/D
\ No newline at end of file
diff --git a/Lang/D/Extreme-floating-point-values b/Lang/D/Extreme-floating-point-values
new file mode 120000
index 0000000000..c10feddda2
--- /dev/null
+++ b/Lang/D/Extreme-floating-point-values
@@ -0,0 +1 @@
+../../Task/Extreme-floating-point-values/D
\ No newline at end of file
diff --git a/Lang/D/FizzBuzz b/Lang/D/FizzBuzz
new file mode 120000
index 0000000000..37d1a27820
--- /dev/null
+++ b/Lang/D/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/D
\ No newline at end of file
diff --git a/Lang/D/Forest-fire b/Lang/D/Forest-fire
new file mode 120000
index 0000000000..5d8035ffac
--- /dev/null
+++ b/Lang/D/Forest-fire
@@ -0,0 +1 @@
+../../Task/Forest-fire/D
\ No newline at end of file
diff --git a/Lang/D/Infinity b/Lang/D/Infinity
new file mode 120000
index 0000000000..ff71d26739
--- /dev/null
+++ b/Lang/D/Infinity
@@ -0,0 +1 @@
+../../Task/Infinity/D
\ No newline at end of file
diff --git a/Lang/D/JSON b/Lang/D/JSON
new file mode 120000
index 0000000000..d982efb967
--- /dev/null
+++ b/Lang/D/JSON
@@ -0,0 +1 @@
+../../Task/JSON/D
\ No newline at end of file
diff --git a/Lang/D/Knuth-shuffle b/Lang/D/Knuth-shuffle
new file mode 120000
index 0000000000..7b2ebcc8e9
--- /dev/null
+++ b/Lang/D/Knuth-shuffle
@@ -0,0 +1 @@
+../../Task/Knuth-shuffle/D
\ No newline at end of file
diff --git a/Lang/D/Ordered-words b/Lang/D/Ordered-words
new file mode 120000
index 0000000000..bb9bd29b16
--- /dev/null
+++ b/Lang/D/Ordered-words
@@ -0,0 +1 @@
+../../Task/Ordered-words/D
\ No newline at end of file
diff --git a/Lang/D/Pi b/Lang/D/Pi
new file mode 120000
index 0000000000..864f7125c4
--- /dev/null
+++ b/Lang/D/Pi
@@ -0,0 +1 @@
+../../Task/Pi/D
\ No newline at end of file
diff --git a/Lang/D/Quine b/Lang/D/Quine
new file mode 120000
index 0000000000..e6cdcb99be
--- /dev/null
+++ b/Lang/D/Quine
@@ -0,0 +1 @@
+../../Task/Quine/D
\ No newline at end of file
diff --git a/Lang/D/Search-a-list b/Lang/D/Search-a-list
new file mode 120000
index 0000000000..f14ffa1c84
--- /dev/null
+++ b/Lang/D/Search-a-list
@@ -0,0 +1 @@
+../../Task/Search-a-list/D
\ No newline at end of file
diff --git a/Lang/DCL/0DESCRIPTION b/Lang/DCL/0DESCRIPTION
new file mode 100644
index 0000000000..4d3d27c049
--- /dev/null
+++ b/Lang/DCL/0DESCRIPTION
@@ -0,0 +1 @@
+{{stub}}{{language}}
\ No newline at end of file
diff --git a/Lang/DCL/Create-a-file b/Lang/DCL/Create-a-file
new file mode 120000
index 0000000000..6b67174e2e
--- /dev/null
+++ b/Lang/DCL/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/DCL
\ No newline at end of file
diff --git a/Lang/DCL/Execute-a-system-command b/Lang/DCL/Execute-a-system-command
new file mode 120000
index 0000000000..1cba4b4b73
--- /dev/null
+++ b/Lang/DCL/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/DCL
\ No newline at end of file
diff --git a/Lang/DMS/0DESCRIPTION b/Lang/DMS/0DESCRIPTION
new file mode 100644
index 0000000000..7d2c349f63
--- /dev/null
+++ b/Lang/DMS/0DESCRIPTION
@@ -0,0 +1,4 @@
+{{language|site=http://www.gatan.com/resources/scripting/}}
+DigitalMicrograph Script is a language supported by the [http://www.gatan.com Gatan] DigitalMicrograph (DM) application. [http://www.gatan.com/resources/scripting/demo/index.php DigitalMicrograph] was developed in the early 1990's to provide an environment in which Gatan's customers could control hardware and interact with applications developed to exploit this hardware. Through DMS customers can easily interact with images and hardware to create their own applications.
+
+DMS resembles C/C++ and is partly interpreted and partly compiled. Single line expressions that manipulate image data are compiled for speed.
\ No newline at end of file
diff --git a/Lang/DMS/A+B b/Lang/DMS/A+B
new file mode 120000
index 0000000000..ced45866b4
--- /dev/null
+++ b/Lang/DMS/A+B
@@ -0,0 +1 @@
+../../Task/A+B/DMS
\ No newline at end of file
diff --git a/Lang/DWScript/0DESCRIPTION b/Lang/DWScript/0DESCRIPTION
new file mode 100644
index 0000000000..60859f7de7
--- /dev/null
+++ b/Lang/DWScript/0DESCRIPTION
@@ -0,0 +1,18 @@
+{{stub}}{{language|DWScript
+|strength=strong
+|safety=both
+|gc=yes
+|parampass=both
+|express=explicit
+|compat=nominative
+|checking=static
+}}
+{{language programming paradigm|object-oriented}}
+{{language programming paradigm|imperative}}
+{{implementation|Object Pascal}}
+
+DWScript (DelphiWebScript) is a strongly-typed [[Object-oriented language|object-oriented]] scripting language based on the [[Delphi]] language, with extensions borrowed from other Object Pascal dialects.
+
+==See Also==
+* [[wp:Object_Pascal|Wikipedia: Object Pascal]]
+* DWScript at Google Code: [http://code.google.com/p/dwscript/]
\ No newline at end of file
diff --git a/Lang/DWScript/100-doors b/Lang/DWScript/100-doors
new file mode 120000
index 0000000000..df32d03de0
--- /dev/null
+++ b/Lang/DWScript/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/DWScript
\ No newline at end of file
diff --git a/Lang/DWScript/A+B b/Lang/DWScript/A+B
new file mode 120000
index 0000000000..2bfee56920
--- /dev/null
+++ b/Lang/DWScript/A+B
@@ -0,0 +1 @@
+../../Task/A+B/DWScript
\ No newline at end of file
diff --git a/Lang/DWScript/Ackermann-function b/Lang/DWScript/Ackermann-function
new file mode 120000
index 0000000000..1e5afe2896
--- /dev/null
+++ b/Lang/DWScript/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/DWScript
\ No newline at end of file
diff --git a/Lang/DWScript/Arithmetic-Integer b/Lang/DWScript/Arithmetic-Integer
new file mode 120000
index 0000000000..833abbc890
--- /dev/null
+++ b/Lang/DWScript/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/DWScript
\ No newline at end of file
diff --git a/Lang/DWScript/Arrays b/Lang/DWScript/Arrays
new file mode 120000
index 0000000000..6942678b3d
--- /dev/null
+++ b/Lang/DWScript/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/DWScript
\ No newline at end of file
diff --git a/Lang/DWScript/Assertions b/Lang/DWScript/Assertions
new file mode 120000
index 0000000000..7f81446684
--- /dev/null
+++ b/Lang/DWScript/Assertions
@@ -0,0 +1 @@
+../../Task/Assertions/DWScript
\ No newline at end of file
diff --git a/Lang/DWScript/Bitwise-operations b/Lang/DWScript/Bitwise-operations
new file mode 120000
index 0000000000..97269722b3
--- /dev/null
+++ b/Lang/DWScript/Bitwise-operations
@@ -0,0 +1 @@
+../../Task/Bitwise-operations/DWScript
\ No newline at end of file
diff --git a/Lang/DWScript/Case-sensitivity-of-identifiers b/Lang/DWScript/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..225122acd1
--- /dev/null
+++ b/Lang/DWScript/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/DWScript
\ No newline at end of file
diff --git a/Lang/DWScript/Character-codes b/Lang/DWScript/Character-codes
new file mode 120000
index 0000000000..a56181d5dd
--- /dev/null
+++ b/Lang/DWScript/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/DWScript
\ No newline at end of file
diff --git a/Lang/DWScript/Cholesky-decomposition b/Lang/DWScript/Cholesky-decomposition
new file mode 120000
index 0000000000..aaf44aedb6
--- /dev/null
+++ b/Lang/DWScript/Cholesky-decomposition
@@ -0,0 +1 @@
+../../Task/Cholesky-decomposition/DWScript
\ No newline at end of file
diff --git a/Lang/DWScript/Classes b/Lang/DWScript/Classes
new file mode 120000
index 0000000000..a2db8d8a99
--- /dev/null
+++ b/Lang/DWScript/Classes
@@ -0,0 +1 @@
+../../Task/Classes/DWScript
\ No newline at end of file
diff --git a/Lang/DWScript/Comments b/Lang/DWScript/Comments
new file mode 120000
index 0000000000..17da16d41a
--- /dev/null
+++ b/Lang/DWScript/Comments
@@ -0,0 +1 @@
+../../Task/Comments/DWScript
\ No newline at end of file
diff --git a/Lang/DWScript/Compile-time-calculation b/Lang/DWScript/Compile-time-calculation
new file mode 120000
index 0000000000..82393d77a6
--- /dev/null
+++ b/Lang/DWScript/Compile-time-calculation
@@ -0,0 +1 @@
+../../Task/Compile-time-calculation/DWScript
\ No newline at end of file
diff --git a/Lang/DWScript/Count-in-factors b/Lang/DWScript/Count-in-factors
new file mode 120000
index 0000000000..2c3e87acbb
--- /dev/null
+++ b/Lang/DWScript/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/DWScript
\ No newline at end of file
diff --git a/Lang/DWScript/Death-Star b/Lang/DWScript/Death-Star
new file mode 120000
index 0000000000..0cab6f1ff8
--- /dev/null
+++ b/Lang/DWScript/Death-Star
@@ -0,0 +1 @@
+../../Task/Death-Star/DWScript
\ No newline at end of file
diff --git a/Lang/DWScript/Dot-product b/Lang/DWScript/Dot-product
new file mode 120000
index 0000000000..20e14dc47e
--- /dev/null
+++ b/Lang/DWScript/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/DWScript
\ No newline at end of file
diff --git a/Lang/DWScript/Draw-a-sphere b/Lang/DWScript/Draw-a-sphere
new file mode 120000
index 0000000000..2cea3c63e5
--- /dev/null
+++ b/Lang/DWScript/Draw-a-sphere
@@ -0,0 +1 @@
+../../Task/Draw-a-sphere/DWScript
\ No newline at end of file
diff --git a/Lang/DWScript/Empty-string b/Lang/DWScript/Empty-string
new file mode 120000
index 0000000000..272f3a0b93
--- /dev/null
+++ b/Lang/DWScript/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/DWScript
\ No newline at end of file
diff --git a/Lang/DWScript/Enumerations b/Lang/DWScript/Enumerations
new file mode 120000
index 0000000000..a05443cfec
--- /dev/null
+++ b/Lang/DWScript/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/DWScript
\ No newline at end of file
diff --git a/Lang/DWScript/Even-or-odd b/Lang/DWScript/Even-or-odd
new file mode 120000
index 0000000000..171cdec446
--- /dev/null
+++ b/Lang/DWScript/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/DWScript
\ No newline at end of file
diff --git a/Lang/DWScript/Exceptions b/Lang/DWScript/Exceptions
new file mode 120000
index 0000000000..d36aef3106
--- /dev/null
+++ b/Lang/DWScript/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/DWScript
\ No newline at end of file
diff --git a/Lang/DWScript/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/DWScript/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..9ca02c03ed
--- /dev/null
+++ b/Lang/DWScript/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/DWScript
\ No newline at end of file
diff --git a/Lang/DWScript/Execute-HQ9+ b/Lang/DWScript/Execute-HQ9+
new file mode 120000
index 0000000000..6eccb46ba3
--- /dev/null
+++ b/Lang/DWScript/Execute-HQ9+
@@ -0,0 +1 @@
+../../Task/Execute-HQ9+/DWScript
\ No newline at end of file
diff --git a/Lang/DWScript/FizzBuzz b/Lang/DWScript/FizzBuzz
new file mode 120000
index 0000000000..1c5ab02e3b
--- /dev/null
+++ b/Lang/DWScript/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/DWScript
\ No newline at end of file
diff --git a/Lang/DWScript/Knuth-shuffle b/Lang/DWScript/Knuth-shuffle
new file mode 120000
index 0000000000..ff4fdc496d
--- /dev/null
+++ b/Lang/DWScript/Knuth-shuffle
@@ -0,0 +1 @@
+../../Task/Knuth-shuffle/DWScript
\ No newline at end of file
diff --git a/Lang/DWScript/Search-a-list b/Lang/DWScript/Search-a-list
new file mode 120000
index 0000000000..9d2551de85
--- /dev/null
+++ b/Lang/DWScript/Search-a-list
@@ -0,0 +1 @@
+../../Task/Search-a-list/DWScript
\ No newline at end of file
diff --git a/Lang/Dao/0DESCRIPTION b/Lang/Dao/0DESCRIPTION
new file mode 100644
index 0000000000..f8e38f30cd
--- /dev/null
+++ b/Lang/Dao/0DESCRIPTION
@@ -0,0 +1,15 @@
+{{stub}}
+{{language|
+|exec=bytecode
+|strength=strong
+|safety=safe
+|express=both
+|checking=both
+|gc=yes
+|site=http://www.daovm.net
+|LCT=yes}}
+{{language programming paradigm|Object-oriented}}
+
+Dao is a lightweight object-oriented programming language
+with optional typing. It has a rich set of features with
+simple and transparent interface to C/C++ programming language.
\ No newline at end of file
diff --git a/Lang/Dao/Arrays b/Lang/Dao/Arrays
new file mode 120000
index 0000000000..c076824a19
--- /dev/null
+++ b/Lang/Dao/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/Dao
\ No newline at end of file
diff --git a/Lang/Dao/Associative-array-Creation b/Lang/Dao/Associative-array-Creation
new file mode 120000
index 0000000000..c64445965a
--- /dev/null
+++ b/Lang/Dao/Associative-array-Creation
@@ -0,0 +1 @@
+../../Task/Associative-array-Creation/Dao
\ No newline at end of file
diff --git a/Lang/Dao/Associative-array-Iteration b/Lang/Dao/Associative-array-Iteration
new file mode 120000
index 0000000000..4ec3ceadb8
--- /dev/null
+++ b/Lang/Dao/Associative-array-Iteration
@@ -0,0 +1 @@
+../../Task/Associative-array-Iteration/Dao
\ No newline at end of file
diff --git a/Lang/Dao/Conditional-structures b/Lang/Dao/Conditional-structures
new file mode 120000
index 0000000000..56780449f9
--- /dev/null
+++ b/Lang/Dao/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Dao
\ No newline at end of file
diff --git a/Lang/Dao/Quine b/Lang/Dao/Quine
new file mode 120000
index 0000000000..671933cd5f
--- /dev/null
+++ b/Lang/Dao/Quine
@@ -0,0 +1 @@
+../../Task/Quine/Dao
\ No newline at end of file
diff --git a/Lang/Dart/0DESCRIPTION b/Lang/Dart/0DESCRIPTION
new file mode 100644
index 0000000000..564d5b95db
--- /dev/null
+++ b/Lang/Dart/0DESCRIPTION
@@ -0,0 +1,2 @@
+{{stub}}{{language
+|site=http://www.dartlang.org/}}
\ No newline at end of file
diff --git a/Lang/Dart/100-doors b/Lang/Dart/100-doors
new file mode 120000
index 0000000000..a5a16072dd
--- /dev/null
+++ b/Lang/Dart/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/Dart
\ No newline at end of file
diff --git a/Lang/Dart/99-Bottles-of-Beer b/Lang/Dart/99-Bottles-of-Beer
new file mode 120000
index 0000000000..ed277c5d60
--- /dev/null
+++ b/Lang/Dart/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Ackermann-function b/Lang/Dart/Ackermann-function
new file mode 120000
index 0000000000..65f70608d7
--- /dev/null
+++ b/Lang/Dart/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Assertions b/Lang/Dart/Assertions
new file mode 120000
index 0000000000..45fac13766
--- /dev/null
+++ b/Lang/Dart/Assertions
@@ -0,0 +1 @@
+../../Task/Assertions/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Caesar-cipher b/Lang/Dart/Caesar-cipher
new file mode 120000
index 0000000000..4092485657
--- /dev/null
+++ b/Lang/Dart/Caesar-cipher
@@ -0,0 +1 @@
+../../Task/Caesar-cipher/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Conways-Game-of-Life b/Lang/Dart/Conways-Game-of-Life
new file mode 120000
index 0000000000..a00bf0bde1
--- /dev/null
+++ b/Lang/Dart/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Delegates b/Lang/Dart/Delegates
new file mode 120000
index 0000000000..74b20fc65c
--- /dev/null
+++ b/Lang/Dart/Delegates
@@ -0,0 +1 @@
+../../Task/Delegates/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Empty-program b/Lang/Dart/Empty-program
new file mode 120000
index 0000000000..99c5b555dd
--- /dev/null
+++ b/Lang/Dart/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/Dart
\ No newline at end of file
diff --git a/Lang/Dart/FizzBuzz b/Lang/Dart/FizzBuzz
new file mode 120000
index 0000000000..0e0f7997b8
--- /dev/null
+++ b/Lang/Dart/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Dart
\ No newline at end of file
diff --git a/Lang/Datalog/0DESCRIPTION b/Lang/Datalog/0DESCRIPTION
new file mode 100644
index 0000000000..19edd63da3
--- /dev/null
+++ b/Lang/Datalog/0DESCRIPTION
@@ -0,0 +1,16 @@
+{{language
+}}
+Datalog is a query and rule language for deductive databases that syntactically is a subset of [[Prolog]].
+
+In contrast to Prolog:
+* it disallows complex terms as arguments of predicates, e.g. p(1, 2) is admissible but not p(f1(1), 2),
+* imposes certain stratification restrictions on the use of negation and recursion, and
+* only allows range-restricted variables, i.e. each variable in the conclusion of a rule must also appear in a not negated clause in the premise of this rule.
+
+These rules make the set of all possible proofs finite, with the consequence that all datalog programs terminate (unlike Prolog programs). As a consequence, statements and predicates of a program can be stated in any order (unlike Prolog).
+
+== See Also ==
+* [[wp:Datalog|Wikipedia:Datalog]]
+* [https://bitbucket.org/pcarbonn/pydatalog pyDatalog]
+* [http://www.ccs.neu.edu/home/ramsdell/tools/datalog/ Datalog]
+* [http://www.ccs.neu.edu/home/ramsdell/tools/datalog/datalog.html Datalog User Manual]
\ No newline at end of file
diff --git a/Lang/Dc/0DESCRIPTION b/Lang/Dc/0DESCRIPTION
new file mode 100644
index 0000000000..c5626dd439
--- /dev/null
+++ b/Lang/Dc/0DESCRIPTION
@@ -0,0 +1,63 @@
+{{language
+|exec=interpreted
+|checking=dynamic
+|hopl id=1957
+}}
+{{language programming paradigm|concatenative}}
+dc is the unix desktop calculator. It uses a reverse polish notation and is turing complete.
+
+== Quick reference ==
+Commands in [[AT&T dc]]
+ number : push a number (0-9A-F digits, _ negative, . radix point)
+ [...] : push a string
+ + - * / % ^ : arithmetic operations: add sub mul div mod pow
+ v : square root
+ c : clear stack
+ d : duplicate top of the stack
+ f : show stack
+ p : print value with a newline, leave it on the stack
+ P : print string, or print number as ASCII string
+ sx : store to register x
+ lx : load from register x
+ Sx : push to register x
+ Lx : pop register x
+ 1 2 :x : store x[2] = 1 (x is register)
+ 2 ;x : retrieve x[2]
+ x =x : compare top 2 values: if true, then execute register x
+ !>x !xey : comparisons with an else branch: if true,
+ =xey !xey !=xey : else execute register y
+ 1 2 G : equality: push 1 if 2 == 1, else push 0
+ 1 2 ( : less than: push 1 if 2 < 1, else push 0
+ 3 N : boolean not: push 1 if 3 == 0, else push 0
\ No newline at end of file
diff --git a/Lang/Dc/Count-in-octal b/Lang/Dc/Count-in-octal
new file mode 120000
index 0000000000..52fedeb299
--- /dev/null
+++ b/Lang/Dc/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/Dc
\ No newline at end of file
diff --git a/Lang/Dc/Digital-root b/Lang/Dc/Digital-root
new file mode 120000
index 0000000000..f0942d5aff
--- /dev/null
+++ b/Lang/Dc/Digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root/Dc
\ No newline at end of file
diff --git a/Lang/Deja-Vu/0DESCRIPTION b/Lang/Deja-Vu/0DESCRIPTION
new file mode 100644
index 0000000000..4d3d27c049
--- /dev/null
+++ b/Lang/Deja-Vu/0DESCRIPTION
@@ -0,0 +1 @@
+{{stub}}{{language}}
\ No newline at end of file
diff --git a/Lang/Deja-Vu/A+B b/Lang/Deja-Vu/A+B
new file mode 120000
index 0000000000..60b50f676d
--- /dev/null
+++ b/Lang/Deja-Vu/A+B
@@ -0,0 +1 @@
+../../Task/A+B/Deja-Vu
\ No newline at end of file
diff --git a/Lang/Deja-Vu/Anonymous-recursion b/Lang/Deja-Vu/Anonymous-recursion
new file mode 120000
index 0000000000..47cd620969
--- /dev/null
+++ b/Lang/Deja-Vu/Anonymous-recursion
@@ -0,0 +1 @@
+../../Task/Anonymous-recursion/Deja-Vu
\ No newline at end of file
diff --git a/Lang/Deja-Vu/Command-line-arguments b/Lang/Deja-Vu/Command-line-arguments
new file mode 120000
index 0000000000..88fad34cfb
--- /dev/null
+++ b/Lang/Deja-Vu/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Deja-Vu
\ No newline at end of file
diff --git a/Lang/Deja-Vu/Conditional-structures b/Lang/Deja-Vu/Conditional-structures
new file mode 120000
index 0000000000..45627a6cb4
--- /dev/null
+++ b/Lang/Deja-Vu/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Deja-Vu
\ No newline at end of file
diff --git a/Lang/Deja-Vu/Narcissist b/Lang/Deja-Vu/Narcissist
new file mode 120000
index 0000000000..267a22b944
--- /dev/null
+++ b/Lang/Deja-Vu/Narcissist
@@ -0,0 +1 @@
+../../Task/Narcissist/Deja-Vu
\ No newline at end of file
diff --git a/Lang/Deja-Vu/Quine b/Lang/Deja-Vu/Quine
new file mode 120000
index 0000000000..847ac2e0fe
--- /dev/null
+++ b/Lang/Deja-Vu/Quine
@@ -0,0 +1 @@
+../../Task/Quine/Deja-Vu
\ No newline at end of file
diff --git a/Lang/Delphi/0DESCRIPTION b/Lang/Delphi/0DESCRIPTION
new file mode 100644
index 0000000000..5a14d212a8
--- /dev/null
+++ b/Lang/Delphi/0DESCRIPTION
@@ -0,0 +1,33 @@
+{{language|Delphi
+|strength=strong
+|safety=both
+|express=explicit
+|compat=nominative
+|checking=static
+|LCT=yes
+|bnf=http://www.felix-colibri.com/papers/compilers/delphi_5_grammar/delphi_5_grammar.html
+}}
+{{language programming paradigm|object-oriented}}
+{{language programming paradigm|imperative}}
+{{implementation|Object Pascal}}
+
+'''Delphi''' is a language for rapid development of Windows applications. The name also refers to the Delphi IDE, which is used to help edit and debug Delphi projects more efficiently. It is sold by [[wp:Embarcadero Technologies|Embarcadero Technologies]], as a standalone product or included in RAD Studio, which includes other languages as well.
+
+Delphi is a "personality" for RAD Studio. It uses [[:Category:Object Pascal|Object Pascal]] as the programming language. Object Pascal is an enhancement of [[wp:Niklaus Wirth|Niklaus Wirth's]] language [[:Category:Pascal|Pascal]].
+
+Delphi originated in 1995 at Borland, evolving from Turbo Pascal. It's original focus was database application development. It is currently owned by Embarcadero.
+
+Among Delphi's strengths are its easy learning curve, consistent language architecture, a blazingly fast compiler, great execution speed, modern language constructs, its extensive Visual Component Library (VCL), and the associated visual form designer.
+
+The Delphi XE2 version added support for 64-bit applications. It also added a cross platform compiler and component library allowing it to create cross platform applications for Mac OS X and iOS. The iOS support is actually achieved using the Free Pascal compiler.
+
+==Variants==
+* [[Free Pascal]] is an open source version of Delphi that implements most of the language. The Lazarus IDE and libraries emulates the RTL ([[wp:runtime library|runtime library]]) and VCL.
+* Embarcadero, and Borland before it, experimented with using the "Delphi" name to brand tools based on other languages. Examples include Delphi for [[:Category:PHP|PHP]] which was renamed RAD PHP, and Delphi Prism, which was renamed Embarcadero Prism. The latter makes use of the [[wp:Oxygene (programming language)|Oxygene]] dialect of Pascal provided by RemObjects Software, to build cross platform .NET and Mono applications.
+* There is also Delphi/400 which is actually the main Embarcadero Delphi product repackaged with AS/400 and sold by SystemObjects.
+* [[DWScript]] is a Delphi-hosted script engine that implements most of the Delphi language, along with FreePascal/Oxygene extensions.
+
+==See Also==
+* [[wp:Embarcadero Delphi|Delphi on Wikipedia]]
+* [http://www.embarcadero.com/products/delphi Delphi page at Embarcadero.com]
+* [[wp:Oxygene (programming language)|Oxygene on Wikipedia]]
\ No newline at end of file
diff --git a/Lang/Delphi/99-Bottles-of-Beer b/Lang/Delphi/99-Bottles-of-Beer
new file mode 120000
index 0000000000..1712f9b8e3
--- /dev/null
+++ b/Lang/Delphi/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/A+B b/Lang/Delphi/A+B
new file mode 120000
index 0000000000..956e04a723
--- /dev/null
+++ b/Lang/Delphi/A+B
@@ -0,0 +1 @@
+../../Task/A+B/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Abstract-type b/Lang/Delphi/Abstract-type
new file mode 120000
index 0000000000..8fbd763514
--- /dev/null
+++ b/Lang/Delphi/Abstract-type
@@ -0,0 +1 @@
+../../Task/Abstract-type/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Ackermann-function b/Lang/Delphi/Ackermann-function
new file mode 120000
index 0000000000..df95c80aef
--- /dev/null
+++ b/Lang/Delphi/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Align-columns b/Lang/Delphi/Align-columns
new file mode 120000
index 0000000000..3eeed5f0f8
--- /dev/null
+++ b/Lang/Delphi/Align-columns
@@ -0,0 +1 @@
+../../Task/Align-columns/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Apply-a-callback-to-an-array b/Lang/Delphi/Apply-a-callback-to-an-array
new file mode 120000
index 0000000000..fe9f82fdf2
--- /dev/null
+++ b/Lang/Delphi/Apply-a-callback-to-an-array
@@ -0,0 +1 @@
+../../Task/Apply-a-callback-to-an-array/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Arithmetic-Integer b/Lang/Delphi/Arithmetic-Integer
new file mode 120000
index 0000000000..a4e671a8c7
--- /dev/null
+++ b/Lang/Delphi/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Array-concatenation b/Lang/Delphi/Array-concatenation
new file mode 120000
index 0000000000..243cbd87be
--- /dev/null
+++ b/Lang/Delphi/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Arrays b/Lang/Delphi/Arrays
new file mode 120000
index 0000000000..ca8b9fc782
--- /dev/null
+++ b/Lang/Delphi/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Assertions b/Lang/Delphi/Assertions
new file mode 120000
index 0000000000..bd2d12f06d
--- /dev/null
+++ b/Lang/Delphi/Assertions
@@ -0,0 +1 @@
+../../Task/Assertions/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Associative-array-Creation b/Lang/Delphi/Associative-array-Creation
new file mode 120000
index 0000000000..1c0de59261
--- /dev/null
+++ b/Lang/Delphi/Associative-array-Creation
@@ -0,0 +1 @@
+../../Task/Associative-array-Creation/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Associative-array-Iteration b/Lang/Delphi/Associative-array-Iteration
new file mode 120000
index 0000000000..4e53b53717
--- /dev/null
+++ b/Lang/Delphi/Associative-array-Iteration
@@ -0,0 +1 @@
+../../Task/Associative-array-Iteration/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Averages-Arithmetic-mean b/Lang/Delphi/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..b34aa16997
--- /dev/null
+++ b/Lang/Delphi/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Averages-Median b/Lang/Delphi/Averages-Median
new file mode 120000
index 0000000000..c2affa8776
--- /dev/null
+++ b/Lang/Delphi/Averages-Median
@@ -0,0 +1 @@
+../../Task/Averages-Median/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Averages-Pythagorean-means b/Lang/Delphi/Averages-Pythagorean-means
new file mode 120000
index 0000000000..aa311e540e
--- /dev/null
+++ b/Lang/Delphi/Averages-Pythagorean-means
@@ -0,0 +1 @@
+../../Task/Averages-Pythagorean-means/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Averages-Root-mean-square b/Lang/Delphi/Averages-Root-mean-square
new file mode 120000
index 0000000000..987ecaffda
--- /dev/null
+++ b/Lang/Delphi/Averages-Root-mean-square
@@ -0,0 +1 @@
+../../Task/Averages-Root-mean-square/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Balanced-brackets b/Lang/Delphi/Balanced-brackets
new file mode 120000
index 0000000000..afb5f3fc45
--- /dev/null
+++ b/Lang/Delphi/Balanced-brackets
@@ -0,0 +1 @@
+../../Task/Balanced-brackets/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Bitwise-operations b/Lang/Delphi/Bitwise-operations
new file mode 120000
index 0000000000..91d39ec595
--- /dev/null
+++ b/Lang/Delphi/Bitwise-operations
@@ -0,0 +1 @@
+../../Task/Bitwise-operations/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/CSV-to-HTML-translation b/Lang/Delphi/CSV-to-HTML-translation
new file mode 120000
index 0000000000..40e1cd0ac7
--- /dev/null
+++ b/Lang/Delphi/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Call-a-foreign-language-function b/Lang/Delphi/Call-a-foreign-language-function
new file mode 120000
index 0000000000..99cdc02762
--- /dev/null
+++ b/Lang/Delphi/Call-a-foreign-language-function
@@ -0,0 +1 @@
+../../Task/Call-a-foreign-language-function/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Call-a-function-in-a-shared-library b/Lang/Delphi/Call-a-function-in-a-shared-library
new file mode 120000
index 0000000000..1ad674fb42
--- /dev/null
+++ b/Lang/Delphi/Call-a-function-in-a-shared-library
@@ -0,0 +1 @@
+../../Task/Call-a-function-in-a-shared-library/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Case-sensitivity-of-identifiers b/Lang/Delphi/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..776ff3eb31
--- /dev/null
+++ b/Lang/Delphi/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Character-codes b/Lang/Delphi/Character-codes
new file mode 120000
index 0000000000..9e2596ea9d
--- /dev/null
+++ b/Lang/Delphi/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Character-matching b/Lang/Delphi/Character-matching
new file mode 120000
index 0000000000..0db34575de
--- /dev/null
+++ b/Lang/Delphi/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Check-that-file-exists b/Lang/Delphi/Check-that-file-exists
new file mode 120000
index 0000000000..3096ab34d6
--- /dev/null
+++ b/Lang/Delphi/Check-that-file-exists
@@ -0,0 +1 @@
+../../Task/Check-that-file-exists/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Classes b/Lang/Delphi/Classes
new file mode 120000
index 0000000000..4a50148f15
--- /dev/null
+++ b/Lang/Delphi/Classes
@@ -0,0 +1 @@
+../../Task/Classes/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Color-of-a-screen-pixel b/Lang/Delphi/Color-of-a-screen-pixel
new file mode 120000
index 0000000000..683f4471f2
--- /dev/null
+++ b/Lang/Delphi/Color-of-a-screen-pixel
@@ -0,0 +1 @@
+../../Task/Color-of-a-screen-pixel/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Command-line-arguments b/Lang/Delphi/Command-line-arguments
new file mode 120000
index 0000000000..51239079a1
--- /dev/null
+++ b/Lang/Delphi/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Comments b/Lang/Delphi/Comments
new file mode 120000
index 0000000000..83dae6148a
--- /dev/null
+++ b/Lang/Delphi/Comments
@@ -0,0 +1 @@
+../../Task/Comments/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Compound-data-type b/Lang/Delphi/Compound-data-type
new file mode 120000
index 0000000000..d673db0d47
--- /dev/null
+++ b/Lang/Delphi/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Concurrent-computing b/Lang/Delphi/Concurrent-computing
new file mode 120000
index 0000000000..ca131d5fa0
--- /dev/null
+++ b/Lang/Delphi/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Count-in-octal b/Lang/Delphi/Count-in-octal
new file mode 120000
index 0000000000..72ccf18249
--- /dev/null
+++ b/Lang/Delphi/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Count-occurrences-of-a-substring b/Lang/Delphi/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..df93fafd93
--- /dev/null
+++ b/Lang/Delphi/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Create-a-file b/Lang/Delphi/Create-a-file
new file mode 120000
index 0000000000..433e1ef302
--- /dev/null
+++ b/Lang/Delphi/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Create-a-two-dimensional-array-at-runtime b/Lang/Delphi/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..833133289f
--- /dev/null
+++ b/Lang/Delphi/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Create-an-HTML-table b/Lang/Delphi/Create-an-HTML-table
new file mode 120000
index 0000000000..d55b26c89e
--- /dev/null
+++ b/Lang/Delphi/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/DNS-query b/Lang/Delphi/DNS-query
new file mode 120000
index 0000000000..cd9fcee74d
--- /dev/null
+++ b/Lang/Delphi/DNS-query
@@ -0,0 +1 @@
+../../Task/DNS-query/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Date-format b/Lang/Delphi/Date-format
new file mode 120000
index 0000000000..6e1c942a24
--- /dev/null
+++ b/Lang/Delphi/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Date-manipulation b/Lang/Delphi/Date-manipulation
new file mode 120000
index 0000000000..9bb852ce5d
--- /dev/null
+++ b/Lang/Delphi/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Day-of-the-week b/Lang/Delphi/Day-of-the-week
new file mode 120000
index 0000000000..3e0f94badd
--- /dev/null
+++ b/Lang/Delphi/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Delegates b/Lang/Delphi/Delegates
new file mode 120000
index 0000000000..430a387a0d
--- /dev/null
+++ b/Lang/Delphi/Delegates
@@ -0,0 +1 @@
+../../Task/Delegates/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Delete-a-file b/Lang/Delphi/Delete-a-file
new file mode 120000
index 0000000000..d54dc967c4
--- /dev/null
+++ b/Lang/Delphi/Delete-a-file
@@ -0,0 +1 @@
+../../Task/Delete-a-file/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Detect-division-by-zero b/Lang/Delphi/Detect-division-by-zero
new file mode 120000
index 0000000000..3d03051bc1
--- /dev/null
+++ b/Lang/Delphi/Detect-division-by-zero
@@ -0,0 +1 @@
+../../Task/Detect-division-by-zero/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Determine-if-a-string-is-numeric b/Lang/Delphi/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..43ecbb6e56
--- /dev/null
+++ b/Lang/Delphi/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Determine-if-only-one-instance-is-running b/Lang/Delphi/Determine-if-only-one-instance-is-running
new file mode 120000
index 0000000000..b242291125
--- /dev/null
+++ b/Lang/Delphi/Determine-if-only-one-instance-is-running
@@ -0,0 +1 @@
+../../Task/Determine-if-only-one-instance-is-running/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Documentation b/Lang/Delphi/Documentation
new file mode 120000
index 0000000000..1287853958
--- /dev/null
+++ b/Lang/Delphi/Documentation
@@ -0,0 +1 @@
+../../Task/Documentation/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Dot-product b/Lang/Delphi/Dot-product
new file mode 120000
index 0000000000..523e69c97d
--- /dev/null
+++ b/Lang/Delphi/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Doubly-linked-list-Element-definition b/Lang/Delphi/Doubly-linked-list-Element-definition
new file mode 120000
index 0000000000..5476d42f80
--- /dev/null
+++ b/Lang/Delphi/Doubly-linked-list-Element-definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-definition/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Doubly-linked-list-Traversal b/Lang/Delphi/Doubly-linked-list-Traversal
new file mode 120000
index 0000000000..2eb00f2a7e
--- /dev/null
+++ b/Lang/Delphi/Doubly-linked-list-Traversal
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Traversal/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Draw-a-sphere b/Lang/Delphi/Draw-a-sphere
new file mode 120000
index 0000000000..5a8d850b2d
--- /dev/null
+++ b/Lang/Delphi/Draw-a-sphere
@@ -0,0 +1 @@
+../../Task/Draw-a-sphere/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Echo-server b/Lang/Delphi/Echo-server
new file mode 120000
index 0000000000..caf88e8a56
--- /dev/null
+++ b/Lang/Delphi/Echo-server
@@ -0,0 +1 @@
+../../Task/Echo-server/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Empty-string b/Lang/Delphi/Empty-string
new file mode 120000
index 0000000000..b6ba51661c
--- /dev/null
+++ b/Lang/Delphi/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Enforced-immutability b/Lang/Delphi/Enforced-immutability
new file mode 120000
index 0000000000..5d20a94658
--- /dev/null
+++ b/Lang/Delphi/Enforced-immutability
@@ -0,0 +1 @@
+../../Task/Enforced-immutability/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Enumerations b/Lang/Delphi/Enumerations
new file mode 120000
index 0000000000..2fb26ce5ae
--- /dev/null
+++ b/Lang/Delphi/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Evaluate-binomial-coefficients b/Lang/Delphi/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..ab4226fbe6
--- /dev/null
+++ b/Lang/Delphi/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Events b/Lang/Delphi/Events
new file mode 120000
index 0000000000..ae27f20c5c
--- /dev/null
+++ b/Lang/Delphi/Events
@@ -0,0 +1 @@
+../../Task/Events/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Exceptions b/Lang/Delphi/Exceptions
new file mode 120000
index 0000000000..274d8a3fae
--- /dev/null
+++ b/Lang/Delphi/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/Delphi/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..bef21f17dd
--- /dev/null
+++ b/Lang/Delphi/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Execute-a-system-command b/Lang/Delphi/Execute-a-system-command
new file mode 120000
index 0000000000..237207c509
--- /dev/null
+++ b/Lang/Delphi/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Extend-your-language b/Lang/Delphi/Extend-your-language
new file mode 120000
index 0000000000..54d5aeec01
--- /dev/null
+++ b/Lang/Delphi/Extend-your-language
@@ -0,0 +1 @@
+../../Task/Extend-your-language/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Extreme-floating-point-values b/Lang/Delphi/Extreme-floating-point-values
new file mode 120000
index 0000000000..40abb4f9e2
--- /dev/null
+++ b/Lang/Delphi/Extreme-floating-point-values
@@ -0,0 +1 @@
+../../Task/Extreme-floating-point-values/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/FizzBuzz b/Lang/Delphi/FizzBuzz
new file mode 120000
index 0000000000..3d350da0cb
--- /dev/null
+++ b/Lang/Delphi/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Infinity b/Lang/Delphi/Infinity
new file mode 120000
index 0000000000..fd57bf11a0
--- /dev/null
+++ b/Lang/Delphi/Infinity
@@ -0,0 +1 @@
+../../Task/Infinity/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Ordered-words b/Lang/Delphi/Ordered-words
new file mode 120000
index 0000000000..fce8e4f0b6
--- /dev/null
+++ b/Lang/Delphi/Ordered-words
@@ -0,0 +1 @@
+../../Task/Ordered-words/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Search-a-list b/Lang/Delphi/Search-a-list
new file mode 120000
index 0000000000..cee0744901
--- /dev/null
+++ b/Lang/Delphi/Search-a-list
@@ -0,0 +1 @@
+../../Task/Search-a-list/Delphi
\ No newline at end of file
diff --git a/Lang/Deluge/0DESCRIPTION b/Lang/Deluge/0DESCRIPTION
new file mode 100644
index 0000000000..22b58175e0
--- /dev/null
+++ b/Lang/Deluge/0DESCRIPTION
@@ -0,0 +1,7 @@
+{{stub}}{{language}}
+
+Deluge (or ''Data Enriched Language for the Universal Grid Environment'') is an online scripting language integrated with [http://creator.zoho.com Zoho Creator]. It enables users of Zoho to add logic to the application in order to extend it. The entire database layer is abstracted; a user will only speak in terms of forms and fields when scripting in Deluge.
+
+For more information, read the Zoho [https://help.creator.zoho.com/Deluge-Reference---Overview.html Deluge information page].
+
+For a main page of where and how one can use the language, see [https://help.creator.zoho.com/Deluge-Reference.html here].
\ No newline at end of file
diff --git a/Lang/Deluge/Comments b/Lang/Deluge/Comments
new file mode 120000
index 0000000000..7f64ccca06
--- /dev/null
+++ b/Lang/Deluge/Comments
@@ -0,0 +1 @@
+../../Task/Comments/Deluge
\ No newline at end of file
diff --git a/Lang/Deluge/Conditional-structures b/Lang/Deluge/Conditional-structures
new file mode 120000
index 0000000000..7d68a29752
--- /dev/null
+++ b/Lang/Deluge/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Deluge
\ No newline at end of file
diff --git a/Lang/Diesel/0DESCRIPTION b/Lang/Diesel/0DESCRIPTION
new file mode 100644
index 0000000000..5437cfc93e
--- /dev/null
+++ b/Lang/Diesel/0DESCRIPTION
@@ -0,0 +1,5 @@
+{{language|diesel
+|site=http://wasp.cs.washington.edu/wasp_diesel.html
+}}
+
+Diesel is an advanced object-oriented programming language. It is a successor to the [[Cecil]] language, which included multiply dispatched methods, a flexible classless object model, and a constraint-based polymorphic static type system. Diesel adds a module system and simplifies the object model.
\ No newline at end of file
diff --git a/Lang/Dodo0/0DESCRIPTION b/Lang/Dodo0/0DESCRIPTION
new file mode 100644
index 0000000000..e645f45e55
--- /dev/null
+++ b/Lang/Dodo0/0DESCRIPTION
@@ -0,0 +1,3 @@
+{{language}}The dodo0 language is a dialect based on a subset of dodo [http://dodo.sourceforge.net]. Dodo is an object-oriented prototype- and continuation-based language with an emphasis on parallelism and concurrency.
+
+Project home: http://sourceforge.net/projects/dodo
\ No newline at end of file
diff --git a/Lang/Dylan.NET/0DESCRIPTION b/Lang/Dylan.NET/0DESCRIPTION
new file mode 100644
index 0000000000..4d3d27c049
--- /dev/null
+++ b/Lang/Dylan.NET/0DESCRIPTION
@@ -0,0 +1 @@
+{{stub}}{{language}}
\ No newline at end of file
diff --git a/Lang/E/0DESCRIPTION b/Lang/E/0DESCRIPTION
new file mode 100644
index 0000000000..b614401b9f
--- /dev/null
+++ b/Lang/E/0DESCRIPTION
@@ -0,0 +1,48 @@
+{{language
+|strength=strong
+|safety=safe
+|express=explicit
+|compat=duck
+|checking=dynamic
+|parampass=value
+|gc=yes
+|hopl id=1990
+|LCT=yes
+}}
+E is a programming language designed around object-capability security and event-loop concurrency, in order to support creation of highly robust and secure programs.
+
+Using the [[Java]] implementation of E, Java libraries can be used from E code, and its REPL (e.g. [[Creating a Window]]).
+
+==Trying E==
+
+[http://www.erights.org/download/ The current recommended E implementation ("E-on-Java") may be downloaded from erights.org].
+
+To run an E program:
+
+ $ rune program.e
+
+To get a [[REPL]] (aka prompt, shell, interactive interpreter):
+
+ $ rune
+
+An online REPL is also available at [[Help:IRC|Rosetta Code IRC]] or [irc://chat.freenode.net/erights #erights] on chat.[http://freenode.net/ freenode.net].
+
+==Syntax of examples==
+
+While most of the examples on Rosetta Code are E expressions (programs), some may be written like this:
+
+ ? ''expression''
+ # value: ''print representation''
+
+This is both the format of a transcript at an E [[REPL]], and the format employed by [http://wiki.erights.org/wiki/Updoc Updoc], a test framework for E. “?” is a prompt for user input (“>” indicates multi-line input) and “# foo:” indicates responses.
+* # value: the return value of the ''expression'', printed
+* # problem: an exception thrown by evaluation of the ''expression''
+* # syntax error: an exception thrown by parsing of the ''expression''
+* # stdout: or # stderr: text written to the stdout or stderr streams. It is typically only used in test scripts and not in ordinary interactive sessions.
+
+To try out these examples for yourself, just install E and run the rune command to get the “?” prompt. Multi-line input is automatic for unbalanced brackets/parens and can be indicated in other cases by a trailing backslash.
+
+==See Also==
+
+* [http://www.erights.org erights.org] — Home page of E
+* [http://wiki.erights.org E Wiki]
\ No newline at end of file
diff --git a/Lang/E/100-doors b/Lang/E/100-doors
new file mode 120000
index 0000000000..dd8808ae00
--- /dev/null
+++ b/Lang/E/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/E
\ No newline at end of file
diff --git a/Lang/E/99-Bottles-of-Beer b/Lang/E/99-Bottles-of-Beer
new file mode 120000
index 0000000000..bf67561f45
--- /dev/null
+++ b/Lang/E/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/E
\ No newline at end of file
diff --git a/Lang/E/Abstract-type b/Lang/E/Abstract-type
new file mode 120000
index 0000000000..7cc70075fa
--- /dev/null
+++ b/Lang/E/Abstract-type
@@ -0,0 +1 @@
+../../Task/Abstract-type/E
\ No newline at end of file
diff --git a/Lang/E/Accumulator-factory b/Lang/E/Accumulator-factory
new file mode 120000
index 0000000000..07538fab10
--- /dev/null
+++ b/Lang/E/Accumulator-factory
@@ -0,0 +1 @@
+../../Task/Accumulator-factory/E
\ No newline at end of file
diff --git a/Lang/E/Ackermann-function b/Lang/E/Ackermann-function
new file mode 120000
index 0000000000..ac091a6b79
--- /dev/null
+++ b/Lang/E/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/E
\ No newline at end of file
diff --git a/Lang/E/Active-object b/Lang/E/Active-object
new file mode 120000
index 0000000000..bbda61f08a
--- /dev/null
+++ b/Lang/E/Active-object
@@ -0,0 +1 @@
+../../Task/Active-object/E
\ No newline at end of file
diff --git a/Lang/E/Align-columns b/Lang/E/Align-columns
new file mode 120000
index 0000000000..5cdcd1173b
--- /dev/null
+++ b/Lang/E/Align-columns
@@ -0,0 +1 @@
+../../Task/Align-columns/E
\ No newline at end of file
diff --git a/Lang/E/Anagrams b/Lang/E/Anagrams
new file mode 120000
index 0000000000..7f45ceaa18
--- /dev/null
+++ b/Lang/E/Anagrams
@@ -0,0 +1 @@
+../../Task/Anagrams/E
\ No newline at end of file
diff --git a/Lang/E/Animate-a-pendulum b/Lang/E/Animate-a-pendulum
new file mode 120000
index 0000000000..f738a972e4
--- /dev/null
+++ b/Lang/E/Animate-a-pendulum
@@ -0,0 +1 @@
+../../Task/Animate-a-pendulum/E
\ No newline at end of file
diff --git a/Lang/E/Animation b/Lang/E/Animation
new file mode 120000
index 0000000000..3290c8baa0
--- /dev/null
+++ b/Lang/E/Animation
@@ -0,0 +1 @@
+../../Task/Animation/E
\ No newline at end of file
diff --git a/Lang/E/Apply-a-callback-to-an-array b/Lang/E/Apply-a-callback-to-an-array
new file mode 120000
index 0000000000..97eb27939b
--- /dev/null
+++ b/Lang/E/Apply-a-callback-to-an-array
@@ -0,0 +1 @@
+../../Task/Apply-a-callback-to-an-array/E
\ No newline at end of file
diff --git a/Lang/E/Arbitrary-precision-integers-(included) b/Lang/E/Arbitrary-precision-integers-(included)
new file mode 120000
index 0000000000..e7eab2c630
--- /dev/null
+++ b/Lang/E/Arbitrary-precision-integers-(included)
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers-(included)/E
\ No newline at end of file
diff --git a/Lang/E/Arithmetic-Integer b/Lang/E/Arithmetic-Integer
new file mode 120000
index 0000000000..bbfa7f952f
--- /dev/null
+++ b/Lang/E/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/E
\ No newline at end of file
diff --git a/Lang/E/Arithmetic-evaluation b/Lang/E/Arithmetic-evaluation
new file mode 120000
index 0000000000..637bbe0a93
--- /dev/null
+++ b/Lang/E/Arithmetic-evaluation
@@ -0,0 +1 @@
+../../Task/Arithmetic-evaluation/E
\ No newline at end of file
diff --git a/Lang/E/Array-concatenation b/Lang/E/Array-concatenation
new file mode 120000
index 0000000000..d1862b8122
--- /dev/null
+++ b/Lang/E/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/E
\ No newline at end of file
diff --git a/Lang/E/Arrays b/Lang/E/Arrays
new file mode 120000
index 0000000000..bee6e3bb02
--- /dev/null
+++ b/Lang/E/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/E
\ No newline at end of file
diff --git a/Lang/E/Assertions b/Lang/E/Assertions
new file mode 120000
index 0000000000..925c5e5ab3
--- /dev/null
+++ b/Lang/E/Assertions
@@ -0,0 +1 @@
+../../Task/Assertions/E
\ No newline at end of file
diff --git a/Lang/E/Associative-array-Creation b/Lang/E/Associative-array-Creation
new file mode 120000
index 0000000000..b8f3612048
--- /dev/null
+++ b/Lang/E/Associative-array-Creation
@@ -0,0 +1 @@
+../../Task/Associative-array-Creation/E
\ No newline at end of file
diff --git a/Lang/E/Associative-array-Iteration b/Lang/E/Associative-array-Iteration
new file mode 120000
index 0000000000..5cad696d56
--- /dev/null
+++ b/Lang/E/Associative-array-Iteration
@@ -0,0 +1 @@
+../../Task/Associative-array-Iteration/E
\ No newline at end of file
diff --git a/Lang/E/Atomic-updates b/Lang/E/Atomic-updates
new file mode 120000
index 0000000000..381339f621
--- /dev/null
+++ b/Lang/E/Atomic-updates
@@ -0,0 +1 @@
+../../Task/Atomic-updates/E
\ No newline at end of file
diff --git a/Lang/E/Averages-Arithmetic-mean b/Lang/E/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..4a8ce2050f
--- /dev/null
+++ b/Lang/E/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/E
\ No newline at end of file
diff --git a/Lang/E/Averages-Median b/Lang/E/Averages-Median
new file mode 120000
index 0000000000..69c7eb0a13
--- /dev/null
+++ b/Lang/E/Averages-Median
@@ -0,0 +1 @@
+../../Task/Averages-Median/E
\ No newline at end of file
diff --git a/Lang/E/Averages-Mode b/Lang/E/Averages-Mode
new file mode 120000
index 0000000000..4f9876bb17
--- /dev/null
+++ b/Lang/E/Averages-Mode
@@ -0,0 +1 @@
+../../Task/Averages-Mode/E
\ No newline at end of file
diff --git a/Lang/E/Averages-Pythagorean-means b/Lang/E/Averages-Pythagorean-means
new file mode 120000
index 0000000000..5edbc404ad
--- /dev/null
+++ b/Lang/E/Averages-Pythagorean-means
@@ -0,0 +1 @@
+../../Task/Averages-Pythagorean-means/E
\ No newline at end of file
diff --git a/Lang/E/Averages-Root-mean-square b/Lang/E/Averages-Root-mean-square
new file mode 120000
index 0000000000..edd42d5577
--- /dev/null
+++ b/Lang/E/Averages-Root-mean-square
@@ -0,0 +1 @@
+../../Task/Averages-Root-mean-square/E
\ No newline at end of file
diff --git a/Lang/E/Averages-Simple-moving-average b/Lang/E/Averages-Simple-moving-average
new file mode 120000
index 0000000000..96fcfb1b5a
--- /dev/null
+++ b/Lang/E/Averages-Simple-moving-average
@@ -0,0 +1 @@
+../../Task/Averages-Simple-moving-average/E
\ No newline at end of file
diff --git a/Lang/E/Binary-search b/Lang/E/Binary-search
new file mode 120000
index 0000000000..dbdeb4fd9b
--- /dev/null
+++ b/Lang/E/Binary-search
@@ -0,0 +1 @@
+../../Task/Binary-search/E
\ No newline at end of file
diff --git a/Lang/E/Binary-strings b/Lang/E/Binary-strings
new file mode 120000
index 0000000000..5290892058
--- /dev/null
+++ b/Lang/E/Binary-strings
@@ -0,0 +1 @@
+../../Task/Binary-strings/E
\ No newline at end of file
diff --git a/Lang/E/Bitmap b/Lang/E/Bitmap
new file mode 120000
index 0000000000..dafdbf2dc6
--- /dev/null
+++ b/Lang/E/Bitmap
@@ -0,0 +1 @@
+../../Task/Bitmap/E
\ No newline at end of file
diff --git a/Lang/E/Bitmap-Bresenhams-line-algorithm b/Lang/E/Bitmap-Bresenhams-line-algorithm
new file mode 120000
index 0000000000..7e19d9faed
--- /dev/null
+++ b/Lang/E/Bitmap-Bresenhams-line-algorithm
@@ -0,0 +1 @@
+../../Task/Bitmap-Bresenhams-line-algorithm/E
\ No newline at end of file
diff --git a/Lang/E/Bitmap-Flood-fill b/Lang/E/Bitmap-Flood-fill
new file mode 120000
index 0000000000..e6ef8a3e67
--- /dev/null
+++ b/Lang/E/Bitmap-Flood-fill
@@ -0,0 +1 @@
+../../Task/Bitmap-Flood-fill/E
\ No newline at end of file
diff --git a/Lang/E/Bitmap-Read-a-PPM-file b/Lang/E/Bitmap-Read-a-PPM-file
new file mode 120000
index 0000000000..b4813ee2e5
--- /dev/null
+++ b/Lang/E/Bitmap-Read-a-PPM-file
@@ -0,0 +1 @@
+../../Task/Bitmap-Read-a-PPM-file/E
\ No newline at end of file
diff --git a/Lang/E/Bitwise-operations b/Lang/E/Bitwise-operations
new file mode 120000
index 0000000000..e4daaa9854
--- /dev/null
+++ b/Lang/E/Bitwise-operations
@@ -0,0 +1 @@
+../../Task/Bitwise-operations/E
\ No newline at end of file
diff --git a/Lang/E/Boolean-values b/Lang/E/Boolean-values
new file mode 120000
index 0000000000..802d76f42c
--- /dev/null
+++ b/Lang/E/Boolean-values
@@ -0,0 +1 @@
+../../Task/Boolean-values/E
\ No newline at end of file
diff --git a/Lang/E/Bulls-and-cows b/Lang/E/Bulls-and-cows
new file mode 120000
index 0000000000..00d3452099
--- /dev/null
+++ b/Lang/E/Bulls-and-cows
@@ -0,0 +1 @@
+../../Task/Bulls-and-cows/E
\ No newline at end of file
diff --git a/Lang/E/Call-an-object-method b/Lang/E/Call-an-object-method
new file mode 120000
index 0000000000..e113a1f2c2
--- /dev/null
+++ b/Lang/E/Call-an-object-method
@@ -0,0 +1 @@
+../../Task/Call-an-object-method/E
\ No newline at end of file
diff --git a/Lang/E/Character-codes b/Lang/E/Character-codes
new file mode 120000
index 0000000000..f37767f9b9
--- /dev/null
+++ b/Lang/E/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/E
\ No newline at end of file
diff --git a/Lang/E/Character-matching b/Lang/E/Character-matching
new file mode 120000
index 0000000000..b0aea42ad3
--- /dev/null
+++ b/Lang/E/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/E
\ No newline at end of file
diff --git a/Lang/E/Check-that-file-exists b/Lang/E/Check-that-file-exists
new file mode 120000
index 0000000000..542093a587
--- /dev/null
+++ b/Lang/E/Check-that-file-exists
@@ -0,0 +1 @@
+../../Task/Check-that-file-exists/E
\ No newline at end of file
diff --git a/Lang/E/Checkpoint-synchronization b/Lang/E/Checkpoint-synchronization
new file mode 120000
index 0000000000..36ea846292
--- /dev/null
+++ b/Lang/E/Checkpoint-synchronization
@@ -0,0 +1 @@
+../../Task/Checkpoint-synchronization/E
\ No newline at end of file
diff --git a/Lang/E/Classes b/Lang/E/Classes
new file mode 120000
index 0000000000..eb3dc0c2fe
--- /dev/null
+++ b/Lang/E/Classes
@@ -0,0 +1 @@
+../../Task/Classes/E
\ No newline at end of file
diff --git a/Lang/E/Collections b/Lang/E/Collections
new file mode 120000
index 0000000000..c77f025e4c
--- /dev/null
+++ b/Lang/E/Collections
@@ -0,0 +1 @@
+../../Task/Collections/E
\ No newline at end of file
diff --git a/Lang/E/Combinations b/Lang/E/Combinations
new file mode 120000
index 0000000000..26c501db4d
--- /dev/null
+++ b/Lang/E/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/E
\ No newline at end of file
diff --git a/Lang/E/Command-line-arguments b/Lang/E/Command-line-arguments
new file mode 120000
index 0000000000..8dbfc21610
--- /dev/null
+++ b/Lang/E/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/E
\ No newline at end of file
diff --git a/Lang/E/Comments b/Lang/E/Comments
new file mode 120000
index 0000000000..039967682d
--- /dev/null
+++ b/Lang/E/Comments
@@ -0,0 +1 @@
+../../Task/Comments/E
\ No newline at end of file
diff --git a/Lang/E/Compound-data-type b/Lang/E/Compound-data-type
new file mode 120000
index 0000000000..d639d8d583
--- /dev/null
+++ b/Lang/E/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/E
\ No newline at end of file
diff --git a/Lang/E/Concurrent-computing b/Lang/E/Concurrent-computing
new file mode 120000
index 0000000000..1e4cbee0bd
--- /dev/null
+++ b/Lang/E/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/E
\ No newline at end of file
diff --git a/Lang/E/Conditional-structures b/Lang/E/Conditional-structures
new file mode 120000
index 0000000000..8542d207b0
--- /dev/null
+++ b/Lang/E/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/E
\ No newline at end of file
diff --git a/Lang/E/Constrained-genericity b/Lang/E/Constrained-genericity
new file mode 120000
index 0000000000..fb5c6f495e
--- /dev/null
+++ b/Lang/E/Constrained-genericity
@@ -0,0 +1 @@
+../../Task/Constrained-genericity/E
\ No newline at end of file
diff --git a/Lang/E/Conways-Game-of-Life b/Lang/E/Conways-Game-of-Life
new file mode 120000
index 0000000000..9d04a55e81
--- /dev/null
+++ b/Lang/E/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/E
\ No newline at end of file
diff --git a/Lang/E/Create-a-file b/Lang/E/Create-a-file
new file mode 120000
index 0000000000..f80112f784
--- /dev/null
+++ b/Lang/E/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/E
\ No newline at end of file
diff --git a/Lang/E/Deepcopy b/Lang/E/Deepcopy
new file mode 120000
index 0000000000..b423a07761
--- /dev/null
+++ b/Lang/E/Deepcopy
@@ -0,0 +1 @@
+../../Task/Deepcopy/E
\ No newline at end of file
diff --git a/Lang/E/Define-a-primitive-data-type b/Lang/E/Define-a-primitive-data-type
new file mode 120000
index 0000000000..df0247a20c
--- /dev/null
+++ b/Lang/E/Define-a-primitive-data-type
@@ -0,0 +1 @@
+../../Task/Define-a-primitive-data-type/E
\ No newline at end of file
diff --git a/Lang/E/Delegates b/Lang/E/Delegates
new file mode 120000
index 0000000000..53c387ee69
--- /dev/null
+++ b/Lang/E/Delegates
@@ -0,0 +1 @@
+../../Task/Delegates/E
\ No newline at end of file
diff --git a/Lang/E/Delete-a-file b/Lang/E/Delete-a-file
new file mode 120000
index 0000000000..c9bb921924
--- /dev/null
+++ b/Lang/E/Delete-a-file
@@ -0,0 +1 @@
+../../Task/Delete-a-file/E
\ No newline at end of file
diff --git a/Lang/E/Detect-division-by-zero b/Lang/E/Detect-division-by-zero
new file mode 120000
index 0000000000..3cd08aea4f
--- /dev/null
+++ b/Lang/E/Detect-division-by-zero
@@ -0,0 +1 @@
+../../Task/Detect-division-by-zero/E
\ No newline at end of file
diff --git a/Lang/E/Determine-if-a-string-is-numeric b/Lang/E/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..36ce6ffe3d
--- /dev/null
+++ b/Lang/E/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/E
\ No newline at end of file
diff --git a/Lang/E/Distributed-programming b/Lang/E/Distributed-programming
new file mode 120000
index 0000000000..e49860d2d1
--- /dev/null
+++ b/Lang/E/Distributed-programming
@@ -0,0 +1 @@
+../../Task/Distributed-programming/E
\ No newline at end of file
diff --git a/Lang/E/Documentation b/Lang/E/Documentation
new file mode 120000
index 0000000000..2c6b03ce74
--- /dev/null
+++ b/Lang/E/Documentation
@@ -0,0 +1 @@
+../../Task/Documentation/E
\ No newline at end of file
diff --git a/Lang/E/Doubly-linked-list-Definition b/Lang/E/Doubly-linked-list-Definition
new file mode 120000
index 0000000000..7b30e7416e
--- /dev/null
+++ b/Lang/E/Doubly-linked-list-Definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Definition/E
\ No newline at end of file
diff --git a/Lang/E/Doubly-linked-list-Element-definition b/Lang/E/Doubly-linked-list-Element-definition
new file mode 120000
index 0000000000..0ecc0d9625
--- /dev/null
+++ b/Lang/E/Doubly-linked-list-Element-definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-definition/E
\ No newline at end of file
diff --git a/Lang/E/Doubly-linked-list-Element-insertion b/Lang/E/Doubly-linked-list-Element-insertion
new file mode 120000
index 0000000000..28f60675c2
--- /dev/null
+++ b/Lang/E/Doubly-linked-list-Element-insertion
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-insertion/E
\ No newline at end of file
diff --git a/Lang/E/Doubly-linked-list-Traversal b/Lang/E/Doubly-linked-list-Traversal
new file mode 120000
index 0000000000..27c633cceb
--- /dev/null
+++ b/Lang/E/Doubly-linked-list-Traversal
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Traversal/E
\ No newline at end of file
diff --git a/Lang/E/Dynamic-variable-names b/Lang/E/Dynamic-variable-names
new file mode 120000
index 0000000000..b06eaefb81
--- /dev/null
+++ b/Lang/E/Dynamic-variable-names
@@ -0,0 +1 @@
+../../Task/Dynamic-variable-names/E
\ No newline at end of file
diff --git a/Lang/E/Empty-program b/Lang/E/Empty-program
new file mode 120000
index 0000000000..35847509c5
--- /dev/null
+++ b/Lang/E/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/E
\ No newline at end of file
diff --git a/Lang/E/Enforced-immutability b/Lang/E/Enforced-immutability
new file mode 120000
index 0000000000..4d0a30be01
--- /dev/null
+++ b/Lang/E/Enforced-immutability
@@ -0,0 +1 @@
+../../Task/Enforced-immutability/E
\ No newline at end of file
diff --git a/Lang/E/Enumerations b/Lang/E/Enumerations
new file mode 120000
index 0000000000..bebcd53840
--- /dev/null
+++ b/Lang/E/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/E
\ No newline at end of file
diff --git a/Lang/E/Ethiopian-multiplication b/Lang/E/Ethiopian-multiplication
new file mode 120000
index 0000000000..44584b7e76
--- /dev/null
+++ b/Lang/E/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/E
\ No newline at end of file
diff --git a/Lang/E/Events b/Lang/E/Events
new file mode 120000
index 0000000000..b496a49434
--- /dev/null
+++ b/Lang/E/Events
@@ -0,0 +1 @@
+../../Task/Events/E
\ No newline at end of file
diff --git a/Lang/E/Evolutionary-algorithm b/Lang/E/Evolutionary-algorithm
new file mode 120000
index 0000000000..3fd0243963
--- /dev/null
+++ b/Lang/E/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/E
\ No newline at end of file
diff --git a/Lang/E/Exceptions b/Lang/E/Exceptions
new file mode 120000
index 0000000000..416a693193
--- /dev/null
+++ b/Lang/E/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/E
\ No newline at end of file
diff --git a/Lang/E/Execute-a-system-command b/Lang/E/Execute-a-system-command
new file mode 120000
index 0000000000..db378f057c
--- /dev/null
+++ b/Lang/E/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/E
\ No newline at end of file
diff --git a/Lang/E/Exponentiation-operator b/Lang/E/Exponentiation-operator
new file mode 120000
index 0000000000..6d66eeef6f
--- /dev/null
+++ b/Lang/E/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/E
\ No newline at end of file
diff --git a/Lang/E/Extend-your-language b/Lang/E/Extend-your-language
new file mode 120000
index 0000000000..e349929430
--- /dev/null
+++ b/Lang/E/Extend-your-language
@@ -0,0 +1 @@
+../../Task/Extend-your-language/E
\ No newline at end of file
diff --git a/Lang/E/FizzBuzz b/Lang/E/FizzBuzz
new file mode 120000
index 0000000000..dd46ad2021
--- /dev/null
+++ b/Lang/E/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/E
\ No newline at end of file
diff --git a/Lang/E/Infinity b/Lang/E/Infinity
new file mode 120000
index 0000000000..9976ae182b
--- /dev/null
+++ b/Lang/E/Infinity
@@ -0,0 +1 @@
+../../Task/Infinity/E
\ No newline at end of file
diff --git a/Lang/E/Knuth-shuffle b/Lang/E/Knuth-shuffle
new file mode 120000
index 0000000000..907dfd4950
--- /dev/null
+++ b/Lang/E/Knuth-shuffle
@@ -0,0 +1 @@
+../../Task/Knuth-shuffle/E
\ No newline at end of file
diff --git a/Lang/E/Ordered-words b/Lang/E/Ordered-words
new file mode 120000
index 0000000000..0e2d25355f
--- /dev/null
+++ b/Lang/E/Ordered-words
@@ -0,0 +1 @@
+../../Task/Ordered-words/E
\ No newline at end of file
diff --git a/Lang/E/Quine b/Lang/E/Quine
new file mode 120000
index 0000000000..51bdeb52ea
--- /dev/null
+++ b/Lang/E/Quine
@@ -0,0 +1 @@
+../../Task/Quine/E
\ No newline at end of file
diff --git a/Lang/E/Search-a-list b/Lang/E/Search-a-list
new file mode 120000
index 0000000000..3656d654f3
--- /dev/null
+++ b/Lang/E/Search-a-list
@@ -0,0 +1 @@
+../../Task/Search-a-list/E
\ No newline at end of file
diff --git a/Lang/EC/0DESCRIPTION b/Lang/EC/0DESCRIPTION
new file mode 100644
index 0000000000..da088ab50c
--- /dev/null
+++ b/Lang/EC/0DESCRIPTION
@@ -0,0 +1,56 @@
+{{language|eC
+|strength=weak
+|safety=unsafe
+|express=explicit
+|compat=nominative
+|checking=both
+|parampass=both
+|gc=no
+|LCT=yes}}
+eC (Ecere C) is an [[object-oriented]] language derived from and compatible with [[derived from::compatible with::C]] designed and developed by Ecere Corporation. It aims at being fast, light and easy to write.
+
+It is supported by a cross-[[platform]] runtime [[Ecere|library]] including its own [[GUI]] toolkit, 2D/3D graphics engine as well as networking support.
+
+The Ecere SDK is completely free and includes a full-featured [[Ecere IDE|Integrated Development Environment]] as well as a compiling tools for the eC language.
+
+''Some of eC Features''
+
+* Full C compatibility (Only exception: few additional reserved keywords such as 'class')
+* Object-oriented class definitions supporting single inheritance
+* Per instance virtual methods
+* Import feature removing the need for header files
+* Properties
+* Automatic conversions
+* Context sensitive enumerations
+* Component object model enabling dynamic lookup of classes, methods, objects serialization and broking, runtime code class aggregation
+
+== Sample Code ==
+''Properties & Conversions in eC''
+
+ '''class''' Pen
+ {
+ Color color;
+ '''public''' '''property''' Color color
+ {
+ '''get''' { '''return''' color; }
+ '''set''' { color = value; }
+ }
+ }
+
+ // Example Usage
+ Pen pen { red };
+ Pen pen { color = red };
+ pen.color = ~pen.color;
+ pen.color += 10;
+ pen.color.r = 255;
+ pen.color = 0xFF0000;
+ pen.color = { 255, 0, 0 };
+ pen.color = ColorHSV { 0, 100, 100 };
+ pen.color = ColorLab { 53, 79, 66 };
+ pen.color = ColorCMYK { 0, 100, 100, 0 };
+
+==External links==
+*[http://www.ecere.com/technologies.html#eC Description of eC language on official web site]
+*[http://www.ecere.com/ Ecere Corporation's web site]
+*[http://zerotri.net/wiki/doku.php?id=ecere_review Review of eC language and SDK by zerotri]
+*[http://freshmeat.net/projects/ecere/ Ecere SDK project on FreshMeat]
\ No newline at end of file
diff --git a/Lang/EGL/0DESCRIPTION b/Lang/EGL/0DESCRIPTION
new file mode 100644
index 0000000000..f55eab0114
--- /dev/null
+++ b/Lang/EGL/0DESCRIPTION
@@ -0,0 +1,7 @@
+{{language
+|site=http://www.eclipse.org/edt/
+}}
+{{Wikipedia|EGL_(programming_language)}}
+EGL (Enterprise Generation Language), originally developed by IBM and now available as the EDT (EGL Development Tools) Open Source project under the EPL (Eclipse Public License), is a programming technology designed to meet the challenges of modern, multi-platform application development by providing a common language and programming model across languages, frameworks, and runtime platforms. The language borrows concepts familiar to anyone using statically typed languages like Java, COBOL, C, etc. However, it borrows the concept of Stereotype from UML (Universal Modeling Language) that is not typically found in statically typed programming languages.
+
+EGL is similar in syntax to other common languages so it can be learned by application developers with similar previous programming background. EGL application development abstractions shield programmers from the technical interfaces of systems and middleware allowing them to focus on building business functionality. EGL applications and services are written, tested and debugged at the EGL source level, and once they are satisfactorily functionally tested they can be compiled into Java or JavaScript code.
\ No newline at end of file
diff --git a/Lang/EGL/100-doors b/Lang/EGL/100-doors
new file mode 120000
index 0000000000..73434cf4f2
--- /dev/null
+++ b/Lang/EGL/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/EGL
\ No newline at end of file
diff --git a/Lang/EGL/99-Bottles-of-Beer b/Lang/EGL/99-Bottles-of-Beer
new file mode 120000
index 0000000000..21c6a8218b
--- /dev/null
+++ b/Lang/EGL/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/EGL
\ No newline at end of file
diff --git a/Lang/EGL/A+B b/Lang/EGL/A+B
new file mode 120000
index 0000000000..2769f4bd44
--- /dev/null
+++ b/Lang/EGL/A+B
@@ -0,0 +1 @@
+../../Task/A+B/EGL
\ No newline at end of file
diff --git a/Lang/EGL/Apply-a-callback-to-an-array b/Lang/EGL/Apply-a-callback-to-an-array
new file mode 120000
index 0000000000..f89619b930
--- /dev/null
+++ b/Lang/EGL/Apply-a-callback-to-an-array
@@ -0,0 +1 @@
+../../Task/Apply-a-callback-to-an-array/EGL
\ No newline at end of file
diff --git a/Lang/EGL/Array-concatenation b/Lang/EGL/Array-concatenation
new file mode 120000
index 0000000000..dc912ace33
--- /dev/null
+++ b/Lang/EGL/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/EGL
\ No newline at end of file
diff --git a/Lang/EGL/Arrays b/Lang/EGL/Arrays
new file mode 120000
index 0000000000..522e5bedea
--- /dev/null
+++ b/Lang/EGL/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/EGL
\ No newline at end of file
diff --git a/Lang/EGL/Boolean-values b/Lang/EGL/Boolean-values
new file mode 120000
index 0000000000..8987c82d20
--- /dev/null
+++ b/Lang/EGL/Boolean-values
@@ -0,0 +1 @@
+../../Task/Boolean-values/EGL
\ No newline at end of file
diff --git a/Lang/EGL/Count-occurrences-of-a-substring b/Lang/EGL/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..3529a9ff2e
--- /dev/null
+++ b/Lang/EGL/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/EGL
\ No newline at end of file
diff --git a/Lang/EGL/Date-format b/Lang/EGL/Date-format
new file mode 120000
index 0000000000..cd92ff2a8c
--- /dev/null
+++ b/Lang/EGL/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/EGL
\ No newline at end of file
diff --git a/Lang/EGL/Empty-program b/Lang/EGL/Empty-program
new file mode 120000
index 0000000000..c897ecd173
--- /dev/null
+++ b/Lang/EGL/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/EGL
\ No newline at end of file
diff --git a/Lang/EGL/Enumerations b/Lang/EGL/Enumerations
new file mode 120000
index 0000000000..5df513f81a
--- /dev/null
+++ b/Lang/EGL/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/EGL
\ No newline at end of file
diff --git a/Lang/EGL/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/EGL/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..0e6057c9b7
--- /dev/null
+++ b/Lang/EGL/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/EGL
\ No newline at end of file
diff --git a/Lang/EGL/JSON b/Lang/EGL/JSON
new file mode 120000
index 0000000000..41a6fba16a
--- /dev/null
+++ b/Lang/EGL/JSON
@@ -0,0 +1 @@
+../../Task/JSON/EGL
\ No newline at end of file
diff --git a/Lang/ELLA/0DESCRIPTION b/Lang/ELLA/0DESCRIPTION
new file mode 100644
index 0000000000..8a21efa982
--- /dev/null
+++ b/Lang/ELLA/0DESCRIPTION
@@ -0,0 +1,11 @@
+{{language}}{{stub}}
+VLSI Hardware Description Language ELLA is a hardware engineers support toolset used to design and verify hardware design. Developed by the UK Ministry of Defence.
+
+Includes tools to perform:
+* design transformation
+* symbolic simulations
+* formal verification
+
+== See also ==
+* Ella 2000: A Language for Electronic System Design - by J. D. Morison, A. S. Clarke
+* A design and verification environment for ELLA - Barringer, Gough, Monahan, Williams, Arcus, Armstrong & Hill. - IEEE Xplore, Volume , Issue , 29 Aug-1 Sep 1995 Page(s):685 - 690
\ No newline at end of file
diff --git a/Lang/ESQL/0DESCRIPTION b/Lang/ESQL/0DESCRIPTION
new file mode 100644
index 0000000000..7c03f1131b
--- /dev/null
+++ b/Lang/ESQL/0DESCRIPTION
@@ -0,0 +1,2 @@
+{{language|ESQL}}{{implementation|SQL}}
+{{stub}}
\ No newline at end of file
diff --git a/Lang/Efene/0DESCRIPTION b/Lang/Efene/0DESCRIPTION
new file mode 100644
index 0000000000..e0c97510b6
--- /dev/null
+++ b/Lang/Efene/0DESCRIPTION
@@ -0,0 +1,21 @@
+{{language
+|site=http://marianoguerra.com.ar/efene}}{{DISPLAYTITLE:Category:efene}}
+
+efene is a programming language that runs on the Erlang virtual machine.
+
+The idea is to provide an alternative syntax to Erlang that is most suitable for people coming from languages like Java, C, C++, C#, or JavaScript.
+
+The language is almost 100% compatible with Erlang (and will be); the compiler allows to translate an efene source file into a readable Erlang one. It also adds some syntactic sugar in some places to make some tasks easier.
+
+To see how it looks you can go to the [http://github.com/marianoguerra/efene/tree/master/examples/ examples directory].
+
+==Participate==
+
+A mailing list is available at librelist: just send a mail to [mailto:efene@librelist.com efene@librelist.com] to subscribe.
+
+As first email you may send a hello world program in efene and present yourself by saying your name, where you are, how you heard about efene, and anything else you would like to say.
+
+==Useful links==
+* [http://efene.tumblr.com/ Blog]
+* [http://github.com/marianoguerra/efene Central repo (fork this one)]
+* [http://github.com/marianoguerra/efene/issues Issue tracker]
\ No newline at end of file
diff --git a/Lang/Efene/Apply-a-callback-to-an-array b/Lang/Efene/Apply-a-callback-to-an-array
new file mode 120000
index 0000000000..d7d745f70b
--- /dev/null
+++ b/Lang/Efene/Apply-a-callback-to-an-array
@@ -0,0 +1 @@
+../../Task/Apply-a-callback-to-an-array/Efene
\ No newline at end of file
diff --git a/Lang/Efene/Arithmetic-Integer b/Lang/Efene/Arithmetic-Integer
new file mode 120000
index 0000000000..5e32c926f9
--- /dev/null
+++ b/Lang/Efene/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/Efene
\ No newline at end of file
diff --git a/Lang/Efene/Array-concatenation b/Lang/Efene/Array-concatenation
new file mode 120000
index 0000000000..d8c3a37201
--- /dev/null
+++ b/Lang/Efene/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/Efene
\ No newline at end of file
diff --git a/Lang/Efene/Conditional-structures b/Lang/Efene/Conditional-structures
new file mode 120000
index 0000000000..c1765cc7f6
--- /dev/null
+++ b/Lang/Efene/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Efene
\ No newline at end of file
diff --git a/Lang/Eiffel/Command-line-arguments b/Lang/Eiffel/Command-line-arguments
new file mode 120000
index 0000000000..925b00c899
--- /dev/null
+++ b/Lang/Eiffel/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Eiffel
\ No newline at end of file
diff --git a/Lang/Eiffel/Constrained-genericity b/Lang/Eiffel/Constrained-genericity
new file mode 120000
index 0000000000..5965900a59
--- /dev/null
+++ b/Lang/Eiffel/Constrained-genericity
@@ -0,0 +1 @@
+../../Task/Constrained-genericity/Eiffel
\ No newline at end of file
diff --git a/Lang/Eiffel/Count-occurrences-of-a-substring b/Lang/Eiffel/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..e355893166
--- /dev/null
+++ b/Lang/Eiffel/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/Eiffel
\ No newline at end of file
diff --git a/Lang/Eiffel/Dining-philosophers b/Lang/Eiffel/Dining-philosophers
new file mode 120000
index 0000000000..d9c7ed9849
--- /dev/null
+++ b/Lang/Eiffel/Dining-philosophers
@@ -0,0 +1 @@
+../../Task/Dining-philosophers/Eiffel
\ No newline at end of file
diff --git a/Lang/Eiffel/Documentation b/Lang/Eiffel/Documentation
new file mode 120000
index 0000000000..59670c0c20
--- /dev/null
+++ b/Lang/Eiffel/Documentation
@@ -0,0 +1 @@
+../../Task/Documentation/Eiffel
\ No newline at end of file
diff --git a/Lang/Eiffel/Empty-program b/Lang/Eiffel/Empty-program
new file mode 120000
index 0000000000..ca8bbeedb8
--- /dev/null
+++ b/Lang/Eiffel/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/Eiffel
\ No newline at end of file
diff --git a/Lang/Eiffel/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/Eiffel/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..226de06281
--- /dev/null
+++ b/Lang/Eiffel/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/Eiffel
\ No newline at end of file
diff --git a/Lang/Ela/0DESCRIPTION b/Lang/Ela/0DESCRIPTION
new file mode 100644
index 0000000000..d60e29e01a
--- /dev/null
+++ b/Lang/Ela/0DESCRIPTION
@@ -0,0 +1,14 @@
+{{language|Ela
+|exec=bytecode
+|site=http://code.google.com/p/elalang/
+|gc=yes
+|strength=strong
+|safety=safe
+|checking=dynamic
+|express=implicit
+|compat=duck
+|parampass=value
+}}
+{{language programming paradigm|functional}}
+Ela is a pure functional language. Ela supports both strict and non-strict evaluation but is strict by default. Ela has a layout based, [[Haskell]] style syntax. Features supported by Ela include first class functions, pattern matching, lazy evaluation, algebraic data types (including open algebraic data types), type classes.
+Ela runs on its own virtual machine but currently requires [[.NET]] or [[Mono]].
\ No newline at end of file
diff --git a/Lang/Ela/100-doors b/Lang/Ela/100-doors
new file mode 120000
index 0000000000..314ef7135a
--- /dev/null
+++ b/Lang/Ela/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/Ela
\ No newline at end of file
diff --git a/Lang/Ela/99-Bottles-of-Beer b/Lang/Ela/99-Bottles-of-Beer
new file mode 120000
index 0000000000..04aadcd7de
--- /dev/null
+++ b/Lang/Ela/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/Ela
\ No newline at end of file
diff --git a/Lang/Ela/A+B b/Lang/Ela/A+B
new file mode 120000
index 0000000000..5b42eebaeb
--- /dev/null
+++ b/Lang/Ela/A+B
@@ -0,0 +1 @@
+../../Task/A+B/Ela
\ No newline at end of file
diff --git a/Lang/Ela/Ackermann-function b/Lang/Ela/Ackermann-function
new file mode 120000
index 0000000000..333452b05c
--- /dev/null
+++ b/Lang/Ela/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/Ela
\ No newline at end of file
diff --git a/Lang/Ela/Anonymous-recursion b/Lang/Ela/Anonymous-recursion
new file mode 120000
index 0000000000..dc1e70d567
--- /dev/null
+++ b/Lang/Ela/Anonymous-recursion
@@ -0,0 +1 @@
+../../Task/Anonymous-recursion/Ela
\ No newline at end of file
diff --git a/Lang/Ela/Comments b/Lang/Ela/Comments
new file mode 120000
index 0000000000..20d2debfe2
--- /dev/null
+++ b/Lang/Ela/Comments
@@ -0,0 +1 @@
+../../Task/Comments/Ela
\ No newline at end of file
diff --git a/Lang/Ela/Compound-data-type b/Lang/Ela/Compound-data-type
new file mode 120000
index 0000000000..e679261dd5
--- /dev/null
+++ b/Lang/Ela/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/Ela
\ No newline at end of file
diff --git a/Lang/Ela/Conditional-structures b/Lang/Ela/Conditional-structures
new file mode 120000
index 0000000000..62565c82aa
--- /dev/null
+++ b/Lang/Ela/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Ela
\ No newline at end of file
diff --git a/Lang/Ela/Detect-division-by-zero b/Lang/Ela/Detect-division-by-zero
new file mode 120000
index 0000000000..703c7f8d37
--- /dev/null
+++ b/Lang/Ela/Detect-division-by-zero
@@ -0,0 +1 @@
+../../Task/Detect-division-by-zero/Ela
\ No newline at end of file
diff --git a/Lang/Ela/Dot-product b/Lang/Ela/Dot-product
new file mode 120000
index 0000000000..bbbcb020f6
--- /dev/null
+++ b/Lang/Ela/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Ela
\ No newline at end of file
diff --git a/Lang/Ela/Enforced-immutability b/Lang/Ela/Enforced-immutability
new file mode 120000
index 0000000000..f901100c74
--- /dev/null
+++ b/Lang/Ela/Enforced-immutability
@@ -0,0 +1 @@
+../../Task/Enforced-immutability/Ela
\ No newline at end of file
diff --git a/Lang/Ela/Ethiopian-multiplication b/Lang/Ela/Ethiopian-multiplication
new file mode 120000
index 0000000000..721d28da10
--- /dev/null
+++ b/Lang/Ela/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Ela
\ No newline at end of file
diff --git a/Lang/Ela/Execute-HQ9+ b/Lang/Ela/Execute-HQ9+
new file mode 120000
index 0000000000..5c6c3c554f
--- /dev/null
+++ b/Lang/Ela/Execute-HQ9+
@@ -0,0 +1 @@
+../../Task/Execute-HQ9+/Ela
\ No newline at end of file
diff --git a/Lang/Ela/FizzBuzz b/Lang/Ela/FizzBuzz
new file mode 120000
index 0000000000..b7ab6c9e21
--- /dev/null
+++ b/Lang/Ela/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Ela
\ No newline at end of file
diff --git a/Lang/Elan/0DESCRIPTION b/Lang/Elan/0DESCRIPTION
new file mode 100644
index 0000000000..0fa3ef820b
--- /dev/null
+++ b/Lang/Elan/0DESCRIPTION
@@ -0,0 +1,4 @@
+{{language
+|site=http://www.loria.fr/equipes/protheo/SOFTWARES/ELAN/elan.html
+}}
+The ELAN system provides an environment for specifying and prototyping deduction systems in a language based on rules controlled by strategies. Its purpose is to support the design of theorem provers, logic programming languages, constraints solvers and decision procedures and to offer a modular framework for studying their combination.
\ No newline at end of file
diff --git a/Lang/ElastiC/0DESCRIPTION b/Lang/ElastiC/0DESCRIPTION
new file mode 100644
index 0000000000..584a1971a8
--- /dev/null
+++ b/Lang/ElastiC/0DESCRIPTION
@@ -0,0 +1,26 @@
+{{stub}}
+{{language|
+|site=http://www.elasticworld.org/
+|exec=bytecode
+|gc=yes
+|checking=dynamic
+}}
+{{language programming paradigm|object-oriented}}
+
+elastiC is a portable high-level object-oriented interpreted language with a [[C]]-like syntax. Its main characteristics are:
+*Open Source, freely available, even for commercial purposes.
+*Interpreted.
+*Portable [[bytecode]] compilation.
+*Familiar C-like syntax.
+*Dynamic typing.
+*Automatic real, very fast, Garbage Collection.
+*Object Oriented with meta-programming support (a la [[Smalltalk]]).
+*Functional programming support (Scheme like closures with lexical scoping, and eval-like functionality).
+*Hierarchical Namespaces.
+*Rich set of useful built-in types (dynamic arrays, dictionaries, symbols, ...).
+*Extensibile with C (you can add functions, types, classes, methods, packages, ...).
+*Embeddable in C.
+*Small footprint, making it ideal also in embedded systems.
+
+
+elastiC has been strongly influenced by C, Smalltalk, [[Scheme]] and [[Python]] and tries to merge the best characteristics of all these languages, while still coherently maintaining its unique personality.
\ No newline at end of file
diff --git a/Lang/Elena/0DESCRIPTION b/Lang/Elena/0DESCRIPTION
new file mode 100644
index 0000000000..015c207823
--- /dev/null
+++ b/Lang/Elena/0DESCRIPTION
@@ -0,0 +1,39 @@
+{{language|Elena
+|exec=bytecode
+|strength=strong
+|safety=safe
+|express=implicit
+|checking=dynamic
+|gc=yes
+|LCT=yes}}
+{{language programming paradigm|Object-oriented}}{{language programming paradigm|dynamic}}
+
+== Overview ==
+
+ELENA is a general-purpose, object-oriented, polymorphic language with late binding. It features multiple dispatching, context-dependent roles, dynamic inheritance and group object support.
+
+The language treats any program as a set of objects (class instances). The program flow is a process of interaction between objects by sending each other messages. A message may have attached information (a message parameter). An object may react on message if it has an appropriate message handler (a method). If the object reacts on the message it is treated as successful otherwise unsuccessful. In its turn the method may send messages to other objects and so on until the flow reaches the method written by external tools (meta method). If the message is unsuccessful the flow is considered to be broken. It's possible to declare alternative flow which are executed if previous ones are broken. The method has only one input parameter and one output parameter (the method may return itself).
+
+Every object may be formed up with other objects characterizing its internal state. They in turn may be formed with others and so on until meta objects which internal states are considered as raw data.
+
+All referring entities in the language are objects. A variable is a reference to the object allocated in the program heap. The literal and numeric constants are references to the objects allocated in the static memory.
+
+== Object model ==
+
+Any object is an instance of one or another class. The classes form the hierarchy tree on the principle of inheritance. There is the common super class - Object. The class parent may be explicitly declared. When the parent is not specified, the class inherits Object.
+
+A class is an abstract concept which means that no operations can be done with it except a declaration. So to create the object its symbol should be referenced. There are explicit and implicit, static and dynamic symbols.
+
+When a new class is declared simultaneously the appropriate explicit symbol is declared as well. The implicit symbol should be declared implicitly. In general the explicit symbol is the object in the initial state and the explicit one is the object in the particular state.
+
+A static symbol is the class instance which state is preserved. A static symbol is always implicit one. There could be only one instance of static symbol.
+
+The class declaration can be named or unnamed (inline declaration) public or private (when the class name is a private name). Its body contains member declarations: fields, roles and methods.
+
+The fields can be accessed only within the class and its descendants. They can be a normal ones (references to another objects) or meta ones (raw data).
+
+The roles are alternative sets of methods which could be used to implement context-dependant object behavior. When it is applied the role overrides the appropriate object methods with its own ones (static mutation).
+
+Methods maybe private or public depending on their name (public or private). All class methods are considered to be polymorphic. It is possible to dispatch the method call depending on its parameter (declarative multi-dispatching). The method has only one input (or nil) and output (or it should return itself) parameters. If the method requires several parameters a special proxy argument list object can be used.
+
+It is possible to declare a special "Any" handler. It is a method which redirects any unhandled message (i.e. messages which are not mapped in the class or its base classes) to the specified target. The target could be a single object (actually mutation) or collection (group object). A group object is a collection of the objects accessible through the common instance reference. The content of the group can be changed dynamically during the object life time (self-modification). The member objects can be a part of different groups or be single. The group can be persistent or temporally created to solve the particular task. The group objects are treated like "normal" ones and no special routines are required to work with them. If two or more members have duplicate methods either the first message mapping is resolved (exclusive mode) or all duplicate methods are executed (broadcast mode) depending on the group type.
\ No newline at end of file
diff --git a/Lang/Elena/A+B b/Lang/Elena/A+B
new file mode 120000
index 0000000000..e81a98bc59
--- /dev/null
+++ b/Lang/Elena/A+B
@@ -0,0 +1 @@
+../../Task/A+B/Elena
\ No newline at end of file
diff --git a/Lang/Elena/Accumulator-factory b/Lang/Elena/Accumulator-factory
new file mode 120000
index 0000000000..a1b47c46ee
--- /dev/null
+++ b/Lang/Elena/Accumulator-factory
@@ -0,0 +1 @@
+../../Task/Accumulator-factory/Elena
\ No newline at end of file
diff --git a/Lang/Elena/Ackermann-function b/Lang/Elena/Ackermann-function
new file mode 120000
index 0000000000..22370ca2f4
--- /dev/null
+++ b/Lang/Elena/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/Elena
\ No newline at end of file
diff --git a/Lang/Elena/Add-a-variable-to-a-class-instance-at-runtime b/Lang/Elena/Add-a-variable-to-a-class-instance-at-runtime
new file mode 120000
index 0000000000..a4bb976ae0
--- /dev/null
+++ b/Lang/Elena/Add-a-variable-to-a-class-instance-at-runtime
@@ -0,0 +1 @@
+../../Task/Add-a-variable-to-a-class-instance-at-runtime/Elena
\ No newline at end of file
diff --git a/Lang/Elena/Anagrams b/Lang/Elena/Anagrams
new file mode 120000
index 0000000000..04e71f74e9
--- /dev/null
+++ b/Lang/Elena/Anagrams
@@ -0,0 +1 @@
+../../Task/Anagrams/Elena
\ No newline at end of file
diff --git a/Lang/Elena/Anonymous-recursion b/Lang/Elena/Anonymous-recursion
new file mode 120000
index 0000000000..a86cbf6718
--- /dev/null
+++ b/Lang/Elena/Anonymous-recursion
@@ -0,0 +1 @@
+../../Task/Anonymous-recursion/Elena
\ No newline at end of file
diff --git a/Lang/Elena/Apply-a-callback-to-an-array b/Lang/Elena/Apply-a-callback-to-an-array
new file mode 120000
index 0000000000..7c56f7d950
--- /dev/null
+++ b/Lang/Elena/Apply-a-callback-to-an-array
@@ -0,0 +1 @@
+../../Task/Apply-a-callback-to-an-array/Elena
\ No newline at end of file
diff --git a/Lang/Elena/Arithmetic-Integer b/Lang/Elena/Arithmetic-Integer
new file mode 120000
index 0000000000..0f6ca4dda7
--- /dev/null
+++ b/Lang/Elena/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/Elena
\ No newline at end of file
diff --git a/Lang/Elena/Arithmetic-evaluation b/Lang/Elena/Arithmetic-evaluation
new file mode 120000
index 0000000000..5fc1665860
--- /dev/null
+++ b/Lang/Elena/Arithmetic-evaluation
@@ -0,0 +1 @@
+../../Task/Arithmetic-evaluation/Elena
\ No newline at end of file
diff --git a/Lang/Elena/Array-concatenation b/Lang/Elena/Array-concatenation
new file mode 120000
index 0000000000..d9b5e1081f
--- /dev/null
+++ b/Lang/Elena/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/Elena
\ No newline at end of file
diff --git a/Lang/Elena/Arrays b/Lang/Elena/Arrays
new file mode 120000
index 0000000000..faff73be07
--- /dev/null
+++ b/Lang/Elena/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/Elena
\ No newline at end of file
diff --git a/Lang/Elena/Associative-array-Creation b/Lang/Elena/Associative-array-Creation
new file mode 120000
index 0000000000..15c0e0ef85
--- /dev/null
+++ b/Lang/Elena/Associative-array-Creation
@@ -0,0 +1 @@
+../../Task/Associative-array-Creation/Elena
\ No newline at end of file
diff --git a/Lang/Elena/Associative-array-Iteration b/Lang/Elena/Associative-array-Iteration
new file mode 120000
index 0000000000..bd2b42001c
--- /dev/null
+++ b/Lang/Elena/Associative-array-Iteration
@@ -0,0 +1 @@
+../../Task/Associative-array-Iteration/Elena
\ No newline at end of file
diff --git a/Lang/Elena/Averages-Arithmetic-mean b/Lang/Elena/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..1efa9b7e56
--- /dev/null
+++ b/Lang/Elena/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/Elena
\ No newline at end of file
diff --git a/Lang/Elena/Averages-Median b/Lang/Elena/Averages-Median
new file mode 120000
index 0000000000..41268da2d3
--- /dev/null
+++ b/Lang/Elena/Averages-Median
@@ -0,0 +1 @@
+../../Task/Averages-Median/Elena
\ No newline at end of file
diff --git a/Lang/Elena/Averages-Mode b/Lang/Elena/Averages-Mode
new file mode 120000
index 0000000000..df6d683b5b
--- /dev/null
+++ b/Lang/Elena/Averages-Mode
@@ -0,0 +1 @@
+../../Task/Averages-Mode/Elena
\ No newline at end of file
diff --git a/Lang/Elena/Averages-Simple-moving-average b/Lang/Elena/Averages-Simple-moving-average
new file mode 120000
index 0000000000..283f696c6f
--- /dev/null
+++ b/Lang/Elena/Averages-Simple-moving-average
@@ -0,0 +1 @@
+../../Task/Averages-Simple-moving-average/Elena
\ No newline at end of file
diff --git a/Lang/Elena/Balanced-brackets b/Lang/Elena/Balanced-brackets
new file mode 120000
index 0000000000..f6e8feaf43
--- /dev/null
+++ b/Lang/Elena/Balanced-brackets
@@ -0,0 +1 @@
+../../Task/Balanced-brackets/Elena
\ No newline at end of file
diff --git a/Lang/Elena/Bitwise-operations b/Lang/Elena/Bitwise-operations
new file mode 120000
index 0000000000..b8c6128683
--- /dev/null
+++ b/Lang/Elena/Bitwise-operations
@@ -0,0 +1 @@
+../../Task/Bitwise-operations/Elena
\ No newline at end of file
diff --git a/Lang/Elena/Bulls-and-cows b/Lang/Elena/Bulls-and-cows
new file mode 120000
index 0000000000..b728bf9120
--- /dev/null
+++ b/Lang/Elena/Bulls-and-cows
@@ -0,0 +1 @@
+../../Task/Bulls-and-cows/Elena
\ No newline at end of file
diff --git a/Lang/Elena/Caesar-cipher b/Lang/Elena/Caesar-cipher
new file mode 120000
index 0000000000..f22d9e6ba6
--- /dev/null
+++ b/Lang/Elena/Caesar-cipher
@@ -0,0 +1 @@
+../../Task/Caesar-cipher/Elena
\ No newline at end of file
diff --git a/Lang/Elena/Character-codes b/Lang/Elena/Character-codes
new file mode 120000
index 0000000000..3a007f7350
--- /dev/null
+++ b/Lang/Elena/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Elena
\ No newline at end of file
diff --git a/Lang/Elena/Character-matching b/Lang/Elena/Character-matching
new file mode 120000
index 0000000000..842017d3ac
--- /dev/null
+++ b/Lang/Elena/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/Elena
\ No newline at end of file
diff --git a/Lang/Elisa/0DESCRIPTION b/Lang/Elisa/0DESCRIPTION
new file mode 100644
index 0000000000..9879fb2930
--- /dev/null
+++ b/Lang/Elisa/0DESCRIPTION
@@ -0,0 +1,6 @@
+{{language
+|site=http://www.xs4all.nl/~jklunder/}}
+{{language programming paradigm|procedural}}{{language programming paradigm|functional}}{{language programming paradigm|object-oriented}}
+Elisa is a multiparadigm programming language. It combines the best features of procedural programming, functional programming, object-oriented programming and logic programming into one coherent framework.
+
+The language is described in [http://www.xs4all.nl/~jklunder/ Elisa]
\ No newline at end of file
diff --git a/Lang/Elisa/Arithmetic-Rational b/Lang/Elisa/Arithmetic-Rational
new file mode 120000
index 0000000000..cdcf1dd540
--- /dev/null
+++ b/Lang/Elisa/Arithmetic-Rational
@@ -0,0 +1 @@
+../../Task/Arithmetic-Rational/Elisa
\ No newline at end of file
diff --git a/Lang/Elixir/0DESCRIPTION b/Lang/Elixir/0DESCRIPTION
new file mode 100644
index 0000000000..4d3d27c049
--- /dev/null
+++ b/Lang/Elixir/0DESCRIPTION
@@ -0,0 +1 @@
+{{stub}}{{language}}
\ No newline at end of file
diff --git a/Lang/Elixir/FizzBuzz b/Lang/Elixir/FizzBuzz
new file mode 120000
index 0000000000..7470c48fb3
--- /dev/null
+++ b/Lang/Elixir/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Elixir
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/0DESCRIPTION b/Lang/Emacs-Lisp/0DESCRIPTION
new file mode 100644
index 0000000000..a669984935
--- /dev/null
+++ b/Lang/Emacs-Lisp/0DESCRIPTION
@@ -0,0 +1,10 @@
+{{language
+|exec=bytecode
+}}{{implementation|Lisp}}{{provides|Windowing UI}}{{provides|First class functions}}{{provides|File access}}{{provides|File system access}}{{provides|Database access}}
+Emacs Lisp (often abbreviated to elisp) is the [[Lisp]] implementation used by the [[Emacs]] text editor. It doesn't provide all features of [[Common Lisp]] (e.g. its optional arguments always default to nil), but it contains special types which are specific for the use in the editor, like buffers (which is where you actually edit the text), windows, events etc.
+
+[[Lisp]] expressions can be executed directly from within Emacs editor buffers, or loaded from files which optionally can be compiled into bytecode.
+
+Emacs configuration files actually are Emacs Lisp source files.
+
+Emacs Lisp can be used as a general programming language with the emacs "-batch" or "--script" command line arguments. [http://www.emacswiki.org/emacs/BatchMode]
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/100-doors b/Lang/Emacs-Lisp/100-doors
new file mode 120000
index 0000000000..05c85edc90
--- /dev/null
+++ b/Lang/Emacs-Lisp/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Arbitrary-precision-integers-(included) b/Lang/Emacs-Lisp/Arbitrary-precision-integers-(included)
new file mode 120000
index 0000000000..a225b1170d
--- /dev/null
+++ b/Lang/Emacs-Lisp/Arbitrary-precision-integers-(included)
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers-(included)/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Assertions b/Lang/Emacs-Lisp/Assertions
new file mode 120000
index 0000000000..c4de44c264
--- /dev/null
+++ b/Lang/Emacs-Lisp/Assertions
@@ -0,0 +1 @@
+../../Task/Assertions/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Averages-Arithmetic-mean b/Lang/Emacs-Lisp/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..f3f811f07e
--- /dev/null
+++ b/Lang/Emacs-Lisp/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Command-line-arguments b/Lang/Emacs-Lisp/Command-line-arguments
new file mode 120000
index 0000000000..9558d430f8
--- /dev/null
+++ b/Lang/Emacs-Lisp/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Comments b/Lang/Emacs-Lisp/Comments
new file mode 120000
index 0000000000..72e291718d
--- /dev/null
+++ b/Lang/Emacs-Lisp/Comments
@@ -0,0 +1 @@
+../../Task/Comments/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Count-in-octal b/Lang/Emacs-Lisp/Count-in-octal
new file mode 120000
index 0000000000..47a8eafa7b
--- /dev/null
+++ b/Lang/Emacs-Lisp/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Epigram/0DESCRIPTION b/Lang/Epigram/0DESCRIPTION
new file mode 100644
index 0000000000..eb6dcdcef9
--- /dev/null
+++ b/Lang/Epigram/0DESCRIPTION
@@ -0,0 +1,3 @@
+{{stub}}{{language|Epigram
+|site=http://www.e-pig.org/darcs/Pig09/web/}}
+Epigram 2 is an experimental dependently typed functional programming language.
\ No newline at end of file
diff --git a/Lang/Erlang/CRC-32 b/Lang/Erlang/CRC-32
new file mode 120000
index 0000000000..2046db1de7
--- /dev/null
+++ b/Lang/Erlang/CRC-32
@@ -0,0 +1 @@
+../../Task/CRC-32/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Character-codes b/Lang/Erlang/Character-codes
new file mode 120000
index 0000000000..6dd2ed4a22
--- /dev/null
+++ b/Lang/Erlang/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Character-matching b/Lang/Erlang/Character-matching
new file mode 120000
index 0000000000..bccd441830
--- /dev/null
+++ b/Lang/Erlang/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Chat-server b/Lang/Erlang/Chat-server
new file mode 120000
index 0000000000..95f608fb4c
--- /dev/null
+++ b/Lang/Erlang/Chat-server
@@ -0,0 +1 @@
+../../Task/Chat-server/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Combinations b/Lang/Erlang/Combinations
new file mode 120000
index 0000000000..035b0cddb0
--- /dev/null
+++ b/Lang/Erlang/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Combinations-with-repetitions b/Lang/Erlang/Combinations-with-repetitions
new file mode 120000
index 0000000000..b047dc96e0
--- /dev/null
+++ b/Lang/Erlang/Combinations-with-repetitions
@@ -0,0 +1 @@
+../../Task/Combinations-with-repetitions/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Command-line-arguments b/Lang/Erlang/Command-line-arguments
new file mode 120000
index 0000000000..925cdf70f0
--- /dev/null
+++ b/Lang/Erlang/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Compound-data-type b/Lang/Erlang/Compound-data-type
new file mode 120000
index 0000000000..9fe16eb920
--- /dev/null
+++ b/Lang/Erlang/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Concurrent-computing b/Lang/Erlang/Concurrent-computing
new file mode 120000
index 0000000000..944b4cbf45
--- /dev/null
+++ b/Lang/Erlang/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Conditional-structures b/Lang/Erlang/Conditional-structures
new file mode 120000
index 0000000000..6a4c7137fb
--- /dev/null
+++ b/Lang/Erlang/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Conways-Game-of-Life b/Lang/Erlang/Conways-Game-of-Life
new file mode 120000
index 0000000000..8ed29e37b7
--- /dev/null
+++ b/Lang/Erlang/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Count-occurrences-of-a-substring b/Lang/Erlang/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..5d4477610c
--- /dev/null
+++ b/Lang/Erlang/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Count-the-coins b/Lang/Erlang/Count-the-coins
new file mode 120000
index 0000000000..7937a3c1fe
--- /dev/null
+++ b/Lang/Erlang/Count-the-coins
@@ -0,0 +1 @@
+../../Task/Count-the-coins/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Date-format b/Lang/Erlang/Date-format
new file mode 120000
index 0000000000..e774383a71
--- /dev/null
+++ b/Lang/Erlang/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Dining-philosophers b/Lang/Erlang/Dining-philosophers
new file mode 120000
index 0000000000..67c8c96e49
--- /dev/null
+++ b/Lang/Erlang/Dining-philosophers
@@ -0,0 +1 @@
+../../Task/Dining-philosophers/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Distributed-programming b/Lang/Erlang/Distributed-programming
new file mode 120000
index 0000000000..ec8543d54f
--- /dev/null
+++ b/Lang/Erlang/Distributed-programming
@@ -0,0 +1 @@
+../../Task/Distributed-programming/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Dot-product b/Lang/Erlang/Dot-product
new file mode 120000
index 0000000000..29c90a42cc
--- /dev/null
+++ b/Lang/Erlang/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Dutch-national-flag-problem b/Lang/Erlang/Dutch-national-flag-problem
new file mode 120000
index 0000000000..ee72f2483c
--- /dev/null
+++ b/Lang/Erlang/Dutch-national-flag-problem
@@ -0,0 +1 @@
+../../Task/Dutch-national-flag-problem/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Echo-server b/Lang/Erlang/Echo-server
new file mode 120000
index 0000000000..1ce59d5093
--- /dev/null
+++ b/Lang/Erlang/Echo-server
@@ -0,0 +1 @@
+../../Task/Echo-server/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Empty-program b/Lang/Erlang/Empty-program
new file mode 120000
index 0000000000..4ec8753db9
--- /dev/null
+++ b/Lang/Erlang/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Empty-string b/Lang/Erlang/Empty-string
new file mode 120000
index 0000000000..64df8d8686
--- /dev/null
+++ b/Lang/Erlang/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Enforced-immutability b/Lang/Erlang/Enforced-immutability
new file mode 120000
index 0000000000..7eef766baa
--- /dev/null
+++ b/Lang/Erlang/Enforced-immutability
@@ -0,0 +1 @@
+../../Task/Enforced-immutability/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Ethiopian-multiplication b/Lang/Erlang/Ethiopian-multiplication
new file mode 120000
index 0000000000..de4043fa33
--- /dev/null
+++ b/Lang/Erlang/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Evaluate-binomial-coefficients b/Lang/Erlang/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..3af6e24993
--- /dev/null
+++ b/Lang/Erlang/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Events b/Lang/Erlang/Events
new file mode 120000
index 0000000000..638555b1fa
--- /dev/null
+++ b/Lang/Erlang/Events
@@ -0,0 +1 @@
+../../Task/Events/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Evolutionary-algorithm b/Lang/Erlang/Evolutionary-algorithm
new file mode 120000
index 0000000000..9edbe67b49
--- /dev/null
+++ b/Lang/Erlang/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Execute-HQ9+ b/Lang/Erlang/Execute-HQ9+
new file mode 120000
index 0000000000..6202c9ea9e
--- /dev/null
+++ b/Lang/Erlang/Execute-HQ9+
@@ -0,0 +1 @@
+../../Task/Execute-HQ9+/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Execute-a-system-command b/Lang/Erlang/Execute-a-system-command
new file mode 120000
index 0000000000..9a425b418d
--- /dev/null
+++ b/Lang/Erlang/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Exponentiation-operator b/Lang/Erlang/Exponentiation-operator
new file mode 120000
index 0000000000..eb9df5db19
--- /dev/null
+++ b/Lang/Erlang/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/Erlang
\ No newline at end of file
diff --git a/Lang/Es/0DESCRIPTION b/Lang/Es/0DESCRIPTION
new file mode 100644
index 0000000000..36a73932ff
--- /dev/null
+++ b/Lang/Es/0DESCRIPTION
@@ -0,0 +1,10 @@
+{{stub}}
+{{language
+|hopl id=1729
+}}
+{{implementation|UNIX Shell}}
+es - extensible shell by Paul Haahr and Byron Rakitzis
+
+== Links ==
+* [http://192.220.96.201/es/es-usenix-winter93.html Es: A shell with higher-order functions] (Usenix paper with errata)
+* [ftp://ftp.sys.utoronto.ca/pub/es/ FTP site]
\ No newline at end of file
diff --git a/Lang/Euler-Math-Toolbox/0DESCRIPTION b/Lang/Euler-Math-Toolbox/0DESCRIPTION
new file mode 100644
index 0000000000..114c13967e
--- /dev/null
+++ b/Lang/Euler-Math-Toolbox/0DESCRIPTION
@@ -0,0 +1,6 @@
+{{language
+|site=http://www.euler-math-toolbox.de/
+}}
+The Euler Mathematical Toolbox is a powerful, versatile, mature software for numerical and symbolic computations written and maintained by R. Grothmann, associate professor of mathmetics at the University of Eichstätt. Euler is similar to [[MATLAB]], but has an own style, and a slightly different syntax. Symbolic mathematics is supported in Euler using the open algebra system [[Maxima]]. It contains a matrix language, a graphical notebook style interface, a plot window and can handle real, complex and interval numbers, vectors and matrices, it can produce 2D/3D plots
+
+[[Category:Mathematical programming languages]]
\ No newline at end of file
diff --git a/Lang/Euler-Math-Toolbox/100-doors b/Lang/Euler-Math-Toolbox/100-doors
new file mode 120000
index 0000000000..967e47b372
--- /dev/null
+++ b/Lang/Euler-Math-Toolbox/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/Euler-Math-Toolbox
\ No newline at end of file
diff --git a/Lang/Euler-Math-Toolbox/A+B b/Lang/Euler-Math-Toolbox/A+B
new file mode 120000
index 0000000000..74fb7db6d0
--- /dev/null
+++ b/Lang/Euler-Math-Toolbox/A+B
@@ -0,0 +1 @@
+../../Task/A+B/Euler-Math-Toolbox
\ No newline at end of file
diff --git a/Lang/Euler-Math-Toolbox/Ackermann-function b/Lang/Euler-Math-Toolbox/Ackermann-function
new file mode 120000
index 0000000000..d7923b6978
--- /dev/null
+++ b/Lang/Euler-Math-Toolbox/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/Euler-Math-Toolbox
\ No newline at end of file
diff --git a/Lang/Euler-Math-Toolbox/Arithmetic-Complex b/Lang/Euler-Math-Toolbox/Arithmetic-Complex
new file mode 120000
index 0000000000..bb88673bc9
--- /dev/null
+++ b/Lang/Euler-Math-Toolbox/Arithmetic-Complex
@@ -0,0 +1 @@
+../../Task/Arithmetic-Complex/Euler-Math-Toolbox
\ No newline at end of file
diff --git a/Lang/Euler-Math-Toolbox/Averages-Mean-angle b/Lang/Euler-Math-Toolbox/Averages-Mean-angle
new file mode 120000
index 0000000000..a886552325
--- /dev/null
+++ b/Lang/Euler-Math-Toolbox/Averages-Mean-angle
@@ -0,0 +1 @@
+../../Task/Averages-Mean-angle/Euler-Math-Toolbox
\ No newline at end of file
diff --git a/Lang/Euler-Math-Toolbox/Averages-Median b/Lang/Euler-Math-Toolbox/Averages-Median
new file mode 120000
index 0000000000..f5ec858bf0
--- /dev/null
+++ b/Lang/Euler-Math-Toolbox/Averages-Median
@@ -0,0 +1 @@
+../../Task/Averages-Median/Euler-Math-Toolbox
\ No newline at end of file
diff --git a/Lang/Euler-Math-Toolbox/Averages-Pythagorean-means b/Lang/Euler-Math-Toolbox/Averages-Pythagorean-means
new file mode 120000
index 0000000000..19f6a55274
--- /dev/null
+++ b/Lang/Euler-Math-Toolbox/Averages-Pythagorean-means
@@ -0,0 +1 @@
+../../Task/Averages-Pythagorean-means/Euler-Math-Toolbox
\ No newline at end of file
diff --git a/Lang/Euler-Math-Toolbox/Averages-Simple-moving-average b/Lang/Euler-Math-Toolbox/Averages-Simple-moving-average
new file mode 120000
index 0000000000..c357585309
--- /dev/null
+++ b/Lang/Euler-Math-Toolbox/Averages-Simple-moving-average
@@ -0,0 +1 @@
+../../Task/Averages-Simple-moving-average/Euler-Math-Toolbox
\ No newline at end of file
diff --git a/Lang/Euler-Math-Toolbox/Entropy b/Lang/Euler-Math-Toolbox/Entropy
new file mode 120000
index 0000000000..9871187a7a
--- /dev/null
+++ b/Lang/Euler-Math-Toolbox/Entropy
@@ -0,0 +1 @@
+../../Task/Entropy/Euler-Math-Toolbox
\ No newline at end of file
diff --git a/Lang/Euler-Math-Toolbox/Euler-method b/Lang/Euler-Math-Toolbox/Euler-method
new file mode 120000
index 0000000000..0a27140c2f
--- /dev/null
+++ b/Lang/Euler-Math-Toolbox/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/Euler-Math-Toolbox
\ No newline at end of file
diff --git a/Lang/Euler/0DESCRIPTION b/Lang/Euler/0DESCRIPTION
new file mode 100644
index 0000000000..cd97574392
--- /dev/null
+++ b/Lang/Euler/0DESCRIPTION
@@ -0,0 +1,4 @@
+{{stub}}
+{{language}}
+
+Euler is a dynamically typed programming language created by Niklaus Wirth (the creator of [[Pascal]], ALGOL W, Modula, [[Modula-2]], Oberon & [[Oberon-2]]) and Helmut Weber, conceived as an extension and generalization of [[ALGOL 60]].
\ No newline at end of file
diff --git a/Lang/Euphoria/0DESCRIPTION b/Lang/Euphoria/0DESCRIPTION
new file mode 100644
index 0000000000..bcb9823ab8
--- /dev/null
+++ b/Lang/Euphoria/0DESCRIPTION
@@ -0,0 +1,22 @@
+{{Stub}}
+{{language
+|exec=interpreted
+|site=http://www.openeuphoria.org/
+|gc=yes
+|parampass=copy-on-write
+|safety=safe
+|strength=weak
+|express=explicit
+|checking=both
+|tags=euphoria, Euphoria
+|altsite=http://www.rapideuphoria.com/
+|altexec=translated
+|alt2exec=bound
+|bnf=http://openeuphoria.org/docs/syntax.html
+}}
+Euphoria is a powerful yet simple programming language, developed by Robert Craig at Rapid Deployment Software in 1993. It is very easy to use, and it has good support, which makes it an excellent language for novice programmers. Euphoria is an interpreted language, just like AWK or QBasic. Although Euphoria does not claim to be object-oriented, some disagree by stating that its scope rules and flexible data structures allow you to simulate any method of programming, including object-oriented. 'Euphoria is a small, fast, cheap programming language and a true gift to young programmers.', states Paul Smith in a August 1997 article in the Monitor.
+
+==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
diff --git a/Lang/Euphoria/100-doors b/Lang/Euphoria/100-doors
new file mode 120000
index 0000000000..23be3e29b9
--- /dev/null
+++ b/Lang/Euphoria/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/99-Bottles-of-Beer b/Lang/Euphoria/99-Bottles-of-Beer
new file mode 120000
index 0000000000..25d9613c86
--- /dev/null
+++ b/Lang/Euphoria/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/A+B b/Lang/Euphoria/A+B
new file mode 120000
index 0000000000..9f49e4a496
--- /dev/null
+++ b/Lang/Euphoria/A+B
@@ -0,0 +1 @@
+../../Task/A+B/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Ackermann-function b/Lang/Euphoria/Ackermann-function
new file mode 120000
index 0000000000..6e2f768ff7
--- /dev/null
+++ b/Lang/Euphoria/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Align-columns b/Lang/Euphoria/Align-columns
new file mode 120000
index 0000000000..4e38eb0565
--- /dev/null
+++ b/Lang/Euphoria/Align-columns
@@ -0,0 +1 @@
+../../Task/Align-columns/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Anagrams b/Lang/Euphoria/Anagrams
new file mode 120000
index 0000000000..5ee94938e6
--- /dev/null
+++ b/Lang/Euphoria/Anagrams
@@ -0,0 +1 @@
+../../Task/Anagrams/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Animate-a-pendulum b/Lang/Euphoria/Animate-a-pendulum
new file mode 120000
index 0000000000..b5abf1c836
--- /dev/null
+++ b/Lang/Euphoria/Animate-a-pendulum
@@ -0,0 +1 @@
+../../Task/Animate-a-pendulum/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Apply-a-callback-to-an-array b/Lang/Euphoria/Apply-a-callback-to-an-array
new file mode 120000
index 0000000000..a6e02372c2
--- /dev/null
+++ b/Lang/Euphoria/Apply-a-callback-to-an-array
@@ -0,0 +1 @@
+../../Task/Apply-a-callback-to-an-array/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Arithmetic-Complex b/Lang/Euphoria/Arithmetic-Complex
new file mode 120000
index 0000000000..177c5f6177
--- /dev/null
+++ b/Lang/Euphoria/Arithmetic-Complex
@@ -0,0 +1 @@
+../../Task/Arithmetic-Complex/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Arithmetic-Integer b/Lang/Euphoria/Arithmetic-Integer
new file mode 120000
index 0000000000..9be89eb6d0
--- /dev/null
+++ b/Lang/Euphoria/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Array-concatenation b/Lang/Euphoria/Array-concatenation
new file mode 120000
index 0000000000..73f7560b3a
--- /dev/null
+++ b/Lang/Euphoria/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Arrays b/Lang/Euphoria/Arrays
new file mode 120000
index 0000000000..3237d59125
--- /dev/null
+++ b/Lang/Euphoria/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Assertions b/Lang/Euphoria/Assertions
new file mode 120000
index 0000000000..9eb343a11c
--- /dev/null
+++ b/Lang/Euphoria/Assertions
@@ -0,0 +1 @@
+../../Task/Assertions/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Atomic-updates b/Lang/Euphoria/Atomic-updates
new file mode 120000
index 0000000000..890def532e
--- /dev/null
+++ b/Lang/Euphoria/Atomic-updates
@@ -0,0 +1 @@
+../../Task/Atomic-updates/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Averages-Arithmetic-mean b/Lang/Euphoria/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..969de9818f
--- /dev/null
+++ b/Lang/Euphoria/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Averages-Median b/Lang/Euphoria/Averages-Median
new file mode 120000
index 0000000000..7bdd7c5394
--- /dev/null
+++ b/Lang/Euphoria/Averages-Median
@@ -0,0 +1 @@
+../../Task/Averages-Median/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Averages-Mode b/Lang/Euphoria/Averages-Mode
new file mode 120000
index 0000000000..9fdfd0c5dc
--- /dev/null
+++ b/Lang/Euphoria/Averages-Mode
@@ -0,0 +1 @@
+../../Task/Averages-Mode/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Averages-Pythagorean-means b/Lang/Euphoria/Averages-Pythagorean-means
new file mode 120000
index 0000000000..0abf7e56c7
--- /dev/null
+++ b/Lang/Euphoria/Averages-Pythagorean-means
@@ -0,0 +1 @@
+../../Task/Averages-Pythagorean-means/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Averages-Root-mean-square b/Lang/Euphoria/Averages-Root-mean-square
new file mode 120000
index 0000000000..a6e3656fe7
--- /dev/null
+++ b/Lang/Euphoria/Averages-Root-mean-square
@@ -0,0 +1 @@
+../../Task/Averages-Root-mean-square/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Balanced-brackets b/Lang/Euphoria/Balanced-brackets
new file mode 120000
index 0000000000..4551e2c660
--- /dev/null
+++ b/Lang/Euphoria/Balanced-brackets
@@ -0,0 +1 @@
+../../Task/Balanced-brackets/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Binary-search b/Lang/Euphoria/Binary-search
new file mode 120000
index 0000000000..c0538a9ac0
--- /dev/null
+++ b/Lang/Euphoria/Binary-search
@@ -0,0 +1 @@
+../../Task/Binary-search/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Bitmap b/Lang/Euphoria/Bitmap
new file mode 120000
index 0000000000..b9d093c484
--- /dev/null
+++ b/Lang/Euphoria/Bitmap
@@ -0,0 +1 @@
+../../Task/Bitmap/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Bitmap-Bresenhams-line-algorithm b/Lang/Euphoria/Bitmap-Bresenhams-line-algorithm
new file mode 120000
index 0000000000..5d64d806ba
--- /dev/null
+++ b/Lang/Euphoria/Bitmap-Bresenhams-line-algorithm
@@ -0,0 +1 @@
+../../Task/Bitmap-Bresenhams-line-algorithm/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Bitmap-Read-a-PPM-file b/Lang/Euphoria/Bitmap-Read-a-PPM-file
new file mode 120000
index 0000000000..1eaf1c0652
--- /dev/null
+++ b/Lang/Euphoria/Bitmap-Read-a-PPM-file
@@ -0,0 +1 @@
+../../Task/Bitmap-Read-a-PPM-file/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Bitmap-Write-a-PPM-file b/Lang/Euphoria/Bitmap-Write-a-PPM-file
new file mode 120000
index 0000000000..1751918b1d
--- /dev/null
+++ b/Lang/Euphoria/Bitmap-Write-a-PPM-file
@@ -0,0 +1 @@
+../../Task/Bitmap-Write-a-PPM-file/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Box-the-compass b/Lang/Euphoria/Box-the-compass
new file mode 120000
index 0000000000..05c20e5f57
--- /dev/null
+++ b/Lang/Euphoria/Box-the-compass
@@ -0,0 +1 @@
+../../Task/Box-the-compass/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Bulls-and-cows b/Lang/Euphoria/Bulls-and-cows
new file mode 120000
index 0000000000..efd62f9807
--- /dev/null
+++ b/Lang/Euphoria/Bulls-and-cows
@@ -0,0 +1 @@
+../../Task/Bulls-and-cows/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Bulls-and-cows-Player b/Lang/Euphoria/Bulls-and-cows-Player
new file mode 120000
index 0000000000..75b7682bf1
--- /dev/null
+++ b/Lang/Euphoria/Bulls-and-cows-Player
@@ -0,0 +1 @@
+../../Task/Bulls-and-cows-Player/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/CSV-to-HTML-translation b/Lang/Euphoria/CSV-to-HTML-translation
new file mode 120000
index 0000000000..baa072187c
--- /dev/null
+++ b/Lang/Euphoria/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Caesar-cipher b/Lang/Euphoria/Caesar-cipher
new file mode 120000
index 0000000000..1cf56b5850
--- /dev/null
+++ b/Lang/Euphoria/Caesar-cipher
@@ -0,0 +1 @@
+../../Task/Caesar-cipher/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Case-sensitivity-of-identifiers b/Lang/Euphoria/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..1e11599c23
--- /dev/null
+++ b/Lang/Euphoria/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Character-codes b/Lang/Euphoria/Character-codes
new file mode 120000
index 0000000000..b10055a7ef
--- /dev/null
+++ b/Lang/Euphoria/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Character-matching b/Lang/Euphoria/Character-matching
new file mode 120000
index 0000000000..14fdab0dd4
--- /dev/null
+++ b/Lang/Euphoria/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Check-that-file-exists b/Lang/Euphoria/Check-that-file-exists
new file mode 120000
index 0000000000..9847edf351
--- /dev/null
+++ b/Lang/Euphoria/Check-that-file-exists
@@ -0,0 +1 @@
+../../Task/Check-that-file-exists/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Command-line-arguments b/Lang/Euphoria/Command-line-arguments
new file mode 120000
index 0000000000..6603e2a305
--- /dev/null
+++ b/Lang/Euphoria/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Comments b/Lang/Euphoria/Comments
new file mode 120000
index 0000000000..2006325e46
--- /dev/null
+++ b/Lang/Euphoria/Comments
@@ -0,0 +1 @@
+../../Task/Comments/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Concurrent-computing b/Lang/Euphoria/Concurrent-computing
new file mode 120000
index 0000000000..0971318e13
--- /dev/null
+++ b/Lang/Euphoria/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Constrained-random-points-on-a-circle b/Lang/Euphoria/Constrained-random-points-on-a-circle
new file mode 120000
index 0000000000..c686cd70f2
--- /dev/null
+++ b/Lang/Euphoria/Constrained-random-points-on-a-circle
@@ -0,0 +1 @@
+../../Task/Constrained-random-points-on-a-circle/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Count-in-factors b/Lang/Euphoria/Count-in-factors
new file mode 120000
index 0000000000..27763d56e4
--- /dev/null
+++ b/Lang/Euphoria/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Count-in-octal b/Lang/Euphoria/Count-in-octal
new file mode 120000
index 0000000000..c09f3cf981
--- /dev/null
+++ b/Lang/Euphoria/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Count-occurrences-of-a-substring b/Lang/Euphoria/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..7f2a8951ed
--- /dev/null
+++ b/Lang/Euphoria/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Create-a-file b/Lang/Euphoria/Create-a-file
new file mode 120000
index 0000000000..ed10aa2595
--- /dev/null
+++ b/Lang/Euphoria/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Create-a-two-dimensional-array-at-runtime b/Lang/Euphoria/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..a2b5fadef9
--- /dev/null
+++ b/Lang/Euphoria/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Create-an-HTML-table b/Lang/Euphoria/Create-an-HTML-table
new file mode 120000
index 0000000000..deb80ae82a
--- /dev/null
+++ b/Lang/Euphoria/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Date-format b/Lang/Euphoria/Date-format
new file mode 120000
index 0000000000..f27762115d
--- /dev/null
+++ b/Lang/Euphoria/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Date-manipulation b/Lang/Euphoria/Date-manipulation
new file mode 120000
index 0000000000..5f5d1e7c96
--- /dev/null
+++ b/Lang/Euphoria/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Day-of-the-week b/Lang/Euphoria/Day-of-the-week
new file mode 120000
index 0000000000..3fe9125cba
--- /dev/null
+++ b/Lang/Euphoria/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Define-a-primitive-data-type b/Lang/Euphoria/Define-a-primitive-data-type
new file mode 120000
index 0000000000..94bef14404
--- /dev/null
+++ b/Lang/Euphoria/Define-a-primitive-data-type
@@ -0,0 +1 @@
+../../Task/Define-a-primitive-data-type/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Determine-if-a-string-is-numeric b/Lang/Euphoria/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..102f1a5763
--- /dev/null
+++ b/Lang/Euphoria/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Dining-philosophers b/Lang/Euphoria/Dining-philosophers
new file mode 120000
index 0000000000..bd22012649
--- /dev/null
+++ b/Lang/Euphoria/Dining-philosophers
@@ -0,0 +1 @@
+../../Task/Dining-philosophers/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Discordian-date b/Lang/Euphoria/Discordian-date
new file mode 120000
index 0000000000..54fb6edb54
--- /dev/null
+++ b/Lang/Euphoria/Discordian-date
@@ -0,0 +1 @@
+../../Task/Discordian-date/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Dot-product b/Lang/Euphoria/Dot-product
new file mode 120000
index 0000000000..427ed93bf7
--- /dev/null
+++ b/Lang/Euphoria/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Empty-program b/Lang/Euphoria/Empty-program
new file mode 120000
index 0000000000..241cd5711b
--- /dev/null
+++ b/Lang/Euphoria/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Empty-string b/Lang/Euphoria/Empty-string
new file mode 120000
index 0000000000..cf9b7c1847
--- /dev/null
+++ b/Lang/Euphoria/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Enforced-immutability b/Lang/Euphoria/Enforced-immutability
new file mode 120000
index 0000000000..6d8348253d
--- /dev/null
+++ b/Lang/Euphoria/Enforced-immutability
@@ -0,0 +1 @@
+../../Task/Enforced-immutability/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Equilibrium-index b/Lang/Euphoria/Equilibrium-index
new file mode 120000
index 0000000000..012c291c98
--- /dev/null
+++ b/Lang/Euphoria/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Ethiopian-multiplication b/Lang/Euphoria/Ethiopian-multiplication
new file mode 120000
index 0000000000..662f6d8b1e
--- /dev/null
+++ b/Lang/Euphoria/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Even-or-odd b/Lang/Euphoria/Even-or-odd
new file mode 120000
index 0000000000..d30a6d6f70
--- /dev/null
+++ b/Lang/Euphoria/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Evolutionary-algorithm b/Lang/Euphoria/Evolutionary-algorithm
new file mode 120000
index 0000000000..908e698352
--- /dev/null
+++ b/Lang/Euphoria/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Extreme-floating-point-values b/Lang/Euphoria/Extreme-floating-point-values
new file mode 120000
index 0000000000..057b09da7a
--- /dev/null
+++ b/Lang/Euphoria/Extreme-floating-point-values
@@ -0,0 +1 @@
+../../Task/Extreme-floating-point-values/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/FizzBuzz b/Lang/Euphoria/FizzBuzz
new file mode 120000
index 0000000000..95f595d020
--- /dev/null
+++ b/Lang/Euphoria/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Infinity b/Lang/Euphoria/Infinity
new file mode 120000
index 0000000000..07c52eab23
--- /dev/null
+++ b/Lang/Euphoria/Infinity
@@ -0,0 +1 @@
+../../Task/Infinity/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Knuth-shuffle b/Lang/Euphoria/Knuth-shuffle
new file mode 120000
index 0000000000..a8a415341a
--- /dev/null
+++ b/Lang/Euphoria/Knuth-shuffle
@@ -0,0 +1 @@
+../../Task/Knuth-shuffle/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Ordered-words b/Lang/Euphoria/Ordered-words
new file mode 120000
index 0000000000..a824cd87d2
--- /dev/null
+++ b/Lang/Euphoria/Ordered-words
@@ -0,0 +1 @@
+../../Task/Ordered-words/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Quine b/Lang/Euphoria/Quine
new file mode 120000
index 0000000000..2c95ebcf43
--- /dev/null
+++ b/Lang/Euphoria/Quine
@@ -0,0 +1 @@
+../../Task/Quine/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Search-a-list b/Lang/Euphoria/Search-a-list
new file mode 120000
index 0000000000..8f851166a7
--- /dev/null
+++ b/Lang/Euphoria/Search-a-list
@@ -0,0 +1 @@
+../../Task/Search-a-list/Euphoria
\ No newline at end of file
diff --git a/Lang/Excel/0DESCRIPTION b/Lang/Excel/0DESCRIPTION
new file mode 100644
index 0000000000..60e1826780
--- /dev/null
+++ b/Lang/Excel/0DESCRIPTION
@@ -0,0 +1,2 @@
+{{stub}}{{language}}
+'''Excel''' isn't actual language, but certain problems can be solved using it.
\ No newline at end of file
diff --git a/Lang/Forth/Call-a-foreign-language-function b/Lang/Forth/Call-a-foreign-language-function
new file mode 120000
index 0000000000..8ad4c29318
--- /dev/null
+++ b/Lang/Forth/Call-a-foreign-language-function
@@ -0,0 +1 @@
+../../Task/Call-a-foreign-language-function/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Call-an-object-method b/Lang/Forth/Call-an-object-method
new file mode 120000
index 0000000000..cfb2e97898
--- /dev/null
+++ b/Lang/Forth/Call-an-object-method
@@ -0,0 +1 @@
+../../Task/Call-an-object-method/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Character-codes b/Lang/Forth/Character-codes
new file mode 120000
index 0000000000..50bfe4057f
--- /dev/null
+++ b/Lang/Forth/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Character-matching b/Lang/Forth/Character-matching
new file mode 120000
index 0000000000..67aa24411a
--- /dev/null
+++ b/Lang/Forth/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Command-line-arguments b/Lang/Forth/Command-line-arguments
new file mode 120000
index 0000000000..f76b2ccef2
--- /dev/null
+++ b/Lang/Forth/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Compile-time-calculation b/Lang/Forth/Compile-time-calculation
new file mode 120000
index 0000000000..f9e697b08f
--- /dev/null
+++ b/Lang/Forth/Compile-time-calculation
@@ -0,0 +1 @@
+../../Task/Compile-time-calculation/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Compound-data-type b/Lang/Forth/Compound-data-type
new file mode 120000
index 0000000000..438eb5fdd8
--- /dev/null
+++ b/Lang/Forth/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Concurrent-computing b/Lang/Forth/Concurrent-computing
new file mode 120000
index 0000000000..10d1bb2b11
--- /dev/null
+++ b/Lang/Forth/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Conditional-structures b/Lang/Forth/Conditional-structures
new file mode 120000
index 0000000000..32b6660d8a
--- /dev/null
+++ b/Lang/Forth/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Continued-fraction b/Lang/Forth/Continued-fraction
new file mode 120000
index 0000000000..babccf78a3
--- /dev/null
+++ b/Lang/Forth/Continued-fraction
@@ -0,0 +1 @@
+../../Task/Continued-fraction/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Conways-Game-of-Life b/Lang/Forth/Conways-Game-of-Life
new file mode 120000
index 0000000000..324276411f
--- /dev/null
+++ b/Lang/Forth/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Count-in-factors b/Lang/Forth/Count-in-factors
new file mode 120000
index 0000000000..c2442d4645
--- /dev/null
+++ b/Lang/Forth/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Count-in-octal b/Lang/Forth/Count-in-octal
new file mode 120000
index 0000000000..8e9df37e52
--- /dev/null
+++ b/Lang/Forth/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Count-occurrences-of-a-substring b/Lang/Forth/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..ad3616d30a
--- /dev/null
+++ b/Lang/Forth/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Count-the-coins b/Lang/Forth/Count-the-coins
new file mode 120000
index 0000000000..a3f8c2852f
--- /dev/null
+++ b/Lang/Forth/Count-the-coins
@@ -0,0 +1 @@
+../../Task/Count-the-coins/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Create-a-file b/Lang/Forth/Create-a-file
new file mode 120000
index 0000000000..7898d1efd2
--- /dev/null
+++ b/Lang/Forth/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Create-a-two-dimensional-array-at-runtime b/Lang/Forth/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..5b0c8add18
--- /dev/null
+++ b/Lang/Forth/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Create-an-object-at-a-given-address b/Lang/Forth/Create-an-object-at-a-given-address
new file mode 120000
index 0000000000..87aacaaf7d
--- /dev/null
+++ b/Lang/Forth/Create-an-object-at-a-given-address
@@ -0,0 +1 @@
+../../Task/Create-an-object-at-a-given-address/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Date-format b/Lang/Forth/Date-format
new file mode 120000
index 0000000000..2af2a3ee5a
--- /dev/null
+++ b/Lang/Forth/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Day-of-the-week b/Lang/Forth/Day-of-the-week
new file mode 120000
index 0000000000..98ee8fee0f
--- /dev/null
+++ b/Lang/Forth/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Dinesmans-multiple-dwelling-problem b/Lang/Forth/Dinesmans-multiple-dwelling-problem
new file mode 120000
index 0000000000..4d2a7ead78
--- /dev/null
+++ b/Lang/Forth/Dinesmans-multiple-dwelling-problem
@@ -0,0 +1 @@
+../../Task/Dinesmans-multiple-dwelling-problem/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Dot-product b/Lang/Forth/Dot-product
new file mode 120000
index 0000000000..e3cddeaab6
--- /dev/null
+++ b/Lang/Forth/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Dynamic-variable-names b/Lang/Forth/Dynamic-variable-names
new file mode 120000
index 0000000000..5933c546c3
--- /dev/null
+++ b/Lang/Forth/Dynamic-variable-names
@@ -0,0 +1 @@
+../../Task/Dynamic-variable-names/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Echo-server b/Lang/Forth/Echo-server
new file mode 120000
index 0000000000..e902af4b6c
--- /dev/null
+++ b/Lang/Forth/Echo-server
@@ -0,0 +1 @@
+../../Task/Echo-server/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Empty-program b/Lang/Forth/Empty-program
new file mode 120000
index 0000000000..33421873fd
--- /dev/null
+++ b/Lang/Forth/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Empty-string b/Lang/Forth/Empty-string
new file mode 120000
index 0000000000..97b86dac1d
--- /dev/null
+++ b/Lang/Forth/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Enumerations b/Lang/Forth/Enumerations
new file mode 120000
index 0000000000..f4bd439a5b
--- /dev/null
+++ b/Lang/Forth/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Ethiopian-multiplication b/Lang/Forth/Ethiopian-multiplication
new file mode 120000
index 0000000000..0d54dcfda5
--- /dev/null
+++ b/Lang/Forth/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Evaluate-binomial-coefficients b/Lang/Forth/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..5b74ea40ce
--- /dev/null
+++ b/Lang/Forth/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Even-or-odd b/Lang/Forth/Even-or-odd
new file mode 120000
index 0000000000..30b95645c2
--- /dev/null
+++ b/Lang/Forth/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Evolutionary-algorithm b/Lang/Forth/Evolutionary-algorithm
new file mode 120000
index 0000000000..17489f0ea4
--- /dev/null
+++ b/Lang/Forth/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Exceptions b/Lang/Forth/Exceptions
new file mode 120000
index 0000000000..df6f00f4bf
--- /dev/null
+++ b/Lang/Forth/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Execute-HQ9+ b/Lang/Forth/Execute-HQ9+
new file mode 120000
index 0000000000..8187c3bd4d
--- /dev/null
+++ b/Lang/Forth/Execute-HQ9+
@@ -0,0 +1 @@
+../../Task/Execute-HQ9+/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Execute-a-system-command b/Lang/Forth/Execute-a-system-command
new file mode 120000
index 0000000000..316bc59780
--- /dev/null
+++ b/Lang/Forth/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Exponentiation-operator b/Lang/Forth/Exponentiation-operator
new file mode 120000
index 0000000000..21e0952dfb
--- /dev/null
+++ b/Lang/Forth/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Extend-your-language b/Lang/Forth/Extend-your-language
new file mode 120000
index 0000000000..3ee4ec33dd
--- /dev/null
+++ b/Lang/Forth/Extend-your-language
@@ -0,0 +1 @@
+../../Task/Extend-your-language/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Extreme-floating-point-values b/Lang/Forth/Extreme-floating-point-values
new file mode 120000
index 0000000000..bae70c7bf9
--- /dev/null
+++ b/Lang/Forth/Extreme-floating-point-values
@@ -0,0 +1 @@
+../../Task/Extreme-floating-point-values/Forth
\ No newline at end of file
diff --git a/Lang/Fortran/Case-sensitivity-of-identifiers b/Lang/Fortran/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..13cf622a69
--- /dev/null
+++ b/Lang/Fortran/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Character-codes b/Lang/Fortran/Character-codes
new file mode 120000
index 0000000000..7248d47d4b
--- /dev/null
+++ b/Lang/Fortran/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Combinations b/Lang/Fortran/Combinations
new file mode 120000
index 0000000000..81c81e6c11
--- /dev/null
+++ b/Lang/Fortran/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Combinations-with-repetitions b/Lang/Fortran/Combinations-with-repetitions
new file mode 120000
index 0000000000..28c8a5733c
--- /dev/null
+++ b/Lang/Fortran/Combinations-with-repetitions
@@ -0,0 +1 @@
+../../Task/Combinations-with-repetitions/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Command-line-arguments b/Lang/Fortran/Command-line-arguments
new file mode 120000
index 0000000000..bea14d060c
--- /dev/null
+++ b/Lang/Fortran/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Compile-time-calculation b/Lang/Fortran/Compile-time-calculation
new file mode 120000
index 0000000000..9643b651f6
--- /dev/null
+++ b/Lang/Fortran/Compile-time-calculation
@@ -0,0 +1 @@
+../../Task/Compile-time-calculation/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Compound-data-type b/Lang/Fortran/Compound-data-type
new file mode 120000
index 0000000000..ac839ca9fc
--- /dev/null
+++ b/Lang/Fortran/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Concurrent-computing b/Lang/Fortran/Concurrent-computing
new file mode 120000
index 0000000000..fadc1c9824
--- /dev/null
+++ b/Lang/Fortran/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Conditional-structures b/Lang/Fortran/Conditional-structures
new file mode 120000
index 0000000000..a351aa294d
--- /dev/null
+++ b/Lang/Fortran/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Constrained-random-points-on-a-circle b/Lang/Fortran/Constrained-random-points-on-a-circle
new file mode 120000
index 0000000000..8f936c390d
--- /dev/null
+++ b/Lang/Fortran/Constrained-random-points-on-a-circle
@@ -0,0 +1 @@
+../../Task/Constrained-random-points-on-a-circle/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Conways-Game-of-Life b/Lang/Fortran/Conways-Game-of-Life
new file mode 120000
index 0000000000..0bc7fd1081
--- /dev/null
+++ b/Lang/Fortran/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Count-in-octal b/Lang/Fortran/Count-in-octal
new file mode 120000
index 0000000000..6f2d172026
--- /dev/null
+++ b/Lang/Fortran/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Count-occurrences-of-a-substring b/Lang/Fortran/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..35f71fe131
--- /dev/null
+++ b/Lang/Fortran/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Create-a-file b/Lang/Fortran/Create-a-file
new file mode 120000
index 0000000000..fd3d0e5614
--- /dev/null
+++ b/Lang/Fortran/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Create-a-two-dimensional-array-at-runtime b/Lang/Fortran/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..e4065922d4
--- /dev/null
+++ b/Lang/Fortran/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Date-format b/Lang/Fortran/Date-format
new file mode 120000
index 0000000000..82ac731f4f
--- /dev/null
+++ b/Lang/Fortran/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Day-of-the-week b/Lang/Fortran/Day-of-the-week
new file mode 120000
index 0000000000..c3ca1fb5ee
--- /dev/null
+++ b/Lang/Fortran/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Deconvolution-1D b/Lang/Fortran/Deconvolution-1D
new file mode 120000
index 0000000000..09e7162bc8
--- /dev/null
+++ b/Lang/Fortran/Deconvolution-1D
@@ -0,0 +1 @@
+../../Task/Deconvolution-1D/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Dot-product b/Lang/Fortran/Dot-product
new file mode 120000
index 0000000000..9a87fa57f9
--- /dev/null
+++ b/Lang/Fortran/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Doubly-linked-list-Definition b/Lang/Fortran/Doubly-linked-list-Definition
new file mode 120000
index 0000000000..350e12073f
--- /dev/null
+++ b/Lang/Fortran/Doubly-linked-list-Definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Definition/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Doubly-linked-list-Element-definition b/Lang/Fortran/Doubly-linked-list-Element-definition
new file mode 120000
index 0000000000..c3348999c4
--- /dev/null
+++ b/Lang/Fortran/Doubly-linked-list-Element-definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-definition/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Doubly-linked-list-Element-insertion b/Lang/Fortran/Doubly-linked-list-Element-insertion
new file mode 120000
index 0000000000..c371d3d0ba
--- /dev/null
+++ b/Lang/Fortran/Doubly-linked-list-Element-insertion
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-insertion/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Doubly-linked-list-Traversal b/Lang/Fortran/Doubly-linked-list-Traversal
new file mode 120000
index 0000000000..1053e2832b
--- /dev/null
+++ b/Lang/Fortran/Doubly-linked-list-Traversal
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Traversal/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Empty-program b/Lang/Fortran/Empty-program
new file mode 120000
index 0000000000..6cacb303e3
--- /dev/null
+++ b/Lang/Fortran/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Enumerations b/Lang/Fortran/Enumerations
new file mode 120000
index 0000000000..fde849b4ca
--- /dev/null
+++ b/Lang/Fortran/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Equilibrium-index b/Lang/Fortran/Equilibrium-index
new file mode 120000
index 0000000000..2e44d6021b
--- /dev/null
+++ b/Lang/Fortran/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Ethiopian-multiplication b/Lang/Fortran/Ethiopian-multiplication
new file mode 120000
index 0000000000..ac37484ab9
--- /dev/null
+++ b/Lang/Fortran/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Euler-method b/Lang/Fortran/Euler-method
new file mode 120000
index 0000000000..8eecf694ab
--- /dev/null
+++ b/Lang/Fortran/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Evaluate-binomial-coefficients b/Lang/Fortran/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..79492675fd
--- /dev/null
+++ b/Lang/Fortran/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Evolutionary-algorithm b/Lang/Fortran/Evolutionary-algorithm
new file mode 120000
index 0000000000..404b11d9a7
--- /dev/null
+++ b/Lang/Fortran/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Execute-a-system-command b/Lang/Fortran/Execute-a-system-command
new file mode 120000
index 0000000000..27d84c3bda
--- /dev/null
+++ b/Lang/Fortran/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Exponentiation-operator b/Lang/Fortran/Exponentiation-operator
new file mode 120000
index 0000000000..b718964b99
--- /dev/null
+++ b/Lang/Fortran/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/Fortran
\ No newline at end of file
diff --git a/Lang/Go/CRC-32 b/Lang/Go/CRC-32
new file mode 120000
index 0000000000..1e60f02dd3
--- /dev/null
+++ b/Lang/Go/CRC-32
@@ -0,0 +1 @@
+../../Task/CRC-32/Go
\ No newline at end of file
diff --git a/Lang/Go/CSV-to-HTML-translation b/Lang/Go/CSV-to-HTML-translation
new file mode 120000
index 0000000000..84d58e2c6b
--- /dev/null
+++ b/Lang/Go/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/Go
\ No newline at end of file
diff --git a/Lang/Go/Call-a-foreign-language-function b/Lang/Go/Call-a-foreign-language-function
new file mode 120000
index 0000000000..ddb772af06
--- /dev/null
+++ b/Lang/Go/Call-a-foreign-language-function
@@ -0,0 +1 @@
+../../Task/Call-a-foreign-language-function/Go
\ No newline at end of file
diff --git a/Lang/Go/Call-an-object-method b/Lang/Go/Call-an-object-method
new file mode 120000
index 0000000000..1361a2a729
--- /dev/null
+++ b/Lang/Go/Call-an-object-method
@@ -0,0 +1 @@
+../../Task/Call-an-object-method/Go
\ No newline at end of file
diff --git a/Lang/Go/Case-sensitivity-of-identifiers b/Lang/Go/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..de9440328b
--- /dev/null
+++ b/Lang/Go/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/Go
\ No newline at end of file
diff --git a/Lang/Go/Character-codes b/Lang/Go/Character-codes
new file mode 120000
index 0000000000..aead13192e
--- /dev/null
+++ b/Lang/Go/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Go
\ No newline at end of file
diff --git a/Lang/Go/Character-matching b/Lang/Go/Character-matching
new file mode 120000
index 0000000000..52bbff82cc
--- /dev/null
+++ b/Lang/Go/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/Go
\ No newline at end of file
diff --git a/Lang/Go/Chat-server b/Lang/Go/Chat-server
new file mode 120000
index 0000000000..1c01d6bc16
--- /dev/null
+++ b/Lang/Go/Chat-server
@@ -0,0 +1 @@
+../../Task/Chat-server/Go
\ No newline at end of file
diff --git a/Lang/Go/Check-Machin-like-formulas b/Lang/Go/Check-Machin-like-formulas
new file mode 120000
index 0000000000..a306f238b4
--- /dev/null
+++ b/Lang/Go/Check-Machin-like-formulas
@@ -0,0 +1 @@
+../../Task/Check-Machin-like-formulas/Go
\ No newline at end of file
diff --git a/Lang/Go/Cholesky-decomposition b/Lang/Go/Cholesky-decomposition
new file mode 120000
index 0000000000..6a2bcff9d5
--- /dev/null
+++ b/Lang/Go/Cholesky-decomposition
@@ -0,0 +1 @@
+../../Task/Cholesky-decomposition/Go
\ No newline at end of file
diff --git a/Lang/Go/Combinations b/Lang/Go/Combinations
new file mode 120000
index 0000000000..f13b2f084a
--- /dev/null
+++ b/Lang/Go/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/Go
\ No newline at end of file
diff --git a/Lang/Go/Combinations-with-repetitions b/Lang/Go/Combinations-with-repetitions
new file mode 120000
index 0000000000..d2b1e58ee3
--- /dev/null
+++ b/Lang/Go/Combinations-with-repetitions
@@ -0,0 +1 @@
+../../Task/Combinations-with-repetitions/Go
\ No newline at end of file
diff --git a/Lang/Go/Command-line-arguments b/Lang/Go/Command-line-arguments
new file mode 120000
index 0000000000..7722a8693e
--- /dev/null
+++ b/Lang/Go/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Go
\ No newline at end of file
diff --git a/Lang/Go/Compile-time-calculation b/Lang/Go/Compile-time-calculation
new file mode 120000
index 0000000000..bc1652a5e5
--- /dev/null
+++ b/Lang/Go/Compile-time-calculation
@@ -0,0 +1 @@
+../../Task/Compile-time-calculation/Go
\ No newline at end of file
diff --git a/Lang/Go/Compound-data-type b/Lang/Go/Compound-data-type
new file mode 120000
index 0000000000..3441a4cd22
--- /dev/null
+++ b/Lang/Go/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/Go
\ No newline at end of file
diff --git a/Lang/Go/Concurrent-computing b/Lang/Go/Concurrent-computing
new file mode 120000
index 0000000000..4863cd35a6
--- /dev/null
+++ b/Lang/Go/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/Go
\ No newline at end of file
diff --git a/Lang/Go/Conditional-structures b/Lang/Go/Conditional-structures
new file mode 120000
index 0000000000..522e889257
--- /dev/null
+++ b/Lang/Go/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Go
\ No newline at end of file
diff --git a/Lang/Go/Constrained-genericity b/Lang/Go/Constrained-genericity
new file mode 120000
index 0000000000..b533c52d94
--- /dev/null
+++ b/Lang/Go/Constrained-genericity
@@ -0,0 +1 @@
+../../Task/Constrained-genericity/Go
\ No newline at end of file
diff --git a/Lang/Go/Constrained-random-points-on-a-circle b/Lang/Go/Constrained-random-points-on-a-circle
new file mode 120000
index 0000000000..d47fc653f6
--- /dev/null
+++ b/Lang/Go/Constrained-random-points-on-a-circle
@@ -0,0 +1 @@
+../../Task/Constrained-random-points-on-a-circle/Go
\ No newline at end of file
diff --git a/Lang/Go/Continued-fraction b/Lang/Go/Continued-fraction
new file mode 120000
index 0000000000..2454f94a40
--- /dev/null
+++ b/Lang/Go/Continued-fraction
@@ -0,0 +1 @@
+../../Task/Continued-fraction/Go
\ No newline at end of file
diff --git a/Lang/Go/Conways-Game-of-Life b/Lang/Go/Conways-Game-of-Life
new file mode 120000
index 0000000000..aacacd439b
--- /dev/null
+++ b/Lang/Go/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/Go
\ No newline at end of file
diff --git a/Lang/Go/Count-in-factors b/Lang/Go/Count-in-factors
new file mode 120000
index 0000000000..95bcfa56a6
--- /dev/null
+++ b/Lang/Go/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/Go
\ No newline at end of file
diff --git a/Lang/Go/Count-in-octal b/Lang/Go/Count-in-octal
new file mode 120000
index 0000000000..99ef25800c
--- /dev/null
+++ b/Lang/Go/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/Go
\ No newline at end of file
diff --git a/Lang/Go/Count-occurrences-of-a-substring b/Lang/Go/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..0946ce2548
--- /dev/null
+++ b/Lang/Go/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/Go
\ No newline at end of file
diff --git a/Lang/Go/Count-the-coins b/Lang/Go/Count-the-coins
new file mode 120000
index 0000000000..b0e6b9817c
--- /dev/null
+++ b/Lang/Go/Count-the-coins
@@ -0,0 +1 @@
+../../Task/Count-the-coins/Go
\ No newline at end of file
diff --git a/Lang/Go/Create-a-file b/Lang/Go/Create-a-file
new file mode 120000
index 0000000000..2f514fd33d
--- /dev/null
+++ b/Lang/Go/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/Go
\ No newline at end of file
diff --git a/Lang/Go/Create-a-two-dimensional-array-at-runtime b/Lang/Go/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..95a2de315c
--- /dev/null
+++ b/Lang/Go/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/Go
\ No newline at end of file
diff --git a/Lang/Go/Create-an-HTML-table b/Lang/Go/Create-an-HTML-table
new file mode 120000
index 0000000000..f80beb1e8f
--- /dev/null
+++ b/Lang/Go/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/Go
\ No newline at end of file
diff --git a/Lang/Go/Create-an-object-at-a-given-address b/Lang/Go/Create-an-object-at-a-given-address
new file mode 120000
index 0000000000..493b67aa0e
--- /dev/null
+++ b/Lang/Go/Create-an-object-at-a-given-address
@@ -0,0 +1 @@
+../../Task/Create-an-object-at-a-given-address/Go
\ No newline at end of file
diff --git a/Lang/Go/DNS-query b/Lang/Go/DNS-query
new file mode 120000
index 0000000000..500748254c
--- /dev/null
+++ b/Lang/Go/DNS-query
@@ -0,0 +1 @@
+../../Task/DNS-query/Go
\ No newline at end of file
diff --git a/Lang/Go/Date-format b/Lang/Go/Date-format
new file mode 120000
index 0000000000..ce1596f7ee
--- /dev/null
+++ b/Lang/Go/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/Go
\ No newline at end of file
diff --git a/Lang/Go/Date-manipulation b/Lang/Go/Date-manipulation
new file mode 120000
index 0000000000..ac505658ef
--- /dev/null
+++ b/Lang/Go/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/Go
\ No newline at end of file
diff --git a/Lang/Go/Day-of-the-week b/Lang/Go/Day-of-the-week
new file mode 120000
index 0000000000..adc51d975c
--- /dev/null
+++ b/Lang/Go/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/Go
\ No newline at end of file
diff --git a/Lang/Go/Deal-cards-for-FreeCell b/Lang/Go/Deal-cards-for-FreeCell
new file mode 120000
index 0000000000..18117489bd
--- /dev/null
+++ b/Lang/Go/Deal-cards-for-FreeCell
@@ -0,0 +1 @@
+../../Task/Deal-cards-for-FreeCell/Go
\ No newline at end of file
diff --git a/Lang/Go/Deconvolution-1D b/Lang/Go/Deconvolution-1D
new file mode 120000
index 0000000000..6151271b5c
--- /dev/null
+++ b/Lang/Go/Deconvolution-1D
@@ -0,0 +1 @@
+../../Task/Deconvolution-1D/Go
\ No newline at end of file
diff --git a/Lang/Go/Deepcopy b/Lang/Go/Deepcopy
new file mode 120000
index 0000000000..a7a6c1ed9e
--- /dev/null
+++ b/Lang/Go/Deepcopy
@@ -0,0 +1 @@
+../../Task/Deepcopy/Go
\ No newline at end of file
diff --git a/Lang/Go/Determine-if-only-one-instance-is-running b/Lang/Go/Determine-if-only-one-instance-is-running
new file mode 120000
index 0000000000..982f5c47df
--- /dev/null
+++ b/Lang/Go/Determine-if-only-one-instance-is-running
@@ -0,0 +1 @@
+../../Task/Determine-if-only-one-instance-is-running/Go
\ No newline at end of file
diff --git a/Lang/Go/Digital-root b/Lang/Go/Digital-root
new file mode 120000
index 0000000000..26d2af3656
--- /dev/null
+++ b/Lang/Go/Digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root/Go
\ No newline at end of file
diff --git a/Lang/Go/Dining-philosophers b/Lang/Go/Dining-philosophers
new file mode 120000
index 0000000000..d79e0bae79
--- /dev/null
+++ b/Lang/Go/Dining-philosophers
@@ -0,0 +1 @@
+../../Task/Dining-philosophers/Go
\ No newline at end of file
diff --git a/Lang/Go/Discordian-date b/Lang/Go/Discordian-date
new file mode 120000
index 0000000000..6f37490765
--- /dev/null
+++ b/Lang/Go/Discordian-date
@@ -0,0 +1 @@
+../../Task/Discordian-date/Go
\ No newline at end of file
diff --git a/Lang/Go/Distributed-programming b/Lang/Go/Distributed-programming
new file mode 120000
index 0000000000..00c5affefe
--- /dev/null
+++ b/Lang/Go/Distributed-programming
@@ -0,0 +1 @@
+../../Task/Distributed-programming/Go
\ No newline at end of file
diff --git a/Lang/Go/Documentation b/Lang/Go/Documentation
new file mode 120000
index 0000000000..2e39f80f83
--- /dev/null
+++ b/Lang/Go/Documentation
@@ -0,0 +1 @@
+../../Task/Documentation/Go
\ No newline at end of file
diff --git a/Lang/Go/Dot-product b/Lang/Go/Dot-product
new file mode 120000
index 0000000000..bae8f9092f
--- /dev/null
+++ b/Lang/Go/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Go
\ No newline at end of file
diff --git a/Lang/Go/Doubly-linked-list-Definition b/Lang/Go/Doubly-linked-list-Definition
new file mode 120000
index 0000000000..42c9da28a8
--- /dev/null
+++ b/Lang/Go/Doubly-linked-list-Definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Definition/Go
\ No newline at end of file
diff --git a/Lang/Go/Doubly-linked-list-Element-definition b/Lang/Go/Doubly-linked-list-Element-definition
new file mode 120000
index 0000000000..851f04b046
--- /dev/null
+++ b/Lang/Go/Doubly-linked-list-Element-definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-definition/Go
\ No newline at end of file
diff --git a/Lang/Go/Doubly-linked-list-Element-insertion b/Lang/Go/Doubly-linked-list-Element-insertion
new file mode 120000
index 0000000000..d8991349c1
--- /dev/null
+++ b/Lang/Go/Doubly-linked-list-Element-insertion
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-insertion/Go
\ No newline at end of file
diff --git a/Lang/Go/Doubly-linked-list-Traversal b/Lang/Go/Doubly-linked-list-Traversal
new file mode 120000
index 0000000000..974e2341e7
--- /dev/null
+++ b/Lang/Go/Doubly-linked-list-Traversal
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Traversal/Go
\ No newline at end of file
diff --git a/Lang/Go/Draw-a-cuboid b/Lang/Go/Draw-a-cuboid
new file mode 120000
index 0000000000..a4a1556c9c
--- /dev/null
+++ b/Lang/Go/Draw-a-cuboid
@@ -0,0 +1 @@
+../../Task/Draw-a-cuboid/Go
\ No newline at end of file
diff --git a/Lang/Go/Draw-a-sphere b/Lang/Go/Draw-a-sphere
new file mode 120000
index 0000000000..ad3c7928d3
--- /dev/null
+++ b/Lang/Go/Draw-a-sphere
@@ -0,0 +1 @@
+../../Task/Draw-a-sphere/Go
\ No newline at end of file
diff --git a/Lang/Go/Dutch-national-flag-problem b/Lang/Go/Dutch-national-flag-problem
new file mode 120000
index 0000000000..22ee4e067b
--- /dev/null
+++ b/Lang/Go/Dutch-national-flag-problem
@@ -0,0 +1 @@
+../../Task/Dutch-national-flag-problem/Go
\ No newline at end of file
diff --git a/Lang/Go/Echo-server b/Lang/Go/Echo-server
new file mode 120000
index 0000000000..4a74cd34e8
--- /dev/null
+++ b/Lang/Go/Echo-server
@@ -0,0 +1 @@
+../../Task/Echo-server/Go
\ No newline at end of file
diff --git a/Lang/Go/Element-wise-operations b/Lang/Go/Element-wise-operations
new file mode 120000
index 0000000000..ef3fd0549a
--- /dev/null
+++ b/Lang/Go/Element-wise-operations
@@ -0,0 +1 @@
+../../Task/Element-wise-operations/Go
\ No newline at end of file
diff --git a/Lang/Go/Empty-directory b/Lang/Go/Empty-directory
new file mode 120000
index 0000000000..4202e9e567
--- /dev/null
+++ b/Lang/Go/Empty-directory
@@ -0,0 +1 @@
+../../Task/Empty-directory/Go
\ No newline at end of file
diff --git a/Lang/Go/Empty-program b/Lang/Go/Empty-program
new file mode 120000
index 0000000000..2e150edf08
--- /dev/null
+++ b/Lang/Go/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/Go
\ No newline at end of file
diff --git a/Lang/Go/Empty-string b/Lang/Go/Empty-string
new file mode 120000
index 0000000000..aa0f65bf20
--- /dev/null
+++ b/Lang/Go/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/Go
\ No newline at end of file
diff --git a/Lang/Go/Enforced-immutability b/Lang/Go/Enforced-immutability
new file mode 120000
index 0000000000..00c8cc371b
--- /dev/null
+++ b/Lang/Go/Enforced-immutability
@@ -0,0 +1 @@
+../../Task/Enforced-immutability/Go
\ No newline at end of file
diff --git a/Lang/Go/Enumerations b/Lang/Go/Enumerations
new file mode 120000
index 0000000000..63d9d516fe
--- /dev/null
+++ b/Lang/Go/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/Go
\ No newline at end of file
diff --git a/Lang/Go/Equilibrium-index b/Lang/Go/Equilibrium-index
new file mode 120000
index 0000000000..be067f0719
--- /dev/null
+++ b/Lang/Go/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/Go
\ No newline at end of file
diff --git a/Lang/Go/Ethiopian-multiplication b/Lang/Go/Ethiopian-multiplication
new file mode 120000
index 0000000000..523e70042e
--- /dev/null
+++ b/Lang/Go/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Go
\ No newline at end of file
diff --git a/Lang/Go/Euler-method b/Lang/Go/Euler-method
new file mode 120000
index 0000000000..acf0f2e6b0
--- /dev/null
+++ b/Lang/Go/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/Go
\ No newline at end of file
diff --git a/Lang/Go/Evaluate-binomial-coefficients b/Lang/Go/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..141fd70d4a
--- /dev/null
+++ b/Lang/Go/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/Go
\ No newline at end of file
diff --git a/Lang/Go/Even-or-odd b/Lang/Go/Even-or-odd
new file mode 120000
index 0000000000..5c1a934edd
--- /dev/null
+++ b/Lang/Go/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/Go
\ No newline at end of file
diff --git a/Lang/Go/Events b/Lang/Go/Events
new file mode 120000
index 0000000000..50526b47ec
--- /dev/null
+++ b/Lang/Go/Events
@@ -0,0 +1 @@
+../../Task/Events/Go
\ No newline at end of file
diff --git a/Lang/Go/Evolutionary-algorithm b/Lang/Go/Evolutionary-algorithm
new file mode 120000
index 0000000000..edc408818b
--- /dev/null
+++ b/Lang/Go/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/Go
\ No newline at end of file
diff --git a/Lang/Go/Exceptions b/Lang/Go/Exceptions
new file mode 120000
index 0000000000..3dc2d6c374
--- /dev/null
+++ b/Lang/Go/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/Go
\ No newline at end of file
diff --git a/Lang/Go/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/Go/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..db12154d3e
--- /dev/null
+++ b/Lang/Go/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/Go
\ No newline at end of file
diff --git a/Lang/Go/Execute-a-system-command b/Lang/Go/Execute-a-system-command
new file mode 120000
index 0000000000..337bf5e487
--- /dev/null
+++ b/Lang/Go/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/Go
\ No newline at end of file
diff --git a/Lang/Go/Exponentiation-operator b/Lang/Go/Exponentiation-operator
new file mode 120000
index 0000000000..db0c14ab2f
--- /dev/null
+++ b/Lang/Go/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/Go
\ No newline at end of file
diff --git a/Lang/Go/Extreme-floating-point-values b/Lang/Go/Extreme-floating-point-values
new file mode 120000
index 0000000000..4b8db0f680
--- /dev/null
+++ b/Lang/Go/Extreme-floating-point-values
@@ -0,0 +1 @@
+../../Task/Extreme-floating-point-values/Go
\ No newline at end of file
diff --git a/Lang/Haskell/CSV-to-HTML-translation b/Lang/Haskell/CSV-to-HTML-translation
new file mode 120000
index 0000000000..6c67531477
--- /dev/null
+++ b/Lang/Haskell/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Call-a-foreign-language-function b/Lang/Haskell/Call-a-foreign-language-function
new file mode 120000
index 0000000000..56ba651a53
--- /dev/null
+++ b/Lang/Haskell/Call-a-foreign-language-function
@@ -0,0 +1 @@
+../../Task/Call-a-foreign-language-function/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Carmichael-3-strong-pseudoprimes b/Lang/Haskell/Carmichael-3-strong-pseudoprimes
new file mode 120000
index 0000000000..aac9801a94
--- /dev/null
+++ b/Lang/Haskell/Carmichael-3-strong-pseudoprimes
@@ -0,0 +1 @@
+../../Task/Carmichael-3-strong-pseudoprimes/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Case-sensitivity-of-identifiers b/Lang/Haskell/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..02ae95c77f
--- /dev/null
+++ b/Lang/Haskell/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Character-codes b/Lang/Haskell/Character-codes
new file mode 120000
index 0000000000..17f88dcc2c
--- /dev/null
+++ b/Lang/Haskell/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Character-matching b/Lang/Haskell/Character-matching
new file mode 120000
index 0000000000..e322b4e9f9
--- /dev/null
+++ b/Lang/Haskell/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Check-Machin-like-formulas b/Lang/Haskell/Check-Machin-like-formulas
new file mode 120000
index 0000000000..4af3ab8427
--- /dev/null
+++ b/Lang/Haskell/Check-Machin-like-formulas
@@ -0,0 +1 @@
+../../Task/Check-Machin-like-formulas/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Cholesky-decomposition b/Lang/Haskell/Cholesky-decomposition
new file mode 120000
index 0000000000..6e179948da
--- /dev/null
+++ b/Lang/Haskell/Cholesky-decomposition
@@ -0,0 +1 @@
+../../Task/Cholesky-decomposition/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Combinations b/Lang/Haskell/Combinations
new file mode 120000
index 0000000000..da3df46788
--- /dev/null
+++ b/Lang/Haskell/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Combinations-with-repetitions b/Lang/Haskell/Combinations-with-repetitions
new file mode 120000
index 0000000000..c337bda766
--- /dev/null
+++ b/Lang/Haskell/Combinations-with-repetitions
@@ -0,0 +1 @@
+../../Task/Combinations-with-repetitions/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Command-line-arguments b/Lang/Haskell/Command-line-arguments
new file mode 120000
index 0000000000..25ce61a3d1
--- /dev/null
+++ b/Lang/Haskell/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Compile-time-calculation b/Lang/Haskell/Compile-time-calculation
new file mode 120000
index 0000000000..5b6496fa65
--- /dev/null
+++ b/Lang/Haskell/Compile-time-calculation
@@ -0,0 +1 @@
+../../Task/Compile-time-calculation/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Compound-data-type b/Lang/Haskell/Compound-data-type
new file mode 120000
index 0000000000..f1178a195f
--- /dev/null
+++ b/Lang/Haskell/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Concurrent-computing b/Lang/Haskell/Concurrent-computing
new file mode 120000
index 0000000000..d29e93ae51
--- /dev/null
+++ b/Lang/Haskell/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Conditional-structures b/Lang/Haskell/Conditional-structures
new file mode 120000
index 0000000000..972dbe9294
--- /dev/null
+++ b/Lang/Haskell/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Constrained-genericity b/Lang/Haskell/Constrained-genericity
new file mode 120000
index 0000000000..795e6687c7
--- /dev/null
+++ b/Lang/Haskell/Constrained-genericity
@@ -0,0 +1 @@
+../../Task/Constrained-genericity/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Constrained-random-points-on-a-circle b/Lang/Haskell/Constrained-random-points-on-a-circle
new file mode 120000
index 0000000000..5f5aee99e2
--- /dev/null
+++ b/Lang/Haskell/Constrained-random-points-on-a-circle
@@ -0,0 +1 @@
+../../Task/Constrained-random-points-on-a-circle/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Continued-fraction b/Lang/Haskell/Continued-fraction
new file mode 120000
index 0000000000..0e7c8317cb
--- /dev/null
+++ b/Lang/Haskell/Continued-fraction
@@ -0,0 +1 @@
+../../Task/Continued-fraction/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Continued-fraction-Arithmetic-Construct-from-rational-number b/Lang/Haskell/Continued-fraction-Arithmetic-Construct-from-rational-number
new file mode 120000
index 0000000000..5dacadac93
--- /dev/null
+++ b/Lang/Haskell/Continued-fraction-Arithmetic-Construct-from-rational-number
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-Construct-from-rational-number/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Conways-Game-of-Life b/Lang/Haskell/Conways-Game-of-Life
new file mode 120000
index 0000000000..975c1dc976
--- /dev/null
+++ b/Lang/Haskell/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Count-in-factors b/Lang/Haskell/Count-in-factors
new file mode 120000
index 0000000000..430e72e037
--- /dev/null
+++ b/Lang/Haskell/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Count-in-octal b/Lang/Haskell/Count-in-octal
new file mode 120000
index 0000000000..ca1b1e8063
--- /dev/null
+++ b/Lang/Haskell/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Count-occurrences-of-a-substring b/Lang/Haskell/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..124f91460d
--- /dev/null
+++ b/Lang/Haskell/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Count-the-coins b/Lang/Haskell/Count-the-coins
new file mode 120000
index 0000000000..8897ebb8e0
--- /dev/null
+++ b/Lang/Haskell/Count-the-coins
@@ -0,0 +1 @@
+../../Task/Count-the-coins/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Create-a-file b/Lang/Haskell/Create-a-file
new file mode 120000
index 0000000000..86625f0989
--- /dev/null
+++ b/Lang/Haskell/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Create-a-two-dimensional-array-at-runtime b/Lang/Haskell/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..e2febf931d
--- /dev/null
+++ b/Lang/Haskell/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Create-an-HTML-table b/Lang/Haskell/Create-an-HTML-table
new file mode 120000
index 0000000000..256e935664
--- /dev/null
+++ b/Lang/Haskell/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Cut-a-rectangle b/Lang/Haskell/Cut-a-rectangle
new file mode 120000
index 0000000000..b29a273787
--- /dev/null
+++ b/Lang/Haskell/Cut-a-rectangle
@@ -0,0 +1 @@
+../../Task/Cut-a-rectangle/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Date-format b/Lang/Haskell/Date-format
new file mode 120000
index 0000000000..2b4ea617e3
--- /dev/null
+++ b/Lang/Haskell/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Date-manipulation b/Lang/Haskell/Date-manipulation
new file mode 120000
index 0000000000..94bcde669a
--- /dev/null
+++ b/Lang/Haskell/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Day-of-the-week b/Lang/Haskell/Day-of-the-week
new file mode 120000
index 0000000000..7e8795d628
--- /dev/null
+++ b/Lang/Haskell/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Deal-cards-for-FreeCell b/Lang/Haskell/Deal-cards-for-FreeCell
new file mode 120000
index 0000000000..dcfb533eb3
--- /dev/null
+++ b/Lang/Haskell/Deal-cards-for-FreeCell
@@ -0,0 +1 @@
+../../Task/Deal-cards-for-FreeCell/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Deconvolution-1D b/Lang/Haskell/Deconvolution-1D
new file mode 120000
index 0000000000..fe592d5ce2
--- /dev/null
+++ b/Lang/Haskell/Deconvolution-1D
@@ -0,0 +1 @@
+../../Task/Deconvolution-1D/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Determine-if-only-one-instance-is-running b/Lang/Haskell/Determine-if-only-one-instance-is-running
new file mode 120000
index 0000000000..0d1335d8b0
--- /dev/null
+++ b/Lang/Haskell/Determine-if-only-one-instance-is-running
@@ -0,0 +1 @@
+../../Task/Determine-if-only-one-instance-is-running/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Digital-root b/Lang/Haskell/Digital-root
new file mode 120000
index 0000000000..474291dba9
--- /dev/null
+++ b/Lang/Haskell/Digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Dinesmans-multiple-dwelling-problem b/Lang/Haskell/Dinesmans-multiple-dwelling-problem
new file mode 120000
index 0000000000..024b7ecd9c
--- /dev/null
+++ b/Lang/Haskell/Dinesmans-multiple-dwelling-problem
@@ -0,0 +1 @@
+../../Task/Dinesmans-multiple-dwelling-problem/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Dining-philosophers b/Lang/Haskell/Dining-philosophers
new file mode 120000
index 0000000000..328fc2834a
--- /dev/null
+++ b/Lang/Haskell/Dining-philosophers
@@ -0,0 +1 @@
+../../Task/Dining-philosophers/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Discordian-date b/Lang/Haskell/Discordian-date
new file mode 120000
index 0000000000..21f31c62f5
--- /dev/null
+++ b/Lang/Haskell/Discordian-date
@@ -0,0 +1 @@
+../../Task/Discordian-date/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Documentation b/Lang/Haskell/Documentation
new file mode 120000
index 0000000000..57a7e9243f
--- /dev/null
+++ b/Lang/Haskell/Documentation
@@ -0,0 +1 @@
+../../Task/Documentation/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Dot-product b/Lang/Haskell/Dot-product
new file mode 120000
index 0000000000..9f2cdeb55a
--- /dev/null
+++ b/Lang/Haskell/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Doubly-linked-list-Definition b/Lang/Haskell/Doubly-linked-list-Definition
new file mode 120000
index 0000000000..aa3e4ac148
--- /dev/null
+++ b/Lang/Haskell/Doubly-linked-list-Definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Definition/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Doubly-linked-list-Element-definition b/Lang/Haskell/Doubly-linked-list-Element-definition
new file mode 120000
index 0000000000..c867228574
--- /dev/null
+++ b/Lang/Haskell/Doubly-linked-list-Element-definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-definition/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Doubly-linked-list-Element-insertion b/Lang/Haskell/Doubly-linked-list-Element-insertion
new file mode 120000
index 0000000000..26357464af
--- /dev/null
+++ b/Lang/Haskell/Doubly-linked-list-Element-insertion
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-insertion/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Doubly-linked-list-Traversal b/Lang/Haskell/Doubly-linked-list-Traversal
new file mode 120000
index 0000000000..ed5334c0d5
--- /dev/null
+++ b/Lang/Haskell/Doubly-linked-list-Traversal
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Traversal/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Draw-a-cuboid b/Lang/Haskell/Draw-a-cuboid
new file mode 120000
index 0000000000..d5272a3844
--- /dev/null
+++ b/Lang/Haskell/Draw-a-cuboid
@@ -0,0 +1 @@
+../../Task/Draw-a-cuboid/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Draw-a-sphere b/Lang/Haskell/Draw-a-sphere
new file mode 120000
index 0000000000..9cf0c993af
--- /dev/null
+++ b/Lang/Haskell/Draw-a-sphere
@@ -0,0 +1 @@
+../../Task/Draw-a-sphere/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Dutch-national-flag-problem b/Lang/Haskell/Dutch-national-flag-problem
new file mode 120000
index 0000000000..7bb9b9fb68
--- /dev/null
+++ b/Lang/Haskell/Dutch-national-flag-problem
@@ -0,0 +1 @@
+../../Task/Dutch-national-flag-problem/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Dynamic-variable-names b/Lang/Haskell/Dynamic-variable-names
new file mode 120000
index 0000000000..58d028eaaa
--- /dev/null
+++ b/Lang/Haskell/Dynamic-variable-names
@@ -0,0 +1 @@
+../../Task/Dynamic-variable-names/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Echo-server b/Lang/Haskell/Echo-server
new file mode 120000
index 0000000000..fc94c41235
--- /dev/null
+++ b/Lang/Haskell/Echo-server
@@ -0,0 +1 @@
+../../Task/Echo-server/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Empty-directory b/Lang/Haskell/Empty-directory
new file mode 120000
index 0000000000..bdfce6acdf
--- /dev/null
+++ b/Lang/Haskell/Empty-directory
@@ -0,0 +1 @@
+../../Task/Empty-directory/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Empty-program b/Lang/Haskell/Empty-program
new file mode 120000
index 0000000000..db133520ff
--- /dev/null
+++ b/Lang/Haskell/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Empty-string b/Lang/Haskell/Empty-string
new file mode 120000
index 0000000000..5ea61b5399
--- /dev/null
+++ b/Lang/Haskell/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Enforced-immutability b/Lang/Haskell/Enforced-immutability
new file mode 120000
index 0000000000..330f8e56ce
--- /dev/null
+++ b/Lang/Haskell/Enforced-immutability
@@ -0,0 +1 @@
+../../Task/Enforced-immutability/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Enumerations b/Lang/Haskell/Enumerations
new file mode 120000
index 0000000000..471be268c0
--- /dev/null
+++ b/Lang/Haskell/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Equilibrium-index b/Lang/Haskell/Equilibrium-index
new file mode 120000
index 0000000000..65289cb522
--- /dev/null
+++ b/Lang/Haskell/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Ethiopian-multiplication b/Lang/Haskell/Ethiopian-multiplication
new file mode 120000
index 0000000000..946cd32a5d
--- /dev/null
+++ b/Lang/Haskell/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Euler-method b/Lang/Haskell/Euler-method
new file mode 120000
index 0000000000..ea1d9f8526
--- /dev/null
+++ b/Lang/Haskell/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Evaluate-binomial-coefficients b/Lang/Haskell/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..54aff0ddfc
--- /dev/null
+++ b/Lang/Haskell/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Even-or-odd b/Lang/Haskell/Even-or-odd
new file mode 120000
index 0000000000..4507393514
--- /dev/null
+++ b/Lang/Haskell/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Events b/Lang/Haskell/Events
new file mode 120000
index 0000000000..f0e576b7be
--- /dev/null
+++ b/Lang/Haskell/Events
@@ -0,0 +1 @@
+../../Task/Events/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Evolutionary-algorithm b/Lang/Haskell/Evolutionary-algorithm
new file mode 120000
index 0000000000..42f3d259ea
--- /dev/null
+++ b/Lang/Haskell/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Exceptions b/Lang/Haskell/Exceptions
new file mode 120000
index 0000000000..bfc43e2ced
--- /dev/null
+++ b/Lang/Haskell/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/Haskell/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..8229e6f4ce
--- /dev/null
+++ b/Lang/Haskell/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Execute-a-system-command b/Lang/Haskell/Execute-a-system-command
new file mode 120000
index 0000000000..82c2f311e7
--- /dev/null
+++ b/Lang/Haskell/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Exponentiation-operator b/Lang/Haskell/Exponentiation-operator
new file mode 120000
index 0000000000..6bfc572d2f
--- /dev/null
+++ b/Lang/Haskell/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Extend-your-language b/Lang/Haskell/Extend-your-language
new file mode 120000
index 0000000000..414d5373de
--- /dev/null
+++ b/Lang/Haskell/Extend-your-language
@@ -0,0 +1 @@
+../../Task/Extend-your-language/Haskell
\ No newline at end of file
diff --git a/Lang/Java/CRC-32 b/Lang/Java/CRC-32
new file mode 120000
index 0000000000..6bf9905d02
--- /dev/null
+++ b/Lang/Java/CRC-32
@@ -0,0 +1 @@
+../../Task/CRC-32/Java
\ No newline at end of file
diff --git a/Lang/Java/CSV-to-HTML-translation b/Lang/Java/CSV-to-HTML-translation
new file mode 120000
index 0000000000..804fe6c10d
--- /dev/null
+++ b/Lang/Java/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/Java
\ No newline at end of file
diff --git a/Lang/Java/Call-a-foreign-language-function b/Lang/Java/Call-a-foreign-language-function
new file mode 120000
index 0000000000..bf16cccee3
--- /dev/null
+++ b/Lang/Java/Call-a-foreign-language-function
@@ -0,0 +1 @@
+../../Task/Call-a-foreign-language-function/Java
\ No newline at end of file
diff --git a/Lang/Java/Call-a-function-in-a-shared-library b/Lang/Java/Call-a-function-in-a-shared-library
new file mode 120000
index 0000000000..5c8b413eda
--- /dev/null
+++ b/Lang/Java/Call-a-function-in-a-shared-library
@@ -0,0 +1 @@
+../../Task/Call-a-function-in-a-shared-library/Java
\ No newline at end of file
diff --git a/Lang/Java/Call-an-object-method b/Lang/Java/Call-an-object-method
new file mode 120000
index 0000000000..81339becf6
--- /dev/null
+++ b/Lang/Java/Call-an-object-method
@@ -0,0 +1 @@
+../../Task/Call-an-object-method/Java
\ No newline at end of file
diff --git a/Lang/Java/Case-sensitivity-of-identifiers b/Lang/Java/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..02a73602c6
--- /dev/null
+++ b/Lang/Java/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/Java
\ No newline at end of file
diff --git a/Lang/Java/Character-codes b/Lang/Java/Character-codes
new file mode 120000
index 0000000000..7b6d1a7c38
--- /dev/null
+++ b/Lang/Java/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Java
\ No newline at end of file
diff --git a/Lang/Java/Character-matching b/Lang/Java/Character-matching
new file mode 120000
index 0000000000..6c0faea249
--- /dev/null
+++ b/Lang/Java/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/Java
\ No newline at end of file
diff --git a/Lang/Java/Chat-server b/Lang/Java/Chat-server
new file mode 120000
index 0000000000..ad26d3a786
--- /dev/null
+++ b/Lang/Java/Chat-server
@@ -0,0 +1 @@
+../../Task/Chat-server/Java
\ No newline at end of file
diff --git a/Lang/Java/Cholesky-decomposition b/Lang/Java/Cholesky-decomposition
new file mode 120000
index 0000000000..64b2d4b6cd
--- /dev/null
+++ b/Lang/Java/Cholesky-decomposition
@@ -0,0 +1 @@
+../../Task/Cholesky-decomposition/Java
\ No newline at end of file
diff --git a/Lang/Java/Colour-bars-Display b/Lang/Java/Colour-bars-Display
new file mode 120000
index 0000000000..e5593a41a8
--- /dev/null
+++ b/Lang/Java/Colour-bars-Display
@@ -0,0 +1 @@
+../../Task/Colour-bars-Display/Java
\ No newline at end of file
diff --git a/Lang/Java/Combinations b/Lang/Java/Combinations
new file mode 120000
index 0000000000..f69a8417a0
--- /dev/null
+++ b/Lang/Java/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/Java
\ No newline at end of file
diff --git a/Lang/Java/Combinations-with-repetitions b/Lang/Java/Combinations-with-repetitions
new file mode 120000
index 0000000000..05dbe2e27b
--- /dev/null
+++ b/Lang/Java/Combinations-with-repetitions
@@ -0,0 +1 @@
+../../Task/Combinations-with-repetitions/Java
\ No newline at end of file
diff --git a/Lang/Java/Command-line-arguments b/Lang/Java/Command-line-arguments
new file mode 120000
index 0000000000..502c5f6288
--- /dev/null
+++ b/Lang/Java/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Java
\ No newline at end of file
diff --git a/Lang/Java/Compound-data-type b/Lang/Java/Compound-data-type
new file mode 120000
index 0000000000..361a8ca67a
--- /dev/null
+++ b/Lang/Java/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/Java
\ No newline at end of file
diff --git a/Lang/Java/Concurrent-computing b/Lang/Java/Concurrent-computing
new file mode 120000
index 0000000000..f4c5b02aef
--- /dev/null
+++ b/Lang/Java/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/Java
\ No newline at end of file
diff --git a/Lang/Java/Conditional-structures b/Lang/Java/Conditional-structures
new file mode 120000
index 0000000000..6a5e56b0ff
--- /dev/null
+++ b/Lang/Java/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Java
\ No newline at end of file
diff --git a/Lang/Java/Constrained-genericity b/Lang/Java/Constrained-genericity
new file mode 120000
index 0000000000..e6d21dd9df
--- /dev/null
+++ b/Lang/Java/Constrained-genericity
@@ -0,0 +1 @@
+../../Task/Constrained-genericity/Java
\ No newline at end of file
diff --git a/Lang/Java/Constrained-random-points-on-a-circle b/Lang/Java/Constrained-random-points-on-a-circle
new file mode 120000
index 0000000000..e5b1ac3a0d
--- /dev/null
+++ b/Lang/Java/Constrained-random-points-on-a-circle
@@ -0,0 +1 @@
+../../Task/Constrained-random-points-on-a-circle/Java
\ No newline at end of file
diff --git a/Lang/Java/Conways-Game-of-Life b/Lang/Java/Conways-Game-of-Life
new file mode 120000
index 0000000000..ed2a4ae2d8
--- /dev/null
+++ b/Lang/Java/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/Java
\ No newline at end of file
diff --git a/Lang/Java/Count-in-factors b/Lang/Java/Count-in-factors
new file mode 120000
index 0000000000..e8b2aae6f7
--- /dev/null
+++ b/Lang/Java/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/Java
\ No newline at end of file
diff --git a/Lang/Java/Count-in-octal b/Lang/Java/Count-in-octal
new file mode 120000
index 0000000000..403d47cc27
--- /dev/null
+++ b/Lang/Java/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/Java
\ No newline at end of file
diff --git a/Lang/Java/Count-occurrences-of-a-substring b/Lang/Java/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..06c4e7f33c
--- /dev/null
+++ b/Lang/Java/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/Java
\ No newline at end of file
diff --git a/Lang/Java/Count-the-coins b/Lang/Java/Count-the-coins
new file mode 120000
index 0000000000..4b77e8918e
--- /dev/null
+++ b/Lang/Java/Count-the-coins
@@ -0,0 +1 @@
+../../Task/Count-the-coins/Java
\ No newline at end of file
diff --git a/Lang/Java/Create-a-file b/Lang/Java/Create-a-file
new file mode 120000
index 0000000000..dc7be96a40
--- /dev/null
+++ b/Lang/Java/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/Java
\ No newline at end of file
diff --git a/Lang/Java/Create-a-two-dimensional-array-at-runtime b/Lang/Java/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..1ebe94ccfe
--- /dev/null
+++ b/Lang/Java/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/Java
\ No newline at end of file
diff --git a/Lang/Java/Create-an-HTML-table b/Lang/Java/Create-an-HTML-table
new file mode 120000
index 0000000000..23bbd2d932
--- /dev/null
+++ b/Lang/Java/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/Java
\ No newline at end of file
diff --git a/Lang/Java/Date-format b/Lang/Java/Date-format
new file mode 120000
index 0000000000..7431c671fd
--- /dev/null
+++ b/Lang/Java/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/Java
\ No newline at end of file
diff --git a/Lang/Java/Date-manipulation b/Lang/Java/Date-manipulation
new file mode 120000
index 0000000000..b4246b4efb
--- /dev/null
+++ b/Lang/Java/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/Java
\ No newline at end of file
diff --git a/Lang/Java/Day-of-the-week b/Lang/Java/Day-of-the-week
new file mode 120000
index 0000000000..0b3e938605
--- /dev/null
+++ b/Lang/Java/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/Java
\ No newline at end of file
diff --git a/Lang/Java/Deconvolution-1D b/Lang/Java/Deconvolution-1D
new file mode 120000
index 0000000000..15681c985c
--- /dev/null
+++ b/Lang/Java/Deconvolution-1D
@@ -0,0 +1 @@
+../../Task/Deconvolution-1D/Java
\ No newline at end of file
diff --git a/Lang/Java/Determine-if-only-one-instance-is-running b/Lang/Java/Determine-if-only-one-instance-is-running
new file mode 120000
index 0000000000..bac10c1ce8
--- /dev/null
+++ b/Lang/Java/Determine-if-only-one-instance-is-running
@@ -0,0 +1 @@
+../../Task/Determine-if-only-one-instance-is-running/Java
\ No newline at end of file
diff --git a/Lang/Java/Digital-root b/Lang/Java/Digital-root
new file mode 120000
index 0000000000..357152bf30
--- /dev/null
+++ b/Lang/Java/Digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root/Java
\ No newline at end of file
diff --git a/Lang/Java/Dinesmans-multiple-dwelling-problem b/Lang/Java/Dinesmans-multiple-dwelling-problem
new file mode 120000
index 0000000000..03ae98287c
--- /dev/null
+++ b/Lang/Java/Dinesmans-multiple-dwelling-problem
@@ -0,0 +1 @@
+../../Task/Dinesmans-multiple-dwelling-problem/Java
\ No newline at end of file
diff --git a/Lang/Java/Dining-philosophers b/Lang/Java/Dining-philosophers
new file mode 120000
index 0000000000..08a07b06df
--- /dev/null
+++ b/Lang/Java/Dining-philosophers
@@ -0,0 +1 @@
+../../Task/Dining-philosophers/Java
\ No newline at end of file
diff --git a/Lang/Java/Documentation b/Lang/Java/Documentation
new file mode 120000
index 0000000000..c98a80104f
--- /dev/null
+++ b/Lang/Java/Documentation
@@ -0,0 +1 @@
+../../Task/Documentation/Java
\ No newline at end of file
diff --git a/Lang/Java/Dot-product b/Lang/Java/Dot-product
new file mode 120000
index 0000000000..20efa56242
--- /dev/null
+++ b/Lang/Java/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Java
\ No newline at end of file
diff --git a/Lang/Java/Doubly-linked-list-Element-definition b/Lang/Java/Doubly-linked-list-Element-definition
new file mode 120000
index 0000000000..0c69892b2e
--- /dev/null
+++ b/Lang/Java/Doubly-linked-list-Element-definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-definition/Java
\ No newline at end of file
diff --git a/Lang/Java/Doubly-linked-list-Traversal b/Lang/Java/Doubly-linked-list-Traversal
new file mode 120000
index 0000000000..aa3d6e9da8
--- /dev/null
+++ b/Lang/Java/Doubly-linked-list-Traversal
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Traversal/Java
\ No newline at end of file
diff --git a/Lang/Java/Draw-a-sphere b/Lang/Java/Draw-a-sphere
new file mode 120000
index 0000000000..04ba801c6c
--- /dev/null
+++ b/Lang/Java/Draw-a-sphere
@@ -0,0 +1 @@
+../../Task/Draw-a-sphere/Java
\ No newline at end of file
diff --git a/Lang/Java/Echo-server b/Lang/Java/Echo-server
new file mode 120000
index 0000000000..bee0810672
--- /dev/null
+++ b/Lang/Java/Echo-server
@@ -0,0 +1 @@
+../../Task/Echo-server/Java
\ No newline at end of file
diff --git a/Lang/Java/Empty-directory b/Lang/Java/Empty-directory
new file mode 120000
index 0000000000..15e0e3e510
--- /dev/null
+++ b/Lang/Java/Empty-directory
@@ -0,0 +1 @@
+../../Task/Empty-directory/Java
\ No newline at end of file
diff --git a/Lang/Java/Empty-program b/Lang/Java/Empty-program
new file mode 120000
index 0000000000..51f8ce06df
--- /dev/null
+++ b/Lang/Java/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/Java
\ No newline at end of file
diff --git a/Lang/Java/Empty-string b/Lang/Java/Empty-string
new file mode 120000
index 0000000000..1b422a15d4
--- /dev/null
+++ b/Lang/Java/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/Java
\ No newline at end of file
diff --git a/Lang/Java/Enforced-immutability b/Lang/Java/Enforced-immutability
new file mode 120000
index 0000000000..7b1b3f3105
--- /dev/null
+++ b/Lang/Java/Enforced-immutability
@@ -0,0 +1 @@
+../../Task/Enforced-immutability/Java
\ No newline at end of file
diff --git a/Lang/Java/Enumerations b/Lang/Java/Enumerations
new file mode 120000
index 0000000000..824767eb79
--- /dev/null
+++ b/Lang/Java/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/Java
\ No newline at end of file
diff --git a/Lang/Java/Equilibrium-index b/Lang/Java/Equilibrium-index
new file mode 120000
index 0000000000..06c685b29c
--- /dev/null
+++ b/Lang/Java/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/Java
\ No newline at end of file
diff --git a/Lang/Java/Ethiopian-multiplication b/Lang/Java/Ethiopian-multiplication
new file mode 120000
index 0000000000..6e668fde80
--- /dev/null
+++ b/Lang/Java/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Java
\ No newline at end of file
diff --git a/Lang/Java/Euler-method b/Lang/Java/Euler-method
new file mode 120000
index 0000000000..27411ef936
--- /dev/null
+++ b/Lang/Java/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/Java
\ No newline at end of file
diff --git a/Lang/Java/Evaluate-binomial-coefficients b/Lang/Java/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..24e108a10b
--- /dev/null
+++ b/Lang/Java/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/Java
\ No newline at end of file
diff --git a/Lang/Java/Even-or-odd b/Lang/Java/Even-or-odd
new file mode 120000
index 0000000000..53b0095bdc
--- /dev/null
+++ b/Lang/Java/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/Java
\ No newline at end of file
diff --git a/Lang/Java/Evolutionary-algorithm b/Lang/Java/Evolutionary-algorithm
new file mode 120000
index 0000000000..74b93cbe44
--- /dev/null
+++ b/Lang/Java/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/Java
\ No newline at end of file
diff --git a/Lang/Java/Exceptions b/Lang/Java/Exceptions
new file mode 120000
index 0000000000..b2360a68a4
--- /dev/null
+++ b/Lang/Java/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/Java
\ No newline at end of file
diff --git a/Lang/Java/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/Java/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..f5a1459d9d
--- /dev/null
+++ b/Lang/Java/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/Java
\ No newline at end of file
diff --git a/Lang/Java/Execute-a-system-command b/Lang/Java/Execute-a-system-command
new file mode 120000
index 0000000000..1d980781ff
--- /dev/null
+++ b/Lang/Java/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/Java
\ No newline at end of file
diff --git a/Lang/Java/Exponentiation-operator b/Lang/Java/Exponentiation-operator
new file mode 120000
index 0000000000..183d3a770f
--- /dev/null
+++ b/Lang/Java/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/Java
\ No newline at end of file
diff --git a/Lang/Java/Extreme-floating-point-values b/Lang/Java/Extreme-floating-point-values
new file mode 120000
index 0000000000..c1ff50f875
--- /dev/null
+++ b/Lang/Java/Extreme-floating-point-values
@@ -0,0 +1 @@
+../../Task/Extreme-floating-point-values/Java
\ No newline at end of file
diff --git a/Lang/JavaScript/CSV-to-HTML-translation b/Lang/JavaScript/CSV-to-HTML-translation
new file mode 120000
index 0000000000..a7e0faa9ac
--- /dev/null
+++ b/Lang/JavaScript/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Call-a-function b/Lang/JavaScript/Call-a-function
new file mode 120000
index 0000000000..1e35875e69
--- /dev/null
+++ b/Lang/JavaScript/Call-a-function
@@ -0,0 +1 @@
+../../Task/Call-a-function/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Case-sensitivity-of-identifiers b/Lang/JavaScript/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..5a8b8f98cc
--- /dev/null
+++ b/Lang/JavaScript/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Character-codes b/Lang/JavaScript/Character-codes
new file mode 120000
index 0000000000..7f944ef95c
--- /dev/null
+++ b/Lang/JavaScript/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Character-matching b/Lang/JavaScript/Character-matching
new file mode 120000
index 0000000000..ffe8cb3d81
--- /dev/null
+++ b/Lang/JavaScript/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Chat-server b/Lang/JavaScript/Chat-server
new file mode 120000
index 0000000000..81f9297bf4
--- /dev/null
+++ b/Lang/JavaScript/Chat-server
@@ -0,0 +1 @@
+../../Task/Chat-server/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Combinations b/Lang/JavaScript/Combinations
new file mode 120000
index 0000000000..f9e267c1bb
--- /dev/null
+++ b/Lang/JavaScript/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Combinations-with-repetitions b/Lang/JavaScript/Combinations-with-repetitions
new file mode 120000
index 0000000000..83f418de5b
--- /dev/null
+++ b/Lang/JavaScript/Combinations-with-repetitions
@@ -0,0 +1 @@
+../../Task/Combinations-with-repetitions/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Command-line-arguments b/Lang/JavaScript/Command-line-arguments
new file mode 120000
index 0000000000..78227fc73a
--- /dev/null
+++ b/Lang/JavaScript/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Compound-data-type b/Lang/JavaScript/Compound-data-type
new file mode 120000
index 0000000000..e8c8b1daaa
--- /dev/null
+++ b/Lang/JavaScript/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Concurrent-computing b/Lang/JavaScript/Concurrent-computing
new file mode 120000
index 0000000000..22c890c959
--- /dev/null
+++ b/Lang/JavaScript/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Conditional-structures b/Lang/JavaScript/Conditional-structures
new file mode 120000
index 0000000000..65593fef98
--- /dev/null
+++ b/Lang/JavaScript/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Constrained-random-points-on-a-circle b/Lang/JavaScript/Constrained-random-points-on-a-circle
new file mode 120000
index 0000000000..c93889bf98
--- /dev/null
+++ b/Lang/JavaScript/Constrained-random-points-on-a-circle
@@ -0,0 +1 @@
+../../Task/Constrained-random-points-on-a-circle/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Conways-Game-of-Life b/Lang/JavaScript/Conways-Game-of-Life
new file mode 120000
index 0000000000..4796e9bcce
--- /dev/null
+++ b/Lang/JavaScript/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Count-in-factors b/Lang/JavaScript/Count-in-factors
new file mode 120000
index 0000000000..ada5d66831
--- /dev/null
+++ b/Lang/JavaScript/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Count-in-octal b/Lang/JavaScript/Count-in-octal
new file mode 120000
index 0000000000..79cd18a3cc
--- /dev/null
+++ b/Lang/JavaScript/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Count-occurrences-of-a-substring b/Lang/JavaScript/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..418fa9172d
--- /dev/null
+++ b/Lang/JavaScript/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Count-the-coins b/Lang/JavaScript/Count-the-coins
new file mode 120000
index 0000000000..c633fb0234
--- /dev/null
+++ b/Lang/JavaScript/Count-the-coins
@@ -0,0 +1 @@
+../../Task/Count-the-coins/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Create-a-two-dimensional-array-at-runtime b/Lang/JavaScript/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..ee4c6d005d
--- /dev/null
+++ b/Lang/JavaScript/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Create-an-HTML-table b/Lang/JavaScript/Create-an-HTML-table
new file mode 120000
index 0000000000..4bfe236eaf
--- /dev/null
+++ b/Lang/JavaScript/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Date-format b/Lang/JavaScript/Date-format
new file mode 120000
index 0000000000..da48a881e0
--- /dev/null
+++ b/Lang/JavaScript/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Date-manipulation b/Lang/JavaScript/Date-manipulation
new file mode 120000
index 0000000000..2800a27969
--- /dev/null
+++ b/Lang/JavaScript/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Day-of-the-week b/Lang/JavaScript/Day-of-the-week
new file mode 120000
index 0000000000..68df92c53f
--- /dev/null
+++ b/Lang/JavaScript/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Deal-cards-for-FreeCell b/Lang/JavaScript/Deal-cards-for-FreeCell
new file mode 120000
index 0000000000..f6b5316169
--- /dev/null
+++ b/Lang/JavaScript/Deal-cards-for-FreeCell
@@ -0,0 +1 @@
+../../Task/Deal-cards-for-FreeCell/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Deepcopy b/Lang/JavaScript/Deepcopy
new file mode 120000
index 0000000000..47197fe6cb
--- /dev/null
+++ b/Lang/JavaScript/Deepcopy
@@ -0,0 +1 @@
+../../Task/Deepcopy/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Discordian-date b/Lang/JavaScript/Discordian-date
new file mode 120000
index 0000000000..11f07163f4
--- /dev/null
+++ b/Lang/JavaScript/Discordian-date
@@ -0,0 +1 @@
+../../Task/Discordian-date/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Distributed-programming b/Lang/JavaScript/Distributed-programming
new file mode 120000
index 0000000000..e42117d644
--- /dev/null
+++ b/Lang/JavaScript/Distributed-programming
@@ -0,0 +1 @@
+../../Task/Distributed-programming/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Dot-product b/Lang/JavaScript/Dot-product
new file mode 120000
index 0000000000..75d36ede6a
--- /dev/null
+++ b/Lang/JavaScript/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Doubly-linked-list-Element-definition b/Lang/JavaScript/Doubly-linked-list-Element-definition
new file mode 120000
index 0000000000..29f843e837
--- /dev/null
+++ b/Lang/JavaScript/Doubly-linked-list-Element-definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-definition/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Doubly-linked-list-Element-insertion b/Lang/JavaScript/Doubly-linked-list-Element-insertion
new file mode 120000
index 0000000000..467f7b6e3c
--- /dev/null
+++ b/Lang/JavaScript/Doubly-linked-list-Element-insertion
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-insertion/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Doubly-linked-list-Traversal b/Lang/JavaScript/Doubly-linked-list-Traversal
new file mode 120000
index 0000000000..9445f5b70f
--- /dev/null
+++ b/Lang/JavaScript/Doubly-linked-list-Traversal
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Traversal/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Dynamic-variable-names b/Lang/JavaScript/Dynamic-variable-names
new file mode 120000
index 0000000000..e81feb18c5
--- /dev/null
+++ b/Lang/JavaScript/Dynamic-variable-names
@@ -0,0 +1 @@
+../../Task/Dynamic-variable-names/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Echo-server b/Lang/JavaScript/Echo-server
new file mode 120000
index 0000000000..0119e73e6a
--- /dev/null
+++ b/Lang/JavaScript/Echo-server
@@ -0,0 +1 @@
+../../Task/Echo-server/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Enforced-immutability b/Lang/JavaScript/Enforced-immutability
new file mode 120000
index 0000000000..86c54d206d
--- /dev/null
+++ b/Lang/JavaScript/Enforced-immutability
@@ -0,0 +1 @@
+../../Task/Enforced-immutability/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Enumerations b/Lang/JavaScript/Enumerations
new file mode 120000
index 0000000000..73fe9f8c58
--- /dev/null
+++ b/Lang/JavaScript/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Evaluate-binomial-coefficients b/Lang/JavaScript/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..363e5fbcb3
--- /dev/null
+++ b/Lang/JavaScript/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Even-or-odd b/Lang/JavaScript/Even-or-odd
new file mode 120000
index 0000000000..d3c8893509
--- /dev/null
+++ b/Lang/JavaScript/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Events b/Lang/JavaScript/Events
new file mode 120000
index 0000000000..ab94651376
--- /dev/null
+++ b/Lang/JavaScript/Events
@@ -0,0 +1 @@
+../../Task/Events/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Evolutionary-algorithm b/Lang/JavaScript/Evolutionary-algorithm
new file mode 120000
index 0000000000..8bfafba31e
--- /dev/null
+++ b/Lang/JavaScript/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Exceptions b/Lang/JavaScript/Exceptions
new file mode 120000
index 0000000000..0d98c40fcd
--- /dev/null
+++ b/Lang/JavaScript/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/JavaScript/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..52647d4234
--- /dev/null
+++ b/Lang/JavaScript/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Execute-HQ9+ b/Lang/JavaScript/Execute-HQ9+
new file mode 120000
index 0000000000..4c05699b25
--- /dev/null
+++ b/Lang/JavaScript/Execute-HQ9+
@@ -0,0 +1 @@
+../../Task/Execute-HQ9+/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Execute-a-system-command b/Lang/JavaScript/Execute-a-system-command
new file mode 120000
index 0000000000..f999b317b4
--- /dev/null
+++ b/Lang/JavaScript/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Exponentiation-operator b/Lang/JavaScript/Exponentiation-operator
new file mode 120000
index 0000000000..d1bae969f1
--- /dev/null
+++ b/Lang/JavaScript/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/JavaScript
\ No newline at end of file
diff --git a/Lang/LaTeX/Empty-program b/Lang/LaTeX/Empty-program
new file mode 120000
index 0000000000..b3546f5147
--- /dev/null
+++ b/Lang/LaTeX/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/LaTeX
\ No newline at end of file
diff --git a/Lang/Lua/CSV-to-HTML-translation b/Lang/Lua/CSV-to-HTML-translation
new file mode 120000
index 0000000000..d84aca6d29
--- /dev/null
+++ b/Lang/Lua/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Case-sensitivity-of-identifiers b/Lang/Lua/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..7967241ce7
--- /dev/null
+++ b/Lang/Lua/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Character-codes b/Lang/Lua/Character-codes
new file mode 120000
index 0000000000..8f67280ab4
--- /dev/null
+++ b/Lang/Lua/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Character-matching b/Lang/Lua/Character-matching
new file mode 120000
index 0000000000..b6e2b08ca5
--- /dev/null
+++ b/Lang/Lua/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Combinations b/Lang/Lua/Combinations
new file mode 120000
index 0000000000..bf5226a244
--- /dev/null
+++ b/Lang/Lua/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Command-line-arguments b/Lang/Lua/Command-line-arguments
new file mode 120000
index 0000000000..15e12cd1ae
--- /dev/null
+++ b/Lang/Lua/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Compound-data-type b/Lang/Lua/Compound-data-type
new file mode 120000
index 0000000000..64a90895cb
--- /dev/null
+++ b/Lang/Lua/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Concurrent-computing b/Lang/Lua/Concurrent-computing
new file mode 120000
index 0000000000..8c829867c4
--- /dev/null
+++ b/Lang/Lua/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Conditional-structures b/Lang/Lua/Conditional-structures
new file mode 120000
index 0000000000..1a014aa343
--- /dev/null
+++ b/Lang/Lua/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Conways-Game-of-Life b/Lang/Lua/Conways-Game-of-Life
new file mode 120000
index 0000000000..15a131414b
--- /dev/null
+++ b/Lang/Lua/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Count-in-factors b/Lang/Lua/Count-in-factors
new file mode 120000
index 0000000000..9a40dc2f61
--- /dev/null
+++ b/Lang/Lua/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Count-in-octal b/Lang/Lua/Count-in-octal
new file mode 120000
index 0000000000..c3dd25cc51
--- /dev/null
+++ b/Lang/Lua/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Count-occurrences-of-a-substring b/Lang/Lua/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..0e875ca445
--- /dev/null
+++ b/Lang/Lua/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Create-a-file b/Lang/Lua/Create-a-file
new file mode 120000
index 0000000000..5a827db16e
--- /dev/null
+++ b/Lang/Lua/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Create-a-two-dimensional-array-at-runtime b/Lang/Lua/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..b0a8dda821
--- /dev/null
+++ b/Lang/Lua/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Date-format b/Lang/Lua/Date-format
new file mode 120000
index 0000000000..461d1d0f46
--- /dev/null
+++ b/Lang/Lua/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Date-manipulation b/Lang/Lua/Date-manipulation
new file mode 120000
index 0000000000..5a76a66042
--- /dev/null
+++ b/Lang/Lua/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Day-of-the-week b/Lang/Lua/Day-of-the-week
new file mode 120000
index 0000000000..619fd81ce2
--- /dev/null
+++ b/Lang/Lua/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Deconvolution-1D b/Lang/Lua/Deconvolution-1D
new file mode 120000
index 0000000000..1daec539ee
--- /dev/null
+++ b/Lang/Lua/Deconvolution-1D
@@ -0,0 +1 @@
+../../Task/Deconvolution-1D/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Dot-product b/Lang/Lua/Dot-product
new file mode 120000
index 0000000000..9f1985ed32
--- /dev/null
+++ b/Lang/Lua/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Draw-a-sphere b/Lang/Lua/Draw-a-sphere
new file mode 120000
index 0000000000..841ab3aa78
--- /dev/null
+++ b/Lang/Lua/Draw-a-sphere
@@ -0,0 +1 @@
+../../Task/Draw-a-sphere/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Dynamic-variable-names b/Lang/Lua/Dynamic-variable-names
new file mode 120000
index 0000000000..b1b8ff7b38
--- /dev/null
+++ b/Lang/Lua/Dynamic-variable-names
@@ -0,0 +1 @@
+../../Task/Dynamic-variable-names/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Empty-program b/Lang/Lua/Empty-program
new file mode 120000
index 0000000000..451d4b192d
--- /dev/null
+++ b/Lang/Lua/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Empty-string b/Lang/Lua/Empty-string
new file mode 120000
index 0000000000..b47938433e
--- /dev/null
+++ b/Lang/Lua/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Enumerations b/Lang/Lua/Enumerations
new file mode 120000
index 0000000000..07de3a6a49
--- /dev/null
+++ b/Lang/Lua/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Ethiopian-multiplication b/Lang/Lua/Ethiopian-multiplication
new file mode 120000
index 0000000000..7034fb0686
--- /dev/null
+++ b/Lang/Lua/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Euler-method b/Lang/Lua/Euler-method
new file mode 120000
index 0000000000..59912f5045
--- /dev/null
+++ b/Lang/Lua/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Evaluate-binomial-coefficients b/Lang/Lua/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..4f4acc470e
--- /dev/null
+++ b/Lang/Lua/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Even-or-odd b/Lang/Lua/Even-or-odd
new file mode 120000
index 0000000000..9b7d1347af
--- /dev/null
+++ b/Lang/Lua/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Evolutionary-algorithm b/Lang/Lua/Evolutionary-algorithm
new file mode 120000
index 0000000000..0439bc263d
--- /dev/null
+++ b/Lang/Lua/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Exceptions b/Lang/Lua/Exceptions
new file mode 120000
index 0000000000..fda87d55b4
--- /dev/null
+++ b/Lang/Lua/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/Lua/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..466c56b6a0
--- /dev/null
+++ b/Lang/Lua/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Execute-a-system-command b/Lang/Lua/Execute-a-system-command
new file mode 120000
index 0000000000..f56dbfe50d
--- /dev/null
+++ b/Lang/Lua/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Exponentiation-operator b/Lang/Lua/Exponentiation-operator
new file mode 120000
index 0000000000..55c985ff0c
--- /dev/null
+++ b/Lang/Lua/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/Lua
\ No newline at end of file
diff --git a/Lang/MATLAB/CSV-to-HTML-translation b/Lang/MATLAB/CSV-to-HTML-translation
new file mode 120000
index 0000000000..df1e684ceb
--- /dev/null
+++ b/Lang/MATLAB/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Call-a-function b/Lang/MATLAB/Call-a-function
new file mode 120000
index 0000000000..b21eb06a03
--- /dev/null
+++ b/Lang/MATLAB/Call-a-function
@@ -0,0 +1 @@
+../../Task/Call-a-function/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Case-sensitivity-of-identifiers b/Lang/MATLAB/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..fdb0b777a0
--- /dev/null
+++ b/Lang/MATLAB/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Character-codes b/Lang/MATLAB/Character-codes
new file mode 120000
index 0000000000..fa78a29d3b
--- /dev/null
+++ b/Lang/MATLAB/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Character-matching b/Lang/MATLAB/Character-matching
new file mode 120000
index 0000000000..aacc0c8fa7
--- /dev/null
+++ b/Lang/MATLAB/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Cholesky-decomposition b/Lang/MATLAB/Cholesky-decomposition
new file mode 120000
index 0000000000..3018be939b
--- /dev/null
+++ b/Lang/MATLAB/Cholesky-decomposition
@@ -0,0 +1 @@
+../../Task/Cholesky-decomposition/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Combinations b/Lang/MATLAB/Combinations
new file mode 120000
index 0000000000..cb35730530
--- /dev/null
+++ b/Lang/MATLAB/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Conditional-structures b/Lang/MATLAB/Conditional-structures
new file mode 120000
index 0000000000..ec46f0acc5
--- /dev/null
+++ b/Lang/MATLAB/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Constrained-random-points-on-a-circle b/Lang/MATLAB/Constrained-random-points-on-a-circle
new file mode 120000
index 0000000000..9d617273ba
--- /dev/null
+++ b/Lang/MATLAB/Constrained-random-points-on-a-circle
@@ -0,0 +1 @@
+../../Task/Constrained-random-points-on-a-circle/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Conways-Game-of-Life b/Lang/MATLAB/Conways-Game-of-Life
new file mode 120000
index 0000000000..716482fad5
--- /dev/null
+++ b/Lang/MATLAB/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Count-in-octal b/Lang/MATLAB/Count-in-octal
new file mode 120000
index 0000000000..eb0ba09b20
--- /dev/null
+++ b/Lang/MATLAB/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Count-occurrences-of-a-substring b/Lang/MATLAB/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..baa3b269c4
--- /dev/null
+++ b/Lang/MATLAB/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Create-a-file b/Lang/MATLAB/Create-a-file
new file mode 120000
index 0000000000..8e174ad892
--- /dev/null
+++ b/Lang/MATLAB/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Create-a-two-dimensional-array-at-runtime b/Lang/MATLAB/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..4c4e8e1fdf
--- /dev/null
+++ b/Lang/MATLAB/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Create-an-HTML-table b/Lang/MATLAB/Create-an-HTML-table
new file mode 120000
index 0000000000..37cff656b3
--- /dev/null
+++ b/Lang/MATLAB/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Date-format b/Lang/MATLAB/Date-format
new file mode 120000
index 0000000000..b571c6c63c
--- /dev/null
+++ b/Lang/MATLAB/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Day-of-the-week b/Lang/MATLAB/Day-of-the-week
new file mode 120000
index 0000000000..dc3c5b966e
--- /dev/null
+++ b/Lang/MATLAB/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Deconvolution-1D b/Lang/MATLAB/Deconvolution-1D
new file mode 120000
index 0000000000..c6682550ae
--- /dev/null
+++ b/Lang/MATLAB/Deconvolution-1D
@@ -0,0 +1 @@
+../../Task/Deconvolution-1D/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Dot-product b/Lang/MATLAB/Dot-product
new file mode 120000
index 0000000000..0f946ba7c3
--- /dev/null
+++ b/Lang/MATLAB/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Empty-directory b/Lang/MATLAB/Empty-directory
new file mode 120000
index 0000000000..fa0c8ec57e
--- /dev/null
+++ b/Lang/MATLAB/Empty-directory
@@ -0,0 +1 @@
+../../Task/Empty-directory/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Empty-program b/Lang/MATLAB/Empty-program
new file mode 120000
index 0000000000..c965bf4e52
--- /dev/null
+++ b/Lang/MATLAB/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Empty-string b/Lang/MATLAB/Empty-string
new file mode 120000
index 0000000000..acbb7829e6
--- /dev/null
+++ b/Lang/MATLAB/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Enumerations b/Lang/MATLAB/Enumerations
new file mode 120000
index 0000000000..b8b56424cd
--- /dev/null
+++ b/Lang/MATLAB/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Equilibrium-index b/Lang/MATLAB/Equilibrium-index
new file mode 120000
index 0000000000..b28dfd8dd7
--- /dev/null
+++ b/Lang/MATLAB/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Ethiopian-multiplication b/Lang/MATLAB/Ethiopian-multiplication
new file mode 120000
index 0000000000..f4c06d23e7
--- /dev/null
+++ b/Lang/MATLAB/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Evaluate-binomial-coefficients b/Lang/MATLAB/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..8b6183033f
--- /dev/null
+++ b/Lang/MATLAB/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Even-or-odd b/Lang/MATLAB/Even-or-odd
new file mode 120000
index 0000000000..91949a5cf0
--- /dev/null
+++ b/Lang/MATLAB/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Evolutionary-algorithm b/Lang/MATLAB/Evolutionary-algorithm
new file mode 120000
index 0000000000..9f434bf030
--- /dev/null
+++ b/Lang/MATLAB/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Exceptions b/Lang/MATLAB/Exceptions
new file mode 120000
index 0000000000..a083b7620c
--- /dev/null
+++ b/Lang/MATLAB/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/MATLAB/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..27e26bd5a1
--- /dev/null
+++ b/Lang/MATLAB/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Execute-a-system-command b/Lang/MATLAB/Execute-a-system-command
new file mode 120000
index 0000000000..996b1d0763
--- /dev/null
+++ b/Lang/MATLAB/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/MATLAB
\ No newline at end of file
diff --git a/Lang/PHP/CRC-32 b/Lang/PHP/CRC-32
new file mode 120000
index 0000000000..bd8acf6eda
--- /dev/null
+++ b/Lang/PHP/CRC-32
@@ -0,0 +1 @@
+../../Task/CRC-32/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Calendar-for-real-programmers b/Lang/PHP/Calendar-for-real-programmers
new file mode 120000
index 0000000000..d07c5a38f9
--- /dev/null
+++ b/Lang/PHP/Calendar-for-real-programmers
@@ -0,0 +1 @@
+../../Task/Calendar-for-real-programmers/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Call-an-object-method b/Lang/PHP/Call-an-object-method
new file mode 120000
index 0000000000..2058458793
--- /dev/null
+++ b/Lang/PHP/Call-an-object-method
@@ -0,0 +1 @@
+../../Task/Call-an-object-method/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Character-codes b/Lang/PHP/Character-codes
new file mode 120000
index 0000000000..b914a14e99
--- /dev/null
+++ b/Lang/PHP/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Colour-bars-Display b/Lang/PHP/Colour-bars-Display
new file mode 120000
index 0000000000..e293ea4783
--- /dev/null
+++ b/Lang/PHP/Colour-bars-Display
@@ -0,0 +1 @@
+../../Task/Colour-bars-Display/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Combinations-with-repetitions b/Lang/PHP/Combinations-with-repetitions
new file mode 120000
index 0000000000..5ea670fe1a
--- /dev/null
+++ b/Lang/PHP/Combinations-with-repetitions
@@ -0,0 +1 @@
+../../Task/Combinations-with-repetitions/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Command-line-arguments b/Lang/PHP/Command-line-arguments
new file mode 120000
index 0000000000..8eb998fc74
--- /dev/null
+++ b/Lang/PHP/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Compound-data-type b/Lang/PHP/Compound-data-type
new file mode 120000
index 0000000000..c62635f3a2
--- /dev/null
+++ b/Lang/PHP/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Conditional-structures b/Lang/PHP/Conditional-structures
new file mode 120000
index 0000000000..e7125c6aab
--- /dev/null
+++ b/Lang/PHP/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Count-in-octal b/Lang/PHP/Count-in-octal
new file mode 120000
index 0000000000..be0d50cf88
--- /dev/null
+++ b/Lang/PHP/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Count-occurrences-of-a-substring b/Lang/PHP/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..5c88292c45
--- /dev/null
+++ b/Lang/PHP/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Create-a-file b/Lang/PHP/Create-a-file
new file mode 120000
index 0000000000..6c3483a2a1
--- /dev/null
+++ b/Lang/PHP/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Create-an-HTML-table b/Lang/PHP/Create-an-HTML-table
new file mode 120000
index 0000000000..156dfef0b6
--- /dev/null
+++ b/Lang/PHP/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/PHP
\ No newline at end of file
diff --git a/Lang/PHP/DNS-query b/Lang/PHP/DNS-query
new file mode 120000
index 0000000000..8942e43c98
--- /dev/null
+++ b/Lang/PHP/DNS-query
@@ -0,0 +1 @@
+../../Task/DNS-query/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Date-format b/Lang/PHP/Date-format
new file mode 120000
index 0000000000..a4c5f1f633
--- /dev/null
+++ b/Lang/PHP/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Date-manipulation b/Lang/PHP/Date-manipulation
new file mode 120000
index 0000000000..0632d26a7c
--- /dev/null
+++ b/Lang/PHP/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Day-of-the-week b/Lang/PHP/Day-of-the-week
new file mode 120000
index 0000000000..818ec00862
--- /dev/null
+++ b/Lang/PHP/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Deepcopy b/Lang/PHP/Deepcopy
new file mode 120000
index 0000000000..3c7f37540e
--- /dev/null
+++ b/Lang/PHP/Deepcopy
@@ -0,0 +1 @@
+../../Task/Deepcopy/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Discordian-date b/Lang/PHP/Discordian-date
new file mode 120000
index 0000000000..4773874d6e
--- /dev/null
+++ b/Lang/PHP/Discordian-date
@@ -0,0 +1 @@
+../../Task/Discordian-date/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Dot-product b/Lang/PHP/Dot-product
new file mode 120000
index 0000000000..f2624154b2
--- /dev/null
+++ b/Lang/PHP/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Dynamic-variable-names b/Lang/PHP/Dynamic-variable-names
new file mode 120000
index 0000000000..a41f592a06
--- /dev/null
+++ b/Lang/PHP/Dynamic-variable-names
@@ -0,0 +1 @@
+../../Task/Dynamic-variable-names/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Echo-server b/Lang/PHP/Echo-server
new file mode 120000
index 0000000000..4dd6b974a1
--- /dev/null
+++ b/Lang/PHP/Echo-server
@@ -0,0 +1 @@
+../../Task/Echo-server/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Empty-directory b/Lang/PHP/Empty-directory
new file mode 120000
index 0000000000..2f3d6054a1
--- /dev/null
+++ b/Lang/PHP/Empty-directory
@@ -0,0 +1 @@
+../../Task/Empty-directory/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Empty-string b/Lang/PHP/Empty-string
new file mode 120000
index 0000000000..74964845d5
--- /dev/null
+++ b/Lang/PHP/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Enforced-immutability b/Lang/PHP/Enforced-immutability
new file mode 120000
index 0000000000..82f5819dc0
--- /dev/null
+++ b/Lang/PHP/Enforced-immutability
@@ -0,0 +1 @@
+../../Task/Enforced-immutability/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Enumerations b/Lang/PHP/Enumerations
new file mode 120000
index 0000000000..d054294a61
--- /dev/null
+++ b/Lang/PHP/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Equilibrium-index b/Lang/PHP/Equilibrium-index
new file mode 120000
index 0000000000..cb9e973a48
--- /dev/null
+++ b/Lang/PHP/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Ethiopian-multiplication b/Lang/PHP/Ethiopian-multiplication
new file mode 120000
index 0000000000..6c06d76ba9
--- /dev/null
+++ b/Lang/PHP/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Evaluate-binomial-coefficients b/Lang/PHP/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..1e799564a8
--- /dev/null
+++ b/Lang/PHP/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Even-or-odd b/Lang/PHP/Even-or-odd
new file mode 120000
index 0000000000..55755f1aec
--- /dev/null
+++ b/Lang/PHP/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Exceptions b/Lang/PHP/Exceptions
new file mode 120000
index 0000000000..11851fd954
--- /dev/null
+++ b/Lang/PHP/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Execute-a-system-command b/Lang/PHP/Execute-a-system-command
new file mode 120000
index 0000000000..213d368af9
--- /dev/null
+++ b/Lang/PHP/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/PHP
\ No newline at end of file
diff --git a/Lang/PIR/Empty-program b/Lang/PIR/Empty-program
new file mode 120000
index 0000000000..5202cc3a2a
--- /dev/null
+++ b/Lang/PIR/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/PIR
\ No newline at end of file
diff --git a/Lang/Perl/CRC-32 b/Lang/Perl/CRC-32
new file mode 120000
index 0000000000..429afcb4af
--- /dev/null
+++ b/Lang/Perl/CRC-32
@@ -0,0 +1 @@
+../../Task/CRC-32/Perl
\ No newline at end of file
diff --git a/Lang/Perl/CSV-to-HTML-translation b/Lang/Perl/CSV-to-HTML-translation
new file mode 120000
index 0000000000..073ac479ab
--- /dev/null
+++ b/Lang/Perl/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Calendar-for-real-programmers b/Lang/Perl/Calendar-for-real-programmers
new file mode 120000
index 0000000000..d78355e212
--- /dev/null
+++ b/Lang/Perl/Calendar-for-real-programmers
@@ -0,0 +1 @@
+../../Task/Calendar-for-real-programmers/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Call-a-foreign-language-function b/Lang/Perl/Call-a-foreign-language-function
new file mode 120000
index 0000000000..34899df0d1
--- /dev/null
+++ b/Lang/Perl/Call-a-foreign-language-function
@@ -0,0 +1 @@
+../../Task/Call-a-foreign-language-function/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Call-an-object-method b/Lang/Perl/Call-an-object-method
new file mode 120000
index 0000000000..4ff226fe97
--- /dev/null
+++ b/Lang/Perl/Call-an-object-method
@@ -0,0 +1 @@
+../../Task/Call-an-object-method/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Case-sensitivity-of-identifiers b/Lang/Perl/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..64b203e1a0
--- /dev/null
+++ b/Lang/Perl/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Character-codes b/Lang/Perl/Character-codes
new file mode 120000
index 0000000000..273163eecd
--- /dev/null
+++ b/Lang/Perl/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Character-matching b/Lang/Perl/Character-matching
new file mode 120000
index 0000000000..d16ad0cf7a
--- /dev/null
+++ b/Lang/Perl/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Colour-bars-Display b/Lang/Perl/Colour-bars-Display
new file mode 120000
index 0000000000..9b94a55d24
--- /dev/null
+++ b/Lang/Perl/Colour-bars-Display
@@ -0,0 +1 @@
+../../Task/Colour-bars-Display/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Colour-pinstripe-Display b/Lang/Perl/Colour-pinstripe-Display
new file mode 120000
index 0000000000..e1c6036381
--- /dev/null
+++ b/Lang/Perl/Colour-pinstripe-Display
@@ -0,0 +1 @@
+../../Task/Colour-pinstripe-Display/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Combinations b/Lang/Perl/Combinations
new file mode 120000
index 0000000000..10eb55b085
--- /dev/null
+++ b/Lang/Perl/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Combinations-with-repetitions b/Lang/Perl/Combinations-with-repetitions
new file mode 120000
index 0000000000..0a27bda808
--- /dev/null
+++ b/Lang/Perl/Combinations-with-repetitions
@@ -0,0 +1 @@
+../../Task/Combinations-with-repetitions/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Command-line-arguments b/Lang/Perl/Command-line-arguments
new file mode 120000
index 0000000000..073bb2e0ea
--- /dev/null
+++ b/Lang/Perl/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Compile-time-calculation b/Lang/Perl/Compile-time-calculation
new file mode 120000
index 0000000000..08ef80f9c6
--- /dev/null
+++ b/Lang/Perl/Compile-time-calculation
@@ -0,0 +1 @@
+../../Task/Compile-time-calculation/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Compound-data-type b/Lang/Perl/Compound-data-type
new file mode 120000
index 0000000000..2530366031
--- /dev/null
+++ b/Lang/Perl/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Concurrent-computing b/Lang/Perl/Concurrent-computing
new file mode 120000
index 0000000000..bcc4c2579d
--- /dev/null
+++ b/Lang/Perl/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Conditional-structures b/Lang/Perl/Conditional-structures
new file mode 120000
index 0000000000..b802aa7ebe
--- /dev/null
+++ b/Lang/Perl/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Constrained-random-points-on-a-circle b/Lang/Perl/Constrained-random-points-on-a-circle
new file mode 120000
index 0000000000..a64f36d726
--- /dev/null
+++ b/Lang/Perl/Constrained-random-points-on-a-circle
@@ -0,0 +1 @@
+../../Task/Constrained-random-points-on-a-circle/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Continued-fraction b/Lang/Perl/Continued-fraction
new file mode 120000
index 0000000000..b466f0a46a
--- /dev/null
+++ b/Lang/Perl/Continued-fraction
@@ -0,0 +1 @@
+../../Task/Continued-fraction/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Conways-Game-of-Life b/Lang/Perl/Conways-Game-of-Life
new file mode 120000
index 0000000000..6488e9e2a5
--- /dev/null
+++ b/Lang/Perl/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Count-in-factors b/Lang/Perl/Count-in-factors
new file mode 120000
index 0000000000..539e150a02
--- /dev/null
+++ b/Lang/Perl/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Count-in-octal b/Lang/Perl/Count-in-octal
new file mode 120000
index 0000000000..35f315041e
--- /dev/null
+++ b/Lang/Perl/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Count-occurrences-of-a-substring b/Lang/Perl/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..bb1a1299b2
--- /dev/null
+++ b/Lang/Perl/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Create-a-file b/Lang/Perl/Create-a-file
new file mode 120000
index 0000000000..3d576d1433
--- /dev/null
+++ b/Lang/Perl/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Create-a-two-dimensional-array-at-runtime b/Lang/Perl/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..83df3300f8
--- /dev/null
+++ b/Lang/Perl/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Create-an-HTML-table b/Lang/Perl/Create-an-HTML-table
new file mode 120000
index 0000000000..02c5492f1c
--- /dev/null
+++ b/Lang/Perl/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/Perl
\ No newline at end of file
diff --git a/Lang/Perl/DNS-query b/Lang/Perl/DNS-query
new file mode 120000
index 0000000000..cad3190a6f
--- /dev/null
+++ b/Lang/Perl/DNS-query
@@ -0,0 +1 @@
+../../Task/DNS-query/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Date-format b/Lang/Perl/Date-format
new file mode 120000
index 0000000000..db5056a8ab
--- /dev/null
+++ b/Lang/Perl/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Date-manipulation b/Lang/Perl/Date-manipulation
new file mode 120000
index 0000000000..c808ec39b7
--- /dev/null
+++ b/Lang/Perl/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Day-of-the-week b/Lang/Perl/Day-of-the-week
new file mode 120000
index 0000000000..edc553e739
--- /dev/null
+++ b/Lang/Perl/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Deal-cards-for-FreeCell b/Lang/Perl/Deal-cards-for-FreeCell
new file mode 120000
index 0000000000..c6ee22ef40
--- /dev/null
+++ b/Lang/Perl/Deal-cards-for-FreeCell
@@ -0,0 +1 @@
+../../Task/Deal-cards-for-FreeCell/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Deepcopy b/Lang/Perl/Deepcopy
new file mode 120000
index 0000000000..13ad6077f9
--- /dev/null
+++ b/Lang/Perl/Deepcopy
@@ -0,0 +1 @@
+../../Task/Deepcopy/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Determine-if-only-one-instance-is-running b/Lang/Perl/Determine-if-only-one-instance-is-running
new file mode 120000
index 0000000000..8b5e660266
--- /dev/null
+++ b/Lang/Perl/Determine-if-only-one-instance-is-running
@@ -0,0 +1 @@
+../../Task/Determine-if-only-one-instance-is-running/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Distributed-programming b/Lang/Perl/Distributed-programming
new file mode 120000
index 0000000000..0513f6dc80
--- /dev/null
+++ b/Lang/Perl/Distributed-programming
@@ -0,0 +1 @@
+../../Task/Distributed-programming/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Dot-product b/Lang/Perl/Dot-product
new file mode 120000
index 0000000000..61bdf0305f
--- /dev/null
+++ b/Lang/Perl/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Doubly-linked-list-Element-definition b/Lang/Perl/Doubly-linked-list-Element-definition
new file mode 120000
index 0000000000..14df401d0c
--- /dev/null
+++ b/Lang/Perl/Doubly-linked-list-Element-definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-definition/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Doubly-linked-list-Element-insertion b/Lang/Perl/Doubly-linked-list-Element-insertion
new file mode 120000
index 0000000000..f87831af52
--- /dev/null
+++ b/Lang/Perl/Doubly-linked-list-Element-insertion
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-insertion/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Draw-a-cuboid b/Lang/Perl/Draw-a-cuboid
new file mode 120000
index 0000000000..8700415128
--- /dev/null
+++ b/Lang/Perl/Draw-a-cuboid
@@ -0,0 +1 @@
+../../Task/Draw-a-cuboid/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Dynamic-variable-names b/Lang/Perl/Dynamic-variable-names
new file mode 120000
index 0000000000..ee96cb4200
--- /dev/null
+++ b/Lang/Perl/Dynamic-variable-names
@@ -0,0 +1 @@
+../../Task/Dynamic-variable-names/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Echo-server b/Lang/Perl/Echo-server
new file mode 120000
index 0000000000..c988c52fff
--- /dev/null
+++ b/Lang/Perl/Echo-server
@@ -0,0 +1 @@
+../../Task/Echo-server/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Element-wise-operations b/Lang/Perl/Element-wise-operations
new file mode 120000
index 0000000000..5451f79cf1
--- /dev/null
+++ b/Lang/Perl/Element-wise-operations
@@ -0,0 +1 @@
+../../Task/Element-wise-operations/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Empty-directory b/Lang/Perl/Empty-directory
new file mode 120000
index 0000000000..6d623d2a63
--- /dev/null
+++ b/Lang/Perl/Empty-directory
@@ -0,0 +1 @@
+../../Task/Empty-directory/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Empty-program b/Lang/Perl/Empty-program
new file mode 120000
index 0000000000..6a87dc080c
--- /dev/null
+++ b/Lang/Perl/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Empty-string b/Lang/Perl/Empty-string
new file mode 120000
index 0000000000..582ea73744
--- /dev/null
+++ b/Lang/Perl/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Enforced-immutability b/Lang/Perl/Enforced-immutability
new file mode 120000
index 0000000000..58b03c7fac
--- /dev/null
+++ b/Lang/Perl/Enforced-immutability
@@ -0,0 +1 @@
+../../Task/Enforced-immutability/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Enumerations b/Lang/Perl/Enumerations
new file mode 120000
index 0000000000..58791cbd15
--- /dev/null
+++ b/Lang/Perl/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Equilibrium-index b/Lang/Perl/Equilibrium-index
new file mode 120000
index 0000000000..286c414328
--- /dev/null
+++ b/Lang/Perl/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Ethiopian-multiplication b/Lang/Perl/Ethiopian-multiplication
new file mode 120000
index 0000000000..a6483b5052
--- /dev/null
+++ b/Lang/Perl/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Euler-method b/Lang/Perl/Euler-method
new file mode 120000
index 0000000000..edc73dc334
--- /dev/null
+++ b/Lang/Perl/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Evaluate-binomial-coefficients b/Lang/Perl/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..d623c045ce
--- /dev/null
+++ b/Lang/Perl/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Even-or-odd b/Lang/Perl/Even-or-odd
new file mode 120000
index 0000000000..8653e78b4c
--- /dev/null
+++ b/Lang/Perl/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Events b/Lang/Perl/Events
new file mode 120000
index 0000000000..10b1f16a78
--- /dev/null
+++ b/Lang/Perl/Events
@@ -0,0 +1 @@
+../../Task/Events/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Evolutionary-algorithm b/Lang/Perl/Evolutionary-algorithm
new file mode 120000
index 0000000000..d37af2c242
--- /dev/null
+++ b/Lang/Perl/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Exceptions b/Lang/Perl/Exceptions
new file mode 120000
index 0000000000..c09707378d
--- /dev/null
+++ b/Lang/Perl/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/Perl/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..e0d26a31cd
--- /dev/null
+++ b/Lang/Perl/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Executable-library b/Lang/Perl/Executable-library
new file mode 120000
index 0000000000..bdf9e6195f
--- /dev/null
+++ b/Lang/Perl/Executable-library
@@ -0,0 +1 @@
+../../Task/Executable-library/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Execute-a-system-command b/Lang/Perl/Execute-a-system-command
new file mode 120000
index 0000000000..7b5ac6b527
--- /dev/null
+++ b/Lang/Perl/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Exponentiation-operator b/Lang/Perl/Exponentiation-operator
new file mode 120000
index 0000000000..2f5afad4cc
--- /dev/null
+++ b/Lang/Perl/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Extend-your-language b/Lang/Perl/Extend-your-language
new file mode 120000
index 0000000000..b861c3feaf
--- /dev/null
+++ b/Lang/Perl/Extend-your-language
@@ -0,0 +1 @@
+../../Task/Extend-your-language/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Extreme-floating-point-values b/Lang/Perl/Extreme-floating-point-values
new file mode 120000
index 0000000000..13cdba69e7
--- /dev/null
+++ b/Lang/Perl/Extreme-floating-point-values
@@ -0,0 +1 @@
+../../Task/Extreme-floating-point-values/Perl
\ No newline at end of file
diff --git a/Lang/PicoLisp/CSV-to-HTML-translation b/Lang/PicoLisp/CSV-to-HTML-translation
new file mode 120000
index 0000000000..f377f09514
--- /dev/null
+++ b/Lang/PicoLisp/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Calendar-for-real-programmers b/Lang/PicoLisp/Calendar-for-real-programmers
new file mode 120000
index 0000000000..cf80e6361b
--- /dev/null
+++ b/Lang/PicoLisp/Calendar-for-real-programmers
@@ -0,0 +1 @@
+../../Task/Calendar-for-real-programmers/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Call-a-foreign-language-function b/Lang/PicoLisp/Call-a-foreign-language-function
new file mode 120000
index 0000000000..5be6de2177
--- /dev/null
+++ b/Lang/PicoLisp/Call-a-foreign-language-function
@@ -0,0 +1 @@
+../../Task/Call-a-foreign-language-function/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Call-a-function b/Lang/PicoLisp/Call-a-function
new file mode 120000
index 0000000000..4a0a8eadfe
--- /dev/null
+++ b/Lang/PicoLisp/Call-a-function
@@ -0,0 +1 @@
+../../Task/Call-a-function/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Call-a-function-in-a-shared-library b/Lang/PicoLisp/Call-a-function-in-a-shared-library
new file mode 120000
index 0000000000..1c15074ecd
--- /dev/null
+++ b/Lang/PicoLisp/Call-a-function-in-a-shared-library
@@ -0,0 +1 @@
+../../Task/Call-a-function-in-a-shared-library/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Call-an-object-method b/Lang/PicoLisp/Call-an-object-method
new file mode 120000
index 0000000000..132cce2711
--- /dev/null
+++ b/Lang/PicoLisp/Call-an-object-method
@@ -0,0 +1 @@
+../../Task/Call-an-object-method/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Case-sensitivity-of-identifiers b/Lang/PicoLisp/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..7b5a928f7e
--- /dev/null
+++ b/Lang/PicoLisp/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Character-codes b/Lang/PicoLisp/Character-codes
new file mode 120000
index 0000000000..e5e828e676
--- /dev/null
+++ b/Lang/PicoLisp/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Character-matching b/Lang/PicoLisp/Character-matching
new file mode 120000
index 0000000000..0c515809a4
--- /dev/null
+++ b/Lang/PicoLisp/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Chat-server b/Lang/PicoLisp/Chat-server
new file mode 120000
index 0000000000..53d276fb00
--- /dev/null
+++ b/Lang/PicoLisp/Chat-server
@@ -0,0 +1 @@
+../../Task/Chat-server/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Cholesky-decomposition b/Lang/PicoLisp/Cholesky-decomposition
new file mode 120000
index 0000000000..30057b63a4
--- /dev/null
+++ b/Lang/PicoLisp/Cholesky-decomposition
@@ -0,0 +1 @@
+../../Task/Cholesky-decomposition/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Colour-bars-Display b/Lang/PicoLisp/Colour-bars-Display
new file mode 120000
index 0000000000..09828aedb8
--- /dev/null
+++ b/Lang/PicoLisp/Colour-bars-Display
@@ -0,0 +1 @@
+../../Task/Colour-bars-Display/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Colour-pinstripe-Display b/Lang/PicoLisp/Colour-pinstripe-Display
new file mode 120000
index 0000000000..8bb52c4e5c
--- /dev/null
+++ b/Lang/PicoLisp/Colour-pinstripe-Display
@@ -0,0 +1 @@
+../../Task/Colour-pinstripe-Display/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Colour-pinstripe-Printer b/Lang/PicoLisp/Colour-pinstripe-Printer
new file mode 120000
index 0000000000..d14212d573
--- /dev/null
+++ b/Lang/PicoLisp/Colour-pinstripe-Printer
@@ -0,0 +1 @@
+../../Task/Colour-pinstripe-Printer/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Combinations b/Lang/PicoLisp/Combinations
new file mode 120000
index 0000000000..71cf28d1e4
--- /dev/null
+++ b/Lang/PicoLisp/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Combinations-with-repetitions b/Lang/PicoLisp/Combinations-with-repetitions
new file mode 120000
index 0000000000..3269b9d740
--- /dev/null
+++ b/Lang/PicoLisp/Combinations-with-repetitions
@@ -0,0 +1 @@
+../../Task/Combinations-with-repetitions/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Command-line-arguments b/Lang/PicoLisp/Command-line-arguments
new file mode 120000
index 0000000000..1b8783dc5f
--- /dev/null
+++ b/Lang/PicoLisp/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Compile-time-calculation b/Lang/PicoLisp/Compile-time-calculation
new file mode 120000
index 0000000000..4e6c3a2820
--- /dev/null
+++ b/Lang/PicoLisp/Compile-time-calculation
@@ -0,0 +1 @@
+../../Task/Compile-time-calculation/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Compound-data-type b/Lang/PicoLisp/Compound-data-type
new file mode 120000
index 0000000000..174ccae6dd
--- /dev/null
+++ b/Lang/PicoLisp/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Concurrent-computing b/Lang/PicoLisp/Concurrent-computing
new file mode 120000
index 0000000000..a6ff94c813
--- /dev/null
+++ b/Lang/PicoLisp/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Conditional-structures b/Lang/PicoLisp/Conditional-structures
new file mode 120000
index 0000000000..acb3cff1db
--- /dev/null
+++ b/Lang/PicoLisp/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Constrained-genericity b/Lang/PicoLisp/Constrained-genericity
new file mode 120000
index 0000000000..9c6a1e18f9
--- /dev/null
+++ b/Lang/PicoLisp/Constrained-genericity
@@ -0,0 +1 @@
+../../Task/Constrained-genericity/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Constrained-random-points-on-a-circle b/Lang/PicoLisp/Constrained-random-points-on-a-circle
new file mode 120000
index 0000000000..e03b918787
--- /dev/null
+++ b/Lang/PicoLisp/Constrained-random-points-on-a-circle
@@ -0,0 +1 @@
+../../Task/Constrained-random-points-on-a-circle/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Conways-Game-of-Life b/Lang/PicoLisp/Conways-Game-of-Life
new file mode 120000
index 0000000000..e6e7cf2e2e
--- /dev/null
+++ b/Lang/PicoLisp/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Count-in-factors b/Lang/PicoLisp/Count-in-factors
new file mode 120000
index 0000000000..a47e0156d9
--- /dev/null
+++ b/Lang/PicoLisp/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Count-in-octal b/Lang/PicoLisp/Count-in-octal
new file mode 120000
index 0000000000..e437c5fcdd
--- /dev/null
+++ b/Lang/PicoLisp/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Count-occurrences-of-a-substring b/Lang/PicoLisp/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..004a4474ac
--- /dev/null
+++ b/Lang/PicoLisp/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Count-the-coins b/Lang/PicoLisp/Count-the-coins
new file mode 120000
index 0000000000..a8126c5a6b
--- /dev/null
+++ b/Lang/PicoLisp/Count-the-coins
@@ -0,0 +1 @@
+../../Task/Count-the-coins/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Create-a-file b/Lang/PicoLisp/Create-a-file
new file mode 120000
index 0000000000..50a41ab08e
--- /dev/null
+++ b/Lang/PicoLisp/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Create-a-two-dimensional-array-at-runtime b/Lang/PicoLisp/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..883792151b
--- /dev/null
+++ b/Lang/PicoLisp/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Create-an-HTML-table b/Lang/PicoLisp/Create-an-HTML-table
new file mode 120000
index 0000000000..a3c5aa5185
--- /dev/null
+++ b/Lang/PicoLisp/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Create-an-object-at-a-given-address b/Lang/PicoLisp/Create-an-object-at-a-given-address
new file mode 120000
index 0000000000..05753d925e
--- /dev/null
+++ b/Lang/PicoLisp/Create-an-object-at-a-given-address
@@ -0,0 +1 @@
+../../Task/Create-an-object-at-a-given-address/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/DNS-query b/Lang/PicoLisp/DNS-query
new file mode 120000
index 0000000000..13ed564f16
--- /dev/null
+++ b/Lang/PicoLisp/DNS-query
@@ -0,0 +1 @@
+../../Task/DNS-query/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Date-format b/Lang/PicoLisp/Date-format
new file mode 120000
index 0000000000..f76a438763
--- /dev/null
+++ b/Lang/PicoLisp/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Date-manipulation b/Lang/PicoLisp/Date-manipulation
new file mode 120000
index 0000000000..19fc280a77
--- /dev/null
+++ b/Lang/PicoLisp/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Day-of-the-week b/Lang/PicoLisp/Day-of-the-week
new file mode 120000
index 0000000000..69028a4751
--- /dev/null
+++ b/Lang/PicoLisp/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Deal-cards-for-FreeCell b/Lang/PicoLisp/Deal-cards-for-FreeCell
new file mode 120000
index 0000000000..2c21c822de
--- /dev/null
+++ b/Lang/PicoLisp/Deal-cards-for-FreeCell
@@ -0,0 +1 @@
+../../Task/Deal-cards-for-FreeCell/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Deconvolution-1D b/Lang/PicoLisp/Deconvolution-1D
new file mode 120000
index 0000000000..d69167cb89
--- /dev/null
+++ b/Lang/PicoLisp/Deconvolution-1D
@@ -0,0 +1 @@
+../../Task/Deconvolution-1D/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Deepcopy b/Lang/PicoLisp/Deepcopy
new file mode 120000
index 0000000000..080385db80
--- /dev/null
+++ b/Lang/PicoLisp/Deepcopy
@@ -0,0 +1 @@
+../../Task/Deepcopy/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Determine-if-only-one-instance-is-running b/Lang/PicoLisp/Determine-if-only-one-instance-is-running
new file mode 120000
index 0000000000..3a78577bd1
--- /dev/null
+++ b/Lang/PicoLisp/Determine-if-only-one-instance-is-running
@@ -0,0 +1 @@
+../../Task/Determine-if-only-one-instance-is-running/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Digital-root b/Lang/PicoLisp/Digital-root
new file mode 120000
index 0000000000..ddb09af1f5
--- /dev/null
+++ b/Lang/PicoLisp/Digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Dinesmans-multiple-dwelling-problem b/Lang/PicoLisp/Dinesmans-multiple-dwelling-problem
new file mode 120000
index 0000000000..c4530a9e03
--- /dev/null
+++ b/Lang/PicoLisp/Dinesmans-multiple-dwelling-problem
@@ -0,0 +1 @@
+../../Task/Dinesmans-multiple-dwelling-problem/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Dining-philosophers b/Lang/PicoLisp/Dining-philosophers
new file mode 120000
index 0000000000..7ff9aea892
--- /dev/null
+++ b/Lang/PicoLisp/Dining-philosophers
@@ -0,0 +1 @@
+../../Task/Dining-philosophers/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Discordian-date b/Lang/PicoLisp/Discordian-date
new file mode 120000
index 0000000000..a9e128ed75
--- /dev/null
+++ b/Lang/PicoLisp/Discordian-date
@@ -0,0 +1 @@
+../../Task/Discordian-date/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Distributed-programming b/Lang/PicoLisp/Distributed-programming
new file mode 120000
index 0000000000..5f328a953e
--- /dev/null
+++ b/Lang/PicoLisp/Distributed-programming
@@ -0,0 +1 @@
+../../Task/Distributed-programming/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Documentation b/Lang/PicoLisp/Documentation
new file mode 120000
index 0000000000..f32c013075
--- /dev/null
+++ b/Lang/PicoLisp/Documentation
@@ -0,0 +1 @@
+../../Task/Documentation/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Dot-product b/Lang/PicoLisp/Dot-product
new file mode 120000
index 0000000000..5314c33119
--- /dev/null
+++ b/Lang/PicoLisp/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Doubly-linked-list-Definition b/Lang/PicoLisp/Doubly-linked-list-Definition
new file mode 120000
index 0000000000..73e9a74466
--- /dev/null
+++ b/Lang/PicoLisp/Doubly-linked-list-Definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Definition/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Doubly-linked-list-Element-definition b/Lang/PicoLisp/Doubly-linked-list-Element-definition
new file mode 120000
index 0000000000..edb072ae28
--- /dev/null
+++ b/Lang/PicoLisp/Doubly-linked-list-Element-definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-definition/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Doubly-linked-list-Element-insertion b/Lang/PicoLisp/Doubly-linked-list-Element-insertion
new file mode 120000
index 0000000000..99c6787aa1
--- /dev/null
+++ b/Lang/PicoLisp/Doubly-linked-list-Element-insertion
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-insertion/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Doubly-linked-list-Traversal b/Lang/PicoLisp/Doubly-linked-list-Traversal
new file mode 120000
index 0000000000..e2177d15b5
--- /dev/null
+++ b/Lang/PicoLisp/Doubly-linked-list-Traversal
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Traversal/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Draw-a-cuboid b/Lang/PicoLisp/Draw-a-cuboid
new file mode 120000
index 0000000000..54bd372660
--- /dev/null
+++ b/Lang/PicoLisp/Draw-a-cuboid
@@ -0,0 +1 @@
+../../Task/Draw-a-cuboid/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Draw-a-sphere b/Lang/PicoLisp/Draw-a-sphere
new file mode 120000
index 0000000000..e660b65fcb
--- /dev/null
+++ b/Lang/PicoLisp/Draw-a-sphere
@@ -0,0 +1 @@
+../../Task/Draw-a-sphere/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Dutch-national-flag-problem b/Lang/PicoLisp/Dutch-national-flag-problem
new file mode 120000
index 0000000000..2ef0286b1c
--- /dev/null
+++ b/Lang/PicoLisp/Dutch-national-flag-problem
@@ -0,0 +1 @@
+../../Task/Dutch-national-flag-problem/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Dynamic-variable-names b/Lang/PicoLisp/Dynamic-variable-names
new file mode 120000
index 0000000000..32dad55574
--- /dev/null
+++ b/Lang/PicoLisp/Dynamic-variable-names
@@ -0,0 +1 @@
+../../Task/Dynamic-variable-names/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Echo-server b/Lang/PicoLisp/Echo-server
new file mode 120000
index 0000000000..aa11550378
--- /dev/null
+++ b/Lang/PicoLisp/Echo-server
@@ -0,0 +1 @@
+../../Task/Echo-server/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Element-wise-operations b/Lang/PicoLisp/Element-wise-operations
new file mode 120000
index 0000000000..9c7ca01e90
--- /dev/null
+++ b/Lang/PicoLisp/Element-wise-operations
@@ -0,0 +1 @@
+../../Task/Element-wise-operations/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Empty-directory b/Lang/PicoLisp/Empty-directory
new file mode 120000
index 0000000000..e1af129fdd
--- /dev/null
+++ b/Lang/PicoLisp/Empty-directory
@@ -0,0 +1 @@
+../../Task/Empty-directory/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Empty-program b/Lang/PicoLisp/Empty-program
new file mode 120000
index 0000000000..0b7f9ac06f
--- /dev/null
+++ b/Lang/PicoLisp/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Empty-string b/Lang/PicoLisp/Empty-string
new file mode 120000
index 0000000000..874860a90b
--- /dev/null
+++ b/Lang/PicoLisp/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Enforced-immutability b/Lang/PicoLisp/Enforced-immutability
new file mode 120000
index 0000000000..af3e5af552
--- /dev/null
+++ b/Lang/PicoLisp/Enforced-immutability
@@ -0,0 +1 @@
+../../Task/Enforced-immutability/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Enumerations b/Lang/PicoLisp/Enumerations
new file mode 120000
index 0000000000..97255fa15d
--- /dev/null
+++ b/Lang/PicoLisp/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Equilibrium-index b/Lang/PicoLisp/Equilibrium-index
new file mode 120000
index 0000000000..86ff36e0b3
--- /dev/null
+++ b/Lang/PicoLisp/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Ethiopian-multiplication b/Lang/PicoLisp/Ethiopian-multiplication
new file mode 120000
index 0000000000..c52e830e4c
--- /dev/null
+++ b/Lang/PicoLisp/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Euler-method b/Lang/PicoLisp/Euler-method
new file mode 120000
index 0000000000..5e22cfc078
--- /dev/null
+++ b/Lang/PicoLisp/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Evaluate-binomial-coefficients b/Lang/PicoLisp/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..39bb3fb7c3
--- /dev/null
+++ b/Lang/PicoLisp/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Even-or-odd b/Lang/PicoLisp/Even-or-odd
new file mode 120000
index 0000000000..5ec5d9d9d2
--- /dev/null
+++ b/Lang/PicoLisp/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Events b/Lang/PicoLisp/Events
new file mode 120000
index 0000000000..5b4803fd4b
--- /dev/null
+++ b/Lang/PicoLisp/Events
@@ -0,0 +1 @@
+../../Task/Events/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Evolutionary-algorithm b/Lang/PicoLisp/Evolutionary-algorithm
new file mode 120000
index 0000000000..71cb19b09b
--- /dev/null
+++ b/Lang/PicoLisp/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Exceptions b/Lang/PicoLisp/Exceptions
new file mode 120000
index 0000000000..3e415f7ba1
--- /dev/null
+++ b/Lang/PicoLisp/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/PicoLisp/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..cdb1e8ff95
--- /dev/null
+++ b/Lang/PicoLisp/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Executable-library b/Lang/PicoLisp/Executable-library
new file mode 120000
index 0000000000..ae8a71d3cb
--- /dev/null
+++ b/Lang/PicoLisp/Executable-library
@@ -0,0 +1 @@
+../../Task/Executable-library/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Execute-HQ9+ b/Lang/PicoLisp/Execute-HQ9+
new file mode 120000
index 0000000000..fb4d7abd34
--- /dev/null
+++ b/Lang/PicoLisp/Execute-HQ9+
@@ -0,0 +1 @@
+../../Task/Execute-HQ9+/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Execute-a-system-command b/Lang/PicoLisp/Execute-a-system-command
new file mode 120000
index 0000000000..618f301734
--- /dev/null
+++ b/Lang/PicoLisp/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Exponentiation-operator b/Lang/PicoLisp/Exponentiation-operator
new file mode 120000
index 0000000000..28dc7fb084
--- /dev/null
+++ b/Lang/PicoLisp/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Extend-your-language b/Lang/PicoLisp/Extend-your-language
new file mode 120000
index 0000000000..d7712a6a5b
--- /dev/null
+++ b/Lang/PicoLisp/Extend-your-language
@@ -0,0 +1 @@
+../../Task/Extend-your-language/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Extreme-floating-point-values b/Lang/PicoLisp/Extreme-floating-point-values
new file mode 120000
index 0000000000..31d16a64ab
--- /dev/null
+++ b/Lang/PicoLisp/Extreme-floating-point-values
@@ -0,0 +1 @@
+../../Task/Extreme-floating-point-values/PicoLisp
\ No newline at end of file
diff --git a/Lang/Prolog/CSV-to-HTML-translation b/Lang/Prolog/CSV-to-HTML-translation
new file mode 120000
index 0000000000..18e9ce276c
--- /dev/null
+++ b/Lang/Prolog/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Case-sensitivity-of-identifiers b/Lang/Prolog/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..a6630f76fa
--- /dev/null
+++ b/Lang/Prolog/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Combinations b/Lang/Prolog/Combinations
new file mode 120000
index 0000000000..4b0556f0e9
--- /dev/null
+++ b/Lang/Prolog/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Constrained-random-points-on-a-circle b/Lang/Prolog/Constrained-random-points-on-a-circle
new file mode 120000
index 0000000000..736f964934
--- /dev/null
+++ b/Lang/Prolog/Constrained-random-points-on-a-circle
@@ -0,0 +1 @@
+../../Task/Constrained-random-points-on-a-circle/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Continued-fraction b/Lang/Prolog/Continued-fraction
new file mode 120000
index 0000000000..4431039772
--- /dev/null
+++ b/Lang/Prolog/Continued-fraction
@@ -0,0 +1 @@
+../../Task/Continued-fraction/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Conways-Game-of-Life b/Lang/Prolog/Conways-Game-of-Life
new file mode 120000
index 0000000000..5fa66ff350
--- /dev/null
+++ b/Lang/Prolog/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Dinesmans-multiple-dwelling-problem b/Lang/Prolog/Dinesmans-multiple-dwelling-problem
new file mode 120000
index 0000000000..b9a8b9bab2
--- /dev/null
+++ b/Lang/Prolog/Dinesmans-multiple-dwelling-problem
@@ -0,0 +1 @@
+../../Task/Dinesmans-multiple-dwelling-problem/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Dining-philosophers b/Lang/Prolog/Dining-philosophers
new file mode 120000
index 0000000000..a2273d2d56
--- /dev/null
+++ b/Lang/Prolog/Dining-philosophers
@@ -0,0 +1 @@
+../../Task/Dining-philosophers/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Dot-product b/Lang/Prolog/Dot-product
new file mode 120000
index 0000000000..fa5be12f38
--- /dev/null
+++ b/Lang/Prolog/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Draw-a-cuboid b/Lang/Prolog/Draw-a-cuboid
new file mode 120000
index 0000000000..29c00389e4
--- /dev/null
+++ b/Lang/Prolog/Draw-a-cuboid
@@ -0,0 +1 @@
+../../Task/Draw-a-cuboid/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Dutch-national-flag-problem b/Lang/Prolog/Dutch-national-flag-problem
new file mode 120000
index 0000000000..ec6626f0db
--- /dev/null
+++ b/Lang/Prolog/Dutch-national-flag-problem
@@ -0,0 +1 @@
+../../Task/Dutch-national-flag-problem/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Execute-a-system-command b/Lang/Prolog/Execute-a-system-command
new file mode 120000
index 0000000000..3c639d97d9
--- /dev/null
+++ b/Lang/Prolog/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/Prolog
\ No newline at end of file
diff --git a/Lang/Python/CRC-32 b/Lang/Python/CRC-32
new file mode 120000
index 0000000000..2b9a3bb2c1
--- /dev/null
+++ b/Lang/Python/CRC-32
@@ -0,0 +1 @@
+../../Task/CRC-32/Python
\ No newline at end of file
diff --git a/Lang/Python/CSV-to-HTML-translation b/Lang/Python/CSV-to-HTML-translation
new file mode 120000
index 0000000000..5d9751f0fa
--- /dev/null
+++ b/Lang/Python/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/Python
\ No newline at end of file
diff --git a/Lang/Python/Call-a-foreign-language-function b/Lang/Python/Call-a-foreign-language-function
new file mode 120000
index 0000000000..f2ee13f0f1
--- /dev/null
+++ b/Lang/Python/Call-a-foreign-language-function
@@ -0,0 +1 @@
+../../Task/Call-a-foreign-language-function/Python
\ No newline at end of file
diff --git a/Lang/Python/Call-a-function b/Lang/Python/Call-a-function
new file mode 120000
index 0000000000..872bf537ab
--- /dev/null
+++ b/Lang/Python/Call-a-function
@@ -0,0 +1 @@
+../../Task/Call-a-function/Python
\ No newline at end of file
diff --git a/Lang/Python/Call-a-function-in-a-shared-library b/Lang/Python/Call-a-function-in-a-shared-library
new file mode 120000
index 0000000000..eaf029b3b7
--- /dev/null
+++ b/Lang/Python/Call-a-function-in-a-shared-library
@@ -0,0 +1 @@
+../../Task/Call-a-function-in-a-shared-library/Python
\ No newline at end of file
diff --git a/Lang/Python/Call-an-object-method b/Lang/Python/Call-an-object-method
new file mode 120000
index 0000000000..7d60c0f729
--- /dev/null
+++ b/Lang/Python/Call-an-object-method
@@ -0,0 +1 @@
+../../Task/Call-an-object-method/Python
\ No newline at end of file
diff --git a/Lang/Python/Carmichael-3-strong-pseudoprimes b/Lang/Python/Carmichael-3-strong-pseudoprimes
new file mode 120000
index 0000000000..e88c8f0ab7
--- /dev/null
+++ b/Lang/Python/Carmichael-3-strong-pseudoprimes
@@ -0,0 +1 @@
+../../Task/Carmichael-3-strong-pseudoprimes/Python
\ No newline at end of file
diff --git a/Lang/Python/Case-sensitivity-of-identifiers b/Lang/Python/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..816aff85b3
--- /dev/null
+++ b/Lang/Python/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/Python
\ No newline at end of file
diff --git a/Lang/Python/Character-codes b/Lang/Python/Character-codes
new file mode 120000
index 0000000000..aefe1f18de
--- /dev/null
+++ b/Lang/Python/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Python
\ No newline at end of file
diff --git a/Lang/Python/Character-matching b/Lang/Python/Character-matching
new file mode 120000
index 0000000000..e05232ed0b
--- /dev/null
+++ b/Lang/Python/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/Python
\ No newline at end of file
diff --git a/Lang/Python/Chat-server b/Lang/Python/Chat-server
new file mode 120000
index 0000000000..54b7670939
--- /dev/null
+++ b/Lang/Python/Chat-server
@@ -0,0 +1 @@
+../../Task/Chat-server/Python
\ No newline at end of file
diff --git a/Lang/Python/Check-Machin-like-formulas b/Lang/Python/Check-Machin-like-formulas
new file mode 120000
index 0000000000..d354965222
--- /dev/null
+++ b/Lang/Python/Check-Machin-like-formulas
@@ -0,0 +1 @@
+../../Task/Check-Machin-like-formulas/Python
\ No newline at end of file
diff --git a/Lang/Python/Cholesky-decomposition b/Lang/Python/Cholesky-decomposition
new file mode 120000
index 0000000000..29d9a3be80
--- /dev/null
+++ b/Lang/Python/Cholesky-decomposition
@@ -0,0 +1 @@
+../../Task/Cholesky-decomposition/Python
\ No newline at end of file
diff --git a/Lang/Python/Colour-bars-Display b/Lang/Python/Colour-bars-Display
new file mode 120000
index 0000000000..ebd7eb6e7d
--- /dev/null
+++ b/Lang/Python/Colour-bars-Display
@@ -0,0 +1 @@
+../../Task/Colour-bars-Display/Python
\ No newline at end of file
diff --git a/Lang/Python/Combinations b/Lang/Python/Combinations
new file mode 120000
index 0000000000..f0e62cd7c7
--- /dev/null
+++ b/Lang/Python/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/Python
\ No newline at end of file
diff --git a/Lang/Python/Combinations-with-repetitions b/Lang/Python/Combinations-with-repetitions
new file mode 120000
index 0000000000..18ddab610a
--- /dev/null
+++ b/Lang/Python/Combinations-with-repetitions
@@ -0,0 +1 @@
+../../Task/Combinations-with-repetitions/Python
\ No newline at end of file
diff --git a/Lang/Python/Command-line-arguments b/Lang/Python/Command-line-arguments
new file mode 120000
index 0000000000..52fda2ffd8
--- /dev/null
+++ b/Lang/Python/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Python
\ No newline at end of file
diff --git a/Lang/Python/Compare-sorting-algorithms-performance b/Lang/Python/Compare-sorting-algorithms-performance
new file mode 120000
index 0000000000..866d6e26dc
--- /dev/null
+++ b/Lang/Python/Compare-sorting-algorithms-performance
@@ -0,0 +1 @@
+../../Task/Compare-sorting-algorithms-performance/Python
\ No newline at end of file
diff --git a/Lang/Python/Compound-data-type b/Lang/Python/Compound-data-type
new file mode 120000
index 0000000000..d6e2762d66
--- /dev/null
+++ b/Lang/Python/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/Python
\ No newline at end of file
diff --git a/Lang/Python/Concurrent-computing b/Lang/Python/Concurrent-computing
new file mode 120000
index 0000000000..982db4388b
--- /dev/null
+++ b/Lang/Python/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/Python
\ No newline at end of file
diff --git a/Lang/Python/Conditional-structures b/Lang/Python/Conditional-structures
new file mode 120000
index 0000000000..ba93daae7f
--- /dev/null
+++ b/Lang/Python/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Python
\ No newline at end of file
diff --git a/Lang/Python/Constrained-random-points-on-a-circle b/Lang/Python/Constrained-random-points-on-a-circle
new file mode 120000
index 0000000000..11492569c4
--- /dev/null
+++ b/Lang/Python/Constrained-random-points-on-a-circle
@@ -0,0 +1 @@
+../../Task/Constrained-random-points-on-a-circle/Python
\ No newline at end of file
diff --git a/Lang/Python/Continued-fraction b/Lang/Python/Continued-fraction
new file mode 120000
index 0000000000..668c285614
--- /dev/null
+++ b/Lang/Python/Continued-fraction
@@ -0,0 +1 @@
+../../Task/Continued-fraction/Python
\ No newline at end of file
diff --git a/Lang/Python/Continued-fraction-Arithmetic-Construct-from-rational-number b/Lang/Python/Continued-fraction-Arithmetic-Construct-from-rational-number
new file mode 120000
index 0000000000..bb22b10d84
--- /dev/null
+++ b/Lang/Python/Continued-fraction-Arithmetic-Construct-from-rational-number
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-Construct-from-rational-number/Python
\ No newline at end of file
diff --git a/Lang/Python/Conways-Game-of-Life b/Lang/Python/Conways-Game-of-Life
new file mode 120000
index 0000000000..909e5cfaa0
--- /dev/null
+++ b/Lang/Python/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/Python
\ No newline at end of file
diff --git a/Lang/Python/Count-in-factors b/Lang/Python/Count-in-factors
new file mode 120000
index 0000000000..a010187c20
--- /dev/null
+++ b/Lang/Python/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/Python
\ No newline at end of file
diff --git a/Lang/Python/Count-in-octal b/Lang/Python/Count-in-octal
new file mode 120000
index 0000000000..81e48eaa56
--- /dev/null
+++ b/Lang/Python/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/Python
\ No newline at end of file
diff --git a/Lang/Python/Count-occurrences-of-a-substring b/Lang/Python/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..146fe537f9
--- /dev/null
+++ b/Lang/Python/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/Python
\ No newline at end of file
diff --git a/Lang/Python/Count-the-coins b/Lang/Python/Count-the-coins
new file mode 120000
index 0000000000..3ba8d71ff0
--- /dev/null
+++ b/Lang/Python/Count-the-coins
@@ -0,0 +1 @@
+../../Task/Count-the-coins/Python
\ No newline at end of file
diff --git a/Lang/Python/Create-a-file b/Lang/Python/Create-a-file
new file mode 120000
index 0000000000..86591766c6
--- /dev/null
+++ b/Lang/Python/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/Python
\ No newline at end of file
diff --git a/Lang/Python/Create-a-two-dimensional-array-at-runtime b/Lang/Python/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..8b424e2231
--- /dev/null
+++ b/Lang/Python/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/Python
\ No newline at end of file
diff --git a/Lang/Python/Create-an-HTML-table b/Lang/Python/Create-an-HTML-table
new file mode 120000
index 0000000000..dfe2ac7b3f
--- /dev/null
+++ b/Lang/Python/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/Python
\ No newline at end of file
diff --git a/Lang/Python/Cut-a-rectangle b/Lang/Python/Cut-a-rectangle
new file mode 120000
index 0000000000..9e7a71e7f9
--- /dev/null
+++ b/Lang/Python/Cut-a-rectangle
@@ -0,0 +1 @@
+../../Task/Cut-a-rectangle/Python
\ No newline at end of file
diff --git a/Lang/Python/Date-format b/Lang/Python/Date-format
new file mode 120000
index 0000000000..20f11436e7
--- /dev/null
+++ b/Lang/Python/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/Python
\ No newline at end of file
diff --git a/Lang/Python/Date-manipulation b/Lang/Python/Date-manipulation
new file mode 120000
index 0000000000..6d3128f27c
--- /dev/null
+++ b/Lang/Python/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/Python
\ No newline at end of file
diff --git a/Lang/Python/Day-of-the-week b/Lang/Python/Day-of-the-week
new file mode 120000
index 0000000000..c131f26ff6
--- /dev/null
+++ b/Lang/Python/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/Python
\ No newline at end of file
diff --git a/Lang/Python/Deal-cards-for-FreeCell b/Lang/Python/Deal-cards-for-FreeCell
new file mode 120000
index 0000000000..d5a0c725c2
--- /dev/null
+++ b/Lang/Python/Deal-cards-for-FreeCell
@@ -0,0 +1 @@
+../../Task/Deal-cards-for-FreeCell/Python
\ No newline at end of file
diff --git a/Lang/Python/Deconvolution-1D b/Lang/Python/Deconvolution-1D
new file mode 120000
index 0000000000..c4ad7a2d05
--- /dev/null
+++ b/Lang/Python/Deconvolution-1D
@@ -0,0 +1 @@
+../../Task/Deconvolution-1D/Python
\ No newline at end of file
diff --git a/Lang/Python/Deepcopy b/Lang/Python/Deepcopy
new file mode 120000
index 0000000000..f32d7620d7
--- /dev/null
+++ b/Lang/Python/Deepcopy
@@ -0,0 +1 @@
+../../Task/Deepcopy/Python
\ No newline at end of file
diff --git a/Lang/Python/Determine-if-only-one-instance-is-running b/Lang/Python/Determine-if-only-one-instance-is-running
new file mode 120000
index 0000000000..d9e51ca896
--- /dev/null
+++ b/Lang/Python/Determine-if-only-one-instance-is-running
@@ -0,0 +1 @@
+../../Task/Determine-if-only-one-instance-is-running/Python
\ No newline at end of file
diff --git a/Lang/Python/Digital-root b/Lang/Python/Digital-root
new file mode 120000
index 0000000000..cedb730520
--- /dev/null
+++ b/Lang/Python/Digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root/Python
\ No newline at end of file
diff --git a/Lang/Python/Dinesmans-multiple-dwelling-problem b/Lang/Python/Dinesmans-multiple-dwelling-problem
new file mode 120000
index 0000000000..e588a88e3a
--- /dev/null
+++ b/Lang/Python/Dinesmans-multiple-dwelling-problem
@@ -0,0 +1 @@
+../../Task/Dinesmans-multiple-dwelling-problem/Python
\ No newline at end of file
diff --git a/Lang/Python/Dining-philosophers b/Lang/Python/Dining-philosophers
new file mode 120000
index 0000000000..bb830022b5
--- /dev/null
+++ b/Lang/Python/Dining-philosophers
@@ -0,0 +1 @@
+../../Task/Dining-philosophers/Python
\ No newline at end of file
diff --git a/Lang/Python/Discordian-date b/Lang/Python/Discordian-date
new file mode 120000
index 0000000000..0210ee0603
--- /dev/null
+++ b/Lang/Python/Discordian-date
@@ -0,0 +1 @@
+../../Task/Discordian-date/Python
\ No newline at end of file
diff --git a/Lang/Python/Distributed-programming b/Lang/Python/Distributed-programming
new file mode 120000
index 0000000000..a5f793ab5c
--- /dev/null
+++ b/Lang/Python/Distributed-programming
@@ -0,0 +1 @@
+../../Task/Distributed-programming/Python
\ No newline at end of file
diff --git a/Lang/Python/Documentation b/Lang/Python/Documentation
new file mode 120000
index 0000000000..30c37f5833
--- /dev/null
+++ b/Lang/Python/Documentation
@@ -0,0 +1 @@
+../../Task/Documentation/Python
\ No newline at end of file
diff --git a/Lang/Python/Dot-product b/Lang/Python/Dot-product
new file mode 120000
index 0000000000..dd63116735
--- /dev/null
+++ b/Lang/Python/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Python
\ No newline at end of file
diff --git a/Lang/Python/Doubly-linked-list-Element-definition b/Lang/Python/Doubly-linked-list-Element-definition
new file mode 120000
index 0000000000..61d95357b0
--- /dev/null
+++ b/Lang/Python/Doubly-linked-list-Element-definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-definition/Python
\ No newline at end of file
diff --git a/Lang/Python/Doubly-linked-list-Element-insertion b/Lang/Python/Doubly-linked-list-Element-insertion
new file mode 120000
index 0000000000..57869e1e79
--- /dev/null
+++ b/Lang/Python/Doubly-linked-list-Element-insertion
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-insertion/Python
\ No newline at end of file
diff --git a/Lang/Python/Doubly-linked-list-Traversal b/Lang/Python/Doubly-linked-list-Traversal
new file mode 120000
index 0000000000..e06def2e0a
--- /dev/null
+++ b/Lang/Python/Doubly-linked-list-Traversal
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Traversal/Python
\ No newline at end of file
diff --git a/Lang/Python/Draw-a-cuboid b/Lang/Python/Draw-a-cuboid
new file mode 120000
index 0000000000..15c8059ab3
--- /dev/null
+++ b/Lang/Python/Draw-a-cuboid
@@ -0,0 +1 @@
+../../Task/Draw-a-cuboid/Python
\ No newline at end of file
diff --git a/Lang/Python/Draw-a-sphere b/Lang/Python/Draw-a-sphere
new file mode 120000
index 0000000000..fec38ee05a
--- /dev/null
+++ b/Lang/Python/Draw-a-sphere
@@ -0,0 +1 @@
+../../Task/Draw-a-sphere/Python
\ No newline at end of file
diff --git a/Lang/Python/Dutch-national-flag-problem b/Lang/Python/Dutch-national-flag-problem
new file mode 120000
index 0000000000..29766dcfc4
--- /dev/null
+++ b/Lang/Python/Dutch-national-flag-problem
@@ -0,0 +1 @@
+../../Task/Dutch-national-flag-problem/Python
\ No newline at end of file
diff --git a/Lang/Python/Dynamic-variable-names b/Lang/Python/Dynamic-variable-names
new file mode 120000
index 0000000000..4e8a827463
--- /dev/null
+++ b/Lang/Python/Dynamic-variable-names
@@ -0,0 +1 @@
+../../Task/Dynamic-variable-names/Python
\ No newline at end of file
diff --git a/Lang/Python/Echo-server b/Lang/Python/Echo-server
new file mode 120000
index 0000000000..240feb9d93
--- /dev/null
+++ b/Lang/Python/Echo-server
@@ -0,0 +1 @@
+../../Task/Echo-server/Python
\ No newline at end of file
diff --git a/Lang/Python/Element-wise-operations b/Lang/Python/Element-wise-operations
new file mode 120000
index 0000000000..79817fd650
--- /dev/null
+++ b/Lang/Python/Element-wise-operations
@@ -0,0 +1 @@
+../../Task/Element-wise-operations/Python
\ No newline at end of file
diff --git a/Lang/Python/Empty-directory b/Lang/Python/Empty-directory
new file mode 120000
index 0000000000..404cfbfb55
--- /dev/null
+++ b/Lang/Python/Empty-directory
@@ -0,0 +1 @@
+../../Task/Empty-directory/Python
\ No newline at end of file
diff --git a/Lang/Python/Empty-string b/Lang/Python/Empty-string
new file mode 120000
index 0000000000..e35e3127a9
--- /dev/null
+++ b/Lang/Python/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/Python
\ No newline at end of file
diff --git a/Lang/Python/Enforced-immutability b/Lang/Python/Enforced-immutability
new file mode 120000
index 0000000000..3b536663df
--- /dev/null
+++ b/Lang/Python/Enforced-immutability
@@ -0,0 +1 @@
+../../Task/Enforced-immutability/Python
\ No newline at end of file
diff --git a/Lang/Python/Enumerations b/Lang/Python/Enumerations
new file mode 120000
index 0000000000..0f3d377a61
--- /dev/null
+++ b/Lang/Python/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/Python
\ No newline at end of file
diff --git a/Lang/Python/Equilibrium-index b/Lang/Python/Equilibrium-index
new file mode 120000
index 0000000000..3ceb0e45ce
--- /dev/null
+++ b/Lang/Python/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/Python
\ No newline at end of file
diff --git a/Lang/Python/Ethiopian-multiplication b/Lang/Python/Ethiopian-multiplication
new file mode 120000
index 0000000000..ee611ce8c1
--- /dev/null
+++ b/Lang/Python/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Python
\ No newline at end of file
diff --git a/Lang/Python/Euler-method b/Lang/Python/Euler-method
new file mode 120000
index 0000000000..759448faac
--- /dev/null
+++ b/Lang/Python/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/Python
\ No newline at end of file
diff --git a/Lang/Python/Evaluate-binomial-coefficients b/Lang/Python/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..d1acf49978
--- /dev/null
+++ b/Lang/Python/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/Python
\ No newline at end of file
diff --git a/Lang/Python/Even-or-odd b/Lang/Python/Even-or-odd
new file mode 120000
index 0000000000..c65df28143
--- /dev/null
+++ b/Lang/Python/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/Python
\ No newline at end of file
diff --git a/Lang/Python/Evolutionary-algorithm b/Lang/Python/Evolutionary-algorithm
new file mode 120000
index 0000000000..bca31dfb8e
--- /dev/null
+++ b/Lang/Python/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/Python
\ No newline at end of file
diff --git a/Lang/Python/Exceptions b/Lang/Python/Exceptions
new file mode 120000
index 0000000000..b182d0a715
--- /dev/null
+++ b/Lang/Python/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/Python
\ No newline at end of file
diff --git a/Lang/Python/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/Python/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..76ab50ff28
--- /dev/null
+++ b/Lang/Python/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/Python
\ No newline at end of file
diff --git a/Lang/Python/Executable-library b/Lang/Python/Executable-library
new file mode 120000
index 0000000000..3dce514a32
--- /dev/null
+++ b/Lang/Python/Executable-library
@@ -0,0 +1 @@
+../../Task/Executable-library/Python
\ No newline at end of file
diff --git a/Lang/Python/Execute-a-system-command b/Lang/Python/Execute-a-system-command
new file mode 120000
index 0000000000..8e22c9083a
--- /dev/null
+++ b/Lang/Python/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/Python
\ No newline at end of file
diff --git a/Lang/Python/Exponentiation-operator b/Lang/Python/Exponentiation-operator
new file mode 120000
index 0000000000..14bc621be5
--- /dev/null
+++ b/Lang/Python/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/Python
\ No newline at end of file
diff --git a/Lang/Python/Extreme-floating-point-values b/Lang/Python/Extreme-floating-point-values
new file mode 120000
index 0000000000..bb5d41726b
--- /dev/null
+++ b/Lang/Python/Extreme-floating-point-values
@@ -0,0 +1 @@
+../../Task/Extreme-floating-point-values/Python
\ No newline at end of file
diff --git a/Lang/R/Case-sensitivity-of-identifiers b/Lang/R/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..35cdec642b
--- /dev/null
+++ b/Lang/R/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/R
\ No newline at end of file
diff --git a/Lang/R/Character-codes b/Lang/R/Character-codes
new file mode 120000
index 0000000000..48b5da4356
--- /dev/null
+++ b/Lang/R/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/R
\ No newline at end of file
diff --git a/Lang/R/Cholesky-decomposition b/Lang/R/Cholesky-decomposition
new file mode 120000
index 0000000000..144cf5badc
--- /dev/null
+++ b/Lang/R/Cholesky-decomposition
@@ -0,0 +1 @@
+../../Task/Cholesky-decomposition/R
\ No newline at end of file
diff --git a/Lang/R/Colour-bars-Display b/Lang/R/Colour-bars-Display
new file mode 120000
index 0000000000..af6b1d0798
--- /dev/null
+++ b/Lang/R/Colour-bars-Display
@@ -0,0 +1 @@
+../../Task/Colour-bars-Display/R
\ No newline at end of file
diff --git a/Lang/R/Combinations b/Lang/R/Combinations
new file mode 120000
index 0000000000..b8a3106334
--- /dev/null
+++ b/Lang/R/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/R
\ No newline at end of file
diff --git a/Lang/R/Command-line-arguments b/Lang/R/Command-line-arguments
new file mode 120000
index 0000000000..1042d94fa3
--- /dev/null
+++ b/Lang/R/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/R
\ No newline at end of file
diff --git a/Lang/R/Compound-data-type b/Lang/R/Compound-data-type
new file mode 120000
index 0000000000..5ecb44f0d6
--- /dev/null
+++ b/Lang/R/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/R
\ No newline at end of file
diff --git a/Lang/R/Conditional-structures b/Lang/R/Conditional-structures
new file mode 120000
index 0000000000..093bde197a
--- /dev/null
+++ b/Lang/R/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/R
\ No newline at end of file
diff --git a/Lang/R/Constrained-random-points-on-a-circle b/Lang/R/Constrained-random-points-on-a-circle
new file mode 120000
index 0000000000..e4cf0c440b
--- /dev/null
+++ b/Lang/R/Constrained-random-points-on-a-circle
@@ -0,0 +1 @@
+../../Task/Constrained-random-points-on-a-circle/R
\ No newline at end of file
diff --git a/Lang/R/Conways-Game-of-Life b/Lang/R/Conways-Game-of-Life
new file mode 120000
index 0000000000..55145c3d31
--- /dev/null
+++ b/Lang/R/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/R
\ No newline at end of file
diff --git a/Lang/R/Create-a-file b/Lang/R/Create-a-file
new file mode 120000
index 0000000000..6c11dc5cab
--- /dev/null
+++ b/Lang/R/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/R
\ No newline at end of file
diff --git a/Lang/R/Create-a-two-dimensional-array-at-runtime b/Lang/R/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..7073603fef
--- /dev/null
+++ b/Lang/R/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/R
\ No newline at end of file
diff --git a/Lang/R/Date-format b/Lang/R/Date-format
new file mode 120000
index 0000000000..59fa33e2d2
--- /dev/null
+++ b/Lang/R/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/R
\ No newline at end of file
diff --git a/Lang/R/Date-manipulation b/Lang/R/Date-manipulation
new file mode 120000
index 0000000000..81f121a0fd
--- /dev/null
+++ b/Lang/R/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/R
\ No newline at end of file
diff --git a/Lang/R/Day-of-the-week b/Lang/R/Day-of-the-week
new file mode 120000
index 0000000000..4669f39105
--- /dev/null
+++ b/Lang/R/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/R
\ No newline at end of file
diff --git a/Lang/R/Deconvolution-1D b/Lang/R/Deconvolution-1D
new file mode 120000
index 0000000000..20888f27fc
--- /dev/null
+++ b/Lang/R/Deconvolution-1D
@@ -0,0 +1 @@
+../../Task/Deconvolution-1D/R
\ No newline at end of file
diff --git a/Lang/R/Documentation b/Lang/R/Documentation
new file mode 120000
index 0000000000..4676f0d93e
--- /dev/null
+++ b/Lang/R/Documentation
@@ -0,0 +1 @@
+../../Task/Documentation/R
\ No newline at end of file
diff --git a/Lang/R/Dot-product b/Lang/R/Dot-product
new file mode 120000
index 0000000000..975ebe11c6
--- /dev/null
+++ b/Lang/R/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/R
\ No newline at end of file
diff --git a/Lang/R/Dynamic-variable-names b/Lang/R/Dynamic-variable-names
new file mode 120000
index 0000000000..8c76b14340
--- /dev/null
+++ b/Lang/R/Dynamic-variable-names
@@ -0,0 +1 @@
+../../Task/Dynamic-variable-names/R
\ No newline at end of file
diff --git a/Lang/R/Element-wise-operations b/Lang/R/Element-wise-operations
new file mode 120000
index 0000000000..7774efa2d7
--- /dev/null
+++ b/Lang/R/Element-wise-operations
@@ -0,0 +1 @@
+../../Task/Element-wise-operations/R
\ No newline at end of file
diff --git a/Lang/R/Empty-string b/Lang/R/Empty-string
new file mode 120000
index 0000000000..e4066a42cb
--- /dev/null
+++ b/Lang/R/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/R
\ No newline at end of file
diff --git a/Lang/R/Enumerations b/Lang/R/Enumerations
new file mode 120000
index 0000000000..1dabf715e0
--- /dev/null
+++ b/Lang/R/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/R
\ No newline at end of file
diff --git a/Lang/R/Ethiopian-multiplication b/Lang/R/Ethiopian-multiplication
new file mode 120000
index 0000000000..9732026f09
--- /dev/null
+++ b/Lang/R/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/R
\ No newline at end of file
diff --git a/Lang/R/Evaluate-binomial-coefficients b/Lang/R/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..ba3985b460
--- /dev/null
+++ b/Lang/R/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/R
\ No newline at end of file
diff --git a/Lang/R/Even-or-odd b/Lang/R/Even-or-odd
new file mode 120000
index 0000000000..f50216835f
--- /dev/null
+++ b/Lang/R/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/R
\ No newline at end of file
diff --git a/Lang/R/Evolutionary-algorithm b/Lang/R/Evolutionary-algorithm
new file mode 120000
index 0000000000..c9f1217ba4
--- /dev/null
+++ b/Lang/R/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/R
\ No newline at end of file
diff --git a/Lang/R/Exceptions b/Lang/R/Exceptions
new file mode 120000
index 0000000000..2f864fc3fc
--- /dev/null
+++ b/Lang/R/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/R
\ No newline at end of file
diff --git a/Lang/R/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/R/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..8699af5139
--- /dev/null
+++ b/Lang/R/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/R
\ No newline at end of file
diff --git a/Lang/R/Execute-a-system-command b/Lang/R/Execute-a-system-command
new file mode 120000
index 0000000000..9dc479021d
--- /dev/null
+++ b/Lang/R/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/R
\ No newline at end of file
diff --git a/Lang/R/Exponentiation-operator b/Lang/R/Exponentiation-operator
new file mode 120000
index 0000000000..a0d6b8fdcc
--- /dev/null
+++ b/Lang/R/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/R
\ No newline at end of file
diff --git a/Lang/R/Extend-your-language b/Lang/R/Extend-your-language
new file mode 120000
index 0000000000..14e97a8a19
--- /dev/null
+++ b/Lang/R/Extend-your-language
@@ -0,0 +1 @@
+../../Task/Extend-your-language/R
\ No newline at end of file
diff --git a/Lang/R/Extreme-floating-point-values b/Lang/R/Extreme-floating-point-values
new file mode 120000
index 0000000000..82def8ec91
--- /dev/null
+++ b/Lang/R/Extreme-floating-point-values
@@ -0,0 +1 @@
+../../Task/Extreme-floating-point-values/R
\ No newline at end of file
diff --git a/Lang/REXX/CRC-32 b/Lang/REXX/CRC-32
new file mode 120000
index 0000000000..b5903463ae
--- /dev/null
+++ b/Lang/REXX/CRC-32
@@ -0,0 +1 @@
+../../Task/CRC-32/REXX
\ No newline at end of file
diff --git a/Lang/REXX/CSV-to-HTML-translation b/Lang/REXX/CSV-to-HTML-translation
new file mode 120000
index 0000000000..153ec5beca
--- /dev/null
+++ b/Lang/REXX/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Calendar-for-real-programmers b/Lang/REXX/Calendar-for-real-programmers
new file mode 120000
index 0000000000..958d1bcc9b
--- /dev/null
+++ b/Lang/REXX/Calendar-for-real-programmers
@@ -0,0 +1 @@
+../../Task/Calendar-for-real-programmers/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Call-a-function b/Lang/REXX/Call-a-function
new file mode 120000
index 0000000000..703fe968e0
--- /dev/null
+++ b/Lang/REXX/Call-a-function
@@ -0,0 +1 @@
+../../Task/Call-a-function/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Carmichael-3-strong-pseudoprimes b/Lang/REXX/Carmichael-3-strong-pseudoprimes
new file mode 120000
index 0000000000..a96a2192a8
--- /dev/null
+++ b/Lang/REXX/Carmichael-3-strong-pseudoprimes
@@ -0,0 +1 @@
+../../Task/Carmichael-3-strong-pseudoprimes/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Case-sensitivity-of-identifiers b/Lang/REXX/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..1088497ddc
--- /dev/null
+++ b/Lang/REXX/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Character-codes b/Lang/REXX/Character-codes
new file mode 120000
index 0000000000..73292e770d
--- /dev/null
+++ b/Lang/REXX/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Character-matching b/Lang/REXX/Character-matching
new file mode 120000
index 0000000000..5803a04a0f
--- /dev/null
+++ b/Lang/REXX/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Cholesky-decomposition b/Lang/REXX/Cholesky-decomposition
new file mode 120000
index 0000000000..33a9747066
--- /dev/null
+++ b/Lang/REXX/Cholesky-decomposition
@@ -0,0 +1 @@
+../../Task/Cholesky-decomposition/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Combinations b/Lang/REXX/Combinations
new file mode 120000
index 0000000000..4ade0c93b7
--- /dev/null
+++ b/Lang/REXX/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Combinations-with-repetitions b/Lang/REXX/Combinations-with-repetitions
new file mode 120000
index 0000000000..af8e85ce2e
--- /dev/null
+++ b/Lang/REXX/Combinations-with-repetitions
@@ -0,0 +1 @@
+../../Task/Combinations-with-repetitions/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Command-line-arguments b/Lang/REXX/Command-line-arguments
new file mode 120000
index 0000000000..78d94cf95a
--- /dev/null
+++ b/Lang/REXX/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Compile-time-calculation b/Lang/REXX/Compile-time-calculation
new file mode 120000
index 0000000000..aeabafd186
--- /dev/null
+++ b/Lang/REXX/Compile-time-calculation
@@ -0,0 +1 @@
+../../Task/Compile-time-calculation/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Compound-data-type b/Lang/REXX/Compound-data-type
new file mode 120000
index 0000000000..d275c7047c
--- /dev/null
+++ b/Lang/REXX/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Conditional-structures b/Lang/REXX/Conditional-structures
new file mode 120000
index 0000000000..55f5041846
--- /dev/null
+++ b/Lang/REXX/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Constrained-random-points-on-a-circle b/Lang/REXX/Constrained-random-points-on-a-circle
new file mode 120000
index 0000000000..dcf2f12d48
--- /dev/null
+++ b/Lang/REXX/Constrained-random-points-on-a-circle
@@ -0,0 +1 @@
+../../Task/Constrained-random-points-on-a-circle/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Continued-fraction b/Lang/REXX/Continued-fraction
new file mode 120000
index 0000000000..8e60a65966
--- /dev/null
+++ b/Lang/REXX/Continued-fraction
@@ -0,0 +1 @@
+../../Task/Continued-fraction/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Continued-fraction-Arithmetic-Construct-from-rational-number b/Lang/REXX/Continued-fraction-Arithmetic-Construct-from-rational-number
new file mode 120000
index 0000000000..f99c46a191
--- /dev/null
+++ b/Lang/REXX/Continued-fraction-Arithmetic-Construct-from-rational-number
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-Construct-from-rational-number/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Conways-Game-of-Life b/Lang/REXX/Conways-Game-of-Life
new file mode 120000
index 0000000000..51d8241bf3
--- /dev/null
+++ b/Lang/REXX/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Count-in-factors b/Lang/REXX/Count-in-factors
new file mode 120000
index 0000000000..18ab7bc01e
--- /dev/null
+++ b/Lang/REXX/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Count-in-octal b/Lang/REXX/Count-in-octal
new file mode 120000
index 0000000000..ae2396a59d
--- /dev/null
+++ b/Lang/REXX/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Count-occurrences-of-a-substring b/Lang/REXX/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..41682f9482
--- /dev/null
+++ b/Lang/REXX/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Count-the-coins b/Lang/REXX/Count-the-coins
new file mode 120000
index 0000000000..3101255fd4
--- /dev/null
+++ b/Lang/REXX/Count-the-coins
@@ -0,0 +1 @@
+../../Task/Count-the-coins/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Create-a-file b/Lang/REXX/Create-a-file
new file mode 120000
index 0000000000..2e78523d5f
--- /dev/null
+++ b/Lang/REXX/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Create-a-two-dimensional-array-at-runtime b/Lang/REXX/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..5ba8beb66c
--- /dev/null
+++ b/Lang/REXX/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Create-an-HTML-table b/Lang/REXX/Create-an-HTML-table
new file mode 120000
index 0000000000..a1d876e0f1
--- /dev/null
+++ b/Lang/REXX/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Cut-a-rectangle b/Lang/REXX/Cut-a-rectangle
new file mode 120000
index 0000000000..03bd7a1f1d
--- /dev/null
+++ b/Lang/REXX/Cut-a-rectangle
@@ -0,0 +1 @@
+../../Task/Cut-a-rectangle/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Date-format b/Lang/REXX/Date-format
new file mode 120000
index 0000000000..585e48988b
--- /dev/null
+++ b/Lang/REXX/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Date-manipulation b/Lang/REXX/Date-manipulation
new file mode 120000
index 0000000000..bc9439b1a7
--- /dev/null
+++ b/Lang/REXX/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Day-of-the-week b/Lang/REXX/Day-of-the-week
new file mode 120000
index 0000000000..7f3b2f8d77
--- /dev/null
+++ b/Lang/REXX/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Digital-root b/Lang/REXX/Digital-root
new file mode 120000
index 0000000000..e1ec1979af
--- /dev/null
+++ b/Lang/REXX/Digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Dinesmans-multiple-dwelling-problem b/Lang/REXX/Dinesmans-multiple-dwelling-problem
new file mode 120000
index 0000000000..9ba2ccd99e
--- /dev/null
+++ b/Lang/REXX/Dinesmans-multiple-dwelling-problem
@@ -0,0 +1 @@
+../../Task/Dinesmans-multiple-dwelling-problem/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Discordian-date b/Lang/REXX/Discordian-date
new file mode 120000
index 0000000000..fb26312f27
--- /dev/null
+++ b/Lang/REXX/Discordian-date
@@ -0,0 +1 @@
+../../Task/Discordian-date/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Documentation b/Lang/REXX/Documentation
new file mode 120000
index 0000000000..66eac9b6b6
--- /dev/null
+++ b/Lang/REXX/Documentation
@@ -0,0 +1 @@
+../../Task/Documentation/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Dot-product b/Lang/REXX/Dot-product
new file mode 120000
index 0000000000..e18f3922fa
--- /dev/null
+++ b/Lang/REXX/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Doubly-linked-list-Definition b/Lang/REXX/Doubly-linked-list-Definition
new file mode 120000
index 0000000000..a53cde7eb2
--- /dev/null
+++ b/Lang/REXX/Doubly-linked-list-Definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Definition/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Doubly-linked-list-Element-definition b/Lang/REXX/Doubly-linked-list-Element-definition
new file mode 120000
index 0000000000..723a17743c
--- /dev/null
+++ b/Lang/REXX/Doubly-linked-list-Element-definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-definition/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Doubly-linked-list-Element-insertion b/Lang/REXX/Doubly-linked-list-Element-insertion
new file mode 120000
index 0000000000..f065698a05
--- /dev/null
+++ b/Lang/REXX/Doubly-linked-list-Element-insertion
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-insertion/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Doubly-linked-list-Traversal b/Lang/REXX/Doubly-linked-list-Traversal
new file mode 120000
index 0000000000..d56352da7b
--- /dev/null
+++ b/Lang/REXX/Doubly-linked-list-Traversal
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Traversal/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Draw-a-cuboid b/Lang/REXX/Draw-a-cuboid
new file mode 120000
index 0000000000..5e7b3cfbde
--- /dev/null
+++ b/Lang/REXX/Draw-a-cuboid
@@ -0,0 +1 @@
+../../Task/Draw-a-cuboid/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Draw-a-sphere b/Lang/REXX/Draw-a-sphere
new file mode 120000
index 0000000000..bd3fa49c58
--- /dev/null
+++ b/Lang/REXX/Draw-a-sphere
@@ -0,0 +1 @@
+../../Task/Draw-a-sphere/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Dutch-national-flag-problem b/Lang/REXX/Dutch-national-flag-problem
new file mode 120000
index 0000000000..d853a24449
--- /dev/null
+++ b/Lang/REXX/Dutch-national-flag-problem
@@ -0,0 +1 @@
+../../Task/Dutch-national-flag-problem/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Dynamic-variable-names b/Lang/REXX/Dynamic-variable-names
new file mode 120000
index 0000000000..3624a123d3
--- /dev/null
+++ b/Lang/REXX/Dynamic-variable-names
@@ -0,0 +1 @@
+../../Task/Dynamic-variable-names/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Element-wise-operations b/Lang/REXX/Element-wise-operations
new file mode 120000
index 0000000000..d9b9fc89d2
--- /dev/null
+++ b/Lang/REXX/Element-wise-operations
@@ -0,0 +1 @@
+../../Task/Element-wise-operations/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Empty-program b/Lang/REXX/Empty-program
new file mode 120000
index 0000000000..2c90dd6866
--- /dev/null
+++ b/Lang/REXX/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Empty-string b/Lang/REXX/Empty-string
new file mode 120000
index 0000000000..9a33d94e27
--- /dev/null
+++ b/Lang/REXX/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Enumerations b/Lang/REXX/Enumerations
new file mode 120000
index 0000000000..ed6c27301d
--- /dev/null
+++ b/Lang/REXX/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Equilibrium-index b/Lang/REXX/Equilibrium-index
new file mode 120000
index 0000000000..373b8079aa
--- /dev/null
+++ b/Lang/REXX/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Ethiopian-multiplication b/Lang/REXX/Ethiopian-multiplication
new file mode 120000
index 0000000000..507913245f
--- /dev/null
+++ b/Lang/REXX/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Evaluate-binomial-coefficients b/Lang/REXX/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..f378d0afd0
--- /dev/null
+++ b/Lang/REXX/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Even-or-odd b/Lang/REXX/Even-or-odd
new file mode 120000
index 0000000000..d3559fe1a0
--- /dev/null
+++ b/Lang/REXX/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Evolutionary-algorithm b/Lang/REXX/Evolutionary-algorithm
new file mode 120000
index 0000000000..ecdc5b9d4e
--- /dev/null
+++ b/Lang/REXX/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Executable-library b/Lang/REXX/Executable-library
new file mode 120000
index 0000000000..cff9c58c93
--- /dev/null
+++ b/Lang/REXX/Executable-library
@@ -0,0 +1 @@
+../../Task/Executable-library/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Execute-HQ9+ b/Lang/REXX/Execute-HQ9+
new file mode 120000
index 0000000000..35c2ffd5f7
--- /dev/null
+++ b/Lang/REXX/Execute-HQ9+
@@ -0,0 +1 @@
+../../Task/Execute-HQ9+/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Execute-a-system-command b/Lang/REXX/Execute-a-system-command
new file mode 120000
index 0000000000..1bce5e0f67
--- /dev/null
+++ b/Lang/REXX/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Exponentiation-operator b/Lang/REXX/Exponentiation-operator
new file mode 120000
index 0000000000..22200afd39
--- /dev/null
+++ b/Lang/REXX/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/REXX
\ No newline at end of file
diff --git a/Lang/Racket/CSV-to-HTML-translation b/Lang/Racket/CSV-to-HTML-translation
new file mode 120000
index 0000000000..59b0d79e42
--- /dev/null
+++ b/Lang/Racket/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Call-a-foreign-language-function b/Lang/Racket/Call-a-foreign-language-function
new file mode 120000
index 0000000000..421885367f
--- /dev/null
+++ b/Lang/Racket/Call-a-foreign-language-function
@@ -0,0 +1 @@
+../../Task/Call-a-foreign-language-function/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Call-a-function-in-a-shared-library b/Lang/Racket/Call-a-function-in-a-shared-library
new file mode 120000
index 0000000000..f879c653e5
--- /dev/null
+++ b/Lang/Racket/Call-a-function-in-a-shared-library
@@ -0,0 +1 @@
+../../Task/Call-a-function-in-a-shared-library/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Call-an-object-method b/Lang/Racket/Call-an-object-method
new file mode 120000
index 0000000000..42f09aa54c
--- /dev/null
+++ b/Lang/Racket/Call-an-object-method
@@ -0,0 +1 @@
+../../Task/Call-an-object-method/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Case-sensitivity-of-identifiers b/Lang/Racket/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..d92faf4fa6
--- /dev/null
+++ b/Lang/Racket/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Character-matching b/Lang/Racket/Character-matching
new file mode 120000
index 0000000000..6aa960b01e
--- /dev/null
+++ b/Lang/Racket/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Color-quantization b/Lang/Racket/Color-quantization
new file mode 120000
index 0000000000..be2e2e60ad
--- /dev/null
+++ b/Lang/Racket/Color-quantization
@@ -0,0 +1 @@
+../../Task/Color-quantization/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Command-line-arguments b/Lang/Racket/Command-line-arguments
new file mode 120000
index 0000000000..3b3a638d6f
--- /dev/null
+++ b/Lang/Racket/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Compile-time-calculation b/Lang/Racket/Compile-time-calculation
new file mode 120000
index 0000000000..8820122954
--- /dev/null
+++ b/Lang/Racket/Compile-time-calculation
@@ -0,0 +1 @@
+../../Task/Compile-time-calculation/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Compound-data-type b/Lang/Racket/Compound-data-type
new file mode 120000
index 0000000000..0220e4f07b
--- /dev/null
+++ b/Lang/Racket/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Concurrent-computing b/Lang/Racket/Concurrent-computing
new file mode 120000
index 0000000000..c23003c44b
--- /dev/null
+++ b/Lang/Racket/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Conways-Game-of-Life b/Lang/Racket/Conways-Game-of-Life
new file mode 120000
index 0000000000..8431bcf514
--- /dev/null
+++ b/Lang/Racket/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Count-in-factors b/Lang/Racket/Count-in-factors
new file mode 120000
index 0000000000..eb090f372b
--- /dev/null
+++ b/Lang/Racket/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Count-in-octal b/Lang/Racket/Count-in-octal
new file mode 120000
index 0000000000..efa2e271ec
--- /dev/null
+++ b/Lang/Racket/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Create-a-file b/Lang/Racket/Create-a-file
new file mode 120000
index 0000000000..0c3239a3e9
--- /dev/null
+++ b/Lang/Racket/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Create-an-HTML-table b/Lang/Racket/Create-an-HTML-table
new file mode 120000
index 0000000000..2ff34f2241
--- /dev/null
+++ b/Lang/Racket/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/Racket
\ No newline at end of file
diff --git a/Lang/Racket/DNS-query b/Lang/Racket/DNS-query
new file mode 120000
index 0000000000..0392c5468a
--- /dev/null
+++ b/Lang/Racket/DNS-query
@@ -0,0 +1 @@
+../../Task/DNS-query/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Date-format b/Lang/Racket/Date-format
new file mode 120000
index 0000000000..3165c6b840
--- /dev/null
+++ b/Lang/Racket/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Digital-root b/Lang/Racket/Digital-root
new file mode 120000
index 0000000000..5380f3a7bc
--- /dev/null
+++ b/Lang/Racket/Digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Documentation b/Lang/Racket/Documentation
new file mode 120000
index 0000000000..54b7609535
--- /dev/null
+++ b/Lang/Racket/Documentation
@@ -0,0 +1 @@
+../../Task/Documentation/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Dot-product b/Lang/Racket/Dot-product
new file mode 120000
index 0000000000..832916d1c7
--- /dev/null
+++ b/Lang/Racket/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Draw-a-sphere b/Lang/Racket/Draw-a-sphere
new file mode 120000
index 0000000000..82e913d0b3
--- /dev/null
+++ b/Lang/Racket/Draw-a-sphere
@@ -0,0 +1 @@
+../../Task/Draw-a-sphere/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Echo-server b/Lang/Racket/Echo-server
new file mode 120000
index 0000000000..413641084b
--- /dev/null
+++ b/Lang/Racket/Echo-server
@@ -0,0 +1 @@
+../../Task/Echo-server/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Empty-directory b/Lang/Racket/Empty-directory
new file mode 120000
index 0000000000..7bc60c8f25
--- /dev/null
+++ b/Lang/Racket/Empty-directory
@@ -0,0 +1 @@
+../../Task/Empty-directory/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Empty-program b/Lang/Racket/Empty-program
new file mode 120000
index 0000000000..f52cd607cc
--- /dev/null
+++ b/Lang/Racket/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Empty-string b/Lang/Racket/Empty-string
new file mode 120000
index 0000000000..7faad7e4f4
--- /dev/null
+++ b/Lang/Racket/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Evaluate-binomial-coefficients b/Lang/Racket/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..e6f617fe31
--- /dev/null
+++ b/Lang/Racket/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Even-or-odd b/Lang/Racket/Even-or-odd
new file mode 120000
index 0000000000..e7ecc11148
--- /dev/null
+++ b/Lang/Racket/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Exceptions b/Lang/Racket/Exceptions
new file mode 120000
index 0000000000..23c762bfda
--- /dev/null
+++ b/Lang/Racket/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/Racket
\ No newline at end of file
diff --git a/Lang/Ruby/CRC-32 b/Lang/Ruby/CRC-32
new file mode 120000
index 0000000000..9bf2bbe4d8
--- /dev/null
+++ b/Lang/Ruby/CRC-32
@@ -0,0 +1 @@
+../../Task/CRC-32/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/CSV-to-HTML-translation b/Lang/Ruby/CSV-to-HTML-translation
new file mode 120000
index 0000000000..f13a0452ca
--- /dev/null
+++ b/Lang/Ruby/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Calendar-for-real-programmers b/Lang/Ruby/Calendar-for-real-programmers
new file mode 120000
index 0000000000..3da8978d69
--- /dev/null
+++ b/Lang/Ruby/Calendar-for-real-programmers
@@ -0,0 +1 @@
+../../Task/Calendar-for-real-programmers/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Call-a-foreign-language-function b/Lang/Ruby/Call-a-foreign-language-function
new file mode 120000
index 0000000000..9f48eb7470
--- /dev/null
+++ b/Lang/Ruby/Call-a-foreign-language-function
@@ -0,0 +1 @@
+../../Task/Call-a-foreign-language-function/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Call-a-function-in-a-shared-library b/Lang/Ruby/Call-a-function-in-a-shared-library
new file mode 120000
index 0000000000..9e2f408350
--- /dev/null
+++ b/Lang/Ruby/Call-a-function-in-a-shared-library
@@ -0,0 +1 @@
+../../Task/Call-a-function-in-a-shared-library/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Call-an-object-method b/Lang/Ruby/Call-an-object-method
new file mode 120000
index 0000000000..a90abebf2a
--- /dev/null
+++ b/Lang/Ruby/Call-an-object-method
@@ -0,0 +1 @@
+../../Task/Call-an-object-method/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Carmichael-3-strong-pseudoprimes b/Lang/Ruby/Carmichael-3-strong-pseudoprimes
new file mode 120000
index 0000000000..a2ca8953c1
--- /dev/null
+++ b/Lang/Ruby/Carmichael-3-strong-pseudoprimes
@@ -0,0 +1 @@
+../../Task/Carmichael-3-strong-pseudoprimes/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Case-sensitivity-of-identifiers b/Lang/Ruby/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..21eb108f72
--- /dev/null
+++ b/Lang/Ruby/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Character-codes b/Lang/Ruby/Character-codes
new file mode 120000
index 0000000000..eb45df112f
--- /dev/null
+++ b/Lang/Ruby/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Character-matching b/Lang/Ruby/Character-matching
new file mode 120000
index 0000000000..34ddb8d8a7
--- /dev/null
+++ b/Lang/Ruby/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Chat-server b/Lang/Ruby/Chat-server
new file mode 120000
index 0000000000..a22d47a467
--- /dev/null
+++ b/Lang/Ruby/Chat-server
@@ -0,0 +1 @@
+../../Task/Chat-server/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Cholesky-decomposition b/Lang/Ruby/Cholesky-decomposition
new file mode 120000
index 0000000000..dcfd1c4bed
--- /dev/null
+++ b/Lang/Ruby/Cholesky-decomposition
@@ -0,0 +1 @@
+../../Task/Cholesky-decomposition/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Combinations b/Lang/Ruby/Combinations
new file mode 120000
index 0000000000..7044845158
--- /dev/null
+++ b/Lang/Ruby/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Combinations-with-repetitions b/Lang/Ruby/Combinations-with-repetitions
new file mode 120000
index 0000000000..07fccb4891
--- /dev/null
+++ b/Lang/Ruby/Combinations-with-repetitions
@@ -0,0 +1 @@
+../../Task/Combinations-with-repetitions/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Command-line-arguments b/Lang/Ruby/Command-line-arguments
new file mode 120000
index 0000000000..985edf9041
--- /dev/null
+++ b/Lang/Ruby/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Compound-data-type b/Lang/Ruby/Compound-data-type
new file mode 120000
index 0000000000..ff9c2dd57e
--- /dev/null
+++ b/Lang/Ruby/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Concurrent-computing b/Lang/Ruby/Concurrent-computing
new file mode 120000
index 0000000000..22742061a0
--- /dev/null
+++ b/Lang/Ruby/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Constrained-random-points-on-a-circle b/Lang/Ruby/Constrained-random-points-on-a-circle
new file mode 120000
index 0000000000..19f7c310ec
--- /dev/null
+++ b/Lang/Ruby/Constrained-random-points-on-a-circle
@@ -0,0 +1 @@
+../../Task/Constrained-random-points-on-a-circle/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Continued-fraction b/Lang/Ruby/Continued-fraction
new file mode 120000
index 0000000000..a700ce9579
--- /dev/null
+++ b/Lang/Ruby/Continued-fraction
@@ -0,0 +1 @@
+../../Task/Continued-fraction/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Continued-fraction-Arithmetic-Construct-from-rational-number b/Lang/Ruby/Continued-fraction-Arithmetic-Construct-from-rational-number
new file mode 120000
index 0000000000..568e3346e5
--- /dev/null
+++ b/Lang/Ruby/Continued-fraction-Arithmetic-Construct-from-rational-number
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-Construct-from-rational-number/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Continued-fraction-Arithmetic-G(matrix-NG,-Contined-Fraction-N) b/Lang/Ruby/Continued-fraction-Arithmetic-G(matrix-NG,-Contined-Fraction-N)
new file mode 120000
index 0000000000..d5c43ece95
--- /dev/null
+++ b/Lang/Ruby/Continued-fraction-Arithmetic-G(matrix-NG,-Contined-Fraction-N)
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-G(matrix-NG,-Contined-Fraction-N)/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Conways-Game-of-Life b/Lang/Ruby/Conways-Game-of-Life
new file mode 120000
index 0000000000..50f8f50c84
--- /dev/null
+++ b/Lang/Ruby/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Count-in-factors b/Lang/Ruby/Count-in-factors
new file mode 120000
index 0000000000..475291f054
--- /dev/null
+++ b/Lang/Ruby/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Count-in-octal b/Lang/Ruby/Count-in-octal
new file mode 120000
index 0000000000..d204950a95
--- /dev/null
+++ b/Lang/Ruby/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Count-occurrences-of-a-substring b/Lang/Ruby/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..9efb3b3692
--- /dev/null
+++ b/Lang/Ruby/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Count-the-coins b/Lang/Ruby/Count-the-coins
new file mode 120000
index 0000000000..b8f487434f
--- /dev/null
+++ b/Lang/Ruby/Count-the-coins
@@ -0,0 +1 @@
+../../Task/Count-the-coins/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Create-a-file b/Lang/Ruby/Create-a-file
new file mode 120000
index 0000000000..9aad09719d
--- /dev/null
+++ b/Lang/Ruby/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Create-a-two-dimensional-array-at-runtime b/Lang/Ruby/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..92bd7bb35a
--- /dev/null
+++ b/Lang/Ruby/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Create-an-HTML-table b/Lang/Ruby/Create-an-HTML-table
new file mode 120000
index 0000000000..1cd1cdbc36
--- /dev/null
+++ b/Lang/Ruby/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Date-format b/Lang/Ruby/Date-format
new file mode 120000
index 0000000000..3ec214955a
--- /dev/null
+++ b/Lang/Ruby/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Date-manipulation b/Lang/Ruby/Date-manipulation
new file mode 120000
index 0000000000..cc8dbcd82c
--- /dev/null
+++ b/Lang/Ruby/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Day-of-the-week b/Lang/Ruby/Day-of-the-week
new file mode 120000
index 0000000000..17ba1e7b20
--- /dev/null
+++ b/Lang/Ruby/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Deal-cards-for-FreeCell b/Lang/Ruby/Deal-cards-for-FreeCell
new file mode 120000
index 0000000000..0143f29eaf
--- /dev/null
+++ b/Lang/Ruby/Deal-cards-for-FreeCell
@@ -0,0 +1 @@
+../../Task/Deal-cards-for-FreeCell/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Deepcopy b/Lang/Ruby/Deepcopy
new file mode 120000
index 0000000000..74dcc5af17
--- /dev/null
+++ b/Lang/Ruby/Deepcopy
@@ -0,0 +1 @@
+../../Task/Deepcopy/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Determine-if-only-one-instance-is-running b/Lang/Ruby/Determine-if-only-one-instance-is-running
new file mode 120000
index 0000000000..c83e2ff65a
--- /dev/null
+++ b/Lang/Ruby/Determine-if-only-one-instance-is-running
@@ -0,0 +1 @@
+../../Task/Determine-if-only-one-instance-is-running/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Dinesmans-multiple-dwelling-problem b/Lang/Ruby/Dinesmans-multiple-dwelling-problem
new file mode 120000
index 0000000000..8dec5b64ae
--- /dev/null
+++ b/Lang/Ruby/Dinesmans-multiple-dwelling-problem
@@ -0,0 +1 @@
+../../Task/Dinesmans-multiple-dwelling-problem/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Dining-philosophers b/Lang/Ruby/Dining-philosophers
new file mode 120000
index 0000000000..98b6023e2c
--- /dev/null
+++ b/Lang/Ruby/Dining-philosophers
@@ -0,0 +1 @@
+../../Task/Dining-philosophers/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Discordian-date b/Lang/Ruby/Discordian-date
new file mode 120000
index 0000000000..9f51aa48e5
--- /dev/null
+++ b/Lang/Ruby/Discordian-date
@@ -0,0 +1 @@
+../../Task/Discordian-date/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Distributed-programming b/Lang/Ruby/Distributed-programming
new file mode 120000
index 0000000000..d6074359fb
--- /dev/null
+++ b/Lang/Ruby/Distributed-programming
@@ -0,0 +1 @@
+../../Task/Distributed-programming/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Documentation b/Lang/Ruby/Documentation
new file mode 120000
index 0000000000..e27aabc452
--- /dev/null
+++ b/Lang/Ruby/Documentation
@@ -0,0 +1 @@
+../../Task/Documentation/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Dot-product b/Lang/Ruby/Dot-product
new file mode 120000
index 0000000000..ecb0368135
--- /dev/null
+++ b/Lang/Ruby/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Doubly-linked-list-Element-definition b/Lang/Ruby/Doubly-linked-list-Element-definition
new file mode 120000
index 0000000000..48d84d38b7
--- /dev/null
+++ b/Lang/Ruby/Doubly-linked-list-Element-definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-definition/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Doubly-linked-list-Element-insertion b/Lang/Ruby/Doubly-linked-list-Element-insertion
new file mode 120000
index 0000000000..405ddbf0c1
--- /dev/null
+++ b/Lang/Ruby/Doubly-linked-list-Element-insertion
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-insertion/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Doubly-linked-list-Traversal b/Lang/Ruby/Doubly-linked-list-Traversal
new file mode 120000
index 0000000000..dd024d4f2b
--- /dev/null
+++ b/Lang/Ruby/Doubly-linked-list-Traversal
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Traversal/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Draw-a-sphere b/Lang/Ruby/Draw-a-sphere
new file mode 120000
index 0000000000..b18e548177
--- /dev/null
+++ b/Lang/Ruby/Draw-a-sphere
@@ -0,0 +1 @@
+../../Task/Draw-a-sphere/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Dutch-national-flag-problem b/Lang/Ruby/Dutch-national-flag-problem
new file mode 120000
index 0000000000..b500277e2d
--- /dev/null
+++ b/Lang/Ruby/Dutch-national-flag-problem
@@ -0,0 +1 @@
+../../Task/Dutch-national-flag-problem/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Dynamic-variable-names b/Lang/Ruby/Dynamic-variable-names
new file mode 120000
index 0000000000..ad7a9c8011
--- /dev/null
+++ b/Lang/Ruby/Dynamic-variable-names
@@ -0,0 +1 @@
+../../Task/Dynamic-variable-names/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Echo-server b/Lang/Ruby/Echo-server
new file mode 120000
index 0000000000..e59d0f62b4
--- /dev/null
+++ b/Lang/Ruby/Echo-server
@@ -0,0 +1 @@
+../../Task/Echo-server/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Empty-directory b/Lang/Ruby/Empty-directory
new file mode 120000
index 0000000000..23dd97b7e1
--- /dev/null
+++ b/Lang/Ruby/Empty-directory
@@ -0,0 +1 @@
+../../Task/Empty-directory/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Empty-program b/Lang/Ruby/Empty-program
new file mode 120000
index 0000000000..c1f1d0f264
--- /dev/null
+++ b/Lang/Ruby/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Empty-string b/Lang/Ruby/Empty-string
new file mode 120000
index 0000000000..5284ddb251
--- /dev/null
+++ b/Lang/Ruby/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Enforced-immutability b/Lang/Ruby/Enforced-immutability
new file mode 120000
index 0000000000..378ebe9f66
--- /dev/null
+++ b/Lang/Ruby/Enforced-immutability
@@ -0,0 +1 @@
+../../Task/Enforced-immutability/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Enumerations b/Lang/Ruby/Enumerations
new file mode 120000
index 0000000000..dfdfa66f9d
--- /dev/null
+++ b/Lang/Ruby/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Equilibrium-index b/Lang/Ruby/Equilibrium-index
new file mode 120000
index 0000000000..6fc319d7e9
--- /dev/null
+++ b/Lang/Ruby/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Ethiopian-multiplication b/Lang/Ruby/Ethiopian-multiplication
new file mode 120000
index 0000000000..4d72a488b6
--- /dev/null
+++ b/Lang/Ruby/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Euler-method b/Lang/Ruby/Euler-method
new file mode 120000
index 0000000000..fc5f18b156
--- /dev/null
+++ b/Lang/Ruby/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Evaluate-binomial-coefficients b/Lang/Ruby/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..2c618b4c0e
--- /dev/null
+++ b/Lang/Ruby/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Even-or-odd b/Lang/Ruby/Even-or-odd
new file mode 120000
index 0000000000..71795ef0a3
--- /dev/null
+++ b/Lang/Ruby/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Evolutionary-algorithm b/Lang/Ruby/Evolutionary-algorithm
new file mode 120000
index 0000000000..72e3d3fdb7
--- /dev/null
+++ b/Lang/Ruby/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Exceptions b/Lang/Ruby/Exceptions
new file mode 120000
index 0000000000..9a9639c03c
--- /dev/null
+++ b/Lang/Ruby/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/Ruby/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..51830c6681
--- /dev/null
+++ b/Lang/Ruby/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Executable-library b/Lang/Ruby/Executable-library
new file mode 120000
index 0000000000..ac6e9e3fb4
--- /dev/null
+++ b/Lang/Ruby/Executable-library
@@ -0,0 +1 @@
+../../Task/Executable-library/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Execute-a-system-command b/Lang/Ruby/Execute-a-system-command
new file mode 120000
index 0000000000..44862e88a9
--- /dev/null
+++ b/Lang/Ruby/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Exponentiation-operator b/Lang/Ruby/Exponentiation-operator
new file mode 120000
index 0000000000..76cb70cf1d
--- /dev/null
+++ b/Lang/Ruby/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Extend-your-language b/Lang/Ruby/Extend-your-language
new file mode 120000
index 0000000000..4053ef696b
--- /dev/null
+++ b/Lang/Ruby/Extend-your-language
@@ -0,0 +1 @@
+../../Task/Extend-your-language/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Extreme-floating-point-values b/Lang/Ruby/Extreme-floating-point-values
new file mode 120000
index 0000000000..7c085258bc
--- /dev/null
+++ b/Lang/Ruby/Extreme-floating-point-values
@@ -0,0 +1 @@
+../../Task/Extreme-floating-point-values/Ruby
\ No newline at end of file
diff --git a/Lang/SNUSP/Conditional-structures b/Lang/SNUSP/Conditional-structures
new file mode 120000
index 0000000000..d07ab1fd83
--- /dev/null
+++ b/Lang/SNUSP/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/SNUSP
\ No newline at end of file
diff --git a/Lang/SNUSP/Ethiopian-multiplication b/Lang/SNUSP/Ethiopian-multiplication
new file mode 120000
index 0000000000..47162585ea
--- /dev/null
+++ b/Lang/SNUSP/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/SNUSP
\ No newline at end of file
diff --git a/Lang/SNUSP/Even-or-odd b/Lang/SNUSP/Even-or-odd
new file mode 120000
index 0000000000..44a903eafa
--- /dev/null
+++ b/Lang/SNUSP/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/SNUSP
\ No newline at end of file
diff --git a/Lang/Sather/Case-sensitivity-of-identifiers b/Lang/Sather/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..93681ae670
--- /dev/null
+++ b/Lang/Sather/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/Sather
\ No newline at end of file
diff --git a/Lang/Sather/Character-codes b/Lang/Sather/Character-codes
new file mode 120000
index 0000000000..abc5d89dac
--- /dev/null
+++ b/Lang/Sather/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Sather
\ No newline at end of file
diff --git a/Lang/Sather/Command-line-arguments b/Lang/Sather/Command-line-arguments
new file mode 120000
index 0000000000..237726b586
--- /dev/null
+++ b/Lang/Sather/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Sather
\ No newline at end of file
diff --git a/Lang/Sather/Conditional-structures b/Lang/Sather/Conditional-structures
new file mode 120000
index 0000000000..15c9537fb5
--- /dev/null
+++ b/Lang/Sather/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Sather
\ No newline at end of file
diff --git a/Lang/Sather/Constrained-genericity b/Lang/Sather/Constrained-genericity
new file mode 120000
index 0000000000..8d08ed445b
--- /dev/null
+++ b/Lang/Sather/Constrained-genericity
@@ -0,0 +1 @@
+../../Task/Constrained-genericity/Sather
\ No newline at end of file
diff --git a/Lang/Sather/Dot-product b/Lang/Sather/Dot-product
new file mode 120000
index 0000000000..217a861296
--- /dev/null
+++ b/Lang/Sather/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Sather
\ No newline at end of file
diff --git a/Lang/Scala/CSV-to-HTML-translation b/Lang/Scala/CSV-to-HTML-translation
new file mode 120000
index 0000000000..d8589b7a8c
--- /dev/null
+++ b/Lang/Scala/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Case-sensitivity-of-identifiers b/Lang/Scala/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..3398c9d6f7
--- /dev/null
+++ b/Lang/Scala/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Character-codes b/Lang/Scala/Character-codes
new file mode 120000
index 0000000000..e82bda89eb
--- /dev/null
+++ b/Lang/Scala/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Character-matching b/Lang/Scala/Character-matching
new file mode 120000
index 0000000000..05767cdec2
--- /dev/null
+++ b/Lang/Scala/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Colour-bars-Display b/Lang/Scala/Colour-bars-Display
new file mode 120000
index 0000000000..61a4c75156
--- /dev/null
+++ b/Lang/Scala/Colour-bars-Display
@@ -0,0 +1 @@
+../../Task/Colour-bars-Display/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Combinations b/Lang/Scala/Combinations
new file mode 120000
index 0000000000..3fc9c4fe2e
--- /dev/null
+++ b/Lang/Scala/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Combinations-with-repetitions b/Lang/Scala/Combinations-with-repetitions
new file mode 120000
index 0000000000..f2a01f0acf
--- /dev/null
+++ b/Lang/Scala/Combinations-with-repetitions
@@ -0,0 +1 @@
+../../Task/Combinations-with-repetitions/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Command-line-arguments b/Lang/Scala/Command-line-arguments
new file mode 120000
index 0000000000..6202858cef
--- /dev/null
+++ b/Lang/Scala/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Compound-data-type b/Lang/Scala/Compound-data-type
new file mode 120000
index 0000000000..0e5880daa5
--- /dev/null
+++ b/Lang/Scala/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Concurrent-computing b/Lang/Scala/Concurrent-computing
new file mode 120000
index 0000000000..972abf43db
--- /dev/null
+++ b/Lang/Scala/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Constrained-genericity b/Lang/Scala/Constrained-genericity
new file mode 120000
index 0000000000..0a401acbac
--- /dev/null
+++ b/Lang/Scala/Constrained-genericity
@@ -0,0 +1 @@
+../../Task/Constrained-genericity/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Continued-fraction b/Lang/Scala/Continued-fraction
new file mode 120000
index 0000000000..1c70bed51f
--- /dev/null
+++ b/Lang/Scala/Continued-fraction
@@ -0,0 +1 @@
+../../Task/Continued-fraction/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Count-in-octal b/Lang/Scala/Count-in-octal
new file mode 120000
index 0000000000..aadff8481e
--- /dev/null
+++ b/Lang/Scala/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Count-occurrences-of-a-substring b/Lang/Scala/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..bbc55e78bb
--- /dev/null
+++ b/Lang/Scala/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Count-the-coins b/Lang/Scala/Count-the-coins
new file mode 120000
index 0000000000..bb4e81e6ba
--- /dev/null
+++ b/Lang/Scala/Count-the-coins
@@ -0,0 +1 @@
+../../Task/Count-the-coins/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Create-a-two-dimensional-array-at-runtime b/Lang/Scala/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..4abdc07820
--- /dev/null
+++ b/Lang/Scala/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Date-format b/Lang/Scala/Date-format
new file mode 120000
index 0000000000..a726c8bac7
--- /dev/null
+++ b/Lang/Scala/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Date-manipulation b/Lang/Scala/Date-manipulation
new file mode 120000
index 0000000000..6ff6d66173
--- /dev/null
+++ b/Lang/Scala/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Day-of-the-week b/Lang/Scala/Day-of-the-week
new file mode 120000
index 0000000000..5502b15457
--- /dev/null
+++ b/Lang/Scala/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Digital-root b/Lang/Scala/Digital-root
new file mode 120000
index 0000000000..62eb815d90
--- /dev/null
+++ b/Lang/Scala/Digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Dinesmans-multiple-dwelling-problem b/Lang/Scala/Dinesmans-multiple-dwelling-problem
new file mode 120000
index 0000000000..31e2826c26
--- /dev/null
+++ b/Lang/Scala/Dinesmans-multiple-dwelling-problem
@@ -0,0 +1 @@
+../../Task/Dinesmans-multiple-dwelling-problem/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Discordian-date b/Lang/Scala/Discordian-date
new file mode 120000
index 0000000000..a6abccd665
--- /dev/null
+++ b/Lang/Scala/Discordian-date
@@ -0,0 +1 @@
+../../Task/Discordian-date/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Dot-product b/Lang/Scala/Dot-product
new file mode 120000
index 0000000000..bed785d33d
--- /dev/null
+++ b/Lang/Scala/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Empty-directory b/Lang/Scala/Empty-directory
new file mode 120000
index 0000000000..117112d31b
--- /dev/null
+++ b/Lang/Scala/Empty-directory
@@ -0,0 +1 @@
+../../Task/Empty-directory/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Empty-program b/Lang/Scala/Empty-program
new file mode 120000
index 0000000000..69b5c89b44
--- /dev/null
+++ b/Lang/Scala/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Empty-string b/Lang/Scala/Empty-string
new file mode 120000
index 0000000000..8a77c07de2
--- /dev/null
+++ b/Lang/Scala/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Enforced-immutability b/Lang/Scala/Enforced-immutability
new file mode 120000
index 0000000000..18836ead4c
--- /dev/null
+++ b/Lang/Scala/Enforced-immutability
@@ -0,0 +1 @@
+../../Task/Enforced-immutability/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Enumerations b/Lang/Scala/Enumerations
new file mode 120000
index 0000000000..04f7b624e1
--- /dev/null
+++ b/Lang/Scala/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Ethiopian-multiplication b/Lang/Scala/Ethiopian-multiplication
new file mode 120000
index 0000000000..0bb7b64231
--- /dev/null
+++ b/Lang/Scala/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Euler-method b/Lang/Scala/Euler-method
new file mode 120000
index 0000000000..e3f94418d5
--- /dev/null
+++ b/Lang/Scala/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Evaluate-binomial-coefficients b/Lang/Scala/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..9ead31d9c7
--- /dev/null
+++ b/Lang/Scala/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Even-or-odd b/Lang/Scala/Even-or-odd
new file mode 120000
index 0000000000..c447c4af42
--- /dev/null
+++ b/Lang/Scala/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Evolutionary-algorithm b/Lang/Scala/Evolutionary-algorithm
new file mode 120000
index 0000000000..5423c588d6
--- /dev/null
+++ b/Lang/Scala/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Execute-HQ9+ b/Lang/Scala/Execute-HQ9+
new file mode 120000
index 0000000000..403b643bfd
--- /dev/null
+++ b/Lang/Scala/Execute-HQ9+
@@ -0,0 +1 @@
+../../Task/Execute-HQ9+/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Execute-a-system-command b/Lang/Scala/Execute-a-system-command
new file mode 120000
index 0000000000..657e06b610
--- /dev/null
+++ b/Lang/Scala/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Exponentiation-operator b/Lang/Scala/Exponentiation-operator
new file mode 120000
index 0000000000..50c424ea52
--- /dev/null
+++ b/Lang/Scala/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Extend-your-language b/Lang/Scala/Extend-your-language
new file mode 120000
index 0000000000..7bb2189567
--- /dev/null
+++ b/Lang/Scala/Extend-your-language
@@ -0,0 +1 @@
+../../Task/Extend-your-language/Scala
\ No newline at end of file
diff --git a/Lang/Scheme/Case-sensitivity-of-identifiers b/Lang/Scheme/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..840e1a7dbc
--- /dev/null
+++ b/Lang/Scheme/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Character-codes b/Lang/Scheme/Character-codes
new file mode 120000
index 0000000000..5aeda2896c
--- /dev/null
+++ b/Lang/Scheme/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Combinations b/Lang/Scheme/Combinations
new file mode 120000
index 0000000000..9c729434ec
--- /dev/null
+++ b/Lang/Scheme/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Combinations-with-repetitions b/Lang/Scheme/Combinations-with-repetitions
new file mode 120000
index 0000000000..78b18b6921
--- /dev/null
+++ b/Lang/Scheme/Combinations-with-repetitions
@@ -0,0 +1 @@
+../../Task/Combinations-with-repetitions/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Command-line-arguments b/Lang/Scheme/Command-line-arguments
new file mode 120000
index 0000000000..c2aa874f81
--- /dev/null
+++ b/Lang/Scheme/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Compound-data-type b/Lang/Scheme/Compound-data-type
new file mode 120000
index 0000000000..a429dc1080
--- /dev/null
+++ b/Lang/Scheme/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Concurrent-computing b/Lang/Scheme/Concurrent-computing
new file mode 120000
index 0000000000..af684210c4
--- /dev/null
+++ b/Lang/Scheme/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Conditional-structures b/Lang/Scheme/Conditional-structures
new file mode 120000
index 0000000000..9cb8f61c64
--- /dev/null
+++ b/Lang/Scheme/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Conways-Game-of-Life b/Lang/Scheme/Conways-Game-of-Life
new file mode 120000
index 0000000000..4f7a5a1c3d
--- /dev/null
+++ b/Lang/Scheme/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Count-in-factors b/Lang/Scheme/Count-in-factors
new file mode 120000
index 0000000000..23f183c073
--- /dev/null
+++ b/Lang/Scheme/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Count-in-octal b/Lang/Scheme/Count-in-octal
new file mode 120000
index 0000000000..a4e82db656
--- /dev/null
+++ b/Lang/Scheme/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Count-the-coins b/Lang/Scheme/Count-the-coins
new file mode 120000
index 0000000000..d5b7db36aa
--- /dev/null
+++ b/Lang/Scheme/Count-the-coins
@@ -0,0 +1 @@
+../../Task/Count-the-coins/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Create-a-file b/Lang/Scheme/Create-a-file
new file mode 120000
index 0000000000..277ce6f45e
--- /dev/null
+++ b/Lang/Scheme/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Create-an-HTML-table b/Lang/Scheme/Create-an-HTML-table
new file mode 120000
index 0000000000..7d0c8dce02
--- /dev/null
+++ b/Lang/Scheme/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/DNS-query b/Lang/Scheme/DNS-query
new file mode 120000
index 0000000000..f1bee3dfcb
--- /dev/null
+++ b/Lang/Scheme/DNS-query
@@ -0,0 +1 @@
+../../Task/DNS-query/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Day-of-the-week b/Lang/Scheme/Day-of-the-week
new file mode 120000
index 0000000000..a0dfe2ecd7
--- /dev/null
+++ b/Lang/Scheme/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Dot-product b/Lang/Scheme/Dot-product
new file mode 120000
index 0000000000..6c4df7bd5a
--- /dev/null
+++ b/Lang/Scheme/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Dynamic-variable-names b/Lang/Scheme/Dynamic-variable-names
new file mode 120000
index 0000000000..887054e242
--- /dev/null
+++ b/Lang/Scheme/Dynamic-variable-names
@@ -0,0 +1 @@
+../../Task/Dynamic-variable-names/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Echo-server b/Lang/Scheme/Echo-server
new file mode 120000
index 0000000000..997950c156
--- /dev/null
+++ b/Lang/Scheme/Echo-server
@@ -0,0 +1 @@
+../../Task/Echo-server/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Empty-program b/Lang/Scheme/Empty-program
new file mode 120000
index 0000000000..ee1ee662be
--- /dev/null
+++ b/Lang/Scheme/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Empty-string b/Lang/Scheme/Empty-string
new file mode 120000
index 0000000000..1f67844140
--- /dev/null
+++ b/Lang/Scheme/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Enumerations b/Lang/Scheme/Enumerations
new file mode 120000
index 0000000000..9707291ac3
--- /dev/null
+++ b/Lang/Scheme/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Ethiopian-multiplication b/Lang/Scheme/Ethiopian-multiplication
new file mode 120000
index 0000000000..a92a9ae88c
--- /dev/null
+++ b/Lang/Scheme/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Evaluate-binomial-coefficients b/Lang/Scheme/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..ec4caf3cd6
--- /dev/null
+++ b/Lang/Scheme/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Even-or-odd b/Lang/Scheme/Even-or-odd
new file mode 120000
index 0000000000..dcf2ada4fb
--- /dev/null
+++ b/Lang/Scheme/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Exceptions b/Lang/Scheme/Exceptions
new file mode 120000
index 0000000000..4869d2b1ae
--- /dev/null
+++ b/Lang/Scheme/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Execute-a-system-command b/Lang/Scheme/Execute-a-system-command
new file mode 120000
index 0000000000..baf6bf1abd
--- /dev/null
+++ b/Lang/Scheme/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Exponentiation-operator b/Lang/Scheme/Exponentiation-operator
new file mode 120000
index 0000000000..65a25e47dc
--- /dev/null
+++ b/Lang/Scheme/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Extend-your-language b/Lang/Scheme/Extend-your-language
new file mode 120000
index 0000000000..7a90d3e566
--- /dev/null
+++ b/Lang/Scheme/Extend-your-language
@@ -0,0 +1 @@
+../../Task/Extend-your-language/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Extreme-floating-point-values b/Lang/Scheme/Extreme-floating-point-values
new file mode 120000
index 0000000000..f52aafe7a0
--- /dev/null
+++ b/Lang/Scheme/Extreme-floating-point-values
@@ -0,0 +1 @@
+../../Task/Extreme-floating-point-values/Scheme
\ No newline at end of file
diff --git a/Lang/Smalltalk/CRC-32 b/Lang/Smalltalk/CRC-32
new file mode 120000
index 0000000000..c9260d1c6e
--- /dev/null
+++ b/Lang/Smalltalk/CRC-32
@@ -0,0 +1 @@
+../../Task/CRC-32/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Call-a-function b/Lang/Smalltalk/Call-a-function
new file mode 120000
index 0000000000..61f8a27ab4
--- /dev/null
+++ b/Lang/Smalltalk/Call-a-function
@@ -0,0 +1 @@
+../../Task/Call-a-function/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Call-a-function-in-a-shared-library b/Lang/Smalltalk/Call-a-function-in-a-shared-library
new file mode 120000
index 0000000000..1d7daa0b28
--- /dev/null
+++ b/Lang/Smalltalk/Call-a-function-in-a-shared-library
@@ -0,0 +1 @@
+../../Task/Call-a-function-in-a-shared-library/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Call-an-object-method b/Lang/Smalltalk/Call-an-object-method
new file mode 120000
index 0000000000..e1bd0938d7
--- /dev/null
+++ b/Lang/Smalltalk/Call-an-object-method
@@ -0,0 +1 @@
+../../Task/Call-an-object-method/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Case-sensitivity-of-identifiers b/Lang/Smalltalk/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..9edb7329e2
--- /dev/null
+++ b/Lang/Smalltalk/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Character-codes b/Lang/Smalltalk/Character-codes
new file mode 120000
index 0000000000..1029e98cf4
--- /dev/null
+++ b/Lang/Smalltalk/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Character-matching b/Lang/Smalltalk/Character-matching
new file mode 120000
index 0000000000..9b9ab21c46
--- /dev/null
+++ b/Lang/Smalltalk/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Combinations b/Lang/Smalltalk/Combinations
new file mode 120000
index 0000000000..f192189e5b
--- /dev/null
+++ b/Lang/Smalltalk/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Command-line-arguments b/Lang/Smalltalk/Command-line-arguments
new file mode 120000
index 0000000000..a580b9ced7
--- /dev/null
+++ b/Lang/Smalltalk/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Conditional-structures b/Lang/Smalltalk/Conditional-structures
new file mode 120000
index 0000000000..03680ab08e
--- /dev/null
+++ b/Lang/Smalltalk/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Create-a-file b/Lang/Smalltalk/Create-a-file
new file mode 120000
index 0000000000..81eadd62de
--- /dev/null
+++ b/Lang/Smalltalk/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Create-a-two-dimensional-array-at-runtime b/Lang/Smalltalk/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..15afee71ed
--- /dev/null
+++ b/Lang/Smalltalk/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Date-manipulation b/Lang/Smalltalk/Date-manipulation
new file mode 120000
index 0000000000..0a6808466c
--- /dev/null
+++ b/Lang/Smalltalk/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Day-of-the-week b/Lang/Smalltalk/Day-of-the-week
new file mode 120000
index 0000000000..5d4ee397c4
--- /dev/null
+++ b/Lang/Smalltalk/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Dining-philosophers b/Lang/Smalltalk/Dining-philosophers
new file mode 120000
index 0000000000..7f8005f23b
--- /dev/null
+++ b/Lang/Smalltalk/Dining-philosophers
@@ -0,0 +1 @@
+../../Task/Dining-philosophers/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Documentation b/Lang/Smalltalk/Documentation
new file mode 120000
index 0000000000..32e0d77a13
--- /dev/null
+++ b/Lang/Smalltalk/Documentation
@@ -0,0 +1 @@
+../../Task/Documentation/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Dot-product b/Lang/Smalltalk/Dot-product
new file mode 120000
index 0000000000..0c176775b7
--- /dev/null
+++ b/Lang/Smalltalk/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Draw-a-sphere b/Lang/Smalltalk/Draw-a-sphere
new file mode 120000
index 0000000000..533ee5572a
--- /dev/null
+++ b/Lang/Smalltalk/Draw-a-sphere
@@ -0,0 +1 @@
+../../Task/Draw-a-sphere/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Dynamic-variable-names b/Lang/Smalltalk/Dynamic-variable-names
new file mode 120000
index 0000000000..dd4319a0ff
--- /dev/null
+++ b/Lang/Smalltalk/Dynamic-variable-names
@@ -0,0 +1 @@
+../../Task/Dynamic-variable-names/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Empty-program b/Lang/Smalltalk/Empty-program
new file mode 120000
index 0000000000..69d5b5b00f
--- /dev/null
+++ b/Lang/Smalltalk/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Ethiopian-multiplication b/Lang/Smalltalk/Ethiopian-multiplication
new file mode 120000
index 0000000000..d7cb1de94e
--- /dev/null
+++ b/Lang/Smalltalk/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Evolutionary-algorithm b/Lang/Smalltalk/Evolutionary-algorithm
new file mode 120000
index 0000000000..7f736b614d
--- /dev/null
+++ b/Lang/Smalltalk/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Exceptions b/Lang/Smalltalk/Exceptions
new file mode 120000
index 0000000000..7f300c88ac
--- /dev/null
+++ b/Lang/Smalltalk/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/Smalltalk/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..b392cae425
--- /dev/null
+++ b/Lang/Smalltalk/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Execute-a-system-command b/Lang/Smalltalk/Execute-a-system-command
new file mode 120000
index 0000000000..39b35da4cd
--- /dev/null
+++ b/Lang/Smalltalk/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Exponentiation-operator b/Lang/Smalltalk/Exponentiation-operator
new file mode 120000
index 0000000000..4217e289e4
--- /dev/null
+++ b/Lang/Smalltalk/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/Smalltalk
\ No newline at end of file
diff --git a/Lang/Tcl/CRC-32 b/Lang/Tcl/CRC-32
new file mode 120000
index 0000000000..b8b0bd7088
--- /dev/null
+++ b/Lang/Tcl/CRC-32
@@ -0,0 +1 @@
+../../Task/CRC-32/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/CSV-to-HTML-translation b/Lang/Tcl/CSV-to-HTML-translation
new file mode 120000
index 0000000000..7ce46916c9
--- /dev/null
+++ b/Lang/Tcl/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Calendar-for-real-programmers b/Lang/Tcl/Calendar-for-real-programmers
new file mode 120000
index 0000000000..97e97724d3
--- /dev/null
+++ b/Lang/Tcl/Calendar-for-real-programmers
@@ -0,0 +1 @@
+../../Task/Calendar-for-real-programmers/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Call-a-foreign-language-function b/Lang/Tcl/Call-a-foreign-language-function
new file mode 120000
index 0000000000..96aa348f6f
--- /dev/null
+++ b/Lang/Tcl/Call-a-foreign-language-function
@@ -0,0 +1 @@
+../../Task/Call-a-foreign-language-function/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Call-a-function b/Lang/Tcl/Call-a-function
new file mode 120000
index 0000000000..2521cc9766
--- /dev/null
+++ b/Lang/Tcl/Call-a-function
@@ -0,0 +1 @@
+../../Task/Call-a-function/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Call-a-function-in-a-shared-library b/Lang/Tcl/Call-a-function-in-a-shared-library
new file mode 120000
index 0000000000..c1eb070255
--- /dev/null
+++ b/Lang/Tcl/Call-a-function-in-a-shared-library
@@ -0,0 +1 @@
+../../Task/Call-a-function-in-a-shared-library/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Call-an-object-method b/Lang/Tcl/Call-an-object-method
new file mode 120000
index 0000000000..4cfe3e3bc7
--- /dev/null
+++ b/Lang/Tcl/Call-an-object-method
@@ -0,0 +1 @@
+../../Task/Call-an-object-method/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Canny-edge-detector b/Lang/Tcl/Canny-edge-detector
new file mode 120000
index 0000000000..f4bf5c0045
--- /dev/null
+++ b/Lang/Tcl/Canny-edge-detector
@@ -0,0 +1 @@
+../../Task/Canny-edge-detector/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Carmichael-3-strong-pseudoprimes b/Lang/Tcl/Carmichael-3-strong-pseudoprimes
new file mode 120000
index 0000000000..e67410bda8
--- /dev/null
+++ b/Lang/Tcl/Carmichael-3-strong-pseudoprimes
@@ -0,0 +1 @@
+../../Task/Carmichael-3-strong-pseudoprimes/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Case-sensitivity-of-identifiers b/Lang/Tcl/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..0821a83c11
--- /dev/null
+++ b/Lang/Tcl/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Catmull-Clark-subdivision-surface b/Lang/Tcl/Catmull-Clark-subdivision-surface
new file mode 120000
index 0000000000..039c891da2
--- /dev/null
+++ b/Lang/Tcl/Catmull-Clark-subdivision-surface
@@ -0,0 +1 @@
+../../Task/Catmull-Clark-subdivision-surface/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Character-codes b/Lang/Tcl/Character-codes
new file mode 120000
index 0000000000..3f7702eaa9
--- /dev/null
+++ b/Lang/Tcl/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Character-matching b/Lang/Tcl/Character-matching
new file mode 120000
index 0000000000..6b64a025e3
--- /dev/null
+++ b/Lang/Tcl/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Chat-server b/Lang/Tcl/Chat-server
new file mode 120000
index 0000000000..531f6a159e
--- /dev/null
+++ b/Lang/Tcl/Chat-server
@@ -0,0 +1 @@
+../../Task/Chat-server/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Check-Machin-like-formulas b/Lang/Tcl/Check-Machin-like-formulas
new file mode 120000
index 0000000000..f39bc7d0da
--- /dev/null
+++ b/Lang/Tcl/Check-Machin-like-formulas
@@ -0,0 +1 @@
+../../Task/Check-Machin-like-formulas/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Cholesky-decomposition b/Lang/Tcl/Cholesky-decomposition
new file mode 120000
index 0000000000..69e3b8ec80
--- /dev/null
+++ b/Lang/Tcl/Cholesky-decomposition
@@ -0,0 +1 @@
+../../Task/Cholesky-decomposition/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Color-quantization b/Lang/Tcl/Color-quantization
new file mode 120000
index 0000000000..375b62b75c
--- /dev/null
+++ b/Lang/Tcl/Color-quantization
@@ -0,0 +1 @@
+../../Task/Color-quantization/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Colour-bars-Display b/Lang/Tcl/Colour-bars-Display
new file mode 120000
index 0000000000..b388133eba
--- /dev/null
+++ b/Lang/Tcl/Colour-bars-Display
@@ -0,0 +1 @@
+../../Task/Colour-bars-Display/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Colour-pinstripe-Display b/Lang/Tcl/Colour-pinstripe-Display
new file mode 120000
index 0000000000..087a1d8dc4
--- /dev/null
+++ b/Lang/Tcl/Colour-pinstripe-Display
@@ -0,0 +1 @@
+../../Task/Colour-pinstripe-Display/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Colour-pinstripe-Printer b/Lang/Tcl/Colour-pinstripe-Printer
new file mode 120000
index 0000000000..8f3a1c6e4f
--- /dev/null
+++ b/Lang/Tcl/Colour-pinstripe-Printer
@@ -0,0 +1 @@
+../../Task/Colour-pinstripe-Printer/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Combinations b/Lang/Tcl/Combinations
new file mode 120000
index 0000000000..2ebcec29d0
--- /dev/null
+++ b/Lang/Tcl/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Combinations-with-repetitions b/Lang/Tcl/Combinations-with-repetitions
new file mode 120000
index 0000000000..c7e13e64c0
--- /dev/null
+++ b/Lang/Tcl/Combinations-with-repetitions
@@ -0,0 +1 @@
+../../Task/Combinations-with-repetitions/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Command-line-arguments b/Lang/Tcl/Command-line-arguments
new file mode 120000
index 0000000000..4bf1e4e5d5
--- /dev/null
+++ b/Lang/Tcl/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Compare-sorting-algorithms-performance b/Lang/Tcl/Compare-sorting-algorithms-performance
new file mode 120000
index 0000000000..4e0357cec5
--- /dev/null
+++ b/Lang/Tcl/Compare-sorting-algorithms-performance
@@ -0,0 +1 @@
+../../Task/Compare-sorting-algorithms-performance/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Compile-time-calculation b/Lang/Tcl/Compile-time-calculation
new file mode 120000
index 0000000000..0d210420ab
--- /dev/null
+++ b/Lang/Tcl/Compile-time-calculation
@@ -0,0 +1 @@
+../../Task/Compile-time-calculation/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Compound-data-type b/Lang/Tcl/Compound-data-type
new file mode 120000
index 0000000000..8fd72eeb1a
--- /dev/null
+++ b/Lang/Tcl/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Concurrent-computing b/Lang/Tcl/Concurrent-computing
new file mode 120000
index 0000000000..79caca324e
--- /dev/null
+++ b/Lang/Tcl/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Conditional-structures b/Lang/Tcl/Conditional-structures
new file mode 120000
index 0000000000..ea614a26a2
--- /dev/null
+++ b/Lang/Tcl/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Constrained-random-points-on-a-circle b/Lang/Tcl/Constrained-random-points-on-a-circle
new file mode 120000
index 0000000000..245e964ad4
--- /dev/null
+++ b/Lang/Tcl/Constrained-random-points-on-a-circle
@@ -0,0 +1 @@
+../../Task/Constrained-random-points-on-a-circle/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Continued-fraction b/Lang/Tcl/Continued-fraction
new file mode 120000
index 0000000000..c538230b12
--- /dev/null
+++ b/Lang/Tcl/Continued-fraction
@@ -0,0 +1 @@
+../../Task/Continued-fraction/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Continued-fraction-Arithmetic-Construct-from-rational-number b/Lang/Tcl/Continued-fraction-Arithmetic-Construct-from-rational-number
new file mode 120000
index 0000000000..a72871a5de
--- /dev/null
+++ b/Lang/Tcl/Continued-fraction-Arithmetic-Construct-from-rational-number
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-Construct-from-rational-number/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Continued-fraction-Arithmetic-G(matrix-NG,-Contined-Fraction-N) b/Lang/Tcl/Continued-fraction-Arithmetic-G(matrix-NG,-Contined-Fraction-N)
new file mode 120000
index 0000000000..0b535b33df
--- /dev/null
+++ b/Lang/Tcl/Continued-fraction-Arithmetic-G(matrix-NG,-Contined-Fraction-N)
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-G(matrix-NG,-Contined-Fraction-N)/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Continued-fraction-Arithmetic-G(matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2) b/Lang/Tcl/Continued-fraction-Arithmetic-G(matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2)
new file mode 120000
index 0000000000..752393920c
--- /dev/null
+++ b/Lang/Tcl/Continued-fraction-Arithmetic-G(matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2)
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-G(matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2)/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Conways-Game-of-Life b/Lang/Tcl/Conways-Game-of-Life
new file mode 120000
index 0000000000..0dada3c798
--- /dev/null
+++ b/Lang/Tcl/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Count-in-factors b/Lang/Tcl/Count-in-factors
new file mode 120000
index 0000000000..bb99dbdccf
--- /dev/null
+++ b/Lang/Tcl/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Count-in-octal b/Lang/Tcl/Count-in-octal
new file mode 120000
index 0000000000..4c2942d621
--- /dev/null
+++ b/Lang/Tcl/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Count-occurrences-of-a-substring b/Lang/Tcl/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..aaf8c0e17a
--- /dev/null
+++ b/Lang/Tcl/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Count-the-coins b/Lang/Tcl/Count-the-coins
new file mode 120000
index 0000000000..8ecc405f4c
--- /dev/null
+++ b/Lang/Tcl/Count-the-coins
@@ -0,0 +1 @@
+../../Task/Count-the-coins/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Create-a-file b/Lang/Tcl/Create-a-file
new file mode 120000
index 0000000000..79df58bb60
--- /dev/null
+++ b/Lang/Tcl/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Create-a-file-on-magnetic-tape b/Lang/Tcl/Create-a-file-on-magnetic-tape
new file mode 120000
index 0000000000..e5e59d7d1d
--- /dev/null
+++ b/Lang/Tcl/Create-a-file-on-magnetic-tape
@@ -0,0 +1 @@
+../../Task/Create-a-file-on-magnetic-tape/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Create-a-two-dimensional-array-at-runtime b/Lang/Tcl/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..e79cefde87
--- /dev/null
+++ b/Lang/Tcl/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Create-an-HTML-table b/Lang/Tcl/Create-an-HTML-table
new file mode 120000
index 0000000000..bf7a87078a
--- /dev/null
+++ b/Lang/Tcl/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Create-an-object-at-a-given-address b/Lang/Tcl/Create-an-object-at-a-given-address
new file mode 120000
index 0000000000..1b8c67b87d
--- /dev/null
+++ b/Lang/Tcl/Create-an-object-at-a-given-address
@@ -0,0 +1 @@
+../../Task/Create-an-object-at-a-given-address/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Cut-a-rectangle b/Lang/Tcl/Cut-a-rectangle
new file mode 120000
index 0000000000..ee32516bd8
--- /dev/null
+++ b/Lang/Tcl/Cut-a-rectangle
@@ -0,0 +1 @@
+../../Task/Cut-a-rectangle/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/DNS-query b/Lang/Tcl/DNS-query
new file mode 120000
index 0000000000..9f2fa230e7
--- /dev/null
+++ b/Lang/Tcl/DNS-query
@@ -0,0 +1 @@
+../../Task/DNS-query/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Date-format b/Lang/Tcl/Date-format
new file mode 120000
index 0000000000..c836da1fda
--- /dev/null
+++ b/Lang/Tcl/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Date-manipulation b/Lang/Tcl/Date-manipulation
new file mode 120000
index 0000000000..1c226b3228
--- /dev/null
+++ b/Lang/Tcl/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Day-of-the-week b/Lang/Tcl/Day-of-the-week
new file mode 120000
index 0000000000..1e9715489e
--- /dev/null
+++ b/Lang/Tcl/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Deal-cards-for-FreeCell b/Lang/Tcl/Deal-cards-for-FreeCell
new file mode 120000
index 0000000000..c19c09865a
--- /dev/null
+++ b/Lang/Tcl/Deal-cards-for-FreeCell
@@ -0,0 +1 @@
+../../Task/Deal-cards-for-FreeCell/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Deconvolution-1D b/Lang/Tcl/Deconvolution-1D
new file mode 120000
index 0000000000..e10f425a3b
--- /dev/null
+++ b/Lang/Tcl/Deconvolution-1D
@@ -0,0 +1 @@
+../../Task/Deconvolution-1D/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Deconvolution-2D+ b/Lang/Tcl/Deconvolution-2D+
new file mode 120000
index 0000000000..b9203b3372
--- /dev/null
+++ b/Lang/Tcl/Deconvolution-2D+
@@ -0,0 +1 @@
+../../Task/Deconvolution-2D+/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Deepcopy b/Lang/Tcl/Deepcopy
new file mode 120000
index 0000000000..4ce386ee4d
--- /dev/null
+++ b/Lang/Tcl/Deepcopy
@@ -0,0 +1 @@
+../../Task/Deepcopy/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Determine-if-only-one-instance-is-running b/Lang/Tcl/Determine-if-only-one-instance-is-running
new file mode 120000
index 0000000000..b1e6fae4f7
--- /dev/null
+++ b/Lang/Tcl/Determine-if-only-one-instance-is-running
@@ -0,0 +1 @@
+../../Task/Determine-if-only-one-instance-is-running/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Digital-root b/Lang/Tcl/Digital-root
new file mode 120000
index 0000000000..dd106c5acc
--- /dev/null
+++ b/Lang/Tcl/Digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Dinesmans-multiple-dwelling-problem b/Lang/Tcl/Dinesmans-multiple-dwelling-problem
new file mode 120000
index 0000000000..72018d76a3
--- /dev/null
+++ b/Lang/Tcl/Dinesmans-multiple-dwelling-problem
@@ -0,0 +1 @@
+../../Task/Dinesmans-multiple-dwelling-problem/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Dining-philosophers b/Lang/Tcl/Dining-philosophers
new file mode 120000
index 0000000000..9e2607573c
--- /dev/null
+++ b/Lang/Tcl/Dining-philosophers
@@ -0,0 +1 @@
+../../Task/Dining-philosophers/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Discordian-date b/Lang/Tcl/Discordian-date
new file mode 120000
index 0000000000..5380c62d4e
--- /dev/null
+++ b/Lang/Tcl/Discordian-date
@@ -0,0 +1 @@
+../../Task/Discordian-date/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Distributed-programming b/Lang/Tcl/Distributed-programming
new file mode 120000
index 0000000000..4293b549b2
--- /dev/null
+++ b/Lang/Tcl/Distributed-programming
@@ -0,0 +1 @@
+../../Task/Distributed-programming/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Documentation b/Lang/Tcl/Documentation
new file mode 120000
index 0000000000..a8762cb112
--- /dev/null
+++ b/Lang/Tcl/Documentation
@@ -0,0 +1 @@
+../../Task/Documentation/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Dot-product b/Lang/Tcl/Dot-product
new file mode 120000
index 0000000000..a57f390aaf
--- /dev/null
+++ b/Lang/Tcl/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Doubly-linked-list-Definition b/Lang/Tcl/Doubly-linked-list-Definition
new file mode 120000
index 0000000000..082066b801
--- /dev/null
+++ b/Lang/Tcl/Doubly-linked-list-Definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Definition/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Doubly-linked-list-Element-definition b/Lang/Tcl/Doubly-linked-list-Element-definition
new file mode 120000
index 0000000000..eadbd0de95
--- /dev/null
+++ b/Lang/Tcl/Doubly-linked-list-Element-definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-definition/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Doubly-linked-list-Element-insertion b/Lang/Tcl/Doubly-linked-list-Element-insertion
new file mode 120000
index 0000000000..d7e04e1654
--- /dev/null
+++ b/Lang/Tcl/Doubly-linked-list-Element-insertion
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-insertion/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Doubly-linked-list-Traversal b/Lang/Tcl/Doubly-linked-list-Traversal
new file mode 120000
index 0000000000..5f25ce334c
--- /dev/null
+++ b/Lang/Tcl/Doubly-linked-list-Traversal
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Traversal/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Draw-a-cuboid b/Lang/Tcl/Draw-a-cuboid
new file mode 120000
index 0000000000..46bb524f76
--- /dev/null
+++ b/Lang/Tcl/Draw-a-cuboid
@@ -0,0 +1 @@
+../../Task/Draw-a-cuboid/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Draw-a-sphere b/Lang/Tcl/Draw-a-sphere
new file mode 120000
index 0000000000..a2e6ec4c17
--- /dev/null
+++ b/Lang/Tcl/Draw-a-sphere
@@ -0,0 +1 @@
+../../Task/Draw-a-sphere/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Dutch-national-flag-problem b/Lang/Tcl/Dutch-national-flag-problem
new file mode 120000
index 0000000000..43243538bd
--- /dev/null
+++ b/Lang/Tcl/Dutch-national-flag-problem
@@ -0,0 +1 @@
+../../Task/Dutch-national-flag-problem/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Dynamic-variable-names b/Lang/Tcl/Dynamic-variable-names
new file mode 120000
index 0000000000..bd68cb9118
--- /dev/null
+++ b/Lang/Tcl/Dynamic-variable-names
@@ -0,0 +1 @@
+../../Task/Dynamic-variable-names/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Echo-server b/Lang/Tcl/Echo-server
new file mode 120000
index 0000000000..517d139165
--- /dev/null
+++ b/Lang/Tcl/Echo-server
@@ -0,0 +1 @@
+../../Task/Echo-server/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Element-wise-operations b/Lang/Tcl/Element-wise-operations
new file mode 120000
index 0000000000..7b017f8e0b
--- /dev/null
+++ b/Lang/Tcl/Element-wise-operations
@@ -0,0 +1 @@
+../../Task/Element-wise-operations/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Empty-directory b/Lang/Tcl/Empty-directory
new file mode 120000
index 0000000000..6561b8dfd0
--- /dev/null
+++ b/Lang/Tcl/Empty-directory
@@ -0,0 +1 @@
+../../Task/Empty-directory/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Empty-program b/Lang/Tcl/Empty-program
new file mode 120000
index 0000000000..48a3dfcc9f
--- /dev/null
+++ b/Lang/Tcl/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Empty-string b/Lang/Tcl/Empty-string
new file mode 120000
index 0000000000..ba4fcfb469
--- /dev/null
+++ b/Lang/Tcl/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Enforced-immutability b/Lang/Tcl/Enforced-immutability
new file mode 120000
index 0000000000..d424a2f1a4
--- /dev/null
+++ b/Lang/Tcl/Enforced-immutability
@@ -0,0 +1 @@
+../../Task/Enforced-immutability/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Enumerations b/Lang/Tcl/Enumerations
new file mode 120000
index 0000000000..e1e78b8ef5
--- /dev/null
+++ b/Lang/Tcl/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Equilibrium-index b/Lang/Tcl/Equilibrium-index
new file mode 120000
index 0000000000..0b45bea60d
--- /dev/null
+++ b/Lang/Tcl/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Ethiopian-multiplication b/Lang/Tcl/Ethiopian-multiplication
new file mode 120000
index 0000000000..5a09267925
--- /dev/null
+++ b/Lang/Tcl/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Euler-method b/Lang/Tcl/Euler-method
new file mode 120000
index 0000000000..102f5d57d2
--- /dev/null
+++ b/Lang/Tcl/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Evaluate-binomial-coefficients b/Lang/Tcl/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..33a5072c62
--- /dev/null
+++ b/Lang/Tcl/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Even-or-odd b/Lang/Tcl/Even-or-odd
new file mode 120000
index 0000000000..02fb31afa0
--- /dev/null
+++ b/Lang/Tcl/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Events b/Lang/Tcl/Events
new file mode 120000
index 0000000000..a2cbf0c788
--- /dev/null
+++ b/Lang/Tcl/Events
@@ -0,0 +1 @@
+../../Task/Events/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Evolutionary-algorithm b/Lang/Tcl/Evolutionary-algorithm
new file mode 120000
index 0000000000..afb95da152
--- /dev/null
+++ b/Lang/Tcl/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Exceptions b/Lang/Tcl/Exceptions
new file mode 120000
index 0000000000..46a1ad9999
--- /dev/null
+++ b/Lang/Tcl/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/Tcl/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..0d8bbf8763
--- /dev/null
+++ b/Lang/Tcl/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Executable-library b/Lang/Tcl/Executable-library
new file mode 120000
index 0000000000..0f7a6e70f1
--- /dev/null
+++ b/Lang/Tcl/Executable-library
@@ -0,0 +1 @@
+../../Task/Executable-library/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Execute-a-system-command b/Lang/Tcl/Execute-a-system-command
new file mode 120000
index 0000000000..f866ef8d15
--- /dev/null
+++ b/Lang/Tcl/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Exponentiation-operator b/Lang/Tcl/Exponentiation-operator
new file mode 120000
index 0000000000..fb0157f401
--- /dev/null
+++ b/Lang/Tcl/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Extend-your-language b/Lang/Tcl/Extend-your-language
new file mode 120000
index 0000000000..7a8c767bbf
--- /dev/null
+++ b/Lang/Tcl/Extend-your-language
@@ -0,0 +1 @@
+../../Task/Extend-your-language/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Extreme-floating-point-values b/Lang/Tcl/Extreme-floating-point-values
new file mode 120000
index 0000000000..29795b158e
--- /dev/null
+++ b/Lang/Tcl/Extreme-floating-point-values
@@ -0,0 +1 @@
+../../Task/Extreme-floating-point-values/Tcl
\ No newline at end of file
diff --git a/Meta/Lang.yaml b/Meta/Lang.yaml
index 9660da9f45..52eda8b49f 100644
--- a/Meta/Lang.yaml
+++ b/Meta/Lang.yaml
@@ -50,7 +50,7 @@
path: 8086-Assembly
url: 8086_Assembly
A+:
- ext: a+
+ ext: ap
name: A+
path: A+
url: A+
@@ -364,31 +364,346 @@ C:
name: C
path: C
url: C
+C Shell:
+ ext: csh
+ name: C Shell
+ path: C-Shell
+ url: C_Shell
+C sharp:
+ ext: cs
+ name: C sharp
+ path: C-sharp
+ url: C_sharp
+C++:
+ ext: cpp
+ name: C++
+ path: C++
+ url: C++
+C++/CLI:
+ ext: cpp
+ name: C++/CLI
+ path: C++-CLI
+ url: C++/CLI
+C0H:
+ ext: c0h
+ name: C0H
+ path: C0H
+ url: C0H
+C1R:
+ ext: c1r
+ name: C1R
+ path: C1R
+ url: C1R
+CB80:
+ ext: cb80
+ name: CB80
+ path: CB80
+ url: CB80
+CLIPS:
+ ext: clips
+ name: CLIPS
+ path: CLIPS
+ url: CLIPS
+CMake:
+ ext: cmake
+ name: CMake
+ path: CMake
+ url: CMake
+COBOL:
+ ext: cobol
+ name: COBOL
+ path: COBOL
+ url: COBOL
+Caché ObjectScript:
+ ext: cos
+ name: Caché ObjectScript
+ path: Cache-ObjectScript
+ url: Caché_ObjectScript
+Caml:
+ ext: caml
+ name: Caml
+ path: Caml
+ url: Caml
+Cat:
+ ext: cat
+ name: Cat
+ path: Cat
+ url: Cat
+Cduce:
+ ext: cduce
+ name: Cduce
+ path: Cduce
+ url: Cduce
+Cecil:
+ ext: cecil
+ name: Cecil
+ path: Cecil
+ url: Cecil
+Chapel:
+ ext: chapel
+ name: Chapel
+ path: Chapel
+ url: Chapel
+Chef:
+ ext: chef
+ name: Chef
+ path: Chef
+ url: Chef
+Cilk:
+ ext: cilk
+ name: Cilk
+ path: Cilk
+ url: Cilk
+Cilk++:
+ ext: cilkpp
+ name: Cilk++
+ path: Cilk++
+ url: Cilk++
+Clay:
+ ext: clay
+ name: Clay
+ path: Clay
+ url: Clay
+Clean:
+ ext: clean
+ name: Clean
+ path: Clean
+ url: Clean
+Clipper:
+ ext: clipper
+ name: Clipper
+ path: Clipper
+ url: Clipper
+Clipper/XBase++:
+ ext: clipper
+ name: Clipper/XBase++
+ path: Clipper-XBase++
+ url: Clipper/XBase++
Clojure:
ext: clj
name: Clojure
path: Clojure
url: Clojure
+Cobra:
+ ext: cobra
+ name: Cobra
+ path: Cobra
+ url: Cobra
CoffeeScript:
ext: coffee
name: CoffeeScript
path: CoffeeScript
url: CoffeeScript
+ColdFusion:
+ ext: cfm
+ name: ColdFusion
+ path: ColdFusion
+ url: ColdFusion
+Common Lisp:
+ ext: lisp
+ name: Common Lisp
+ path: Common-Lisp
+ url: Common_Lisp
+Component Pascal:
+ ext: pascal
+ name: Component Pascal
+ path: Component-Pascal
+ url: Component_Pascal
+Coq:
+ ext: coq
+ name: Coq
+ path: Coq
+ url: Coq
+Crack:
+ ext: crack
+ name: Crack
+ path: Crack
+ url: Crack
+Curry:
+ ext: curry
+ name: Curry
+ path: Curry
+ url: Curry
+D:
+ ext: d
+ name: D
+ path: D
+ url: D
+DCL:
+ ext: dcl
+ name: DCL
+ path: DCL
+ url: DCL
+DMS:
+ ext: dms
+ name: DMS
+ path: DMS
+ url: DMS
+DWScript:
+ ext: dwscript
+ name: DWScript
+ path: DWScript
+ url: DWScript
+Dao:
+ ext: dao
+ name: Dao
+ path: Dao
+ url: Dao
+Dart:
+ ext: dart
+ name: Dart
+ path: Dart
+ url: Dart
+Datalog:
+ ext: datalog
+ name: Datalog
+ path: Datalog
+ url: Datalog
+Dc:
+ ext: dc
+ name: Dc
+ path: Dc
+ url: Dc
+Delphi:
+ ext: delphi
+ name: Delphi
+ path: Delphi
+ url: Delphi
+Deluge:
+ ext: deluge
+ name: Deluge
+ path: Deluge
+ url: Deluge
+Diesel:
+ ext: diesel
+ name: Diesel
+ path: Diesel
+ url: Diesel
+Dodo0:
+ ext: dodo0
+ name: Dodo0
+ path: Dodo0
+ url: Dodo0
Dylan:
ext: dylan
name: Dylan
path: Dylan
url: Dylan
+Dylan.NET:
+ ext: net
+ name: Dylan.NET
+ path: Dylan.NET
+ url: Dylan.NET
+Déjà Vu:
+ ext: djv
+ name: Déjà Vu
+ path: Deja-Vu
+ url: Déjà_Vu
+E:
+ ext: e
+ name: E
+ path: E
+ url: E
+EC:
+ ext: ec
+ name: EC
+ path: EC
+ url: EC
+EGL:
+ ext: egl
+ name: EGL
+ path: EGL
+ url: EGL
+ELLA:
+ ext: ella
+ name: ELLA
+ path: ELLA
+ url: ELLA
+ESQL:
+ ext: esql
+ name: ESQL
+ path: ESQL
+ url: ESQL
+Efene:
+ ext: efene
+ name: Efene
+ path: Efene
+ url: Efene
Eiffel:
ext: e
name: Eiffel
path: Eiffel
url: Eiffel
+Ela:
+ ext: ela
+ name: Ela
+ path: Ela
+ url: Ela
+Elan:
+ ext: elan
+ name: Elan
+ path: Elan
+ url: Elan
+ElastiC:
+ ext: elastic
+ name: ElastiC
+ path: ElastiC
+ url: ElastiC
+Elena:
+ ext: elena
+ name: Elena
+ path: Elena
+ url: Elena
+Elisa:
+ ext: elisa
+ name: Elisa
+ path: Elisa
+ url: Elisa
+Elixir:
+ ext: elixir
+ name: Elixir
+ path: Elixir
+ url: Elixir
+Emacs Lisp:
+ ext: l
+ name: Emacs Lisp
+ path: Emacs-Lisp
+ url: Emacs_Lisp
+Epigram:
+ ext: epigram
+ name: Epigram
+ path: Epigram
+ url: Epigram
Erlang:
ext: erl
name: Erlang
path: Erlang
url: Erlang
+Es:
+ ext: es
+ name: Es
+ path: Es
+ url: Es
+Euler:
+ ext: euler
+ name: Euler
+ path: Euler
+ url: Euler
+Euler Math Toolbox:
+ ext: euler
+ name: Euler Math Toolbox
+ path: Euler-Math-Toolbox
+ url: Euler_Math_Toolbox
+Euphoria:
+ ext: euphoria
+ name: Euphoria
+ path: Euphoria
+ url: Euphoria
+Excel:
+ ext: excel
+ name: Excel
+ path: Excel
+ url: Excel
Forth:
ext: fth
name: Forth
diff --git a/Meta/Task.yaml b/Meta/Task.yaml
index 21d3b49627..ffdd0eb5fb 100644
--- a/Meta/Task.yaml
+++ b/Meta/Task.yaml
@@ -259,6 +259,14 @@ Bulls and cows/Player:
name: Bulls and cows/Player
path: Bulls-and-cows-Player
url: Bulls_and_cows/Player
+CRC-32:
+ name: CRC-32
+ path: CRC-32
+ url: CRC-32
+CSV to HTML translation:
+ name: CSV to HTML translation
+ path: CSV-to-HTML-translation
+ url: CSV_to_HTML_translation
Caesar cipher:
name: Caesar cipher
path: Caesar-cipher
@@ -267,6 +275,58 @@ Calendar:
name: Calendar
path: Calendar
url: Calendar
+Calendar - for "real" programmers:
+ name: Calendar - for "real" programmers
+ path: Calendar-for-real-programmers
+ url: Calendar_-_for_"real"_programmers
+Call a foreign-language function:
+ name: Call a foreign-language function
+ path: Call-a-foreign-language-function
+ url: Call_a_foreign-language_function
+Call a function:
+ name: Call a function
+ path: Call-a-function
+ url: Call_a_function
+Call a function in a shared library:
+ name: Call a function in a shared library
+ path: Call-a-function-in-a-shared-library
+ url: Call_a_function_in_a_shared_library
+Call an object method:
+ name: Call an object method
+ path: Call-an-object-method
+ url: Call_an_object_method
+Canny edge detector:
+ name: Canny edge detector
+ path: Canny-edge-detector
+ url: Canny_edge_detector
+Carmichael 3 strong pseudoprimes:
+ name: Carmichael 3 strong pseudoprimes
+ path: Carmichael-3-strong-pseudoprimes
+ url: Carmichael_3_strong_pseudoprimes
+Case-sensitivity of identifiers:
+ name: Case-sensitivity of identifiers
+ path: Case-sensitivity-of-identifiers
+ url: Case-sensitivity_of_identifiers
+Catmull–Clark subdivision surface:
+ name: Catmull–Clark subdivision surface
+ path: Catmull-Clark-subdivision-surface
+ url: Catmull–Clark_subdivision_surface
+Character codes:
+ name: Character codes
+ path: Character-codes
+ url: Character_codes
+Character matching:
+ name: Character matching
+ path: Character-matching
+ url: Character_matching
+Chat server:
+ name: Chat server
+ path: Chat-server
+ url: Chat_server
+Check Machin-like formulas:
+ name: Check Machin-like formulas
+ path: Check-Machin-like-formulas
+ url: Check_Machin-like_formulas
Check that file exists:
name: Check that file exists
path: Check-that-file-exists
@@ -275,6 +335,10 @@ Checkpoint synchronization:
name: Checkpoint synchronization
path: Checkpoint-synchronization
url: Checkpoint_synchronization
+Cholesky decomposition:
+ name: Cholesky decomposition
+ path: Cholesky-decomposition
+ url: Cholesky_decomposition
Classes:
name: Classes
path: Classes
@@ -291,14 +355,163 @@ Color of a screen pixel:
name: Color of a screen pixel
path: Color-of-a-screen-pixel
url: Color_of_a_screen_pixel
+Color quantization:
+ name: Color quantization
+ path: Color-quantization
+ url: Color_quantization
+Colour bars/Display:
+ name: Colour bars/Display
+ path: Colour-bars-Display
+ url: Colour_bars/Display
+Colour pinstripe/Display:
+ name: Colour pinstripe/Display
+ path: Colour-pinstripe-Display
+ url: Colour_pinstripe/Display
+Colour pinstripe/Printer:
+ name: Colour pinstripe/Printer
+ path: Colour-pinstripe-Printer
+ url: Colour_pinstripe/Printer
+Combinations:
+ name: Combinations
+ path: Combinations
+ url: Combinations
+Combinations with repetitions:
+ name: Combinations with repetitions
+ path: Combinations-with-repetitions
+ url: Combinations_with_repetitions
+Command-line arguments:
+ name: Command-line arguments
+ path: Command-line-arguments
+ url: Command-line_arguments
Comments:
name: Comments
path: Comments
url: Comments
+Compare sorting algorithms' performance:
+ name: Compare sorting algorithms' performance
+ path: Compare-sorting-algorithms-performance
+ url: Compare_sorting_algorithms'_performance
+Compile-time calculation:
+ name: Compile-time calculation
+ path: Compile-time-calculation
+ url: Compile-time_calculation
+Compound data type:
+ name: Compound data type
+ path: Compound-data-type
+ url: Compound_data_type
+Concurrent computing:
+ name: Concurrent computing
+ path: Concurrent-computing
+ url: Concurrent_computing
+Conditional structures:
+ name: Conditional structures
+ path: Conditional-structures
+ url: Conditional_structures
+Constrained genericity:
+ name: Constrained genericity
+ path: Constrained-genericity
+ url: Constrained_genericity
+Constrained random points on a circle:
+ name: Constrained random points on a circle
+ path: Constrained-random-points-on-a-circle
+ url: Constrained_random_points_on_a_circle
+Continued fraction:
+ name: Continued fraction
+ path: Continued-fraction
+ url: Continued_fraction
+Continued fraction/Arithmetic/Construct from rational number:
+ name: Continued fraction/Arithmetic/Construct from rational number
+ path: Continued-fraction-Arithmetic-Construct-from-rational-number
+ url: Continued_fraction/Arithmetic/Construct_from_rational_number
+Continued fraction/Arithmetic/G(matrix NG, Contined Fraction N):
+ name: Continued fraction/Arithmetic/G(matrix NG, Contined Fraction N)
+ path: Continued-fraction-Arithmetic-G(matrix-NG,-Contined-Fraction-N)
+ url: Continued_fraction/Arithmetic/G(matrix_NG,_Contined_Fraction_N)
+Continued fraction/Arithmetic/G(matrix NG, Contined Fraction N1, Contined Fraction N2):
+ name: Continued fraction/Arithmetic/G(matrix NG, Contined Fraction N1, Contined
+ Fraction N2)
+ path: Continued-fraction-Arithmetic-G(matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2)
+ url: Continued_fraction/Arithmetic/G(matrix_NG,_Contined_Fraction_N1,_Contined_Fraction_N2)
+Conway's Game of Life:
+ name: Conway's Game of Life
+ path: Conways-Game-of-Life
+ url: Conway's_Game_of_Life
+Count in factors:
+ name: Count in factors
+ path: Count-in-factors
+ url: Count_in_factors
+Count in octal:
+ name: Count in octal
+ path: Count-in-octal
+ url: Count_in_octal
+Count occurrences of a substring:
+ name: Count occurrences of a substring
+ path: Count-occurrences-of-a-substring
+ url: Count_occurrences_of_a_substring
+Count the coins:
+ name: Count the coins
+ path: Count-the-coins
+ url: Count_the_coins
+Create a file:
+ name: Create a file
+ path: Create-a-file
+ url: Create_a_file
+Create a file on magnetic tape:
+ name: Create a file on magnetic tape
+ path: Create-a-file-on-magnetic-tape
+ url: Create_a_file_on_magnetic_tape
+Create a two-dimensional array at runtime:
+ name: Create a two-dimensional array at runtime
+ path: Create-a-two-dimensional-array-at-runtime
+ url: Create_a_two-dimensional_array_at_runtime
+Create an HTML table:
+ name: Create an HTML table
+ path: Create-an-HTML-table
+ url: Create_an_HTML_table
+Create an object at a given address:
+ name: Create an object at a given address
+ path: Create-an-object-at-a-given-address
+ url: Create_an_object_at_a_given_address
+Cut a rectangle:
+ name: Cut a rectangle
+ path: Cut-a-rectangle
+ url: Cut_a_rectangle
+DNS query:
+ name: DNS query
+ path: DNS-query
+ url: DNS_query
+Date format:
+ name: Date format
+ path: Date-format
+ url: Date_format
+Date manipulation:
+ name: Date manipulation
+ path: Date-manipulation
+ url: Date_manipulation
+Day of the week:
+ name: Day of the week
+ path: Day-of-the-week
+ url: Day_of_the_week
+Deal cards for FreeCell:
+ name: Deal cards for FreeCell
+ path: Deal-cards-for-FreeCell
+ url: Deal_cards_for_FreeCell
Death Star:
name: Death Star
path: Death-Star
url: Death_Star
+Deconvolution/1D:
+ name: Deconvolution/1D
+ path: Deconvolution-1D
+ url: Deconvolution/1D
+Deconvolution/2D+:
+ name: Deconvolution/2D+
+ path: Deconvolution-2D+
+ url: Deconvolution/2D+
+Deepcopy:
+ name: Deepcopy
+ path: Deepcopy
+ url: Deepcopy
Define a primitive data type:
name: Define a primitive data type
path: Define-a-primitive-data-type
@@ -319,10 +532,162 @@ Determine if a string is numeric:
name: Determine if a string is numeric
path: Determine-if-a-string-is-numeric
url: Determine_if_a_string_is_numeric
+Determine if only one instance is running:
+ name: Determine if only one instance is running
+ path: Determine-if-only-one-instance-is-running
+ url: Determine_if_only_one_instance_is_running
+Digital root:
+ name: Digital root
+ path: Digital-root
+ url: Digital_root
+Dinesman's multiple-dwelling problem:
+ name: Dinesman's multiple-dwelling problem
+ path: Dinesmans-multiple-dwelling-problem
+ url: Dinesman's_multiple-dwelling_problem
+Dining philosophers:
+ name: Dining philosophers
+ path: Dining-philosophers
+ url: Dining_philosophers
+Discordian date:
+ name: Discordian date
+ path: Discordian-date
+ url: Discordian_date
+Distributed programming:
+ name: Distributed programming
+ path: Distributed-programming
+ url: Distributed_programming
+Documentation:
+ name: Documentation
+ path: Documentation
+ url: Documentation
+Dot product:
+ name: Dot product
+ path: Dot-product
+ url: Dot_product
+Doubly-linked list/Definition:
+ name: Doubly-linked list/Definition
+ path: Doubly-linked-list-Definition
+ url: Doubly-linked_list/Definition
+Doubly-linked list/Element definition:
+ name: Doubly-linked list/Element definition
+ path: Doubly-linked-list-Element-definition
+ url: Doubly-linked_list/Element_definition
+Doubly-linked list/Element insertion:
+ name: Doubly-linked list/Element insertion
+ path: Doubly-linked-list-Element-insertion
+ url: Doubly-linked_list/Element_insertion
+Doubly-linked list/Traversal:
+ name: Doubly-linked list/Traversal
+ path: Doubly-linked-list-Traversal
+ url: Doubly-linked_list/Traversal
+Draw a cuboid:
+ name: Draw a cuboid
+ path: Draw-a-cuboid
+ url: Draw_a_cuboid
+Draw a sphere:
+ name: Draw a sphere
+ path: Draw-a-sphere
+ url: Draw_a_sphere
+Dutch national flag problem:
+ name: Dutch national flag problem
+ path: Dutch-national-flag-problem
+ url: Dutch_national_flag_problem
+Dynamic variable names:
+ name: Dynamic variable names
+ path: Dynamic-variable-names
+ url: Dynamic_variable_names
+Echo server:
+ name: Echo server
+ path: Echo-server
+ url: Echo_server
+Element-wise operations:
+ name: Element-wise operations
+ path: Element-wise-operations
+ url: Element-wise_operations
+Empty directory:
+ name: Empty directory
+ path: Empty-directory
+ url: Empty_directory
+Empty program:
+ name: Empty program
+ path: Empty-program
+ url: Empty_program
+Empty string:
+ name: Empty string
+ path: Empty-string
+ url: Empty_string
+Enforced immutability:
+ name: Enforced immutability
+ path: Enforced-immutability
+ url: Enforced_immutability
Entropy:
name: Entropy
path: Entropy
url: Entropy
+Enumerations:
+ name: Enumerations
+ path: Enumerations
+ url: Enumerations
+Equilibrium index:
+ name: Equilibrium index
+ path: Equilibrium-index
+ url: Equilibrium_index
+Ethiopian multiplication:
+ name: Ethiopian multiplication
+ path: Ethiopian-multiplication
+ url: Ethiopian_multiplication
+Euler method:
+ name: Euler method
+ path: Euler-method
+ url: Euler_method
+Evaluate binomial coefficients:
+ name: Evaluate binomial coefficients
+ path: Evaluate-binomial-coefficients
+ url: Evaluate_binomial_coefficients
+Even or odd:
+ name: Even or odd
+ path: Even-or-odd
+ url: Even_or_odd
+Events:
+ name: Events
+ path: Events
+ url: Events
+Evolutionary algorithm:
+ name: Evolutionary algorithm
+ path: Evolutionary-algorithm
+ url: Evolutionary_algorithm
+Exceptions:
+ name: Exceptions
+ path: Exceptions
+ url: Exceptions
+Exceptions/Catch an exception thrown in a nested call:
+ name: Exceptions/Catch an exception thrown in a nested call
+ path: Exceptions-Catch-an-exception-thrown-in-a-nested-call
+ url: Exceptions/Catch_an_exception_thrown_in_a_nested_call
+Executable library:
+ name: Executable library
+ path: Executable-library
+ url: Executable_library
+Execute HQ9+:
+ name: Execute HQ9+
+ path: Execute-HQ9+
+ url: Execute_HQ9+
+Execute a system command:
+ name: Execute a system command
+ path: Execute-a-system-command
+ url: Execute_a_system_command
+Exponentiation operator:
+ name: Exponentiation operator
+ path: Exponentiation-operator
+ url: Exponentiation_operator
+Extend your language:
+ name: Extend your language
+ path: Extend-your-language
+ url: Extend_your_language
+Extreme floating point values:
+ name: Extreme floating point values
+ path: Extreme-floating-point-values
+ url: Extreme_floating_point_values
FizzBuzz:
name: FizzBuzz
path: FizzBuzz
diff --git a/Task/100-doors/C++/100-doors-1.cpp b/Task/100-doors/C++/100-doors-1.cpp
new file mode 100644
index 0000000000..5c18347043
--- /dev/null
+++ b/Task/100-doors/C++/100-doors-1.cpp
@@ -0,0 +1,16 @@
+#include
+
+int main()
+{
+ bool is_open[100] = { false };
+
+ // do the 100 passes
+ for (int pass = 0; pass < 100; ++pass)
+ for (int door = pass; door < 100; door += pass+1)
+ is_open[door] = !is_open[door];
+
+ // output the result
+ for (int door = 0; door < 100; ++door)
+ std::cout << "door #" << door+1 << (is_open[door]? " is open." : " is closed.") << std::endl;
+ return 0;
+}
diff --git a/Task/100-doors/C++/100-doors-2.cpp b/Task/100-doors/C++/100-doors-2.cpp
new file mode 100644
index 0000000000..8f56214c81
--- /dev/null
+++ b/Task/100-doors/C++/100-doors-2.cpp
@@ -0,0 +1,19 @@
+#include
+
+int main()
+{
+ int square = 1, increment = 3;
+ for (int door = 1; door <= 100; ++door)
+ {
+ std::cout << "door #" << door;
+ if (door == square)
+ {
+ std::cout << " is open." << std::endl;
+ square += increment;
+ increment += 2;
+ }
+ else
+ std::cout << " is closed." << std::endl;
+ }
+ return 0;
+}
diff --git a/Task/100-doors/C++/100-doors-3.cpp b/Task/100-doors/C++/100-doors-3.cpp
new file mode 100644
index 0000000000..d7b1b3263c
--- /dev/null
+++ b/Task/100-doors/C++/100-doors-3.cpp
@@ -0,0 +1,7 @@
+#include //compiled with "Dev-C++" , from RaptorOne
+
+int main()
+{
+ for(int i=1; i*i<=100; i++)
+ std::cout<<"Door "<
+ (loop-for-count (?num 1 ?count) do
+ (assert (door ?num "closed"))
+ (assert (visit-from ?num ?num))
+ )
+ (assert (doors initialized))
+)
+
+(defrule visit
+ (door-count ?max)
+ ?visit <- (visit-from ?num ?step)
+ ?door <- (door ?num ?state)
+ =>
+ (retract ?visit)
+ (retract ?door)
+ (assert (door ?num (toggle ?state)))
+ (if
+ (<= (+ ?num ?step) ?max)
+ then
+ (assert (visit-from (+ ?num ?step) ?step))
+ )
+)
+
+(defrule start-printing
+ (doors initialized)
+ (not (visit-from ? ?))
+ =>
+ (printout t "These doors are open:" crlf)
+ (assert (print-from 1))
+)
+
+(defrule print-door
+ (door-count ?max)
+ ?pf <- (print-from ?num)
+ (door ?num ?state)
+ =>
+ (retract ?pf)
+ (if
+ (= 0 (str-compare "open" ?state))
+ then
+ (printout t ?num " ")
+ )
+ (if
+ (< ?num ?max)
+ then
+ (assert (print-from (+ ?num 1)))
+ else
+ (printout t crlf "All other doors are closed." crlf)
+ )
+)
diff --git a/Task/100-doors/CLIPS/100-doors-2.clips b/Task/100-doors/CLIPS/100-doors-2.clips
new file mode 100644
index 0000000000..7cd844f270
--- /dev/null
+++ b/Task/100-doors/CLIPS/100-doors-2.clips
@@ -0,0 +1,20 @@
+(deffacts initial-state
+ (door-count 100)
+)
+
+(deffunction is-square
+ (?num)
+ (= (sqrt ?num) (integer (sqrt ?num)))
+)
+
+(defrule check-doors
+ (door-count ?count)
+ =>
+ (printout t "These doors are open:" crlf)
+ (loop-for-count (?num 1 ?count) do
+ (if (is-square ?num) then
+ (printout t ?num " ")
+ )
+ )
+ (printout t crlf "All other doors are closed." crlf)
+)
diff --git a/Task/100-doors/COBOL/100-doors.cobol b/Task/100-doors/COBOL/100-doors.cobol
new file mode 100644
index 0000000000..3045ecac3f
--- /dev/null
+++ b/Task/100-doors/COBOL/100-doors.cobol
@@ -0,0 +1,31 @@
+ IDENTIFICATION DIVISION.
+ PROGRAM-ID. 100Doors.
+
+ DATA DIVISION.
+ WORKING-STORAGE SECTION.
+ 01 Current PIC 9(3) VALUE ZEROES.
+ 01 StepSize PIC 9(3) VALUE ZEROES.
+ 01 DoorTable.
+ 02 Doors PIC 9(1) OCCURS 100 TIMES.
+ 01 Idx PIC 9(3).
+
+ PROCEDURE DIVISION.
+ Begin.
+ MOVE 1 TO StepSize
+ PERFORM 100 TIMES
+ MOVE StepSize TO Current
+ PERFORM UNTIL Current > 100
+ SUBTRACT Doors(Current) FROM 1 GIVING Doors(Current)
+ ADD StepSize TO Current GIVING Current
+ END-PERFORM
+ ADD 1 TO StepSize GIVING StepSize
+ END-PERFORM
+ PERFORM VARYING Idx FROM 1 BY 1
+ UNTIL Idx > 100
+ IF Doors(Idx) = 0
+ DISPLAY Idx " is closed."
+ ELSE
+ DISPLAY Idx " is open."
+ END-IF
+ END-PERFORM
+ STOP RUN.
diff --git a/Task/100-doors/ColdFusion/100-doors-1.cfm b/Task/100-doors/ColdFusion/100-doors-1.cfm
new file mode 100644
index 0000000000..f8f95af25d
--- /dev/null
+++ b/Task/100-doors/ColdFusion/100-doors-1.cfm
@@ -0,0 +1,25 @@
+ doorCount = 1;
+ doorList = "";
+ // create all doors and set all doors to open
+ while (doorCount LTE 100) {
+ doorList = ListAppend(doorList,"1");
+ doorCount = doorCount + 1;
+ }
+ loopCount = 2;
+ doorListLen = ListLen(doorList);
+ while (loopCount LTE 100) {
+ loopDoorListCount = 1;
+ while (loopDoorListCount LTE 100) {
+ testDoor = loopDoorListCount / loopCount;
+ if (testDoor EQ Int(testDoor)) {
+ checkOpen = ListGetAt(doorList,loopDoorListCount);
+ if (checkOpen EQ 1) {
+ doorList = ListSetAt(doorList,loopDoorListCount,"0");
+ } else {
+ doorList = ListSetAt(doorList,loopDoorListCount,"1");
+ }
+ }
+ loopDoorListCount = loopDoorListCount + 1;
+ }
+ loopCount = loopCount + 1;
+ }
diff --git a/Task/100-doors/ColdFusion/100-doors-2.cfm b/Task/100-doors/ColdFusion/100-doors-2.cfm
new file mode 100644
index 0000000000..f08b1ff57e
--- /dev/null
+++ b/Task/100-doors/ColdFusion/100-doors-2.cfm
@@ -0,0 +1,11 @@
+ doorCount = 1;
+ doorList = "";
+ loopCount = 1;
+ while (loopCount LTE 100) {
+ if (Sqr(loopCount) NEQ Int(Sqr(loopCount))) {
+ doorList = ListAppend(doorList,0);
+ } else {
+ doorList = ListAppend(doorList,1);
+ }
+ loopCount = loopCount + 1;
+ }
diff --git a/Task/100-doors/ColdFusion/100-doors-3.cfm b/Task/100-doors/ColdFusion/100-doors-3.cfm
new file mode 100644
index 0000000000..b622ac1256
--- /dev/null
+++ b/Task/100-doors/ColdFusion/100-doors-3.cfm
@@ -0,0 +1,11 @@
+ // Display all doors
+
+ Door #x# Open: #YesNoFormat(ListGetAt(doorList,x))#
+
+
+ // Output only open doors
+
+
+ #x#
+
+
diff --git a/Task/100-doors/Common-Lisp/100-doors-1.lisp b/Task/100-doors/Common-Lisp/100-doors-1.lisp
new file mode 100644
index 0000000000..8d15fb97ef
--- /dev/null
+++ b/Task/100-doors/Common-Lisp/100-doors-1.lisp
@@ -0,0 +1,38 @@
+(defun visit-door (doors doornum value1 value2)
+ "visits a door, swapping the value1 to value2 or vice-versa"
+ (let ((d (copy-list doors))
+ (n (- doornum 1)))
+ (if (eql (nth n d) value1)
+ (setf (nth n d) value2)
+ (setf (nth n d) value1))
+ d))
+
+(defun visit-every (doors num iter value1 value2)
+ "visits every 'num' door in the list"
+ (if (> (* iter num) (length doors))
+ doors
+ (visit-every (visit-door doors (* num iter) value1 value2)
+ num
+ (+ 1 iter)
+ value1
+ value2)))
+
+(defun do-all-visits (doors cnt value1 value2)
+ "Visits all doors changing the values accordingly"
+ (if (< cnt 1)
+ doors
+ (do-all-visits (visit-every doors cnt 1 value1 value2)
+ (- cnt 1)
+ value1
+ value2)))
+
+(defun print-doors (doors)
+ "Pretty prints the doors list"
+ (format T "~{~A ~A ~A ~A ~A ~A ~A ~A ~A ~A~%~}~%" doors))
+
+(defun start (&optional (size 100))
+ "Start the program"
+ (let* ((open "_")
+ (shut "#")
+ (doors (make-list size :initial-element shut)))
+ (print-doors (do-all-visits doors size open shut))))
diff --git a/Task/100-doors/Common-Lisp/100-doors-2.lisp b/Task/100-doors/Common-Lisp/100-doors-2.lisp
new file mode 100644
index 0000000000..973d3f0b46
--- /dev/null
+++ b/Task/100-doors/Common-Lisp/100-doors-2.lisp
@@ -0,0 +1,9 @@
+(define-modify-macro toggle () not)
+
+(defun 100-doors ()
+ (let ((doors (make-array 100 :initial-element nil)))
+ (dotimes (i 100)
+ (loop for j from i below 100 by (1+ i)
+ do (toggle (svref doors j))))
+ (dotimes (i 100)
+ (format t "door ~a: ~:[closed~;open~]~%" (1+ i) (svref doors i)))))
diff --git a/Task/100-doors/Common-Lisp/100-doors-3.lisp b/Task/100-doors/Common-Lisp/100-doors-3.lisp
new file mode 100644
index 0000000000..3fa15ab328
--- /dev/null
+++ b/Task/100-doors/Common-Lisp/100-doors-3.lisp
@@ -0,0 +1,21 @@
+(defun perfect-square-list (n)
+ "Generates a list of perfect squares from 0 up to n"
+ (loop for i from 1 to (sqrt n) collect (expt i 2)))
+
+(defun open-door (doors num open)
+ "Sets door at num to open"
+ (setf (nth (- num 1) doors) open)
+ doors)
+
+(defun visit-all (doors vlist open)
+ "Visits and opens all the doors indicated in vlist"
+ (if (null vlist)
+ doors
+ (visit-all (open-door doors (car vlist) open)
+ (cdr vlist)
+ open)))
+
+(defun start2 (&optional (size 100))
+ "Start the program"
+ (print-doors (visit-all (make-list size :initial-element "#")
+ (perfect-square-list size) "_")))
diff --git a/Task/100-doors/Common-Lisp/100-doors-4.lisp b/Task/100-doors/Common-Lisp/100-doors-4.lisp
new file mode 100644
index 0000000000..b791c006f2
--- /dev/null
+++ b/Task/100-doors/Common-Lisp/100-doors-4.lisp
@@ -0,0 +1,5 @@
+(let ((i 0))
+ (mapcar (lambda (x)
+ (if (zerop (mod (sqrt (incf i)) 1))
+ "_" "#"))
+ (make-list 100)))
diff --git a/Task/100-doors/D/100-doors.d b/Task/100-doors/D/100-doors.d
new file mode 100644
index 0000000000..36a6d0204c
--- /dev/null
+++ b/Task/100-doors/D/100-doors.d
@@ -0,0 +1,36 @@
+import std.stdio;
+
+enum DoorState { Closed, Open }
+alias DoorState[] Doors;
+
+Doors flipUnoptimized(Doors doors) {
+ doors[] = DoorState.Closed;
+ foreach (i; 0 .. doors.length)
+ for (int j = i; j < doors.length; j += i+1)
+ if (doors[j] == DoorState.Open)
+ doors[j] = DoorState.Closed;
+ else
+ doors[j] = DoorState.Open;
+ return doors;
+}
+
+Doors flipOptimized(Doors doors) {
+ doors[] = DoorState.Closed;
+ for (int i = 1; i*i <= doors.length; i++)
+ doors[i*i - 1] = DoorState.Open;
+ return doors;
+}
+
+// test program
+void main() {
+ auto doors = new Doors(100);
+ foreach (i, door; flipUnoptimized(doors))
+ if (door == DoorState.Open)
+ write(i+1, " ");
+ writeln();
+
+ foreach (i, door; flipOptimized(doors))
+ if (door == DoorState.Open)
+ write(i+1, " ");
+ writeln();
+}
diff --git a/Task/100-doors/DWScript/100-doors.dwscript b/Task/100-doors/DWScript/100-doors.dwscript
new file mode 100644
index 0000000000..f55e6a854b
--- /dev/null
+++ b/Task/100-doors/DWScript/100-doors.dwscript
@@ -0,0 +1,11 @@
+var doors : array [1..100] of Boolean;
+var i, j : Integer;
+
+for i := 1 to 100 do
+ for j := i to 100 do
+ if (j mod i) = 0 then
+ doors[j] := not doors[j];
+
+for i := 1 to 100 do
+ if doors[i] then
+ PrintLn('Door '+IntToStr(i)+' is open');
diff --git a/Task/100-doors/Dart/100-doors-1.dart b/Task/100-doors/Dart/100-doors-1.dart
new file mode 100644
index 0000000000..956ebd918c
--- /dev/null
+++ b/Task/100-doors/Dart/100-doors-1.dart
@@ -0,0 +1,7 @@
+main() {
+ for (var k = 1, x = new List(101); k <= 100; k++) {
+ for (int i = k; i <= 100; i += k)
+ x[i] = !x[i];
+ if (x[k]) print("$k open");
+ }
+}
diff --git a/Task/100-doors/Dart/100-doors-2.dart b/Task/100-doors/Dart/100-doors-2.dart
new file mode 100644
index 0000000000..ef8b007c89
--- /dev/null
+++ b/Task/100-doors/Dart/100-doors-2.dart
@@ -0,0 +1,4 @@
+main() {
+ for(int i=1,s=3;i<=100;i+=s,s+=2)
+ print("door $i is open");
+}
diff --git a/Task/100-doors/E/100-doors.e b/Task/100-doors/E/100-doors.e
new file mode 100644
index 0000000000..b881023fd6
--- /dev/null
+++ b/Task/100-doors/E/100-doors.e
@@ -0,0 +1,45 @@
+#!/usr/bin/env rune
+
+var toggles := []
+var gets := []
+
+# Set up GUI (and data model)
+def frame := ("100 doors")
+frame.getContentPane().setLayout((10, 10))
+for i in 1..100 {
+ def component := (E.toString(i))
+ toggles with= fn { component.setSelected(!component.isSelected()) }
+ gets with= fn { component.isSelected() }
+ frame.getContentPane().add(component)
+}
+
+# Set up termination condition
+def done
+frame.addWindowListener(def _ {
+ to windowClosing(event) {
+ bind done := true
+ }
+ match _ {}
+})
+
+# Open and close doors
+def loop(step, i) {
+ toggles[i] <- ()
+ def next := i + step
+ timer.whenPast(timer.now() + 10, fn {
+ if (next >= 100) {
+ if (step >= 100) {
+ # Done.
+ } else {
+ loop <- (step + 1, step)
+ }
+ } else {
+ loop <- (step, i + step)
+ }
+ })
+}
+loop(1, 0)
+
+frame.pack()
+frame.show()
+interp.waitAtTop(done)
diff --git a/Task/100-doors/EGL/100-doors.egl b/Task/100-doors/EGL/100-doors.egl
new file mode 100644
index 0000000000..763e65c956
--- /dev/null
+++ b/Task/100-doors/EGL/100-doors.egl
@@ -0,0 +1,22 @@
+program OneHundredDoors
+
+ function main()
+
+ doors boolean[] = new boolean[100];
+ n int = 100;
+
+ for (i int from 1 to n)
+ for (j int from i to n by i)
+ doors[j] = !doors[j];
+ end
+ end
+
+ for (i int from 1 to n)
+ if (doors[i])
+ SysLib.writeStdout( "Door " + i + " is open" );
+ end
+ end
+
+ end
+
+end
diff --git a/Task/100-doors/Ela/100-doors-1.ela b/Task/100-doors/Ela/100-doors-1.ela
new file mode 100644
index 0000000000..c129f787eb
--- /dev/null
+++ b/Task/100-doors/Ela/100-doors-1.ela
@@ -0,0 +1,11 @@
+open generic
+
+type Door = Open | Closed
+ deriving Show
+
+gate [] _ = []
+gate (x::xs) (y::ys)
+ | x == y = Open :: gate xs ys
+ | else = Closed :: gate xs ys
+
+run n = gate [1..n] [& k*k \\ k <- [1..]]
diff --git a/Task/100-doors/Ela/100-doors-2.ela b/Task/100-doors/Ela/100-doors-2.ela
new file mode 100644
index 0000000000..0ca4360e86
--- /dev/null
+++ b/Task/100-doors/Ela/100-doors-2.ela
@@ -0,0 +1,2 @@
+open list
+run n = takeWhile (function Doors () ...
+$ doors:=zeros(1,100);
+$ for i=1 to 100
+$ for j=i to 100 step i
+$ doors[j]=!doors[j];
+$ end;
+$ end;
+$ return doors
+$endfunction
+>nonzeros(Doors())
+ [ 1 4 9 16 25 36 49 64 81 100 ]
diff --git a/Task/100-doors/Euphoria/100-doors.euphoria b/Task/100-doors/Euphoria/100-doors.euphoria
new file mode 100644
index 0000000000..989e2a7ae4
--- /dev/null
+++ b/Task/100-doors/Euphoria/100-doors.euphoria
@@ -0,0 +1,23 @@
+-- doors.ex
+include std/console.e
+sequence doors
+doors = repeat( 0, 100 ) -- 1 to 100, initialised to false
+
+for pass = 1 to 100 do
+ for door = pass to 100 by pass do
+ --printf( 1, "%d", doors[door] )
+ --printf( 1, "%d", not doors[door] )
+ doors[door] = not doors[door]
+ end for
+end for
+
+sequence oc
+
+for i = 1 to 100 do
+ if doors[i] then
+ oc = "open"
+ else
+ oc = "closed"
+ end if
+ printf( 1, "door %d is %s\n", { i, oc } )
+end for
diff --git a/Task/24-game/C++/24-game.cpp b/Task/24-game/C++/24-game.cpp
new file mode 100644
index 0000000000..9ac471eda3
--- /dev/null
+++ b/Task/24-game/C++/24-game.cpp
@@ -0,0 +1,98 @@
+#include
+#include
+#include
+#include
+#include
+#include
+using namespace std;
+
+class RPNParse
+{
+public:
+ stack stk;
+ multiset digits;
+
+ void op(function f)
+ {
+ if(stk.size() < 2)
+ throw "Improperly written expression";
+ int b = stk.top(); stk.pop();
+ int a = stk.top(); stk.pop();
+ stk.push(f(a, b));
+ }
+
+ void parse(char c)
+ {
+ if(c >= '0' && c <= '9')
+ {
+ stk.push(c - '0');
+ digits.insert(c - '0');
+ }
+ else if(c == '+')
+ op([](double a, double b) {return a+b;});
+ else if(c == '-')
+ op([](double a, double b) {return a-b;});
+ else if(c == '*')
+ op([](double a, double b) {return a*b;});
+ else if(c == '/')
+ op([](double a, double b) {return a/b;});
+ }
+
+ void parse(string s)
+ {
+ for(int i = 0; i < s.size(); ++i)
+ parse(s[i]);
+ }
+
+ double getResult()
+ {
+ if(stk.size() != 1)
+ throw "Improperly written expression";
+ return stk.top();
+ }
+};
+
+int main()
+{
+ random_device seed;
+ mt19937 engine(seed());
+ uniform_int_distribution<> distribution(1, 9);
+ auto rnd = bind(distribution, engine);
+
+ multiset digits;
+ cout << "Make 24 with the digits: ";
+ for(int i = 0; i < 4; ++i)
+ {
+ int n = rnd();
+ cout << " " << n;
+ digits.insert(n);
+ }
+ cout << endl;
+
+ RPNParse parser;
+
+ try
+ {
+ string input;
+ getline(cin, input);
+ parser.parse(input);
+
+ if(digits != parser.digits)
+ cout << "Error: Not using the given digits" << endl;
+ else
+ {
+ double r = parser.getResult();
+ cout << "Result: " << r << endl;
+
+ if(r > 23.999 && r < 24.001)
+ cout << "Good job!" << endl;
+ else
+ cout << "Try again." << endl;
+ }
+ }
+ catch(char* e)
+ {
+ cout << "Error: " << e << endl;
+ }
+ return 0;
+}
diff --git a/Task/24-game/Common-Lisp/24-game-1.lisp b/Task/24-game/Common-Lisp/24-game-1.lisp
new file mode 100644
index 0000000000..89aacc0051
--- /dev/null
+++ b/Task/24-game/Common-Lisp/24-game-1.lisp
@@ -0,0 +1,36 @@
+(define-condition choose-digits () ())
+(define-condition bad-equation (error) ())
+
+(defun 24-game ()
+ (let (chosen-digits)
+ (labels ((prompt ()
+ (format t "Chosen digits: ~{~D~^, ~}~%~
+ Enter expression (or `bye' to quit, `!' to choose new digits): "
+ chosen-digits)
+ (read))
+ (lose () (error 'bad-equation))
+ (choose () (setf chosen-digits (loop repeat 4 collecting (random 10))))
+ (check (e)
+ (typecase e
+ ((eql bye) (return-from 24-game))
+ ((eql !) (signal 'choose-digits))
+ (atom (lose))
+ (cons (check-sub (car e) (check-sub (cdr e) chosen-digits)) e)))
+ (check-sub (sub allowed-digits)
+ (typecase sub
+ ((member nil + - * /) allowed-digits)
+ (integer
+ (if (member sub allowed-digits)
+ (remove sub allowed-digits :count 1)
+ (lose)))
+ (cons (check-sub (car sub) (check-sub (cdr sub) allowed-digits)))
+ (t (lose))))
+ (win ()
+ (format t "You win.~%")
+ (return-from 24-game)))
+ (choose)
+ (loop
+ (handler-case
+ (if (= 24 (eval (check (prompt)))) (win) (lose))
+ (error () (format t "Bad equation, try again.~%"))
+ (choose-digits () (choose)))))))
diff --git a/Task/24-game/Common-Lisp/24-game-2.lisp b/Task/24-game/Common-Lisp/24-game-2.lisp
new file mode 100644
index 0000000000..03d46f0d94
--- /dev/null
+++ b/Task/24-game/Common-Lisp/24-game-2.lisp
@@ -0,0 +1,104 @@
+(defconstant +ops+ '(* / + -))
+
+(defun expr-numbers (e &optional acc)
+ "Return all the numbers in argument positions in the expression."
+ (cond
+ ((numberp e) (cons e acc))
+ ((consp e)
+ (append (apply #'append
+ (mapcar #'expr-numbers (cdr e)))
+ acc))))
+
+(defun expr-well-formed-p (e)
+ "Return non-nil if the given expression is well-formed."
+ (cond
+ ((numberp e) t)
+ ((consp e)
+ (and (member (car e) +ops+)
+ (every #'expr-well-formed-p (cdr e))))
+ (t nil)))
+
+(defun expr-valid-p (e available-digits)
+ "Return non-nil if the expression is well-formed and uses exactly
+the digits specified."
+ (and (expr-well-formed-p e)
+ (equalp (sort (copy-seq available-digits) #'<)
+ (sort (expr-numbers e) #'<))))
+
+(defun expr-get (&optional using)
+ (emit "Enter lisp form~@[ using the digit~P ~{~D~^ ~}~]: "
+ (when using
+ (length using)) using)
+ (let (*read-eval*)
+ (read)))
+
+(defun digits ()
+ (sort (loop repeat 4 collect (1+ (random 9))) #'<))
+
+(defun emit (fmt &rest args)
+ (format t "~&~?" fmt args))
+
+(defun prompt (digits)
+ (emit "Using only these operators:~%~%~
+ ~2T~{~A~^ ~}~%~%~
+ And exactly these numbers \(no repetition\):~%~%~
+ ~2T~{~D~^ ~}~%~%~
+ ~A"
+ +ops+ digits (secondary-prompt)))
+
+(defun secondary-prompt ()
+ (fill-to 50 "Enter a lisp form which evaluates to ~
+ the integer 24, or \"!\" to get fresh ~
+ digits, or \"q\" to abort."))
+
+(defun fill-to (n fmt &rest args)
+ "Poor-man's text filling mechanism."
+ (loop with s = (format nil "~?" fmt args)
+ for c across s
+ and i from 0
+ and j = 0 then (1+ j) ; since-last-newline ctr
+
+ when (char= c #\Newline)
+ do (setq j 0)
+
+ else when (and (not (zerop j))
+ (zerop (mod j n)))
+ do (loop for k from i below (length s)
+ when (char= #\Space (schar s k))
+ do (progn
+ (setf (schar s k) #\Newline
+ j 0)
+ (loop-finish)))
+ finally (return s)))
+
+(defun 24-game ()
+ (loop with playing-p = t
+ and initial-digits = (digits)
+
+ for attempts from 0
+ and digits = initial-digits then (digits)
+
+ while playing-p
+
+ do (loop for e = (expr-get (unless (zerop attempts)
+ digits))
+ do
+ (case e
+ (! (loop-finish))
+ (Q (setq playing-p nil)
+ (loop-finish))
+ (R (emit "Current digits: ~S" digits))
+ (t
+ (if (expr-valid-p e digits)
+ (let ((v (eval e)))
+ (if (eql v 24)
+ (progn
+ (emit "~%~%---> A winner is you! <---~%~%")
+ (setq playing-p nil)
+ (loop-finish))
+ (emit "Sorry, the form you entered ~
+ computes to ~S, not 24.~%~%"
+ v)))
+ (emit "Sorry, the form you entered did not ~
+ compute.~%~%")))))
+ initially (prompt initial-digits)))
diff --git a/Task/24-game/D/24-game.d b/Task/24-game/D/24-game.d
new file mode 100644
index 0000000000..f3ee779f0b
--- /dev/null
+++ b/Task/24-game/D/24-game.d
@@ -0,0 +1,37 @@
+import std.stdio, std.random, std.math, std.algorithm, std.range,
+ std.typetuple;
+
+void main() {
+ void op(char c)() {
+ if (stack.length < 2)
+ throw new Exception("Wrong expression.");
+ stack[$ - 2] = mixin("stack[$ - 2]" ~ c ~ "stack[$ - 1]");
+ stack.popBack();
+ }
+
+ const problem = iota(4).map!(_ => uniform(1, 10))().array();
+ writeln("Make 24 with the digits: ", problem);
+
+ double[] stack;
+ int[] digits;
+ foreach (const char c; readln())
+ switch (c) {
+ case ' ', '\t', '\n': break;
+ case '1': .. case '9':
+ stack ~= c - '0';
+ digits ~= c - '0';
+ break;
+ foreach (o; TypeTuple!('+', '-', '*', '/')) {
+ case o: op!o(); break;
+ }
+ break;
+ default: throw new Exception("Wrong char: " ~ c);
+ }
+
+ if (!digits.sort().equal(problem.dup.sort()))
+ throw new Exception("Not using the given digits.");
+ if (stack.length != 1)
+ throw new Exception("Wrong expression.");
+ writeln("Result: ", stack[0]);
+ writeln(abs(stack[0] - 24) < 0.001 ? "Good job!" : "Try again.");
+}
diff --git a/Task/99-Bottles-of-Beer/C++/99-bottles-of-beer-1.cpp b/Task/99-Bottles-of-Beer/C++/99-bottles-of-beer-1.cpp
new file mode 100644
index 0000000000..f69026e06f
--- /dev/null
+++ b/Task/99-Bottles-of-Beer/C++/99-bottles-of-beer-1.cpp
@@ -0,0 +1,13 @@
+#include
+using namespace std;
+
+int main()
+{
+ int bottles = 99;
+ do {
+ cout << bottles << " bottles of beer on the wall" << endl;
+ cout << bottles << " bottles of beer" << endl;
+ cout << "Take one down, pass it around" << endl;
+ cout << --bottles << " bottles of beer on the wall\n" << endl;
+ } while (bottles > 0);
+}
diff --git a/Task/99-Bottles-of-Beer/C++/99-bottles-of-beer-2.cpp b/Task/99-Bottles-of-Beer/C++/99-bottles-of-beer-2.cpp
new file mode 100644
index 0000000000..4fd5341069
--- /dev/null
+++ b/Task/99-Bottles-of-Beer/C++/99-bottles-of-beer-2.cpp
@@ -0,0 +1,28 @@
+#include
+
+template struct bottle_countdown
+{
+ static const int middle = (min + max)/2;
+ static void print()
+ {
+ bottle_countdown::print();
+ bottle_countdown::print();
+ }
+};
+
+template struct bottle_countdown
+{
+ static void print()
+ {
+ std::cout << value << " bottles of beer on the wall\n"
+ << value << " bottles of beer\n"
+ << "Take one down, pass it around\n"
+ << value-1 << " bottles of beer\n\n";
+ }
+};
+
+int main()
+{
+ bottle_countdown<100, 1>::print();
+ return 0;
+}
diff --git a/Task/99-Bottles-of-Beer/C++/99-bottles-of-beer-3.cpp b/Task/99-Bottles-of-Beer/C++/99-bottles-of-beer-3.cpp
new file mode 100644
index 0000000000..ccd7a2151f
--- /dev/null
+++ b/Task/99-Bottles-of-Beer/C++/99-bottles-of-beer-3.cpp
@@ -0,0 +1,20 @@
+#include
+using namespace std;
+void rec(int bottles)
+{
+if ( bottles!=0)
+ {
+ cout << bottles << " bottles of beer on the wall" << endl;
+ cout << bottles << " bottles of beer" << endl;
+ cout << "Take one down, pass it around" << endl;
+ cout << --bottles << " bottles of beer on the wall\n" << endl;
+ rec(bottles);
+ }
+}
+
+int main()
+ {
+rec(99);
+system("pause");
+return 0;
+}
diff --git a/Task/99-Bottles-of-Beer/C++/99-bottles-of-beer-4.cpp b/Task/99-Bottles-of-Beer/C++/99-bottles-of-beer-4.cpp
new file mode 100644
index 0000000000..ca2386a207
--- /dev/null
+++ b/Task/99-Bottles-of-Beer/C++/99-bottles-of-beer-4.cpp
@@ -0,0 +1,30 @@
+#include
+#include
+
+#define BOTTLE(nstr) nstr " bottles of beer"
+
+#define WALL(nstr) BOTTLE(nstr) " on the wall"
+
+#define PART1(nstr) WALL(nstr) "\n" BOTTLE(nstr) \
+ "\nTake one down, pass it around\n"
+
+#define PART2(nstr) WALL(nstr) "\n\n"
+
+#define MIDDLE(nstr) PART2(nstr) PART1(nstr)
+
+#define SONG PART1("100") CD2 PART2("0")
+
+#define CD2 CD3("9") CD3("8") CD3("7") CD3("6") CD3("5") \
+ CD3("4") CD3("3") CD3("2") CD3("1") CD4("")
+
+#define CD3(pre) CD4(pre) MIDDLE(pre "0")
+
+#define CD4(pre) MIDDLE(pre "9") MIDDLE(pre "8") MIDDLE(pre "7") \
+ MIDDLE(pre "6") MIDDLE(pre "5") MIDDLE(pre "4") MIDDLE(pre "3") \
+ MIDDLE(pre "2") MIDDLE(pre "1")
+
+int main()
+{
+ std::cout << SONG;
+ return 0;
+}
diff --git a/Task/99-Bottles-of-Beer/C++/99-bottles-of-beer-5.cpp b/Task/99-Bottles-of-Beer/C++/99-bottles-of-beer-5.cpp
new file mode 100644
index 0000000000..64d050a7a7
--- /dev/null
+++ b/Task/99-Bottles-of-Beer/C++/99-bottles-of-beer-5.cpp
@@ -0,0 +1,37 @@
+ //>,_
+ //Beer Song>,_
+ #include
+ using namespace std;
+ int main(){ for( int
+ b=-1; b<99; cout <<
+ '\n') for ( int w=0;
+ w<3; cout << ".\n"){
+ if (w==2) cout << ((
+ b--) ?"Take one dow"
+ "n and pass it arou"
+ "nd":"Go to the sto"
+ "re and buy some mo"
+ "re"); if (b<0) b=99
+ ; do{ if (w) cout <<
+ ", "; if (b) cout <<
+ b; else cout << (
+ (w) ? 'n' : 'N') <<
+ "o more"; cout <<
+ " bottle" ; if
+ (b!=1) cout <<
+ 's' ; cout <<
+ " of beer";
+ if (w!=1)
+ cout <<
+ " on th"
+ "e wall"
+ ;} while
+ (!w++);}
+ return
+ 0
+ ;
+ }
+ //
+ // by barrym 2011-05-01
+ // no bottles were harmed in the
+ // making of this program!!!
diff --git a/Task/99-Bottles-of-Beer/C-sharp/99-bottles-of-beer-1.cs b/Task/99-Bottles-of-Beer/C-sharp/99-bottles-of-beer-1.cs
new file mode 100644
index 0000000000..5b8c096f4a
--- /dev/null
+++ b/Task/99-Bottles-of-Beer/C-sharp/99-bottles-of-beer-1.cs
@@ -0,0 +1,29 @@
+using System;
+
+class Program
+{
+ static void Main(string[] args)
+ {
+ for (int i = 99; i > -1; i--)
+ {
+ if (i == 0)
+ {
+ Console.WriteLine("No more bottles of beer on the wall, no more bottles of beer.");
+ Console.WriteLine("Go to the store and buy some more, 99 bottles of beer on the wall.");
+ break;
+ }
+ if (i == 1)
+ {
+ Console.WriteLine("1 bottle of beer on the wall, 1 bottle of beer.");
+ Console.WriteLine("Take one down and pass it around, no more bottles of beer on the wall.");
+ Console.WriteLine();
+ }
+ else
+ {
+ Console.WriteLine("{0} bottles of beer on the wall, {0} bottles of beer.", i);
+ Console.WriteLine("Take one down and pass it around, {0} bottles of beer on the wall.", i - 1);
+ Console.WriteLine();
+ }
+ }
+ }
+}
diff --git a/Task/99-Bottles-of-Beer/C-sharp/99-bottles-of-beer-2.cs b/Task/99-Bottles-of-Beer/C-sharp/99-bottles-of-beer-2.cs
new file mode 100644
index 0000000000..0c8b560b4e
--- /dev/null
+++ b/Task/99-Bottles-of-Beer/C-sharp/99-bottles-of-beer-2.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Linq;
+
+class Program
+{
+ static void Main()
+ {
+ var query = from total in Enumerable.Range(0,100).Reverse()
+ select (total > 0)
+ ? string.Format("{0} bottles of beer on the wall\n{0} bottles of beer\nTake one down, pass it around", total)
+ : string.Format("{0} bottles left", total);
+
+ foreach (var item in query)
+ {
+ Console.WriteLine(item);
+ }
+ }
+}
diff --git a/Task/99-Bottles-of-Beer/C-sharp/99-bottles-of-beer-3.cs b/Task/99-Bottles-of-Beer/C-sharp/99-bottles-of-beer-3.cs
new file mode 100644
index 0000000000..df76d8ce8e
--- /dev/null
+++ b/Task/99-Bottles-of-Beer/C-sharp/99-bottles-of-beer-3.cs
@@ -0,0 +1,28 @@
+class songs
+{
+ static void Main(string[] args)
+ {
+ beer(5);
+ }
+
+ private static void beer(int bottles)
+ {
+ for (int i = bottles; i > 0; i--)
+ {
+ if (i > 1)
+ {
+ Console.Write("{0}\n{1}\n{2}\n{3}\n\n",
+ i + " bottles of beer on the wall",
+ i + " bottles of beer",
+ "Take one down, pass it around",
+ (i - 1) + " bottles of beer on the wall");
+ }
+ else
+ Console.Write("{0}\n{1}\n{2}\n{3}\n\n",
+ i + " bottle of beer on the wall",
+ i + " bottle of beer",
+ "Take one down, pass it around",
+ (i - 1) + " bottles of beer on the wall....");
+ }
+ }
+}
diff --git a/Task/99-Bottles-of-Beer/C-sharp/99-bottles-of-beer-4.cs b/Task/99-Bottles-of-Beer/C-sharp/99-bottles-of-beer-4.cs
new file mode 100644
index 0000000000..87df3fd53e
--- /dev/null
+++ b/Task/99-Bottles-of-Beer/C-sharp/99-bottles-of-beer-4.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Linq;
+
+class Program
+{
+ static void Main()
+ {
+ BeerBottles().Take(99).ToList().ForEach(Console.WriteLine);
+ }
+
+ static IEnumerable BeerBottles()
+ {
+ int i = 100;
+ String f = "{0}, {1}. Take one down, pass it around, {2}";
+ Func booze = (c , b) =>
+ String.Format("{0} bottle{1} of beer{2}", c > 0 ? c.ToString() : "no more", (c == 1 ? "" : "s"), b ? " on the wall" : "");
+
+ while (--i >= 1)
+ yield return String.Format(f, booze(i, true), booze(i, false), booze(i - 1, true));
+ }
+}
diff --git a/Task/99-Bottles-of-Beer/C-sharp/99-bottles-of-beer-5.cs b/Task/99-Bottles-of-Beer/C-sharp/99-bottles-of-beer-5.cs
new file mode 100644
index 0000000000..f087b131bd
--- /dev/null
+++ b/Task/99-Bottles-of-Beer/C-sharp/99-bottles-of-beer-5.cs
@@ -0,0 +1,131 @@
+string[] bottles = { "80 Shilling",
+ "Abita Amber",
+ "Adams Broadside Ale",
+ "Altenmünster Premium",
+ "August Schell's SnowStorm",
+ "Bah Humbug! Christmas Ale",
+ "Beck's Oktoberfest",
+ "Belhaven Wee Heavy",
+ "Bison Chocolate Stout",
+ "Blue Star Wheat Beer",
+ "Bridgeport Black Strap Stout",
+ "Brother Thelonius Belgian-Style Abbey Ale",
+ "Capital Blonde Doppelbock",
+ "Carta Blanca",
+ "Celis Raspberry Wheat",
+ "Christian Moerlein Select Lager",
+ "Corona",
+ "Czechvar",
+ "Delirium Tremens",
+ "Diamond Bear Southern Blonde",
+ "Don De Dieu",
+ "Eastside Dark",
+ "Eliot Ness",
+ "Flying Dog K-9 Cruiser Altitude Ale",
+ "Fuller's London Porter",
+ "Gaffel Kölsch",
+ "Golden Horseshoe",
+ "Guinness Pub Draught",
+ "Hacker-Pschorr Weisse",
+ "Hereford & Hops Black Spring Double Stout",
+ "Highland Oatmeal Porter",
+ "Ipswich Ale",
+ "Iron City",
+ "Jack Daniel's Amber Lager",
+ "Jamaica Sunset India Pale Ale",
+ "Killian's Red",
+ "König Ludwig Weiss",
+ "Kronenbourg 1664",
+ "Lagunitas Hairy Eyball Ale",
+ "Left Hand Juju Ginger",
+ "Locktender Lager",
+ "Magic Hat Blind Faith",
+ "Missing Elf Double Bock",
+ "Muskoka Cream Ale ",
+ "New Glarus Cherry Stout",
+ "Nostradamus Bruin",
+ "Old Devil",
+ "Ommegang Three Philosophers",
+ "Paulaner Hefe-Weizen Dunkel",
+ "Perla Chmielowa Pils",
+ "Pete's Wicked Springfest",
+ "Point White Biere",
+ "Prostel Alkoholfrei",
+ "Quilmes",
+ "Rahr's Red",
+ "Rebel Garnet",
+ "Rickard's Red",
+ "Rio Grande Elfego Bock",
+ "Rogue Brutal Bitter",
+ "Roswell Alien Amber Ale",
+ "Russian River Pliny The Elder",
+ "Samuel Adams Blackberry Witbier",
+ "Samuel Smith's Taddy Porter",
+ "Schlafly Pilsner",
+ "Sea Dog Wild Blueberry Wheat Ale",
+ "Sharp's",
+ "Shiner 99",
+ "Sierra Dorada",
+ "Skullsplitter Orkney Ale",
+ "Snake Chaser Irish Style Stout",
+ "St. Arnold Bock",
+ "St. Peter's Cream Stout",
+ "Stag",
+ "Stella Artois",
+ "Stone Russian Imperial Stout",
+ "Sweetwater Happy Ending Imperial Stout",
+ "Taiwan Gold Medal",
+ "Terrapin Big Hoppy Monster",
+ "Thomas Hooker American Pale Ale",
+ "Tie Die Red Ale",
+ "Toohey's Premium",
+ "Tsingtao",
+ "Ugly Pug Black Lager",
+ "Unibroue Qatre-Centieme",
+ "Victoria Bitter",
+ "Voll-Damm Doble Malta",
+ "Wailing Wench Ale",
+ "Warsteiner Dunkel",
+ "Wellhead Crude Oil Stout",
+ "Weyerbacher Blithering Idiot Barley-Wine Style Ale",
+ "Wild Boar Amber",
+ "Würzburger Oktoberfest",
+ "Xingu Black Beer",
+ "Yanjing",
+ "Younger's Tartan Special",
+ "Yuengling Black & Tan",
+ "Zagorka Special",
+ "Zig Zag River Lager",
+ "Zywiec" };
+
+
+int bottlesLeft = 99;
+const int FIRST_LINE_SINGULAR = 98;
+const int FINAL_LINE_SINGULAR = 97;
+string firstLine = "";
+string finalLine = "";
+
+
+for (int i = 0; i < 99; i++)
+{
+ firstLine = bottlesLeft.ToString() + " bottle";
+ if (i != FIRST_LINE_SINGULAR)
+ firstLine += "s";
+ firstLine += " of beer on the wall, " + bottlesLeft.ToString() + " bottle";
+ if (i != FIRST_LINE_SINGULAR)
+ firstLine += "s";
+ firstLine += " of beer";
+
+ Console.WriteLine(firstLine);
+ Console.WriteLine("Take the " + bottles[i] + " down, pass it around,");
+ bottlesLeft--;
+
+ finalLine = bottlesLeft.ToString() + " bottle";
+ if (i != FINAL_LINE_SINGULAR)
+ finalLine += "s";
+ finalLine += " of beer on the wall!";
+
+ Console.WriteLine(finalLine);
+ Console.WriteLine();
+ Console.ReadLine();
+}
diff --git a/Task/99-Bottles-of-Beer/CLIPS/99-bottles-of-beer.clips b/Task/99-Bottles-of-Beer/CLIPS/99-bottles-of-beer.clips
new file mode 100644
index 0000000000..b2a5acec46
--- /dev/null
+++ b/Task/99-Bottles-of-Beer/CLIPS/99-bottles-of-beer.clips
@@ -0,0 +1,19 @@
+(deffacts beer-bottles
+ (bottles 99))
+
+(deffunction bottle-count
+ (?count)
+ (switch ?count
+ (case 0 then "No more bottles of beer")
+ (case 1 then "1 more bottle of beer")
+ (default (str-cat ?count " bottles of beer"))))
+
+(defrule stanza
+ ?bottles <- (bottles ?count)
+ =>
+ (retract ?bottles)
+ (printout t (bottle-count ?count) " on the wall," crlf)
+ (printout t (bottle-count ?count) "." crlf)
+ (printout t "Take one down, pass it around," crlf)
+ (printout t (bottle-count (- ?count 1)) " on the wall." crlf crlf)
+ (if (> ?count 1) then (assert (bottles (- ?count 1)))))
diff --git a/Task/99-Bottles-of-Beer/COBOL/99-bottles-of-beer-1.cobol b/Task/99-Bottles-of-Beer/COBOL/99-bottles-of-beer-1.cobol
new file mode 100644
index 0000000000..3da47d3761
--- /dev/null
+++ b/Task/99-Bottles-of-Beer/COBOL/99-bottles-of-beer-1.cobol
@@ -0,0 +1,122 @@
+identification division.
+program-id. ninety-nine.
+environment division.
+data division.
+working-storage section.
+01 counter pic 99.
+ 88 no-bottles-left value 0.
+ 88 one-bottle-left value 1.
+
+01 parts-of-counter redefines counter.
+ 05 tens pic 9.
+ 05 digits pic 9.
+
+01 after-ten-words.
+ 05 filler pic x(7) value spaces.
+ 05 filler pic x(7) value "Twenty".
+ 05 filler pic x(7) value "Thirty".
+ 05 filler pic x(7) value "Forty".
+ 05 filler pic x(7) value "Fifty".
+ 05 filler pic x(7) value "Sixty".
+ 05 filler pic x(7) value "Seventy".
+ 05 filler pic x(7) value "Eighty".
+ 05 filler pic x(7) value "Ninety".
+ 05 filler pic x(7) value spaces.
+
+01 after-ten-array redefines after-ten-words.
+ 05 atens occurs 10 times pic x(7).
+
+01 digit-words.
+ 05 filler pic x(9) value "One".
+ 05 filler pic x(9) value "Two".
+ 05 filler pic x(9) value "Three".
+ 05 filler pic x(9) value "Four".
+ 05 filler pic x(9) value "Five".
+ 05 filler pic x(9) value "Six".
+ 05 filler pic x(9) value "Seven".
+ 05 filler pic x(9) value "Eight".
+ 05 filler pic x(9) value "Nine".
+ 05 filler pic x(9) value "Ten".
+ 05 filler pic x(9) value "Eleven".
+ 05 filler pic x(9) value "Twelve".
+ 05 filler pic x(9) value "Thirteen".
+ 05 filler pic x(9) value "Fourteen".
+ 05 filler pic x(9) value "Fifteen".
+ 05 filler pic x(9) value "Sixteen".
+ 05 filler pic x(9) value "Seventeen".
+ 05 filler pic x(9) value "Eighteen".
+ 05 filler pic x(9) value "Nineteen".
+ 05 filler pic x(9) value spaces.
+
+01 digit-array redefines digit-words.
+ 05 adigits occurs 20 times pic x(9).
+
+01 number-name pic x(15).
+
+01 stringified pic x(30).
+01 outline pic x(50).
+01 other-numbers.
+ 03 n pic 999.
+ 03 r pic 999.
+
+procedure division.
+100-main section.
+100-setup.
+ perform varying counter from 99 by -1 until no-bottles-left
+ move spaces to outline
+ perform 100-show-number
+ string stringified delimited by "|", space, "of beer on the wall" into outline end-string
+ display outline end-display
+ move spaces to outline
+ string stringified delimited by "|", space, "of beer" into outline end-string
+ display outline end-display
+ move spaces to outline
+ move "Take" to outline
+ if one-bottle-left
+ string outline delimited by space, space, "it" delimited by size, space, "|" into outline end-string
+ else
+ string outline delimited by space, space, "one" delimited by size, space, "|" into outline end-string
+ end-if
+ string outline delimited by "|", "down and pass it round" delimited by size into outline end-string
+ display outline end-display
+ move spaces to outline
+ subtract 1 from counter giving counter end-subtract
+ perform 100-show-number
+ string stringified delimited by "|", space, "of beer on the wall" into outline end-string
+ display outline end-display
+ add 1 to counter giving counter end-add
+ display space end-display
+ end-perform.
+ display "No more bottles of beer on the wall"
+ display "No more bottles of beer"
+ display "Go to the store and buy some more"
+ display "Ninety-Nine bottles of beer on the wall"
+ stop run.
+
+100-show-number.
+ if no-bottles-left
+ move "No more|" to stringified
+ else
+ if counter < 20
+ string function trim( adigits( counter ) ), "|" into stringified
+ else
+ if counter < 100
+ move spaces to number-name
+ string atens( tens ) delimited by space, space delimited by size, adigits( digits ) delimited by space into number-name end-string
+ move function trim( number-name) to stringified
+ divide counter by 10 giving n remainder r end-divide
+ if r not = zero
+ inspect stringified replacing first space by "-"
+ end-if
+ inspect stringified replacing first space by "|"
+ end-if
+ end-if
+ end-if.
+ if one-bottle-left
+ string stringified delimited by "|", space, "bottle|" delimited by size into stringified end-string
+ else
+ string stringified delimited by "|", space, "bottles|" delimited by size into stringified end-string
+ end-if.
+
+100-end.
+end-program.
diff --git a/Task/99-Bottles-of-Beer/COBOL/99-bottles-of-beer-2.cobol b/Task/99-Bottles-of-Beer/COBOL/99-bottles-of-beer-2.cobol
new file mode 100644
index 0000000000..6dd44ed15c
--- /dev/null
+++ b/Task/99-Bottles-of-Beer/COBOL/99-bottles-of-beer-2.cobol
@@ -0,0 +1,104 @@
+identification division.
+program-id. ninety-nine.
+environment division.
+data division.
+working-storage section.
+01 counter pic 99.
+ 88 no-bottles-left value 0.
+ 88 one-bottle-left value 1.
+
+01 parts-of-counter redefines counter.
+ 05 tens pic 9.
+ 05 digits pic 9.
+
+01 after-ten-words.
+ 05 filler pic x(7) value spaces.
+ 05 filler pic x(7) value "Twenty".
+ 05 filler pic x(7) value "Thirty".
+ 05 filler pic x(7) value "Forty".
+ 05 filler pic x(7) value "Fifty".
+ 05 filler pic x(7) value "Sixty".
+ 05 filler pic x(7) value "Seventy".
+ 05 filler pic x(7) value "Eighty".
+ 05 filler pic x(7) value "Ninety".
+ 05 filler pic x(7) value spaces.
+
+01 after-ten-array redefines after-ten-words.
+ 05 atens occurs 10 times pic x(7).
+
+01 digit-words.
+ 05 filler pic x(9) value "One".
+ 05 filler pic x(9) value "Two".
+ 05 filler pic x(9) value "Three".
+ 05 filler pic x(9) value "Four".
+ 05 filler pic x(9) value "Five".
+ 05 filler pic x(9) value "Six".
+ 05 filler pic x(9) value "Seven".
+ 05 filler pic x(9) value "Eight".
+ 05 filler pic x(9) value "Nine".
+ 05 filler pic x(9) value "Ten".
+ 05 filler pic x(9) value "Eleven".
+ 05 filler pic x(9) value "Twelve".
+ 05 filler pic x(9) value "Thirteen".
+ 05 filler pic x(9) value "Fourteen".
+ 05 filler pic x(9) value "Fifteen".
+ 05 filler pic x(9) value "Sixteen".
+ 05 filler pic x(9) value "Seventeen".
+ 05 filler pic x(9) value "Eighteen".
+ 05 filler pic x(9) value "Nineteen".
+ 05 filler pic x(9) value spaces.
+
+01 digit-array redefines digit-words.
+ 05 adigits occurs 20 times pic x(9).
+
+01 number-name pic x(15).
+
+procedure division.
+100-main section.
+100-setup.
+ perform varying counter from 99 by -1 until no-bottles-left
+ perform 100-show-number
+ display " of beer on the wall"
+ perform 100-show-number
+ display " of beer"
+ display "Take " with no advancing
+ if one-bottle-left
+ display "it " with no advancing
+ else
+ display "one " with no advancing
+ end-if
+ display "down and pass it round"
+ subtract 1 from counter giving counter
+ perform 100-show-number
+ display " of beer on the wall"
+ add 1 to counter giving counter
+ display space
+ end-perform.
+ display "No more bottles of beer on the wall"
+ display "No more bottles of beer"
+ display "Go to the store and buy some more"
+ display "Ninety Nine bottles of beer on the wall"
+ stop run.
+
+100-show-number.
+ if no-bottles-left
+ display "No more" with no advancing
+ else
+ if counter < 20
+ display function trim( adigits( counter ) ) with no advancing
+ else
+ if counter < 100
+ move spaces to number-name
+ string atens( tens ) delimited by space, space delimited by size, adigits( digits ) delimited by space into number-name
+ display function trim( number-name) with no advancing
+ end-if
+ end-if
+ end-if.
+ if one-bottle-left
+ display " bottle" with no advancing
+ else
+ display " bottles" with no advancing
+ end-if.
+
+100-end.
+end-program.
diff --git a/Task/99-Bottles-of-Beer/Chapel/99-bottles-of-beer.chapel b/Task/99-Bottles-of-Beer/Chapel/99-bottles-of-beer.chapel
new file mode 100644
index 0000000000..235950df37
--- /dev/null
+++ b/Task/99-Bottles-of-Beer/Chapel/99-bottles-of-beer.chapel
@@ -0,0 +1,68 @@
+/***********************************************************************
+ * Chapel implementation of "99 bottles of beer"
+ *
+ * by Brad Chamberlain and Steve Deitz
+ * 07/13/2006 in Knoxville airport while waiting for flight home from
+ * HPLS workshop
+ * compiles and runs with chpl compiler version 0.3.3211
+ * for more information, contact: chapel_info@cray.com
+ *
+ *
+ * Notes:
+ * o as in all good parallel computations, boundary conditions
+ * constitute the vast bulk of complexity in this code (invite Brad to
+ * tell you about his zany boundary condition simplification scheme)
+ * o uses type inference for variables, arguments
+ * o relies on integer->string coercions
+ * o uses named argument passing (for documentation purposes only)
+ ***********************************************************************/
+
+// allow executable command-line specification of number of bottles
+// (e.g., ./a.out -snumBottles=999999)
+config const numBottles = 99;
+const numVerses = numBottles+1;
+
+// a domain to describe the space of lyrics
+var LyricsSpace: domain(1) = [1..numVerses];
+
+// array of lyrics
+var Lyrics: [LyricsSpace] string;
+
+// parallel computation of lyrics array
+[verse in LyricsSpace] Lyrics(verse) = computeLyric(verse);
+
+// as in any good parallel language, I/O to stdout is serialized.
+// (Note that I/O to a file could be parallelized using a parallel
+// prefix computation on the verse strings' lengths with file seeking)
+writeln(Lyrics);
+
+
+// HELPER FUNCTIONS:
+
+fun computeLyric(verseNum) {
+ var bottleNum = numBottles - (verseNum - 1);
+ var nextBottle = (bottleNum + numVerses - 1)%numVerses;
+ return "\n" // disguise space used to separate elements in array I/O
+ + describeBottles(bottleNum, startOfVerse=true) + " on the wall, "
+ + describeBottles(bottleNum) + ".\n"
+ + computeAction(bottleNum)
+ + describeBottles(nextBottle) + " on the wall.\n";
+}
+
+
+fun describeBottles(bottleNum, startOfVerse:bool = false) {
+// NOTE: bool should not be necessary here (^^^^); working around bug
+ var bottleDescription = if (bottleNum) then bottleNum:string
+ else (if startOfVerse then "N"
+ else "n")
+ + "o more";
+ return bottleDescription
+ + " bottle" + (if (bottleNum == 1) then "" else "s")
+ + " of beer";
+}
+
+
+fun computeAction(bottleNum) {
+ return if (bottleNum == 0) then "Go to the store and buy some more, "
+ else "Take one down and pass it around, ";
+}
diff --git a/Task/99-Bottles-of-Beer/Chef/99-bottles-of-beer.chef b/Task/99-Bottles-of-Beer/Chef/99-bottles-of-beer.chef
new file mode 100644
index 0000000000..6e4597b805
--- /dev/null
+++ b/Task/99-Bottles-of-Beer/Chef/99-bottles-of-beer.chef
@@ -0,0 +1,225 @@
+99 Bottles Of Beer.
+
+Ingredients.
+99 bottles
+
+Method.
+Loop the bottles.
+ Put bottles into 1st mixing bowl.
+ Serve with bottles of beer on the wall.
+ Clean 1st mixing bowl.
+ Put bottles into 1st mixing bowl.
+ Serve with bottles of beer.
+ Clean 1st mixing bowl.
+ Serve with Take one down and pass it around.
+ Clean 1st mixing bowl.
+Loop the bottles until looped.
+Serve with No more bottles of beer.
+Clean 1st mixing bowl.
+Pour contents of the 3rd mixing bowl into the 1st baking dish.
+
+Serves 1.
+
+bottles of beer on the wall.
+
+Prints out "n" bottles of beer on the wall.
+
+Ingredients.
+108 g lime
+97 cups asparagus
+119 pinches watercress
+32 tablespoons pickles
+101 pinches eggplant
+104 g huckleberry
+116 teaspoons turnip
+110 tablespoons nannyberry
+111 tablespoons onion
+114 tablespoons raspberry
+98 g broccoli
+102 g feijoa
+115 teaspoons squach
+10 ml new line
+
+Method.
+Put new line into 1st mixing bowl.
+Put lime into 2nd mixing bowl.
+Put lime into 2nd mixing bowl.
+Put asparagus into 2nd mixing bowl.
+Put watercress into 2nd mixing bowl.
+Put pickles into 2nd mixing bowl.
+Put eggplant into 2nd mixing bowl.
+Put huckleberry into 2nd mixing bowl.
+Put turnip into 2nd mixing bowl.
+Put pickles into 2nd mixing bowl.
+Put nannyberry into 2nd mixing bowl.
+Put onion into 2nd mixing bowl.
+Put pickles into 2nd mixing bowl.
+Put raspberry into 2nd mixing bowl.
+Put eggplant into 2nd mixing bowl.
+Put eggplant into 2nd mixing bowl.
+Put broccoli into 2nd mixing bowl.
+Put pickles into 2nd mixing bowl.
+Put feijoa into 2nd mixing bowl.
+Put onion into 2nd mixing bowl.
+Put pickles into 2nd mixing bowl.
+Put squach into 2nd mixing bowl.
+Put eggplant into 2nd mixing bowl.
+Put lime into 2nd mixing bowl.
+Put turnip into 2nd mixing bowl.
+Put turnip into 2nd mixing bowl.
+Put onion into 2nd mixing bowl.
+Put broccoli into 2nd mixing bowl.
+Put pickles into 2nd mixing bowl.
+Liquify contents of the 2nd mixing bowl.
+Pour contents of the 2nd mixing bowl into the baking dish.
+Pour contents of the mixing bowl into the baking dish.
+Refrigerate for 1 hour.
+
+bottles of beer.
+
+Prints out "n" bottles of beer.
+
+Ingredients.
+114 tablespoons raspberry
+101 pinches eggplant
+98 teaspoons broccoli
+32 pinches pickles
+102 tablespoons feijoa
+111 teaspoons onion
+115 cups squach
+108 cups lime
+116 teaspoons turnip
+10 ml new line
+
+Method.
+Put new line into 1st mixing bowl.
+Put raspberry into 2nd mixing bowl.
+Put eggplant into 2nd mixing bowl.
+Put eggplant into 2nd mixing bowl.
+Put broccoli into 2nd mixing bowl.
+Put pickles into 2nd mixing bowl.
+Put feijoa into 2nd mixing bowl.
+Put onion into 2nd mixing bowl.
+Put pickles into 2nd mixing bowl.
+Put squach into 2nd mixing bowl.
+Put eggplant into 2nd mixing bowl.
+Put lime into 2nd mixing bowl.
+Put turnip into 2nd mixing bowl.
+Put turnip into 2nd mixing bowl.
+Put onion into 2nd mixing bowl.
+Put broccoli into 2nd mixing bowl.
+Put pickles into 2nd mixing bowl.
+Liquify contents of the 2nd mixing bowl.
+Pour contents of the 2nd mixing bowl into the baking dish.
+Pour contents of the mixing bowl into the baking dish.
+Refrigerate for 1 hour.
+
+Take one down and pass it around.
+
+Prints out "Take one down and pass it around".
+
+Ingredients.
+100 cups dandelion
+110 g nannyberry
+117 pinches cucumber
+111 pinches onion
+114 pinches raspberry
+97 g asparagus
+32 tablespoons pickles
+116 pinches turnip
+105 g chestnut
+115 g squach
+112 g pumpkin
+119 cups watercress
+101 g eggplant
+107 g kale
+84 cups tomatoe
+10 ml new line
+
+Method.
+Put new line into 3rd mixing bowl.
+Put dandelion into 2nd mixing bowl.
+Put nannyberry into 2nd mixing bowl.
+Put cucumber into 2nd mixing bowl.
+Put onion into 2nd mixing bowl.
+Put raspberry into 2nd mixing bowl.
+Put asparagus into 2nd mixing bowl.
+Put pickles into 2nd mixing bowl.
+Put turnip into 2nd mixing bowl.
+Put chestnut into 2nd mixing bowl.
+Put pickles into 2nd mixing bowl.
+Put squach into 2nd mixing bowl.
+Put squach into 2nd mixing bowl.
+Put asparagus into 2nd mixing bowl.
+Put pumpkin into 2nd mixing bowl.
+Put pickles into 2nd mixing bowl.
+Put dandelion into 2nd mixing bowl.
+Put nannyberry into 2nd mixing bowl.
+Put asparagus into 2nd mixing bowl.
+Put pickles into 2nd mixing bowl.
+Put nannyberry into 2nd mixing bowl.
+Put watercress into 2nd mixing bowl.
+Put onion into 2nd mixing bowl.
+Put dandelion into 2nd mixing bowl.
+Put pickles into 2nd mixing bowl.
+Put eggplant into 2nd mixing bowl.
+Put nannyberry into 2nd mixing bowl.
+Put onion into 2nd mixing bowl.
+Put pickles into 2nd mixing bowl.
+Put eggplant into 2nd mixing bowl.
+Put kale into 2nd mixing bowl.
+Put asparagus into 2nd mixing bowl.
+Put tomatoe into 2nd mixing bowl.
+Liquify contents of the 2nd mixing bowl.
+Pour contents of the 2nd mixing bowl into the baking dish.
+Pour contents of the 3rd mixing bowl into the baking dish.
+Refrigerate for 1 hour.
+
+No more bottles of beer.
+
+Prints out "No more bottles of beer".
+
+Ingredients.
+114 pinches raspberry
+101 teaspoons eggplant
+98 cups broccoli
+32 tablespoons pickles
+102 pinches feijoa
+111 cups onion
+115 tablespoons squach
+108 tablespoons lime
+116 pinches turnip
+109 cups mushrooms
+78 g nectarine
+10 ml new line
+
+Method.
+Put new line into 3rd mixing bowl.
+Put new line into 2nd mixing bowl.
+Put raspberry into 2nd mixing bowl.
+Put eggplant into 2nd mixing bowl.
+Put eggplant into 2nd mixing bowl.
+Put broccoli into 2nd mixing bowl.
+Put pickles into 2nd mixing bowl.
+Put feijoa into 2nd mixing bowl.
+Put onion into 2nd mixing bowl.
+Put pickles into 2nd mixing bowl.
+Put squach into 2nd mixing bowl.
+Put eggplant into 2nd mixing bowl.
+Put lime into 2nd mixing bowl.
+Put turnip into 2nd mixing bowl.
+Put turnip into 2nd mixing bowl.
+Put onion into 2nd mixing bowl.
+Put broccoli into 2nd mixing bowl.
+Put pickles into 2nd mixing bowl.
+Put eggplant into 2nd mixing bowl.
+Put raspberry into 2nd mixing bowl.
+Put onion into 2nd mixing bowl.
+Put mushrooms into 2nd mixing bowl.
+Put pickles into 2nd mixing bowl.
+Put onion into 2nd mixing bowl.
+Put nectarine into 2nd mixing bowl.
+Liquify contents of the 2nd mixing bowl.
+Pour contents of the 2nd mixing bowl into the baking dish.
+Pour contents of the 3rd mixing bowl into the baking dish.
+Refrigerate for 1 hour.
diff --git a/Task/99-Bottles-of-Beer/Clay/99-bottles-of-beer.clay b/Task/99-Bottles-of-Beer/Clay/99-bottles-of-beer.clay
new file mode 100644
index 0000000000..64036ceb41
--- /dev/null
+++ b/Task/99-Bottles-of-Beer/Clay/99-bottles-of-beer.clay
@@ -0,0 +1,20 @@
+/* A few options here: I could give n type Int; or specify that n is of any
+ numeric type; but here I just let it go -- that way it'll work with anything
+ that compares with 1 and that printTo knows how to convert to a string. And
+ all checked at compile time, remember. */
+getRound(n) {
+ var s = String();
+ var bottle = if (n == 1) " bottle " else " bottles ";
+
+ printTo(s,
+ n, bottle, "of beer on the wall\n",
+ n, bottle, "of beer\n",
+ "take one down, pass it around\n",
+ n, bottle, "of beer on the wall!\n");
+
+ return s;
+}
+
+main() {
+ println(join("\n", mapped(getRound, reversed(range(100)))));
+}
diff --git a/Task/99-Bottles-of-Beer/ColdFusion/99-bottles-of-beer-1.cfm b/Task/99-Bottles-of-Beer/ColdFusion/99-bottles-of-beer-1.cfm
new file mode 100644
index 0000000000..20e5093535
--- /dev/null
+++ b/Task/99-Bottles-of-Beer/ColdFusion/99-bottles-of-beer-1.cfm
@@ -0,0 +1,9 @@
+
+
+
+ #x# bottle#plur# of beer on the wall
+ #x# bottle#plur# of beer
+ Take one down, pass it around
+ #iif(x is 1,DE("No more"),"x-1")# bottle#iif(x is 2,"",DE("s"))# of beer on the wall
+
+
diff --git a/Task/99-Bottles-of-Beer/ColdFusion/99-bottles-of-beer-2.cfm b/Task/99-Bottles-of-Beer/ColdFusion/99-bottles-of-beer-2.cfm
new file mode 100644
index 0000000000..bde70e7f6e
--- /dev/null
+++ b/Task/99-Bottles-of-Beer/ColdFusion/99-bottles-of-beer-2.cfm
@@ -0,0 +1,6 @@
+
+ for (x=99; x gte 1; x--) {
+ plur = iif(x==1,'',DE('s'));
+ WriteOutput("#x# bottle#plur# of beer on the wall
#x# bottle#plur# of beer
Take one down, pass it around
#iif(x is 1,DE('No more'),'x-1')# bottle#iif(x is 2,'',DE('s'))# of beer on the wall
");
+ }
+
diff --git a/Task/99-Bottles-of-Beer/Common-Lisp/99-bottles-of-beer-1.lisp b/Task/99-Bottles-of-Beer/Common-Lisp/99-bottles-of-beer-1.lisp
new file mode 100644
index 0000000000..eaed32bce3
--- /dev/null
+++ b/Task/99-Bottles-of-Beer/Common-Lisp/99-bottles-of-beer-1.lisp
@@ -0,0 +1,6 @@
+(defun bottles (x)
+ (loop for bottles from x downto 1
+ do (format t "~a bottle~:p of beer on the wall
+~:*~a bottle~:p of beer
+Take one down, pass it around
+~a bottle~:p of beer on the wall~2%" bottles (1- bottles))))
diff --git a/Task/99-Bottles-of-Beer/Common-Lisp/99-bottles-of-beer-2.lisp b/Task/99-Bottles-of-Beer/Common-Lisp/99-bottles-of-beer-2.lisp
new file mode 100644
index 0000000000..f70ed72c5d
--- /dev/null
+++ b/Task/99-Bottles-of-Beer/Common-Lisp/99-bottles-of-beer-2.lisp
@@ -0,0 +1 @@
+(bottles 99)
diff --git a/Task/99-Bottles-of-Beer/D/99-bottles-of-beer.d b/Task/99-Bottles-of-Beer/D/99-bottles-of-beer.d
new file mode 100644
index 0000000000..c2de71f714
--- /dev/null
+++ b/Task/99-Bottles-of-Beer/D/99-bottles-of-beer.d
@@ -0,0 +1,20 @@
+import std.stdio;
+
+void main() {
+ int bottles = 99;
+
+ while (bottles > 1) {
+ writeln(bottles, " bottles of beer on the wall,");
+ writeln(bottles, " bottles of beer.");
+ writeln("Take one down, pass it around,");
+ if (--bottles > 1) {
+ writeln(bottles, " bottles of beer on the wall.\n");
+ }
+ }
+ writeln("1 bottle of beer on the wall.\n");
+
+ writeln("No more bottles of beer on the wall,");
+ writeln("no more bottles of beer.");
+ writeln("Go to the store and buy some more,");
+ writeln("99 bottles of beer on the wall.");
+}
diff --git a/Task/99-Bottles-of-Beer/Dart/99-bottles-of-beer.dart b/Task/99-Bottles-of-Beer/Dart/99-bottles-of-beer.dart
new file mode 100644
index 0000000000..94684cc270
--- /dev/null
+++ b/Task/99-Bottles-of-Beer/Dart/99-bottles-of-beer.dart
@@ -0,0 +1,9 @@
+main() {
+ for(int x=99;x>0;x--) {
+ print("$x bottles of beer on the wall");
+ print("$x bottles of beer");
+ print("Take one down, pass it around");
+ print("${x-1} bottles of beer on the wall");
+ print("");
+ }
+}
diff --git a/Task/99-Bottles-of-Beer/Delphi/99-bottles-of-beer.delphi b/Task/99-Bottles-of-Beer/Delphi/99-bottles-of-beer.delphi
new file mode 100644
index 0000000000..011054cf5e
--- /dev/null
+++ b/Task/99-Bottles-of-Beer/Delphi/99-bottles-of-beer.delphi
@@ -0,0 +1,27 @@
+program Hundred_Bottles;
+
+{$APPTYPE CONSOLE}
+
+uses SysUtils;
+
+const C_1_Down = 'Take one down, pass it around' ;
+
+Var i : Integer ;
+
+// As requested, some fun : examples of Delphi basic techniques. Just to make it a bit complex
+
+procedure WriteABottle( BottleNr : Integer ) ;
+begin
+ Writeln(BottleNr, ' bottles of beer on the wall' ) ;
+end ;
+
+begin
+ for i := 99 Downto 1 do begin
+ WriteABottle(i);
+ Writeln( Format('%d bottles of beer' , [i] ) ) ;
+ Writeln( C_1_Down ) ;
+ WriteABottle(i-1);
+ Writeln ;
+End ;
+
+end.
diff --git a/Task/99-Bottles-of-Beer/E/99-bottles-of-beer.e b/Task/99-Bottles-of-Beer/E/99-bottles-of-beer.e
new file mode 100644
index 0000000000..4d19b0fdc6
--- /dev/null
+++ b/Task/99-Bottles-of-Beer/E/99-bottles-of-beer.e
@@ -0,0 +1,14 @@
+def bottles(n) {
+ return switch (n) {
+ match ==0 { "No bottles" }
+ match ==1 { "1 bottle" }
+ match _ { `$n bottles` }
+ }
+}
+for n in (1..99).descending() {
+ println(`${bottles(n)} of beer on the wall,
+${bottles(n)} of beer.
+Take one down, pass it around,
+${bottles(n.previous())} of beer on the wall.
+`)
+}
diff --git a/Task/99-Bottles-of-Beer/EGL/99-bottles-of-beer.egl b/Task/99-Bottles-of-Beer/EGL/99-bottles-of-beer.egl
new file mode 100644
index 0000000000..2e246ca3f9
--- /dev/null
+++ b/Task/99-Bottles-of-Beer/EGL/99-bottles-of-beer.egl
@@ -0,0 +1,22 @@
+program TestProgram type BasicProgram {}
+
+ function main()
+ for (count int from 99 to 1 decrement by 1)
+ SysLib.writeStdout( bottleStr( count ) :: " of beer on the wall." );
+ SysLib.writeStdout( bottleStr( count ) :: " of beer." );
+ SysLib.writeStdout( "Take one down, pass it around." );
+ SysLib.writeStdout( bottleStr( count - 1) :: " of beer on the wall.\n");
+ end
+ end
+
+ private function bottleStr( count int in) returns( string )
+ case ( count )
+ when ( 1 )
+ return( "1 bottle" );
+ when ( 0 )
+ return( "No more bottles" );
+ otherwise
+ return( count :: " bottles" );
+ end
+ end
+end
diff --git a/Task/99-Bottles-of-Beer/Ela/99-bottles-of-beer.ela b/Task/99-Bottles-of-Beer/Ela/99-bottles-of-beer.ela
new file mode 100644
index 0000000000..e3c8d06014
--- /dev/null
+++ b/Task/99-Bottles-of-Beer/Ela/99-bottles-of-beer.ela
@@ -0,0 +1,9 @@
+open list
+
+beer 1 = "1 bottle of beer on the wall\n1 bottle of beer\nTake one down, pass it around"
+beer 0 = "better go to the store and buy some more."
+beer v = show v ++ " bottles of beer on the wall\n"
+ ++ show v
+ ++" bottles of beer\nTake one down, pass it around\n"
+
+map beer [99,98..0]
diff --git a/Task/99-Bottles-of-Beer/Euphoria/99-bottles-of-beer.euphoria b/Task/99-Bottles-of-Beer/Euphoria/99-bottles-of-beer.euphoria
new file mode 100644
index 0000000000..2d227e0434
--- /dev/null
+++ b/Task/99-Bottles-of-Beer/Euphoria/99-bottles-of-beer.euphoria
@@ -0,0 +1,50 @@
+include std/console.e
+include std/search.e
+
+function one_or_it( atom n )
+ if n = 1 then
+ return "it"
+ else
+ return "one"
+ end if
+end function
+
+function numberable( atom n )
+ if n = 0 then
+ return "no"
+ else
+ return sprintf( "%d", n )
+ end if
+end function
+
+function plural( atom n )
+ if n != 1 then
+ return "s"
+ else
+ return ""
+ end if
+end function
+
+atom stillDrinking = 1
+
+sequence yn
+sequence plurality
+sequence numerality
+
+while stillDrinking do
+ for bottle = 99 to 1 by -1 do
+ plurality = plural( bottle )
+ numerality = numberable( bottle )
+ printf( 1, "%s bottle%s of beer on the wall\n%s bottle%s of beer\n",
+ { numerality, plurality, numerality, plurality } )
+ printf( 1, "Take %s down and pass it round\n", { one_or_it( bottle ) } )
+ printf( 1, "%s bottle%s of beer on the wall\n\n",
+ { numberable( bottle - 1 ), plural( bottle - 1 ) } )
+ end for
+ puts( 1, "No more bottles of beer on the wall\nNo more bottles of beer\n" )
+ puts( 1, "Go to the store and buy some more\n99 bottles of beer on the wall\n" )
+ puts( 1, "\nKeep drinking? " )
+ yn = gets(0)
+ stillDrinking = find_any( "yY", yn )
+ puts( 1, "\n" )
+end while
diff --git a/Task/A+B/C++/a+b-1.cpp b/Task/A+B/C++/a+b-1.cpp
new file mode 100644
index 0000000000..119b27f180
--- /dev/null
+++ b/Task/A+B/C++/a+b-1.cpp
@@ -0,0 +1,9 @@
+// Standard input-output streams
+#include
+using namespace std;
+void main()
+{
+ int a, b;
+ cin >> a >> b;
+ cout << a + b << endl;
+}
diff --git a/Task/A+B/C++/a+b-2.cpp b/Task/A+B/C++/a+b-2.cpp
new file mode 100644
index 0000000000..868b745d8c
--- /dev/null
+++ b/Task/A+B/C++/a+b-2.cpp
@@ -0,0 +1,13 @@
+// Input file: input.txt
+// Output file: output.txt
+#include
+using namespace std;
+int main()
+{
+ ifstream in("input.txt");
+ ofstream out("output.txt");
+ int a, b;
+ in >> a >> b;
+ out << a + b << endl;
+ return 0;
+}
diff --git a/Task/A+B/Common-Lisp/a+b.lisp b/Task/A+B/Common-Lisp/a+b.lisp
new file mode 100644
index 0000000000..df01c222c8
--- /dev/null
+++ b/Task/A+B/Common-Lisp/a+b.lisp
@@ -0,0 +1 @@
+(write (+ (read) (read)))
diff --git a/Task/A+B/D/a+b-1.d b/Task/A+B/D/a+b-1.d
new file mode 100644
index 0000000000..5f33c94449
--- /dev/null
+++ b/Task/A+B/D/a+b-1.d
@@ -0,0 +1,11 @@
+import std.stdio, std.conv, std.string;
+
+void main() {
+ string[] r;
+ try
+ r = readln().split();
+ catch (StdioException e)
+ r = ["10", "20"];
+
+ writeln(to!int(r[0]) + to!int(r[1]));
+}
diff --git a/Task/A+B/D/a+b-2.d b/Task/A+B/D/a+b-2.d
new file mode 100644
index 0000000000..734612489f
--- /dev/null
+++ b/Task/A+B/D/a+b-2.d
@@ -0,0 +1,8 @@
+import std.stdio, std.conv, std.string;
+
+void main() {
+ auto fin = File("sum_input.txt", "r");
+ auto r = fin.readln().split();
+ auto fout = File("sum_output.txt", "w");
+ fout.writeln(to!int(r[0]) + to!int(r[1]));
+}
diff --git a/Task/A+B/DMS/a+b.dms b/Task/A+B/DMS/a+b.dms
new file mode 100644
index 0000000000..b9f6516e22
--- /dev/null
+++ b/Task/A+B/DMS/a+b.dms
@@ -0,0 +1,3 @@
+number a = GetNumber( "Please input 'a'", a, a ) // prompts for 'a'
+number b = GetNumber( "Please input 'b'", b, b ) // prompts for 'b'
+Result( a + b + "\n" )
diff --git a/Task/A+B/DWScript/a+b.dwscript b/Task/A+B/DWScript/a+b.dwscript
new file mode 100644
index 0000000000..c023d07eef
--- /dev/null
+++ b/Task/A+B/DWScript/a+b.dwscript
@@ -0,0 +1,3 @@
+var a := StrToInt(InputBox('A+B', 'Enter 1st number', '0'));
+var b := StrToInt(InputBox('A+B', 'Enter 2nd number', '0'));
+ShowMessage('Sum is '+IntToStr(a+b));
diff --git a/Task/A+B/Deja-Vu/a+b.djv b/Task/A+B/Deja-Vu/a+b.djv
new file mode 100644
index 0000000000..4540b1d13b
--- /dev/null
+++ b/Task/A+B/Deja-Vu/a+b.djv
@@ -0,0 +1,4 @@
+0
+for k in split " " input:
+ + to-num k
+print
diff --git a/Task/A+B/Delphi/a+b.delphi b/Task/A+B/Delphi/a+b.delphi
new file mode 100644
index 0000000000..1686668b29
--- /dev/null
+++ b/Task/A+B/Delphi/a+b.delphi
@@ -0,0 +1,14 @@
+program SUM;
+
+{$APPTYPE CONSOLE}
+
+uses
+ SysUtils;
+
+var
+ s1, s2:string;
+begin
+ ReadLn(s1);
+ Readln(s2);
+ Writeln(StrToIntDef(s1, 0) + StrToIntDef(s2,0));
+end.
diff --git a/Task/A+B/EGL/a+b.egl b/Task/A+B/EGL/a+b.egl
new file mode 100644
index 0000000000..f8b42c0b49
--- /dev/null
+++ b/Task/A+B/EGL/a+b.egl
@@ -0,0 +1,18 @@
+package programs;
+
+// basic program
+//
+program AplusB type BasicProgram {}
+ function main()
+ try
+ arg1 string = SysLib.getCmdLineArg(1);
+ arg2 string = SysLib.getCmdLineArg(2);
+ int1 int = arg1;
+ int2 int = arg2;
+ sum int = int1 + int2;
+ SysLib.writeStdout("sum1: " + sum);
+ onException(exception AnyException)
+ SysLib.writeStdout("No valid input. Provide 2 integer numbers as arguments to the program.");
+ end
+ end
+end
diff --git a/Task/A+B/Ela/a+b.ela b/Task/A+B/Ela/a+b.ela
new file mode 100644
index 0000000000..541697631e
--- /dev/null
+++ b/Task/A+B/Ela/a+b.ela
@@ -0,0 +1,3 @@
+open console list string read
+
+readn() |> string.split " " |> map readStr |> sum
diff --git a/Task/A+B/Elena/a+b.elena b/Task/A+B/Elena/a+b.elena
new file mode 100644
index 0000000000..ee8fac7a79
--- /dev/null
+++ b/Task/A+B/Elena/a+b.elena
@@ -0,0 +1,11 @@
+#define std'basic'*.
+#define ext'io'*.
+
+#symbol Console =>
+[
+ #var anOutput := __wrap(ELineInput, 'program'input).
+ #var A := anOutput >> Integer.
+ #var B := anOutput >> Integer.
+
+ 'program'output << A + B.
+].
diff --git a/Task/A+B/Euler-Math-Toolbox/a+b.euler b/Task/A+B/Euler-Math-Toolbox/a+b.euler
new file mode 100644
index 0000000000..27c7508294
--- /dev/null
+++ b/Task/A+B/Euler-Math-Toolbox/a+b.euler
@@ -0,0 +1,7 @@
+>s=lineinput("Two numbers seperated by a blank");
+ Two numbers seperated by a blank? >4 5
+>vs=strtokens(s)
+ 4
+ 5
+>vs[1]()+vs[2]()
+ 9
diff --git a/Task/A+B/Euphoria/a+b.euphoria b/Task/A+B/Euphoria/a+b.euphoria
new file mode 100644
index 0000000000..d757131d03
--- /dev/null
+++ b/Task/A+B/Euphoria/a+b.euphoria
@@ -0,0 +1,12 @@
+include get.e
+
+function snd(sequence s)
+ return s[2]
+end function
+
+integer a,b
+
+a = snd(get(0))
+b = snd(get(0))
+
+printf(1," %d\n",a+b)
diff --git a/Task/Abstract-type/C++/abstract-type.cpp b/Task/Abstract-type/C++/abstract-type.cpp
new file mode 100644
index 0000000000..30a59e0749
--- /dev/null
+++ b/Task/Abstract-type/C++/abstract-type.cpp
@@ -0,0 +1,7 @@
+class Abs {
+public:
+ virtual int method1(double value) = 0;
+ virtual int add(int a, int b){
+ return a+b;
+ }
+};
diff --git a/Task/Abstract-type/C-sharp/abstract-type.cs b/Task/Abstract-type/C-sharp/abstract-type.cs
new file mode 100644
index 0000000000..6cfe5d83d3
--- /dev/null
+++ b/Task/Abstract-type/C-sharp/abstract-type.cs
@@ -0,0 +1,9 @@
+abstract class Class1
+{
+ public abstract void method1();
+
+ public int method2()
+ {
+ return 0;
+ }
+}
diff --git a/Task/Abstract-type/Common-Lisp/abstract-type-1.lisp b/Task/Abstract-type/Common-Lisp/abstract-type-1.lisp
new file mode 100644
index 0000000000..c9058e63ef
--- /dev/null
+++ b/Task/Abstract-type/Common-Lisp/abstract-type-1.lisp
@@ -0,0 +1,13 @@
+(defgeneric kar (kons)
+ (:documentation "Return the kar of a kons."))
+
+(defgeneric kdr (kons)
+ (:documentation "Return the kdr of a kons."))
+
+(defun konsp (object &aux (args (list object)))
+ "True if there are applicable methods for kar and kdr on object."
+ (not (or (endp (compute-applicable-methods #'kar args))
+ (endp (compute-applicable-methods #'kdr args)))))
+
+(deftype kons ()
+ '(satisfies konsp))
diff --git a/Task/Abstract-type/Common-Lisp/abstract-type-2.lisp b/Task/Abstract-type/Common-Lisp/abstract-type-2.lisp
new file mode 100644
index 0000000000..e5f2be2058
--- /dev/null
+++ b/Task/Abstract-type/Common-Lisp/abstract-type-2.lisp
@@ -0,0 +1,10 @@
+(defmethod kar ((cons cons))
+ (car cons))
+
+(defmethod kdr ((cons cons))
+ (cdr cons))
+
+(konsp (cons 1 2)) ; => t
+(typep (cons 1 2) 'kons) ; => t
+(kar (cons 1 2)) ; => 1
+(kdr (cons 1 2)) ; => 2
diff --git a/Task/Abstract-type/Common-Lisp/abstract-type-3.lisp b/Task/Abstract-type/Common-Lisp/abstract-type-3.lisp
new file mode 100644
index 0000000000..def1178366
--- /dev/null
+++ b/Task/Abstract-type/Common-Lisp/abstract-type-3.lisp
@@ -0,0 +1,11 @@
+(defmethod kar ((n integer))
+ 1)
+
+(defmethod kdr ((n integer))
+ (if (zerop n) nil
+ (1- n)))
+
+(konsp 45) ; => t
+(typep 45 'kons) ; => t
+(kar 45) ; => 1
+(kdr 45) ; => 44
diff --git a/Task/Abstract-type/D/abstract-type.d b/Task/Abstract-type/D/abstract-type.d
new file mode 100644
index 0000000000..6bf0f5ccea
--- /dev/null
+++ b/Task/Abstract-type/D/abstract-type.d
@@ -0,0 +1,27 @@
+import std.stdio;
+
+class Foo {
+ // abstract methods can have an implementation for
+ // use in super calls.
+ abstract void foo() {
+ writeln("Test");
+ }
+}
+
+interface Bar {
+ void bar();
+
+ // Final interface methods are allowed.
+ final int spam() { return 1; }
+}
+
+class Baz : Foo, Bar { // Super class must come first.
+ override void foo() {
+ writefln("Meep");
+ super.foo();
+ }
+
+ void bar() {}
+}
+
+void main() {}
diff --git a/Task/Abstract-type/Delphi/abstract-type-1.delphi b/Task/Abstract-type/Delphi/abstract-type-1.delphi
new file mode 100644
index 0000000000..bb1e1ee933
--- /dev/null
+++ b/Task/Abstract-type/Delphi/abstract-type-1.delphi
@@ -0,0 +1,3 @@
+TSomeClass = class abstract (TObject)
+ ...
+end;
diff --git a/Task/Abstract-type/Delphi/abstract-type-2.delphi b/Task/Abstract-type/Delphi/abstract-type-2.delphi
new file mode 100644
index 0000000000..fbe8266c3c
--- /dev/null
+++ b/Task/Abstract-type/Delphi/abstract-type-2.delphi
@@ -0,0 +1,13 @@
+type
+ TMyObject = class(TObject)
+ public
+ procedure AbstractFunction; virtual; abstract; // Your virtual abstract function to overwrite in descendant
+ procedure ConcreteFunction; virtual; // Concrete function calling the abstract function
+ end;
+
+implementation
+
+procedure TMyObject.ConcreteFunction;
+begin
+ AbstractFunction; // Calling the abstract function
+end;
diff --git a/Task/Abstract-type/E/abstract-type-1.e b/Task/Abstract-type/E/abstract-type-1.e
new file mode 100644
index 0000000000..70d077e4cd
--- /dev/null
+++ b/Task/Abstract-type/E/abstract-type-1.e
@@ -0,0 +1,3 @@
+interface Foo {
+ to bar(a :int, b :int)
+}
diff --git a/Task/Abstract-type/E/abstract-type-2.e b/Task/Abstract-type/E/abstract-type-2.e
new file mode 100644
index 0000000000..413b7cf8a3
--- /dev/null
+++ b/Task/Abstract-type/E/abstract-type-2.e
@@ -0,0 +1,9 @@
+interface Foo guards FooStamp {
+ to bar(a :int, b :int)
+}
+
+def x implements FooStamp {
+ to bar(a :int, b :int) {
+ return a - b
+ }
+}
diff --git a/Task/Accumulator-factory/C++/accumulator-factory-1.cpp b/Task/Accumulator-factory/C++/accumulator-factory-1.cpp
new file mode 100644
index 0000000000..9fe33e063a
--- /dev/null
+++ b/Task/Accumulator-factory/C++/accumulator-factory-1.cpp
@@ -0,0 +1,57 @@
+#include
+
+class Acc
+{
+public:
+ Acc(int init)
+ : _type(intType)
+ , _intVal(init)
+ {}
+
+ Acc(float init)
+ : _type(floatType)
+ , _floatVal(init)
+ {}
+
+ int operator()(int x)
+ {
+ if( _type == intType )
+ {
+ _intVal += x;
+ return _intVal;
+ }
+ else
+ {
+ _floatVal += x;
+ return static_cast(_floatVal);
+ }
+ }
+
+ float operator()(float x)
+ {
+ if( _type == intType )
+ {
+ _floatVal = _intVal + x;
+ _type = floatType;
+ return _floatVal;
+ }
+ else
+ {
+ _floatVal += x;
+ return _floatVal;
+ }
+ }
+private:
+ enum {floatType, intType} _type;
+ float _floatVal;
+ int _intVal;
+};
+
+int main()
+{
+ Acc a(1);
+ a(5);
+ Acc(3);
+ std::cout << a(2.3f);
+ return 0;
+}
diff --git a/Task/Accumulator-factory/C++/accumulator-factory-2.cpp b/Task/Accumulator-factory/C++/accumulator-factory-2.cpp
new file mode 100644
index 0000000000..0e930cd38a
--- /dev/null
+++ b/Task/Accumulator-factory/C++/accumulator-factory-2.cpp
@@ -0,0 +1,17 @@
+#include
+#include
+
+template
+std::function makeAccumulator(T sum) {
+ return [=](T increment) mutable {
+ return sum += increment;
+ };
+}
+
+int main() {
+ auto acc = makeAccumulator(1);
+ acc(5);
+ makeAccumulator(3);
+ std::cout << acc(2.3) << std::endl;
+ return 0;
+}
diff --git a/Task/Accumulator-factory/Clay/accumulator-factory-1.clay b/Task/Accumulator-factory/Clay/accumulator-factory-1.clay
new file mode 100644
index 0000000000..ace691ff36
--- /dev/null
+++ b/Task/Accumulator-factory/Clay/accumulator-factory-1.clay
@@ -0,0 +1,13 @@
+acc(n) {
+ return (m) => {
+ n = n + m;
+ return n;
+ };
+}
+
+main() {
+ var x = acc(1.0);
+ x(5);
+ acc(3);
+ println(x(2.3)); // Prints “8.300000000000001”.
+}
diff --git a/Task/Accumulator-factory/Clay/accumulator-factory-2.clay b/Task/Accumulator-factory/Clay/accumulator-factory-2.clay
new file mode 100644
index 0000000000..4707ae6092
--- /dev/null
+++ b/Task/Accumulator-factory/Clay/accumulator-factory-2.clay
@@ -0,0 +1,2 @@
+ var y = acc(Vector[Char]("Hello"));
+ println(y(" World!")); // Prints "Hello World!”.
diff --git a/Task/Accumulator-factory/Clay/accumulator-factory-3.clay b/Task/Accumulator-factory/Clay/accumulator-factory-3.clay
new file mode 100644
index 0000000000..13fbb39a6a
--- /dev/null
+++ b/Task/Accumulator-factory/Clay/accumulator-factory-3.clay
@@ -0,0 +1,6 @@
+[N | Numeric?(N)] acc(n: N) {
+ return (m) => {
+ n = n + m;
+ return n;
+ };
+}
diff --git a/Task/Accumulator-factory/Common-Lisp/accumulator-factory-1.lisp b/Task/Accumulator-factory/Common-Lisp/accumulator-factory-1.lisp
new file mode 100644
index 0000000000..a3762e8073
--- /dev/null
+++ b/Task/Accumulator-factory/Common-Lisp/accumulator-factory-1.lisp
@@ -0,0 +1,3 @@
+(defun accumulator (sum)
+ (lambda (n)
+ (setf sum (+ sum n))))
diff --git a/Task/Accumulator-factory/Common-Lisp/accumulator-factory-2.lisp b/Task/Accumulator-factory/Common-Lisp/accumulator-factory-2.lisp
new file mode 100644
index 0000000000..29114fc66e
--- /dev/null
+++ b/Task/Accumulator-factory/Common-Lisp/accumulator-factory-2.lisp
@@ -0,0 +1,4 @@
+(defvar x (accumulator 1))
+(funcall x 5)
+(accumulator 3)
+(funcall x 2.3)
diff --git a/Task/Accumulator-factory/D/accumulator-factory.d b/Task/Accumulator-factory/D/accumulator-factory.d
new file mode 100644
index 0000000000..19678ea3b3
--- /dev/null
+++ b/Task/Accumulator-factory/D/accumulator-factory.d
@@ -0,0 +1,11 @@
+void main() {
+ auto x = acc(1);
+ x(5);
+ acc(3);
+ writeln(x(2.3));
+}
+
+auto acc(U = real, T)(T initvalue) { // U is type of the accumulator
+ auto accum = cast(U)initvalue ;
+ return (U n) { return accum += n ; } ;
+}
diff --git a/Task/Accumulator-factory/E/accumulator-factory.e b/Task/Accumulator-factory/E/accumulator-factory.e
new file mode 100644
index 0000000000..49d7f07f16
--- /dev/null
+++ b/Task/Accumulator-factory/E/accumulator-factory.e
@@ -0,0 +1,3 @@
+def foo(var x) {
+ return fn y { x += y }
+}
diff --git a/Task/Accumulator-factory/Elena/accumulator-factory.elena b/Task/Accumulator-factory/Elena/accumulator-factory.elena
new file mode 100644
index 0000000000..926d7ad59d
--- /dev/null
+++ b/Task/Accumulator-factory/Elena/accumulator-factory.elena
@@ -0,0 +1,17 @@
+#define std'dictionary'*.
+#define std'basic'*.
+#define sys'dynamics'*.
+
+#symbol NewAccumulator : aValue =
+ #join (Variable::aValue) { eval : aValue [ $self content'set:($self + aValue). ] }.
+
+#symbol Program =
+[
+ #var x := NewAccumulator::1.
+
+ x::5.
+
+ NewAccumulator::3.
+
+ 'program'Output << x::2.3r.
+].
diff --git a/Task/Ackermann-function/C++/ackermann-function.cpp b/Task/Ackermann-function/C++/ackermann-function.cpp
new file mode 100644
index 0000000000..297e06dcd2
--- /dev/null
+++ b/Task/Ackermann-function/C++/ackermann-function.cpp
@@ -0,0 +1,18 @@
+#include
+using namespace std;
+long ackermann(long x, long y)
+{
+ if (x == 0) return y+1;
+ else if (y == 0) return ackermann(x-1, 1);
+ else return ackermann(x-1, ackermann(x, y-1));
+}
+
+int main()
+{
+ long x,y;
+ cout << "x ve y..:";
+ cin>>x;
+ cin>>y;
+ cout< 0)
+ {
+ if (n > 0)
+ return Ackermann(m - 1, Ackermann(m, n - 1));
+ else if (n == 0)
+ return Ackermann(m - 1, 1);
+ }
+ else if(m == 0)
+ {
+ if(n >= 0)
+ return n + 1;
+ }
+
+ throw new System.ArgumentOutOfRangeException();
+ }
+
+ static void Main()
+ {
+ for (long m = 0; m <= 3; ++m)
+ {
+ for (long n = 0; n <= 4; ++n)
+ {
+ Console.WriteLine("Ackermann({0}, {1}) = {2}", m, n, Ackermann(m, n));
+ }
+ }
+ }
+}
diff --git a/Task/Ackermann-function/CLIPS/ackermann-function-1.clips b/Task/Ackermann-function/CLIPS/ackermann-function-1.clips
new file mode 100644
index 0000000000..12a3383937
--- /dev/null
+++ b/Task/Ackermann-function/CLIPS/ackermann-function-1.clips
@@ -0,0 +1,10 @@
+(deffunction ackerman
+ (?m ?n)
+ (if (= 0 ?m)
+ then (+ ?n 1)
+ else (if (= 0 ?n)
+ then (ackerman (- ?m 1) 1)
+ else (ackerman (- ?m 1) (ackerman ?m (- ?n 1)))
+ )
+ )
+)
diff --git a/Task/Ackermann-function/CLIPS/ackermann-function-2.clips b/Task/Ackermann-function/CLIPS/ackermann-function-2.clips
new file mode 100644
index 0000000000..b8b6c1567a
--- /dev/null
+++ b/Task/Ackermann-function/CLIPS/ackermann-function-2.clips
@@ -0,0 +1,68 @@
+(deffacts solve-items
+ (solve 0 4)
+ (solve 1 4)
+ (solve 2 4)
+ (solve 3 4)
+)
+
+(defrule acker-m-0
+ ?compute <- (compute 0 ?n)
+ =>
+ (retract ?compute)
+ (assert (ackerman 0 ?n (+ ?n 1)))
+)
+
+(defrule acker-n-0-pre
+ (compute ?m&:(> ?m 0) 0)
+ (not (ackerman =(- ?m 1) 1 ?))
+ =>
+ (assert (compute (- ?m 1) 1))
+)
+
+(defrule acker-n-0
+ ?compute <- (compute ?m&:(> ?m 0) 0)
+ (ackerman =(- ?m 1) 1 ?val)
+ =>
+ (retract ?compute)
+ (assert (ackerman ?m 0 ?val))
+)
+
+(defrule acker-m-n-pre-1
+ (compute ?m&:(> ?m 0) ?n&:(> ?n 0))
+ (not (ackerman ?m =(- ?n 1) ?))
+ =>
+ (assert (compute ?m (- ?n 1)))
+)
+
+(defrule acker-m-n-pre-2
+ (compute ?m&:(> ?m 0) ?n&:(> ?n 0))
+ (ackerman ?m =(- ?n 1) ?newn)
+ (not (ackerman =(- ?m 1) ?newn ?))
+ =>
+ (assert (compute (- ?m 1) ?newn))
+)
+
+(defrule acker-m-n
+ ?compute <- (compute ?m&:(> ?m 0) ?n&:(> ?n 0))
+ (ackerman ?m =(- ?n 1) ?newn)
+ (ackerman =(- ?m 1) ?newn ?val)
+ =>
+ (retract ?compute)
+ (assert (ackerman ?m ?n ?val))
+)
+
+(defrule acker-solve
+ (solve ?m ?n)
+ (not (compute ?m ?n))
+ (not (ackerman ?m ?n ?))
+ =>
+ (assert (compute ?m ?n))
+)
+
+(defrule acker-solved
+ ?solve <- (solve ?m ?n)
+ (ackerman ?m ?n ?result)
+ =>
+ (retract ?solve)
+ (printout t "A(" ?m "," ?n ") = " ?result crlf)
+)
diff --git a/Task/Ackermann-function/Clay/ackermann-function.clay b/Task/Ackermann-function/Clay/ackermann-function.clay
new file mode 100644
index 0000000000..6bddfd2238
--- /dev/null
+++ b/Task/Ackermann-function/Clay/ackermann-function.clay
@@ -0,0 +1,8 @@
+ackermann(m, n) {
+ if(m == 0)
+ return n + 1;
+ if(n == 0)
+ return ackermann(m - 1, 1);
+
+ return ackermann(m - 1, ackermann(m, n - 1));
+}
diff --git a/Task/Ackermann-function/Common-Lisp/ackermann-function-1.lisp b/Task/Ackermann-function/Common-Lisp/ackermann-function-1.lisp
new file mode 100644
index 0000000000..9f93394b6f
--- /dev/null
+++ b/Task/Ackermann-function/Common-Lisp/ackermann-function-1.lisp
@@ -0,0 +1,4 @@
+(defun ackermann (m n)
+ (cond ((zerop m) (1+ n))
+ ((zerop n) (ackermann (1- m) 1))
+ (t (ackermann (1- m) (ackermann m (1- n))))))
diff --git a/Task/Ackermann-function/Common-Lisp/ackermann-function-2.lisp b/Task/Ackermann-function/Common-Lisp/ackermann-function-2.lisp
new file mode 100644
index 0000000000..1f639441cb
--- /dev/null
+++ b/Task/Ackermann-function/Common-Lisp/ackermann-function-2.lisp
@@ -0,0 +1,10 @@
+(defun ackermann (m n)
+ (case m ((0) (1+ n))
+ ((1) (+ 2 n))
+ ((2) (+ n n 3))
+ ((3) (- (expt 2 (+ 3 n)) 3))
+ (otherwise (ackermann (1- m) (if (zerop n) 1 (ackermann m (1- n)))))))
+
+(loop for m from 0 to 4 do
+ (loop for n from (- 5 m) to (- 6 m) do
+ (format t "A(~d, ~d) = ~d~%" m n (ackermann m n))))
diff --git a/Task/Ackermann-function/Coq/ackermann-function.coq b/Task/Ackermann-function/Coq/ackermann-function.coq
new file mode 100644
index 0000000000..b96929e305
--- /dev/null
+++ b/Task/Ackermann-function/Coq/ackermann-function.coq
@@ -0,0 +1,10 @@
+Require Import Arith.
+Fixpoint A m := fix A_m n :=
+ match m with
+ | 0 => n + 1
+ | S pm =>
+ match n with
+ | 0 => A pm 1
+ | S pn => A pm (A_m pn)
+ end
+ end.
diff --git a/Task/Ackermann-function/D/ackermann-function-1.d b/Task/Ackermann-function/D/ackermann-function-1.d
new file mode 100644
index 0000000000..d4171ac513
--- /dev/null
+++ b/Task/Ackermann-function/D/ackermann-function-1.d
@@ -0,0 +1,11 @@
+ulong ackermann(in ulong m, in ulong n) pure nothrow {
+ if (m == 0)
+ return n + 1;
+ if (n == 0)
+ return ackermann(m - 1, 1);
+ return ackermann(m - 1, ackermann(m, n - 1));
+}
+
+void main() {
+ assert(ackermann(2, 4) == 11);
+}
diff --git a/Task/Ackermann-function/D/ackermann-function-2.d b/Task/Ackermann-function/D/ackermann-function-2.d
new file mode 100644
index 0000000000..533dbf8a70
--- /dev/null
+++ b/Task/Ackermann-function/D/ackermann-function-2.d
@@ -0,0 +1,50 @@
+import std.stdio, std.bigint, std.conv;
+
+/*pure nothrow*/ BigInt ipow(/*in*/ BigInt base, /*in*/ BigInt exp){
+ auto result = BigInt(1);
+ //while (exp) {
+ while (exp != 0) {
+ //if (exp & 1)
+ if (exp % 2)
+ result *= base;
+ exp >>= 1;
+ base *= base;
+ }
+
+ return result;
+}
+
+/*pure nothrow*/ BigInt ackermann(in int m, in int n)
+in {
+ assert(m >= 0 && n >= 0);
+} out(result) {
+ //assert(result >= 0);
+ assert(cast()result >= 0);
+} body {
+ /*pure nothrow*/ static BigInt ack(in int m, /*in*/ BigInt n) {
+ switch (m) {
+ case 0: return n + 1;
+ case 1: return n + 2;
+ case 2: return 3 + 2 * n;
+ //case 3: return 5 + 8 * (2 ^^ n - 1);
+ case 3: return 5 + 8 * (ipow(BigInt(2), n) - 1);
+ default: if (n == 0)
+ return ack(m - 1, BigInt(1));
+ else
+ return ack(m - 1, ack(m, n - 1));
+ }
+ }
+
+ return ack(m, BigInt(n));
+}
+
+void main() {
+ foreach (m; 1 .. 4)
+ foreach (n; 1 .. 9)
+ writefln("ackermann(%d, %d): %s", m, n, ackermann(m, n));
+ writefln("ackermann(4, 1): %s", ackermann(4, 1));
+
+ auto a = text(ackermann(4, 2));
+ writefln("ackermann(4, 2)) (%d digits):\n%s...\n%s",
+ a.length, a[0 .. 94], a[$-96 .. $]);
+}
diff --git a/Task/Ackermann-function/DWScript/ackermann-function.dwscript b/Task/Ackermann-function/DWScript/ackermann-function.dwscript
new file mode 100644
index 0000000000..d31252a171
--- /dev/null
+++ b/Task/Ackermann-function/DWScript/ackermann-function.dwscript
@@ -0,0 +1,8 @@
+function Ackermann(m, n : Integer) : Integer;
+begin
+ if m = 0 then
+ Result := n+1
+ else if n = 0 then
+ Result := Ackermann(m-1, 1)
+ else Result := Ackermann(m-1, Ackermann(m, n-1));
+end;
diff --git a/Task/Ackermann-function/Dart/ackermann-function.dart b/Task/Ackermann-function/Dart/ackermann-function.dart
new file mode 100644
index 0000000000..926bcc23a2
--- /dev/null
+++ b/Task/Ackermann-function/Dart/ackermann-function.dart
@@ -0,0 +1,13 @@
+int A(int m, int n) => m==0 ? n+1 : n==0 ? A(m-1,1) : A(m-1,A(m,n-1));
+
+main() {
+ print(A(0,0));
+ print(A(1,0));
+ print(A(0,1));
+ print(A(2,2));
+ print(A(2,3));
+ print(A(3,3));
+ print(A(3,4));
+ print(A(3,5));
+ print(A(4,0));
+}
diff --git a/Task/Ackermann-function/Delphi/ackermann-function.delphi b/Task/Ackermann-function/Delphi/ackermann-function.delphi
new file mode 100644
index 0000000000..93564de56a
--- /dev/null
+++ b/Task/Ackermann-function/Delphi/ackermann-function.delphi
@@ -0,0 +1,9 @@
+function Ackermann(m,n:Int64):Int64;
+begin
+ if m = 0 then
+ Result := n + 1
+ else if n = 0 then
+ Result := Ackermann(m-1, 1)
+ else
+ Result := Ackermann(m-1, Ackermann(m, n - 1));
+end;
diff --git a/Task/Ackermann-function/E/ackermann-function.e b/Task/Ackermann-function/E/ackermann-function.e
new file mode 100644
index 0000000000..ad957460fb
--- /dev/null
+++ b/Task/Ackermann-function/E/ackermann-function.e
@@ -0,0 +1,5 @@
+def A(m, n) {
+ return if (m <=> 0) { n+1 } \
+ else if (m > 0 && n <=> 0) { A(m-1, 1) } \
+ else { A(m-1, A(m,n-1)) }
+}
diff --git a/Task/Ackermann-function/Ela/ackermann-function.ela b/Task/Ackermann-function/Ela/ackermann-function.ela
new file mode 100644
index 0000000000..bc227267b2
--- /dev/null
+++ b/Task/Ackermann-function/Ela/ackermann-function.ela
@@ -0,0 +1,3 @@
+ack 0 n = n+1
+ack m 0 = ack (m - 1) 1
+ack m n = ack (m - 1) <| ack m <| n - 1
diff --git a/Task/Ackermann-function/Elena/ackermann-function.elena b/Task/Ackermann-function/Elena/ackermann-function.elena
new file mode 100644
index 0000000000..58f6528cbb
--- /dev/null
+++ b/Task/Ackermann-function/Elena/ackermann-function.elena
@@ -0,0 +1,33 @@
+#define std'dictionary'*.
+#define std'patterns'*.
+
+#subject m, n.
+
+// --- Ackermann function ---
+
+#symbol Ackermann &m:anM &n:anN =
+[
+ #if anM
+ ifequal:0 [ ^ anN + 1. ]
+ | greater:0 ?
+ [
+ #if anN
+ ifequal:0 [ ^ Ackermann &&m:(anM - 1) &n:1. ]
+ | greater:0 ? [ ^ Ackermann &&m:(anM - 1) &n:(Ackermann &&m:anM &n:(anN - 1)). ].
+ ].
+
+ control fail.
+].
+
+#symbol Program =
+[
+ loop &&from:0 &to:3 run: anM =
+ [
+ loop &&from:0 &to:5 run: anN =
+ [
+ 'program'output << "A(" << anM << "," << anN << ")=" << (Ackermann &&m:anM &n:anN) << "%n".
+ ].
+ ].
+
+ 'program'Input get.
+].
diff --git a/Task/Ackermann-function/Euler-Math-Toolbox/ackermann-function.euler b/Task/Ackermann-function/Euler-Math-Toolbox/ackermann-function.euler
new file mode 100644
index 0000000000..685208b77d
--- /dev/null
+++ b/Task/Ackermann-function/Euler-Math-Toolbox/ackermann-function.euler
@@ -0,0 +1,16 @@
+>M=zeros(1000,1000);
+>function map A(m,n) ...
+$ global M;
+$ if m==0 then return n+1; endif;
+$ if n==0 then return A(m-1,1); endif;
+$ if m<=cols(M) and n<=cols(M) then
+$ M[m,n]=A(m-1,A(m,n-1));
+$ return M[m,n];
+$ else return A(m-1,A(m,n-1));
+$ endif;
+$endfunction
+>shortestformat; A((0:3)',0:5)
+ 1 2 3 4 5 6
+ 2 3 4 5 6 7
+ 3 5 7 9 11 13
+ 5 13 29 61 125 253
diff --git a/Task/Ackermann-function/Euphoria/ackermann-function.euphoria b/Task/Ackermann-function/Euphoria/ackermann-function.euphoria
new file mode 100644
index 0000000000..cd4d6a4745
--- /dev/null
+++ b/Task/Ackermann-function/Euphoria/ackermann-function.euphoria
@@ -0,0 +1,16 @@
+function ack(atom m, atom n)
+ if m = 0 then
+ return n + 1
+ elsif m > 0 and n = 0 then
+ return ack(m - 1, 1)
+ else
+ return ack(m - 1, ack(m, n - 1))
+ end if
+end function
+
+for i = 0 to 3 do
+ for j = 0 to 6 do
+ printf( 1, "%5d", ack( i, j ) )
+ end for
+ puts( 1, "\n" )
+end for
diff --git a/Task/Active-object/E/active-object.e b/Task/Active-object/E/active-object.e
new file mode 100644
index 0000000000..7fad3cf284
--- /dev/null
+++ b/Task/Active-object/E/active-object.e
@@ -0,0 +1,51 @@
+def makeIntegrator() {
+ var value := 0.0
+ var input := fn { 0.0 }
+
+ var input1 := input()
+ var t1 := timer.now()
+
+ def update() {
+ def t2 := timer.now()
+ def input2 :float64 := input()
+ def dt := (t2 - t1) / 1000
+
+ value += (input1 + input2) * dt / 2
+
+ t1 := t2
+ input1 := input2
+ }
+
+ var task() {
+ update <- ()
+ task <- ()
+ }
+ task()
+
+ def integrator {
+ to input(new) :void { input := new }
+ to output() :float64 { return value }
+ to shutdown() { task := fn {} }
+ }
+ return integrator
+}
+
+def test() {
+ def result
+
+ def pi := (-1.0).acos()
+ def freq := pi / 1000
+
+ def base := timer.now()
+ def i := makeIntegrator()
+
+ i.input(fn { (freq * timer.now()).sin() })
+ timer.whenPast(base + 2000, fn {
+ i.input(fn {0})
+ })
+ timer.whenPast(base + 2500, fn {
+ bind result := i.output()
+ i.shutdown()
+ })
+ return result
+}
diff --git a/Task/Add-a-variable-to-a-class-instance-at-runtime/Common-Lisp/add-a-variable-to-a-class-instance-at-runtime-1.lisp b/Task/Add-a-variable-to-a-class-instance-at-runtime/Common-Lisp/add-a-variable-to-a-class-instance-at-runtime-1.lisp
new file mode 100644
index 0000000000..a5d1c74608
--- /dev/null
+++ b/Task/Add-a-variable-to-a-class-instance-at-runtime/Common-Lisp/add-a-variable-to-a-class-instance-at-runtime-1.lisp
@@ -0,0 +1,5 @@
+(defun augment-instance-with-slots (instance slots)
+ (change-class instance
+ (make-instance 'standard-class
+ :direct-superclasses (list (class-of instance))
+ :direct-slots slots)))
diff --git a/Task/Add-a-variable-to-a-class-instance-at-runtime/Common-Lisp/add-a-variable-to-a-class-instance-at-runtime-2.lisp b/Task/Add-a-variable-to-a-class-instance-at-runtime/Common-Lisp/add-a-variable-to-a-class-instance-at-runtime-2.lisp
new file mode 100644
index 0000000000..0f54bac71c
--- /dev/null
+++ b/Task/Add-a-variable-to-a-class-instance-at-runtime/Common-Lisp/add-a-variable-to-a-class-instance-at-runtime-2.lisp
@@ -0,0 +1,12 @@
+CL-USER> (let* ((instance (make-instance 'foo :bar 42 :baz 69))
+ (new-slots '((:name xenu :initargs (:xenu)))))
+ (augment-instance-with-slots instance new-slots)
+ (reinitialize-instance instance :xenu 666)
+ (describe instance))
+#<# {1003AEE271}>
+ [standard-object]
+
+Slots with :INSTANCE allocation:
+ BAR = 42
+ BAZ = 69
+ XENU = 666
diff --git a/Task/Add-a-variable-to-a-class-instance-at-runtime/D/add-a-variable-to-a-class-instance-at-runtime-1.d b/Task/Add-a-variable-to-a-class-instance-at-runtime/D/add-a-variable-to-a-class-instance-at-runtime-1.d
new file mode 100644
index 0000000000..da09b56074
--- /dev/null
+++ b/Task/Add-a-variable-to-a-class-instance-at-runtime/D/add-a-variable-to-a-class-instance-at-runtime-1.d
@@ -0,0 +1,31 @@
+struct Dynamic(T) {
+ private T[string] vars;
+
+ @property T opDispatch(string key)() pure nothrow {
+ return vars[key];
+ }
+
+ @property void opDispatch(string key, U)(U value)/*pure*/ nothrow {
+ vars[key] = value;
+ }
+}
+
+void main() {
+ import std.variant, std.stdio;
+
+ // If the type of the attributes is known at compile-time:
+ auto d1 = Dynamic!double();
+ d1.first = 10.5;
+ d1.second = 20.2;
+ writeln(d1.first, " ", d1.second);
+
+
+ // If the type of the attributes is mixed:
+ auto d2 = Dynamic!Variant();
+ d2.a = "Hello";
+ d2.b = 11;
+ d2.c = ['x':2, 'y':4];
+ d2.d = (int x) => x ^^ 3;
+ writeln(d2.a, " ", d2.b, " ", d2.c);
+ immutable int x = d2.b.get!int;
+}
diff --git a/Task/Add-a-variable-to-a-class-instance-at-runtime/D/add-a-variable-to-a-class-instance-at-runtime-2.d b/Task/Add-a-variable-to-a-class-instance-at-runtime/D/add-a-variable-to-a-class-instance-at-runtime-2.d
new file mode 100644
index 0000000000..033f40d1cb
--- /dev/null
+++ b/Task/Add-a-variable-to-a-class-instance-at-runtime/D/add-a-variable-to-a-class-instance-at-runtime-2.d
@@ -0,0 +1,13 @@
+import std.stdio, std.variant, std.conv;
+
+struct Dyn {
+ Variant[string] data;
+ alias data this;
+}
+
+void main(string[] args) {
+ Dyn d;
+ const attribute_name = text("attribute_", args.length);
+ d[attribute_name] = "something";
+ writeln(d[attribute_name]);
+}
diff --git a/Task/Add-a-variable-to-a-class-instance-at-runtime/Elena/add-a-variable-to-a-class-instance-at-runtime.elena b/Task/Add-a-variable-to-a-class-instance-at-runtime/Elena/add-a-variable-to-a-class-instance-at-runtime.elena
new file mode 100644
index 0000000000..d1d5e0369b
--- /dev/null
+++ b/Task/Add-a-variable-to-a-class-instance-at-runtime/Elena/add-a-variable-to-a-class-instance-at-runtime.elena
@@ -0,0 +1,27 @@
+#subject foo.
+
+#class FieldContainer
+{
+ #field theValue.
+
+ #method foo'set : anObject
+ [
+ theValue := anObject.
+ ]
+
+ #method foo'get = theValue.
+}
+
+#symbol Program =
+[
+ #var anObject := 234.
+
+ // adding a field
+ anObject := anObject &= FieldContainer.
+
+ anObject foo'set:"bar".
+
+ 'program'Output << anObject << ".foo=" << anObject foo.
+
+ 'program'input get.
+].
diff --git a/Task/Address-of-a-variable/C-sharp/address-of-a-variable.cs b/Task/Address-of-a-variable/C-sharp/address-of-a-variable.cs
new file mode 100644
index 0000000000..f54c793679
--- /dev/null
+++ b/Task/Address-of-a-variable/C-sharp/address-of-a-variable.cs
@@ -0,0 +1,5 @@
+unsafe
+{
+ int i = 5;
+ void* address_of_i = &i;
+}
diff --git a/Task/Address-of-a-variable/COBOL/address-of-a-variable-1.cobol b/Task/Address-of-a-variable/COBOL/address-of-a-variable-1.cobol
new file mode 100644
index 0000000000..b4657bd3ec
--- /dev/null
+++ b/Task/Address-of-a-variable/COBOL/address-of-a-variable-1.cobol
@@ -0,0 +1,7 @@
+data division.
+working-storage section.
+01 ptr usage pointer.
+01 var pic x(64).
+
+procedure division.
+set ptr to address of var.
diff --git a/Task/Address-of-a-variable/COBOL/address-of-a-variable-2.cobol b/Task/Address-of-a-variable/COBOL/address-of-a-variable-2.cobol
new file mode 100644
index 0000000000..932d23a87e
--- /dev/null
+++ b/Task/Address-of-a-variable/COBOL/address-of-a-variable-2.cobol
@@ -0,0 +1,12 @@
+OCOBOL*> Rosetta Code set address example
+ *> tectonics: cobc -x setaddr.cob && ./setaddr
+ program-id. setaddr.
+ data division.
+ working-storage section.
+ 01 prealloc pic x(8) value 'somedata'.
+ 01 var pic x(8) based.
+ procedure division.
+ set address of var to address of prealloc
+ display var end-display
+ goback.
+ end program setaddr.
diff --git a/Task/Address-of-a-variable/Common-Lisp/address-of-a-variable-1.lisp b/Task/Address-of-a-variable/Common-Lisp/address-of-a-variable-1.lisp
new file mode 100644
index 0000000000..3b27d9997e
--- /dev/null
+++ b/Task/Address-of-a-variable/Common-Lisp/address-of-a-variable-1.lisp
@@ -0,0 +1,16 @@
+;;; Demonstration of references by swapping two variables using a function rather than a macro
+;;; Needs http://paste.lisp.org/display/71952
+(defun swap (ref-left ref-right)
+ ;; without with-refs we would have to write this:
+ ;; (psetf (deref ref-left) (deref ref-right)
+ ;; (deref ref-right) (deref ref-left))
+ (with-refs ((l ref-left) (r ref-right))
+ (psetf l r r l)))
+
+(defvar *x* 42)
+(defvar *y* 0)
+
+(swap (ref *x*) (ref *y*))
+
+;; *y* -> 42
+;; *x* -> 0
diff --git a/Task/Address-of-a-variable/Common-Lisp/address-of-a-variable-2.lisp b/Task/Address-of-a-variable/Common-Lisp/address-of-a-variable-2.lisp
new file mode 100644
index 0000000000..0fb72fcbc8
--- /dev/null
+++ b/Task/Address-of-a-variable/Common-Lisp/address-of-a-variable-2.lisp
@@ -0,0 +1,27 @@
+(use-package :ffi)
+
+(defmacro def-libc-call-out (name &rest args)
+ `(def-call-out ,name
+ (:language :stdc)
+ #-cygwin(:library "libc.so.6")
+ #+cygwin (:library "cygwin1.dll")
+ ,@args))
+
+(progn
+ (def-libc-call-out errno-location
+ #-cygwin (:name "__errno_location")
+ #+cygwin (:name "__errno")
+ (:arguments)
+ (:return-type (c-pointer int)))
+
+ (defun get-errno ()
+ (let ((loc (errno-location)))
+ (foreign-value loc)))
+
+ (defun set-errno (value)
+ (let ((loc (errno-location)))
+ (setf (foreign-value loc) value)))
+
+ (defsetf get-errno set-errno)
+
+ (define-symbol-macro errno (get-errno)))
diff --git a/Task/Address-of-a-variable/D/address-of-a-variable-1.d b/Task/Address-of-a-variable/D/address-of-a-variable-1.d
new file mode 100644
index 0000000000..61e45a7e79
--- /dev/null
+++ b/Task/Address-of-a-variable/D/address-of-a-variable-1.d
@@ -0,0 +1,2 @@
+int i;
+int* ip = &i;
diff --git a/Task/Address-of-a-variable/D/address-of-a-variable-2.d b/Task/Address-of-a-variable/D/address-of-a-variable-2.d
new file mode 100644
index 0000000000..daa520b344
--- /dev/null
+++ b/Task/Address-of-a-variable/D/address-of-a-variable-2.d
@@ -0,0 +1 @@
+int* ip = cast(int*)0xdeadf00d;
diff --git a/Task/Address-of-a-variable/D/address-of-a-variable-3.d b/Task/Address-of-a-variable/D/address-of-a-variable-3.d
new file mode 100644
index 0000000000..65c2a04524
--- /dev/null
+++ b/Task/Address-of-a-variable/D/address-of-a-variable-3.d
@@ -0,0 +1,7 @@
+void test(ref int i) {
+ writefln(&i);
+}
+
+void main() {
+ test(* (cast(int*)0xdeadf00d) );
+}
diff --git a/Task/Align-columns/C-sharp/align-columns.cs b/Task/Align-columns/C-sharp/align-columns.cs
new file mode 100644
index 0000000000..0a5f4dd4bd
--- /dev/null
+++ b/Task/Align-columns/C-sharp/align-columns.cs
@@ -0,0 +1,74 @@
+using System;
+class ColumnAlignerProgram
+{
+ delegate string Justification(string s, int width);
+
+ static string[] AlignColumns(string[] lines, Justification justification)
+ {
+ const char Separator = '$';
+ // build input table and calculate columns count
+ string[][] table = new string[lines.Length][];
+ int columns = 0;
+ for (int i = 0; i < lines.Length; i++)
+ {
+ string[] row = lines[i].TrimEnd(Separator).Split(Separator);
+ if (columns < row.Length) columns = row.Length;
+ table[i] = row;
+ }
+ // create formatted table
+ string[][] formattedTable = new string[table.Length][];
+ for (int i = 0; i < formattedTable.Length; i++)
+ {
+ formattedTable[i] = new string[columns];
+ }
+ for (int j = 0; j < columns; j++)
+ {
+ // get max column width
+ int columnWidth = 0;
+ for (int i = 0; i < table.Length; i++)
+ {
+ if (j < table[i].Length && columnWidth < table[i][j].Length)
+ columnWidth = table[i][j].Length;
+ }
+ // justify column cells
+ for (int i = 0; i < formattedTable.Length; i++)
+ {
+ if (j < table[i].Length)
+ formattedTable[i][j] = justification(table[i][j], columnWidth);
+ else
+ formattedTable[i][j] = new String(' ', columnWidth);
+ }
+ }
+ // create result
+ string[] result = new string[formattedTable.Length];
+ for (int i = 0; i < result.Length; i++)
+ {
+ result[i] = String.Join(" ", formattedTable[i]);
+ }
+ return result;
+ }
+
+ static string JustifyLeft(string s, int width) { return s.PadRight(width); }
+ static string JustifyRight(string s, int width) { return s.PadLeft(width); }
+ static string JustifyCenter(string s, int width)
+ {
+ return s.PadLeft((width + s.Length) / 2).PadRight(width);
+ }
+
+ static void Main()
+ {
+ string[] input = {
+ "Given$a$text$file$of$many$lines,$where$fields$within$a$line$",
+ "are$delineated$by$a$single$'dollar'$character,$write$a$program",
+ "that$aligns$each$column$of$fields$by$ensuring$that$words$in$each$",
+ "column$are$separated$by$at$least$one$space.",
+ "Further,$allow$for$each$word$in$a$column$to$be$either$left$",
+ "justified,$right$justified,$or$center$justified$within$its$column.",
+ };
+
+ foreach (string line in AlignColumns(input, JustifyCenter))
+ {
+ Console.WriteLine(line);
+ }
+ }
+}
diff --git a/Task/Align-columns/Common-Lisp/align-columns.lisp b/Task/Align-columns/Common-Lisp/align-columns.lisp
new file mode 100644
index 0000000000..2659e5b57f
--- /dev/null
+++ b/Task/Align-columns/Common-Lisp/align-columns.lisp
@@ -0,0 +1,48 @@
+(defun nonempty (seq)
+ (position-if (lambda (x) (declare (ignore x)) t) seq))
+
+(defun split (delim seq)
+ "Splits seq on delim into a list of subsequences. Trailing empty
+subsequences are removed."
+ (labels
+ ((f (seq &aux (pos (position delim seq)))
+ (if pos
+ (cons
+ (subseq seq 0 pos)
+ (f (subseq seq (1+ pos))))
+ (list seq))))
+ (let* ((list (f seq))
+ (end (position-if #'nonempty list :from-end t)))
+ (subseq list 0 (1+ end)))))
+
+(defun lengthen (list minlen filler-elem &aux (len (length list)))
+ "Destructively pads list with filler-elem up to minlen."
+ (if (< len minlen)
+ (nconc list (make-list (- minlen len) :initial-element filler-elem))
+ list))
+
+(defun align-columns (text
+ &key (align :left)
+ &aux
+ (fmtmod (case align
+ (:left "@")
+ (:right ":")
+ (:center "@:")
+ (t (error "Invalid alignment."))))
+ (fields (mapcar (lambda (line) (split #\$ line))
+ (split #\Newline text)))
+ (mostcols (loop for l in fields
+ maximize (length l)))
+ widest)
+ (setf fields (mapcar (lambda (l) (lengthen l mostcols ""))
+ fields))
+ (setf widest (loop for col below (length (first fields))
+ collect (loop for row in fields
+ maximize (length (elt row col)))))
+ (format nil
+ (with-output-to-string (s)
+ (princ "~{~{" s)
+ (dolist (w widest)
+ (format s "~~~d~a<~~a~~>" (1+ w) fmtmod))
+ (princ "~}~%~}" s))
+ fields))
diff --git a/Task/Align-columns/D/align-columns.d b/Task/Align-columns/D/align-columns.d
new file mode 100644
index 0000000000..51f6103d21
--- /dev/null
+++ b/Task/Align-columns/D/align-columns.d
@@ -0,0 +1,23 @@
+import std.stdio, std.string, std.algorithm, std.range;
+
+void main() {
+ auto data =
+"Given$a$txt$file$of$many$lines,$where$fields$within$a$line$
+are$delineated$by$a$single$'dollar'$character,$write$a$program
+that$aligns$each$column$of$fields$by$ensuring$that$words$in$each$
+column$are$separated$by$at$least$one$space.
+Further,$allow$for$each$word$in$a$column$to$be$either$left$
+justified,$right$justified,$or$center$justified$within$its$column."
+ .splitLines.map!q{ a.chomp("$").split("$") };
+
+ int[int] maxWidths;
+ foreach (line; data)
+ foreach (i, word; line)
+ maxWidths[i] = max(maxWidths.get(i, 0), word.length);
+
+ foreach (just; [&leftJustify!string, ¢er!string,
+ &rightJustify!string])
+ foreach (line; data)
+ writefln("%-(%s %)", iota(line.length)
+ .map!(i => just(line[i], maxWidths[i], ' ')));
+}
diff --git a/Task/Align-columns/Delphi/align-columns.delphi b/Task/Align-columns/Delphi/align-columns.delphi
new file mode 100644
index 0000000000..ce8bedf869
--- /dev/null
+++ b/Task/Align-columns/Delphi/align-columns.delphi
@@ -0,0 +1,56 @@
+USES
+ StdCtrls, Classes, SysUtils, StrUtils, Contnrs;
+
+procedure AlignByColumn(Output: TMemo; Align: TAlignment);
+const
+ TextToAlign =
+ 'Given$a$text$file$of$many$lines,$where$fields$within$a$line$'#$D#$A +
+ 'are$delineated$by$a$single$''dollar''$character,$write$a$program'#$D#$A +
+ 'that$aligns$each$column$of$fields$by$ensuring$that$words$in$each$'#$D#$A +
+ 'column$are$separated$by$at$least$one$space.'#$D#$A +
+ 'Further,$allow$for$each$word$in$a$column$to$be$either$left$'#$D#$A +
+ 'justified,$right$justified,$or$center$justified$within$its$column.';
+var
+ TextLine, TempTString: TStringlist;
+ TextLines: TObjectList;
+ MaxLength, i, j: Byte;
+ OutPutString, EmptyString, Item: String;
+begin
+ TRY
+ MaxLength := 0;
+ TextLines := TObjectList.Create(True);
+ TextLine := TStringList.Create;
+ TextLine.text := TextToAlign;
+ for i:= 0 to TextLine.Count - 1 do
+ begin
+ TempTString := TStringlist.create;
+ TempTString.text :=AnsiReplaceStr(TextLine[i], '$', #$D#$A);
+ TextLines.Add(TempTString);
+ end;
+ for i := 0 to TextLines.Count - 1 do
+ for j := 0 to TStringList(TextLines.Items[i]).Count - 1 do
+ If Length(TStringList(TextLines.Items[i])[j]) > MaxLength then
+ MaxLength := Length(TStringList(TextLines.Items[i])[j]);
+ If MaxLength > 0 then
+ MaxLength := MaxLength + 2; // Add to empty spaces to it
+ for i := 0 to TextLines.Count - 1 do
+ begin
+ OutPutString := '';
+ for j := 0 to TStringList(TextLines.Items[i]).Count - 1 do
+ begin
+ EmptyString := StringOfChar(' ', MaxLength);
+ Item := TStringList(TextLines.Items[i])[j];
+ case Align of
+ taLeftJustify: Move(Item[1], EmptyString[2], Length(Item));
+ taRightJustify: Move(Item[1], EmptyString[MaxLength - Length(Item) + 1], Length(Item));
+ taCenter: Move(Item[1], EmptyString[(MaxLength - Length(Item) + 1) div 2 + 1], Length(Item));
+ end;
+ OutPutString := OutPutString + EmptyString;
+ end;
+ Output.Lines.Add(OutPutString);
+ end;
+ FINALLY
+ FreeAndNil(TextLine);
+ FreeAndNil(TextLines);
+ END;
+end;
diff --git a/Task/Align-columns/E/align-columns-1.e b/Task/Align-columns/E/align-columns-1.e
new file mode 100644
index 0000000000..2f83961d82
--- /dev/null
+++ b/Task/Align-columns/E/align-columns-1.e
@@ -0,0 +1,29 @@
+pragma.enable("accumulator")
+
+def left(width, word) {
+ return word + " " * (width - word.size())
+}
+
+def center(width, word) {
+ def leftCount := (width - word.size()) // 2
+ return " " * leftCount + word + " " * (width - word.size() - leftCount)
+}
+
+def right(width, word) {
+ return " " * (width - word.size()) + word
+}
+
+def alignColumns(align, text) {
+ def split := accum [] for line in text.split("\n") { _.with(line.split("$")) }
+ var widths := []
+ for line in split {
+ for i => word in line {
+ widths with= (i, widths.fetch(i, fn{0}).max(word.size()))
+ }
+ }
+ return accum "" for line in split {
+ _ + accum "" for i => word in line {
+ _ + align(widths[i] + 1, word)
+ } + "\n"
+ }
+}
diff --git a/Task/Align-columns/E/align-columns-2.e b/Task/Align-columns/E/align-columns-2.e
new file mode 100644
index 0000000000..4aa82760aa
--- /dev/null
+++ b/Task/Align-columns/E/align-columns-2.e
@@ -0,0 +1,30 @@
+? def text := "Given$a$text$file$of$many$lines,$where$fields$within$a$line$
+are$delineated$by$a$single$'dollar'$character,$write$a$program
+that$aligns$each$column$of$fields$by$ensuring$that$words$in$each$
+column$are$separated$by$at$least$one$space.
+Further,$allow$for$each$word$in$a$column$to$be$either$left$
+justified,$right$justified,$or$center$justified$within$its$column."; null
+
+? println(alignColumns(left, text))
+Given a text file of many lines, where fields within a line
+are delineated by a single 'dollar' character, write a program
+that aligns each column of fields by ensuring that words in each
+column are separated by at least one space.
+Further, allow for each word in a column to be either left
+justified, right justified, or center justified within its column.
+
+? println(alignColumns(center, text))
+ Given a text file of many lines, where fields within a line
+ are delineated by a single 'dollar' character, write a program
+ that aligns each column of fields by ensuring that words in each
+ column are separated by at least one space.
+ Further, allow for each word in a column to be either left
+justified, right justified, or center justified within its column.
+
+? println(alignColumns(right, text))
+ Given a text file of many lines, where fields within a line
+ are delineated by a single 'dollar' character, write a program
+ that aligns each column of fields by ensuring that words in each
+ column are separated by at least one space.
+ Further, allow for each word in a column to be either left
+ justified, right justified, or center justified within its column.
diff --git a/Task/Align-columns/Euphoria/align-columns.euphoria b/Task/Align-columns/Euphoria/align-columns.euphoria
new file mode 100644
index 0000000000..6e031deaf3
--- /dev/null
+++ b/Task/Align-columns/Euphoria/align-columns.euphoria
@@ -0,0 +1,61 @@
+constant data = {
+ "Given$a$text$file$of$many$lines,$where$fields$within$a$line$",
+ "are$delineated$by$a$single$'dollar'$character,$write$a$program",
+ "that$aligns$each$column$of$fields$by$ensuring$that$words$in$each$",
+ "column$are$separated$by$at$least$one$space.",
+ "Further,$allow$for$each$word$in$a$column$to$be$either$left$",
+ "justified,$right$justified,$or$center$justified$within$its$column."
+}
+
+function split(sequence s, integer c)
+ sequence out
+ integer first, delim
+ out = {}
+ first = 1
+ while first<=length(s) do
+ delim = find_from(c,s,first)
+ if delim = 0 then
+ delim = length(s)+1
+ end if
+ out = append(out,s[first..delim-1])
+ first = delim + 1
+ end while
+ return out
+end function
+
+function align(sequence s, integer width, integer alignment)
+ integer n
+ n = width - length(s)
+ if n <= 0 then
+ return s
+ elsif alignment < 0 then
+ return s & repeat(' ', n)
+ elsif alignment > 0 then
+ return repeat(' ', n) & s
+ else
+ return repeat(' ', floor(n/2)) & s & repeat(' ', floor(n/2+0.5))
+ end if
+end function
+
+integer maxlen
+sequence lines
+maxlen = 0
+lines = repeat(0,length(data))
+for i = 1 to length(data) do
+ lines[i] = split(data[i],'$')
+ for j = 1 to length(lines[i]) do
+ if length(lines[i][j]) > maxlen then
+ maxlen = length(lines[i][j])
+ end if
+ end for
+end for
+
+for a = -1 to 1 do
+ for i = 1 to length(lines) do
+ for j = 1 to length(lines[i]) do
+ puts(1, align(lines[i][j],maxlen,a) & ' ')
+ end for
+ puts(1,'\n')
+ end for
+ puts(1,'\n')
+end for
diff --git a/Task/Anagrams-Deranged-anagrams/Common-Lisp/anagrams-deranged-anagrams.lisp b/Task/Anagrams-Deranged-anagrams/Common-Lisp/anagrams-deranged-anagrams.lisp
new file mode 100644
index 0000000000..b139bf3c03
--- /dev/null
+++ b/Task/Anagrams-Deranged-anagrams/Common-Lisp/anagrams-deranged-anagrams.lisp
@@ -0,0 +1,20 @@
+(defun read-words (file)
+ (with-open-file (stream file)
+ (loop with w = "" while w collect (setf w (read-line stream nil)))))
+
+(defun deranged (a b)
+ (loop for ac across a for bc across b always (char/= ac bc)))
+
+(defun longest-deranged (file)
+ (let ((h (make-hash-table :test #'equal))
+ (wordlist (sort (read-words file)
+ #'(lambda (x y) (> (length x) (length y))))))
+ (loop for w in wordlist do
+ (let* ((ws (sort (copy-seq w) #'char<))
+ (l (gethash ws h)))
+ (loop for w1 in l do
+ (if (deranged w w1)
+ (return-from longest-deranged (list w w1))))
+ (setf (gethash ws h) (cons w l))))))
+
+(format t "~{~A~%~^~}" (longest-deranged "unixdict.txt"))
diff --git a/Task/Anagrams-Deranged-anagrams/D/anagrams-deranged-anagrams.d b/Task/Anagrams-Deranged-anagrams/D/anagrams-deranged-anagrams.d
new file mode 100644
index 0000000000..778ab9f358
--- /dev/null
+++ b/Task/Anagrams-Deranged-anagrams/D/anagrams-deranged-anagrams.d
@@ -0,0 +1,28 @@
+import std.stdio, std.file, std.string, std.algorithm,
+ std.typecons, std.range;
+
+auto findDeranged(in string[] words) /*pure nothrow*/ {
+ Tuple!(string, string)[] result;
+ foreach (immutable i, const w1; words)
+ foreach (const w2; words[i + 1 .. $])
+ if (zip(w1, w2).all!q{ a[0] != a[1] }())
+ result ~= tuple(w1, w2);
+ return result;
+}
+
+void main() {
+ Appender!(string[])[30] wClasses;
+ foreach (word; std.algorithm.splitter(readText("unixdict.txt")))
+ wClasses[$ - word.length] ~= word;
+ auto r = wClasses[].map!q{ a.data }().filter!q{ a.length }();
+ writeln("Longest deranged anagrams:");
+ foreach (words; r) {
+ string[][const ubyte[]] anags; // Assume input is ASCII.
+ foreach (w; words)
+ anags[(cast(ubyte[])w).sort().release().idup] ~= w.idup;
+ auto pairs = anags.byValue.filter!q{ a.length > 1 }()
+ .map!findDeranged().filter!q{ a.length }();
+ if (!pairs.empty)
+ return writefln(" %s, %s", pairs.front[0].tupleof);
+ }
+}
diff --git a/Task/Anagrams/C++/anagrams.cpp b/Task/Anagrams/C++/anagrams.cpp
new file mode 100644
index 0000000000..cd561c54da
--- /dev/null
+++ b/Task/Anagrams/C++/anagrams.cpp
@@ -0,0 +1,35 @@
+#include
+#include
+#include
+#include