BEGIN { ... } block.
+Each AWK program consists of pattern-action statements.
+The program reads each input line, checks lines against patterns, and runs matching actions.
+For programs that never read input lines, the entire program can be one BEGIN { ... } block.
* ''List users who have /bin/ksh as a shell.''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.
+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 cmake .. configures the project.
+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
diff --git a/Lang/COBOL/Create-a-file-on-magnetic-tape b/Lang/COBOL/Create-a-file-on-magnetic-tape
new file mode 120000
index 0000000000..0c6e415f67
--- /dev/null
+++ b/Lang/COBOL/Create-a-file-on-magnetic-tape
@@ -0,0 +1 @@
+../../Task/Create-a-file-on-magnetic-tape/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Range-expansion b/Lang/COBOL/Range-expansion
new file mode 120000
index 0000000000..95ec12438e
--- /dev/null
+++ b/Lang/COBOL/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/COBOL
\ No newline at end of file
diff --git a/Lang/Chapel/Numerical-integration b/Lang/Chapel/Numerical-integration
new file mode 120000
index 0000000000..37ce3b320d
--- /dev/null
+++ b/Lang/Chapel/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/Chapel
\ No newline at end of file
diff --git a/Lang/Chef/00DESCRIPTION b/Lang/Chef/00DESCRIPTION
index f4c7e4698d..c406e0df18 100644
--- a/Lang/Chef/00DESCRIPTION
+++ b/Lang/Chef/00DESCRIPTION
@@ -1,6 +1,13 @@
-{{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.
+{{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.. NSArray, NSDictionary, NSNumber, and NSString, as well as subscript syntax to access elements of NSArray and NSDictionary.
Unless otherwise stated, Objective-C code samples will assume that they are compiled with ARC enabled, and that the compiler supports Objective-C literals and Blocks.
+
+For details of how to compile and run examples of Rosetta Code tasks written in Objective C under Linux or Windows see [http://www.gnu.org/software/gnustep/ GNUstep]
pari.
-Finally, gp can be used online through [http://www.compileonline.com/execute_pari_online.php compile online] or the [https://cloud.sagemath.com/ SageMath cloud].
+Finally, gp can be used online through [http://www.compileonline.com/execute_pari_online.php compile online] or the [https://cloud.sagemath.com/ SageMath cloud] (see [http://youtu.be/CzB6T7Nvc-s How to use PARI/GP in the SageMathCloud]).
== Coding with PARI ==
The most common way to use PARI is through the gp calculator, using its own scripting language, GP. But there are other interfaces to PARI beside gp:
* [http://math.univ-lille1.fr/~ramare/ServeurPerso/GP-PARI/ PariEmacs]
* [http://go.helms-net.de/sw/paritty/pari_tty_einf_en.html Pari-tty]
* [http://www.skalatan.de/pariguide/ pariGUIde]
+* [https://github.com/baruchel/vim-notebook vim-notebook]
If you want to write a program rather than script a calculator, many languages are supported:
* [[C]]: PARI is written in C, so it's very easy to either write your own programs or extend gp using C.
@@ -59,14 +60,17 @@ If you want to write a program rather than script a calculator, many languages a
=== Tutorials ===
*[http://pari.math.u-bordeaux.fr/pub/pari/manuals/2.5.0/tutorial.pdf Official tutorial] by C. Batut, K. Belabas, D. Bernardi, H. Cohen, M. Olivier (52 pp., 2011)
-* Class notes, parts [http://myweb.csuchico.edu/~blevitt/math230/230coursedocs/230notes/230notes_01.pdf 1][http://myweb.csuchico.edu/~blevitt/math230/230coursedocs/230notes/230notes_02.pdf 2][http://myweb.csuchico.edu/~blevitt/math230/230coursedocs/230notes/230notes_03.pdf 3][http://myweb.csuchico.edu/~blevitt/math230/230coursedocs/230notes/230notes_04.pdf 4][http://myweb.csuchico.edu/~blevitt/math230/230coursedocs/230notes/230notes_05.pdf 5][http://myweb.csuchico.edu/~blevitt/math230/230coursedocs/230notes/230notes_sieve.pdf sieve] by Benjamin L. Levitt (41 pp., 2009)
+*[http://www.math.psu.edu/wdb/467/pariinfo.pdf Beginning PARI Programming for CSE/MATH 467] by W. Dale Brownawell (7 pp., 2014)
*[http://www.math.uiuc.edu/~r-ash/GPTutorial.pdf Tutorial] by Robert B. Ash (20 pp., 2007)
*[http://www.math.umass.edu/~siman/09.791N/tutorial.pdf Tutorial] by Siman Wong (6 pp., 2009)
*[http://www.math.uconn.edu/~kconrad/math5230f08/parihandout.pdf Introduction] by Keith Conrad (7 pp., 2008)
*[http://www.linuxjournal.com/article/1068 The Pari Package On Linux], by Klaus-Peter Nischke (3 pp., 1995)
-*[http://mvngu.wordpress.com/2008/08/01/parigp-programming-for-basic-cryptography/ PARI/GP programming for basic cryptography] by Minh Van Nguyen (appx. 3 pp., 2008)
+*[http://mvngu.wordpress.com/2008/08/01/parigp-programming-for-basic-cryptography/ PARI/GP programming for basic cryptography] by Minh Van Nguyen (appx. 3 pp., 2008); also appears in an [https://bbuseruploads.s3.amazonaws.com/mvngu/www/downloads/2008-11-25_numtheory-crypto-gp.pdf?Signature=3c1KatVUdnnTc4lOtzpOgsJg6Fw%3D&Expires=1411628731&AWSAccessKeyId=0EMWEFSGA12Z1HF1TZ82 extended version] lacking a stable URL (9 pp., 2008)
*[http://www.exploringbinary.com/exploring-binary-numbers-with-parigp-calculator/ Exploring binary numbers with PARI/GP calculator] by Rick Regan (appx. 4 pp., 2009)
-*Video tutorials, parts [http://www.youtube.com/watch?v=0G-9JzlrzBM 1] [http://www.youtube.com/watch?v=d7i0rv59hns 2] [http://http://www.youtube.com/watch?v=wCyU2n-G-pk 3] [http://http://www.youtube.com/watch?v=WOCuBvK8O6Q 4] (appx. 20 minutes, 2011)
+*Video tutorials, parts [http://www.youtube.com/watch?v=0G-9JzlrzBM 1] [http://www.youtube.com/watch?v=d7i0rv59hns 2] [http://www.youtube.com/watch?v=wCyU2n-G-pk 3] [http://www.youtube.com/watch?v=WOCuBvK8O6Q 4] (appx. 20 minutes, 2011)
+*[http://w3.countnumber.de/fischer/res-ZT2007/PariByExample.pdf Erste Schritte mit PARI/GP] by Lars Fischer (13 pp., 2007; German)
+*[http://www.maths.tcd.ie/~vlasenko/MA2316/ Class notes] including PARI/GP tutorial and sample code by Masha Vlasenko (2013)
+* Class notes, parts [http://myweb.csuchico.edu/~blevitt/math230/230coursedocs/230notes/230notes_01.pdf 1][http://myweb.csuchico.edu/~blevitt/math230/230coursedocs/230notes/230notes_02.pdf 2][http://myweb.csuchico.edu/~blevitt/math230/230coursedocs/230notes/230notes_03.pdf 3][http://myweb.csuchico.edu/~blevitt/math230/230coursedocs/230notes/230notes_04.pdf 4][http://myweb.csuchico.edu/~blevitt/math230/230coursedocs/230notes/230notes_05.pdf 5][http://myweb.csuchico.edu/~blevitt/math230/230coursedocs/230notes/230notes_sieve.pdf sieve] by Benjamin L. Levitt (41 pp., 2009; now offline?)
=== Papers on PARI/GP ===
* Bill Alombert, [http://www.math.u-bordeaux.fr/~allomber/darkpaper.pdf A new interpretor for PARI/GP], ''Journal de Théorie des Nombres de Bordeaux'' '''20''':3 (2008), pp. 531–541. (English)
diff --git a/Lang/PARI-GP/Anonymous-recursion b/Lang/PARI-GP/Anonymous-recursion
new file mode 120000
index 0000000000..9e5a3eaa14
--- /dev/null
+++ b/Lang/PARI-GP/Anonymous-recursion
@@ -0,0 +1 @@
+../../Task/Anonymous-recursion/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Check-Machin-like-formulas b/Lang/PARI-GP/Check-Machin-like-formulas
new file mode 120000
index 0000000000..689df3f7be
--- /dev/null
+++ b/Lang/PARI-GP/Check-Machin-like-formulas
@@ -0,0 +1 @@
+../../Task/Check-Machin-like-formulas/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Count-occurrences-of-a-substring b/Lang/PARI-GP/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..3605019b4b
--- /dev/null
+++ b/Lang/PARI-GP/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Dragon-curve b/Lang/PARI-GP/Dragon-curve
new file mode 120000
index 0000000000..ac2ec44ab8
--- /dev/null
+++ b/Lang/PARI-GP/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Variable-length-quantity b/Lang/PARI-GP/Variable-length-quantity
new file mode 120000
index 0000000000..7f2bde0c00
--- /dev/null
+++ b/Lang/PARI-GP/Variable-length-quantity
@@ -0,0 +1 @@
+../../Task/Variable-length-quantity/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Y-combinator b/Lang/PARI-GP/Y-combinator
new file mode 120000
index 0000000000..6d13aa645b
--- /dev/null
+++ b/Lang/PARI-GP/Y-combinator
@@ -0,0 +1 @@
+../../Task/Y-combinator/PARI-GP
\ No newline at end of file
diff --git a/Lang/PHP/Self-describing-numbers b/Lang/PHP/Self-describing-numbers
new file mode 120000
index 0000000000..738409a7f9
--- /dev/null
+++ b/Lang/PHP/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Terminal-control-Ringing-the-terminal-bell b/Lang/PHP/Terminal-control-Ringing-the-terminal-bell
new file mode 120000
index 0000000000..c5cdfd292c
--- /dev/null
+++ b/Lang/PHP/Terminal-control-Ringing-the-terminal-bell
@@ -0,0 +1 @@
+../../Task/Terminal-control-Ringing-the-terminal-bell/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Tree-traversal b/Lang/PHP/Tree-traversal
new file mode 120000
index 0000000000..8d58628a61
--- /dev/null
+++ b/Lang/PHP/Tree-traversal
@@ -0,0 +1 @@
+../../Task/Tree-traversal/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Zeckendorf-number-representation b/Lang/PHP/Zeckendorf-number-representation
new file mode 120000
index 0000000000..8bf6465832
--- /dev/null
+++ b/Lang/PHP/Zeckendorf-number-representation
@@ -0,0 +1 @@
+../../Task/Zeckendorf-number-representation/PHP
\ No newline at end of file
diff --git a/Lang/PL-I/00DESCRIPTION b/Lang/PL-I/00DESCRIPTION
index fcaf6c6859..0d97a07077 100644
--- a/Lang/PL-I/00DESCRIPTION
+++ b/Lang/PL-I/00DESCRIPTION
@@ -1,6 +1,16 @@
{{stub}}
{{language|PL/I
+|exec=machine
+|strength=strong
+|safety=safe
+|compat=nominative
+|express=explicit
+|checking=static
+|parampass=both
+|gc=no
+|LCT=yes
|tags=pli}}
+{{language programming paradigm|Imperative}}
PL/I is a general purpose programming language suitable for commercial, scientific, non-scientific, and system programming.
@@ -11,6 +21,7 @@ It provides the following data types:
* Binary integer,
* Fixed-point decimal (with fractional part),
* Fixed-point binary (that is, with fractional part),
+* Pointers,
* Character strings of two kinds:
# fixed-length, and
# varying-length.
@@ -31,7 +42,7 @@ Multiple precisions are available for floating point:
* 64 bits, and
* 80 bits.
-The language provides for static and dynamic arrays. Of the latter, there are automatic and controlled.
+The language provides for static and dynamic arrays. Of the latter, there are automatic, controlled, and based.
Controlled can be applied to any data type, including scalar, structure, as well as arrays. With controlled, a push-down and pop-up stack is automatically used.
@@ -51,4 +62,6 @@ PL/I has built-in checking for such programmer conditions including
Any of those may be enabled or disabled by the user.
-When any of those conditions occurs, the user may trap them and recover from them and continue execution.
\ No newline at end of file
+When any of those conditions occurs, the user may trap them and recover from them and continue execution.
+
+PL/I has a unique and powerful pre-processor which is a subset of the full PL/I language so it can be used to perform source file inclusion, conditional compilation, and macro expansion. The pre-processor keywords are prefixed with %.
\ No newline at end of file
diff --git a/Lang/PL-I/Arithmetic-Rational b/Lang/PL-I/Arithmetic-Rational
new file mode 120000
index 0000000000..0bbe27b50b
--- /dev/null
+++ b/Lang/PL-I/Arithmetic-Rational
@@ -0,0 +1 @@
+../../Task/Arithmetic-Rational/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Averages-Mean-time-of-day b/Lang/PL-I/Averages-Mean-time-of-day
new file mode 120000
index 0000000000..f0c38f4ff0
--- /dev/null
+++ b/Lang/PL-I/Averages-Mean-time-of-day
@@ -0,0 +1 @@
+../../Task/Averages-Mean-time-of-day/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Enforced-immutability b/Lang/PL-I/Enforced-immutability
new file mode 120000
index 0000000000..ac604e4179
--- /dev/null
+++ b/Lang/PL-I/Enforced-immutability
@@ -0,0 +1 @@
+../../Task/Enforced-immutability/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Entropy b/Lang/PL-I/Entropy
new file mode 120000
index 0000000000..7d4853e5af
--- /dev/null
+++ b/Lang/PL-I/Entropy
@@ -0,0 +1 @@
+../../Task/Entropy/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Knapsack-problem-Continuous b/Lang/PL-I/Knapsack-problem-Continuous
new file mode 120000
index 0000000000..213e01ccfb
--- /dev/null
+++ b/Lang/PL-I/Knapsack-problem-Continuous
@@ -0,0 +1 @@
+../../Task/Knapsack-problem-Continuous/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Levenshtein-distance b/Lang/PL-I/Levenshtein-distance
new file mode 120000
index 0000000000..8fee9d4bf8
--- /dev/null
+++ b/Lang/PL-I/Levenshtein-distance
@@ -0,0 +1 @@
+../../Task/Levenshtein-distance/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Modular-inverse b/Lang/PL-I/Modular-inverse
new file mode 120000
index 0000000000..91c668c6fb
--- /dev/null
+++ b/Lang/PL-I/Modular-inverse
@@ -0,0 +1 @@
+../../Task/Modular-inverse/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Order-two-numerical-lists b/Lang/PL-I/Order-two-numerical-lists
new file mode 120000
index 0000000000..91f02dd968
--- /dev/null
+++ b/Lang/PL-I/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Sorting-algorithms-Bogosort b/Lang/PL-I/Sorting-algorithms-Bogosort
new file mode 120000
index 0000000000..cf8a3bdf56
--- /dev/null
+++ b/Lang/PL-I/Sorting-algorithms-Bogosort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Bogosort/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Sudoku b/Lang/PL-I/Sudoku
new file mode 120000
index 0000000000..f0c65888d5
--- /dev/null
+++ b/Lang/PL-I/Sudoku
@@ -0,0 +1 @@
+../../Task/Sudoku/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Take-notes-on-the-command-line b/Lang/PL-I/Take-notes-on-the-command-line
new file mode 120000
index 0000000000..59c83dd7a1
--- /dev/null
+++ b/Lang/PL-I/Take-notes-on-the-command-line
@@ -0,0 +1 @@
+../../Task/Take-notes-on-the-command-line/PL-I
\ No newline at end of file
diff --git a/Lang/Pascal/Averages-Mean-angle b/Lang/Pascal/Averages-Mean-angle
new file mode 120000
index 0000000000..3328f1a655
--- /dev/null
+++ b/Lang/Pascal/Averages-Mean-angle
@@ -0,0 +1 @@
+../../Task/Averages-Mean-angle/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Conways-Game-of-Life b/Lang/Pascal/Conways-Game-of-Life
new file mode 120000
index 0000000000..3589e94a36
--- /dev/null
+++ b/Lang/Pascal/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Entropy b/Lang/Pascal/Entropy
new file mode 120000
index 0000000000..6061826b8b
--- /dev/null
+++ b/Lang/Pascal/Entropy
@@ -0,0 +1 @@
+../../Task/Entropy/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Hailstone-sequence b/Lang/Pascal/Hailstone-sequence
new file mode 120000
index 0000000000..839e8333ea
--- /dev/null
+++ b/Lang/Pascal/Hailstone-sequence
@@ -0,0 +1 @@
+../../Task/Hailstone-sequence/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Hamming-numbers b/Lang/Pascal/Hamming-numbers
new file mode 120000
index 0000000000..351ec66101
--- /dev/null
+++ b/Lang/Pascal/Hamming-numbers
@@ -0,0 +1 @@
+../../Task/Hamming-numbers/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Harshad-or-Niven-series b/Lang/Pascal/Harshad-or-Niven-series
new file mode 120000
index 0000000000..8b2ea14fe7
--- /dev/null
+++ b/Lang/Pascal/Harshad-or-Niven-series
@@ -0,0 +1 @@
+../../Task/Harshad-or-Niven-series/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Hofstadter-Conway-$10,000-sequence b/Lang/Pascal/Hofstadter-Conway-$10,000-sequence
new file mode 120000
index 0000000000..2077953e6e
--- /dev/null
+++ b/Lang/Pascal/Hofstadter-Conway-$10,000-sequence
@@ -0,0 +1 @@
+../../Task/Hofstadter-Conway-$10,000-sequence/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Largest-int-from-concatenated-ints b/Lang/Pascal/Largest-int-from-concatenated-ints
new file mode 120000
index 0000000000..27e1d54688
--- /dev/null
+++ b/Lang/Pascal/Largest-int-from-concatenated-ints
@@ -0,0 +1 @@
+../../Task/Largest-int-from-concatenated-ints/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Man-or-boy-test b/Lang/Pascal/Man-or-boy-test
new file mode 120000
index 0000000000..ec8d167806
--- /dev/null
+++ b/Lang/Pascal/Man-or-boy-test
@@ -0,0 +1 @@
+../../Task/Man-or-boy-test/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Mandelbrot-set b/Lang/Pascal/Mandelbrot-set
new file mode 120000
index 0000000000..07af9322f5
--- /dev/null
+++ b/Lang/Pascal/Mandelbrot-set
@@ -0,0 +1 @@
+../../Task/Mandelbrot-set/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Random-numbers b/Lang/Pascal/Random-numbers
new file mode 120000
index 0000000000..1b6560c91a
--- /dev/null
+++ b/Lang/Pascal/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/SHA-1 b/Lang/Pascal/SHA-1
new file mode 120000
index 0000000000..7865e8b01c
--- /dev/null
+++ b/Lang/Pascal/SHA-1
@@ -0,0 +1 @@
+../../Task/SHA-1/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Spiral-matrix b/Lang/Pascal/Spiral-matrix
new file mode 120000
index 0000000000..3df09d1d4a
--- /dev/null
+++ b/Lang/Pascal/Spiral-matrix
@@ -0,0 +1 @@
+../../Task/Spiral-matrix/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Standard-deviation b/Lang/Pascal/Standard-deviation
new file mode 120000
index 0000000000..045fd07fd2
--- /dev/null
+++ b/Lang/Pascal/Standard-deviation
@@ -0,0 +1 @@
+../../Task/Standard-deviation/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Sum-digits-of-an-integer b/Lang/Pascal/Sum-digits-of-an-integer
new file mode 120000
index 0000000000..381166f705
--- /dev/null
+++ b/Lang/Pascal/Sum-digits-of-an-integer
@@ -0,0 +1 @@
+../../Task/Sum-digits-of-an-integer/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Van-der-Corput-sequence b/Lang/Pascal/Van-der-Corput-sequence
new file mode 120000
index 0000000000..7a341d0b4f
--- /dev/null
+++ b/Lang/Pascal/Van-der-Corput-sequence
@@ -0,0 +1 @@
+../../Task/Van-der-Corput-sequence/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Window-creation-X11 b/Lang/Pascal/Window-creation-X11
new file mode 120000
index 0000000000..7f4faf7704
--- /dev/null
+++ b/Lang/Pascal/Window-creation-X11
@@ -0,0 +1 @@
+../../Task/Window-creation-X11/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Xiaolin-Wus-line-algorithm b/Lang/Pascal/Xiaolin-Wus-line-algorithm
new file mode 120000
index 0000000000..cba741f83a
--- /dev/null
+++ b/Lang/Pascal/Xiaolin-Wus-line-algorithm
@@ -0,0 +1 @@
+../../Task/Xiaolin-Wus-line-algorithm/Pascal
\ No newline at end of file
diff --git a/Lang/Perl-6/Cut-a-rectangle b/Lang/Perl-6/Cut-a-rectangle
new file mode 120000
index 0000000000..a708ab535a
--- /dev/null
+++ b/Lang/Perl-6/Cut-a-rectangle
@@ -0,0 +1 @@
+../../Task/Cut-a-rectangle/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Events b/Lang/Perl-6/Events
new file mode 120000
index 0000000000..48839047d0
--- /dev/null
+++ b/Lang/Perl-6/Events
@@ -0,0 +1 @@
+../../Task/Events/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/GUI-enabling-disabling-of-controls b/Lang/Perl-6/GUI-enabling-disabling-of-controls
new file mode 120000
index 0000000000..8fa5df5b9d
--- /dev/null
+++ b/Lang/Perl-6/GUI-enabling-disabling-of-controls
@@ -0,0 +1 @@
+../../Task/GUI-enabling-disabling-of-controls/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Handle-a-signal b/Lang/Perl-6/Handle-a-signal
new file mode 120000
index 0000000000..32a973a31d
--- /dev/null
+++ b/Lang/Perl-6/Handle-a-signal
@@ -0,0 +1 @@
+../../Task/Handle-a-signal/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Image-noise b/Lang/Perl-6/Image-noise
new file mode 120000
index 0000000000..9b5909e073
--- /dev/null
+++ b/Lang/Perl-6/Image-noise
@@ -0,0 +1 @@
+../../Task/Image-noise/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/K-means++-clustering b/Lang/Perl-6/K-means++-clustering
new file mode 120000
index 0000000000..b7c2377f2e
--- /dev/null
+++ b/Lang/Perl-6/K-means++-clustering
@@ -0,0 +1 @@
+../../Task/K-means++-clustering/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Simple-windowed-application b/Lang/Perl-6/Simple-windowed-application
new file mode 120000
index 0000000000..cc98f56ce2
--- /dev/null
+++ b/Lang/Perl-6/Simple-windowed-application
@@ -0,0 +1 @@
+../../Task/Simple-windowed-application/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Speech-synthesis b/Lang/Perl-6/Speech-synthesis
new file mode 120000
index 0000000000..26b17d630a
--- /dev/null
+++ b/Lang/Perl-6/Speech-synthesis
@@ -0,0 +1 @@
+../../Task/Speech-synthesis/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Stable-marriage-problem b/Lang/Perl-6/Stable-marriage-problem
new file mode 120000
index 0000000000..175dd66269
--- /dev/null
+++ b/Lang/Perl-6/Stable-marriage-problem
@@ -0,0 +1 @@
+../../Task/Stable-marriage-problem/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/User-input-Graphical b/Lang/Perl-6/User-input-Graphical
new file mode 120000
index 0000000000..e14b1c806d
--- /dev/null
+++ b/Lang/Perl-6/User-input-Graphical
@@ -0,0 +1 @@
+../../Task/User-input-Graphical/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Window-creation b/Lang/Perl-6/Window-creation
new file mode 120000
index 0000000000..a461b138b0
--- /dev/null
+++ b/Lang/Perl-6/Window-creation
@@ -0,0 +1 @@
+../../Task/Window-creation/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Window-creation-X11 b/Lang/Perl-6/Window-creation-X11
new file mode 120000
index 0000000000..2ff418c059
--- /dev/null
+++ b/Lang/Perl-6/Window-creation-X11
@@ -0,0 +1 @@
+../../Task/Window-creation-X11/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl/Averages-Mean-angle b/Lang/Perl/Averages-Mean-angle
new file mode 120000
index 0000000000..b9e93d7ff9
--- /dev/null
+++ b/Lang/Perl/Averages-Mean-angle
@@ -0,0 +1 @@
+../../Task/Averages-Mean-angle/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Call-a-function b/Lang/Perl/Call-a-function
new file mode 120000
index 0000000000..7bdde4b645
--- /dev/null
+++ b/Lang/Perl/Call-a-function
@@ -0,0 +1 @@
+../../Task/Call-a-function/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Carmichael-3-strong-pseudoprimes b/Lang/Perl/Carmichael-3-strong-pseudoprimes
new file mode 120000
index 0000000000..ac8c5df5f5
--- /dev/null
+++ b/Lang/Perl/Carmichael-3-strong-pseudoprimes
@@ -0,0 +1 @@
+../../Task/Carmichael-3-strong-pseudoprimes/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Continued-fraction-Arithmetic-Construct-from-rational-number b/Lang/Perl/Continued-fraction-Arithmetic-Construct-from-rational-number
new file mode 120000
index 0000000000..8cbe69bcca
--- /dev/null
+++ b/Lang/Perl/Continued-fraction-Arithmetic-Construct-from-rational-number
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-Construct-from-rational-number/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Cut-a-rectangle b/Lang/Perl/Cut-a-rectangle
new file mode 120000
index 0000000000..4bd9d70ccf
--- /dev/null
+++ b/Lang/Perl/Cut-a-rectangle
@@ -0,0 +1 @@
+../../Task/Cut-a-rectangle/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Dinesmans-multiple-dwelling-problem b/Lang/Perl/Dinesmans-multiple-dwelling-problem
new file mode 120000
index 0000000000..d3ce4a73f7
--- /dev/null
+++ b/Lang/Perl/Dinesmans-multiple-dwelling-problem
@@ -0,0 +1 @@
+../../Task/Dinesmans-multiple-dwelling-problem/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Discordian-date b/Lang/Perl/Discordian-date
new file mode 120000
index 0000000000..a758d2be1d
--- /dev/null
+++ b/Lang/Perl/Discordian-date
@@ -0,0 +1 @@
+../../Task/Discordian-date/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Dragon-curve b/Lang/Perl/Dragon-curve
new file mode 120000
index 0000000000..ca1e7dff02
--- /dev/null
+++ b/Lang/Perl/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Find-largest-left-truncatable-prime-in-a-given-base b/Lang/Perl/Find-largest-left-truncatable-prime-in-a-given-base
new file mode 120000
index 0000000000..8fb5f04c4d
--- /dev/null
+++ b/Lang/Perl/Find-largest-left-truncatable-prime-in-a-given-base
@@ -0,0 +1 @@
+../../Task/Find-largest-left-truncatable-prime-in-a-given-base/Perl
\ No newline at end of file
diff --git a/Lang/Perl/First-class-functions-Use-numbers-analogously b/Lang/Perl/First-class-functions-Use-numbers-analogously
new file mode 120000
index 0000000000..9b5c2c3010
--- /dev/null
+++ b/Lang/Perl/First-class-functions-Use-numbers-analogously
@@ -0,0 +1 @@
+../../Task/First-class-functions-Use-numbers-analogously/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Four-bit-adder b/Lang/Perl/Four-bit-adder
new file mode 120000
index 0000000000..99f7386f3e
--- /dev/null
+++ b/Lang/Perl/Four-bit-adder
@@ -0,0 +1 @@
+../../Task/Four-bit-adder/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Multiplicative-order b/Lang/Perl/Multiplicative-order
new file mode 120000
index 0000000000..1dbe298791
--- /dev/null
+++ b/Lang/Perl/Multiplicative-order
@@ -0,0 +1 @@
+../../Task/Multiplicative-order/Perl
\ No newline at end of file
diff --git a/Lang/Perl/RIPEMD-160 b/Lang/Perl/RIPEMD-160
new file mode 120000
index 0000000000..8b354ce170
--- /dev/null
+++ b/Lang/Perl/RIPEMD-160
@@ -0,0 +1 @@
+../../Task/RIPEMD-160/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Rock-paper-scissors b/Lang/Perl/Rock-paper-scissors
new file mode 120000
index 0000000000..bcbed03e90
--- /dev/null
+++ b/Lang/Perl/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Terminal-control-Cursor-positioning b/Lang/Perl/Terminal-control-Cursor-positioning
new file mode 120000
index 0000000000..639f5a0033
--- /dev/null
+++ b/Lang/Perl/Terminal-control-Cursor-positioning
@@ -0,0 +1 @@
+../../Task/Terminal-control-Cursor-positioning/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Write-language-name-in-3D-ASCII b/Lang/Perl/Write-language-name-in-3D-ASCII
new file mode 120000
index 0000000000..2fc6dd3039
--- /dev/null
+++ b/Lang/Perl/Write-language-name-in-3D-ASCII
@@ -0,0 +1 @@
+../../Task/Write-language-name-in-3D-ASCII/Perl
\ No newline at end of file
diff --git a/Lang/PicoLisp/00DESCRIPTION b/Lang/PicoLisp/00DESCRIPTION
index 58c104f5f9..ee829afafb 100644
--- a/Lang/PicoLisp/00DESCRIPTION
+++ b/Lang/PicoLisp/00DESCRIPTION
@@ -2,7 +2,9 @@
|exec=interpreted
|checking=dynamic
|gc=yes
-|site=http://home.picolisp.com}}[[Category:Lisp Implementations]]
+|site=http://home.picolisp.com}}
+{{implementation|Lisp}}
+[[Category:Lisp Implementations]]
'''PicoLisp''' is a small and fast interpreted [[Lisp]] dialect. It runs on [[Linux]] and other [[POSIX]]-compliant systems, and - in a reduced version - on [[JVM]].
diff --git a/Lang/PicoLisp/Average-loop-length b/Lang/PicoLisp/Average-loop-length
new file mode 120000
index 0000000000..5965eda4c4
--- /dev/null
+++ b/Lang/PicoLisp/Average-loop-length
@@ -0,0 +1 @@
+../../Task/Average-loop-length/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Balanced-ternary b/Lang/PicoLisp/Balanced-ternary
new file mode 120000
index 0000000000..bb286c7010
--- /dev/null
+++ b/Lang/PicoLisp/Balanced-ternary
@@ -0,0 +1 @@
+../../Task/Balanced-ternary/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Bitcoin-address-validation b/Lang/PicoLisp/Bitcoin-address-validation
new file mode 120000
index 0000000000..f27ce9f000
--- /dev/null
+++ b/Lang/PicoLisp/Bitcoin-address-validation
@@ -0,0 +1 @@
+../../Task/Bitcoin-address-validation/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/CRC-32 b/Lang/PicoLisp/CRC-32
new file mode 120000
index 0000000000..7e5073872c
--- /dev/null
+++ b/Lang/PicoLisp/CRC-32
@@ -0,0 +1 @@
+../../Task/CRC-32/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Carmichael-3-strong-pseudoprimes b/Lang/PicoLisp/Carmichael-3-strong-pseudoprimes
new file mode 120000
index 0000000000..51cb522d82
--- /dev/null
+++ b/Lang/PicoLisp/Carmichael-3-strong-pseudoprimes
@@ -0,0 +1 @@
+../../Task/Carmichael-3-strong-pseudoprimes/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/MD4 b/Lang/PicoLisp/MD4
new file mode 120000
index 0000000000..f245c3f8ca
--- /dev/null
+++ b/Lang/PicoLisp/MD4
@@ -0,0 +1 @@
+../../Task/MD4/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Main-step-of-GOST-28147-89 b/Lang/PicoLisp/Main-step-of-GOST-28147-89
new file mode 120000
index 0000000000..560d931463
--- /dev/null
+++ b/Lang/PicoLisp/Main-step-of-GOST-28147-89
@@ -0,0 +1 @@
+../../Task/Main-step-of-GOST-28147-89/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Modular-inverse b/Lang/PicoLisp/Modular-inverse
new file mode 120000
index 0000000000..44607cd28f
--- /dev/null
+++ b/Lang/PicoLisp/Modular-inverse
@@ -0,0 +1 @@
+../../Task/Modular-inverse/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Permutations-by-swapping b/Lang/PicoLisp/Permutations-by-swapping
new file mode 120000
index 0000000000..6052f026e6
--- /dev/null
+++ b/Lang/PicoLisp/Permutations-by-swapping
@@ -0,0 +1 @@
+../../Task/Permutations-by-swapping/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/RIPEMD-160 b/Lang/PicoLisp/RIPEMD-160
new file mode 120000
index 0000000000..f020b4de2f
--- /dev/null
+++ b/Lang/PicoLisp/RIPEMD-160
@@ -0,0 +1 @@
+../../Task/RIPEMD-160/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/SHA-256 b/Lang/PicoLisp/SHA-256
new file mode 120000
index 0000000000..5e4c3c909d
--- /dev/null
+++ b/Lang/PicoLisp/SHA-256
@@ -0,0 +1 @@
+../../Task/SHA-256/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/String-comparison b/Lang/PicoLisp/String-comparison
new file mode 120000
index 0000000000..3ec4d223e6
--- /dev/null
+++ b/Lang/PicoLisp/String-comparison
@@ -0,0 +1 @@
+../../Task/String-comparison/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Universal-Turing-machine b/Lang/PicoLisp/Universal-Turing-machine
new file mode 120000
index 0000000000..2635fbef28
--- /dev/null
+++ b/Lang/PicoLisp/Universal-Turing-machine
@@ -0,0 +1 @@
+../../Task/Universal-Turing-machine/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Write-language-name-in-3D-ASCII b/Lang/PicoLisp/Write-language-name-in-3D-ASCII
new file mode 120000
index 0000000000..c3040668f4
--- /dev/null
+++ b/Lang/PicoLisp/Write-language-name-in-3D-ASCII
@@ -0,0 +1 @@
+../../Task/Write-language-name-in-3D-ASCII/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Zeckendorf-arithmetic b/Lang/PicoLisp/Zeckendorf-arithmetic
new file mode 120000
index 0000000000..55fd046ff4
--- /dev/null
+++ b/Lang/PicoLisp/Zeckendorf-arithmetic
@@ -0,0 +1 @@
+../../Task/Zeckendorf-arithmetic/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Zeckendorf-number-representation b/Lang/PicoLisp/Zeckendorf-number-representation
new file mode 120000
index 0000000000..5a4bd1b70f
--- /dev/null
+++ b/Lang/PicoLisp/Zeckendorf-number-representation
@@ -0,0 +1 @@
+../../Task/Zeckendorf-number-representation/PicoLisp
\ No newline at end of file
diff --git a/Lang/PlainTeX/Towers-of-Hanoi b/Lang/PlainTeX/Towers-of-Hanoi
new file mode 120000
index 0000000000..086cd5b8ce
--- /dev/null
+++ b/Lang/PlainTeX/Towers-of-Hanoi
@@ -0,0 +1 @@
+../../Task/Towers-of-Hanoi/PlainTeX
\ No newline at end of file
diff --git a/Lang/PowerShell/Caesar-cipher b/Lang/PowerShell/Caesar-cipher
new file mode 120000
index 0000000000..cd98fbae02
--- /dev/null
+++ b/Lang/PowerShell/Caesar-cipher
@@ -0,0 +1 @@
+../../Task/Caesar-cipher/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Concurrent-computing b/Lang/PowerShell/Concurrent-computing
new file mode 120000
index 0000000000..bc008dade5
--- /dev/null
+++ b/Lang/PowerShell/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Create-an-HTML-table b/Lang/PowerShell/Create-an-HTML-table
new file mode 120000
index 0000000000..8a504f608f
--- /dev/null
+++ b/Lang/PowerShell/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/JSON b/Lang/PowerShell/JSON
new file mode 120000
index 0000000000..1dcef3a971
--- /dev/null
+++ b/Lang/PowerShell/JSON
@@ -0,0 +1 @@
+../../Task/JSON/PowerShell
\ No newline at end of file
diff --git a/Lang/Prolog/24-game b/Lang/Prolog/24-game
new file mode 120000
index 0000000000..e6dafa0cbc
--- /dev/null
+++ b/Lang/Prolog/24-game
@@ -0,0 +1 @@
+../../Task/24-game/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Arbitrary-precision-integers--included- b/Lang/Prolog/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..c213149e17
--- /dev/null
+++ b/Lang/Prolog/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Arithmetic-Integer b/Lang/Prolog/Arithmetic-Integer
new file mode 120000
index 0000000000..8cdc1a8392
--- /dev/null
+++ b/Lang/Prolog/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Averages-Arithmetic-mean b/Lang/Prolog/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..3e5308039d
--- /dev/null
+++ b/Lang/Prolog/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Binary-search b/Lang/Prolog/Binary-search
new file mode 120000
index 0000000000..7697a4314c
--- /dev/null
+++ b/Lang/Prolog/Binary-search
@@ -0,0 +1 @@
+../../Task/Binary-search/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Bitmap-Bresenhams-line-algorithm b/Lang/Prolog/Bitmap-Bresenhams-line-algorithm
new file mode 120000
index 0000000000..27713999f7
--- /dev/null
+++ b/Lang/Prolog/Bitmap-Bresenhams-line-algorithm
@@ -0,0 +1 @@
+../../Task/Bitmap-Bresenhams-line-algorithm/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Check-that-file-exists b/Lang/Prolog/Check-that-file-exists
new file mode 120000
index 0000000000..c148a609bb
--- /dev/null
+++ b/Lang/Prolog/Check-that-file-exists
@@ -0,0 +1 @@
+../../Task/Check-that-file-exists/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Concurrent-computing b/Lang/Prolog/Concurrent-computing
new file mode 120000
index 0000000000..be0e5565f2
--- /dev/null
+++ b/Lang/Prolog/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Count-occurrences-of-a-substring b/Lang/Prolog/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..1fab2bf7f6
--- /dev/null
+++ b/Lang/Prolog/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Date-format b/Lang/Prolog/Date-format
new file mode 120000
index 0000000000..8e50f8c104
--- /dev/null
+++ b/Lang/Prolog/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Determine-if-a-string-is-numeric b/Lang/Prolog/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..706c5426cf
--- /dev/null
+++ b/Lang/Prolog/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Empty-string b/Lang/Prolog/Empty-string
new file mode 120000
index 0000000000..d5a51707fa
--- /dev/null
+++ b/Lang/Prolog/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Equilibrium-index b/Lang/Prolog/Equilibrium-index
new file mode 120000
index 0000000000..183be67409
--- /dev/null
+++ b/Lang/Prolog/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Ethiopian-multiplication b/Lang/Prolog/Ethiopian-multiplication
new file mode 120000
index 0000000000..12f01d746c
--- /dev/null
+++ b/Lang/Prolog/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Exponentiation-operator b/Lang/Prolog/Exponentiation-operator
new file mode 120000
index 0000000000..47edf57369
--- /dev/null
+++ b/Lang/Prolog/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Guess-the-number b/Lang/Prolog/Guess-the-number
new file mode 120000
index 0000000000..b8edb808e6
--- /dev/null
+++ b/Lang/Prolog/Guess-the-number
@@ -0,0 +1 @@
+../../Task/Guess-the-number/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Guess-the-number-With-feedback b/Lang/Prolog/Guess-the-number-With-feedback
new file mode 120000
index 0000000000..9ebdf1f089
--- /dev/null
+++ b/Lang/Prolog/Guess-the-number-With-feedback
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Guess-the-number-With-feedback--player- b/Lang/Prolog/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..e213f23997
--- /dev/null
+++ b/Lang/Prolog/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/JSON b/Lang/Prolog/JSON
new file mode 120000
index 0000000000..dbb7780029
--- /dev/null
+++ b/Lang/Prolog/JSON
@@ -0,0 +1 @@
+../../Task/JSON/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Loops-Foreach b/Lang/Prolog/Loops-Foreach
new file mode 120000
index 0000000000..b0f17b7421
--- /dev/null
+++ b/Lang/Prolog/Loops-Foreach
@@ -0,0 +1 @@
+../../Task/Loops-Foreach/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Menu b/Lang/Prolog/Menu
new file mode 120000
index 0000000000..812c010e5a
--- /dev/null
+++ b/Lang/Prolog/Menu
@@ -0,0 +1 @@
+../../Task/Menu/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Middle-three-digits b/Lang/Prolog/Middle-three-digits
new file mode 120000
index 0000000000..9316a993bb
--- /dev/null
+++ b/Lang/Prolog/Middle-three-digits
@@ -0,0 +1 @@
+../../Task/Middle-three-digits/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Miller-Rabin-primality-test b/Lang/Prolog/Miller-Rabin-primality-test
new file mode 120000
index 0000000000..77f0bc56fd
--- /dev/null
+++ b/Lang/Prolog/Miller-Rabin-primality-test
@@ -0,0 +1 @@
+../../Task/Miller-Rabin-primality-test/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Pick-random-element b/Lang/Prolog/Pick-random-element
new file mode 120000
index 0000000000..30d47b6241
--- /dev/null
+++ b/Lang/Prolog/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Substring b/Lang/Prolog/Substring
new file mode 120000
index 0000000000..87bd69ded6
--- /dev/null
+++ b/Lang/Prolog/Substring
@@ -0,0 +1 @@
+../../Task/Substring/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Top-rank-per-group b/Lang/Prolog/Top-rank-per-group
new file mode 120000
index 0000000000..05b6239154
--- /dev/null
+++ b/Lang/Prolog/Top-rank-per-group
@@ -0,0 +1 @@
+../../Task/Top-rank-per-group/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Vector-products b/Lang/Prolog/Vector-products
new file mode 120000
index 0000000000..47d2333c05
--- /dev/null
+++ b/Lang/Prolog/Vector-products
@@ -0,0 +1 @@
+../../Task/Vector-products/Prolog
\ No newline at end of file
diff --git a/Lang/PureBasic/Create-an-HTML-table b/Lang/PureBasic/Create-an-HTML-table
new file mode 120000
index 0000000000..a4044c9b42
--- /dev/null
+++ b/Lang/PureBasic/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/PureBasic
\ No newline at end of file
diff --git a/Lang/Python/GUI-component-interaction b/Lang/Python/GUI-component-interaction
new file mode 120000
index 0000000000..5b90ae2d21
--- /dev/null
+++ b/Lang/Python/GUI-component-interaction
@@ -0,0 +1 @@
+../../Task/GUI-component-interaction/Python
\ No newline at end of file
diff --git a/Lang/Python/Metaprogramming b/Lang/Python/Metaprogramming
new file mode 120000
index 0000000000..8908b7d1a9
--- /dev/null
+++ b/Lang/Python/Metaprogramming
@@ -0,0 +1 @@
+../../Task/Metaprogramming/Python
\ No newline at end of file
diff --git a/Lang/Python/Simulate-input-Keyboard b/Lang/Python/Simulate-input-Keyboard
new file mode 120000
index 0000000000..068af91bf9
--- /dev/null
+++ b/Lang/Python/Simulate-input-Keyboard
@@ -0,0 +1 @@
+../../Task/Simulate-input-Keyboard/Python
\ No newline at end of file
diff --git a/Lang/Python/Topic-variable b/Lang/Python/Topic-variable
new file mode 120000
index 0000000000..af83493981
--- /dev/null
+++ b/Lang/Python/Topic-variable
@@ -0,0 +1 @@
+../../Task/Topic-variable/Python
\ No newline at end of file
diff --git a/Lang/Qi/00DESCRIPTION b/Lang/Qi/00DESCRIPTION
index bd9db24f5e..269d0b6f44 100644
--- a/Lang/Qi/00DESCRIPTION
+++ b/Lang/Qi/00DESCRIPTION
@@ -1,5 +1,6 @@
{{stub}}{{language
|site=http://www.lambdassociates.org/
|express=explicit}}
+{{implementation|Lisp}}
* [[wp:Qi (programming language)]]
\ No newline at end of file
diff --git a/Lang/R/Call-a-function b/Lang/R/Call-a-function
new file mode 120000
index 0000000000..05e6ba3d73
--- /dev/null
+++ b/Lang/R/Call-a-function
@@ -0,0 +1 @@
+../../Task/Call-a-function/R
\ No newline at end of file
diff --git a/Lang/R/Call-a-function-in-a-shared-library b/Lang/R/Call-a-function-in-a-shared-library
new file mode 120000
index 0000000000..51af006079
--- /dev/null
+++ b/Lang/R/Call-a-function-in-a-shared-library
@@ -0,0 +1 @@
+../../Task/Call-a-function-in-a-shared-library/R
\ No newline at end of file
diff --git a/Lang/R/DNS-query b/Lang/R/DNS-query
new file mode 120000
index 0000000000..6f2115ce75
--- /dev/null
+++ b/Lang/R/DNS-query
@@ -0,0 +1 @@
+../../Task/DNS-query/R
\ No newline at end of file
diff --git a/Lang/R/Dragon-curve b/Lang/R/Dragon-curve
new file mode 120000
index 0000000000..fb4f6eb358
--- /dev/null
+++ b/Lang/R/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/R
\ No newline at end of file
diff --git a/Lang/R/Euler-method b/Lang/R/Euler-method
new file mode 120000
index 0000000000..0948b8ecb2
--- /dev/null
+++ b/Lang/R/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/R
\ No newline at end of file
diff --git a/Lang/R/Gray-code b/Lang/R/Gray-code
new file mode 120000
index 0000000000..8ecdda6a9d
--- /dev/null
+++ b/Lang/R/Gray-code
@@ -0,0 +1 @@
+../../Task/Gray-code/R
\ No newline at end of file
diff --git a/Lang/R/Integer-sequence b/Lang/R/Integer-sequence
new file mode 120000
index 0000000000..0c37a17461
--- /dev/null
+++ b/Lang/R/Integer-sequence
@@ -0,0 +1 @@
+../../Task/Integer-sequence/R
\ No newline at end of file
diff --git a/Lang/R/One-of-n-lines-in-a-file b/Lang/R/One-of-n-lines-in-a-file
new file mode 120000
index 0000000000..ae2cf65d7b
--- /dev/null
+++ b/Lang/R/One-of-n-lines-in-a-file
@@ -0,0 +1 @@
+../../Task/One-of-n-lines-in-a-file/R
\ No newline at end of file
diff --git a/Lang/R/Roman-numerals-Decode b/Lang/R/Roman-numerals-Decode
new file mode 120000
index 0000000000..fd0f5817a7
--- /dev/null
+++ b/Lang/R/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/R
\ No newline at end of file
diff --git a/Lang/R/String-comparison b/Lang/R/String-comparison
new file mode 120000
index 0000000000..b0658852c0
--- /dev/null
+++ b/Lang/R/String-comparison
@@ -0,0 +1 @@
+../../Task/String-comparison/R
\ No newline at end of file
diff --git a/Lang/R/Sum-digits-of-an-integer b/Lang/R/Sum-digits-of-an-integer
new file mode 120000
index 0000000000..248263fc42
--- /dev/null
+++ b/Lang/R/Sum-digits-of-an-integer
@@ -0,0 +1 @@
+../../Task/Sum-digits-of-an-integer/R
\ No newline at end of file
diff --git a/Lang/R/URL-decoding b/Lang/R/URL-decoding
new file mode 120000
index 0000000000..6aad0771d2
--- /dev/null
+++ b/Lang/R/URL-decoding
@@ -0,0 +1 @@
+../../Task/URL-decoding/R
\ No newline at end of file
diff --git a/Lang/R/URL-encoding b/Lang/R/URL-encoding
new file mode 120000
index 0000000000..5629762e2d
--- /dev/null
+++ b/Lang/R/URL-encoding
@@ -0,0 +1 @@
+../../Task/URL-encoding/R
\ No newline at end of file
diff --git a/Lang/R/Unicode-variable-names b/Lang/R/Unicode-variable-names
new file mode 120000
index 0000000000..3f1444f221
--- /dev/null
+++ b/Lang/R/Unicode-variable-names
@@ -0,0 +1 @@
+../../Task/Unicode-variable-names/R
\ No newline at end of file
diff --git a/Lang/R/Word-wrap b/Lang/R/Word-wrap
new file mode 120000
index 0000000000..bc7b2c3510
--- /dev/null
+++ b/Lang/R/Word-wrap
@@ -0,0 +1 @@
+../../Task/Word-wrap/R
\ No newline at end of file
diff --git a/Lang/R/Zebra-puzzle b/Lang/R/Zebra-puzzle
new file mode 120000
index 0000000000..9bbd5e1eef
--- /dev/null
+++ b/Lang/R/Zebra-puzzle
@@ -0,0 +1 @@
+../../Task/Zebra-puzzle/R
\ No newline at end of file
diff --git a/Lang/REALbasic/Classes b/Lang/REALbasic/Classes
new file mode 120000
index 0000000000..55b75de2ed
--- /dev/null
+++ b/Lang/REALbasic/Classes
@@ -0,0 +1 @@
+../../Task/Classes/REALbasic
\ No newline at end of file
diff --git a/Lang/REALbasic/Function-definition b/Lang/REALbasic/Function-definition
new file mode 120000
index 0000000000..8f0f920f79
--- /dev/null
+++ b/Lang/REALbasic/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/REALbasic
\ No newline at end of file
diff --git a/Lang/REALbasic/Hello-world-Graphical b/Lang/REALbasic/Hello-world-Graphical
new file mode 120000
index 0000000000..354a413f22
--- /dev/null
+++ b/Lang/REALbasic/Hello-world-Graphical
@@ -0,0 +1 @@
+../../Task/Hello-world-Graphical/REALbasic
\ No newline at end of file
diff --git a/Lang/REALbasic/Variadic-function b/Lang/REALbasic/Variadic-function
new file mode 120000
index 0000000000..8e22d752e4
--- /dev/null
+++ b/Lang/REALbasic/Variadic-function
@@ -0,0 +1 @@
+../../Task/Variadic-function/REALbasic
\ No newline at end of file
diff --git a/Lang/REBOL/Dot-product b/Lang/REBOL/Dot-product
new file mode 120000
index 0000000000..0e405ceca0
--- /dev/null
+++ b/Lang/REBOL/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Hello-world-Newline-omission b/Lang/REBOL/Hello-world-Newline-omission
new file mode 120000
index 0000000000..a1ab230770
--- /dev/null
+++ b/Lang/REBOL/Hello-world-Newline-omission
@@ -0,0 +1 @@
+../../Task/Hello-world-Newline-omission/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Horners-rule-for-polynomial-evaluation b/Lang/REBOL/Horners-rule-for-polynomial-evaluation
new file mode 120000
index 0000000000..3ed4d272a6
--- /dev/null
+++ b/Lang/REBOL/Horners-rule-for-polynomial-evaluation
@@ -0,0 +1 @@
+../../Task/Horners-rule-for-polynomial-evaluation/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Last-Friday-of-each-month b/Lang/REBOL/Last-Friday-of-each-month
new file mode 120000
index 0000000000..592b3befd7
--- /dev/null
+++ b/Lang/REBOL/Last-Friday-of-each-month
@@ -0,0 +1 @@
+../../Task/Last-Friday-of-each-month/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Mad-Libs b/Lang/REBOL/Mad-Libs
new file mode 120000
index 0000000000..db4b8d6171
--- /dev/null
+++ b/Lang/REBOL/Mad-Libs
@@ -0,0 +1 @@
+../../Task/Mad-Libs/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Number-reversal-game b/Lang/REBOL/Number-reversal-game
new file mode 120000
index 0000000000..a23e4203b5
--- /dev/null
+++ b/Lang/REBOL/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Runtime-evaluation b/Lang/REBOL/Runtime-evaluation
new file mode 120000
index 0000000000..4f29a7904a
--- /dev/null
+++ b/Lang/REBOL/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Simple-database b/Lang/REBOL/Simple-database
new file mode 120000
index 0000000000..2171f3e8b2
--- /dev/null
+++ b/Lang/REBOL/Simple-database
@@ -0,0 +1 @@
+../../Task/Simple-database/REBOL
\ No newline at end of file
diff --git a/Lang/REXX/00DESCRIPTION b/Lang/REXX/00DESCRIPTION
index 5490849be3..26aa4ce196 100644
--- a/Lang/REXX/00DESCRIPTION
+++ b/Lang/REXX/00DESCRIPTION
@@ -1,4 +1,12 @@
-{{language|REXX}}
+{{language
+|strength=strong
+|LCT=yes
+|gc=allowed
+|safety=safe
+|express=implicit
+|compat=nominative
+|checking=dynamic
+|parampass=value}}
{{Wikipedia|REXX}}
REXX (REstructured eXtended eXecutor) is an interpreted programming language which was developed at IBM. It is a structured high-level programming language which was designed to be both easy to learn and easy to read. Both proprietary and open source interpreters for REXX are available on a wide range of computing platforms, and compilers are available for IBM mainframes.
@@ -36,11 +44,13 @@
* '''[[ROO oo-REXX]]''' an object-oriented REXX delveloped by Keith Watts of Kilowatt Software, Inc. It can be downloaded freely. '''ROO''' is also known as '''ROO!'''.
-* '''[[R4 REXX]]''' a classic REXX developed by Kieth Watts of Kilowatt Software, Inc. It was also known as Portable REXX. It can be downloaded freely.
+* '''[[R4 REXX]]''' a classic REXX developed by Keith Watts of Kilowatt Software, Inc. It was also known as Portable REXX. It can be downloaded freely.
+
+* '''[["T/REXX, a REXX compiler for CMS]]''' is an implementation of classic REXX written by Lundin and Woodruff (according to Wikipedia).
* '''[[VM/CMS REXX]]''' is an IBM implementation of classic REXX that was first implemented in the early 1980s. A license is required to use this product as well as the operating system that it runs under. This was the original implementation of REXX written by Mike Cowlishaw of IBM (circa 1979).
-* '''[[VM/CMS REXX compiler]]''' is an IBM implementation of classic REXX written by Lundin and Woodruff, a license is required to use this product as well as the operating system it runs under.
+* '''[[VM/CMS REXX compiler]]''' is an IBM implementation of classic REXX, a license is required to use this product as well as the operating system it runs under.