diff --git a/Conf/lang.yaml b/Conf/lang.yaml
index 0177945cc6..df9c047e05 100644
--- a/Conf/lang.yaml
+++ b/Conf/lang.yaml
@@ -40,8 +40,8 @@ ANT:
ANTLR:
APL:
AppleScript:
+ ext: applescript
Applesoft BASIC:
- ext: bas
Application Master:
ext:
Arbre:
@@ -49,7 +49,6 @@ Argile:
ARM Assembly:
ASP:
ASP.Net:
- ext: asp
AspectC++:
ext: acpp
AspectJ:
@@ -68,7 +67,6 @@ B:
Babel:
ext: pb
BASIC:
- ext: bas
BASIC256:
Batch File:
ext: bat
@@ -125,13 +123,11 @@ CMake:
COBOL:
Cobra:
CoffeeScript:
- ext: coffee
ColdFusion:
ext: cfm
Common Lisp:
ext: lisp
Component Pascal:
- ext: pascal
Coq:
Crack:
Curry:
@@ -150,7 +146,6 @@ Dodo0:
DWScript:
Dylan:
Dylan.NET:
- ext: net
Déjà Vu:
ext: djv
@@ -213,6 +208,7 @@ Frege:
Friendly interactive shell:
ext: fish
Frink:
+
Gambas:
GAP:
Gdl:
@@ -227,13 +223,12 @@ Gnuplot:
Go:
# Go!:
Golfscript:
- ext: golf
Goo:
Gosu:
Groovy:
GUISS:
GW-BASIC:
- ext: bas
+
Haskell:
ext: hs
Haxe:
@@ -253,12 +248,12 @@ Inform 7:
Informix 4GL:
ext: 4gl
Integer BASIC:
- ext: bas
Intercal:
ext: ical
Io:
Ioke:
Iptscrae:
+
J:
Jabaco:
Jacquard Loom:
@@ -272,10 +267,9 @@ Jcon:
JoCaml:
Joy:
JScript.NET:
- ext: net
JudoScript:
- ext: judo
Julia:
+
K:
K3d:
Kaya:
@@ -283,8 +277,8 @@ KeyList Databasing:
ext:
Kite:
KonsolScript:
- ext: konso
Kotlin:
+
L.in.oleum:
ext: lin
LabVIEW:
@@ -294,13 +288,14 @@ LaTeX:
Lhogho:
Liberty BASIC:
Lilypond:
+ ext: lily
Limbo:
Lisaac:
Lisp:
+ ext: l
LLP:
LLVM:
Locomotive Basic:
- ext: bas
Logo:
Logtalk:
LOLCODE:
@@ -308,7 +303,6 @@ LOLCODE:
Lolli:
Lotus 123 Macro Scripting:
LotusScript:
- ext: lotus
Lout:
LSE64:
LSL:
@@ -316,18 +310,20 @@ Lua:
Lucid:
Lush:
Lygon:
+
M4:
M680x0:
Make:
Maple:
MAPPER:
Mathematica:
+ ext: math
Mathprog:
+ ext: math
MATLAB:
ext: m
Maxima:
MAXScript:
- ext: max
MBS:
ME10 macro:
MEL:
@@ -347,41 +343,276 @@ Modula-3:
ext: mod3
MOO:
Moonscript:
- ext: moon
MPIF90:
MS SQL:
+ ext: sql
MSSQL:
+ ext: sql
MUF:
MUMPS:
MySQL:
+ ext: sql
Mython:
Mythryl:
+N/t/roff:
+Neat:
+Neko:
+Nemerle:
+NetLogo:
+NetRexx:
+NewLISP:
+Nial:
+Nice:
+Nickle:
+Nimrod:
+Niue:
+NQP:
+NSIS:
+Oberon-2:
+Objeck:
+Object Pascal:
+ObjectIcon:
+Objective-C:
+ ext: m
+OCaml:
+Occam:
+Octave:
+Omega:
+Onyx:
+OOC:
+OOCalc:
+OoRexx:
+ ext: rexx
+Opa:
+OpenC++:
+OpenEdge/Progress:
+Openscad:
+ ext: scad
+OPL:
+Order:
+OxygenBasic:
+ ext: oxy
+Oxygene:
+ ext: oxy
+Oz:
+
+PARI/GP:
+Pascal:
+PASM:
+PDP-11 Assembly:
+Pentium Assembly:
Perl:
ext: pl
+Perl 6:
+ ext: pl6
PHP:
PicoLisp:
ext: l
+Piet:
+Pike:
PIR:
+PL/I:
+ ext: pli
+PL/M:
+ ext: plm
+PL/pgSQL:
+ ext: sql
+PL/SQL:
+ ext: sql
+PlainTeX:
+ ext: tex
+PLUS:
+PLZ/SYS:
+Pop11:
+PostScript:
+ ext: ps
+POV-Ray:
+PowerBASIC:
+PowerShell:
+ ext: psh
+PPC Assembly:
+PPL:
+Processing:
+ ext:
+ProDOS:
+ ext: dos
Prolog:
ext: pro
+Protium:
+PSQL:
+Pure:
+Pure Data:
+PureBasic:
+Purity:
Python:
ext: py
+
+Q:
+Qi:
+Qore:
+QuakeC:
+ ext: c
+Quill:
+
R:
- ext: r
Racket:
ext: rkt
+RapidQ:
+Rascal:
+Raven:
+REALbasic:
+REBOL:
+Refal:
+Retro:
+Revolution:
+ ext: rev
REXX:
+Rhope:
+RLaB:
+RLSL:
+RPG:
+RPL/2:
+RTL/2:
+RTSL:
Ruby:
ext: rb
+Run BASIC:
+Rust:
+
+S-lang:
+ ext: slang
+Sage:
+Salmon:
+SAS:
Sather:
ext: sa
Scala:
Scheme:
ext: ss
+Scilab:
+Scratch:
+Script Basic:
+Script3D:
+ ext: 3d
+ScriptBasic:
+Sed:
+Seed7:
+Self:
+SETL:
+SheerPower 4GL:
+ ext: 4gl
+Shiny:
+SIMPOL:
+Simula:
+Sisal:
+Slate:
Smalltalk:
ext: st
+SMEQL:
+Snobol:
+ ext: sno
+SNOBOL4:
+ ext: sno
SNUSP:
+Soar:
+SPARC Assembly:
+SPARK:
+SQL:
+Squirrel:
+ ext: net
+Standard ML:
+ ext: ml
+StreamIt:
+Suneido:
+Superbase BASIC:
+SuperCollider:
+Supernova:
+SystemVerilog:
+ ext: v
+
+TAL:
Tcl:
+Teco:
+TeLa:
+Thistle:
+Thyrd:
+TI-83 BASIC:
+TI-89 BASIC:
+TIScript:
+Toka:
+TorqueScript:
+TPP:
+Transact-SQL:
+ ext: sql
+Trith:
+True BASIC:
+TSE SAL:
Turing:
+TUSCRIPT:
+Twelf:
+TXR:
+
+UBASIC:
+UC++:
+Unicon:
+UNIX Shell:
+ ext: sh
+UnixPipes:
+Unlambda:
+Ursala:
+UScript:
+UserRPL:
+ ext: rpl
+
+V:
+Vala:
+VB6:
+VBA:
+VBScript:
+Vedit macro language:
+Verilog:
+ ext: v
+VHDL:
+Vim Script:
+Visual Basic:
+ ext: vb
+Visual Basic .NET:
+Visual Objects:
+ ext: vobj
+Visual Prolog:
+ ext: pro
+Vorpal:
+Vox:
+VRML:
+
+Whenever:
+Whitespace:
+ ext: ws
+WML:
+Wrapl:
+
+X10:
+X86 Assembly:
+Xanadu:
+XBase:
+XL:
+XPL0:
+XProc:
+XQuery:
+XS:
+XSLT:
+XSLT 1.0:
+XSLT 2.0:
+XTalk:
+XUL:
+
+Yacas:
+Yorick:
+
+Z80 Assembly:
+ZED:
+Zonnon:
+ZPL:
+ZX Spectrum Basic:
diff --git a/Lang/ACL2/Arbitrary-precision-integers-(included) b/Lang/ACL2/Arbitrary-precision-integers-(included)
deleted file mode 120000
index 6d88a77c49..0000000000
--- a/Lang/ACL2/Arbitrary-precision-integers-(included)
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-(included)/ACL2
\ No newline at end of file
diff --git a/Lang/Ada/Arbitrary-precision-integers-(included) b/Lang/Ada/Arbitrary-precision-integers-(included)
deleted file mode 120000
index 2edc64c8fa..0000000000
--- a/Lang/Ada/Arbitrary-precision-integers-(included)
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-(included)/Ada
\ No newline at end of file
diff --git a/Lang/Alore/Arbitrary-precision-integers-(included) b/Lang/Alore/Arbitrary-precision-integers-(included)
deleted file mode 120000
index b45566aca9..0000000000
--- a/Lang/Alore/Arbitrary-precision-integers-(included)
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-(included)/Alore
\ No newline at end of file
diff --git a/Lang/Bracmat/Arbitrary-precision-integers-(included) b/Lang/Bracmat/Arbitrary-precision-integers-(included)
deleted file mode 120000
index 5edf79c35b..0000000000
--- a/Lang/Bracmat/Arbitrary-precision-integers-(included)
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-(included)/Bracmat
\ 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)
deleted file mode 120000
index 0588cbbce9..0000000000
--- a/Lang/C++/Continued-fraction-Arithmetic-G(matrix-NG,-Contined-Fraction-N)
+++ /dev/null
@@ -1 +0,0 @@
-../../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)
deleted file mode 120000
index ba452b8bd0..0000000000
--- a/Lang/C++/Continued-fraction-Arithmetic-G(matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2)
+++ /dev/null
@@ -1 +0,0 @@
-../../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-sharp/Arbitrary-precision-integers-(included) b/Lang/C-sharp/Arbitrary-precision-integers-(included)
deleted file mode 120000
index 2eaa17c3fa..0000000000
--- a/Lang/C-sharp/Arbitrary-precision-integers-(included)
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-(included)/C-sharp
\ No newline at end of file
diff --git a/Lang/C/Arbitrary-precision-integers-(included) b/Lang/C/Arbitrary-precision-integers-(included)
deleted file mode 120000
index ba9a232ceb..0000000000
--- a/Lang/C/Arbitrary-precision-integers-(included)
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-(included)/C
\ No newline at end of file
diff --git a/Lang/Clojure/Arbitrary-precision-integers-(included) b/Lang/Clojure/Arbitrary-precision-integers-(included)
deleted file mode 120000
index ab98cf4e31..0000000000
--- a/Lang/Clojure/Arbitrary-precision-integers-(included)
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-(included)/Clojure
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Arbitrary-precision-integers-(included) b/Lang/Common-Lisp/Arbitrary-precision-integers-(included)
deleted file mode 120000
index ecef923ba4..0000000000
--- a/Lang/Common-Lisp/Arbitrary-precision-integers-(included)
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-(included)/Common-Lisp
\ No newline at end of file
diff --git a/Lang/D/Arbitrary-precision-integers-(included) b/Lang/D/Arbitrary-precision-integers-(included)
deleted file mode 120000
index 671b355fe3..0000000000
--- a/Lang/D/Arbitrary-precision-integers-(included)
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-(included)/D
\ No newline at end of file
diff --git a/Lang/E/Arbitrary-precision-integers-(included) b/Lang/E/Arbitrary-precision-integers-(included)
deleted file mode 120000
index e7eab2c630..0000000000
--- a/Lang/E/Arbitrary-precision-integers-(included)
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-(included)/E
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Arbitrary-precision-integers-(included) b/Lang/Emacs-Lisp/Arbitrary-precision-integers-(included)
deleted file mode 120000
index a225b1170d..0000000000
--- a/Lang/Emacs-Lisp/Arbitrary-precision-integers-(included)
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-(included)/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Erlang/Arbitrary-precision-integers-(included) b/Lang/Erlang/Arbitrary-precision-integers-(included)
deleted file mode 120000
index 5f91c4abcd..0000000000
--- a/Lang/Erlang/Arbitrary-precision-integers-(included)
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-(included)/Erlang
\ No newline at end of file
diff --git a/Lang/Go/Arbitrary-precision-integers-(included) b/Lang/Go/Arbitrary-precision-integers-(included)
deleted file mode 120000
index a05728f01f..0000000000
--- a/Lang/Go/Arbitrary-precision-integers-(included)
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-(included)/Go
\ No newline at end of file
diff --git a/Lang/Haskell/Arbitrary-precision-integers-(included) b/Lang/Haskell/Arbitrary-precision-integers-(included)
deleted file mode 120000
index 3b0b103363..0000000000
--- a/Lang/Haskell/Arbitrary-precision-integers-(included)
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-(included)/Haskell
\ No newline at end of file
diff --git a/Lang/Java/Arbitrary-precision-integers-(included) b/Lang/Java/Arbitrary-precision-integers-(included)
deleted file mode 120000
index 2f66d23776..0000000000
--- a/Lang/Java/Arbitrary-precision-integers-(included)
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-(included)/Java
\ No newline at end of file
diff --git a/Lang/MATLAB/Arbitrary-precision-integers-(included) b/Lang/MATLAB/Arbitrary-precision-integers-(included)
deleted file mode 120000
index 7730047f9d..0000000000
--- a/Lang/MATLAB/Arbitrary-precision-integers-(included)
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-(included)/MATLAB
\ No newline at end of file
diff --git a/Lang/N-t-roff/0DESCRIPTION b/Lang/N-t-roff/0DESCRIPTION
new file mode 100644
index 0000000000..f66cf163bf
--- /dev/null
+++ b/Lang/N-t-roff/0DESCRIPTION
@@ -0,0 +1 @@
+{{language}}{{stub}}
\ No newline at end of file
diff --git a/Lang/NQP/0DESCRIPTION b/Lang/NQP/0DESCRIPTION
new file mode 100644
index 0000000000..1bde9bd55b
--- /dev/null
+++ b/Lang/NQP/0DESCRIPTION
@@ -0,0 +1,4 @@
+{{language}}
+'''NQP''', or "Not Quite Perl", is a simplified form of [[derived from::Perl 6]].
+
+An introduction is at http://en.wikibooks.org/wiki/Parrot_Virtual_Machine/Not_Quite_Perl
\ No newline at end of file
diff --git a/Lang/NSIS/0DESCRIPTION b/Lang/NSIS/0DESCRIPTION
new file mode 100644
index 0000000000..ee72beed26
--- /dev/null
+++ b/Lang/NSIS/0DESCRIPTION
@@ -0,0 +1,14 @@
+{{language|NSIS
+|exec=machine
+|site=http://nsis.sourceforge.net
+|gc=no
+|untyped=yes
+|tags=NSIS, nsis
+|LCT=no}}
+
+'''NSIS''' is a full-featured [[Windows]] installation creator based on an eponymous [[procedural programming|procedural]] language developed by [[wp:Nullsoft|Nullsoft]]. The original version of NSIS was used to install [[wp:Winamp|Winamp]] and its plugins.
+
+==Citations==
+*[[wp:Nullsoft Scriptable Install System|NSIS on Wikipedia]]
+
+{{language programming paradigm|Procedural}}
\ No newline at end of file
diff --git a/Lang/NSIS/Arithmetic-Integer b/Lang/NSIS/Arithmetic-Integer
new file mode 120000
index 0000000000..7fcaf6faea
--- /dev/null
+++ b/Lang/NSIS/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/NSIS
\ No newline at end of file
diff --git a/Lang/NSIS/Arrays b/Lang/NSIS/Arrays
new file mode 120000
index 0000000000..865dd6ed41
--- /dev/null
+++ b/Lang/NSIS/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/NSIS
\ No newline at end of file
diff --git a/Lang/NSIS/Bitwise-operations b/Lang/NSIS/Bitwise-operations
new file mode 120000
index 0000000000..d3066834a8
--- /dev/null
+++ b/Lang/NSIS/Bitwise-operations
@@ -0,0 +1 @@
+../../Task/Bitwise-operations/NSIS
\ No newline at end of file
diff --git a/Lang/NSIS/Comments b/Lang/NSIS/Comments
new file mode 120000
index 0000000000..e1f326ab83
--- /dev/null
+++ b/Lang/NSIS/Comments
@@ -0,0 +1 @@
+../../Task/Comments/NSIS
\ No newline at end of file
diff --git a/Lang/NSIS/Integer-comparison b/Lang/NSIS/Integer-comparison
new file mode 120000
index 0000000000..dd50404dda
--- /dev/null
+++ b/Lang/NSIS/Integer-comparison
@@ -0,0 +1 @@
+../../Task/Integer-comparison/NSIS
\ No newline at end of file
diff --git a/Lang/Neat/0DESCRIPTION b/Lang/Neat/0DESCRIPTION
new file mode 100644
index 0000000000..a1dfc291c3
--- /dev/null
+++ b/Lang/Neat/0DESCRIPTION
@@ -0,0 +1,3 @@
+{{stub}}{{language}}
+
+Neat is [[User:FeepingCreature|feep]]'s language, a D derivate with a focus on gamedev and terseness. Compiler is up on [http://www.github.com/FeepingCreature/fcc github]. Caution advised: not for newcomers.
\ No newline at end of file
diff --git a/Lang/Neat/Hello-world-Text b/Lang/Neat/Hello-world-Text
new file mode 120000
index 0000000000..b86a7cfd2b
--- /dev/null
+++ b/Lang/Neat/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Neat
\ No newline at end of file
diff --git a/Lang/Neko/0DESCRIPTION b/Lang/Neko/0DESCRIPTION
new file mode 100644
index 0000000000..6f806eb1aa
--- /dev/null
+++ b/Lang/Neko/0DESCRIPTION
@@ -0,0 +1,3 @@
+{{stub}}{{language
+|site=http://nekovm.org/
+}}
\ No newline at end of file
diff --git a/Lang/Neko/Function-definition b/Lang/Neko/Function-definition
new file mode 120000
index 0000000000..1daa01069c
--- /dev/null
+++ b/Lang/Neko/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/Neko
\ No newline at end of file
diff --git a/Lang/Nemerle/0DESCRIPTION b/Lang/Nemerle/0DESCRIPTION
new file mode 100644
index 0000000000..0e4e42b2d5
--- /dev/null
+++ b/Lang/Nemerle/0DESCRIPTION
@@ -0,0 +1,20 @@
+{{language|Nemerle
+|exec=bytecode
+|site=http://nemerle.org/Main_Page
+|gc=yes
+|express=implicit
+|strength=strong
+|compat=nominative
+|checking=static
+}}
+{{language programming paradigm|object-oriented}}
+{{language programming paradigm|imperative}}
+{{language programming paradigm|functional}}
+Nemerle is a high-level, statically-typed programming language for the [[.NET]] platform. It offers functional, object-oriented and imperative features. It has a simple [[C sharp|C#]]-like syntax and a powerful meta-programming system.
+
+Features that come from the functional land are variants, pattern matching, type inference and parameter polymorphism (aka generics). The meta-programming system allows great compiler extensibility, embedding domain specific languages, partial evaluation and aspect-oriented programming.
+
+==See Also==
+* [[wp:Nemerle|Wikipedia: Nemerle]]
+* [http://nemerle.org/wiki/index.php?title=Grokking_Nemerle Grokking Nemerle]
+* [http://nemerle.org/wiki/index.php?title=Quick_Guide Nemerle Quick Guide]
\ No newline at end of file
diff --git a/Lang/Nemerle/99-Bottles-of-Beer b/Lang/Nemerle/99-Bottles-of-Beer
new file mode 120000
index 0000000000..1613a967ef
--- /dev/null
+++ b/Lang/Nemerle/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/A+B b/Lang/Nemerle/A+B
new file mode 120000
index 0000000000..0933c1e82e
--- /dev/null
+++ b/Lang/Nemerle/A+B
@@ -0,0 +1 @@
+../../Task/A+B/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Anonymous-recursion b/Lang/Nemerle/Anonymous-recursion
new file mode 120000
index 0000000000..8bc8713be3
--- /dev/null
+++ b/Lang/Nemerle/Anonymous-recursion
@@ -0,0 +1 @@
+../../Task/Anonymous-recursion/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Arithmetic-Integer b/Lang/Nemerle/Arithmetic-Integer
new file mode 120000
index 0000000000..580ae6e217
--- /dev/null
+++ b/Lang/Nemerle/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Array-concatenation b/Lang/Nemerle/Array-concatenation
new file mode 120000
index 0000000000..86554e3b06
--- /dev/null
+++ b/Lang/Nemerle/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Arrays b/Lang/Nemerle/Arrays
new file mode 120000
index 0000000000..e805bf3204
--- /dev/null
+++ b/Lang/Nemerle/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Associative-array-Creation b/Lang/Nemerle/Associative-array-Creation
new file mode 120000
index 0000000000..c51ba3bd6f
--- /dev/null
+++ b/Lang/Nemerle/Associative-array-Creation
@@ -0,0 +1 @@
+../../Task/Associative-array-Creation/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Averages-Arithmetic-mean b/Lang/Nemerle/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..081e7252a9
--- /dev/null
+++ b/Lang/Nemerle/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Averages-Root-mean-square b/Lang/Nemerle/Averages-Root-mean-square
new file mode 120000
index 0000000000..8f969a46ed
--- /dev/null
+++ b/Lang/Nemerle/Averages-Root-mean-square
@@ -0,0 +1 @@
+../../Task/Averages-Root-mean-square/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Bitwise-operations b/Lang/Nemerle/Bitwise-operations
new file mode 120000
index 0000000000..635699086a
--- /dev/null
+++ b/Lang/Nemerle/Bitwise-operations
@@ -0,0 +1 @@
+../../Task/Bitwise-operations/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Case-sensitivity-of-identifiers b/Lang/Nemerle/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..851e98c56b
--- /dev/null
+++ b/Lang/Nemerle/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Comments b/Lang/Nemerle/Comments
new file mode 120000
index 0000000000..7f400f61a2
--- /dev/null
+++ b/Lang/Nemerle/Comments
@@ -0,0 +1 @@
+../../Task/Comments/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Conditional-structures b/Lang/Nemerle/Conditional-structures
new file mode 120000
index 0000000000..9894624e66
--- /dev/null
+++ b/Lang/Nemerle/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Determine-if-a-string-is-numeric b/Lang/Nemerle/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..66a3f9da84
--- /dev/null
+++ b/Lang/Nemerle/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Dot-product b/Lang/Nemerle/Dot-product
new file mode 120000
index 0000000000..18de46682f
--- /dev/null
+++ b/Lang/Nemerle/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Empty-program b/Lang/Nemerle/Empty-program
new file mode 120000
index 0000000000..12dbc0081d
--- /dev/null
+++ b/Lang/Nemerle/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Empty-string b/Lang/Nemerle/Empty-string
new file mode 120000
index 0000000000..5647c8922c
--- /dev/null
+++ b/Lang/Nemerle/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Enforced-immutability b/Lang/Nemerle/Enforced-immutability
new file mode 120000
index 0000000000..1203988484
--- /dev/null
+++ b/Lang/Nemerle/Enforced-immutability
@@ -0,0 +1 @@
+../../Task/Enforced-immutability/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Ethiopian-multiplication b/Lang/Nemerle/Ethiopian-multiplication
new file mode 120000
index 0000000000..2948224f9e
--- /dev/null
+++ b/Lang/Nemerle/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Extend-your-language b/Lang/Nemerle/Extend-your-language
new file mode 120000
index 0000000000..f46b74e03f
--- /dev/null
+++ b/Lang/Nemerle/Extend-your-language
@@ -0,0 +1 @@
+../../Task/Extend-your-language/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Factorial b/Lang/Nemerle/Factorial
new file mode 120000
index 0000000000..20612e9a01
--- /dev/null
+++ b/Lang/Nemerle/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Fibonacci-sequence b/Lang/Nemerle/Fibonacci-sequence
new file mode 120000
index 0000000000..ae11a194db
--- /dev/null
+++ b/Lang/Nemerle/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Filter b/Lang/Nemerle/Filter
new file mode 120000
index 0000000000..f2b03843fc
--- /dev/null
+++ b/Lang/Nemerle/Filter
@@ -0,0 +1 @@
+../../Task/Filter/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/First-class-functions b/Lang/Nemerle/First-class-functions
new file mode 120000
index 0000000000..aed7a4108d
--- /dev/null
+++ b/Lang/Nemerle/First-class-functions
@@ -0,0 +1 @@
+../../Task/First-class-functions/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/First-class-functions-Use-numbers-analogously b/Lang/Nemerle/First-class-functions-Use-numbers-analogously
new file mode 120000
index 0000000000..279155388d
--- /dev/null
+++ b/Lang/Nemerle/First-class-functions-Use-numbers-analogously
@@ -0,0 +1 @@
+../../Task/First-class-functions-Use-numbers-analogously/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/FizzBuzz b/Lang/Nemerle/FizzBuzz
new file mode 120000
index 0000000000..b8e2223082
--- /dev/null
+++ b/Lang/Nemerle/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Function-composition b/Lang/Nemerle/Function-composition
new file mode 120000
index 0000000000..f5e6157d1a
--- /dev/null
+++ b/Lang/Nemerle/Function-composition
@@ -0,0 +1 @@
+../../Task/Function-composition/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Generic-swap b/Lang/Nemerle/Generic-swap
new file mode 120000
index 0000000000..e80ab3a6b4
--- /dev/null
+++ b/Lang/Nemerle/Generic-swap
@@ -0,0 +1 @@
+../../Task/Generic-swap/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Guess-the-number b/Lang/Nemerle/Guess-the-number
new file mode 120000
index 0000000000..b83c28f3e0
--- /dev/null
+++ b/Lang/Nemerle/Guess-the-number
@@ -0,0 +1 @@
+../../Task/Guess-the-number/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Guess-the-number-With-feedback b/Lang/Nemerle/Guess-the-number-With-feedback
new file mode 120000
index 0000000000..fdfb4a8263
--- /dev/null
+++ b/Lang/Nemerle/Guess-the-number-With-feedback
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Hash-from-two-arrays b/Lang/Nemerle/Hash-from-two-arrays
new file mode 120000
index 0000000000..e3adb10b8b
--- /dev/null
+++ b/Lang/Nemerle/Hash-from-two-arrays
@@ -0,0 +1 @@
+../../Task/Hash-from-two-arrays/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Hello-world-Graphical b/Lang/Nemerle/Hello-world-Graphical
new file mode 120000
index 0000000000..d406ba7c03
--- /dev/null
+++ b/Lang/Nemerle/Hello-world-Graphical
@@ -0,0 +1 @@
+../../Task/Hello-world-Graphical/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Hello-world-Newline-omission b/Lang/Nemerle/Hello-world-Newline-omission
new file mode 120000
index 0000000000..0e2e5ac63b
--- /dev/null
+++ b/Lang/Nemerle/Hello-world-Newline-omission
@@ -0,0 +1 @@
+../../Task/Hello-world-Newline-omission/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Hello-world-Text b/Lang/Nemerle/Hello-world-Text
new file mode 120000
index 0000000000..19f7e93479
--- /dev/null
+++ b/Lang/Nemerle/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Higher-order-functions b/Lang/Nemerle/Higher-order-functions
new file mode 120000
index 0000000000..a4a93b98ee
--- /dev/null
+++ b/Lang/Nemerle/Higher-order-functions
@@ -0,0 +1 @@
+../../Task/Higher-order-functions/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Increment-a-numerical-string b/Lang/Nemerle/Increment-a-numerical-string
new file mode 120000
index 0000000000..505c6d02fc
--- /dev/null
+++ b/Lang/Nemerle/Increment-a-numerical-string
@@ -0,0 +1 @@
+../../Task/Increment-a-numerical-string/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Infinity b/Lang/Nemerle/Infinity
new file mode 120000
index 0000000000..feb93fa852
--- /dev/null
+++ b/Lang/Nemerle/Infinity
@@ -0,0 +1 @@
+../../Task/Infinity/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Integer-comparison b/Lang/Nemerle/Integer-comparison
new file mode 120000
index 0000000000..7c7c727262
--- /dev/null
+++ b/Lang/Nemerle/Integer-comparison
@@ -0,0 +1 @@
+../../Task/Integer-comparison/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Knuth-shuffle b/Lang/Nemerle/Knuth-shuffle
new file mode 120000
index 0000000000..fac23f8df0
--- /dev/null
+++ b/Lang/Nemerle/Knuth-shuffle
@@ -0,0 +1 @@
+../../Task/Knuth-shuffle/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/List-comprehensions b/Lang/Nemerle/List-comprehensions
new file mode 120000
index 0000000000..a0a70b725f
--- /dev/null
+++ b/Lang/Nemerle/List-comprehensions
@@ -0,0 +1 @@
+../../Task/List-comprehensions/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Logical-operations b/Lang/Nemerle/Logical-operations
new file mode 120000
index 0000000000..a22bf97c78
--- /dev/null
+++ b/Lang/Nemerle/Logical-operations
@@ -0,0 +1 @@
+../../Task/Logical-operations/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Loop-over-multiple-arrays-simultaneously b/Lang/Nemerle/Loop-over-multiple-arrays-simultaneously
new file mode 120000
index 0000000000..b50fac6161
--- /dev/null
+++ b/Lang/Nemerle/Loop-over-multiple-arrays-simultaneously
@@ -0,0 +1 @@
+../../Task/Loop-over-multiple-arrays-simultaneously/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Loops-Break b/Lang/Nemerle/Loops-Break
new file mode 120000
index 0000000000..6edf357871
--- /dev/null
+++ b/Lang/Nemerle/Loops-Break
@@ -0,0 +1 @@
+../../Task/Loops-Break/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Loops-Continue b/Lang/Nemerle/Loops-Continue
new file mode 120000
index 0000000000..22edebee74
--- /dev/null
+++ b/Lang/Nemerle/Loops-Continue
@@ -0,0 +1 @@
+../../Task/Loops-Continue/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Loops-Do-while b/Lang/Nemerle/Loops-Do-while
new file mode 120000
index 0000000000..7e3a9d5b67
--- /dev/null
+++ b/Lang/Nemerle/Loops-Do-while
@@ -0,0 +1 @@
+../../Task/Loops-Do-while/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Loops-Downward-for b/Lang/Nemerle/Loops-Downward-for
new file mode 120000
index 0000000000..9b8bbeac5c
--- /dev/null
+++ b/Lang/Nemerle/Loops-Downward-for
@@ -0,0 +1 @@
+../../Task/Loops-Downward-for/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Loops-For b/Lang/Nemerle/Loops-For
new file mode 120000
index 0000000000..ac69844746
--- /dev/null
+++ b/Lang/Nemerle/Loops-For
@@ -0,0 +1 @@
+../../Task/Loops-For/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Loops-For-with-a-specified-step b/Lang/Nemerle/Loops-For-with-a-specified-step
new file mode 120000
index 0000000000..7afde2e586
--- /dev/null
+++ b/Lang/Nemerle/Loops-For-with-a-specified-step
@@ -0,0 +1 @@
+../../Task/Loops-For-with-a-specified-step/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Loops-Foreach b/Lang/Nemerle/Loops-Foreach
new file mode 120000
index 0000000000..0e1f9a55d0
--- /dev/null
+++ b/Lang/Nemerle/Loops-Foreach
@@ -0,0 +1 @@
+../../Task/Loops-Foreach/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Loops-Infinite b/Lang/Nemerle/Loops-Infinite
new file mode 120000
index 0000000000..100f3e4bc2
--- /dev/null
+++ b/Lang/Nemerle/Loops-Infinite
@@ -0,0 +1 @@
+../../Task/Loops-Infinite/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Loops-N-plus-one-half b/Lang/Nemerle/Loops-N-plus-one-half
new file mode 120000
index 0000000000..832b1c8735
--- /dev/null
+++ b/Lang/Nemerle/Loops-N-plus-one-half
@@ -0,0 +1 @@
+../../Task/Loops-N-plus-one-half/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Loops-Nested b/Lang/Nemerle/Loops-Nested
new file mode 120000
index 0000000000..5920bff18f
--- /dev/null
+++ b/Lang/Nemerle/Loops-Nested
@@ -0,0 +1 @@
+../../Task/Loops-Nested/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Loops-While b/Lang/Nemerle/Loops-While
new file mode 120000
index 0000000000..61abbe27e0
--- /dev/null
+++ b/Lang/Nemerle/Loops-While
@@ -0,0 +1 @@
+../../Task/Loops-While/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/MD5 b/Lang/Nemerle/MD5
new file mode 120000
index 0000000000..90b67824fd
--- /dev/null
+++ b/Lang/Nemerle/MD5
@@ -0,0 +1 @@
+../../Task/MD5/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Map-range b/Lang/Nemerle/Map-range
new file mode 120000
index 0000000000..9f4b39c9bd
--- /dev/null
+++ b/Lang/Nemerle/Map-range
@@ -0,0 +1 @@
+../../Task/Map-range/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Mutual-recursion b/Lang/Nemerle/Mutual-recursion
new file mode 120000
index 0000000000..c6d5e11704
--- /dev/null
+++ b/Lang/Nemerle/Mutual-recursion
@@ -0,0 +1 @@
+../../Task/Mutual-recursion/Nemerle
\ No newline at end of file
diff --git a/Lang/NetLogo/0DESCRIPTION b/Lang/NetLogo/0DESCRIPTION
new file mode 100644
index 0000000000..4d3d27c049
--- /dev/null
+++ b/Lang/NetLogo/0DESCRIPTION
@@ -0,0 +1 @@
+{{stub}}{{language}}
\ No newline at end of file
diff --git a/Lang/NetLogo/Detect-division-by-zero b/Lang/NetLogo/Detect-division-by-zero
new file mode 120000
index 0000000000..04510924eb
--- /dev/null
+++ b/Lang/NetLogo/Detect-division-by-zero
@@ -0,0 +1 @@
+../../Task/Detect-division-by-zero/NetLogo
\ No newline at end of file
diff --git a/Lang/NetRexx/0DESCRIPTION b/Lang/NetRexx/0DESCRIPTION
new file mode 100644
index 0000000000..b0458b971f
--- /dev/null
+++ b/Lang/NetRexx/0DESCRIPTION
@@ -0,0 +1,35 @@
+{{language
+|NetRexx
+|exec=both
+|site=http://www.netrexx.org
+|gc=yes
+|parampass=value
+|safety=safe
+|tags=netrexx, rexx, java
+}}
+== Introduction ==
+
+'''NetRexx''' is a general-purpose programming language inspired by two very different programming languages, [[REXX|Rexx]] and [[Java]]TM.
+It is designed for people, not computers. In this respect it follows Rexx closely, with many of the concepts and most of the syntax
+taken directly from Rexx or its object-oriented version, [[ooRexx|Open Object Rexx]].
+From Java it derives static typing, binary arithmetic, the object model, and exception handling.
+The resulting language not only provides the scripting capabilities and decimal arithmetic of Rexx, but also seamlessly
+extends to large application development with fast binary arithmetic.
+
+The reference implementation of NetRexx produces classes for the [[runs on vm::Java Virtual Machine]], and in so doing demonstrates the value of that concrete
+interface between language and machine: NetRexx classes and Java classes are entirely equivalent – NetRexx can use any Java class
+(and vice versa) and inherits the portability and robustness of the Java environment.
+
+=== Language Objectives ===
+
+The programming language NetRexx, which is derived from both Rexx and Java is intended as a dialect of Rexx that can be as efficient and portable
+as languages such as Java, while preserving the low threshold to learning and the ease of use of the original Rexx language.
+
+==== Open Source ====
+
+On the 8th of June 2011, IBM transferred ownership of the reference implementation of NetRexx to The Rexx Language Association (RexxLA) for administration under the [http://site.icu-project.org ICU - International Components for Unicode] open source license.
+
+==== Useful Links ====
+* [http://www.netrexx.org The NetRexx Programming Language - www.netrexx.org]
+* [http://www.rexxla.org The Rexx Language Association - www.rexxla.org]
+* [http://www.oorexx.org/ Open Object Rexx - www.oorexx.org]
\ No newline at end of file
diff --git a/Lang/NetRexx/100-doors b/Lang/NetRexx/100-doors
new file mode 120000
index 0000000000..9116a9d099
--- /dev/null
+++ b/Lang/NetRexx/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/99-Bottles-of-Beer b/Lang/NetRexx/99-Bottles-of-Beer
new file mode 120000
index 0000000000..41b616d41e
--- /dev/null
+++ b/Lang/NetRexx/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/A+B b/Lang/NetRexx/A+B
new file mode 120000
index 0000000000..0f54fa5f08
--- /dev/null
+++ b/Lang/NetRexx/A+B
@@ -0,0 +1 @@
+../../Task/A+B/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Abstract-type b/Lang/NetRexx/Abstract-type
new file mode 120000
index 0000000000..8999b31464
--- /dev/null
+++ b/Lang/NetRexx/Abstract-type
@@ -0,0 +1 @@
+../../Task/Abstract-type/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Ackermann-function b/Lang/NetRexx/Ackermann-function
new file mode 120000
index 0000000000..8eaf536d9b
--- /dev/null
+++ b/Lang/NetRexx/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Active-Directory-Connect b/Lang/NetRexx/Active-Directory-Connect
new file mode 120000
index 0000000000..120211ccb2
--- /dev/null
+++ b/Lang/NetRexx/Active-Directory-Connect
@@ -0,0 +1 @@
+../../Task/Active-Directory-Connect/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Active-Directory-Search-for-a-user b/Lang/NetRexx/Active-Directory-Search-for-a-user
new file mode 120000
index 0000000000..797577b940
--- /dev/null
+++ b/Lang/NetRexx/Active-Directory-Search-for-a-user
@@ -0,0 +1 @@
+../../Task/Active-Directory-Search-for-a-user/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Arbitrary-precision-integers-included b/Lang/NetRexx/Arbitrary-precision-integers-included
new file mode 120000
index 0000000000..b066dca534
--- /dev/null
+++ b/Lang/NetRexx/Arbitrary-precision-integers-included
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers-included/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Arithmetic-Integer b/Lang/NetRexx/Arithmetic-Integer
new file mode 120000
index 0000000000..dee8f5abeb
--- /dev/null
+++ b/Lang/NetRexx/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Arithmetic-geometric-mean b/Lang/NetRexx/Arithmetic-geometric-mean
new file mode 120000
index 0000000000..270e08a6aa
--- /dev/null
+++ b/Lang/NetRexx/Arithmetic-geometric-mean
@@ -0,0 +1 @@
+../../Task/Arithmetic-geometric-mean/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Array-concatenation b/Lang/NetRexx/Array-concatenation
new file mode 120000
index 0000000000..38b29c77d6
--- /dev/null
+++ b/Lang/NetRexx/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Arrays b/Lang/NetRexx/Arrays
new file mode 120000
index 0000000000..b4d781d7e8
--- /dev/null
+++ b/Lang/NetRexx/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Associative-array-Creation b/Lang/NetRexx/Associative-array-Creation
new file mode 120000
index 0000000000..a4cff972a8
--- /dev/null
+++ b/Lang/NetRexx/Associative-array-Creation
@@ -0,0 +1 @@
+../../Task/Associative-array-Creation/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Associative-array-Iteration b/Lang/NetRexx/Associative-array-Iteration
new file mode 120000
index 0000000000..5998d1f332
--- /dev/null
+++ b/Lang/NetRexx/Associative-array-Iteration
@@ -0,0 +1 @@
+../../Task/Associative-array-Iteration/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Averages-Arithmetic-mean b/Lang/NetRexx/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..6e2abd284a
--- /dev/null
+++ b/Lang/NetRexx/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Averages-Median b/Lang/NetRexx/Averages-Median
new file mode 120000
index 0000000000..0774c8b52a
--- /dev/null
+++ b/Lang/NetRexx/Averages-Median
@@ -0,0 +1 @@
+../../Task/Averages-Median/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Averages-Mode b/Lang/NetRexx/Averages-Mode
new file mode 120000
index 0000000000..60341c98dc
--- /dev/null
+++ b/Lang/NetRexx/Averages-Mode
@@ -0,0 +1 @@
+../../Task/Averages-Mode/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Averages-Pythagorean-means b/Lang/NetRexx/Averages-Pythagorean-means
new file mode 120000
index 0000000000..ed42ca4530
--- /dev/null
+++ b/Lang/NetRexx/Averages-Pythagorean-means
@@ -0,0 +1 @@
+../../Task/Averages-Pythagorean-means/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Averages-Root-mean-square b/Lang/NetRexx/Averages-Root-mean-square
new file mode 120000
index 0000000000..44ad9336ec
--- /dev/null
+++ b/Lang/NetRexx/Averages-Root-mean-square
@@ -0,0 +1 @@
+../../Task/Averages-Root-mean-square/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Averages-Simple-moving-average b/Lang/NetRexx/Averages-Simple-moving-average
new file mode 120000
index 0000000000..9253bf3527
--- /dev/null
+++ b/Lang/NetRexx/Averages-Simple-moving-average
@@ -0,0 +1 @@
+../../Task/Averages-Simple-moving-average/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Boolean-values b/Lang/NetRexx/Boolean-values
new file mode 120000
index 0000000000..88095abe6f
--- /dev/null
+++ b/Lang/NetRexx/Boolean-values
@@ -0,0 +1 @@
+../../Task/Boolean-values/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Box-the-compass b/Lang/NetRexx/Box-the-compass
new file mode 120000
index 0000000000..63e3fdf1c2
--- /dev/null
+++ b/Lang/NetRexx/Box-the-compass
@@ -0,0 +1 @@
+../../Task/Box-the-compass/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/CRC-32 b/Lang/NetRexx/CRC-32
new file mode 120000
index 0000000000..d6be1c31c2
--- /dev/null
+++ b/Lang/NetRexx/CRC-32
@@ -0,0 +1 @@
+../../Task/CRC-32/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/CSV-to-HTML-translation b/Lang/NetRexx/CSV-to-HTML-translation
new file mode 120000
index 0000000000..151405833d
--- /dev/null
+++ b/Lang/NetRexx/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Caesar-cipher b/Lang/NetRexx/Caesar-cipher
new file mode 120000
index 0000000000..b2a51da9dd
--- /dev/null
+++ b/Lang/NetRexx/Caesar-cipher
@@ -0,0 +1 @@
+../../Task/Caesar-cipher/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Call-an-object-method b/Lang/NetRexx/Call-an-object-method
new file mode 120000
index 0000000000..b17a758cfc
--- /dev/null
+++ b/Lang/NetRexx/Call-an-object-method
@@ -0,0 +1 @@
+../../Task/Call-an-object-method/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Case-sensitivity-of-identifiers b/Lang/NetRexx/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..6e753e9c61
--- /dev/null
+++ b/Lang/NetRexx/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Character-codes b/Lang/NetRexx/Character-codes
new file mode 120000
index 0000000000..9548d9fc16
--- /dev/null
+++ b/Lang/NetRexx/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Character-matching b/Lang/NetRexx/Character-matching
new file mode 120000
index 0000000000..07bd655daf
--- /dev/null
+++ b/Lang/NetRexx/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Classes b/Lang/NetRexx/Classes
new file mode 120000
index 0000000000..a1dd955f49
--- /dev/null
+++ b/Lang/NetRexx/Classes
@@ -0,0 +1 @@
+../../Task/Classes/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Collections b/Lang/NetRexx/Collections
new file mode 120000
index 0000000000..a5c9e43239
--- /dev/null
+++ b/Lang/NetRexx/Collections
@@ -0,0 +1 @@
+../../Task/Collections/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Command-line-arguments b/Lang/NetRexx/Command-line-arguments
new file mode 120000
index 0000000000..5850afac66
--- /dev/null
+++ b/Lang/NetRexx/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Comments b/Lang/NetRexx/Comments
new file mode 120000
index 0000000000..437bcc6788
--- /dev/null
+++ b/Lang/NetRexx/Comments
@@ -0,0 +1 @@
+../../Task/Comments/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Compound-data-type b/Lang/NetRexx/Compound-data-type
new file mode 120000
index 0000000000..fe386a8be1
--- /dev/null
+++ b/Lang/NetRexx/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Conditional-structures b/Lang/NetRexx/Conditional-structures
new file mode 120000
index 0000000000..18abccde2b
--- /dev/null
+++ b/Lang/NetRexx/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Continued-fraction b/Lang/NetRexx/Continued-fraction
new file mode 120000
index 0000000000..c9e8459460
--- /dev/null
+++ b/Lang/NetRexx/Continued-fraction
@@ -0,0 +1 @@
+../../Task/Continued-fraction/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Count-in-octal b/Lang/NetRexx/Count-in-octal
new file mode 120000
index 0000000000..8dba985fb5
--- /dev/null
+++ b/Lang/NetRexx/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Count-occurrences-of-a-substring b/Lang/NetRexx/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..4af18f2efd
--- /dev/null
+++ b/Lang/NetRexx/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Create-a-file b/Lang/NetRexx/Create-a-file
new file mode 120000
index 0000000000..3e5250b01b
--- /dev/null
+++ b/Lang/NetRexx/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Create-a-two-dimensional-array-at-runtime b/Lang/NetRexx/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..3467214879
--- /dev/null
+++ b/Lang/NetRexx/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Create-an-HTML-table b/Lang/NetRexx/Create-an-HTML-table
new file mode 120000
index 0000000000..1949d1f72c
--- /dev/null
+++ b/Lang/NetRexx/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Date-format b/Lang/NetRexx/Date-format
new file mode 120000
index 0000000000..0396294a44
--- /dev/null
+++ b/Lang/NetRexx/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Date-manipulation b/Lang/NetRexx/Date-manipulation
new file mode 120000
index 0000000000..31dc0dd920
--- /dev/null
+++ b/Lang/NetRexx/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Day-of-the-week b/Lang/NetRexx/Day-of-the-week
new file mode 120000
index 0000000000..a35580f840
--- /dev/null
+++ b/Lang/NetRexx/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Detect-division-by-zero b/Lang/NetRexx/Detect-division-by-zero
new file mode 120000
index 0000000000..f8a4bd0e2c
--- /dev/null
+++ b/Lang/NetRexx/Detect-division-by-zero
@@ -0,0 +1 @@
+../../Task/Detect-division-by-zero/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Determine-if-a-string-is-numeric b/Lang/NetRexx/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..0ab85c0564
--- /dev/null
+++ b/Lang/NetRexx/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Digital-root b/Lang/NetRexx/Digital-root
new file mode 120000
index 0000000000..a51308b055
--- /dev/null
+++ b/Lang/NetRexx/Digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Dot-product b/Lang/NetRexx/Dot-product
new file mode 120000
index 0000000000..783fb92c59
--- /dev/null
+++ b/Lang/NetRexx/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Empty-program b/Lang/NetRexx/Empty-program
new file mode 120000
index 0000000000..bd67cde513
--- /dev/null
+++ b/Lang/NetRexx/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Empty-string b/Lang/NetRexx/Empty-string
new file mode 120000
index 0000000000..47cfba368b
--- /dev/null
+++ b/Lang/NetRexx/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Ethiopian-multiplication b/Lang/NetRexx/Ethiopian-multiplication
new file mode 120000
index 0000000000..b644adbb3e
--- /dev/null
+++ b/Lang/NetRexx/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Even-or-odd b/Lang/NetRexx/Even-or-odd
new file mode 120000
index 0000000000..fc0424cb1f
--- /dev/null
+++ b/Lang/NetRexx/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Exceptions b/Lang/NetRexx/Exceptions
new file mode 120000
index 0000000000..c692562edb
--- /dev/null
+++ b/Lang/NetRexx/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Factorial b/Lang/NetRexx/Factorial
new file mode 120000
index 0000000000..621d1d3109
--- /dev/null
+++ b/Lang/NetRexx/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Fibonacci-sequence b/Lang/NetRexx/Fibonacci-sequence
new file mode 120000
index 0000000000..0b17311078
--- /dev/null
+++ b/Lang/NetRexx/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/File-IO b/Lang/NetRexx/File-IO
new file mode 120000
index 0000000000..d6e591455f
--- /dev/null
+++ b/Lang/NetRexx/File-IO
@@ -0,0 +1 @@
+../../Task/File-IO/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Find-limit-of-recursion b/Lang/NetRexx/Find-limit-of-recursion
new file mode 120000
index 0000000000..2f2c3490cf
--- /dev/null
+++ b/Lang/NetRexx/Find-limit-of-recursion
@@ -0,0 +1 @@
+../../Task/Find-limit-of-recursion/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Five-weekends b/Lang/NetRexx/Five-weekends
new file mode 120000
index 0000000000..9ee3acc6be
--- /dev/null
+++ b/Lang/NetRexx/Five-weekends
@@ -0,0 +1 @@
+../../Task/Five-weekends/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/FizzBuzz b/Lang/NetRexx/FizzBuzz
new file mode 120000
index 0000000000..5d08a6b298
--- /dev/null
+++ b/Lang/NetRexx/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Flow-control-structures b/Lang/NetRexx/Flow-control-structures
new file mode 120000
index 0000000000..bfca9e3d97
--- /dev/null
+++ b/Lang/NetRexx/Flow-control-structures
@@ -0,0 +1 @@
+../../Task/Flow-control-structures/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Floyds-triangle b/Lang/NetRexx/Floyds-triangle
new file mode 120000
index 0000000000..454e8a01da
--- /dev/null
+++ b/Lang/NetRexx/Floyds-triangle
@@ -0,0 +1 @@
+../../Task/Floyds-triangle/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Formatted-numeric-output b/Lang/NetRexx/Formatted-numeric-output
new file mode 120000
index 0000000000..8fb55f03d5
--- /dev/null
+++ b/Lang/NetRexx/Formatted-numeric-output
@@ -0,0 +1 @@
+../../Task/Formatted-numeric-output/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Forward-difference b/Lang/NetRexx/Forward-difference
new file mode 120000
index 0000000000..b310f3c1b3
--- /dev/null
+++ b/Lang/NetRexx/Forward-difference
@@ -0,0 +1 @@
+../../Task/Forward-difference/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Function-definition b/Lang/NetRexx/Function-definition
new file mode 120000
index 0000000000..7a4fc52bde
--- /dev/null
+++ b/Lang/NetRexx/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Greatest-element-of-a-list b/Lang/NetRexx/Greatest-element-of-a-list
new file mode 120000
index 0000000000..e2cf97d755
--- /dev/null
+++ b/Lang/NetRexx/Greatest-element-of-a-list
@@ -0,0 +1 @@
+../../Task/Greatest-element-of-a-list/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Greatest-subsequential-sum b/Lang/NetRexx/Greatest-subsequential-sum
new file mode 120000
index 0000000000..90c4c97aba
--- /dev/null
+++ b/Lang/NetRexx/Greatest-subsequential-sum
@@ -0,0 +1 @@
+../../Task/Greatest-subsequential-sum/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Guess-the-number b/Lang/NetRexx/Guess-the-number
new file mode 120000
index 0000000000..57de3694a7
--- /dev/null
+++ b/Lang/NetRexx/Guess-the-number
@@ -0,0 +1 @@
+../../Task/Guess-the-number/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/HTTP b/Lang/NetRexx/HTTP
new file mode 120000
index 0000000000..96c56c9f47
--- /dev/null
+++ b/Lang/NetRexx/HTTP
@@ -0,0 +1 @@
+../../Task/HTTP/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Hailstone-sequence b/Lang/NetRexx/Hailstone-sequence
new file mode 120000
index 0000000000..f175f67ee1
--- /dev/null
+++ b/Lang/NetRexx/Hailstone-sequence
@@ -0,0 +1 @@
+../../Task/Hailstone-sequence/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Happy-numbers b/Lang/NetRexx/Happy-numbers
new file mode 120000
index 0000000000..5c8cf223d8
--- /dev/null
+++ b/Lang/NetRexx/Happy-numbers
@@ -0,0 +1 @@
+../../Task/Happy-numbers/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Hash-from-two-arrays b/Lang/NetRexx/Hash-from-two-arrays
new file mode 120000
index 0000000000..7e51d6e45b
--- /dev/null
+++ b/Lang/NetRexx/Hash-from-two-arrays
@@ -0,0 +1 @@
+../../Task/Hash-from-two-arrays/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Hello-world-Graphical b/Lang/NetRexx/Hello-world-Graphical
new file mode 120000
index 0000000000..f7da2cf770
--- /dev/null
+++ b/Lang/NetRexx/Hello-world-Graphical
@@ -0,0 +1 @@
+../../Task/Hello-world-Graphical/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Hello-world-Newline-omission b/Lang/NetRexx/Hello-world-Newline-omission
new file mode 120000
index 0000000000..f89313b1b3
--- /dev/null
+++ b/Lang/NetRexx/Hello-world-Newline-omission
@@ -0,0 +1 @@
+../../Task/Hello-world-Newline-omission/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Hello-world-Standard-error b/Lang/NetRexx/Hello-world-Standard-error
new file mode 120000
index 0000000000..d9e5a1355c
--- /dev/null
+++ b/Lang/NetRexx/Hello-world-Standard-error
@@ -0,0 +1 @@
+../../Task/Hello-world-Standard-error/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Hello-world-Text b/Lang/NetRexx/Hello-world-Text
new file mode 120000
index 0000000000..d66684d9e9
--- /dev/null
+++ b/Lang/NetRexx/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Hello-world-Web-server b/Lang/NetRexx/Hello-world-Web-server
new file mode 120000
index 0000000000..39182bea9b
--- /dev/null
+++ b/Lang/NetRexx/Hello-world-Web-server
@@ -0,0 +1 @@
+../../Task/Hello-world-Web-server/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Host-introspection b/Lang/NetRexx/Host-introspection
new file mode 120000
index 0000000000..7d5ca51126
--- /dev/null
+++ b/Lang/NetRexx/Host-introspection
@@ -0,0 +1 @@
+../../Task/Host-introspection/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Hostname b/Lang/NetRexx/Hostname
new file mode 120000
index 0000000000..3fc364332d
--- /dev/null
+++ b/Lang/NetRexx/Hostname
@@ -0,0 +1 @@
+../../Task/Hostname/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Increment-a-numerical-string b/Lang/NetRexx/Increment-a-numerical-string
new file mode 120000
index 0000000000..b006198bd4
--- /dev/null
+++ b/Lang/NetRexx/Increment-a-numerical-string
@@ -0,0 +1 @@
+../../Task/Increment-a-numerical-string/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Input-loop b/Lang/NetRexx/Input-loop
new file mode 120000
index 0000000000..8831205b2c
--- /dev/null
+++ b/Lang/NetRexx/Input-loop
@@ -0,0 +1 @@
+../../Task/Input-loop/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Integer-comparison b/Lang/NetRexx/Integer-comparison
new file mode 120000
index 0000000000..c8da571222
--- /dev/null
+++ b/Lang/NetRexx/Integer-comparison
@@ -0,0 +1 @@
+../../Task/Integer-comparison/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Integer-sequence b/Lang/NetRexx/Integer-sequence
new file mode 120000
index 0000000000..3e917cb5e9
--- /dev/null
+++ b/Lang/NetRexx/Integer-sequence
@@ -0,0 +1 @@
+../../Task/Integer-sequence/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/JSON b/Lang/NetRexx/JSON
new file mode 120000
index 0000000000..34f1ba4979
--- /dev/null
+++ b/Lang/NetRexx/JSON
@@ -0,0 +1 @@
+../../Task/JSON/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Jensens-Device b/Lang/NetRexx/Jensens-Device
new file mode 120000
index 0000000000..cc658c7789
--- /dev/null
+++ b/Lang/NetRexx/Jensens-Device
@@ -0,0 +1 @@
+../../Task/Jensens-Device/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Josephus-problem b/Lang/NetRexx/Josephus-problem
new file mode 120000
index 0000000000..698ff7d800
--- /dev/null
+++ b/Lang/NetRexx/Josephus-problem
@@ -0,0 +1 @@
+../../Task/Josephus-problem/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Knuth-shuffle b/Lang/NetRexx/Knuth-shuffle
new file mode 120000
index 0000000000..3b4edd7fea
--- /dev/null
+++ b/Lang/NetRexx/Knuth-shuffle
@@ -0,0 +1 @@
+../../Task/Knuth-shuffle/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Leap-year b/Lang/NetRexx/Leap-year
new file mode 120000
index 0000000000..207bb75957
--- /dev/null
+++ b/Lang/NetRexx/Leap-year
@@ -0,0 +1 @@
+../../Task/Leap-year/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Levenshtein-distance b/Lang/NetRexx/Levenshtein-distance
new file mode 120000
index 0000000000..9b053d6da4
--- /dev/null
+++ b/Lang/NetRexx/Levenshtein-distance
@@ -0,0 +1 @@
+../../Task/Levenshtein-distance/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Literals-Floating-point b/Lang/NetRexx/Literals-Floating-point
new file mode 120000
index 0000000000..0fa762a039
--- /dev/null
+++ b/Lang/NetRexx/Literals-Floating-point
@@ -0,0 +1 @@
+../../Task/Literals-Floating-point/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Literals-Integer b/Lang/NetRexx/Literals-Integer
new file mode 120000
index 0000000000..2f8db9f0cf
--- /dev/null
+++ b/Lang/NetRexx/Literals-Integer
@@ -0,0 +1 @@
+../../Task/Literals-Integer/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Logical-operations b/Lang/NetRexx/Logical-operations
new file mode 120000
index 0000000000..e7f4bd8731
--- /dev/null
+++ b/Lang/NetRexx/Logical-operations
@@ -0,0 +1 @@
+../../Task/Logical-operations/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Loop-over-multiple-arrays-simultaneously b/Lang/NetRexx/Loop-over-multiple-arrays-simultaneously
new file mode 120000
index 0000000000..88ed3da45e
--- /dev/null
+++ b/Lang/NetRexx/Loop-over-multiple-arrays-simultaneously
@@ -0,0 +1 @@
+../../Task/Loop-over-multiple-arrays-simultaneously/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Loops-Break b/Lang/NetRexx/Loops-Break
new file mode 120000
index 0000000000..9ab29bf74b
--- /dev/null
+++ b/Lang/NetRexx/Loops-Break
@@ -0,0 +1 @@
+../../Task/Loops-Break/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Loops-Continue b/Lang/NetRexx/Loops-Continue
new file mode 120000
index 0000000000..ddb86b6dc1
--- /dev/null
+++ b/Lang/NetRexx/Loops-Continue
@@ -0,0 +1 @@
+../../Task/Loops-Continue/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Loops-Do-while b/Lang/NetRexx/Loops-Do-while
new file mode 120000
index 0000000000..e15e46588b
--- /dev/null
+++ b/Lang/NetRexx/Loops-Do-while
@@ -0,0 +1 @@
+../../Task/Loops-Do-while/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Loops-Downward-for b/Lang/NetRexx/Loops-Downward-for
new file mode 120000
index 0000000000..d95a074c43
--- /dev/null
+++ b/Lang/NetRexx/Loops-Downward-for
@@ -0,0 +1 @@
+../../Task/Loops-Downward-for/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Loops-For b/Lang/NetRexx/Loops-For
new file mode 120000
index 0000000000..6cfcdcebd5
--- /dev/null
+++ b/Lang/NetRexx/Loops-For
@@ -0,0 +1 @@
+../../Task/Loops-For/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Loops-For-with-a-specified-step b/Lang/NetRexx/Loops-For-with-a-specified-step
new file mode 120000
index 0000000000..f17982b5c7
--- /dev/null
+++ b/Lang/NetRexx/Loops-For-with-a-specified-step
@@ -0,0 +1 @@
+../../Task/Loops-For-with-a-specified-step/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Loops-Foreach b/Lang/NetRexx/Loops-Foreach
new file mode 120000
index 0000000000..5c0fe0301a
--- /dev/null
+++ b/Lang/NetRexx/Loops-Foreach
@@ -0,0 +1 @@
+../../Task/Loops-Foreach/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Loops-Infinite b/Lang/NetRexx/Loops-Infinite
new file mode 120000
index 0000000000..a7f66a1a2f
--- /dev/null
+++ b/Lang/NetRexx/Loops-Infinite
@@ -0,0 +1 @@
+../../Task/Loops-Infinite/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Loops-N-plus-one-half b/Lang/NetRexx/Loops-N-plus-one-half
new file mode 120000
index 0000000000..a0fdd67051
--- /dev/null
+++ b/Lang/NetRexx/Loops-N-plus-one-half
@@ -0,0 +1 @@
+../../Task/Loops-N-plus-one-half/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Loops-Nested b/Lang/NetRexx/Loops-Nested
new file mode 120000
index 0000000000..03279f7e01
--- /dev/null
+++ b/Lang/NetRexx/Loops-Nested
@@ -0,0 +1 @@
+../../Task/Loops-Nested/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Loops-While b/Lang/NetRexx/Loops-While
new file mode 120000
index 0000000000..8ffc2c8626
--- /dev/null
+++ b/Lang/NetRexx/Loops-While
@@ -0,0 +1 @@
+../../Task/Loops-While/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Luhn-test-of-credit-card-numbers b/Lang/NetRexx/Luhn-test-of-credit-card-numbers
new file mode 120000
index 0000000000..7bdc6c9363
--- /dev/null
+++ b/Lang/NetRexx/Luhn-test-of-credit-card-numbers
@@ -0,0 +1 @@
+../../Task/Luhn-test-of-credit-card-numbers/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/MD5 b/Lang/NetRexx/MD5
new file mode 120000
index 0000000000..b4058aa54a
--- /dev/null
+++ b/Lang/NetRexx/MD5
@@ -0,0 +1 @@
+../../Task/MD5/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Map-range b/Lang/NetRexx/Map-range
new file mode 120000
index 0000000000..cd324104fa
--- /dev/null
+++ b/Lang/NetRexx/Map-range
@@ -0,0 +1 @@
+../../Task/Map-range/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Middle-three-digits b/Lang/NetRexx/Middle-three-digits
new file mode 120000
index 0000000000..fa4ea7272d
--- /dev/null
+++ b/Lang/NetRexx/Middle-three-digits
@@ -0,0 +1 @@
+../../Task/Middle-three-digits/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Ordered-words b/Lang/NetRexx/Ordered-words
new file mode 120000
index 0000000000..9ba8ef1ac3
--- /dev/null
+++ b/Lang/NetRexx/Ordered-words
@@ -0,0 +1 @@
+../../Task/Ordered-words/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Pi b/Lang/NetRexx/Pi
new file mode 120000
index 0000000000..88ee7e8824
--- /dev/null
+++ b/Lang/NetRexx/Pi
@@ -0,0 +1 @@
+../../Task/Pi/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Quine b/Lang/NetRexx/Quine
new file mode 120000
index 0000000000..93ecc22817
--- /dev/null
+++ b/Lang/NetRexx/Quine
@@ -0,0 +1 @@
+../../Task/Quine/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Search-a-list b/Lang/NetRexx/Search-a-list
new file mode 120000
index 0000000000..0af0ab8aa4
--- /dev/null
+++ b/Lang/NetRexx/Search-a-list
@@ -0,0 +1 @@
+../../Task/Search-a-list/NetRexx
\ No newline at end of file
diff --git a/Lang/NewLISP/0DESCRIPTION b/Lang/NewLISP/0DESCRIPTION
new file mode 100644
index 0000000000..a24004c87f
--- /dev/null
+++ b/Lang/NewLISP/0DESCRIPTION
@@ -0,0 +1,7 @@
+{{DISPLAYTITLE: Category:newLISP}}
+{{language
+|site=http://www.newlisp.org/
+}}{{implementation|Lisp}}
+'''newLISP''' focuses on the core components of [[LISP]]: lists, symbols, and lambda expressions. To these, newLISP adds [[array|arrays]], implicit indexing on lists and arrays, and dynamic and lexical scoping. Lexical scoping is implemented using separate namespaces called contexts.
+
+The result is an easier-to-learn LISP that is even smaller than most Scheme implementations, but which still has about 300 built-in functions. Approximately 200k in size, newLISP is built for high portability using only the most common [[UNIX]] system [[C]]-libraries. It loads quickly and has a small memory footprint. newLISP is as fast or faster than other popular scripting languages and uses very few resources.
\ No newline at end of file
diff --git a/Lang/NewLISP/99-Bottles-of-Beer b/Lang/NewLISP/99-Bottles-of-Beer
new file mode 120000
index 0000000000..78662ef30b
--- /dev/null
+++ b/Lang/NewLISP/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Abstract-type b/Lang/NewLISP/Abstract-type
new file mode 120000
index 0000000000..311f11b427
--- /dev/null
+++ b/Lang/NewLISP/Abstract-type
@@ -0,0 +1 @@
+../../Task/Abstract-type/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Address-of-a-variable b/Lang/NewLISP/Address-of-a-variable
new file mode 120000
index 0000000000..8fb31505da
--- /dev/null
+++ b/Lang/NewLISP/Address-of-a-variable
@@ -0,0 +1 @@
+../../Task/Address-of-a-variable/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Apply-a-callback-to-an-array b/Lang/NewLISP/Apply-a-callback-to-an-array
new file mode 120000
index 0000000000..116b7ef468
--- /dev/null
+++ b/Lang/NewLISP/Apply-a-callback-to-an-array
@@ -0,0 +1 @@
+../../Task/Apply-a-callback-to-an-array/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Arithmetic-Integer b/Lang/NewLISP/Arithmetic-Integer
new file mode 120000
index 0000000000..6ab762a4df
--- /dev/null
+++ b/Lang/NewLISP/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Array-concatenation b/Lang/NewLISP/Array-concatenation
new file mode 120000
index 0000000000..e08ba33959
--- /dev/null
+++ b/Lang/NewLISP/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Arrays b/Lang/NewLISP/Arrays
new file mode 120000
index 0000000000..22e64c9fcc
--- /dev/null
+++ b/Lang/NewLISP/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Averages-Arithmetic-mean b/Lang/NewLISP/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..9c27c21522
--- /dev/null
+++ b/Lang/NewLISP/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Averages-Median b/Lang/NewLISP/Averages-Median
new file mode 120000
index 0000000000..ef68347b7f
--- /dev/null
+++ b/Lang/NewLISP/Averages-Median
@@ -0,0 +1 @@
+../../Task/Averages-Median/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Comments b/Lang/NewLISP/Comments
new file mode 120000
index 0000000000..7f72fd4bfe
--- /dev/null
+++ b/Lang/NewLISP/Comments
@@ -0,0 +1 @@
+../../Task/Comments/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Count-in-octal b/Lang/NewLISP/Count-in-octal
new file mode 120000
index 0000000000..09a219136a
--- /dev/null
+++ b/Lang/NewLISP/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Count-occurrences-of-a-substring b/Lang/NewLISP/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..65fbd59833
--- /dev/null
+++ b/Lang/NewLISP/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Create-an-HTML-table b/Lang/NewLISP/Create-an-HTML-table
new file mode 120000
index 0000000000..49148503bc
--- /dev/null
+++ b/Lang/NewLISP/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Date-format b/Lang/NewLISP/Date-format
new file mode 120000
index 0000000000..7ad6b95166
--- /dev/null
+++ b/Lang/NewLISP/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Empty-program b/Lang/NewLISP/Empty-program
new file mode 120000
index 0000000000..6f3f03e681
--- /dev/null
+++ b/Lang/NewLISP/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Extend-your-language b/Lang/NewLISP/Extend-your-language
new file mode 120000
index 0000000000..35cf2350a2
--- /dev/null
+++ b/Lang/NewLISP/Extend-your-language
@@ -0,0 +1 @@
+../../Task/Extend-your-language/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Fibonacci-sequence b/Lang/NewLISP/Fibonacci-sequence
new file mode 120000
index 0000000000..45ac188e36
--- /dev/null
+++ b/Lang/NewLISP/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Filter b/Lang/NewLISP/Filter
new file mode 120000
index 0000000000..5a5e9f0165
--- /dev/null
+++ b/Lang/NewLISP/Filter
@@ -0,0 +1 @@
+../../Task/Filter/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Flatten-a-list b/Lang/NewLISP/Flatten-a-list
new file mode 120000
index 0000000000..d1f5df05c0
--- /dev/null
+++ b/Lang/NewLISP/Flatten-a-list
@@ -0,0 +1 @@
+../../Task/Flatten-a-list/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Function-composition b/Lang/NewLISP/Function-composition
new file mode 120000
index 0000000000..223e1c1ef3
--- /dev/null
+++ b/Lang/NewLISP/Function-composition
@@ -0,0 +1 @@
+../../Task/Function-composition/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Function-definition b/Lang/NewLISP/Function-definition
new file mode 120000
index 0000000000..928ede6e70
--- /dev/null
+++ b/Lang/NewLISP/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/GUI-enabling-disabling-of-controls b/Lang/NewLISP/GUI-enabling-disabling-of-controls
new file mode 120000
index 0000000000..19d88a0223
--- /dev/null
+++ b/Lang/NewLISP/GUI-enabling-disabling-of-controls
@@ -0,0 +1 @@
+../../Task/GUI-enabling-disabling-of-controls/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Greatest-common-divisor b/Lang/NewLISP/Greatest-common-divisor
new file mode 120000
index 0000000000..1e267d91c5
--- /dev/null
+++ b/Lang/NewLISP/Greatest-common-divisor
@@ -0,0 +1 @@
+../../Task/Greatest-common-divisor/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Greatest-element-of-a-list b/Lang/NewLISP/Greatest-element-of-a-list
new file mode 120000
index 0000000000..52b435e640
--- /dev/null
+++ b/Lang/NewLISP/Greatest-element-of-a-list
@@ -0,0 +1 @@
+../../Task/Greatest-element-of-a-list/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Guess-the-number b/Lang/NewLISP/Guess-the-number
new file mode 120000
index 0000000000..7fc8450a12
--- /dev/null
+++ b/Lang/NewLISP/Guess-the-number
@@ -0,0 +1 @@
+../../Task/Guess-the-number/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Guess-the-number-With-feedback b/Lang/NewLISP/Guess-the-number-With-feedback
new file mode 120000
index 0000000000..10309122d3
--- /dev/null
+++ b/Lang/NewLISP/Guess-the-number-With-feedback
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Hello-world-Newline-omission b/Lang/NewLISP/Hello-world-Newline-omission
new file mode 120000
index 0000000000..1c6275119f
--- /dev/null
+++ b/Lang/NewLISP/Hello-world-Newline-omission
@@ -0,0 +1 @@
+../../Task/Hello-world-Newline-omission/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Here-document b/Lang/NewLISP/Here-document
new file mode 120000
index 0000000000..994587b3d6
--- /dev/null
+++ b/Lang/NewLISP/Here-document
@@ -0,0 +1 @@
+../../Task/Here-document/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Higher-order-functions b/Lang/NewLISP/Higher-order-functions
new file mode 120000
index 0000000000..7a118e8226
--- /dev/null
+++ b/Lang/NewLISP/Higher-order-functions
@@ -0,0 +1 @@
+../../Task/Higher-order-functions/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Hostname b/Lang/NewLISP/Hostname
new file mode 120000
index 0000000000..e084b4d44e
--- /dev/null
+++ b/Lang/NewLISP/Hostname
@@ -0,0 +1 @@
+../../Task/Hostname/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Logical-operations b/Lang/NewLISP/Logical-operations
new file mode 120000
index 0000000000..73c5ab7ea4
--- /dev/null
+++ b/Lang/NewLISP/Logical-operations
@@ -0,0 +1 @@
+../../Task/Logical-operations/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Loops-For b/Lang/NewLISP/Loops-For
new file mode 120000
index 0000000000..bcceb75e77
--- /dev/null
+++ b/Lang/NewLISP/Loops-For
@@ -0,0 +1 @@
+../../Task/Loops-For/NewLISP
\ No newline at end of file
diff --git a/Lang/Nial/0DESCRIPTION b/Lang/Nial/0DESCRIPTION
new file mode 100644
index 0000000000..9cd63d0ab0
--- /dev/null
+++ b/Lang/Nial/0DESCRIPTION
@@ -0,0 +1,8 @@
+{{language|Nial
+|strength=strong
+|checking=dynamic
+|site=http://www.nial.com/
+|LCT=yes}}'''Nial''' (Nested interactive programming language) is an array programming language similar to [[APL]] and its successor [[J]].
+
+==References==
+* [[wp:Nial|Wikipedia:Nial]]
\ No newline at end of file
diff --git a/Lang/Nial/99-Bottles-of-Beer b/Lang/Nial/99-Bottles-of-Beer
new file mode 120000
index 0000000000..59a6166a83
--- /dev/null
+++ b/Lang/Nial/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/Nial
\ No newline at end of file
diff --git a/Lang/Nial/Ackermann-function b/Lang/Nial/Ackermann-function
new file mode 120000
index 0000000000..a3b7d6a44b
--- /dev/null
+++ b/Lang/Nial/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/Nial
\ No newline at end of file
diff --git a/Lang/Nial/Apply-a-callback-to-an-array b/Lang/Nial/Apply-a-callback-to-an-array
new file mode 120000
index 0000000000..891304c7cb
--- /dev/null
+++ b/Lang/Nial/Apply-a-callback-to-an-array
@@ -0,0 +1 @@
+../../Task/Apply-a-callback-to-an-array/Nial
\ No newline at end of file
diff --git a/Lang/Nial/Averages-Arithmetic-mean b/Lang/Nial/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..5dbd2ae28b
--- /dev/null
+++ b/Lang/Nial/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/Nial
\ No newline at end of file
diff --git a/Lang/Nial/Factorial b/Lang/Nial/Factorial
new file mode 120000
index 0000000000..b13177c21c
--- /dev/null
+++ b/Lang/Nial/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/Nial
\ No newline at end of file
diff --git a/Lang/Nial/Filter b/Lang/Nial/Filter
new file mode 120000
index 0000000000..78c5ed8e0a
--- /dev/null
+++ b/Lang/Nial/Filter
@@ -0,0 +1 @@
+../../Task/Filter/Nial
\ No newline at end of file
diff --git a/Lang/Nial/Forward-difference b/Lang/Nial/Forward-difference
new file mode 120000
index 0000000000..5718e628c1
--- /dev/null
+++ b/Lang/Nial/Forward-difference
@@ -0,0 +1 @@
+../../Task/Forward-difference/Nial
\ No newline at end of file
diff --git a/Lang/Nial/Function-definition b/Lang/Nial/Function-definition
new file mode 120000
index 0000000000..516c71000b
--- /dev/null
+++ b/Lang/Nial/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/Nial
\ No newline at end of file
diff --git a/Lang/Nial/Generic-swap b/Lang/Nial/Generic-swap
new file mode 120000
index 0000000000..b4f59c2c61
--- /dev/null
+++ b/Lang/Nial/Generic-swap
@@ -0,0 +1 @@
+../../Task/Generic-swap/Nial
\ No newline at end of file
diff --git a/Lang/Nial/Greatest-common-divisor b/Lang/Nial/Greatest-common-divisor
new file mode 120000
index 0000000000..03277440d3
--- /dev/null
+++ b/Lang/Nial/Greatest-common-divisor
@@ -0,0 +1 @@
+../../Task/Greatest-common-divisor/Nial
\ No newline at end of file
diff --git a/Lang/Nial/Greatest-element-of-a-list b/Lang/Nial/Greatest-element-of-a-list
new file mode 120000
index 0000000000..3a883defe9
--- /dev/null
+++ b/Lang/Nial/Greatest-element-of-a-list
@@ -0,0 +1 @@
+../../Task/Greatest-element-of-a-list/Nial
\ No newline at end of file
diff --git a/Lang/Nial/Matrix-multiplication b/Lang/Nial/Matrix-multiplication
new file mode 120000
index 0000000000..08592ec610
--- /dev/null
+++ b/Lang/Nial/Matrix-multiplication
@@ -0,0 +1 @@
+../../Task/Matrix-multiplication/Nial
\ No newline at end of file
diff --git a/Lang/Nial/Matrix-transposition b/Lang/Nial/Matrix-transposition
new file mode 120000
index 0000000000..1ed96d80ad
--- /dev/null
+++ b/Lang/Nial/Matrix-transposition
@@ -0,0 +1 @@
+../../Task/Matrix-transposition/Nial
\ No newline at end of file
diff --git a/Lang/Nice/0DESCRIPTION b/Lang/Nice/0DESCRIPTION
new file mode 100644
index 0000000000..1136329b48
--- /dev/null
+++ b/Lang/Nice/0DESCRIPTION
@@ -0,0 +1,13 @@
+{{language|Nice
+|site=http://nice.sourceforge.net/
+}}[[runs on vm::java virtual machine| ]]
+
+Nice is a new programming language. It extends the ideas behind object-orientation in order to better support modular programming and static type safety. It also incorporates features from functional programming, and puts into practice state-of-the-art results from academic research. This results in more expressivity, modularity and safety.[[#Citation|[1]]]
+
+Source programs are compiled to [[Java]] bytecode, and can therefore interact with libraries written in Java and other programming languages targeting the Java Virtual Machine.[[#Citation|[2]]]
+
+Nice supports [[wp:Multiple_dispatch|Multiple dispatch]].
+
+==Citations==
+#[http://nice.sourceforge.net/ The Nice Home Page]
+#[[wp:Nice_(programming_language)|Wikipedia: Nice]]
\ No newline at end of file
diff --git a/Lang/Nickle/0DESCRIPTION b/Lang/Nickle/0DESCRIPTION
new file mode 100644
index 0000000000..caf8a2316f
--- /dev/null
+++ b/Lang/Nickle/0DESCRIPTION
@@ -0,0 +1,3 @@
+{{stub}}{{language
+|site=http://nickle.org/
+}}
\ No newline at end of file
diff --git a/Lang/Nickle/FizzBuzz b/Lang/Nickle/FizzBuzz
new file mode 120000
index 0000000000..14b0656e42
--- /dev/null
+++ b/Lang/Nickle/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Nickle
\ No newline at end of file
diff --git a/Lang/Nimrod/0DESCRIPTION b/Lang/Nimrod/0DESCRIPTION
new file mode 100644
index 0000000000..4517462187
--- /dev/null
+++ b/Lang/Nimrod/0DESCRIPTION
@@ -0,0 +1,13 @@
+{{language
+|exec=machine
+|gc=yes
+|parampass=both
+|express=both
+|strength=strong
+|LCT=yes
+|checking=static
+|site=http://nimrod-code.org}}
+{{language programming paradigm|imperative}}
+Nimrod is a general purpose, high-level, system programming, statically typed imperative compiled programming language that is developed by Andreas Rumpf. There is a lot of focus on portability and efficiency. The language compiles to C and supports many C compilers. Nimrod is actively being developed although it could use more developers, there is currently only one core developer. The language has excellent [http://nimrod-code.org/lib.html documentation], and a very good [http://nimrod-code.org/tut1.html tutorial].
+
+You can ask for help on Freenode in the #nimrod channel.
\ No newline at end of file
diff --git a/Lang/Nimrod/99-Bottles-of-Beer b/Lang/Nimrod/99-Bottles-of-Beer
new file mode 120000
index 0000000000..532af5ed6a
--- /dev/null
+++ b/Lang/Nimrod/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/Nimrod
\ No newline at end of file
diff --git a/Lang/Nimrod/A+B b/Lang/Nimrod/A+B
new file mode 120000
index 0000000000..1dd0c233cb
--- /dev/null
+++ b/Lang/Nimrod/A+B
@@ -0,0 +1 @@
+../../Task/A+B/Nimrod
\ No newline at end of file
diff --git a/Lang/Nimrod/Ackermann-function b/Lang/Nimrod/Ackermann-function
new file mode 120000
index 0000000000..966d9b221d
--- /dev/null
+++ b/Lang/Nimrod/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/Nimrod
\ No newline at end of file
diff --git a/Lang/Nimrod/Apply-a-callback-to-an-array b/Lang/Nimrod/Apply-a-callback-to-an-array
new file mode 120000
index 0000000000..9f5ea5074a
--- /dev/null
+++ b/Lang/Nimrod/Apply-a-callback-to-an-array
@@ -0,0 +1 @@
+../../Task/Apply-a-callback-to-an-array/Nimrod
\ No newline at end of file
diff --git a/Lang/Nimrod/Assertions b/Lang/Nimrod/Assertions
new file mode 120000
index 0000000000..6e0978fc00
--- /dev/null
+++ b/Lang/Nimrod/Assertions
@@ -0,0 +1 @@
+../../Task/Assertions/Nimrod
\ No newline at end of file
diff --git a/Lang/Nimrod/Call-a-foreign-language-function b/Lang/Nimrod/Call-a-foreign-language-function
new file mode 120000
index 0000000000..d11c415cc4
--- /dev/null
+++ b/Lang/Nimrod/Call-a-foreign-language-function
@@ -0,0 +1 @@
+../../Task/Call-a-foreign-language-function/Nimrod
\ No newline at end of file
diff --git a/Lang/Nimrod/Case-sensitivity-of-identifiers b/Lang/Nimrod/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..c06f362dc0
--- /dev/null
+++ b/Lang/Nimrod/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/Nimrod
\ No newline at end of file
diff --git a/Lang/Nimrod/Compile-time-calculation b/Lang/Nimrod/Compile-time-calculation
new file mode 120000
index 0000000000..3d86637c69
--- /dev/null
+++ b/Lang/Nimrod/Compile-time-calculation
@@ -0,0 +1 @@
+../../Task/Compile-time-calculation/Nimrod
\ No newline at end of file
diff --git a/Lang/Nimrod/Date-format b/Lang/Nimrod/Date-format
new file mode 120000
index 0000000000..5b4bb217b9
--- /dev/null
+++ b/Lang/Nimrod/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/Nimrod
\ No newline at end of file
diff --git a/Lang/Nimrod/Delete-a-file b/Lang/Nimrod/Delete-a-file
new file mode 120000
index 0000000000..c8e62b09b2
--- /dev/null
+++ b/Lang/Nimrod/Delete-a-file
@@ -0,0 +1 @@
+../../Task/Delete-a-file/Nimrod
\ No newline at end of file
diff --git a/Lang/Nimrod/Execute-HQ9+ b/Lang/Nimrod/Execute-HQ9+
new file mode 120000
index 0000000000..cf2e6e898a
--- /dev/null
+++ b/Lang/Nimrod/Execute-HQ9+
@@ -0,0 +1 @@
+../../Task/Execute-HQ9+/Nimrod
\ No newline at end of file
diff --git a/Lang/Nimrod/Fibonacci-sequence b/Lang/Nimrod/Fibonacci-sequence
new file mode 120000
index 0000000000..4d0121d690
--- /dev/null
+++ b/Lang/Nimrod/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/Nimrod
\ No newline at end of file
diff --git a/Lang/Nimrod/FizzBuzz b/Lang/Nimrod/FizzBuzz
new file mode 120000
index 0000000000..bf51671747
--- /dev/null
+++ b/Lang/Nimrod/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Nimrod
\ No newline at end of file
diff --git a/Lang/Nimrod/Function-definition b/Lang/Nimrod/Function-definition
new file mode 120000
index 0000000000..511b8eb7b3
--- /dev/null
+++ b/Lang/Nimrod/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/Nimrod
\ No newline at end of file
diff --git a/Lang/Nimrod/Guess-the-number b/Lang/Nimrod/Guess-the-number
new file mode 120000
index 0000000000..00b179b288
--- /dev/null
+++ b/Lang/Nimrod/Guess-the-number
@@ -0,0 +1 @@
+../../Task/Guess-the-number/Nimrod
\ No newline at end of file
diff --git a/Lang/Nimrod/Hello-world-Text b/Lang/Nimrod/Hello-world-Text
new file mode 120000
index 0000000000..7a1c38b68e
--- /dev/null
+++ b/Lang/Nimrod/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Nimrod
\ No newline at end of file
diff --git a/Lang/Nimrod/Integer-sequence b/Lang/Nimrod/Integer-sequence
new file mode 120000
index 0000000000..017167a65b
--- /dev/null
+++ b/Lang/Nimrod/Integer-sequence
@@ -0,0 +1 @@
+../../Task/Integer-sequence/Nimrod
\ No newline at end of file
diff --git a/Lang/Nimrod/Loops-For b/Lang/Nimrod/Loops-For
new file mode 120000
index 0000000000..fdf0bc3379
--- /dev/null
+++ b/Lang/Nimrod/Loops-For
@@ -0,0 +1 @@
+../../Task/Loops-For/Nimrod
\ No newline at end of file
diff --git a/Lang/Nimrod/Loops-Foreach b/Lang/Nimrod/Loops-Foreach
new file mode 120000
index 0000000000..741d3f218b
--- /dev/null
+++ b/Lang/Nimrod/Loops-Foreach
@@ -0,0 +1 @@
+../../Task/Loops-Foreach/Nimrod
\ No newline at end of file
diff --git a/Lang/Nimrod/Loops-While b/Lang/Nimrod/Loops-While
new file mode 120000
index 0000000000..6329b3ab8c
--- /dev/null
+++ b/Lang/Nimrod/Loops-While
@@ -0,0 +1 @@
+../../Task/Loops-While/Nimrod
\ No newline at end of file
diff --git a/Lang/Niue/0DESCRIPTION b/Lang/Niue/0DESCRIPTION
new file mode 100644
index 0000000000..e785455250
--- /dev/null
+++ b/Lang/Niue/0DESCRIPTION
@@ -0,0 +1 @@
+{{language}}[http://vmathew.in/niue Niue] is an expressive, lightweight, embeddable scripting language for Java applications. It has a simple and consistent syntax based on the Reverse Polish notation. Niue is an extensible language with powerful meta-programming facilities.
\ No newline at end of file
diff --git a/Lang/Niue/Averages-Arithmetic-mean b/Lang/Niue/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..a4aa464e2a
--- /dev/null
+++ b/Lang/Niue/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/Niue
\ No newline at end of file
diff --git a/Lang/Niue/Binary-search b/Lang/Niue/Binary-search
new file mode 120000
index 0000000000..540307b067
--- /dev/null
+++ b/Lang/Niue/Binary-search
@@ -0,0 +1 @@
+../../Task/Binary-search/Niue
\ No newline at end of file
diff --git a/Lang/Niue/Factorial b/Lang/Niue/Factorial
new file mode 120000
index 0000000000..96551b1165
--- /dev/null
+++ b/Lang/Niue/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/Niue
\ No newline at end of file
diff --git a/Lang/Niue/Factors-of-an-integer b/Lang/Niue/Factors-of-an-integer
new file mode 120000
index 0000000000..86ed9f3133
--- /dev/null
+++ b/Lang/Niue/Factors-of-an-integer
@@ -0,0 +1 @@
+../../Task/Factors-of-an-integer/Niue
\ No newline at end of file
diff --git a/Lang/OCaml/0DESCRIPTION b/Lang/OCaml/0DESCRIPTION
new file mode 100644
index 0000000000..e7787ed634
--- /dev/null
+++ b/Lang/OCaml/0DESCRIPTION
@@ -0,0 +1,20 @@
+{{language|OCaml
+|strength=strong
+|safety=safe
+|compat=structural
+|checking=static
+|parampass=value
+|gc=yes
+|LCT=yes}}{{language programming paradigm|Object-oriented}}{{implementation|Caml}}
+{{language programming paradigm|functional}}
+{{Codepad}}
+'''OCaml''' (formerly known as Objective Caml) is the main implementation of the [[Caml]] [[programming language]], created by Xavier Leroy, Jérôme Vouillon, Damien Doligez, Didier Rémy and others in 1996. OCaml is an [[open source]] project managed and principally maintained by INRIA.
+
+OCaml extends the core [[derived from::Caml]] language with [[object-oriented programming|object-oriented]] constructs.
+
+OCaml's toolset includes an interactive toplevel [[interpreter]], a [[bytecode]] [[compiler]], and an optimizing native code compiler. It has a large standard library that makes it useful for many of the same applications as [[Python]] or [[Perl]], as well as robust modular and object-oriented programming constructs that make it applicable for large-scale software engineering.
+
+OCaml is the successor to [[Caml Light]]. The acronym CAML originally stood for Categorical Abstract Machine Language, although OCaml abandons this abstract machine.
+
+==Citations==
+* [[wp:Ocaml|Wikipedia:OCaml]]
\ No newline at end of file
diff --git a/Lang/OCaml/100-doors b/Lang/OCaml/100-doors
new file mode 120000
index 0000000000..d766e5a2d1
--- /dev/null
+++ b/Lang/OCaml/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/24-game b/Lang/OCaml/24-game
new file mode 120000
index 0000000000..04d998ef48
--- /dev/null
+++ b/Lang/OCaml/24-game
@@ -0,0 +1 @@
+../../Task/24-game/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/24-game-Solve b/Lang/OCaml/24-game-Solve
new file mode 120000
index 0000000000..1a6f680f39
--- /dev/null
+++ b/Lang/OCaml/24-game-Solve
@@ -0,0 +1 @@
+../../Task/24-game-Solve/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/99-Bottles-of-Beer b/Lang/OCaml/99-Bottles-of-Beer
new file mode 120000
index 0000000000..2ba0145cdb
--- /dev/null
+++ b/Lang/OCaml/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/A+B b/Lang/OCaml/A+B
new file mode 120000
index 0000000000..f16ebc8f87
--- /dev/null
+++ b/Lang/OCaml/A+B
@@ -0,0 +1 @@
+../../Task/A+B/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Abstract-type b/Lang/OCaml/Abstract-type
new file mode 120000
index 0000000000..8fa165befb
--- /dev/null
+++ b/Lang/OCaml/Abstract-type
@@ -0,0 +1 @@
+../../Task/Abstract-type/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Accumulator-factory b/Lang/OCaml/Accumulator-factory
new file mode 120000
index 0000000000..e162c89471
--- /dev/null
+++ b/Lang/OCaml/Accumulator-factory
@@ -0,0 +1 @@
+../../Task/Accumulator-factory/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Ackermann-function b/Lang/OCaml/Ackermann-function
new file mode 120000
index 0000000000..74f73b5af2
--- /dev/null
+++ b/Lang/OCaml/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Align-columns b/Lang/OCaml/Align-columns
new file mode 120000
index 0000000000..364d42bc9d
--- /dev/null
+++ b/Lang/OCaml/Align-columns
@@ -0,0 +1 @@
+../../Task/Align-columns/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Anagrams b/Lang/OCaml/Anagrams
new file mode 120000
index 0000000000..2a28271062
--- /dev/null
+++ b/Lang/OCaml/Anagrams
@@ -0,0 +1 @@
+../../Task/Anagrams/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Anagrams-Deranged-anagrams b/Lang/OCaml/Anagrams-Deranged-anagrams
new file mode 120000
index 0000000000..ef75a605d1
--- /dev/null
+++ b/Lang/OCaml/Anagrams-Deranged-anagrams
@@ -0,0 +1 @@
+../../Task/Anagrams-Deranged-anagrams/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Anonymous-recursion b/Lang/OCaml/Anonymous-recursion
new file mode 120000
index 0000000000..9119de40ac
--- /dev/null
+++ b/Lang/OCaml/Anonymous-recursion
@@ -0,0 +1 @@
+../../Task/Anonymous-recursion/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Apply-a-callback-to-an-array b/Lang/OCaml/Apply-a-callback-to-an-array
new file mode 120000
index 0000000000..81bee2e1b1
--- /dev/null
+++ b/Lang/OCaml/Apply-a-callback-to-an-array
@@ -0,0 +1 @@
+../../Task/Apply-a-callback-to-an-array/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Arbitrary-precision-integers-included b/Lang/OCaml/Arbitrary-precision-integers-included
new file mode 120000
index 0000000000..4c6abea4f8
--- /dev/null
+++ b/Lang/OCaml/Arbitrary-precision-integers-included
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers-included/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Arithmetic-Complex b/Lang/OCaml/Arithmetic-Complex
new file mode 120000
index 0000000000..02920a27a8
--- /dev/null
+++ b/Lang/OCaml/Arithmetic-Complex
@@ -0,0 +1 @@
+../../Task/Arithmetic-Complex/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Arithmetic-Integer b/Lang/OCaml/Arithmetic-Integer
new file mode 120000
index 0000000000..ae68828531
--- /dev/null
+++ b/Lang/OCaml/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Arithmetic-Rational b/Lang/OCaml/Arithmetic-Rational
new file mode 120000
index 0000000000..e53217f4cd
--- /dev/null
+++ b/Lang/OCaml/Arithmetic-Rational
@@ -0,0 +1 @@
+../../Task/Arithmetic-Rational/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Arithmetic-evaluation b/Lang/OCaml/Arithmetic-evaluation
new file mode 120000
index 0000000000..741933b8e8
--- /dev/null
+++ b/Lang/OCaml/Arithmetic-evaluation
@@ -0,0 +1 @@
+../../Task/Arithmetic-evaluation/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Arithmetic-geometric-mean b/Lang/OCaml/Arithmetic-geometric-mean
new file mode 120000
index 0000000000..658270d4fb
--- /dev/null
+++ b/Lang/OCaml/Arithmetic-geometric-mean
@@ -0,0 +1 @@
+../../Task/Arithmetic-geometric-mean/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Array-concatenation b/Lang/OCaml/Array-concatenation
new file mode 120000
index 0000000000..f2dbd6aaf1
--- /dev/null
+++ b/Lang/OCaml/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Arrays b/Lang/OCaml/Arrays
new file mode 120000
index 0000000000..04c371efab
--- /dev/null
+++ b/Lang/OCaml/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Assertions b/Lang/OCaml/Assertions
new file mode 120000
index 0000000000..a6d59cefdb
--- /dev/null
+++ b/Lang/OCaml/Assertions
@@ -0,0 +1 @@
+../../Task/Assertions/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Associative-array-Creation b/Lang/OCaml/Associative-array-Creation
new file mode 120000
index 0000000000..4e0a356b50
--- /dev/null
+++ b/Lang/OCaml/Associative-array-Creation
@@ -0,0 +1 @@
+../../Task/Associative-array-Creation/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Associative-array-Iteration b/Lang/OCaml/Associative-array-Iteration
new file mode 120000
index 0000000000..d39d0d663f
--- /dev/null
+++ b/Lang/OCaml/Associative-array-Iteration
@@ -0,0 +1 @@
+../../Task/Associative-array-Iteration/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Averages-Arithmetic-mean b/Lang/OCaml/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..5d680f95a4
--- /dev/null
+++ b/Lang/OCaml/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Averages-Mean-angle b/Lang/OCaml/Averages-Mean-angle
new file mode 120000
index 0000000000..603b541f80
--- /dev/null
+++ b/Lang/OCaml/Averages-Mean-angle
@@ -0,0 +1 @@
+../../Task/Averages-Mean-angle/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Averages-Mean-time-of-day b/Lang/OCaml/Averages-Mean-time-of-day
new file mode 120000
index 0000000000..e5ef68023f
--- /dev/null
+++ b/Lang/OCaml/Averages-Mean-time-of-day
@@ -0,0 +1 @@
+../../Task/Averages-Mean-time-of-day/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Averages-Median b/Lang/OCaml/Averages-Median
new file mode 120000
index 0000000000..96ede1c1f4
--- /dev/null
+++ b/Lang/OCaml/Averages-Median
@@ -0,0 +1 @@
+../../Task/Averages-Median/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Averages-Mode b/Lang/OCaml/Averages-Mode
new file mode 120000
index 0000000000..8f8101d398
--- /dev/null
+++ b/Lang/OCaml/Averages-Mode
@@ -0,0 +1 @@
+../../Task/Averages-Mode/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Averages-Pythagorean-means b/Lang/OCaml/Averages-Pythagorean-means
new file mode 120000
index 0000000000..bf9b262ce0
--- /dev/null
+++ b/Lang/OCaml/Averages-Pythagorean-means
@@ -0,0 +1 @@
+../../Task/Averages-Pythagorean-means/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Averages-Root-mean-square b/Lang/OCaml/Averages-Root-mean-square
new file mode 120000
index 0000000000..aa4c2991fa
--- /dev/null
+++ b/Lang/OCaml/Averages-Root-mean-square
@@ -0,0 +1 @@
+../../Task/Averages-Root-mean-square/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Averages-Simple-moving-average b/Lang/OCaml/Averages-Simple-moving-average
new file mode 120000
index 0000000000..553d34e5a5
--- /dev/null
+++ b/Lang/OCaml/Averages-Simple-moving-average
@@ -0,0 +1 @@
+../../Task/Averages-Simple-moving-average/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Balanced-brackets b/Lang/OCaml/Balanced-brackets
new file mode 120000
index 0000000000..2a53a0c91e
--- /dev/null
+++ b/Lang/OCaml/Balanced-brackets
@@ -0,0 +1 @@
+../../Task/Balanced-brackets/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Balanced-ternary b/Lang/OCaml/Balanced-ternary
new file mode 120000
index 0000000000..e1786b6c8f
--- /dev/null
+++ b/Lang/OCaml/Balanced-ternary
@@ -0,0 +1 @@
+../../Task/Balanced-ternary/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Best-shuffle b/Lang/OCaml/Best-shuffle
new file mode 120000
index 0000000000..b97e425dc4
--- /dev/null
+++ b/Lang/OCaml/Best-shuffle
@@ -0,0 +1 @@
+../../Task/Best-shuffle/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Binary-search b/Lang/OCaml/Binary-search
new file mode 120000
index 0000000000..438d1dcdd3
--- /dev/null
+++ b/Lang/OCaml/Binary-search
@@ -0,0 +1 @@
+../../Task/Binary-search/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Binary-strings b/Lang/OCaml/Binary-strings
new file mode 120000
index 0000000000..023c68c9c5
--- /dev/null
+++ b/Lang/OCaml/Binary-strings
@@ -0,0 +1 @@
+../../Task/Binary-strings/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Bitmap b/Lang/OCaml/Bitmap
new file mode 120000
index 0000000000..b87e9e75e2
--- /dev/null
+++ b/Lang/OCaml/Bitmap
@@ -0,0 +1 @@
+../../Task/Bitmap/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Bitmap-B-zier-curves-Cubic b/Lang/OCaml/Bitmap-B-zier-curves-Cubic
new file mode 120000
index 0000000000..a012296a95
--- /dev/null
+++ b/Lang/OCaml/Bitmap-B-zier-curves-Cubic
@@ -0,0 +1 @@
+../../Task/Bitmap-B-zier-curves-Cubic/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Bitmap-B-zier-curves-Quadratic b/Lang/OCaml/Bitmap-B-zier-curves-Quadratic
new file mode 120000
index 0000000000..de41b3fdd4
--- /dev/null
+++ b/Lang/OCaml/Bitmap-B-zier-curves-Quadratic
@@ -0,0 +1 @@
+../../Task/Bitmap-B-zier-curves-Quadratic/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Bitmap-Bresenhams-line-algorithm b/Lang/OCaml/Bitmap-Bresenhams-line-algorithm
new file mode 120000
index 0000000000..3410e24676
--- /dev/null
+++ b/Lang/OCaml/Bitmap-Bresenhams-line-algorithm
@@ -0,0 +1 @@
+../../Task/Bitmap-Bresenhams-line-algorithm/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Bitmap-Histogram b/Lang/OCaml/Bitmap-Histogram
new file mode 120000
index 0000000000..036efbeaaf
--- /dev/null
+++ b/Lang/OCaml/Bitmap-Histogram
@@ -0,0 +1 @@
+../../Task/Bitmap-Histogram/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Bitmap-Read-a-PPM-file b/Lang/OCaml/Bitmap-Read-a-PPM-file
new file mode 120000
index 0000000000..5b09614b10
--- /dev/null
+++ b/Lang/OCaml/Bitmap-Read-a-PPM-file
@@ -0,0 +1 @@
+../../Task/Bitmap-Read-a-PPM-file/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Bitmap-Read-an-image-through-a-pipe b/Lang/OCaml/Bitmap-Read-an-image-through-a-pipe
new file mode 120000
index 0000000000..ec675a0357
--- /dev/null
+++ b/Lang/OCaml/Bitmap-Read-an-image-through-a-pipe
@@ -0,0 +1 @@
+../../Task/Bitmap-Read-an-image-through-a-pipe/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Bitwise-IO b/Lang/OCaml/Bitwise-IO
new file mode 120000
index 0000000000..4a41dd7c86
--- /dev/null
+++ b/Lang/OCaml/Bitwise-IO
@@ -0,0 +1 @@
+../../Task/Bitwise-IO/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Bitwise-operations b/Lang/OCaml/Bitwise-operations
new file mode 120000
index 0000000000..b2daa77568
--- /dev/null
+++ b/Lang/OCaml/Bitwise-operations
@@ -0,0 +1 @@
+../../Task/Bitwise-operations/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Boolean-values b/Lang/OCaml/Boolean-values
new file mode 120000
index 0000000000..43a84ea9ab
--- /dev/null
+++ b/Lang/OCaml/Boolean-values
@@ -0,0 +1 @@
+../../Task/Boolean-values/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Bulls-and-cows b/Lang/OCaml/Bulls-and-cows
new file mode 120000
index 0000000000..42f837b796
--- /dev/null
+++ b/Lang/OCaml/Bulls-and-cows
@@ -0,0 +1 @@
+../../Task/Bulls-and-cows/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/CRC-32 b/Lang/OCaml/CRC-32
new file mode 120000
index 0000000000..af3965155d
--- /dev/null
+++ b/Lang/OCaml/CRC-32
@@ -0,0 +1 @@
+../../Task/CRC-32/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/CSV-to-HTML-translation b/Lang/OCaml/CSV-to-HTML-translation
new file mode 120000
index 0000000000..eba67345f9
--- /dev/null
+++ b/Lang/OCaml/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Caesar-cipher b/Lang/OCaml/Caesar-cipher
new file mode 120000
index 0000000000..6986f554b0
--- /dev/null
+++ b/Lang/OCaml/Caesar-cipher
@@ -0,0 +1 @@
+../../Task/Caesar-cipher/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Call-a-foreign-language-function b/Lang/OCaml/Call-a-foreign-language-function
new file mode 120000
index 0000000000..2b7e1603e8
--- /dev/null
+++ b/Lang/OCaml/Call-a-foreign-language-function
@@ -0,0 +1 @@
+../../Task/Call-a-foreign-language-function/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Call-a-function b/Lang/OCaml/Call-a-function
new file mode 120000
index 0000000000..973c7a425c
--- /dev/null
+++ b/Lang/OCaml/Call-a-function
@@ -0,0 +1 @@
+../../Task/Call-a-function/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Call-a-function-in-a-shared-library b/Lang/OCaml/Call-a-function-in-a-shared-library
new file mode 120000
index 0000000000..82afbc1e86
--- /dev/null
+++ b/Lang/OCaml/Call-a-function-in-a-shared-library
@@ -0,0 +1 @@
+../../Task/Call-a-function-in-a-shared-library/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Call-an-object-method b/Lang/OCaml/Call-an-object-method
new file mode 120000
index 0000000000..5fca4a7b6f
--- /dev/null
+++ b/Lang/OCaml/Call-an-object-method
@@ -0,0 +1 @@
+../../Task/Call-an-object-method/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Case-sensitivity-of-identifiers b/Lang/OCaml/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..5afb997124
--- /dev/null
+++ b/Lang/OCaml/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Catmull-Clark-subdivision-surface b/Lang/OCaml/Catmull-Clark-subdivision-surface
new file mode 120000
index 0000000000..6886e5dfd9
--- /dev/null
+++ b/Lang/OCaml/Catmull-Clark-subdivision-surface
@@ -0,0 +1 @@
+../../Task/Catmull-Clark-subdivision-surface/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Character-codes b/Lang/OCaml/Character-codes
new file mode 120000
index 0000000000..fecac356ae
--- /dev/null
+++ b/Lang/OCaml/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Character-matching b/Lang/OCaml/Character-matching
new file mode 120000
index 0000000000..1b9d904b68
--- /dev/null
+++ b/Lang/OCaml/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Check-Machin-like-formulas b/Lang/OCaml/Check-Machin-like-formulas
new file mode 120000
index 0000000000..2a5f512908
--- /dev/null
+++ b/Lang/OCaml/Check-Machin-like-formulas
@@ -0,0 +1 @@
+../../Task/Check-Machin-like-formulas/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Check-that-file-exists b/Lang/OCaml/Check-that-file-exists
new file mode 120000
index 0000000000..468da8aeba
--- /dev/null
+++ b/Lang/OCaml/Check-that-file-exists
@@ -0,0 +1 @@
+../../Task/Check-that-file-exists/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Cholesky-decomposition b/Lang/OCaml/Cholesky-decomposition
new file mode 120000
index 0000000000..f037ff3fd5
--- /dev/null
+++ b/Lang/OCaml/Cholesky-decomposition
@@ -0,0 +1 @@
+../../Task/Cholesky-decomposition/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Classes b/Lang/OCaml/Classes
new file mode 120000
index 0000000000..c716219a11
--- /dev/null
+++ b/Lang/OCaml/Classes
@@ -0,0 +1 @@
+../../Task/Classes/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Closest-pair-problem b/Lang/OCaml/Closest-pair-problem
new file mode 120000
index 0000000000..20027e671a
--- /dev/null
+++ b/Lang/OCaml/Closest-pair-problem
@@ -0,0 +1 @@
+../../Task/Closest-pair-problem/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Collections b/Lang/OCaml/Collections
new file mode 120000
index 0000000000..ecc9271270
--- /dev/null
+++ b/Lang/OCaml/Collections
@@ -0,0 +1 @@
+../../Task/Collections/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Color-quantization b/Lang/OCaml/Color-quantization
new file mode 120000
index 0000000000..9ad3f00cea
--- /dev/null
+++ b/Lang/OCaml/Color-quantization
@@ -0,0 +1 @@
+../../Task/Color-quantization/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Colour-bars-Display b/Lang/OCaml/Colour-bars-Display
new file mode 120000
index 0000000000..961222b30f
--- /dev/null
+++ b/Lang/OCaml/Colour-bars-Display
@@ -0,0 +1 @@
+../../Task/Colour-bars-Display/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Colour-pinstripe-Display b/Lang/OCaml/Colour-pinstripe-Display
new file mode 120000
index 0000000000..fcd8acb523
--- /dev/null
+++ b/Lang/OCaml/Colour-pinstripe-Display
@@ -0,0 +1 @@
+../../Task/Colour-pinstripe-Display/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Combinations b/Lang/OCaml/Combinations
new file mode 120000
index 0000000000..0b04d76e7c
--- /dev/null
+++ b/Lang/OCaml/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Combinations-with-repetitions b/Lang/OCaml/Combinations-with-repetitions
new file mode 120000
index 0000000000..ad2652a1e5
--- /dev/null
+++ b/Lang/OCaml/Combinations-with-repetitions
@@ -0,0 +1 @@
+../../Task/Combinations-with-repetitions/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Command-line-arguments b/Lang/OCaml/Command-line-arguments
new file mode 120000
index 0000000000..09d40cdd19
--- /dev/null
+++ b/Lang/OCaml/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Comments b/Lang/OCaml/Comments
new file mode 120000
index 0000000000..1b8334eb29
--- /dev/null
+++ b/Lang/OCaml/Comments
@@ -0,0 +1 @@
+../../Task/Comments/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Compile-time-calculation b/Lang/OCaml/Compile-time-calculation
new file mode 120000
index 0000000000..e7663e1edf
--- /dev/null
+++ b/Lang/OCaml/Compile-time-calculation
@@ -0,0 +1 @@
+../../Task/Compile-time-calculation/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Compound-data-type b/Lang/OCaml/Compound-data-type
new file mode 120000
index 0000000000..d57c71ac1e
--- /dev/null
+++ b/Lang/OCaml/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Concurrent-computing b/Lang/OCaml/Concurrent-computing
new file mode 120000
index 0000000000..3abc911ed9
--- /dev/null
+++ b/Lang/OCaml/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Conditional-structures b/Lang/OCaml/Conditional-structures
new file mode 120000
index 0000000000..42d95002cd
--- /dev/null
+++ b/Lang/OCaml/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Constrained-genericity b/Lang/OCaml/Constrained-genericity
new file mode 120000
index 0000000000..6cb0a97de4
--- /dev/null
+++ b/Lang/OCaml/Constrained-genericity
@@ -0,0 +1 @@
+../../Task/Constrained-genericity/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Constrained-random-points-on-a-circle b/Lang/OCaml/Constrained-random-points-on-a-circle
new file mode 120000
index 0000000000..cbe0d1c7d8
--- /dev/null
+++ b/Lang/OCaml/Constrained-random-points-on-a-circle
@@ -0,0 +1 @@
+../../Task/Constrained-random-points-on-a-circle/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Continued-fraction b/Lang/OCaml/Continued-fraction
new file mode 120000
index 0000000000..f778835563
--- /dev/null
+++ b/Lang/OCaml/Continued-fraction
@@ -0,0 +1 @@
+../../Task/Continued-fraction/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Conways-Game-of-Life b/Lang/OCaml/Conways-Game-of-Life
new file mode 120000
index 0000000000..7d6bfccde6
--- /dev/null
+++ b/Lang/OCaml/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Count-in-factors b/Lang/OCaml/Count-in-factors
new file mode 120000
index 0000000000..b5c52d9327
--- /dev/null
+++ b/Lang/OCaml/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Count-in-octal b/Lang/OCaml/Count-in-octal
new file mode 120000
index 0000000000..d6c09131cb
--- /dev/null
+++ b/Lang/OCaml/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Count-occurrences-of-a-substring b/Lang/OCaml/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..8721e40b38
--- /dev/null
+++ b/Lang/OCaml/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Count-the-coins b/Lang/OCaml/Count-the-coins
new file mode 120000
index 0000000000..c4a0e2de31
--- /dev/null
+++ b/Lang/OCaml/Count-the-coins
@@ -0,0 +1 @@
+../../Task/Count-the-coins/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Create-a-file b/Lang/OCaml/Create-a-file
new file mode 120000
index 0000000000..885e212163
--- /dev/null
+++ b/Lang/OCaml/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Create-a-two-dimensional-array-at-runtime b/Lang/OCaml/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..77fb75d7cb
--- /dev/null
+++ b/Lang/OCaml/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Create-an-HTML-table b/Lang/OCaml/Create-an-HTML-table
new file mode 120000
index 0000000000..91dffac412
--- /dev/null
+++ b/Lang/OCaml/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/DNS-query b/Lang/OCaml/DNS-query
new file mode 120000
index 0000000000..904c303c5f
--- /dev/null
+++ b/Lang/OCaml/DNS-query
@@ -0,0 +1 @@
+../../Task/DNS-query/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Date-format b/Lang/OCaml/Date-format
new file mode 120000
index 0000000000..667e4e2dd5
--- /dev/null
+++ b/Lang/OCaml/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Day-of-the-week b/Lang/OCaml/Day-of-the-week
new file mode 120000
index 0000000000..da5cebe76e
--- /dev/null
+++ b/Lang/OCaml/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Deal-cards-for-FreeCell b/Lang/OCaml/Deal-cards-for-FreeCell
new file mode 120000
index 0000000000..0b5de4c0e2
--- /dev/null
+++ b/Lang/OCaml/Deal-cards-for-FreeCell
@@ -0,0 +1 @@
+../../Task/Deal-cards-for-FreeCell/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Deepcopy b/Lang/OCaml/Deepcopy
new file mode 120000
index 0000000000..2b44b390b5
--- /dev/null
+++ b/Lang/OCaml/Deepcopy
@@ -0,0 +1 @@
+../../Task/Deepcopy/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Define-a-primitive-data-type b/Lang/OCaml/Define-a-primitive-data-type
new file mode 120000
index 0000000000..4ed25c41c2
--- /dev/null
+++ b/Lang/OCaml/Define-a-primitive-data-type
@@ -0,0 +1 @@
+../../Task/Define-a-primitive-data-type/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Delete-a-file b/Lang/OCaml/Delete-a-file
new file mode 120000
index 0000000000..e2acf5a873
--- /dev/null
+++ b/Lang/OCaml/Delete-a-file
@@ -0,0 +1 @@
+../../Task/Delete-a-file/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Detect-division-by-zero b/Lang/OCaml/Detect-division-by-zero
new file mode 120000
index 0000000000..f1009c4d3e
--- /dev/null
+++ b/Lang/OCaml/Detect-division-by-zero
@@ -0,0 +1 @@
+../../Task/Detect-division-by-zero/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Determine-if-a-string-is-numeric b/Lang/OCaml/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..67b38ac25b
--- /dev/null
+++ b/Lang/OCaml/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Determine-if-only-one-instance-is-running b/Lang/OCaml/Determine-if-only-one-instance-is-running
new file mode 120000
index 0000000000..c30deb4c43
--- /dev/null
+++ b/Lang/OCaml/Determine-if-only-one-instance-is-running
@@ -0,0 +1 @@
+../../Task/Determine-if-only-one-instance-is-running/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Distributed-programming b/Lang/OCaml/Distributed-programming
new file mode 120000
index 0000000000..4bdaa15258
--- /dev/null
+++ b/Lang/OCaml/Distributed-programming
@@ -0,0 +1 @@
+../../Task/Distributed-programming/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Dot-product b/Lang/OCaml/Dot-product
new file mode 120000
index 0000000000..ea9d680687
--- /dev/null
+++ b/Lang/OCaml/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Doubly-linked-list-Element-definition b/Lang/OCaml/Doubly-linked-list-Element-definition
new file mode 120000
index 0000000000..0a6447c73d
--- /dev/null
+++ b/Lang/OCaml/Doubly-linked-list-Element-definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-definition/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Doubly-linked-list-Element-insertion b/Lang/OCaml/Doubly-linked-list-Element-insertion
new file mode 120000
index 0000000000..03e6eb67bb
--- /dev/null
+++ b/Lang/OCaml/Doubly-linked-list-Element-insertion
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-insertion/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Empty-directory b/Lang/OCaml/Empty-directory
new file mode 120000
index 0000000000..124d2c1a8a
--- /dev/null
+++ b/Lang/OCaml/Empty-directory
@@ -0,0 +1 @@
+../../Task/Empty-directory/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Empty-program b/Lang/OCaml/Empty-program
new file mode 120000
index 0000000000..41d7aa7f09
--- /dev/null
+++ b/Lang/OCaml/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Empty-string b/Lang/OCaml/Empty-string
new file mode 120000
index 0000000000..f5921e7611
--- /dev/null
+++ b/Lang/OCaml/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Enforced-immutability b/Lang/OCaml/Enforced-immutability
new file mode 120000
index 0000000000..0cb10400a4
--- /dev/null
+++ b/Lang/OCaml/Enforced-immutability
@@ -0,0 +1 @@
+../../Task/Enforced-immutability/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Enumerations b/Lang/OCaml/Enumerations
new file mode 120000
index 0000000000..a805f4e566
--- /dev/null
+++ b/Lang/OCaml/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Equilibrium-index b/Lang/OCaml/Equilibrium-index
new file mode 120000
index 0000000000..25528f6e5d
--- /dev/null
+++ b/Lang/OCaml/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Ethiopian-multiplication b/Lang/OCaml/Ethiopian-multiplication
new file mode 120000
index 0000000000..739cacb60d
--- /dev/null
+++ b/Lang/OCaml/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Evaluate-binomial-coefficients b/Lang/OCaml/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..69bfcdbcf0
--- /dev/null
+++ b/Lang/OCaml/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Even-or-odd b/Lang/OCaml/Even-or-odd
new file mode 120000
index 0000000000..3adabf7062
--- /dev/null
+++ b/Lang/OCaml/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Evolutionary-algorithm b/Lang/OCaml/Evolutionary-algorithm
new file mode 120000
index 0000000000..f96674f941
--- /dev/null
+++ b/Lang/OCaml/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Exceptions b/Lang/OCaml/Exceptions
new file mode 120000
index 0000000000..7cb950cf89
--- /dev/null
+++ b/Lang/OCaml/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/OCaml/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..9d49f891ef
--- /dev/null
+++ b/Lang/OCaml/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Execute-a-system-command b/Lang/OCaml/Execute-a-system-command
new file mode 120000
index 0000000000..cac0c3aac4
--- /dev/null
+++ b/Lang/OCaml/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Exponentiation-operator b/Lang/OCaml/Exponentiation-operator
new file mode 120000
index 0000000000..abb839516e
--- /dev/null
+++ b/Lang/OCaml/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Extreme-floating-point-values b/Lang/OCaml/Extreme-floating-point-values
new file mode 120000
index 0000000000..5a9a8a943e
--- /dev/null
+++ b/Lang/OCaml/Extreme-floating-point-values
@@ -0,0 +1 @@
+../../Task/Extreme-floating-point-values/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Factorial b/Lang/OCaml/Factorial
new file mode 120000
index 0000000000..70aa84cdf9
--- /dev/null
+++ b/Lang/OCaml/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Factors-of-an-integer b/Lang/OCaml/Factors-of-an-integer
new file mode 120000
index 0000000000..383a1106ad
--- /dev/null
+++ b/Lang/OCaml/Factors-of-an-integer
@@ -0,0 +1 @@
+../../Task/Factors-of-an-integer/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Fast-Fourier-transform b/Lang/OCaml/Fast-Fourier-transform
new file mode 120000
index 0000000000..18bbb651a2
--- /dev/null
+++ b/Lang/OCaml/Fast-Fourier-transform
@@ -0,0 +1 @@
+../../Task/Fast-Fourier-transform/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Fibonacci-sequence b/Lang/OCaml/Fibonacci-sequence
new file mode 120000
index 0000000000..778ffdf928
--- /dev/null
+++ b/Lang/OCaml/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/File-IO b/Lang/OCaml/File-IO
new file mode 120000
index 0000000000..8557844849
--- /dev/null
+++ b/Lang/OCaml/File-IO
@@ -0,0 +1 @@
+../../Task/File-IO/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/File-modification-time b/Lang/OCaml/File-modification-time
new file mode 120000
index 0000000000..2aead5e435
--- /dev/null
+++ b/Lang/OCaml/File-modification-time
@@ -0,0 +1 @@
+../../Task/File-modification-time/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/File-size b/Lang/OCaml/File-size
new file mode 120000
index 0000000000..9b092c92de
--- /dev/null
+++ b/Lang/OCaml/File-size
@@ -0,0 +1 @@
+../../Task/File-size/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Filter b/Lang/OCaml/Filter
new file mode 120000
index 0000000000..73df3512a7
--- /dev/null
+++ b/Lang/OCaml/Filter
@@ -0,0 +1 @@
+../../Task/Filter/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Find-common-directory-path b/Lang/OCaml/Find-common-directory-path
new file mode 120000
index 0000000000..88483462d8
--- /dev/null
+++ b/Lang/OCaml/Find-common-directory-path
@@ -0,0 +1 @@
+../../Task/Find-common-directory-path/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Find-limit-of-recursion b/Lang/OCaml/Find-limit-of-recursion
new file mode 120000
index 0000000000..5797f2b798
--- /dev/null
+++ b/Lang/OCaml/Find-limit-of-recursion
@@ -0,0 +1 @@
+../../Task/Find-limit-of-recursion/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Find-the-missing-permutation b/Lang/OCaml/Find-the-missing-permutation
new file mode 120000
index 0000000000..e1e1d4ea53
--- /dev/null
+++ b/Lang/OCaml/Find-the-missing-permutation
@@ -0,0 +1 @@
+../../Task/Find-the-missing-permutation/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/First-class-functions b/Lang/OCaml/First-class-functions
new file mode 120000
index 0000000000..b99e8654cb
--- /dev/null
+++ b/Lang/OCaml/First-class-functions
@@ -0,0 +1 @@
+../../Task/First-class-functions/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/First-class-functions-Use-numbers-analogously b/Lang/OCaml/First-class-functions-Use-numbers-analogously
new file mode 120000
index 0000000000..d84d6610c3
--- /dev/null
+++ b/Lang/OCaml/First-class-functions-Use-numbers-analogously
@@ -0,0 +1 @@
+../../Task/First-class-functions-Use-numbers-analogously/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Five-weekends b/Lang/OCaml/Five-weekends
new file mode 120000
index 0000000000..d58bbdfa71
--- /dev/null
+++ b/Lang/OCaml/Five-weekends
@@ -0,0 +1 @@
+../../Task/Five-weekends/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/FizzBuzz b/Lang/OCaml/FizzBuzz
new file mode 120000
index 0000000000..e1f07266a2
--- /dev/null
+++ b/Lang/OCaml/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Flatten-a-list b/Lang/OCaml/Flatten-a-list
new file mode 120000
index 0000000000..8ccf068233
--- /dev/null
+++ b/Lang/OCaml/Flatten-a-list
@@ -0,0 +1 @@
+../../Task/Flatten-a-list/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Flow-control-structures b/Lang/OCaml/Flow-control-structures
new file mode 120000
index 0000000000..14fd83a915
--- /dev/null
+++ b/Lang/OCaml/Flow-control-structures
@@ -0,0 +1 @@
+../../Task/Flow-control-structures/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Floyds-triangle b/Lang/OCaml/Floyds-triangle
new file mode 120000
index 0000000000..ec509c2ab5
--- /dev/null
+++ b/Lang/OCaml/Floyds-triangle
@@ -0,0 +1 @@
+../../Task/Floyds-triangle/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Forest-fire b/Lang/OCaml/Forest-fire
new file mode 120000
index 0000000000..6331f9790e
--- /dev/null
+++ b/Lang/OCaml/Forest-fire
@@ -0,0 +1 @@
+../../Task/Forest-fire/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Fork b/Lang/OCaml/Fork
new file mode 120000
index 0000000000..55c199085b
--- /dev/null
+++ b/Lang/OCaml/Fork
@@ -0,0 +1 @@
+../../Task/Fork/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Formatted-numeric-output b/Lang/OCaml/Formatted-numeric-output
new file mode 120000
index 0000000000..f91f47125c
--- /dev/null
+++ b/Lang/OCaml/Formatted-numeric-output
@@ -0,0 +1 @@
+../../Task/Formatted-numeric-output/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Forward-difference b/Lang/OCaml/Forward-difference
new file mode 120000
index 0000000000..4c28795be8
--- /dev/null
+++ b/Lang/OCaml/Forward-difference
@@ -0,0 +1 @@
+../../Task/Forward-difference/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Four-bit-adder b/Lang/OCaml/Four-bit-adder
new file mode 120000
index 0000000000..59d364fc5d
--- /dev/null
+++ b/Lang/OCaml/Four-bit-adder
@@ -0,0 +1 @@
+../../Task/Four-bit-adder/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Fractal-tree b/Lang/OCaml/Fractal-tree
new file mode 120000
index 0000000000..64c4189951
--- /dev/null
+++ b/Lang/OCaml/Fractal-tree
@@ -0,0 +1 @@
+../../Task/Fractal-tree/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Function-composition b/Lang/OCaml/Function-composition
new file mode 120000
index 0000000000..99a3257f37
--- /dev/null
+++ b/Lang/OCaml/Function-composition
@@ -0,0 +1 @@
+../../Task/Function-composition/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Function-definition b/Lang/OCaml/Function-definition
new file mode 120000
index 0000000000..fa587a84a9
--- /dev/null
+++ b/Lang/OCaml/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Gamma-function b/Lang/OCaml/Gamma-function
new file mode 120000
index 0000000000..c92f7f3a05
--- /dev/null
+++ b/Lang/OCaml/Gamma-function
@@ -0,0 +1 @@
+../../Task/Gamma-function/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Generic-swap b/Lang/OCaml/Generic-swap
new file mode 120000
index 0000000000..2e0f59472f
--- /dev/null
+++ b/Lang/OCaml/Generic-swap
@@ -0,0 +1 @@
+../../Task/Generic-swap/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Gray-code b/Lang/OCaml/Gray-code
new file mode 120000
index 0000000000..25ae3d5231
--- /dev/null
+++ b/Lang/OCaml/Gray-code
@@ -0,0 +1 @@
+../../Task/Gray-code/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Grayscale-image b/Lang/OCaml/Grayscale-image
new file mode 120000
index 0000000000..886217333f
--- /dev/null
+++ b/Lang/OCaml/Grayscale-image
@@ -0,0 +1 @@
+../../Task/Grayscale-image/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Greatest-common-divisor b/Lang/OCaml/Greatest-common-divisor
new file mode 120000
index 0000000000..87064209b7
--- /dev/null
+++ b/Lang/OCaml/Greatest-common-divisor
@@ -0,0 +1 @@
+../../Task/Greatest-common-divisor/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Greatest-element-of-a-list b/Lang/OCaml/Greatest-element-of-a-list
new file mode 120000
index 0000000000..bcdb3404e8
--- /dev/null
+++ b/Lang/OCaml/Greatest-element-of-a-list
@@ -0,0 +1 @@
+../../Task/Greatest-element-of-a-list/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Greatest-subsequential-sum b/Lang/OCaml/Greatest-subsequential-sum
new file mode 120000
index 0000000000..8822230d7e
--- /dev/null
+++ b/Lang/OCaml/Greatest-subsequential-sum
@@ -0,0 +1 @@
+../../Task/Greatest-subsequential-sum/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Greyscale-bars-Display b/Lang/OCaml/Greyscale-bars-Display
new file mode 120000
index 0000000000..af2931c4f8
--- /dev/null
+++ b/Lang/OCaml/Greyscale-bars-Display
@@ -0,0 +1 @@
+../../Task/Greyscale-bars-Display/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Guess-the-number b/Lang/OCaml/Guess-the-number
new file mode 120000
index 0000000000..b442d784e5
--- /dev/null
+++ b/Lang/OCaml/Guess-the-number
@@ -0,0 +1 @@
+../../Task/Guess-the-number/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Guess-the-number-With-feedback b/Lang/OCaml/Guess-the-number-With-feedback
new file mode 120000
index 0000000000..0a2b23088a
--- /dev/null
+++ b/Lang/OCaml/Guess-the-number-With-feedback
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/HTTP b/Lang/OCaml/HTTP
new file mode 120000
index 0000000000..20b580bdaa
--- /dev/null
+++ b/Lang/OCaml/HTTP
@@ -0,0 +1 @@
+../../Task/HTTP/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Hailstone-sequence b/Lang/OCaml/Hailstone-sequence
new file mode 120000
index 0000000000..bd4f833845
--- /dev/null
+++ b/Lang/OCaml/Hailstone-sequence
@@ -0,0 +1 @@
+../../Task/Hailstone-sequence/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Handle-a-signal b/Lang/OCaml/Handle-a-signal
new file mode 120000
index 0000000000..8b34469500
--- /dev/null
+++ b/Lang/OCaml/Handle-a-signal
@@ -0,0 +1 @@
+../../Task/Handle-a-signal/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Happy-numbers b/Lang/OCaml/Happy-numbers
new file mode 120000
index 0000000000..0ecee701e0
--- /dev/null
+++ b/Lang/OCaml/Happy-numbers
@@ -0,0 +1 @@
+../../Task/Happy-numbers/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Hash-from-two-arrays b/Lang/OCaml/Hash-from-two-arrays
new file mode 120000
index 0000000000..52ff151bb6
--- /dev/null
+++ b/Lang/OCaml/Hash-from-two-arrays
@@ -0,0 +1 @@
+../../Task/Hash-from-two-arrays/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Hello-world-Graphical b/Lang/OCaml/Hello-world-Graphical
new file mode 120000
index 0000000000..042aa92c20
--- /dev/null
+++ b/Lang/OCaml/Hello-world-Graphical
@@ -0,0 +1 @@
+../../Task/Hello-world-Graphical/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Hello-world-Line-printer b/Lang/OCaml/Hello-world-Line-printer
new file mode 120000
index 0000000000..77518aad55
--- /dev/null
+++ b/Lang/OCaml/Hello-world-Line-printer
@@ -0,0 +1 @@
+../../Task/Hello-world-Line-printer/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Hello-world-Newline-omission b/Lang/OCaml/Hello-world-Newline-omission
new file mode 120000
index 0000000000..7ce569e7d1
--- /dev/null
+++ b/Lang/OCaml/Hello-world-Newline-omission
@@ -0,0 +1 @@
+../../Task/Hello-world-Newline-omission/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Hello-world-Standard-error b/Lang/OCaml/Hello-world-Standard-error
new file mode 120000
index 0000000000..d3ded3c322
--- /dev/null
+++ b/Lang/OCaml/Hello-world-Standard-error
@@ -0,0 +1 @@
+../../Task/Hello-world-Standard-error/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Hello-world-Text b/Lang/OCaml/Hello-world-Text
new file mode 120000
index 0000000000..0320b7c4ad
--- /dev/null
+++ b/Lang/OCaml/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Hello-world-Web-server b/Lang/OCaml/Hello-world-Web-server
new file mode 120000
index 0000000000..760e0bba5f
--- /dev/null
+++ b/Lang/OCaml/Hello-world-Web-server
@@ -0,0 +1 @@
+../../Task/Hello-world-Web-server/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Higher-order-functions b/Lang/OCaml/Higher-order-functions
new file mode 120000
index 0000000000..d0c34ba854
--- /dev/null
+++ b/Lang/OCaml/Higher-order-functions
@@ -0,0 +1 @@
+../../Task/Higher-order-functions/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Horizontal-sundial-calculations b/Lang/OCaml/Horizontal-sundial-calculations
new file mode 120000
index 0000000000..8e096fb5a8
--- /dev/null
+++ b/Lang/OCaml/Horizontal-sundial-calculations
@@ -0,0 +1 @@
+../../Task/Horizontal-sundial-calculations/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Horners-rule-for-polynomial-evaluation b/Lang/OCaml/Horners-rule-for-polynomial-evaluation
new file mode 120000
index 0000000000..49d2c94937
--- /dev/null
+++ b/Lang/OCaml/Horners-rule-for-polynomial-evaluation
@@ -0,0 +1 @@
+../../Task/Horners-rule-for-polynomial-evaluation/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Host-introspection b/Lang/OCaml/Host-introspection
new file mode 120000
index 0000000000..f77b2189c7
--- /dev/null
+++ b/Lang/OCaml/Host-introspection
@@ -0,0 +1 @@
+../../Task/Host-introspection/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Hostname b/Lang/OCaml/Hostname
new file mode 120000
index 0000000000..8b0b1e0b4b
--- /dev/null
+++ b/Lang/OCaml/Hostname
@@ -0,0 +1 @@
+../../Task/Hostname/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Huffman-coding b/Lang/OCaml/Huffman-coding
new file mode 120000
index 0000000000..aeebfe5f71
--- /dev/null
+++ b/Lang/OCaml/Huffman-coding
@@ -0,0 +1 @@
+../../Task/Huffman-coding/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Identity-matrix b/Lang/OCaml/Identity-matrix
new file mode 120000
index 0000000000..923c44fdf3
--- /dev/null
+++ b/Lang/OCaml/Identity-matrix
@@ -0,0 +1 @@
+../../Task/Identity-matrix/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Image-convolution b/Lang/OCaml/Image-convolution
new file mode 120000
index 0000000000..ba6856a488
--- /dev/null
+++ b/Lang/OCaml/Image-convolution
@@ -0,0 +1 @@
+../../Task/Image-convolution/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Image-noise b/Lang/OCaml/Image-noise
new file mode 120000
index 0000000000..85341fccdd
--- /dev/null
+++ b/Lang/OCaml/Image-noise
@@ -0,0 +1 @@
+../../Task/Image-noise/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Include-a-file b/Lang/OCaml/Include-a-file
new file mode 120000
index 0000000000..41f42cc0ed
--- /dev/null
+++ b/Lang/OCaml/Include-a-file
@@ -0,0 +1 @@
+../../Task/Include-a-file/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Increment-a-numerical-string b/Lang/OCaml/Increment-a-numerical-string
new file mode 120000
index 0000000000..d6501c3fcd
--- /dev/null
+++ b/Lang/OCaml/Increment-a-numerical-string
@@ -0,0 +1 @@
+../../Task/Increment-a-numerical-string/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Infinity b/Lang/OCaml/Infinity
new file mode 120000
index 0000000000..7e17336396
--- /dev/null
+++ b/Lang/OCaml/Infinity
@@ -0,0 +1 @@
+../../Task/Infinity/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Inheritance-Multiple b/Lang/OCaml/Inheritance-Multiple
new file mode 120000
index 0000000000..5518c103e7
--- /dev/null
+++ b/Lang/OCaml/Inheritance-Multiple
@@ -0,0 +1 @@
+../../Task/Inheritance-Multiple/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Inheritance-Single b/Lang/OCaml/Inheritance-Single
new file mode 120000
index 0000000000..757495cab4
--- /dev/null
+++ b/Lang/OCaml/Inheritance-Single
@@ -0,0 +1 @@
+../../Task/Inheritance-Single/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Input-loop b/Lang/OCaml/Input-loop
new file mode 120000
index 0000000000..358ed200ea
--- /dev/null
+++ b/Lang/OCaml/Input-loop
@@ -0,0 +1 @@
+../../Task/Input-loop/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Integer-comparison b/Lang/OCaml/Integer-comparison
new file mode 120000
index 0000000000..d4702ece3c
--- /dev/null
+++ b/Lang/OCaml/Integer-comparison
@@ -0,0 +1 @@
+../../Task/Integer-comparison/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Integer-sequence b/Lang/OCaml/Integer-sequence
new file mode 120000
index 0000000000..2b2322da36
--- /dev/null
+++ b/Lang/OCaml/Integer-sequence
@@ -0,0 +1 @@
+../../Task/Integer-sequence/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Interactive-programming b/Lang/OCaml/Interactive-programming
new file mode 120000
index 0000000000..9555652691
--- /dev/null
+++ b/Lang/OCaml/Interactive-programming
@@ -0,0 +1 @@
+../../Task/Interactive-programming/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Introspection b/Lang/OCaml/Introspection
new file mode 120000
index 0000000000..2c22ffdd77
--- /dev/null
+++ b/Lang/OCaml/Introspection
@@ -0,0 +1 @@
+../../Task/Introspection/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Inverted-index b/Lang/OCaml/Inverted-index
new file mode 120000
index 0000000000..079eb6655b
--- /dev/null
+++ b/Lang/OCaml/Inverted-index
@@ -0,0 +1 @@
+../../Task/Inverted-index/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/JSON b/Lang/OCaml/JSON
new file mode 120000
index 0000000000..efd3b0523e
--- /dev/null
+++ b/Lang/OCaml/JSON
@@ -0,0 +1 @@
+../../Task/JSON/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Jensens-Device b/Lang/OCaml/Jensens-Device
new file mode 120000
index 0000000000..187db437b2
--- /dev/null
+++ b/Lang/OCaml/Jensens-Device
@@ -0,0 +1 @@
+../../Task/Jensens-Device/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Joystick-position b/Lang/OCaml/Joystick-position
new file mode 120000
index 0000000000..02692fbcf9
--- /dev/null
+++ b/Lang/OCaml/Joystick-position
@@ -0,0 +1 @@
+../../Task/Joystick-position/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Knapsack-problem-0-1 b/Lang/OCaml/Knapsack-problem-0-1
new file mode 120000
index 0000000000..568ad1268f
--- /dev/null
+++ b/Lang/OCaml/Knapsack-problem-0-1
@@ -0,0 +1 @@
+../../Task/Knapsack-problem-0-1/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Knapsack-problem-Continuous b/Lang/OCaml/Knapsack-problem-Continuous
new file mode 120000
index 0000000000..1059ce8f78
--- /dev/null
+++ b/Lang/OCaml/Knapsack-problem-Continuous
@@ -0,0 +1 @@
+../../Task/Knapsack-problem-Continuous/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Knapsack-problem-Unbounded b/Lang/OCaml/Knapsack-problem-Unbounded
new file mode 120000
index 0000000000..5e40beebc6
--- /dev/null
+++ b/Lang/OCaml/Knapsack-problem-Unbounded
@@ -0,0 +1 @@
+../../Task/Knapsack-problem-Unbounded/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Knuth-shuffle b/Lang/OCaml/Knuth-shuffle
new file mode 120000
index 0000000000..dac6cc447e
--- /dev/null
+++ b/Lang/OCaml/Knuth-shuffle
@@ -0,0 +1 @@
+../../Task/Knuth-shuffle/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Knuths-algorithm-S b/Lang/OCaml/Knuths-algorithm-S
new file mode 120000
index 0000000000..345d6d5d82
--- /dev/null
+++ b/Lang/OCaml/Knuths-algorithm-S
@@ -0,0 +1 @@
+../../Task/Knuths-algorithm-S/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/LZW-compression b/Lang/OCaml/LZW-compression
new file mode 120000
index 0000000000..b3cb940c94
--- /dev/null
+++ b/Lang/OCaml/LZW-compression
@@ -0,0 +1 @@
+../../Task/LZW-compression/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Langtons-ant b/Lang/OCaml/Langtons-ant
new file mode 120000
index 0000000000..9672048e03
--- /dev/null
+++ b/Lang/OCaml/Langtons-ant
@@ -0,0 +1 @@
+../../Task/Langtons-ant/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Largest-int-from-concatenated-ints b/Lang/OCaml/Largest-int-from-concatenated-ints
new file mode 120000
index 0000000000..b3a89d6b7d
--- /dev/null
+++ b/Lang/OCaml/Largest-int-from-concatenated-ints
@@ -0,0 +1 @@
+../../Task/Largest-int-from-concatenated-ints/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Last-Friday-of-each-month b/Lang/OCaml/Last-Friday-of-each-month
new file mode 120000
index 0000000000..66d354571a
--- /dev/null
+++ b/Lang/OCaml/Last-Friday-of-each-month
@@ -0,0 +1 @@
+../../Task/Last-Friday-of-each-month/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Leap-year b/Lang/OCaml/Leap-year
new file mode 120000
index 0000000000..ebb122fd20
--- /dev/null
+++ b/Lang/OCaml/Leap-year
@@ -0,0 +1 @@
+../../Task/Leap-year/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Least-common-multiple b/Lang/OCaml/Least-common-multiple
new file mode 120000
index 0000000000..b9f153c3c9
--- /dev/null
+++ b/Lang/OCaml/Least-common-multiple
@@ -0,0 +1 @@
+../../Task/Least-common-multiple/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Letter-frequency b/Lang/OCaml/Letter-frequency
new file mode 120000
index 0000000000..6f8ee909cc
--- /dev/null
+++ b/Lang/OCaml/Letter-frequency
@@ -0,0 +1 @@
+../../Task/Letter-frequency/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Levenshtein-distance b/Lang/OCaml/Levenshtein-distance
new file mode 120000
index 0000000000..a39469a6f0
--- /dev/null
+++ b/Lang/OCaml/Levenshtein-distance
@@ -0,0 +1 @@
+../../Task/Levenshtein-distance/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/List-comprehensions b/Lang/OCaml/List-comprehensions
new file mode 120000
index 0000000000..bfd2de4817
--- /dev/null
+++ b/Lang/OCaml/List-comprehensions
@@ -0,0 +1 @@
+../../Task/List-comprehensions/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Literals-Floating-point b/Lang/OCaml/Literals-Floating-point
new file mode 120000
index 0000000000..427cb820fe
--- /dev/null
+++ b/Lang/OCaml/Literals-Floating-point
@@ -0,0 +1 @@
+../../Task/Literals-Floating-point/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Literals-Integer b/Lang/OCaml/Literals-Integer
new file mode 120000
index 0000000000..f5d1d8651f
--- /dev/null
+++ b/Lang/OCaml/Literals-Integer
@@ -0,0 +1 @@
+../../Task/Literals-Integer/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Literals-String b/Lang/OCaml/Literals-String
new file mode 120000
index 0000000000..713097b0c6
--- /dev/null
+++ b/Lang/OCaml/Literals-String
@@ -0,0 +1 @@
+../../Task/Literals-String/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Logical-operations b/Lang/OCaml/Logical-operations
new file mode 120000
index 0000000000..4a305a03d6
--- /dev/null
+++ b/Lang/OCaml/Logical-operations
@@ -0,0 +1 @@
+../../Task/Logical-operations/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Longest-common-subsequence b/Lang/OCaml/Longest-common-subsequence
new file mode 120000
index 0000000000..d62c411c11
--- /dev/null
+++ b/Lang/OCaml/Longest-common-subsequence
@@ -0,0 +1 @@
+../../Task/Longest-common-subsequence/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Longest-string-challenge b/Lang/OCaml/Longest-string-challenge
new file mode 120000
index 0000000000..aca786bef5
--- /dev/null
+++ b/Lang/OCaml/Longest-string-challenge
@@ -0,0 +1 @@
+../../Task/Longest-string-challenge/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Look-and-say-sequence b/Lang/OCaml/Look-and-say-sequence
new file mode 120000
index 0000000000..bf7183f647
--- /dev/null
+++ b/Lang/OCaml/Look-and-say-sequence
@@ -0,0 +1 @@
+../../Task/Look-and-say-sequence/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Loop-over-multiple-arrays-simultaneously b/Lang/OCaml/Loop-over-multiple-arrays-simultaneously
new file mode 120000
index 0000000000..69168e08f3
--- /dev/null
+++ b/Lang/OCaml/Loop-over-multiple-arrays-simultaneously
@@ -0,0 +1 @@
+../../Task/Loop-over-multiple-arrays-simultaneously/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Loops-Break b/Lang/OCaml/Loops-Break
new file mode 120000
index 0000000000..9a42c3afb9
--- /dev/null
+++ b/Lang/OCaml/Loops-Break
@@ -0,0 +1 @@
+../../Task/Loops-Break/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Loops-Continue b/Lang/OCaml/Loops-Continue
new file mode 120000
index 0000000000..288d593a59
--- /dev/null
+++ b/Lang/OCaml/Loops-Continue
@@ -0,0 +1 @@
+../../Task/Loops-Continue/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Loops-Do-while b/Lang/OCaml/Loops-Do-while
new file mode 120000
index 0000000000..5eca1f36e2
--- /dev/null
+++ b/Lang/OCaml/Loops-Do-while
@@ -0,0 +1 @@
+../../Task/Loops-Do-while/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Loops-Downward-for b/Lang/OCaml/Loops-Downward-for
new file mode 120000
index 0000000000..80ce63134c
--- /dev/null
+++ b/Lang/OCaml/Loops-Downward-for
@@ -0,0 +1 @@
+../../Task/Loops-Downward-for/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Loops-For b/Lang/OCaml/Loops-For
new file mode 120000
index 0000000000..f3626c93e2
--- /dev/null
+++ b/Lang/OCaml/Loops-For
@@ -0,0 +1 @@
+../../Task/Loops-For/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Loops-For-with-a-specified-step b/Lang/OCaml/Loops-For-with-a-specified-step
new file mode 120000
index 0000000000..fc3301fd7f
--- /dev/null
+++ b/Lang/OCaml/Loops-For-with-a-specified-step
@@ -0,0 +1 @@
+../../Task/Loops-For-with-a-specified-step/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Loops-Foreach b/Lang/OCaml/Loops-Foreach
new file mode 120000
index 0000000000..1cbb0601c4
--- /dev/null
+++ b/Lang/OCaml/Loops-Foreach
@@ -0,0 +1 @@
+../../Task/Loops-Foreach/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Loops-Infinite b/Lang/OCaml/Loops-Infinite
new file mode 120000
index 0000000000..9ee335eeaf
--- /dev/null
+++ b/Lang/OCaml/Loops-Infinite
@@ -0,0 +1 @@
+../../Task/Loops-Infinite/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Loops-N-plus-one-half b/Lang/OCaml/Loops-N-plus-one-half
new file mode 120000
index 0000000000..f58e47593d
--- /dev/null
+++ b/Lang/OCaml/Loops-N-plus-one-half
@@ -0,0 +1 @@
+../../Task/Loops-N-plus-one-half/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Loops-Nested b/Lang/OCaml/Loops-Nested
new file mode 120000
index 0000000000..9c83a81bdb
--- /dev/null
+++ b/Lang/OCaml/Loops-Nested
@@ -0,0 +1 @@
+../../Task/Loops-Nested/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Loops-While b/Lang/OCaml/Loops-While
new file mode 120000
index 0000000000..88f659b4b0
--- /dev/null
+++ b/Lang/OCaml/Loops-While
@@ -0,0 +1 @@
+../../Task/Loops-While/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Luhn-test-of-credit-card-numbers b/Lang/OCaml/Luhn-test-of-credit-card-numbers
new file mode 120000
index 0000000000..f5d5968cbb
--- /dev/null
+++ b/Lang/OCaml/Luhn-test-of-credit-card-numbers
@@ -0,0 +1 @@
+../../Task/Luhn-test-of-credit-card-numbers/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/MD5 b/Lang/OCaml/MD5
new file mode 120000
index 0000000000..82502cef57
--- /dev/null
+++ b/Lang/OCaml/MD5
@@ -0,0 +1 @@
+../../Task/MD5/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Man-or-boy-test b/Lang/OCaml/Man-or-boy-test
new file mode 120000
index 0000000000..a4dd6e856d
--- /dev/null
+++ b/Lang/OCaml/Man-or-boy-test
@@ -0,0 +1 @@
+../../Task/Man-or-boy-test/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Mandelbrot-set b/Lang/OCaml/Mandelbrot-set
new file mode 120000
index 0000000000..1903d77fd6
--- /dev/null
+++ b/Lang/OCaml/Mandelbrot-set
@@ -0,0 +1 @@
+../../Task/Mandelbrot-set/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Map-range b/Lang/OCaml/Map-range
new file mode 120000
index 0000000000..28707cc9c0
--- /dev/null
+++ b/Lang/OCaml/Map-range
@@ -0,0 +1 @@
+../../Task/Map-range/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Matrix-exponentiation-operator b/Lang/OCaml/Matrix-exponentiation-operator
new file mode 120000
index 0000000000..840b71270d
--- /dev/null
+++ b/Lang/OCaml/Matrix-exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Matrix-exponentiation-operator/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Matrix-multiplication b/Lang/OCaml/Matrix-multiplication
new file mode 120000
index 0000000000..3cd17b3786
--- /dev/null
+++ b/Lang/OCaml/Matrix-multiplication
@@ -0,0 +1 @@
+../../Task/Matrix-multiplication/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Matrix-transposition b/Lang/OCaml/Matrix-transposition
new file mode 120000
index 0000000000..e53b84dee1
--- /dev/null
+++ b/Lang/OCaml/Matrix-transposition
@@ -0,0 +1 @@
+../../Task/Matrix-transposition/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Maze-generation b/Lang/OCaml/Maze-generation
new file mode 120000
index 0000000000..909e66d0d3
--- /dev/null
+++ b/Lang/OCaml/Maze-generation
@@ -0,0 +1 @@
+../../Task/Maze-generation/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Median-filter b/Lang/OCaml/Median-filter
new file mode 120000
index 0000000000..ae94caee50
--- /dev/null
+++ b/Lang/OCaml/Median-filter
@@ -0,0 +1 @@
+../../Task/Median-filter/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Memory-layout-of-a-data-structure b/Lang/OCaml/Memory-layout-of-a-data-structure
new file mode 120000
index 0000000000..8054d55dec
--- /dev/null
+++ b/Lang/OCaml/Memory-layout-of-a-data-structure
@@ -0,0 +1 @@
+../../Task/Memory-layout-of-a-data-structure/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Menu b/Lang/OCaml/Menu
new file mode 120000
index 0000000000..73441aa683
--- /dev/null
+++ b/Lang/OCaml/Menu
@@ -0,0 +1 @@
+../../Task/Menu/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Middle-three-digits b/Lang/OCaml/Middle-three-digits
new file mode 120000
index 0000000000..cf433616d1
--- /dev/null
+++ b/Lang/OCaml/Middle-three-digits
@@ -0,0 +1 @@
+../../Task/Middle-three-digits/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Minesweeper-game b/Lang/OCaml/Minesweeper-game
new file mode 120000
index 0000000000..131fc42107
--- /dev/null
+++ b/Lang/OCaml/Minesweeper-game
@@ -0,0 +1 @@
+../../Task/Minesweeper-game/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Modular-inverse b/Lang/OCaml/Modular-inverse
new file mode 120000
index 0000000000..1552844ccd
--- /dev/null
+++ b/Lang/OCaml/Modular-inverse
@@ -0,0 +1 @@
+../../Task/Modular-inverse/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Monte-Carlo-methods b/Lang/OCaml/Monte-Carlo-methods
new file mode 120000
index 0000000000..ecfabb82cd
--- /dev/null
+++ b/Lang/OCaml/Monte-Carlo-methods
@@ -0,0 +1 @@
+../../Task/Monte-Carlo-methods/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Monty-Hall-problem b/Lang/OCaml/Monty-Hall-problem
new file mode 120000
index 0000000000..d1948e930b
--- /dev/null
+++ b/Lang/OCaml/Monty-Hall-problem
@@ -0,0 +1 @@
+../../Task/Monty-Hall-problem/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Morse-code b/Lang/OCaml/Morse-code
new file mode 120000
index 0000000000..004d708940
--- /dev/null
+++ b/Lang/OCaml/Morse-code
@@ -0,0 +1 @@
+../../Task/Morse-code/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Mouse-position b/Lang/OCaml/Mouse-position
new file mode 120000
index 0000000000..c07c69df7a
--- /dev/null
+++ b/Lang/OCaml/Mouse-position
@@ -0,0 +1 @@
+../../Task/Mouse-position/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Multiple-distinct-objects b/Lang/OCaml/Multiple-distinct-objects
new file mode 120000
index 0000000000..5b29c50ec8
--- /dev/null
+++ b/Lang/OCaml/Multiple-distinct-objects
@@ -0,0 +1 @@
+../../Task/Multiple-distinct-objects/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Multiplication-tables b/Lang/OCaml/Multiplication-tables
new file mode 120000
index 0000000000..a1351fe562
--- /dev/null
+++ b/Lang/OCaml/Multiplication-tables
@@ -0,0 +1 @@
+../../Task/Multiplication-tables/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Mutex b/Lang/OCaml/Mutex
new file mode 120000
index 0000000000..c020f85a23
--- /dev/null
+++ b/Lang/OCaml/Mutex
@@ -0,0 +1 @@
+../../Task/Mutex/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Mutual-recursion b/Lang/OCaml/Mutual-recursion
new file mode 120000
index 0000000000..1965a97b7b
--- /dev/null
+++ b/Lang/OCaml/Mutual-recursion
@@ -0,0 +1 @@
+../../Task/Mutual-recursion/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Ordered-words b/Lang/OCaml/Ordered-words
new file mode 120000
index 0000000000..730b10d8e2
--- /dev/null
+++ b/Lang/OCaml/Ordered-words
@@ -0,0 +1 @@
+../../Task/Ordered-words/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Pi b/Lang/OCaml/Pi
new file mode 120000
index 0000000000..e07dc3d981
--- /dev/null
+++ b/Lang/OCaml/Pi
@@ -0,0 +1 @@
+../../Task/Pi/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Quine b/Lang/OCaml/Quine
new file mode 120000
index 0000000000..17e82fea45
--- /dev/null
+++ b/Lang/OCaml/Quine
@@ -0,0 +1 @@
+../../Task/Quine/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Search-a-list b/Lang/OCaml/Search-a-list
new file mode 120000
index 0000000000..b7f9f4f383
--- /dev/null
+++ b/Lang/OCaml/Search-a-list
@@ -0,0 +1 @@
+../../Task/Search-a-list/OCaml
\ No newline at end of file
diff --git a/Lang/OOC/0DESCRIPTION b/Lang/OOC/0DESCRIPTION
new file mode 100644
index 0000000000..afefd57ab5
--- /dev/null
+++ b/Lang/OOC/0DESCRIPTION
@@ -0,0 +1,2 @@
+{{stub}}{{language
+|site=http://www.ooc-lang.org}}
\ No newline at end of file
diff --git a/Lang/OOC/FizzBuzz b/Lang/OOC/FizzBuzz
new file mode 120000
index 0000000000..07cd4d0060
--- /dev/null
+++ b/Lang/OOC/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/OOC
\ No newline at end of file
diff --git a/Lang/OOC/Hello-world-Text b/Lang/OOC/Hello-world-Text
new file mode 120000
index 0000000000..d0cad299f2
--- /dev/null
+++ b/Lang/OOC/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/OOC
\ No newline at end of file
diff --git a/Lang/OOCalc/0DESCRIPTION b/Lang/OOCalc/0DESCRIPTION
new file mode 100644
index 0000000000..ca10ffeda6
--- /dev/null
+++ b/Lang/OOCalc/0DESCRIPTION
@@ -0,0 +1,3 @@
+{{stub}}{{language}}
+
+This is the macro language used in the Calc spreadsheet software, which is distributed as part of the OpenOffice.org and LibreOffice suites.
\ No newline at end of file
diff --git a/Lang/OPL/0DESCRIPTION b/Lang/OPL/0DESCRIPTION
new file mode 100644
index 0000000000..4d3d27c049
--- /dev/null
+++ b/Lang/OPL/0DESCRIPTION
@@ -0,0 +1 @@
+{{stub}}{{language}}
\ No newline at end of file
diff --git a/Lang/OPL/Fibonacci-sequence b/Lang/OPL/Fibonacci-sequence
new file mode 120000
index 0000000000..5627b6662a
--- /dev/null
+++ b/Lang/OPL/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/OPL
\ No newline at end of file
diff --git a/Lang/Oberon-2/0DESCRIPTION b/Lang/Oberon-2/0DESCRIPTION
new file mode 100644
index 0000000000..d9621b2865
--- /dev/null
+++ b/Lang/Oberon-2/0DESCRIPTION
@@ -0,0 +1,9 @@
+{{language|Oberon-2
+|strength=strong
+|safety=safe
+|express=explicit
+|compat=structural
+|checking=static
+|parampass=both
+|gc=yes
+|LCT=yes}}Oberon-2 is a further development of the Modula series of languages by Niklaus Wirth. Oberon was both the name for the systems programming language and the operating system.
\ No newline at end of file
diff --git a/Lang/Oberon-2/99-Bottles-of-Beer b/Lang/Oberon-2/99-Bottles-of-Beer
new file mode 120000
index 0000000000..1554e0d4aa
--- /dev/null
+++ b/Lang/Oberon-2/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/Oberon-2
\ No newline at end of file
diff --git a/Lang/Oberon-2/A+B b/Lang/Oberon-2/A+B
new file mode 120000
index 0000000000..e8d17f807e
--- /dev/null
+++ b/Lang/Oberon-2/A+B
@@ -0,0 +1 @@
+../../Task/A+B/Oberon-2
\ No newline at end of file
diff --git a/Lang/Oberon-2/Ackermann-function b/Lang/Oberon-2/Ackermann-function
new file mode 120000
index 0000000000..91717fa516
--- /dev/null
+++ b/Lang/Oberon-2/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/Oberon-2
\ No newline at end of file
diff --git a/Lang/Oberon-2/Anagrams b/Lang/Oberon-2/Anagrams
new file mode 120000
index 0000000000..c82810cc80
--- /dev/null
+++ b/Lang/Oberon-2/Anagrams
@@ -0,0 +1 @@
+../../Task/Anagrams/Oberon-2
\ No newline at end of file
diff --git a/Lang/Oberon-2/Assertions b/Lang/Oberon-2/Assertions
new file mode 120000
index 0000000000..bf5e26b8e1
--- /dev/null
+++ b/Lang/Oberon-2/Assertions
@@ -0,0 +1 @@
+../../Task/Assertions/Oberon-2
\ No newline at end of file
diff --git a/Lang/Oberon-2/Averages-Arithmetic-mean b/Lang/Oberon-2/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..b5f75094da
--- /dev/null
+++ b/Lang/Oberon-2/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/Oberon-2
\ No newline at end of file
diff --git a/Lang/Oberon-2/Averages-Median b/Lang/Oberon-2/Averages-Median
new file mode 120000
index 0000000000..351254c351
--- /dev/null
+++ b/Lang/Oberon-2/Averages-Median
@@ -0,0 +1 @@
+../../Task/Averages-Median/Oberon-2
\ No newline at end of file
diff --git a/Lang/Oberon-2/Averages-Pythagorean-means b/Lang/Oberon-2/Averages-Pythagorean-means
new file mode 120000
index 0000000000..c0d6d2d984
--- /dev/null
+++ b/Lang/Oberon-2/Averages-Pythagorean-means
@@ -0,0 +1 @@
+../../Task/Averages-Pythagorean-means/Oberon-2
\ No newline at end of file
diff --git a/Lang/Oberon-2/Averages-Root-mean-square b/Lang/Oberon-2/Averages-Root-mean-square
new file mode 120000
index 0000000000..2729d2c2d1
--- /dev/null
+++ b/Lang/Oberon-2/Averages-Root-mean-square
@@ -0,0 +1 @@
+../../Task/Averages-Root-mean-square/Oberon-2
\ No newline at end of file
diff --git a/Lang/Oberon-2/Character-codes b/Lang/Oberon-2/Character-codes
new file mode 120000
index 0000000000..216923d7e9
--- /dev/null
+++ b/Lang/Oberon-2/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Oberon-2
\ No newline at end of file
diff --git a/Lang/Oberon-2/Classes b/Lang/Oberon-2/Classes
new file mode 120000
index 0000000000..63432c54e0
--- /dev/null
+++ b/Lang/Oberon-2/Classes
@@ -0,0 +1 @@
+../../Task/Classes/Oberon-2
\ No newline at end of file
diff --git a/Lang/Oberon-2/Factors-of-an-integer b/Lang/Oberon-2/Factors-of-an-integer
new file mode 120000
index 0000000000..368788ede2
--- /dev/null
+++ b/Lang/Oberon-2/Factors-of-an-integer
@@ -0,0 +1 @@
+../../Task/Factors-of-an-integer/Oberon-2
\ No newline at end of file
diff --git a/Lang/Oberon-2/FizzBuzz b/Lang/Oberon-2/FizzBuzz
new file mode 120000
index 0000000000..c908abbe41
--- /dev/null
+++ b/Lang/Oberon-2/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Oberon-2
\ No newline at end of file
diff --git a/Lang/Oberon-2/Formatted-numeric-output b/Lang/Oberon-2/Formatted-numeric-output
new file mode 120000
index 0000000000..68619646ba
--- /dev/null
+++ b/Lang/Oberon-2/Formatted-numeric-output
@@ -0,0 +1 @@
+../../Task/Formatted-numeric-output/Oberon-2
\ No newline at end of file
diff --git a/Lang/Oberon-2/Function-definition b/Lang/Oberon-2/Function-definition
new file mode 120000
index 0000000000..730a5f43ae
--- /dev/null
+++ b/Lang/Oberon-2/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/Oberon-2
\ No newline at end of file
diff --git a/Lang/Oberon-2/Hailstone-sequence b/Lang/Oberon-2/Hailstone-sequence
new file mode 120000
index 0000000000..0f49c4cc8e
--- /dev/null
+++ b/Lang/Oberon-2/Hailstone-sequence
@@ -0,0 +1 @@
+../../Task/Hailstone-sequence/Oberon-2
\ No newline at end of file
diff --git a/Lang/Oberon-2/Hello-world-Standard-error b/Lang/Oberon-2/Hello-world-Standard-error
new file mode 120000
index 0000000000..9a4a3c9b73
--- /dev/null
+++ b/Lang/Oberon-2/Hello-world-Standard-error
@@ -0,0 +1 @@
+../../Task/Hello-world-Standard-error/Oberon-2
\ No newline at end of file
diff --git a/Lang/Oberon-2/Hello-world-Text b/Lang/Oberon-2/Hello-world-Text
new file mode 120000
index 0000000000..6ed30bccab
--- /dev/null
+++ b/Lang/Oberon-2/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Oberon-2
\ No newline at end of file
diff --git a/Lang/Oberon-2/History-variables b/Lang/Oberon-2/History-variables
new file mode 120000
index 0000000000..a551ea740b
--- /dev/null
+++ b/Lang/Oberon-2/History-variables
@@ -0,0 +1 @@
+../../Task/History-variables/Oberon-2
\ No newline at end of file
diff --git a/Lang/Oberon-2/Increment-a-numerical-string b/Lang/Oberon-2/Increment-a-numerical-string
new file mode 120000
index 0000000000..16e0fa7603
--- /dev/null
+++ b/Lang/Oberon-2/Increment-a-numerical-string
@@ -0,0 +1 @@
+../../Task/Increment-a-numerical-string/Oberon-2
\ No newline at end of file
diff --git a/Lang/Oberon-2/Integer-comparison b/Lang/Oberon-2/Integer-comparison
new file mode 120000
index 0000000000..32a2e2b487
--- /dev/null
+++ b/Lang/Oberon-2/Integer-comparison
@@ -0,0 +1 @@
+../../Task/Integer-comparison/Oberon-2
\ No newline at end of file
diff --git a/Lang/Oberon-2/Leap-year b/Lang/Oberon-2/Leap-year
new file mode 120000
index 0000000000..4e0e9485f1
--- /dev/null
+++ b/Lang/Oberon-2/Leap-year
@@ -0,0 +1 @@
+../../Task/Leap-year/Oberon-2
\ No newline at end of file
diff --git a/Lang/Oberon-2/Loops-Downward-for b/Lang/Oberon-2/Loops-Downward-for
new file mode 120000
index 0000000000..e6ee15cc3a
--- /dev/null
+++ b/Lang/Oberon-2/Loops-Downward-for
@@ -0,0 +1 @@
+../../Task/Loops-Downward-for/Oberon-2
\ No newline at end of file
diff --git a/Lang/Oberon-2/Loops-While b/Lang/Oberon-2/Loops-While
new file mode 120000
index 0000000000..5c240cc895
--- /dev/null
+++ b/Lang/Oberon-2/Loops-While
@@ -0,0 +1 @@
+../../Task/Loops-While/Oberon-2
\ No newline at end of file
diff --git a/Lang/Objeck/0DESCRIPTION b/Lang/Objeck/0DESCRIPTION
new file mode 100644
index 0000000000..109c10a8b7
--- /dev/null
+++ b/Lang/Objeck/0DESCRIPTION
@@ -0,0 +1,14 @@
+{{language|Objeck
+|exec=bytecode
+|site=http://sourceforge.net/projects/objeck-lang
+|gc=yes
+|parampass=value
+|safety=safe
+|checking=static
+|strength=strong
+|LCT=yes}}
+{{language programming paradigm|Object-oriented}}{{language programming paradigm|functional}}
+
+The '''Objeck Programming Language''' is an [[object-oriented]] computing language with [[functional programming|functional]] features. The language has ties with [[C sharp|C#]], [[Scheme]] and indirectly [[Ruby]]. In this language all data types, except for higher-order functions, are treated as objects. The language contains all of the basic features of a general-purpose (Turing complete) programming language with an emphasis placed on OOP simplicity. The programming environment consists of an optimizing compiler, virtual machine with associated [[Garbage collection|garbage collector]] and [[JIT]] compiler along with a command-line debugger. The compiler emits binary [[bytecode]] that is executed by the runtime system. The runtime system has the ability to translate the bytecode into AMD64 or IA-32 machine code on the fly.
+
+For more information check out the [http://objeck-lang.sourceforge.net/guide Objeck Programmer's Guide] ([https://sourceforge.net/p/objeck-lang/code/3289/tree/main/docs/guide/objeck_lang.pdf?format=raw pdf]) or this YouTube [http://www.youtube.com/watch?v=Mk2Kfb-WESU video]. The language can be [http://sourceforge.net/projects/objeck-lang/files/ obtained] from the main project homepage. Also, check out the IRC channel #objeck on freenode.net.
\ No newline at end of file
diff --git a/Lang/Objeck/100-doors b/Lang/Objeck/100-doors
new file mode 120000
index 0000000000..4c69c6e187
--- /dev/null
+++ b/Lang/Objeck/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/A+B b/Lang/Objeck/A+B
new file mode 120000
index 0000000000..282480b81c
--- /dev/null
+++ b/Lang/Objeck/A+B
@@ -0,0 +1 @@
+../../Task/A+B/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Abstract-type b/Lang/Objeck/Abstract-type
new file mode 120000
index 0000000000..bb9e10e956
--- /dev/null
+++ b/Lang/Objeck/Abstract-type
@@ -0,0 +1 @@
+../../Task/Abstract-type/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Accumulator-factory b/Lang/Objeck/Accumulator-factory
new file mode 120000
index 0000000000..4a742c4853
--- /dev/null
+++ b/Lang/Objeck/Accumulator-factory
@@ -0,0 +1 @@
+../../Task/Accumulator-factory/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Apply-a-callback-to-an-array b/Lang/Objeck/Apply-a-callback-to-an-array
new file mode 120000
index 0000000000..9e15a6c6c4
--- /dev/null
+++ b/Lang/Objeck/Apply-a-callback-to-an-array
@@ -0,0 +1 @@
+../../Task/Apply-a-callback-to-an-array/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Arithmetic-Integer b/Lang/Objeck/Arithmetic-Integer
new file mode 120000
index 0000000000..f31e894534
--- /dev/null
+++ b/Lang/Objeck/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Array-concatenation b/Lang/Objeck/Array-concatenation
new file mode 120000
index 0000000000..fcbfdfe726
--- /dev/null
+++ b/Lang/Objeck/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Arrays b/Lang/Objeck/Arrays
new file mode 120000
index 0000000000..737d706f19
--- /dev/null
+++ b/Lang/Objeck/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Associative-array-Creation b/Lang/Objeck/Associative-array-Creation
new file mode 120000
index 0000000000..ebbf1b2ef5
--- /dev/null
+++ b/Lang/Objeck/Associative-array-Creation
@@ -0,0 +1 @@
+../../Task/Associative-array-Creation/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Associative-array-Iteration b/Lang/Objeck/Associative-array-Iteration
new file mode 120000
index 0000000000..3dff359ba6
--- /dev/null
+++ b/Lang/Objeck/Associative-array-Iteration
@@ -0,0 +1 @@
+../../Task/Associative-array-Iteration/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Averages-Arithmetic-mean b/Lang/Objeck/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..0f079efd06
--- /dev/null
+++ b/Lang/Objeck/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Averages-Median b/Lang/Objeck/Averages-Median
new file mode 120000
index 0000000000..55df6ab479
--- /dev/null
+++ b/Lang/Objeck/Averages-Median
@@ -0,0 +1 @@
+../../Task/Averages-Median/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Averages-Root-mean-square b/Lang/Objeck/Averages-Root-mean-square
new file mode 120000
index 0000000000..86fec0a41d
--- /dev/null
+++ b/Lang/Objeck/Averages-Root-mean-square
@@ -0,0 +1 @@
+../../Task/Averages-Root-mean-square/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Balanced-brackets b/Lang/Objeck/Balanced-brackets
new file mode 120000
index 0000000000..4a181934bd
--- /dev/null
+++ b/Lang/Objeck/Balanced-brackets
@@ -0,0 +1 @@
+../../Task/Balanced-brackets/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Binary-search b/Lang/Objeck/Binary-search
new file mode 120000
index 0000000000..99377d1b59
--- /dev/null
+++ b/Lang/Objeck/Binary-search
@@ -0,0 +1 @@
+../../Task/Binary-search/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Bitwise-operations b/Lang/Objeck/Bitwise-operations
new file mode 120000
index 0000000000..cf9108c9f9
--- /dev/null
+++ b/Lang/Objeck/Bitwise-operations
@@ -0,0 +1 @@
+../../Task/Bitwise-operations/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Box-the-compass b/Lang/Objeck/Box-the-compass
new file mode 120000
index 0000000000..02f8da22fe
--- /dev/null
+++ b/Lang/Objeck/Box-the-compass
@@ -0,0 +1 @@
+../../Task/Box-the-compass/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Call-an-object-method b/Lang/Objeck/Call-an-object-method
new file mode 120000
index 0000000000..f394a206b2
--- /dev/null
+++ b/Lang/Objeck/Call-an-object-method
@@ -0,0 +1 @@
+../../Task/Call-an-object-method/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Character-codes b/Lang/Objeck/Character-codes
new file mode 120000
index 0000000000..ee54d0b814
--- /dev/null
+++ b/Lang/Objeck/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Character-matching b/Lang/Objeck/Character-matching
new file mode 120000
index 0000000000..d06b853385
--- /dev/null
+++ b/Lang/Objeck/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Chat-server b/Lang/Objeck/Chat-server
new file mode 120000
index 0000000000..02438f3698
--- /dev/null
+++ b/Lang/Objeck/Chat-server
@@ -0,0 +1 @@
+../../Task/Chat-server/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Check-that-file-exists b/Lang/Objeck/Check-that-file-exists
new file mode 120000
index 0000000000..b44ce21baf
--- /dev/null
+++ b/Lang/Objeck/Check-that-file-exists
@@ -0,0 +1 @@
+../../Task/Check-that-file-exists/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Cholesky-decomposition b/Lang/Objeck/Cholesky-decomposition
new file mode 120000
index 0000000000..54aa16102d
--- /dev/null
+++ b/Lang/Objeck/Cholesky-decomposition
@@ -0,0 +1 @@
+../../Task/Cholesky-decomposition/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Classes b/Lang/Objeck/Classes
new file mode 120000
index 0000000000..3d3f03749b
--- /dev/null
+++ b/Lang/Objeck/Classes
@@ -0,0 +1 @@
+../../Task/Classes/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Collections b/Lang/Objeck/Collections
new file mode 120000
index 0000000000..219456e485
--- /dev/null
+++ b/Lang/Objeck/Collections
@@ -0,0 +1 @@
+../../Task/Collections/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Command-line-arguments b/Lang/Objeck/Command-line-arguments
new file mode 120000
index 0000000000..d3ff0831b9
--- /dev/null
+++ b/Lang/Objeck/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Comments b/Lang/Objeck/Comments
new file mode 120000
index 0000000000..1ec2de8bec
--- /dev/null
+++ b/Lang/Objeck/Comments
@@ -0,0 +1 @@
+../../Task/Comments/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Compile-time-calculation b/Lang/Objeck/Compile-time-calculation
new file mode 120000
index 0000000000..8b13d73215
--- /dev/null
+++ b/Lang/Objeck/Compile-time-calculation
@@ -0,0 +1 @@
+../../Task/Compile-time-calculation/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Compound-data-type b/Lang/Objeck/Compound-data-type
new file mode 120000
index 0000000000..c6c26e866b
--- /dev/null
+++ b/Lang/Objeck/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Concurrent-computing b/Lang/Objeck/Concurrent-computing
new file mode 120000
index 0000000000..2915a69a7b
--- /dev/null
+++ b/Lang/Objeck/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Conditional-structures b/Lang/Objeck/Conditional-structures
new file mode 120000
index 0000000000..609934ec85
--- /dev/null
+++ b/Lang/Objeck/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Create-a-file b/Lang/Objeck/Create-a-file
new file mode 120000
index 0000000000..915aa38e04
--- /dev/null
+++ b/Lang/Objeck/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Create-a-two-dimensional-array-at-runtime b/Lang/Objeck/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..1ae6a2f42a
--- /dev/null
+++ b/Lang/Objeck/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Date-format b/Lang/Objeck/Date-format
new file mode 120000
index 0000000000..dd06e5fb54
--- /dev/null
+++ b/Lang/Objeck/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Delete-a-file b/Lang/Objeck/Delete-a-file
new file mode 120000
index 0000000000..0add291ebe
--- /dev/null
+++ b/Lang/Objeck/Delete-a-file
@@ -0,0 +1 @@
+../../Task/Delete-a-file/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Dot-product b/Lang/Objeck/Dot-product
new file mode 120000
index 0000000000..78356de68d
--- /dev/null
+++ b/Lang/Objeck/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Doubly-linked-list-Traversal b/Lang/Objeck/Doubly-linked-list-Traversal
new file mode 120000
index 0000000000..4676ee038c
--- /dev/null
+++ b/Lang/Objeck/Doubly-linked-list-Traversal
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Traversal/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Echo-server b/Lang/Objeck/Echo-server
new file mode 120000
index 0000000000..45b28e91cd
--- /dev/null
+++ b/Lang/Objeck/Echo-server
@@ -0,0 +1 @@
+../../Task/Echo-server/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Empty-program b/Lang/Objeck/Empty-program
new file mode 120000
index 0000000000..3ed0aa4101
--- /dev/null
+++ b/Lang/Objeck/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Empty-string b/Lang/Objeck/Empty-string
new file mode 120000
index 0000000000..da0015fd11
--- /dev/null
+++ b/Lang/Objeck/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Enumerations b/Lang/Objeck/Enumerations
new file mode 120000
index 0000000000..843b5f810e
--- /dev/null
+++ b/Lang/Objeck/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Ethiopian-multiplication b/Lang/Objeck/Ethiopian-multiplication
new file mode 120000
index 0000000000..be875e91d5
--- /dev/null
+++ b/Lang/Objeck/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Euler-method b/Lang/Objeck/Euler-method
new file mode 120000
index 0000000000..af1f97cefd
--- /dev/null
+++ b/Lang/Objeck/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Even-or-odd b/Lang/Objeck/Even-or-odd
new file mode 120000
index 0000000000..5ac78886a9
--- /dev/null
+++ b/Lang/Objeck/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Evolutionary-algorithm b/Lang/Objeck/Evolutionary-algorithm
new file mode 120000
index 0000000000..55340e0a5c
--- /dev/null
+++ b/Lang/Objeck/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Factorial b/Lang/Objeck/Factorial
new file mode 120000
index 0000000000..731093aa30
--- /dev/null
+++ b/Lang/Objeck/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Factors-of-an-integer b/Lang/Objeck/Factors-of-an-integer
new file mode 120000
index 0000000000..22b4b46423
--- /dev/null
+++ b/Lang/Objeck/Factors-of-an-integer
@@ -0,0 +1 @@
+../../Task/Factors-of-an-integer/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Fibonacci-sequence b/Lang/Objeck/Fibonacci-sequence
new file mode 120000
index 0000000000..8fdd7f4e91
--- /dev/null
+++ b/Lang/Objeck/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/File-IO b/Lang/Objeck/File-IO
new file mode 120000
index 0000000000..1382ae77bc
--- /dev/null
+++ b/Lang/Objeck/File-IO
@@ -0,0 +1 @@
+../../Task/File-IO/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/File-size b/Lang/Objeck/File-size
new file mode 120000
index 0000000000..fe8c1fee60
--- /dev/null
+++ b/Lang/Objeck/File-size
@@ -0,0 +1 @@
+../../Task/File-size/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Filter b/Lang/Objeck/Filter
new file mode 120000
index 0000000000..f99a4c1afd
--- /dev/null
+++ b/Lang/Objeck/Filter
@@ -0,0 +1 @@
+../../Task/Filter/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/FizzBuzz b/Lang/Objeck/FizzBuzz
new file mode 120000
index 0000000000..47f7f1a6ae
--- /dev/null
+++ b/Lang/Objeck/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Forward-difference b/Lang/Objeck/Forward-difference
new file mode 120000
index 0000000000..0bc78ed4f6
--- /dev/null
+++ b/Lang/Objeck/Forward-difference
@@ -0,0 +1 @@
+../../Task/Forward-difference/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Function-composition b/Lang/Objeck/Function-composition
new file mode 120000
index 0000000000..b15475fe53
--- /dev/null
+++ b/Lang/Objeck/Function-composition
@@ -0,0 +1 @@
+../../Task/Function-composition/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Function-definition b/Lang/Objeck/Function-definition
new file mode 120000
index 0000000000..a1ccfb4a7c
--- /dev/null
+++ b/Lang/Objeck/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Greatest-common-divisor b/Lang/Objeck/Greatest-common-divisor
new file mode 120000
index 0000000000..546917d12a
--- /dev/null
+++ b/Lang/Objeck/Greatest-common-divisor
@@ -0,0 +1 @@
+../../Task/Greatest-common-divisor/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Greatest-element-of-a-list b/Lang/Objeck/Greatest-element-of-a-list
new file mode 120000
index 0000000000..be2c7d20e2
--- /dev/null
+++ b/Lang/Objeck/Greatest-element-of-a-list
@@ -0,0 +1 @@
+../../Task/Greatest-element-of-a-list/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Guess-the-number b/Lang/Objeck/Guess-the-number
new file mode 120000
index 0000000000..1061ed0d61
--- /dev/null
+++ b/Lang/Objeck/Guess-the-number
@@ -0,0 +1 @@
+../../Task/Guess-the-number/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Guess-the-number-With-feedback b/Lang/Objeck/Guess-the-number-With-feedback
new file mode 120000
index 0000000000..e8bc0dd50c
--- /dev/null
+++ b/Lang/Objeck/Guess-the-number-With-feedback
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/HTTP b/Lang/Objeck/HTTP
new file mode 120000
index 0000000000..42e455d715
--- /dev/null
+++ b/Lang/Objeck/HTTP
@@ -0,0 +1 @@
+../../Task/HTTP/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/HTTPS b/Lang/Objeck/HTTPS
new file mode 120000
index 0000000000..7d76e332ab
--- /dev/null
+++ b/Lang/Objeck/HTTPS
@@ -0,0 +1 @@
+../../Task/HTTPS/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Happy-numbers b/Lang/Objeck/Happy-numbers
new file mode 120000
index 0000000000..d504a9ae9e
--- /dev/null
+++ b/Lang/Objeck/Happy-numbers
@@ -0,0 +1 @@
+../../Task/Happy-numbers/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Hash-from-two-arrays b/Lang/Objeck/Hash-from-two-arrays
new file mode 120000
index 0000000000..00fa098a6a
--- /dev/null
+++ b/Lang/Objeck/Hash-from-two-arrays
@@ -0,0 +1 @@
+../../Task/Hash-from-two-arrays/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Haversine-formula b/Lang/Objeck/Haversine-formula
new file mode 120000
index 0000000000..078c39f127
--- /dev/null
+++ b/Lang/Objeck/Haversine-formula
@@ -0,0 +1 @@
+../../Task/Haversine-formula/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Hello-world-Graphical b/Lang/Objeck/Hello-world-Graphical
new file mode 120000
index 0000000000..f531216113
--- /dev/null
+++ b/Lang/Objeck/Hello-world-Graphical
@@ -0,0 +1 @@
+../../Task/Hello-world-Graphical/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Hello-world-Newline-omission b/Lang/Objeck/Hello-world-Newline-omission
new file mode 120000
index 0000000000..cf4f0fae30
--- /dev/null
+++ b/Lang/Objeck/Hello-world-Newline-omission
@@ -0,0 +1 @@
+../../Task/Hello-world-Newline-omission/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Hello-world-Text b/Lang/Objeck/Hello-world-Text
new file mode 120000
index 0000000000..cf62a0a525
--- /dev/null
+++ b/Lang/Objeck/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Hello-world-Web-server b/Lang/Objeck/Hello-world-Web-server
new file mode 120000
index 0000000000..a66152a7a2
--- /dev/null
+++ b/Lang/Objeck/Hello-world-Web-server
@@ -0,0 +1 @@
+../../Task/Hello-world-Web-server/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Higher-order-functions b/Lang/Objeck/Higher-order-functions
new file mode 120000
index 0000000000..7e5ed46182
--- /dev/null
+++ b/Lang/Objeck/Higher-order-functions
@@ -0,0 +1 @@
+../../Task/Higher-order-functions/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Hofstadter-Conway-$10,000-sequence b/Lang/Objeck/Hofstadter-Conway-$10,000-sequence
new file mode 120000
index 0000000000..b137419097
--- /dev/null
+++ b/Lang/Objeck/Hofstadter-Conway-$10,000-sequence
@@ -0,0 +1 @@
+../../Task/Hofstadter-Conway-$10,000-sequence/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Horners-rule-for-polynomial-evaluation b/Lang/Objeck/Horners-rule-for-polynomial-evaluation
new file mode 120000
index 0000000000..54842da21d
--- /dev/null
+++ b/Lang/Objeck/Horners-rule-for-polynomial-evaluation
@@ -0,0 +1 @@
+../../Task/Horners-rule-for-polynomial-evaluation/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Hostname b/Lang/Objeck/Hostname
new file mode 120000
index 0000000000..edb53077e8
--- /dev/null
+++ b/Lang/Objeck/Hostname
@@ -0,0 +1 @@
+../../Task/Hostname/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Increment-a-numerical-string b/Lang/Objeck/Increment-a-numerical-string
new file mode 120000
index 0000000000..2d34b542da
--- /dev/null
+++ b/Lang/Objeck/Increment-a-numerical-string
@@ -0,0 +1 @@
+../../Task/Increment-a-numerical-string/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Inheritance-Single b/Lang/Objeck/Inheritance-Single
new file mode 120000
index 0000000000..7d67a37c4d
--- /dev/null
+++ b/Lang/Objeck/Inheritance-Single
@@ -0,0 +1 @@
+../../Task/Inheritance-Single/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Input-loop b/Lang/Objeck/Input-loop
new file mode 120000
index 0000000000..6880ac7a6c
--- /dev/null
+++ b/Lang/Objeck/Input-loop
@@ -0,0 +1 @@
+../../Task/Input-loop/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Integer-comparison b/Lang/Objeck/Integer-comparison
new file mode 120000
index 0000000000..59b1d50344
--- /dev/null
+++ b/Lang/Objeck/Integer-comparison
@@ -0,0 +1 @@
+../../Task/Integer-comparison/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Integer-sequence b/Lang/Objeck/Integer-sequence
new file mode 120000
index 0000000000..5732a68e32
--- /dev/null
+++ b/Lang/Objeck/Integer-sequence
@@ -0,0 +1 @@
+../../Task/Integer-sequence/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/JSON b/Lang/Objeck/JSON
new file mode 120000
index 0000000000..7679c69366
--- /dev/null
+++ b/Lang/Objeck/JSON
@@ -0,0 +1 @@
+../../Task/JSON/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Jensens-Device b/Lang/Objeck/Jensens-Device
new file mode 120000
index 0000000000..677f2cb9a5
--- /dev/null
+++ b/Lang/Objeck/Jensens-Device
@@ -0,0 +1 @@
+../../Task/Jensens-Device/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Leap-year b/Lang/Objeck/Leap-year
new file mode 120000
index 0000000000..7cfe43f10d
--- /dev/null
+++ b/Lang/Objeck/Leap-year
@@ -0,0 +1 @@
+../../Task/Leap-year/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Least-common-multiple b/Lang/Objeck/Least-common-multiple
new file mode 120000
index 0000000000..040cd09300
--- /dev/null
+++ b/Lang/Objeck/Least-common-multiple
@@ -0,0 +1 @@
+../../Task/Least-common-multiple/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Letter-frequency b/Lang/Objeck/Letter-frequency
new file mode 120000
index 0000000000..e247017be1
--- /dev/null
+++ b/Lang/Objeck/Letter-frequency
@@ -0,0 +1 @@
+../../Task/Letter-frequency/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Literals-Floating-point b/Lang/Objeck/Literals-Floating-point
new file mode 120000
index 0000000000..b2ca774f5d
--- /dev/null
+++ b/Lang/Objeck/Literals-Floating-point
@@ -0,0 +1 @@
+../../Task/Literals-Floating-point/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Literals-Integer b/Lang/Objeck/Literals-Integer
new file mode 120000
index 0000000000..75465738a3
--- /dev/null
+++ b/Lang/Objeck/Literals-Integer
@@ -0,0 +1 @@
+../../Task/Literals-Integer/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Logical-operations b/Lang/Objeck/Logical-operations
new file mode 120000
index 0000000000..ae51a3ae63
--- /dev/null
+++ b/Lang/Objeck/Logical-operations
@@ -0,0 +1 @@
+../../Task/Logical-operations/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Loop-over-multiple-arrays-simultaneously b/Lang/Objeck/Loop-over-multiple-arrays-simultaneously
new file mode 120000
index 0000000000..9b5c45225c
--- /dev/null
+++ b/Lang/Objeck/Loop-over-multiple-arrays-simultaneously
@@ -0,0 +1 @@
+../../Task/Loop-over-multiple-arrays-simultaneously/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Loops-Break b/Lang/Objeck/Loops-Break
new file mode 120000
index 0000000000..371e325517
--- /dev/null
+++ b/Lang/Objeck/Loops-Break
@@ -0,0 +1 @@
+../../Task/Loops-Break/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Loops-Do-while b/Lang/Objeck/Loops-Do-while
new file mode 120000
index 0000000000..eaf62a585e
--- /dev/null
+++ b/Lang/Objeck/Loops-Do-while
@@ -0,0 +1 @@
+../../Task/Loops-Do-while/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Loops-Downward-for b/Lang/Objeck/Loops-Downward-for
new file mode 120000
index 0000000000..131edcf748
--- /dev/null
+++ b/Lang/Objeck/Loops-Downward-for
@@ -0,0 +1 @@
+../../Task/Loops-Downward-for/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Loops-For b/Lang/Objeck/Loops-For
new file mode 120000
index 0000000000..5e19f7a0de
--- /dev/null
+++ b/Lang/Objeck/Loops-For
@@ -0,0 +1 @@
+../../Task/Loops-For/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Loops-For-with-a-specified-step b/Lang/Objeck/Loops-For-with-a-specified-step
new file mode 120000
index 0000000000..14683f6b34
--- /dev/null
+++ b/Lang/Objeck/Loops-For-with-a-specified-step
@@ -0,0 +1 @@
+../../Task/Loops-For-with-a-specified-step/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Loops-Foreach b/Lang/Objeck/Loops-Foreach
new file mode 120000
index 0000000000..4379e7e6a6
--- /dev/null
+++ b/Lang/Objeck/Loops-Foreach
@@ -0,0 +1 @@
+../../Task/Loops-Foreach/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Loops-Infinite b/Lang/Objeck/Loops-Infinite
new file mode 120000
index 0000000000..14cacfddcd
--- /dev/null
+++ b/Lang/Objeck/Loops-Infinite
@@ -0,0 +1 @@
+../../Task/Loops-Infinite/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Loops-N-plus-one-half b/Lang/Objeck/Loops-N-plus-one-half
new file mode 120000
index 0000000000..c12a477207
--- /dev/null
+++ b/Lang/Objeck/Loops-N-plus-one-half
@@ -0,0 +1 @@
+../../Task/Loops-N-plus-one-half/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Loops-While b/Lang/Objeck/Loops-While
new file mode 120000
index 0000000000..c939cd790f
--- /dev/null
+++ b/Lang/Objeck/Loops-While
@@ -0,0 +1 @@
+../../Task/Loops-While/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Luhn-test-of-credit-card-numbers b/Lang/Objeck/Luhn-test-of-credit-card-numbers
new file mode 120000
index 0000000000..88732b8a4e
--- /dev/null
+++ b/Lang/Objeck/Luhn-test-of-credit-card-numbers
@@ -0,0 +1 @@
+../../Task/Luhn-test-of-credit-card-numbers/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/MD5 b/Lang/Objeck/MD5
new file mode 120000
index 0000000000..466f67301b
--- /dev/null
+++ b/Lang/Objeck/MD5
@@ -0,0 +1 @@
+../../Task/MD5/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Map-range b/Lang/Objeck/Map-range
new file mode 120000
index 0000000000..6dd0bcaf5e
--- /dev/null
+++ b/Lang/Objeck/Map-range
@@ -0,0 +1 @@
+../../Task/Map-range/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Matrix-transposition b/Lang/Objeck/Matrix-transposition
new file mode 120000
index 0000000000..38b36c8ec5
--- /dev/null
+++ b/Lang/Objeck/Matrix-transposition
@@ -0,0 +1 @@
+../../Task/Matrix-transposition/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Memory-allocation b/Lang/Objeck/Memory-allocation
new file mode 120000
index 0000000000..3ef117a2f4
--- /dev/null
+++ b/Lang/Objeck/Memory-allocation
@@ -0,0 +1 @@
+../../Task/Memory-allocation/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Multifactorial b/Lang/Objeck/Multifactorial
new file mode 120000
index 0000000000..7500474fff
--- /dev/null
+++ b/Lang/Objeck/Multifactorial
@@ -0,0 +1 @@
+../../Task/Multifactorial/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Mutex b/Lang/Objeck/Mutex
new file mode 120000
index 0000000000..d21333276c
--- /dev/null
+++ b/Lang/Objeck/Mutex
@@ -0,0 +1 @@
+../../Task/Mutex/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Mutual-recursion b/Lang/Objeck/Mutual-recursion
new file mode 120000
index 0000000000..2a0b28f29a
--- /dev/null
+++ b/Lang/Objeck/Mutual-recursion
@@ -0,0 +1 @@
+../../Task/Mutual-recursion/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Search-a-list b/Lang/Objeck/Search-a-list
new file mode 120000
index 0000000000..916b24bb7c
--- /dev/null
+++ b/Lang/Objeck/Search-a-list
@@ -0,0 +1 @@
+../../Task/Search-a-list/Objeck
\ No newline at end of file
diff --git a/Lang/Object-Pascal/0DESCRIPTION b/Lang/Object-Pascal/0DESCRIPTION
new file mode 100644
index 0000000000..9f475f0b0a
--- /dev/null
+++ b/Lang/Object-Pascal/0DESCRIPTION
@@ -0,0 +1,14 @@
+{{language|Object Pascal
+|strength=strong
+|safety=both
+|express=explicit
+|compat=nominative
+|checking=static
+|gc=yes
+|LCT=yes}}{{language programming paradigm|Object-oriented}}
+Object Pascal is an [[object-oriented]] derivative of [[Pascal]] mostly known as the primary programming language of Borland [[Delphi]]. It is also known as the "Delphi programming language" when describing the dialect used by Borland Delphi.
+
+Borland used the name "Object Pascal" for the programming language in the first versions of Borland Delphi, but later renamed it to the "Delphi programming language". The [[Free Pascal]] compiler supports different modes/dialects and besides [[Turbo Pascal]], [[Delphi]] and MacPascal, [[Object Pascal]] can be selected.
+
+==Citations==
+* [[wp:Object_Pascal|Wikipedia:Object Pascal]]
\ No newline at end of file
diff --git a/Lang/Object-Pascal/Classes b/Lang/Object-Pascal/Classes
new file mode 120000
index 0000000000..5f054308ad
--- /dev/null
+++ b/Lang/Object-Pascal/Classes
@@ -0,0 +1 @@
+../../Task/Classes/Object-Pascal
\ No newline at end of file
diff --git a/Lang/Object-Pascal/Ethiopian-multiplication b/Lang/Object-Pascal/Ethiopian-multiplication
new file mode 120000
index 0000000000..8d66232b2a
--- /dev/null
+++ b/Lang/Object-Pascal/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Object-Pascal
\ No newline at end of file
diff --git a/Lang/Object-Pascal/File-IO b/Lang/Object-Pascal/File-IO
new file mode 120000
index 0000000000..f5635ded4a
--- /dev/null
+++ b/Lang/Object-Pascal/File-IO
@@ -0,0 +1 @@
+../../Task/File-IO/Object-Pascal
\ No newline at end of file
diff --git a/Lang/ObjectIcon/0DESCRIPTION b/Lang/ObjectIcon/0DESCRIPTION
new file mode 100644
index 0000000000..33a663ee0c
--- /dev/null
+++ b/Lang/ObjectIcon/0DESCRIPTION
@@ -0,0 +1,30 @@
+{{Stub}}
+{{language|ObjectIcon
+|site=http://code.google.com/p/objecticon/
+|exec=bytecode
+|parampass=value
+|strength=strong
+|safety=safe
+|express=implicit
+|checking=dynamic
+|gc=yes
+|LCT=yes
+}}
+{{virtual machine}}
+{{language programming paradigm|Procedural}}
+{{language programming paradigm|Dynamic}}
+{{language programming paradigm|Object-oriented}}
+{{language programming paradigm|Logic_Programming}}
+ObjectIcon is an object oriented variant of [[Icon]] based on an early fork of the [[Unicon]] Project developed by Robert Parlett (one of the co-authors of the Unicon book).
+Some of the distinguishing characteristics are:
+* a richer set of object oriented keywords
+* support for unicode characters
+* replacement of the I/O support with a package
+* differences in keywords
+
+For more information refer to the wiki off the main site [http://code.google.com/p/objecticon/wiki/Introduction ObjectIcon Wiki]
+
+== Related ==
+* [[Icon]]
+* [[Jcon]]
+* [[Unicon]]
\ No newline at end of file
diff --git a/Lang/Objective-C/0DESCRIPTION b/Lang/Objective-C/0DESCRIPTION
new file mode 100644
index 0000000000..afe6edc462
--- /dev/null
+++ b/Lang/Objective-C/0DESCRIPTION
@@ -0,0 +1,13 @@
+{{language|Objective-C
+|exec=machine
+|strength=weak
+|express=explicit
+|checking=static
+|parampass=value
+|gc=allowed
+|site=http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/
+|LCT=yes}}{{language programming paradigm|Object-oriented}}
+[[wp:Objective-C|Objective-C]] is an [[object-oriented]] superset of the [[derived from::compatible with::C]] language. It mostly copies the message passing system from [[derived from::Smalltalk]]. It was popularized by NeXT, and then again by [[Apple Inc]] with [[Mac OS X]] and [[iOS]] to implement the [[Cocoa]] frameworks. Its main reference implementation is within the [[gcc]] compiler, maintained mostly by Apple.
+
+As of October 2011, with the release of [http://developer.apple.com/library/ios/#documentation/DeveloperTools/Conceptual/WhatsNewXcode/Articles/xcode_4_2.html#//apple_ref/doc/uid/00200-SW1 XCode 4.2], Apple switched from [[gcc]] to [[wp:Clang|Clang]] as its default compiler. [[wp:Clang|Clang]]/[[wp:LLVM|LLVM]] offers competitive execution times, better compile times, improved error messages, and supports a simpler alternative syntax for expressing NSArray & NSDictionary literals and indexing. In the same release Apple also introduced automatic reference counting (ARC) which eliminates the need to manually release/retain memory. With ARC the compiler reports an error any time it encounters a call to release, autorelease, retain, or dealloc.
+
\ No newline at end of file
diff --git a/Lang/Objective-C/99-Bottles-of-Beer b/Lang/Objective-C/99-Bottles-of-Beer
new file mode 120000
index 0000000000..3c3a2fb4f4
--- /dev/null
+++ b/Lang/Objective-C/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Accumulator-factory b/Lang/Objective-C/Accumulator-factory
new file mode 120000
index 0000000000..389a66a730
--- /dev/null
+++ b/Lang/Objective-C/Accumulator-factory
@@ -0,0 +1 @@
+../../Task/Accumulator-factory/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Add-a-variable-to-a-class-instance-at-runtime b/Lang/Objective-C/Add-a-variable-to-a-class-instance-at-runtime
new file mode 120000
index 0000000000..0e03a8dba6
--- /dev/null
+++ b/Lang/Objective-C/Add-a-variable-to-a-class-instance-at-runtime
@@ -0,0 +1 @@
+../../Task/Add-a-variable-to-a-class-instance-at-runtime/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Anonymous-recursion b/Lang/Objective-C/Anonymous-recursion
new file mode 120000
index 0000000000..947ff90b49
--- /dev/null
+++ b/Lang/Objective-C/Anonymous-recursion
@@ -0,0 +1 @@
+../../Task/Anonymous-recursion/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Array-concatenation b/Lang/Objective-C/Array-concatenation
new file mode 120000
index 0000000000..3f47bf5e64
--- /dev/null
+++ b/Lang/Objective-C/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Arrays b/Lang/Objective-C/Arrays
new file mode 120000
index 0000000000..bdaf9def7a
--- /dev/null
+++ b/Lang/Objective-C/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Assertions b/Lang/Objective-C/Assertions
new file mode 120000
index 0000000000..02ee6dccfc
--- /dev/null
+++ b/Lang/Objective-C/Assertions
@@ -0,0 +1 @@
+../../Task/Assertions/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Associative-array-Creation b/Lang/Objective-C/Associative-array-Creation
new file mode 120000
index 0000000000..486ebcf479
--- /dev/null
+++ b/Lang/Objective-C/Associative-array-Creation
@@ -0,0 +1 @@
+../../Task/Associative-array-Creation/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Associative-array-Iteration b/Lang/Objective-C/Associative-array-Iteration
new file mode 120000
index 0000000000..0cfa48678e
--- /dev/null
+++ b/Lang/Objective-C/Associative-array-Iteration
@@ -0,0 +1 @@
+../../Task/Associative-array-Iteration/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Averages-Mode b/Lang/Objective-C/Averages-Mode
new file mode 120000
index 0000000000..33ee706e07
--- /dev/null
+++ b/Lang/Objective-C/Averages-Mode
@@ -0,0 +1 @@
+../../Task/Averages-Mode/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Averages-Simple-moving-average b/Lang/Objective-C/Averages-Simple-moving-average
new file mode 120000
index 0000000000..12e2b3c0a5
--- /dev/null
+++ b/Lang/Objective-C/Averages-Simple-moving-average
@@ -0,0 +1 @@
+../../Task/Averages-Simple-moving-average/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Binary-search b/Lang/Objective-C/Binary-search
new file mode 120000
index 0000000000..f66424dfcd
--- /dev/null
+++ b/Lang/Objective-C/Binary-search
@@ -0,0 +1 @@
+../../Task/Binary-search/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Break-OO-privacy b/Lang/Objective-C/Break-OO-privacy
new file mode 120000
index 0000000000..329ac2c04d
--- /dev/null
+++ b/Lang/Objective-C/Break-OO-privacy
@@ -0,0 +1 @@
+../../Task/Break-OO-privacy/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Call-an-object-method b/Lang/Objective-C/Call-an-object-method
new file mode 120000
index 0000000000..ea6e12b9db
--- /dev/null
+++ b/Lang/Objective-C/Call-an-object-method
@@ -0,0 +1 @@
+../../Task/Call-an-object-method/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Character-matching b/Lang/Objective-C/Character-matching
new file mode 120000
index 0000000000..b8714f4e95
--- /dev/null
+++ b/Lang/Objective-C/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Check-that-file-exists b/Lang/Objective-C/Check-that-file-exists
new file mode 120000
index 0000000000..8977afdeb7
--- /dev/null
+++ b/Lang/Objective-C/Check-that-file-exists
@@ -0,0 +1 @@
+../../Task/Check-that-file-exists/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Classes b/Lang/Objective-C/Classes
new file mode 120000
index 0000000000..31c52e6a00
--- /dev/null
+++ b/Lang/Objective-C/Classes
@@ -0,0 +1 @@
+../../Task/Classes/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Collections b/Lang/Objective-C/Collections
new file mode 120000
index 0000000000..fbfd1cf36e
--- /dev/null
+++ b/Lang/Objective-C/Collections
@@ -0,0 +1 @@
+../../Task/Collections/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Command-line-arguments b/Lang/Objective-C/Command-line-arguments
new file mode 120000
index 0000000000..47cdabd966
--- /dev/null
+++ b/Lang/Objective-C/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Count-occurrences-of-a-substring b/Lang/Objective-C/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..61e4c5611b
--- /dev/null
+++ b/Lang/Objective-C/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Create-a-file b/Lang/Objective-C/Create-a-file
new file mode 120000
index 0000000000..934c5d7524
--- /dev/null
+++ b/Lang/Objective-C/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Create-a-two-dimensional-array-at-runtime b/Lang/Objective-C/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..14ccf8b690
--- /dev/null
+++ b/Lang/Objective-C/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Date-format b/Lang/Objective-C/Date-format
new file mode 120000
index 0000000000..8ae69230af
--- /dev/null
+++ b/Lang/Objective-C/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Day-of-the-week b/Lang/Objective-C/Day-of-the-week
new file mode 120000
index 0000000000..e67180b2c3
--- /dev/null
+++ b/Lang/Objective-C/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Delegates b/Lang/Objective-C/Delegates
new file mode 120000
index 0000000000..b5f68bfffa
--- /dev/null
+++ b/Lang/Objective-C/Delegates
@@ -0,0 +1 @@
+../../Task/Delegates/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Delete-a-file b/Lang/Objective-C/Delete-a-file
new file mode 120000
index 0000000000..ca85b6f3d0
--- /dev/null
+++ b/Lang/Objective-C/Delete-a-file
@@ -0,0 +1 @@
+../../Task/Delete-a-file/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Determine-if-a-string-is-numeric b/Lang/Objective-C/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..9be3b3b485
--- /dev/null
+++ b/Lang/Objective-C/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Distributed-programming b/Lang/Objective-C/Distributed-programming
new file mode 120000
index 0000000000..080bb5de2e
--- /dev/null
+++ b/Lang/Objective-C/Distributed-programming
@@ -0,0 +1 @@
+../../Task/Distributed-programming/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Documentation b/Lang/Objective-C/Documentation
new file mode 120000
index 0000000000..fec2989ced
--- /dev/null
+++ b/Lang/Objective-C/Documentation
@@ -0,0 +1 @@
+../../Task/Documentation/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Dot-product b/Lang/Objective-C/Dot-product
new file mode 120000
index 0000000000..7acf393d04
--- /dev/null
+++ b/Lang/Objective-C/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Empty-program b/Lang/Objective-C/Empty-program
new file mode 120000
index 0000000000..99e796bc62
--- /dev/null
+++ b/Lang/Objective-C/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Ethiopian-multiplication b/Lang/Objective-C/Ethiopian-multiplication
new file mode 120000
index 0000000000..4293c289cd
--- /dev/null
+++ b/Lang/Objective-C/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Exceptions b/Lang/Objective-C/Exceptions
new file mode 120000
index 0000000000..0fce14eb1f
--- /dev/null
+++ b/Lang/Objective-C/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/Objective-C/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..46348480fd
--- /dev/null
+++ b/Lang/Objective-C/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Execute-a-system-command b/Lang/Objective-C/Execute-a-system-command
new file mode 120000
index 0000000000..4bea8e6b02
--- /dev/null
+++ b/Lang/Objective-C/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Fibonacci-sequence b/Lang/Objective-C/Fibonacci-sequence
new file mode 120000
index 0000000000..3aba0fa88c
--- /dev/null
+++ b/Lang/Objective-C/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/File-IO b/Lang/Objective-C/File-IO
new file mode 120000
index 0000000000..9d37d889c2
--- /dev/null
+++ b/Lang/Objective-C/File-IO
@@ -0,0 +1 @@
+../../Task/File-IO/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/File-modification-time b/Lang/Objective-C/File-modification-time
new file mode 120000
index 0000000000..52c3c3d3a3
--- /dev/null
+++ b/Lang/Objective-C/File-modification-time
@@ -0,0 +1 @@
+../../Task/File-modification-time/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/File-size b/Lang/Objective-C/File-size
new file mode 120000
index 0000000000..641101c58f
--- /dev/null
+++ b/Lang/Objective-C/File-size
@@ -0,0 +1 @@
+../../Task/File-size/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Filter b/Lang/Objective-C/Filter
new file mode 120000
index 0000000000..5d300083c9
--- /dev/null
+++ b/Lang/Objective-C/Filter
@@ -0,0 +1 @@
+../../Task/Filter/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/FizzBuzz b/Lang/Objective-C/FizzBuzz
new file mode 120000
index 0000000000..bc4262c62e
--- /dev/null
+++ b/Lang/Objective-C/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Flatten-a-list b/Lang/Objective-C/Flatten-a-list
new file mode 120000
index 0000000000..4ce64e102f
--- /dev/null
+++ b/Lang/Objective-C/Flatten-a-list
@@ -0,0 +1 @@
+../../Task/Flatten-a-list/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Formatted-numeric-output b/Lang/Objective-C/Formatted-numeric-output
new file mode 120000
index 0000000000..34b4bfbbf1
--- /dev/null
+++ b/Lang/Objective-C/Formatted-numeric-output
@@ -0,0 +1 @@
+../../Task/Formatted-numeric-output/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Function-composition b/Lang/Objective-C/Function-composition
new file mode 120000
index 0000000000..94bcbf81eb
--- /dev/null
+++ b/Lang/Objective-C/Function-composition
@@ -0,0 +1 @@
+../../Task/Function-composition/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Greatest-element-of-a-list b/Lang/Objective-C/Greatest-element-of-a-list
new file mode 120000
index 0000000000..6676dfdc7d
--- /dev/null
+++ b/Lang/Objective-C/Greatest-element-of-a-list
@@ -0,0 +1 @@
+../../Task/Greatest-element-of-a-list/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Guess-the-number-With-feedback-player b/Lang/Objective-C/Guess-the-number-With-feedback-player
new file mode 120000
index 0000000000..3ca0814c0e
--- /dev/null
+++ b/Lang/Objective-C/Guess-the-number-With-feedback-player
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback-player/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/HTTP b/Lang/Objective-C/HTTP
new file mode 120000
index 0000000000..0b08dcff04
--- /dev/null
+++ b/Lang/Objective-C/HTTP
@@ -0,0 +1 @@
+../../Task/HTTP/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Hash-from-two-arrays b/Lang/Objective-C/Hash-from-two-arrays
new file mode 120000
index 0000000000..a2a208e187
--- /dev/null
+++ b/Lang/Objective-C/Hash-from-two-arrays
@@ -0,0 +1 @@
+../../Task/Hash-from-two-arrays/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Hello-world-Graphical b/Lang/Objective-C/Hello-world-Graphical
new file mode 120000
index 0000000000..93c3781205
--- /dev/null
+++ b/Lang/Objective-C/Hello-world-Graphical
@@ -0,0 +1 @@
+../../Task/Hello-world-Graphical/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Hello-world-Standard-error b/Lang/Objective-C/Hello-world-Standard-error
new file mode 120000
index 0000000000..9ad431386b
--- /dev/null
+++ b/Lang/Objective-C/Hello-world-Standard-error
@@ -0,0 +1 @@
+../../Task/Hello-world-Standard-error/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Hello-world-Text b/Lang/Objective-C/Hello-world-Text
new file mode 120000
index 0000000000..bfd1deb576
--- /dev/null
+++ b/Lang/Objective-C/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Horners-rule-for-polynomial-evaluation b/Lang/Objective-C/Horners-rule-for-polynomial-evaluation
new file mode 120000
index 0000000000..e079b40164
--- /dev/null
+++ b/Lang/Objective-C/Horners-rule-for-polynomial-evaluation
@@ -0,0 +1 @@
+../../Task/Horners-rule-for-polynomial-evaluation/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Host-introspection b/Lang/Objective-C/Host-introspection
new file mode 120000
index 0000000000..14eaf31c9d
--- /dev/null
+++ b/Lang/Objective-C/Host-introspection
@@ -0,0 +1 @@
+../../Task/Host-introspection/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Hostname b/Lang/Objective-C/Hostname
new file mode 120000
index 0000000000..846632815a
--- /dev/null
+++ b/Lang/Objective-C/Hostname
@@ -0,0 +1 @@
+../../Task/Hostname/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Huffman-coding b/Lang/Objective-C/Huffman-coding
new file mode 120000
index 0000000000..9e34101132
--- /dev/null
+++ b/Lang/Objective-C/Huffman-coding
@@ -0,0 +1 @@
+../../Task/Huffman-coding/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Increment-a-numerical-string b/Lang/Objective-C/Increment-a-numerical-string
new file mode 120000
index 0000000000..07320ec1f1
--- /dev/null
+++ b/Lang/Objective-C/Increment-a-numerical-string
@@ -0,0 +1 @@
+../../Task/Increment-a-numerical-string/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Inheritance-Multiple b/Lang/Objective-C/Inheritance-Multiple
new file mode 120000
index 0000000000..07b847a222
--- /dev/null
+++ b/Lang/Objective-C/Inheritance-Multiple
@@ -0,0 +1 @@
+../../Task/Inheritance-Multiple/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Inheritance-Single b/Lang/Objective-C/Inheritance-Single
new file mode 120000
index 0000000000..2ec3b19cd8
--- /dev/null
+++ b/Lang/Objective-C/Inheritance-Single
@@ -0,0 +1 @@
+../../Task/Inheritance-Single/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/JSON b/Lang/Objective-C/JSON
new file mode 120000
index 0000000000..bc96aaf188
--- /dev/null
+++ b/Lang/Objective-C/JSON
@@ -0,0 +1 @@
+../../Task/JSON/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Knuths-algorithm-S b/Lang/Objective-C/Knuths-algorithm-S
new file mode 120000
index 0000000000..f182e9bd40
--- /dev/null
+++ b/Lang/Objective-C/Knuths-algorithm-S
@@ -0,0 +1 @@
+../../Task/Knuths-algorithm-S/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/LZW-compression b/Lang/Objective-C/LZW-compression
new file mode 120000
index 0000000000..33e8ca572a
--- /dev/null
+++ b/Lang/Objective-C/LZW-compression
@@ -0,0 +1 @@
+../../Task/LZW-compression/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Letter-frequency b/Lang/Objective-C/Letter-frequency
new file mode 120000
index 0000000000..2b30598ebe
--- /dev/null
+++ b/Lang/Objective-C/Letter-frequency
@@ -0,0 +1 @@
+../../Task/Letter-frequency/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Levenshtein-distance b/Lang/Objective-C/Levenshtein-distance
new file mode 120000
index 0000000000..71b03cf0cd
--- /dev/null
+++ b/Lang/Objective-C/Levenshtein-distance
@@ -0,0 +1 @@
+../../Task/Levenshtein-distance/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Literals-String b/Lang/Objective-C/Literals-String
new file mode 120000
index 0000000000..962cf5dec3
--- /dev/null
+++ b/Lang/Objective-C/Literals-String
@@ -0,0 +1 @@
+../../Task/Literals-String/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Loops-Foreach b/Lang/Objective-C/Loops-Foreach
new file mode 120000
index 0000000000..146069954d
--- /dev/null
+++ b/Lang/Objective-C/Loops-Foreach
@@ -0,0 +1 @@
+../../Task/Loops-Foreach/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Luhn-test-of-credit-card-numbers b/Lang/Objective-C/Luhn-test-of-credit-card-numbers
new file mode 120000
index 0000000000..87d044e2ce
--- /dev/null
+++ b/Lang/Objective-C/Luhn-test-of-credit-card-numbers
@@ -0,0 +1 @@
+../../Task/Luhn-test-of-credit-card-numbers/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/MD5 b/Lang/Objective-C/MD5
new file mode 120000
index 0000000000..a41558db20
--- /dev/null
+++ b/Lang/Objective-C/MD5
@@ -0,0 +1 @@
+../../Task/MD5/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Man-or-boy-test b/Lang/Objective-C/Man-or-boy-test
new file mode 120000
index 0000000000..b5cde4704b
--- /dev/null
+++ b/Lang/Objective-C/Man-or-boy-test
@@ -0,0 +1 @@
+../../Task/Man-or-boy-test/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Mutex b/Lang/Objective-C/Mutex
new file mode 120000
index 0000000000..543a721133
--- /dev/null
+++ b/Lang/Objective-C/Mutex
@@ -0,0 +1 @@
+../../Task/Mutex/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Mutual-recursion b/Lang/Objective-C/Mutual-recursion
new file mode 120000
index 0000000000..7ee796ec3c
--- /dev/null
+++ b/Lang/Objective-C/Mutual-recursion
@@ -0,0 +1 @@
+../../Task/Mutual-recursion/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Search-a-list b/Lang/Objective-C/Search-a-list
new file mode 120000
index 0000000000..d9919fa73c
--- /dev/null
+++ b/Lang/Objective-C/Search-a-list
@@ -0,0 +1 @@
+../../Task/Search-a-list/Objective-C
\ No newline at end of file
diff --git a/Lang/Occam/0DESCRIPTION b/Lang/Occam/0DESCRIPTION
new file mode 100644
index 0000000000..fbc04eba82
--- /dev/null
+++ b/Lang/Occam/0DESCRIPTION
@@ -0,0 +1,8 @@
+{{language|Occam
+}}
+
+
+occam is a concurrent programming language that builds on the Communicating Sequential Processes ([[CSP]]) process algebra, and shares many of its features. It is named after William of Ockham of Occam's Razor fame.
+
+==See Also==
+*[[wp:Occam_(programming_language)|Wikipedia:Occam Programming Language]]
\ No newline at end of file
diff --git a/Lang/Occam/Hello-world-Text b/Lang/Occam/Hello-world-Text
new file mode 120000
index 0000000000..b71d5c2ef5
--- /dev/null
+++ b/Lang/Occam/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Occam
\ No newline at end of file
diff --git a/Lang/Occam/Loops-Infinite b/Lang/Occam/Loops-Infinite
new file mode 120000
index 0000000000..4aab5c728f
--- /dev/null
+++ b/Lang/Occam/Loops-Infinite
@@ -0,0 +1 @@
+../../Task/Loops-Infinite/Occam
\ No newline at end of file
diff --git a/Lang/Octave/0DESCRIPTION b/Lang/Octave/0DESCRIPTION
new file mode 100644
index 0000000000..e2943995b8
--- /dev/null
+++ b/Lang/Octave/0DESCRIPTION
@@ -0,0 +1,6 @@
+{{stub}}
+{{language|Octave
+|site=http://www.gnu.org/software/octave/}}
+[http://www.gnu.org/software/octave/ GNU Octave] is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with [[MATLAB]]. (Text taken from the site)
+
+* [http://octave.sourceforge.net/ Octave-Forge]: Octave-Forge is a central location for the collaborative development of packages for [http://www.gnu.org/software/octave/ GNU Octave].
\ No newline at end of file
diff --git a/Lang/Octave/100-doors b/Lang/Octave/100-doors
new file mode 120000
index 0000000000..5db68d7508
--- /dev/null
+++ b/Lang/Octave/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/Octave
\ No newline at end of file
diff --git a/Lang/Octave/99-Bottles-of-Beer b/Lang/Octave/99-Bottles-of-Beer
new file mode 120000
index 0000000000..88a0748935
--- /dev/null
+++ b/Lang/Octave/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Accumulator-factory b/Lang/Octave/Accumulator-factory
new file mode 120000
index 0000000000..02f99593bc
--- /dev/null
+++ b/Lang/Octave/Accumulator-factory
@@ -0,0 +1 @@
+../../Task/Accumulator-factory/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Ackermann-function b/Lang/Octave/Ackermann-function
new file mode 120000
index 0000000000..18e41c511e
--- /dev/null
+++ b/Lang/Octave/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Add-a-variable-to-a-class-instance-at-runtime b/Lang/Octave/Add-a-variable-to-a-class-instance-at-runtime
new file mode 120000
index 0000000000..d833ee91ae
--- /dev/null
+++ b/Lang/Octave/Add-a-variable-to-a-class-instance-at-runtime
@@ -0,0 +1 @@
+../../Task/Add-a-variable-to-a-class-instance-at-runtime/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Apply-a-callback-to-an-array b/Lang/Octave/Apply-a-callback-to-an-array
new file mode 120000
index 0000000000..6d7a9fe855
--- /dev/null
+++ b/Lang/Octave/Apply-a-callback-to-an-array
@@ -0,0 +1 @@
+../../Task/Apply-a-callback-to-an-array/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Arithmetic-Complex b/Lang/Octave/Arithmetic-Complex
new file mode 120000
index 0000000000..e3ff1f309f
--- /dev/null
+++ b/Lang/Octave/Arithmetic-Complex
@@ -0,0 +1 @@
+../../Task/Arithmetic-Complex/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Averages-Arithmetic-mean b/Lang/Octave/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..0ac72d98a5
--- /dev/null
+++ b/Lang/Octave/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Averages-Median b/Lang/Octave/Averages-Median
new file mode 120000
index 0000000000..2b5cbed0ed
--- /dev/null
+++ b/Lang/Octave/Averages-Median
@@ -0,0 +1 @@
+../../Task/Averages-Median/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Averages-Mode b/Lang/Octave/Averages-Mode
new file mode 120000
index 0000000000..102579bc2a
--- /dev/null
+++ b/Lang/Octave/Averages-Mode
@@ -0,0 +1 @@
+../../Task/Averages-Mode/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Averages-Pythagorean-means b/Lang/Octave/Averages-Pythagorean-means
new file mode 120000
index 0000000000..edd6f6f02e
--- /dev/null
+++ b/Lang/Octave/Averages-Pythagorean-means
@@ -0,0 +1 @@
+../../Task/Averages-Pythagorean-means/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Binary-search b/Lang/Octave/Binary-search
new file mode 120000
index 0000000000..b9e7616ce9
--- /dev/null
+++ b/Lang/Octave/Binary-search
@@ -0,0 +1 @@
+../../Task/Binary-search/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Bitmap b/Lang/Octave/Bitmap
new file mode 120000
index 0000000000..92deca4b54
--- /dev/null
+++ b/Lang/Octave/Bitmap
@@ -0,0 +1 @@
+../../Task/Bitmap/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Bitmap-Histogram b/Lang/Octave/Bitmap-Histogram
new file mode 120000
index 0000000000..e36110b528
--- /dev/null
+++ b/Lang/Octave/Bitmap-Histogram
@@ -0,0 +1 @@
+../../Task/Bitmap-Histogram/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Bitwise-operations b/Lang/Octave/Bitwise-operations
new file mode 120000
index 0000000000..79216b935a
--- /dev/null
+++ b/Lang/Octave/Bitwise-operations
@@ -0,0 +1 @@
+../../Task/Bitwise-operations/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Combinations b/Lang/Octave/Combinations
new file mode 120000
index 0000000000..d22efac2fa
--- /dev/null
+++ b/Lang/Octave/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Comments b/Lang/Octave/Comments
new file mode 120000
index 0000000000..d16baf0acc
--- /dev/null
+++ b/Lang/Octave/Comments
@@ -0,0 +1 @@
+../../Task/Comments/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Conditional-structures b/Lang/Octave/Conditional-structures
new file mode 120000
index 0000000000..cb6a43d899
--- /dev/null
+++ b/Lang/Octave/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Count-in-factors b/Lang/Octave/Count-in-factors
new file mode 120000
index 0000000000..786fe9d701
--- /dev/null
+++ b/Lang/Octave/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Detect-division-by-zero b/Lang/Octave/Detect-division-by-zero
new file mode 120000
index 0000000000..f447025c9d
--- /dev/null
+++ b/Lang/Octave/Detect-division-by-zero
@@ -0,0 +1 @@
+../../Task/Detect-division-by-zero/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Determine-if-a-string-is-numeric b/Lang/Octave/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..8b2604ad85
--- /dev/null
+++ b/Lang/Octave/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Dot-product b/Lang/Octave/Dot-product
new file mode 120000
index 0000000000..e0c1e0f268
--- /dev/null
+++ b/Lang/Octave/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Dynamic-variable-names b/Lang/Octave/Dynamic-variable-names
new file mode 120000
index 0000000000..e6182e19e2
--- /dev/null
+++ b/Lang/Octave/Dynamic-variable-names
@@ -0,0 +1 @@
+../../Task/Dynamic-variable-names/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Ethiopian-multiplication b/Lang/Octave/Ethiopian-multiplication
new file mode 120000
index 0000000000..0d59ec11a6
--- /dev/null
+++ b/Lang/Octave/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Evolutionary-algorithm b/Lang/Octave/Evolutionary-algorithm
new file mode 120000
index 0000000000..3655325d9b
--- /dev/null
+++ b/Lang/Octave/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Execute-a-system-command b/Lang/Octave/Execute-a-system-command
new file mode 120000
index 0000000000..49176170fb
--- /dev/null
+++ b/Lang/Octave/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Factorial b/Lang/Octave/Factorial
new file mode 120000
index 0000000000..44ed400f5a
--- /dev/null
+++ b/Lang/Octave/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Factors-of-a-Mersenne-number b/Lang/Octave/Factors-of-a-Mersenne-number
new file mode 120000
index 0000000000..37efa80a12
--- /dev/null
+++ b/Lang/Octave/Factors-of-a-Mersenne-number
@@ -0,0 +1 @@
+../../Task/Factors-of-a-Mersenne-number/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Fibonacci-sequence b/Lang/Octave/Fibonacci-sequence
new file mode 120000
index 0000000000..1ea6637644
--- /dev/null
+++ b/Lang/Octave/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Filter b/Lang/Octave/Filter
new file mode 120000
index 0000000000..6f18b020d3
--- /dev/null
+++ b/Lang/Octave/Filter
@@ -0,0 +1 @@
+../../Task/Filter/Octave
\ No newline at end of file
diff --git a/Lang/Octave/First-class-functions b/Lang/Octave/First-class-functions
new file mode 120000
index 0000000000..33d9f16dcf
--- /dev/null
+++ b/Lang/Octave/First-class-functions
@@ -0,0 +1 @@
+../../Task/First-class-functions/Octave
\ No newline at end of file
diff --git a/Lang/Octave/FizzBuzz b/Lang/Octave/FizzBuzz
new file mode 120000
index 0000000000..4ba8ede79e
--- /dev/null
+++ b/Lang/Octave/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Function-composition b/Lang/Octave/Function-composition
new file mode 120000
index 0000000000..6a90b5f1e3
--- /dev/null
+++ b/Lang/Octave/Function-composition
@@ -0,0 +1 @@
+../../Task/Function-composition/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Function-definition b/Lang/Octave/Function-definition
new file mode 120000
index 0000000000..070690c64d
--- /dev/null
+++ b/Lang/Octave/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Gamma-function b/Lang/Octave/Gamma-function
new file mode 120000
index 0000000000..2fef82561d
--- /dev/null
+++ b/Lang/Octave/Gamma-function
@@ -0,0 +1 @@
+../../Task/Gamma-function/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Grayscale-image b/Lang/Octave/Grayscale-image
new file mode 120000
index 0000000000..5ee857e0e4
--- /dev/null
+++ b/Lang/Octave/Grayscale-image
@@ -0,0 +1 @@
+../../Task/Grayscale-image/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Greatest-common-divisor b/Lang/Octave/Greatest-common-divisor
new file mode 120000
index 0000000000..28266f5cc1
--- /dev/null
+++ b/Lang/Octave/Greatest-common-divisor
@@ -0,0 +1 @@
+../../Task/Greatest-common-divisor/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Greatest-element-of-a-list b/Lang/Octave/Greatest-element-of-a-list
new file mode 120000
index 0000000000..8083f1cd78
--- /dev/null
+++ b/Lang/Octave/Greatest-element-of-a-list
@@ -0,0 +1 @@
+../../Task/Greatest-element-of-a-list/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Hello-world-Standard-error b/Lang/Octave/Hello-world-Standard-error
new file mode 120000
index 0000000000..79955c987b
--- /dev/null
+++ b/Lang/Octave/Hello-world-Standard-error
@@ -0,0 +1 @@
+../../Task/Hello-world-Standard-error/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Hello-world-Text b/Lang/Octave/Hello-world-Text
new file mode 120000
index 0000000000..6a91674dfd
--- /dev/null
+++ b/Lang/Octave/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Higher-order-functions b/Lang/Octave/Higher-order-functions
new file mode 120000
index 0000000000..39982aa5fa
--- /dev/null
+++ b/Lang/Octave/Higher-order-functions
@@ -0,0 +1 @@
+../../Task/Higher-order-functions/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Horizontal-sundial-calculations b/Lang/Octave/Horizontal-sundial-calculations
new file mode 120000
index 0000000000..5aa4316088
--- /dev/null
+++ b/Lang/Octave/Horizontal-sundial-calculations
@@ -0,0 +1 @@
+../../Task/Horizontal-sundial-calculations/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Horners-rule-for-polynomial-evaluation b/Lang/Octave/Horners-rule-for-polynomial-evaluation
new file mode 120000
index 0000000000..bc3bcdc985
--- /dev/null
+++ b/Lang/Octave/Horners-rule-for-polynomial-evaluation
@@ -0,0 +1 @@
+../../Task/Horners-rule-for-polynomial-evaluation/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Hostname b/Lang/Octave/Hostname
new file mode 120000
index 0000000000..8af7c3faa9
--- /dev/null
+++ b/Lang/Octave/Hostname
@@ -0,0 +1 @@
+../../Task/Hostname/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Identity-matrix b/Lang/Octave/Identity-matrix
new file mode 120000
index 0000000000..6416e444fb
--- /dev/null
+++ b/Lang/Octave/Identity-matrix
@@ -0,0 +1 @@
+../../Task/Identity-matrix/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Image-convolution b/Lang/Octave/Image-convolution
new file mode 120000
index 0000000000..5f13d5485a
--- /dev/null
+++ b/Lang/Octave/Image-convolution
@@ -0,0 +1 @@
+../../Task/Image-convolution/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Increment-a-numerical-string b/Lang/Octave/Increment-a-numerical-string
new file mode 120000
index 0000000000..e03fc688a6
--- /dev/null
+++ b/Lang/Octave/Increment-a-numerical-string
@@ -0,0 +1 @@
+../../Task/Increment-a-numerical-string/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Integer-comparison b/Lang/Octave/Integer-comparison
new file mode 120000
index 0000000000..8d7228294f
--- /dev/null
+++ b/Lang/Octave/Integer-comparison
@@ -0,0 +1 @@
+../../Task/Integer-comparison/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Interactive-programming b/Lang/Octave/Interactive-programming
new file mode 120000
index 0000000000..7bb3bcc8f3
--- /dev/null
+++ b/Lang/Octave/Interactive-programming
@@ -0,0 +1 @@
+../../Task/Interactive-programming/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Literals-String b/Lang/Octave/Literals-String
new file mode 120000
index 0000000000..e039bf547b
--- /dev/null
+++ b/Lang/Octave/Literals-String
@@ -0,0 +1 @@
+../../Task/Literals-String/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Logical-operations b/Lang/Octave/Logical-operations
new file mode 120000
index 0000000000..08c617628f
--- /dev/null
+++ b/Lang/Octave/Logical-operations
@@ -0,0 +1 @@
+../../Task/Logical-operations/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Loops-Break b/Lang/Octave/Loops-Break
new file mode 120000
index 0000000000..d7615f9b42
--- /dev/null
+++ b/Lang/Octave/Loops-Break
@@ -0,0 +1 @@
+../../Task/Loops-Break/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Loops-Continue b/Lang/Octave/Loops-Continue
new file mode 120000
index 0000000000..ff37ab7192
--- /dev/null
+++ b/Lang/Octave/Loops-Continue
@@ -0,0 +1 @@
+../../Task/Loops-Continue/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Loops-Do-while b/Lang/Octave/Loops-Do-while
new file mode 120000
index 0000000000..db36c8e3b1
--- /dev/null
+++ b/Lang/Octave/Loops-Do-while
@@ -0,0 +1 @@
+../../Task/Loops-Do-while/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Loops-Downward-for b/Lang/Octave/Loops-Downward-for
new file mode 120000
index 0000000000..9beaea5154
--- /dev/null
+++ b/Lang/Octave/Loops-Downward-for
@@ -0,0 +1 @@
+../../Task/Loops-Downward-for/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Loops-For b/Lang/Octave/Loops-For
new file mode 120000
index 0000000000..b3cedb3ca8
--- /dev/null
+++ b/Lang/Octave/Loops-For
@@ -0,0 +1 @@
+../../Task/Loops-For/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Loops-For-with-a-specified-step b/Lang/Octave/Loops-For-with-a-specified-step
new file mode 120000
index 0000000000..1a50fae3aa
--- /dev/null
+++ b/Lang/Octave/Loops-For-with-a-specified-step
@@ -0,0 +1 @@
+../../Task/Loops-For-with-a-specified-step/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Loops-Foreach b/Lang/Octave/Loops-Foreach
new file mode 120000
index 0000000000..7867237f28
--- /dev/null
+++ b/Lang/Octave/Loops-Foreach
@@ -0,0 +1 @@
+../../Task/Loops-Foreach/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Loops-Infinite b/Lang/Octave/Loops-Infinite
new file mode 120000
index 0000000000..a2929a7ea5
--- /dev/null
+++ b/Lang/Octave/Loops-Infinite
@@ -0,0 +1 @@
+../../Task/Loops-Infinite/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Loops-Nested b/Lang/Octave/Loops-Nested
new file mode 120000
index 0000000000..e83dea9684
--- /dev/null
+++ b/Lang/Octave/Loops-Nested
@@ -0,0 +1 @@
+../../Task/Loops-Nested/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Loops-While b/Lang/Octave/Loops-While
new file mode 120000
index 0000000000..5385703532
--- /dev/null
+++ b/Lang/Octave/Loops-While
@@ -0,0 +1 @@
+../../Task/Loops-While/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Luhn-test-of-credit-card-numbers b/Lang/Octave/Luhn-test-of-credit-card-numbers
new file mode 120000
index 0000000000..99902b67d9
--- /dev/null
+++ b/Lang/Octave/Luhn-test-of-credit-card-numbers
@@ -0,0 +1 @@
+../../Task/Luhn-test-of-credit-card-numbers/Octave
\ No newline at end of file
diff --git a/Lang/Octave/MD5 b/Lang/Octave/MD5
new file mode 120000
index 0000000000..e1e55d161c
--- /dev/null
+++ b/Lang/Octave/MD5
@@ -0,0 +1 @@
+../../Task/MD5/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Mandelbrot-set b/Lang/Octave/Mandelbrot-set
new file mode 120000
index 0000000000..7b79a62b94
--- /dev/null
+++ b/Lang/Octave/Mandelbrot-set
@@ -0,0 +1 @@
+../../Task/Mandelbrot-set/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Matrix-exponentiation-operator b/Lang/Octave/Matrix-exponentiation-operator
new file mode 120000
index 0000000000..f6b9bf42c6
--- /dev/null
+++ b/Lang/Octave/Matrix-exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Matrix-exponentiation-operator/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Matrix-multiplication b/Lang/Octave/Matrix-multiplication
new file mode 120000
index 0000000000..a5446fae15
--- /dev/null
+++ b/Lang/Octave/Matrix-multiplication
@@ -0,0 +1 @@
+../../Task/Matrix-multiplication/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Matrix-transposition b/Lang/Octave/Matrix-transposition
new file mode 120000
index 0000000000..d987db8319
--- /dev/null
+++ b/Lang/Octave/Matrix-transposition
@@ -0,0 +1 @@
+../../Task/Matrix-transposition/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Monte-Carlo-methods b/Lang/Octave/Monte-Carlo-methods
new file mode 120000
index 0000000000..c51feb0779
--- /dev/null
+++ b/Lang/Octave/Monte-Carlo-methods
@@ -0,0 +1 @@
+../../Task/Monte-Carlo-methods/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Mouse-position b/Lang/Octave/Mouse-position
new file mode 120000
index 0000000000..504506b082
--- /dev/null
+++ b/Lang/Octave/Mouse-position
@@ -0,0 +1 @@
+../../Task/Mouse-position/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Mutual-recursion b/Lang/Octave/Mutual-recursion
new file mode 120000
index 0000000000..ce1f219b73
--- /dev/null
+++ b/Lang/Octave/Mutual-recursion
@@ -0,0 +1 @@
+../../Task/Mutual-recursion/Octave
\ No newline at end of file
diff --git a/Lang/Omega/0DESCRIPTION b/Lang/Omega/0DESCRIPTION
new file mode 100644
index 0000000000..125dbbf048
--- /dev/null
+++ b/Lang/Omega/0DESCRIPTION
@@ -0,0 +1,8 @@
+{{stub}}
+{{language}}
+
+There are at least two programming languages called Omega!
+
+[http://www.pervasive.jku.at/About_Us/Staff/Blaschek/Omega/_Report/Introduction.html Omega] is a prototype-based programming language created by Günther Blaschek in the spirit of Smalltalk. It does not have classes in the sense of Smalltalk and C++, but prototypes as in Javascript, Self, Slate and Io.
+
+[http://code.google.com/p/omega/ Omega]is a cross between a purely functional programming language and a theorem prover, conceived and implemented by Tim Sheard and his students. The syntax is borrowed from Haskell and has been moderately extended.
\ No newline at end of file
diff --git a/Lang/Onyx/0DESCRIPTION b/Lang/Onyx/0DESCRIPTION
new file mode 100644
index 0000000000..df5ce1d78f
--- /dev/null
+++ b/Lang/Onyx/0DESCRIPTION
@@ -0,0 +1,14 @@
+{{stub}}
+{{language|
+|site=http://www.canonware.com/onyx/
+|gc=yes
+}}
+
+Onyx is a powerful stack-based, multi-threaded, interpreted, general purpose programming language similar to PostScript. It can be embedded as an extension language similarly to [[ficl]] ([[Forth]]), [[guile]] ([[scheme]]), [[librep]] ([[lisp]] dialect), [[s-lang]], [[Lua]], and [[Tcl]].
+
+Onyx is perhaps the most advanced stack-based general purpose programming language in existence
+It has the following distinguishing features:
+* Double-ended stacks are first class objects
+* Perl-compatible regular expressions.
+* Loadable module system.
+* Object-oriented programming (OOP) support similar to that of [[Objective-C]]
\ No newline at end of file
diff --git a/Lang/Onyx/Hello-world-Text b/Lang/Onyx/Hello-world-Text
new file mode 120000
index 0000000000..0c4abdc707
--- /dev/null
+++ b/Lang/Onyx/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Onyx
\ No newline at end of file
diff --git a/Lang/OoRexx/0DESCRIPTION b/Lang/OoRexx/0DESCRIPTION
new file mode 100644
index 0000000000..ef236b80eb
--- /dev/null
+++ b/Lang/OoRexx/0DESCRIPTION
@@ -0,0 +1,8 @@
+{{DISPLAYTITLE: Category:ooREXX}}{{stub}}{{language}}{{implementation|REXX}}
+ooRexx (aka Open Object Rexx) is an object oriented successor of 'Classic' Rexx
+(another one is NetRexx). Both Open Object Rexx and NetRexx were created by IBM and are now,
+open sourced, maintained by the Rexx Language Association.
+ooRexx can be used to run many programs shown here in the [[REXX]] category.
+
+See http://rosettacode.org/wiki/Rosetta_Code:Village_Pump/Dialects#REXX.2C_ooRexx.2C_and_others
+for differences.
\ No newline at end of file
diff --git a/Lang/Opa/0DESCRIPTION b/Lang/Opa/0DESCRIPTION
new file mode 100644
index 0000000000..55eed544fb
--- /dev/null
+++ b/Lang/Opa/0DESCRIPTION
@@ -0,0 +1,4 @@
+{{stub}}{{language|Opa
+|site=http://opalang.org/
+}}
+Opa is an open source, simple and unified platform for writing web applications.
\ No newline at end of file
diff --git a/Lang/Opa/Hello-world-Web-server b/Lang/Opa/Hello-world-Web-server
new file mode 120000
index 0000000000..5a6bb2ec46
--- /dev/null
+++ b/Lang/Opa/Hello-world-Web-server
@@ -0,0 +1 @@
+../../Task/Hello-world-Web-server/Opa
\ No newline at end of file
diff --git a/Lang/OpenC++/0DESCRIPTION b/Lang/OpenC++/0DESCRIPTION
new file mode 100644
index 0000000000..2dd83177ea
--- /dev/null
+++ b/Lang/OpenC++/0DESCRIPTION
@@ -0,0 +1,11 @@
+{{stub}}
+{{language|OpenC++
+|site=http://opencxx.sourceforge.net/
+}}
+
+OpenC++ is a version of [[C++]] with a Metaobject Protocol. In other words, it is a tool of source-code translation for [[C++]]. Programmers can easily implement various kinds of translation so that they can define new syntax, new annotation, and new object behavior.
+
+==See Also==
+*[http://www.csg.is.titech.ac.jp/~chiba/openc++.html Chiba's OpenC++ Page]
+*[[wp:OpenC%2B%2B|Wikipedia: OpenC++]]
+*[http://www.codeproject.com/KB/library/opencxx.aspx OpenC++ - A C++ Metacompiler and Introspection Library at The Code Project]
\ No newline at end of file
diff --git a/Lang/OpenEdge-Progress/0DESCRIPTION b/Lang/OpenEdge-Progress/0DESCRIPTION
new file mode 100644
index 0000000000..3b1b1c383b
--- /dev/null
+++ b/Lang/OpenEdge-Progress/0DESCRIPTION
@@ -0,0 +1,3 @@
+{{language|OpenEdge/Progress}}
+
+OpenEdge is the Progress 4GL with classes. It is a commercial business application oriented language by [http://www.progress.com Progress].
\ No newline at end of file
diff --git a/Lang/OpenEdge-Progress/100-doors b/Lang/OpenEdge-Progress/100-doors
new file mode 120000
index 0000000000..74798a5a21
--- /dev/null
+++ b/Lang/OpenEdge-Progress/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/OpenEdge-Progress
\ No newline at end of file
diff --git a/Lang/OpenEdge-Progress/24-game b/Lang/OpenEdge-Progress/24-game
new file mode 120000
index 0000000000..8cb8efb302
--- /dev/null
+++ b/Lang/OpenEdge-Progress/24-game
@@ -0,0 +1 @@
+../../Task/24-game/OpenEdge-Progress
\ No newline at end of file
diff --git a/Lang/OpenEdge-Progress/99-Bottles-of-Beer b/Lang/OpenEdge-Progress/99-Bottles-of-Beer
new file mode 120000
index 0000000000..c1b685c2f0
--- /dev/null
+++ b/Lang/OpenEdge-Progress/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/OpenEdge-Progress
\ No newline at end of file
diff --git a/Lang/OpenEdge-Progress/A+B b/Lang/OpenEdge-Progress/A+B
new file mode 120000
index 0000000000..dcb5cb39d3
--- /dev/null
+++ b/Lang/OpenEdge-Progress/A+B
@@ -0,0 +1 @@
+../../Task/A+B/OpenEdge-Progress
\ No newline at end of file
diff --git a/Lang/OpenEdge-Progress/Align-columns b/Lang/OpenEdge-Progress/Align-columns
new file mode 120000
index 0000000000..f8bb1c0129
--- /dev/null
+++ b/Lang/OpenEdge-Progress/Align-columns
@@ -0,0 +1 @@
+../../Task/Align-columns/OpenEdge-Progress
\ No newline at end of file
diff --git a/Lang/OpenEdge-Progress/CSV-to-HTML-translation b/Lang/OpenEdge-Progress/CSV-to-HTML-translation
new file mode 120000
index 0000000000..a418e4a0ad
--- /dev/null
+++ b/Lang/OpenEdge-Progress/CSV-to-HTML-translation
@@ -0,0 +1 @@
+../../Task/CSV-to-HTML-translation/OpenEdge-Progress
\ No newline at end of file
diff --git a/Lang/OpenEdge-Progress/Character-codes b/Lang/OpenEdge-Progress/Character-codes
new file mode 120000
index 0000000000..7277cda0ee
--- /dev/null
+++ b/Lang/OpenEdge-Progress/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/OpenEdge-Progress
\ No newline at end of file
diff --git a/Lang/OpenEdge-Progress/Compound-data-type b/Lang/OpenEdge-Progress/Compound-data-type
new file mode 120000
index 0000000000..05f13cf00c
--- /dev/null
+++ b/Lang/OpenEdge-Progress/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/OpenEdge-Progress
\ No newline at end of file
diff --git a/Lang/OpenEdge-Progress/Empty-string b/Lang/OpenEdge-Progress/Empty-string
new file mode 120000
index 0000000000..eb6140e54f
--- /dev/null
+++ b/Lang/OpenEdge-Progress/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/OpenEdge-Progress
\ No newline at end of file
diff --git a/Lang/OpenEdge-Progress/File-IO b/Lang/OpenEdge-Progress/File-IO
new file mode 120000
index 0000000000..cc32274cf0
--- /dev/null
+++ b/Lang/OpenEdge-Progress/File-IO
@@ -0,0 +1 @@
+../../Task/File-IO/OpenEdge-Progress
\ No newline at end of file
diff --git a/Lang/OpenEdge-Progress/File-modification-time b/Lang/OpenEdge-Progress/File-modification-time
new file mode 120000
index 0000000000..d13ea0d8d2
--- /dev/null
+++ b/Lang/OpenEdge-Progress/File-modification-time
@@ -0,0 +1 @@
+../../Task/File-modification-time/OpenEdge-Progress
\ No newline at end of file
diff --git a/Lang/OpenEdge-Progress/Find-common-directory-path b/Lang/OpenEdge-Progress/Find-common-directory-path
new file mode 120000
index 0000000000..798c93e40c
--- /dev/null
+++ b/Lang/OpenEdge-Progress/Find-common-directory-path
@@ -0,0 +1 @@
+../../Task/Find-common-directory-path/OpenEdge-Progress
\ No newline at end of file
diff --git a/Lang/OpenEdge-Progress/Formatted-numeric-output b/Lang/OpenEdge-Progress/Formatted-numeric-output
new file mode 120000
index 0000000000..84a2f023f2
--- /dev/null
+++ b/Lang/OpenEdge-Progress/Formatted-numeric-output
@@ -0,0 +1 @@
+../../Task/Formatted-numeric-output/OpenEdge-Progress
\ No newline at end of file
diff --git a/Lang/OpenEdge-Progress/Globally-replace-text-in-several-files b/Lang/OpenEdge-Progress/Globally-replace-text-in-several-files
new file mode 120000
index 0000000000..8d864dca44
--- /dev/null
+++ b/Lang/OpenEdge-Progress/Globally-replace-text-in-several-files
@@ -0,0 +1 @@
+../../Task/Globally-replace-text-in-several-files/OpenEdge-Progress
\ No newline at end of file
diff --git a/Lang/OpenEdge-Progress/Hello-world-Graphical b/Lang/OpenEdge-Progress/Hello-world-Graphical
new file mode 120000
index 0000000000..05570aa730
--- /dev/null
+++ b/Lang/OpenEdge-Progress/Hello-world-Graphical
@@ -0,0 +1 @@
+../../Task/Hello-world-Graphical/OpenEdge-Progress
\ No newline at end of file
diff --git a/Lang/OpenEdge-Progress/Hello-world-Line-printer b/Lang/OpenEdge-Progress/Hello-world-Line-printer
new file mode 120000
index 0000000000..2226f35c33
--- /dev/null
+++ b/Lang/OpenEdge-Progress/Hello-world-Line-printer
@@ -0,0 +1 @@
+../../Task/Hello-world-Line-printer/OpenEdge-Progress
\ No newline at end of file
diff --git a/Lang/OpenEdge-Progress/Include-a-file b/Lang/OpenEdge-Progress/Include-a-file
new file mode 120000
index 0000000000..0cd0eba838
--- /dev/null
+++ b/Lang/OpenEdge-Progress/Include-a-file
@@ -0,0 +1 @@
+../../Task/Include-a-file/OpenEdge-Progress
\ No newline at end of file
diff --git a/Lang/OpenEdge-Progress/Increment-a-numerical-string b/Lang/OpenEdge-Progress/Increment-a-numerical-string
new file mode 120000
index 0000000000..8d62cac6e6
--- /dev/null
+++ b/Lang/OpenEdge-Progress/Increment-a-numerical-string
@@ -0,0 +1 @@
+../../Task/Increment-a-numerical-string/OpenEdge-Progress
\ No newline at end of file
diff --git a/Lang/OpenEdge-Progress/Infinity b/Lang/OpenEdge-Progress/Infinity
new file mode 120000
index 0000000000..78eb321f73
--- /dev/null
+++ b/Lang/OpenEdge-Progress/Infinity
@@ -0,0 +1 @@
+../../Task/Infinity/OpenEdge-Progress
\ No newline at end of file
diff --git a/Lang/OpenEdge-Progress/Integer-sequence b/Lang/OpenEdge-Progress/Integer-sequence
new file mode 120000
index 0000000000..efa496d518
--- /dev/null
+++ b/Lang/OpenEdge-Progress/Integer-sequence
@@ -0,0 +1 @@
+../../Task/Integer-sequence/OpenEdge-Progress
\ No newline at end of file
diff --git a/Lang/OpenEdge-Progress/JSON b/Lang/OpenEdge-Progress/JSON
new file mode 120000
index 0000000000..e27dd90969
--- /dev/null
+++ b/Lang/OpenEdge-Progress/JSON
@@ -0,0 +1 @@
+../../Task/JSON/OpenEdge-Progress
\ No newline at end of file
diff --git a/Lang/OpenEdge-Progress/Keyboard-input-Obtain-a-Y-or-N-response b/Lang/OpenEdge-Progress/Keyboard-input-Obtain-a-Y-or-N-response
new file mode 120000
index 0000000000..00b9a0bc8e
--- /dev/null
+++ b/Lang/OpenEdge-Progress/Keyboard-input-Obtain-a-Y-or-N-response
@@ -0,0 +1 @@
+../../Task/Keyboard-input-Obtain-a-Y-or-N-response/OpenEdge-Progress
\ No newline at end of file
diff --git a/Lang/OpenEdge-Progress/Last-letter-first-letter b/Lang/OpenEdge-Progress/Last-letter-first-letter
new file mode 120000
index 0000000000..bbe2f6c67f
--- /dev/null
+++ b/Lang/OpenEdge-Progress/Last-letter-first-letter
@@ -0,0 +1 @@
+../../Task/Last-letter-first-letter/OpenEdge-Progress
\ No newline at end of file
diff --git a/Lang/OpenEdge-Progress/Leap-year b/Lang/OpenEdge-Progress/Leap-year
new file mode 120000
index 0000000000..b46605c388
--- /dev/null
+++ b/Lang/OpenEdge-Progress/Leap-year
@@ -0,0 +1 @@
+../../Task/Leap-year/OpenEdge-Progress
\ No newline at end of file
diff --git a/Lang/OpenEdge-Progress/Logical-operations b/Lang/OpenEdge-Progress/Logical-operations
new file mode 120000
index 0000000000..e396438369
--- /dev/null
+++ b/Lang/OpenEdge-Progress/Logical-operations
@@ -0,0 +1 @@
+../../Task/Logical-operations/OpenEdge-Progress
\ No newline at end of file
diff --git a/Lang/OpenEdge-Progress/MD5 b/Lang/OpenEdge-Progress/MD5
new file mode 120000
index 0000000000..86de96d33a
--- /dev/null
+++ b/Lang/OpenEdge-Progress/MD5
@@ -0,0 +1 @@
+../../Task/MD5/OpenEdge-Progress
\ No newline at end of file
diff --git a/Lang/OpenEdge-Progress/Menu b/Lang/OpenEdge-Progress/Menu
new file mode 120000
index 0000000000..cef2092e6a
--- /dev/null
+++ b/Lang/OpenEdge-Progress/Menu
@@ -0,0 +1 @@
+../../Task/Menu/OpenEdge-Progress
\ No newline at end of file
diff --git a/Lang/Openscad/0DESCRIPTION b/Lang/Openscad/0DESCRIPTION
new file mode 100644
index 0000000000..6a69b7b46d
--- /dev/null
+++ b/Lang/Openscad/0DESCRIPTION
@@ -0,0 +1,5 @@
+{{stub}}{{language}}
+
+The openscad language is the scripting language used by the openscad geometry compiler.
+
+[[Category:Constructive Solid Geometry]]
\ No newline at end of file
diff --git a/Lang/Openscad/A+B b/Lang/Openscad/A+B
new file mode 120000
index 0000000000..459cbd5c48
--- /dev/null
+++ b/Lang/Openscad/A+B
@@ -0,0 +1 @@
+../../Task/A+B/Openscad
\ No newline at end of file
diff --git a/Lang/Openscad/Arithmetic-Integer b/Lang/Openscad/Arithmetic-Integer
new file mode 120000
index 0000000000..013f63250d
--- /dev/null
+++ b/Lang/Openscad/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/Openscad
\ No newline at end of file
diff --git a/Lang/Openscad/Comments b/Lang/Openscad/Comments
new file mode 120000
index 0000000000..0720fc5bda
--- /dev/null
+++ b/Lang/Openscad/Comments
@@ -0,0 +1 @@
+../../Task/Comments/Openscad
\ No newline at end of file
diff --git a/Lang/Openscad/Death-Star b/Lang/Openscad/Death-Star
new file mode 120000
index 0000000000..bf9791d300
--- /dev/null
+++ b/Lang/Openscad/Death-Star
@@ -0,0 +1 @@
+../../Task/Death-Star/Openscad
\ No newline at end of file
diff --git a/Lang/Openscad/Draw-a-cuboid b/Lang/Openscad/Draw-a-cuboid
new file mode 120000
index 0000000000..24dc4742bd
--- /dev/null
+++ b/Lang/Openscad/Draw-a-cuboid
@@ -0,0 +1 @@
+../../Task/Draw-a-cuboid/Openscad
\ No newline at end of file
diff --git a/Lang/Openscad/Draw-a-sphere b/Lang/Openscad/Draw-a-sphere
new file mode 120000
index 0000000000..cade88016d
--- /dev/null
+++ b/Lang/Openscad/Draw-a-sphere
@@ -0,0 +1 @@
+../../Task/Draw-a-sphere/Openscad
\ No newline at end of file
diff --git a/Lang/Openscad/Hello-world-Text b/Lang/Openscad/Hello-world-Text
new file mode 120000
index 0000000000..236caf16f2
--- /dev/null
+++ b/Lang/Openscad/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Openscad
\ No newline at end of file
diff --git a/Lang/Openscad/Include-a-file b/Lang/Openscad/Include-a-file
new file mode 120000
index 0000000000..25fc108927
--- /dev/null
+++ b/Lang/Openscad/Include-a-file
@@ -0,0 +1 @@
+../../Task/Include-a-file/Openscad
\ No newline at end of file
diff --git a/Lang/Openscad/Loops-For-with-a-specified-step b/Lang/Openscad/Loops-For-with-a-specified-step
new file mode 120000
index 0000000000..bb513fc8da
--- /dev/null
+++ b/Lang/Openscad/Loops-For-with-a-specified-step
@@ -0,0 +1 @@
+../../Task/Loops-For-with-a-specified-step/Openscad
\ No newline at end of file
diff --git a/Lang/Order/0DESCRIPTION b/Lang/Order/0DESCRIPTION
new file mode 100644
index 0000000000..7258365d8c
--- /dev/null
+++ b/Lang/Order/0DESCRIPTION
@@ -0,0 +1,18 @@
+{{language
+|exec=interpreted
+|gc=yes
+|safety=unsafe
+|checking=dynamic
+|parampass=value
+|hopl=no}}
+{{language programming paradigm|Declarative}}
+{{language programming paradigm|functional}}
+
+'''Order''' is a high-level, functional programming language implemented entirely using the [[C]] preprocessor. It provides a full programming language for [[metaprogramming]] in C (or any other environment where the C preprocessor can be used). A debugging environment and line-by-line evaluator are also included. Rather than building a library of macros to solve specific metaprogramming problems individually, Order-PP implements a continuation-based virtual machine which then interprets the high-level Order language.
+
+Order is based primarily on lambda calculus, and is vaguely similar in semantics to languages such as ML or [[Scheme]], offering first-class functions with partial application, lexical scope, first-class continuations, arbitrary-precision arithmetic, and built-in operators for compound types.
+
+Order requires some components from its sister project, Chaos (included in the download), to also be installed, although it is not primarily based on it. Order also requires a standard-conforming [[C99]] preprocessor, and has absolutely no workarounds for non-conformance - currently, only [[GCC]] is confirmed to work with all examples.
+
+==See Also==
+* [http://chaos-pp.cvs.sourceforge.net/viewvc/chaos-pp/?view=tar Official download (Chaos, includes Order)]
\ No newline at end of file
diff --git a/Lang/Order/99-Bottles-of-Beer b/Lang/Order/99-Bottles-of-Beer
new file mode 120000
index 0000000000..169e6ca970
--- /dev/null
+++ b/Lang/Order/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/Order
\ No newline at end of file
diff --git a/Lang/Order/Ackermann-function b/Lang/Order/Ackermann-function
new file mode 120000
index 0000000000..f33ef97c7d
--- /dev/null
+++ b/Lang/Order/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/Order
\ No newline at end of file
diff --git a/Lang/Order/Apply-a-callback-to-an-array b/Lang/Order/Apply-a-callback-to-an-array
new file mode 120000
index 0000000000..afedea3715
--- /dev/null
+++ b/Lang/Order/Apply-a-callback-to-an-array
@@ -0,0 +1 @@
+../../Task/Apply-a-callback-to-an-array/Order
\ No newline at end of file
diff --git a/Lang/Order/Array-concatenation b/Lang/Order/Array-concatenation
new file mode 120000
index 0000000000..1640f644d1
--- /dev/null
+++ b/Lang/Order/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/Order
\ No newline at end of file
diff --git a/Lang/Order/Factorial b/Lang/Order/Factorial
new file mode 120000
index 0000000000..4d46aaea2b
--- /dev/null
+++ b/Lang/Order/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/Order
\ No newline at end of file
diff --git a/Lang/Order/Fibonacci-sequence b/Lang/Order/Fibonacci-sequence
new file mode 120000
index 0000000000..00b8e2659c
--- /dev/null
+++ b/Lang/Order/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/Order
\ No newline at end of file
diff --git a/Lang/Order/First-class-environments b/Lang/Order/First-class-environments
new file mode 120000
index 0000000000..626847bb4e
--- /dev/null
+++ b/Lang/Order/First-class-environments
@@ -0,0 +1 @@
+../../Task/First-class-environments/Order
\ No newline at end of file
diff --git a/Lang/Order/FizzBuzz b/Lang/Order/FizzBuzz
new file mode 120000
index 0000000000..55b3e95106
--- /dev/null
+++ b/Lang/Order/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Order
\ No newline at end of file
diff --git a/Lang/Order/Function-composition b/Lang/Order/Function-composition
new file mode 120000
index 0000000000..e330b93b9c
--- /dev/null
+++ b/Lang/Order/Function-composition
@@ -0,0 +1 @@
+../../Task/Function-composition/Order
\ No newline at end of file
diff --git a/Lang/Order/Greatest-common-divisor b/Lang/Order/Greatest-common-divisor
new file mode 120000
index 0000000000..e6aefdc0dd
--- /dev/null
+++ b/Lang/Order/Greatest-common-divisor
@@ -0,0 +1 @@
+../../Task/Greatest-common-divisor/Order
\ No newline at end of file
diff --git a/Lang/Order/Hailstone-sequence b/Lang/Order/Hailstone-sequence
new file mode 120000
index 0000000000..c1f6e2298e
--- /dev/null
+++ b/Lang/Order/Hailstone-sequence
@@ -0,0 +1 @@
+../../Task/Hailstone-sequence/Order
\ No newline at end of file
diff --git a/Lang/Order/Integer-sequence b/Lang/Order/Integer-sequence
new file mode 120000
index 0000000000..ac55cf9937
--- /dev/null
+++ b/Lang/Order/Integer-sequence
@@ -0,0 +1 @@
+../../Task/Integer-sequence/Order
\ No newline at end of file
diff --git a/Lang/Order/Least-common-multiple b/Lang/Order/Least-common-multiple
new file mode 120000
index 0000000000..c14fda836c
--- /dev/null
+++ b/Lang/Order/Least-common-multiple
@@ -0,0 +1 @@
+../../Task/Least-common-multiple/Order
\ No newline at end of file
diff --git a/Lang/Order/Loops-For b/Lang/Order/Loops-For
new file mode 120000
index 0000000000..1d345f21b5
--- /dev/null
+++ b/Lang/Order/Loops-For
@@ -0,0 +1 @@
+../../Task/Loops-For/Order
\ No newline at end of file
diff --git a/Lang/Order/Luhn-test-of-credit-card-numbers b/Lang/Order/Luhn-test-of-credit-card-numbers
new file mode 120000
index 0000000000..7d49c574e1
--- /dev/null
+++ b/Lang/Order/Luhn-test-of-credit-card-numbers
@@ -0,0 +1 @@
+../../Task/Luhn-test-of-credit-card-numbers/Order
\ No newline at end of file
diff --git a/Lang/Order/Mutual-recursion b/Lang/Order/Mutual-recursion
new file mode 120000
index 0000000000..43629b3a16
--- /dev/null
+++ b/Lang/Order/Mutual-recursion
@@ -0,0 +1 @@
+../../Task/Mutual-recursion/Order
\ No newline at end of file
diff --git a/Lang/OxygenBasic/0DESCRIPTION b/Lang/OxygenBasic/0DESCRIPTION
new file mode 100644
index 0000000000..4acccc1237
--- /dev/null
+++ b/Lang/OxygenBasic/0DESCRIPTION
@@ -0,0 +1,73 @@
+{{language|express=both}}
+OxygenBasic is a compilable language in the [[BASIC]] genre supporting [[object-oriented programming]], and containing features of [[C]]. Its earliest origins was as a macro [[Assembly]] code language in 2009, but subsequently acquired all the features of a high-level language.
+
+The philosophy underlying OxygenBasic is to facilitate clean coding, with low syntax noise and few coding restrictions. The core language and compiler size are kept to a minimum.
+
+== Examples ==
+'''Hello World:'''
+
+print "Hello World!" ++ +'''Iteration:''' +
+i=0 +pr="" +for i=1 to 10 + pr+="Line: " i chr(13) chr(10) +next +print pr ++ +'''Function:''' +
+function cube(double n) as double + return d*d*d +end function + +print cube(3) ++ +'''Class:''' +
+class MemoryBank
+ '
+ string buf
+ '
+ method store(string s)
+ buf += " " s chr(13)
+ end method
+ '
+ method find(string s) as string
+ sys a,b
+ a=instr buf,s
+ if a then
+ b=instr a,s,chr(13)
+ return mid buf,a,b-a
+ end if
+ end method
+ '
+ method clear()
+ buf=""
+ end method
+ '
+end class
+
+MemoryBank b
+b.store ("
+shoes LC1
+ships LC2
+sealing wax LC3
+cabbages LC4
+kings LC5
+")
+
+print b.find "ships"
+
+
+== Current Status ==
+The current implementation is available for Microsoft Windows and includes an x86 assembler. It can compile directly to memory, or to 32 bit and 64 bit binaries. Development is currently in Alpha phase. The compiler is a single DLL, and suitable for embedding in other Applications. It has been deployed as a module in thinBasic to support Assembly code and dynamic compiling.
+
+The latest versions can be obtained here, including an IDE and numerous examples:
+
+* http://www.oxygenbasic.org
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Active-object b/Lang/OxygenBasic/Active-object
new file mode 120000
index 0000000000..7230877943
--- /dev/null
+++ b/Lang/OxygenBasic/Active-object
@@ -0,0 +1 @@
+../../Task/Active-object/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Add-a-variable-to-a-class-instance-at-runtime b/Lang/OxygenBasic/Add-a-variable-to-a-class-instance-at-runtime
new file mode 120000
index 0000000000..5e827e6d4b
--- /dev/null
+++ b/Lang/OxygenBasic/Add-a-variable-to-a-class-instance-at-runtime
@@ -0,0 +1 @@
+../../Task/Add-a-variable-to-a-class-instance-at-runtime/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Anonymous-recursion b/Lang/OxygenBasic/Anonymous-recursion
new file mode 120000
index 0000000000..51b1dc538f
--- /dev/null
+++ b/Lang/OxygenBasic/Anonymous-recursion
@@ -0,0 +1 @@
+../../Task/Anonymous-recursion/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Arena-storage-pool b/Lang/OxygenBasic/Arena-storage-pool
new file mode 120000
index 0000000000..bfe712720f
--- /dev/null
+++ b/Lang/OxygenBasic/Arena-storage-pool
@@ -0,0 +1 @@
+../../Task/Arena-storage-pool/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Arithmetic-Complex b/Lang/OxygenBasic/Arithmetic-Complex
new file mode 120000
index 0000000000..d9023be37e
--- /dev/null
+++ b/Lang/OxygenBasic/Arithmetic-Complex
@@ -0,0 +1 @@
+../../Task/Arithmetic-Complex/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Array-concatenation b/Lang/OxygenBasic/Array-concatenation
new file mode 120000
index 0000000000..884975cc1b
--- /dev/null
+++ b/Lang/OxygenBasic/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Arrays b/Lang/OxygenBasic/Arrays
new file mode 120000
index 0000000000..124fc70088
--- /dev/null
+++ b/Lang/OxygenBasic/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Associative-array-Creation b/Lang/OxygenBasic/Associative-array-Creation
new file mode 120000
index 0000000000..e1b68e31d3
--- /dev/null
+++ b/Lang/OxygenBasic/Associative-array-Creation
@@ -0,0 +1 @@
+../../Task/Associative-array-Creation/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Averages-Simple-moving-average b/Lang/OxygenBasic/Averages-Simple-moving-average
new file mode 120000
index 0000000000..f44eb1f344
--- /dev/null
+++ b/Lang/OxygenBasic/Averages-Simple-moving-average
@@ -0,0 +1 @@
+../../Task/Averages-Simple-moving-average/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Balanced-brackets b/Lang/OxygenBasic/Balanced-brackets
new file mode 120000
index 0000000000..00b0e82b53
--- /dev/null
+++ b/Lang/OxygenBasic/Balanced-brackets
@@ -0,0 +1 @@
+../../Task/Balanced-brackets/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Bitmap b/Lang/OxygenBasic/Bitmap
new file mode 120000
index 0000000000..7b76212fcf
--- /dev/null
+++ b/Lang/OxygenBasic/Bitmap
@@ -0,0 +1 @@
+../../Task/Bitmap/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Call-a-function-in-a-shared-library b/Lang/OxygenBasic/Call-a-function-in-a-shared-library
new file mode 120000
index 0000000000..23545959e5
--- /dev/null
+++ b/Lang/OxygenBasic/Call-a-function-in-a-shared-library
@@ -0,0 +1 @@
+../../Task/Call-a-function-in-a-shared-library/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Character-matching b/Lang/OxygenBasic/Character-matching
new file mode 120000
index 0000000000..6112e773dc
--- /dev/null
+++ b/Lang/OxygenBasic/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Classes b/Lang/OxygenBasic/Classes
new file mode 120000
index 0000000000..2819282951
--- /dev/null
+++ b/Lang/OxygenBasic/Classes
@@ -0,0 +1 @@
+../../Task/Classes/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Comments b/Lang/OxygenBasic/Comments
new file mode 120000
index 0000000000..d7fe5749c2
--- /dev/null
+++ b/Lang/OxygenBasic/Comments
@@ -0,0 +1 @@
+../../Task/Comments/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Compile-time-calculation b/Lang/OxygenBasic/Compile-time-calculation
new file mode 120000
index 0000000000..51afe8c51a
--- /dev/null
+++ b/Lang/OxygenBasic/Compile-time-calculation
@@ -0,0 +1 @@
+../../Task/Compile-time-calculation/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Compound-data-type b/Lang/OxygenBasic/Compound-data-type
new file mode 120000
index 0000000000..f815fa67e7
--- /dev/null
+++ b/Lang/OxygenBasic/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Conditional-structures b/Lang/OxygenBasic/Conditional-structures
new file mode 120000
index 0000000000..99c3a3341c
--- /dev/null
+++ b/Lang/OxygenBasic/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Constrained-genericity b/Lang/OxygenBasic/Constrained-genericity
new file mode 120000
index 0000000000..5cc0da24dc
--- /dev/null
+++ b/Lang/OxygenBasic/Constrained-genericity
@@ -0,0 +1 @@
+../../Task/Constrained-genericity/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Date-format b/Lang/OxygenBasic/Date-format
new file mode 120000
index 0000000000..d35cf1badb
--- /dev/null
+++ b/Lang/OxygenBasic/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Delegates b/Lang/OxygenBasic/Delegates
new file mode 120000
index 0000000000..aaaa905009
--- /dev/null
+++ b/Lang/OxygenBasic/Delegates
@@ -0,0 +1 @@
+../../Task/Delegates/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Dining-philosophers b/Lang/OxygenBasic/Dining-philosophers
new file mode 120000
index 0000000000..f7048cc134
--- /dev/null
+++ b/Lang/OxygenBasic/Dining-philosophers
@@ -0,0 +1 @@
+../../Task/Dining-philosophers/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Empty-program b/Lang/OxygenBasic/Empty-program
new file mode 120000
index 0000000000..de65bc3927
--- /dev/null
+++ b/Lang/OxygenBasic/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Evolutionary-algorithm b/Lang/OxygenBasic/Evolutionary-algorithm
new file mode 120000
index 0000000000..e3b878fb00
--- /dev/null
+++ b/Lang/OxygenBasic/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Floyds-triangle b/Lang/OxygenBasic/Floyds-triangle
new file mode 120000
index 0000000000..3cb22acb27
--- /dev/null
+++ b/Lang/OxygenBasic/Floyds-triangle
@@ -0,0 +1 @@
+../../Task/Floyds-triangle/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Hailstone-sequence b/Lang/OxygenBasic/Hailstone-sequence
new file mode 120000
index 0000000000..d594331289
--- /dev/null
+++ b/Lang/OxygenBasic/Hailstone-sequence
@@ -0,0 +1 @@
+../../Task/Hailstone-sequence/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Higher-order-functions b/Lang/OxygenBasic/Higher-order-functions
new file mode 120000
index 0000000000..0ce5b88741
--- /dev/null
+++ b/Lang/OxygenBasic/Higher-order-functions
@@ -0,0 +1 @@
+../../Task/Higher-order-functions/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/History-variables b/Lang/OxygenBasic/History-variables
new file mode 120000
index 0000000000..4caeae5c1a
--- /dev/null
+++ b/Lang/OxygenBasic/History-variables
@@ -0,0 +1 @@
+../../Task/History-variables/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Identity-matrix b/Lang/OxygenBasic/Identity-matrix
new file mode 120000
index 0000000000..a6cdbd22a8
--- /dev/null
+++ b/Lang/OxygenBasic/Identity-matrix
@@ -0,0 +1 @@
+../../Task/Identity-matrix/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Infinity b/Lang/OxygenBasic/Infinity
new file mode 120000
index 0000000000..cbdd69e1dc
--- /dev/null
+++ b/Lang/OxygenBasic/Infinity
@@ -0,0 +1 @@
+../../Task/Infinity/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Inheritance-Multiple b/Lang/OxygenBasic/Inheritance-Multiple
new file mode 120000
index 0000000000..1447494b9e
--- /dev/null
+++ b/Lang/OxygenBasic/Inheritance-Multiple
@@ -0,0 +1 @@
+../../Task/Inheritance-Multiple/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Inheritance-Single b/Lang/OxygenBasic/Inheritance-Single
new file mode 120000
index 0000000000..eec550274f
--- /dev/null
+++ b/Lang/OxygenBasic/Inheritance-Single
@@ -0,0 +1 @@
+../../Task/Inheritance-Single/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Inverted-syntax b/Lang/OxygenBasic/Inverted-syntax
new file mode 120000
index 0000000000..e56c54e0f3
--- /dev/null
+++ b/Lang/OxygenBasic/Inverted-syntax
@@ -0,0 +1 @@
+../../Task/Inverted-syntax/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Knapsack-problem-Bounded b/Lang/OxygenBasic/Knapsack-problem-Bounded
new file mode 120000
index 0000000000..320fa47708
--- /dev/null
+++ b/Lang/OxygenBasic/Knapsack-problem-Bounded
@@ -0,0 +1 @@
+../../Task/Knapsack-problem-Bounded/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Letter-frequency b/Lang/OxygenBasic/Letter-frequency
new file mode 120000
index 0000000000..9ce4a7d6f0
--- /dev/null
+++ b/Lang/OxygenBasic/Letter-frequency
@@ -0,0 +1 @@
+../../Task/Letter-frequency/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Matrix-multiplication b/Lang/OxygenBasic/Matrix-multiplication
new file mode 120000
index 0000000000..0a50748a6c
--- /dev/null
+++ b/Lang/OxygenBasic/Matrix-multiplication
@@ -0,0 +1 @@
+../../Task/Matrix-multiplication/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Matrix-transposition b/Lang/OxygenBasic/Matrix-transposition
new file mode 120000
index 0000000000..822fa0521d
--- /dev/null
+++ b/Lang/OxygenBasic/Matrix-transposition
@@ -0,0 +1 @@
+../../Task/Matrix-transposition/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Quine b/Lang/OxygenBasic/Quine
new file mode 120000
index 0000000000..a6e77ccf12
--- /dev/null
+++ b/Lang/OxygenBasic/Quine
@@ -0,0 +1 @@
+../../Task/Quine/OxygenBasic
\ No newline at end of file
diff --git a/Lang/Oxygene/0DESCRIPTION b/Lang/Oxygene/0DESCRIPTION
new file mode 100644
index 0000000000..4b40439dea
--- /dev/null
+++ b/Lang/Oxygene/0DESCRIPTION
@@ -0,0 +1,7 @@
+{{language}}
+
+Oxygene is a Next Generation Object Pascal language development environment for creating managed applications for the Common Language Runtime – including Microsoft .NET and Novell's open source Mono framework – and the Java Runtime Environment – including regular Java and Android.
+
+With Oxygene being written in itself, the compiler runs on Windows, Mac OS X and Linux, giving developers a lot of flexibility in their working environment. It also generates 100% CLI-compliant assemblies for a wide variety of versions of the Common Language Runtime, including, of course, .NET 2.0 through 4.0 and Mono, but also the .NET Compact Framework, Silverlight and MonoTouch, as well as 100% pure JVM .jar files when building for Java or Android.
+
+see http://www.remobjects.com/oxygene/
\ No newline at end of file
diff --git a/Lang/Oxygene/A+B b/Lang/Oxygene/A+B
new file mode 120000
index 0000000000..49db82ae62
--- /dev/null
+++ b/Lang/Oxygene/A+B
@@ -0,0 +1 @@
+../../Task/A+B/Oxygene
\ No newline at end of file
diff --git a/Lang/Oxygene/Hello-world-Graphical b/Lang/Oxygene/Hello-world-Graphical
new file mode 120000
index 0000000000..130acb2c8a
--- /dev/null
+++ b/Lang/Oxygene/Hello-world-Graphical
@@ -0,0 +1 @@
+../../Task/Hello-world-Graphical/Oxygene
\ No newline at end of file
diff --git a/Lang/Oxygene/Hello-world-Newline-omission b/Lang/Oxygene/Hello-world-Newline-omission
new file mode 120000
index 0000000000..f0dd54195a
--- /dev/null
+++ b/Lang/Oxygene/Hello-world-Newline-omission
@@ -0,0 +1 @@
+../../Task/Hello-world-Newline-omission/Oxygene
\ No newline at end of file
diff --git a/Lang/Oxygene/Hello-world-Text b/Lang/Oxygene/Hello-world-Text
new file mode 120000
index 0000000000..e8047f00b0
--- /dev/null
+++ b/Lang/Oxygene/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Oxygene
\ No newline at end of file
diff --git a/Lang/Oz/0DESCRIPTION b/Lang/Oz/0DESCRIPTION
new file mode 100644
index 0000000000..3e8d0187a6
--- /dev/null
+++ b/Lang/Oz/0DESCRIPTION
@@ -0,0 +1,24 @@
+{{language|Oz
+|site=http://www.mozart-oz.org
+|checking=dynamic
+|gc=yes
+|LCT=yes
+|strength=strong
+|express=implicit
+|safety=safe
+|compat=structural
+|parampass=reference}}Oz is a multi-[[:Category:Programming Paradigms|paradigm]] language that is designed for advanced, [[concurrent programming|concurrent]], networked, soft real-time, and reactive applications. Oz provides the salient features of [[object-oriented programming]] including state, abstract data types, objects, classes, and inheritance. It provides the salient features of [[functional programming]] including compositional syntax, first-class procedures/functions, and lexical scoping. It provides the salient features of logic programming and constraint programming including logic variables, constraints, disjunction constructs, and programmable search mechanisms. It allows users to dynamically create any number of sequential [[threads]]. The threads are dataflow threads in the sense that a thread executing an operation will suspend until all operands needed have a well-defined value.[[#Citation|[1]]]
+{{language programming paradigm|Logic_Programming}}
+{{language programming paradigm|functional}}
+{{language programming paradigm|Object-oriented}}
+
+The [[Mozart/Oz|Mozart]] Programming System is the primary implementation of Oz. It is released with an [[open source]] license by the Mozart Consortium. Mozart has been ported to different flavors of [[Unix]], FreeBSD, [[Linux]], [[Microsoft]] [[Windows]], and [[Mac OS X]].[[#Citation|[2]]]
+
+==How to execute the examples on Rosetta Code==
+All examples that start with declare can be used directly in the Emacs-based IDE, without a separate compilation step. Just copy the source code to the Oz buffer and select the menu item "Oz→Feed Buffer".
+
+Some examples are functor definitions and must be compiled. If a makefile.oz is supplied, execute ozmake to build the project. Otherwise call the compiler directly: ozc -c filename.oz. Execute a compiled functor with ozengine filename.ozf.
+
+==Citation==
+#[http://www.mozart-oz.org/documentation/tutorial/index.html Tutorial of Oz]
+#[[wp:Oz_%28programming_language%29|Wikipedia:Oz (programming language)]]
\ No newline at end of file
diff --git a/Lang/Oz/100-doors b/Lang/Oz/100-doors
new file mode 120000
index 0000000000..ba8515adc3
--- /dev/null
+++ b/Lang/Oz/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/Oz
\ No newline at end of file
diff --git a/Lang/Oz/99-Bottles-of-Beer b/Lang/Oz/99-Bottles-of-Beer
new file mode 120000
index 0000000000..b699901fa2
--- /dev/null
+++ b/Lang/Oz/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/Oz
\ No newline at end of file
diff --git a/Lang/Oz/A+B b/Lang/Oz/A+B
new file mode 120000
index 0000000000..b655ec072b
--- /dev/null
+++ b/Lang/Oz/A+B
@@ -0,0 +1 @@
+../../Task/A+B/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Abstract-type b/Lang/Oz/Abstract-type
new file mode 120000
index 0000000000..1cc267878b
--- /dev/null
+++ b/Lang/Oz/Abstract-type
@@ -0,0 +1 @@
+../../Task/Abstract-type/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Accumulator-factory b/Lang/Oz/Accumulator-factory
new file mode 120000
index 0000000000..b8a0b347a2
--- /dev/null
+++ b/Lang/Oz/Accumulator-factory
@@ -0,0 +1 @@
+../../Task/Accumulator-factory/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Ackermann-function b/Lang/Oz/Ackermann-function
new file mode 120000
index 0000000000..9502ab7306
--- /dev/null
+++ b/Lang/Oz/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Active-object b/Lang/Oz/Active-object
new file mode 120000
index 0000000000..87607a9629
--- /dev/null
+++ b/Lang/Oz/Active-object
@@ -0,0 +1 @@
+../../Task/Active-object/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Add-a-variable-to-a-class-instance-at-runtime b/Lang/Oz/Add-a-variable-to-a-class-instance-at-runtime
new file mode 120000
index 0000000000..db71fdf7b7
--- /dev/null
+++ b/Lang/Oz/Add-a-variable-to-a-class-instance-at-runtime
@@ -0,0 +1 @@
+../../Task/Add-a-variable-to-a-class-instance-at-runtime/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Align-columns b/Lang/Oz/Align-columns
new file mode 120000
index 0000000000..e9a3b93187
--- /dev/null
+++ b/Lang/Oz/Align-columns
@@ -0,0 +1 @@
+../../Task/Align-columns/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Anagrams b/Lang/Oz/Anagrams
new file mode 120000
index 0000000000..b4658ebdbc
--- /dev/null
+++ b/Lang/Oz/Anagrams
@@ -0,0 +1 @@
+../../Task/Anagrams/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Animate-a-pendulum b/Lang/Oz/Animate-a-pendulum
new file mode 120000
index 0000000000..e5372ea15d
--- /dev/null
+++ b/Lang/Oz/Animate-a-pendulum
@@ -0,0 +1 @@
+../../Task/Animate-a-pendulum/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Animation b/Lang/Oz/Animation
new file mode 120000
index 0000000000..b628c95115
--- /dev/null
+++ b/Lang/Oz/Animation
@@ -0,0 +1 @@
+../../Task/Animation/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Apply-a-callback-to-an-array b/Lang/Oz/Apply-a-callback-to-an-array
new file mode 120000
index 0000000000..cade3c64c0
--- /dev/null
+++ b/Lang/Oz/Apply-a-callback-to-an-array
@@ -0,0 +1 @@
+../../Task/Apply-a-callback-to-an-array/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Arbitrary-precision-integers-included b/Lang/Oz/Arbitrary-precision-integers-included
new file mode 120000
index 0000000000..364cdd4377
--- /dev/null
+++ b/Lang/Oz/Arbitrary-precision-integers-included
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers-included/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Arithmetic-Integer b/Lang/Oz/Arithmetic-Integer
new file mode 120000
index 0000000000..56008006a8
--- /dev/null
+++ b/Lang/Oz/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Arithmetic-evaluation b/Lang/Oz/Arithmetic-evaluation
new file mode 120000
index 0000000000..a93ba5b2c2
--- /dev/null
+++ b/Lang/Oz/Arithmetic-evaluation
@@ -0,0 +1 @@
+../../Task/Arithmetic-evaluation/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Array-concatenation b/Lang/Oz/Array-concatenation
new file mode 120000
index 0000000000..295e4f3696
--- /dev/null
+++ b/Lang/Oz/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Arrays b/Lang/Oz/Arrays
new file mode 120000
index 0000000000..5528c160fb
--- /dev/null
+++ b/Lang/Oz/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Assertions b/Lang/Oz/Assertions
new file mode 120000
index 0000000000..7569b9aa6c
--- /dev/null
+++ b/Lang/Oz/Assertions
@@ -0,0 +1 @@
+../../Task/Assertions/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Associative-array-Creation b/Lang/Oz/Associative-array-Creation
new file mode 120000
index 0000000000..0b5025e2e5
--- /dev/null
+++ b/Lang/Oz/Associative-array-Creation
@@ -0,0 +1 @@
+../../Task/Associative-array-Creation/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Associative-array-Iteration b/Lang/Oz/Associative-array-Iteration
new file mode 120000
index 0000000000..d3ecebe2d9
--- /dev/null
+++ b/Lang/Oz/Associative-array-Iteration
@@ -0,0 +1 @@
+../../Task/Associative-array-Iteration/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Atomic-updates b/Lang/Oz/Atomic-updates
new file mode 120000
index 0000000000..0f15dee345
--- /dev/null
+++ b/Lang/Oz/Atomic-updates
@@ -0,0 +1 @@
+../../Task/Atomic-updates/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Averages-Arithmetic-mean b/Lang/Oz/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..641c646a52
--- /dev/null
+++ b/Lang/Oz/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Averages-Median b/Lang/Oz/Averages-Median
new file mode 120000
index 0000000000..0cdd3a60ce
--- /dev/null
+++ b/Lang/Oz/Averages-Median
@@ -0,0 +1 @@
+../../Task/Averages-Median/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Averages-Mode b/Lang/Oz/Averages-Mode
new file mode 120000
index 0000000000..6656f97056
--- /dev/null
+++ b/Lang/Oz/Averages-Mode
@@ -0,0 +1 @@
+../../Task/Averages-Mode/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Averages-Pythagorean-means b/Lang/Oz/Averages-Pythagorean-means
new file mode 120000
index 0000000000..fe48804015
--- /dev/null
+++ b/Lang/Oz/Averages-Pythagorean-means
@@ -0,0 +1 @@
+../../Task/Averages-Pythagorean-means/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Averages-Root-mean-square b/Lang/Oz/Averages-Root-mean-square
new file mode 120000
index 0000000000..99ce6ef20f
--- /dev/null
+++ b/Lang/Oz/Averages-Root-mean-square
@@ -0,0 +1 @@
+../../Task/Averages-Root-mean-square/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Averages-Simple-moving-average b/Lang/Oz/Averages-Simple-moving-average
new file mode 120000
index 0000000000..058f06e4ba
--- /dev/null
+++ b/Lang/Oz/Averages-Simple-moving-average
@@ -0,0 +1 @@
+../../Task/Averages-Simple-moving-average/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Binary-search b/Lang/Oz/Binary-search
new file mode 120000
index 0000000000..952156bc11
--- /dev/null
+++ b/Lang/Oz/Binary-search
@@ -0,0 +1 @@
+../../Task/Binary-search/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Bitmap b/Lang/Oz/Bitmap
new file mode 120000
index 0000000000..072bae0f6a
--- /dev/null
+++ b/Lang/Oz/Bitmap
@@ -0,0 +1 @@
+../../Task/Bitmap/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Bitmap-Read-a-PPM-file b/Lang/Oz/Bitmap-Read-a-PPM-file
new file mode 120000
index 0000000000..a62de0ee95
--- /dev/null
+++ b/Lang/Oz/Bitmap-Read-a-PPM-file
@@ -0,0 +1 @@
+../../Task/Bitmap-Read-a-PPM-file/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Bitmap-Write-a-PPM-file b/Lang/Oz/Bitmap-Write-a-PPM-file
new file mode 120000
index 0000000000..67bc648d08
--- /dev/null
+++ b/Lang/Oz/Bitmap-Write-a-PPM-file
@@ -0,0 +1 @@
+../../Task/Bitmap-Write-a-PPM-file/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Bulls-and-cows b/Lang/Oz/Bulls-and-cows
new file mode 120000
index 0000000000..945b676d0b
--- /dev/null
+++ b/Lang/Oz/Bulls-and-cows
@@ -0,0 +1 @@
+../../Task/Bulls-and-cows/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Call-a-foreign-language-function b/Lang/Oz/Call-a-foreign-language-function
new file mode 120000
index 0000000000..e33115c858
--- /dev/null
+++ b/Lang/Oz/Call-a-foreign-language-function
@@ -0,0 +1 @@
+../../Task/Call-a-foreign-language-function/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Character-codes b/Lang/Oz/Character-codes
new file mode 120000
index 0000000000..c4d3ffc26b
--- /dev/null
+++ b/Lang/Oz/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Check-that-file-exists b/Lang/Oz/Check-that-file-exists
new file mode 120000
index 0000000000..ea2f59c1a2
--- /dev/null
+++ b/Lang/Oz/Check-that-file-exists
@@ -0,0 +1 @@
+../../Task/Check-that-file-exists/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Classes b/Lang/Oz/Classes
new file mode 120000
index 0000000000..09a8d73d1b
--- /dev/null
+++ b/Lang/Oz/Classes
@@ -0,0 +1 @@
+../../Task/Classes/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Closest-pair-problem b/Lang/Oz/Closest-pair-problem
new file mode 120000
index 0000000000..c9e595a5ab
--- /dev/null
+++ b/Lang/Oz/Closest-pair-problem
@@ -0,0 +1 @@
+../../Task/Closest-pair-problem/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Collections b/Lang/Oz/Collections
new file mode 120000
index 0000000000..b81d93f59e
--- /dev/null
+++ b/Lang/Oz/Collections
@@ -0,0 +1 @@
+../../Task/Collections/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Combinations b/Lang/Oz/Combinations
new file mode 120000
index 0000000000..9f8f6cd396
--- /dev/null
+++ b/Lang/Oz/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Command-line-arguments b/Lang/Oz/Command-line-arguments
new file mode 120000
index 0000000000..bcddd90db4
--- /dev/null
+++ b/Lang/Oz/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Comments b/Lang/Oz/Comments
new file mode 120000
index 0000000000..af8dc20bfb
--- /dev/null
+++ b/Lang/Oz/Comments
@@ -0,0 +1 @@
+../../Task/Comments/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Compile-time-calculation b/Lang/Oz/Compile-time-calculation
new file mode 120000
index 0000000000..9806994d88
--- /dev/null
+++ b/Lang/Oz/Compile-time-calculation
@@ -0,0 +1 @@
+../../Task/Compile-time-calculation/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Compound-data-type b/Lang/Oz/Compound-data-type
new file mode 120000
index 0000000000..e64431f50c
--- /dev/null
+++ b/Lang/Oz/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Concurrent-computing b/Lang/Oz/Concurrent-computing
new file mode 120000
index 0000000000..742e259e34
--- /dev/null
+++ b/Lang/Oz/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Conditional-structures b/Lang/Oz/Conditional-structures
new file mode 120000
index 0000000000..9b08adb621
--- /dev/null
+++ b/Lang/Oz/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Conways-Game-of-Life b/Lang/Oz/Conways-Game-of-Life
new file mode 120000
index 0000000000..0f90f69da8
--- /dev/null
+++ b/Lang/Oz/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Create-a-file b/Lang/Oz/Create-a-file
new file mode 120000
index 0000000000..512ac08b96
--- /dev/null
+++ b/Lang/Oz/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Create-a-two-dimensional-array-at-runtime b/Lang/Oz/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..c3fcd020d5
--- /dev/null
+++ b/Lang/Oz/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Create-an-HTML-table b/Lang/Oz/Create-an-HTML-table
new file mode 120000
index 0000000000..7d1735fbe4
--- /dev/null
+++ b/Lang/Oz/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Date-format b/Lang/Oz/Date-format
new file mode 120000
index 0000000000..c286886003
--- /dev/null
+++ b/Lang/Oz/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Define-a-primitive-data-type b/Lang/Oz/Define-a-primitive-data-type
new file mode 120000
index 0000000000..36a0147aa9
--- /dev/null
+++ b/Lang/Oz/Define-a-primitive-data-type
@@ -0,0 +1 @@
+../../Task/Define-a-primitive-data-type/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Delegates b/Lang/Oz/Delegates
new file mode 120000
index 0000000000..95647ee9da
--- /dev/null
+++ b/Lang/Oz/Delegates
@@ -0,0 +1 @@
+../../Task/Delegates/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Delete-a-file b/Lang/Oz/Delete-a-file
new file mode 120000
index 0000000000..b917ef8482
--- /dev/null
+++ b/Lang/Oz/Delete-a-file
@@ -0,0 +1 @@
+../../Task/Delete-a-file/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Detect-division-by-zero b/Lang/Oz/Detect-division-by-zero
new file mode 120000
index 0000000000..c3fbc4b5fc
--- /dev/null
+++ b/Lang/Oz/Detect-division-by-zero
@@ -0,0 +1 @@
+../../Task/Detect-division-by-zero/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Determine-if-a-string-is-numeric b/Lang/Oz/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..eebb9ecd7f
--- /dev/null
+++ b/Lang/Oz/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Determine-if-only-one-instance-is-running b/Lang/Oz/Determine-if-only-one-instance-is-running
new file mode 120000
index 0000000000..1def7603ec
--- /dev/null
+++ b/Lang/Oz/Determine-if-only-one-instance-is-running
@@ -0,0 +1 @@
+../../Task/Determine-if-only-one-instance-is-running/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Dining-philosophers b/Lang/Oz/Dining-philosophers
new file mode 120000
index 0000000000..9b9618ff4f
--- /dev/null
+++ b/Lang/Oz/Dining-philosophers
@@ -0,0 +1 @@
+../../Task/Dining-philosophers/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Distributed-programming b/Lang/Oz/Distributed-programming
new file mode 120000
index 0000000000..0efdb8906a
--- /dev/null
+++ b/Lang/Oz/Distributed-programming
@@ -0,0 +1 @@
+../../Task/Distributed-programming/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Dot-product b/Lang/Oz/Dot-product
new file mode 120000
index 0000000000..5a6d04bcda
--- /dev/null
+++ b/Lang/Oz/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Doubly-linked-list-Element-definition b/Lang/Oz/Doubly-linked-list-Element-definition
new file mode 120000
index 0000000000..a23a32636f
--- /dev/null
+++ b/Lang/Oz/Doubly-linked-list-Element-definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-definition/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Doubly-linked-list-Element-insertion b/Lang/Oz/Doubly-linked-list-Element-insertion
new file mode 120000
index 0000000000..cfc72ebec7
--- /dev/null
+++ b/Lang/Oz/Doubly-linked-list-Element-insertion
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-insertion/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Doubly-linked-list-Traversal b/Lang/Oz/Doubly-linked-list-Traversal
new file mode 120000
index 0000000000..b5bc4cfa7e
--- /dev/null
+++ b/Lang/Oz/Doubly-linked-list-Traversal
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Traversal/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Echo-server b/Lang/Oz/Echo-server
new file mode 120000
index 0000000000..b5f6605bbd
--- /dev/null
+++ b/Lang/Oz/Echo-server
@@ -0,0 +1 @@
+../../Task/Echo-server/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Empty-program b/Lang/Oz/Empty-program
new file mode 120000
index 0000000000..82c34c6e63
--- /dev/null
+++ b/Lang/Oz/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Enumerations b/Lang/Oz/Enumerations
new file mode 120000
index 0000000000..0dea376a34
--- /dev/null
+++ b/Lang/Oz/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Ethiopian-multiplication b/Lang/Oz/Ethiopian-multiplication
new file mode 120000
index 0000000000..ba4b35968e
--- /dev/null
+++ b/Lang/Oz/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Evaluate-binomial-coefficients b/Lang/Oz/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..475aff6f8f
--- /dev/null
+++ b/Lang/Oz/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Events b/Lang/Oz/Events
new file mode 120000
index 0000000000..d9522a968b
--- /dev/null
+++ b/Lang/Oz/Events
@@ -0,0 +1 @@
+../../Task/Events/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Evolutionary-algorithm b/Lang/Oz/Evolutionary-algorithm
new file mode 120000
index 0000000000..17c90c810d
--- /dev/null
+++ b/Lang/Oz/Evolutionary-algorithm
@@ -0,0 +1 @@
+../../Task/Evolutionary-algorithm/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Exceptions b/Lang/Oz/Exceptions
new file mode 120000
index 0000000000..fd2fe6a7f5
--- /dev/null
+++ b/Lang/Oz/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/Oz/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..4a539a3fe8
--- /dev/null
+++ b/Lang/Oz/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Execute-a-system-command b/Lang/Oz/Execute-a-system-command
new file mode 120000
index 0000000000..45250f1bb1
--- /dev/null
+++ b/Lang/Oz/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Extreme-floating-point-values b/Lang/Oz/Extreme-floating-point-values
new file mode 120000
index 0000000000..7bc80da732
--- /dev/null
+++ b/Lang/Oz/Extreme-floating-point-values
@@ -0,0 +1 @@
+../../Task/Extreme-floating-point-values/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Factorial b/Lang/Oz/Factorial
new file mode 120000
index 0000000000..8431100349
--- /dev/null
+++ b/Lang/Oz/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Factors-of-an-integer b/Lang/Oz/Factors-of-an-integer
new file mode 120000
index 0000000000..37974af6b3
--- /dev/null
+++ b/Lang/Oz/Factors-of-an-integer
@@ -0,0 +1 @@
+../../Task/Factors-of-an-integer/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Fibonacci-sequence b/Lang/Oz/Fibonacci-sequence
new file mode 120000
index 0000000000..5676a27f3f
--- /dev/null
+++ b/Lang/Oz/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/Oz
\ No newline at end of file
diff --git a/Lang/Oz/File-IO b/Lang/Oz/File-IO
new file mode 120000
index 0000000000..c6515fdd2e
--- /dev/null
+++ b/Lang/Oz/File-IO
@@ -0,0 +1 @@
+../../Task/File-IO/Oz
\ No newline at end of file
diff --git a/Lang/Oz/File-modification-time b/Lang/Oz/File-modification-time
new file mode 120000
index 0000000000..c52d487825
--- /dev/null
+++ b/Lang/Oz/File-modification-time
@@ -0,0 +1 @@
+../../Task/File-modification-time/Oz
\ No newline at end of file
diff --git a/Lang/Oz/File-size b/Lang/Oz/File-size
new file mode 120000
index 0000000000..663a0a5b16
--- /dev/null
+++ b/Lang/Oz/File-size
@@ -0,0 +1 @@
+../../Task/File-size/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Filter b/Lang/Oz/Filter
new file mode 120000
index 0000000000..a4c7ea2e34
--- /dev/null
+++ b/Lang/Oz/Filter
@@ -0,0 +1 @@
+../../Task/Filter/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Find-common-directory-path b/Lang/Oz/Find-common-directory-path
new file mode 120000
index 0000000000..bb40231557
--- /dev/null
+++ b/Lang/Oz/Find-common-directory-path
@@ -0,0 +1 @@
+../../Task/Find-common-directory-path/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Find-limit-of-recursion b/Lang/Oz/Find-limit-of-recursion
new file mode 120000
index 0000000000..14756d1e76
--- /dev/null
+++ b/Lang/Oz/Find-limit-of-recursion
@@ -0,0 +1 @@
+../../Task/Find-limit-of-recursion/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Find-the-missing-permutation b/Lang/Oz/Find-the-missing-permutation
new file mode 120000
index 0000000000..52ec7e20ed
--- /dev/null
+++ b/Lang/Oz/Find-the-missing-permutation
@@ -0,0 +1 @@
+../../Task/Find-the-missing-permutation/Oz
\ No newline at end of file
diff --git a/Lang/Oz/First-class-functions b/Lang/Oz/First-class-functions
new file mode 120000
index 0000000000..43e58a1403
--- /dev/null
+++ b/Lang/Oz/First-class-functions
@@ -0,0 +1 @@
+../../Task/First-class-functions/Oz
\ No newline at end of file
diff --git a/Lang/Oz/First-class-functions-Use-numbers-analogously b/Lang/Oz/First-class-functions-Use-numbers-analogously
new file mode 120000
index 0000000000..329773f860
--- /dev/null
+++ b/Lang/Oz/First-class-functions-Use-numbers-analogously
@@ -0,0 +1 @@
+../../Task/First-class-functions-Use-numbers-analogously/Oz
\ No newline at end of file
diff --git a/Lang/Oz/FizzBuzz b/Lang/Oz/FizzBuzz
new file mode 120000
index 0000000000..287980acd6
--- /dev/null
+++ b/Lang/Oz/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Flatten-a-list b/Lang/Oz/Flatten-a-list
new file mode 120000
index 0000000000..47c2889651
--- /dev/null
+++ b/Lang/Oz/Flatten-a-list
@@ -0,0 +1 @@
+../../Task/Flatten-a-list/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Flow-control-structures b/Lang/Oz/Flow-control-structures
new file mode 120000
index 0000000000..61822a48d6
--- /dev/null
+++ b/Lang/Oz/Flow-control-structures
@@ -0,0 +1 @@
+../../Task/Flow-control-structures/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Fork b/Lang/Oz/Fork
new file mode 120000
index 0000000000..fcc45d31a5
--- /dev/null
+++ b/Lang/Oz/Fork
@@ -0,0 +1 @@
+../../Task/Fork/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Formatted-numeric-output b/Lang/Oz/Formatted-numeric-output
new file mode 120000
index 0000000000..c62c75f0aa
--- /dev/null
+++ b/Lang/Oz/Formatted-numeric-output
@@ -0,0 +1 @@
+../../Task/Formatted-numeric-output/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Function-composition b/Lang/Oz/Function-composition
new file mode 120000
index 0000000000..f05e0ff75a
--- /dev/null
+++ b/Lang/Oz/Function-composition
@@ -0,0 +1 @@
+../../Task/Function-composition/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Function-definition b/Lang/Oz/Function-definition
new file mode 120000
index 0000000000..c5bfcc6416
--- /dev/null
+++ b/Lang/Oz/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/Oz
\ No newline at end of file
diff --git a/Lang/Oz/GUI-component-interaction b/Lang/Oz/GUI-component-interaction
new file mode 120000
index 0000000000..3cd1bc08e1
--- /dev/null
+++ b/Lang/Oz/GUI-component-interaction
@@ -0,0 +1 @@
+../../Task/GUI-component-interaction/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Generic-swap b/Lang/Oz/Generic-swap
new file mode 120000
index 0000000000..f9dd6a831c
--- /dev/null
+++ b/Lang/Oz/Generic-swap
@@ -0,0 +1 @@
+../../Task/Generic-swap/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Grayscale-image b/Lang/Oz/Grayscale-image
new file mode 120000
index 0000000000..929f37d0e5
--- /dev/null
+++ b/Lang/Oz/Grayscale-image
@@ -0,0 +1 @@
+../../Task/Grayscale-image/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Greatest-common-divisor b/Lang/Oz/Greatest-common-divisor
new file mode 120000
index 0000000000..53d4925bdf
--- /dev/null
+++ b/Lang/Oz/Greatest-common-divisor
@@ -0,0 +1 @@
+../../Task/Greatest-common-divisor/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Greatest-element-of-a-list b/Lang/Oz/Greatest-element-of-a-list
new file mode 120000
index 0000000000..1ab6202dda
--- /dev/null
+++ b/Lang/Oz/Greatest-element-of-a-list
@@ -0,0 +1 @@
+../../Task/Greatest-element-of-a-list/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Greatest-subsequential-sum b/Lang/Oz/Greatest-subsequential-sum
new file mode 120000
index 0000000000..cd3be6c4be
--- /dev/null
+++ b/Lang/Oz/Greatest-subsequential-sum
@@ -0,0 +1 @@
+../../Task/Greatest-subsequential-sum/Oz
\ No newline at end of file
diff --git a/Lang/Oz/HTTP b/Lang/Oz/HTTP
new file mode 120000
index 0000000000..ec19bf063a
--- /dev/null
+++ b/Lang/Oz/HTTP
@@ -0,0 +1 @@
+../../Task/HTTP/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Hailstone-sequence b/Lang/Oz/Hailstone-sequence
new file mode 120000
index 0000000000..04cef59211
--- /dev/null
+++ b/Lang/Oz/Hailstone-sequence
@@ -0,0 +1 @@
+../../Task/Hailstone-sequence/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Hamming-numbers b/Lang/Oz/Hamming-numbers
new file mode 120000
index 0000000000..0ecdce06d7
--- /dev/null
+++ b/Lang/Oz/Hamming-numbers
@@ -0,0 +1 @@
+../../Task/Hamming-numbers/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Happy-numbers b/Lang/Oz/Happy-numbers
new file mode 120000
index 0000000000..1cfc267145
--- /dev/null
+++ b/Lang/Oz/Happy-numbers
@@ -0,0 +1 @@
+../../Task/Happy-numbers/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Hash-from-two-arrays b/Lang/Oz/Hash-from-two-arrays
new file mode 120000
index 0000000000..8c119705aa
--- /dev/null
+++ b/Lang/Oz/Hash-from-two-arrays
@@ -0,0 +1 @@
+../../Task/Hash-from-two-arrays/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Hello-world-Graphical b/Lang/Oz/Hello-world-Graphical
new file mode 120000
index 0000000000..2273515a2c
--- /dev/null
+++ b/Lang/Oz/Hello-world-Graphical
@@ -0,0 +1 @@
+../../Task/Hello-world-Graphical/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Hello-world-Standard-error b/Lang/Oz/Hello-world-Standard-error
new file mode 120000
index 0000000000..510aa2aa96
--- /dev/null
+++ b/Lang/Oz/Hello-world-Standard-error
@@ -0,0 +1 @@
+../../Task/Hello-world-Standard-error/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Hello-world-Text b/Lang/Oz/Hello-world-Text
new file mode 120000
index 0000000000..034fff68fd
--- /dev/null
+++ b/Lang/Oz/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Higher-order-functions b/Lang/Oz/Higher-order-functions
new file mode 120000
index 0000000000..e00c8915dc
--- /dev/null
+++ b/Lang/Oz/Higher-order-functions
@@ -0,0 +1 @@
+../../Task/Higher-order-functions/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Hofstadter-Conway-$10,000-sequence b/Lang/Oz/Hofstadter-Conway-$10,000-sequence
new file mode 120000
index 0000000000..8da9eb55cc
--- /dev/null
+++ b/Lang/Oz/Hofstadter-Conway-$10,000-sequence
@@ -0,0 +1 @@
+../../Task/Hofstadter-Conway-$10,000-sequence/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Horners-rule-for-polynomial-evaluation b/Lang/Oz/Horners-rule-for-polynomial-evaluation
new file mode 120000
index 0000000000..f2c08eb288
--- /dev/null
+++ b/Lang/Oz/Horners-rule-for-polynomial-evaluation
@@ -0,0 +1 @@
+../../Task/Horners-rule-for-polynomial-evaluation/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Hostname b/Lang/Oz/Hostname
new file mode 120000
index 0000000000..b8c2956791
--- /dev/null
+++ b/Lang/Oz/Hostname
@@ -0,0 +1 @@
+../../Task/Hostname/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Increment-a-numerical-string b/Lang/Oz/Increment-a-numerical-string
new file mode 120000
index 0000000000..ac1b0c031f
--- /dev/null
+++ b/Lang/Oz/Increment-a-numerical-string
@@ -0,0 +1 @@
+../../Task/Increment-a-numerical-string/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Infinity b/Lang/Oz/Infinity
new file mode 120000
index 0000000000..453604948a
--- /dev/null
+++ b/Lang/Oz/Infinity
@@ -0,0 +1 @@
+../../Task/Infinity/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Inheritance-Multiple b/Lang/Oz/Inheritance-Multiple
new file mode 120000
index 0000000000..acb4e8c010
--- /dev/null
+++ b/Lang/Oz/Inheritance-Multiple
@@ -0,0 +1 @@
+../../Task/Inheritance-Multiple/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Inheritance-Single b/Lang/Oz/Inheritance-Single
new file mode 120000
index 0000000000..bd777f398b
--- /dev/null
+++ b/Lang/Oz/Inheritance-Single
@@ -0,0 +1 @@
+../../Task/Inheritance-Single/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Input-loop b/Lang/Oz/Input-loop
new file mode 120000
index 0000000000..ef12bd90b4
--- /dev/null
+++ b/Lang/Oz/Input-loop
@@ -0,0 +1 @@
+../../Task/Input-loop/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Integer-comparison b/Lang/Oz/Integer-comparison
new file mode 120000
index 0000000000..ff7b1312c2
--- /dev/null
+++ b/Lang/Oz/Integer-comparison
@@ -0,0 +1 @@
+../../Task/Integer-comparison/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Interactive-programming b/Lang/Oz/Interactive-programming
new file mode 120000
index 0000000000..3e2887261d
--- /dev/null
+++ b/Lang/Oz/Interactive-programming
@@ -0,0 +1 @@
+../../Task/Interactive-programming/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Introspection b/Lang/Oz/Introspection
new file mode 120000
index 0000000000..e290203d7a
--- /dev/null
+++ b/Lang/Oz/Introspection
@@ -0,0 +1 @@
+../../Task/Introspection/Oz
\ No newline at end of file
diff --git a/Lang/Oz/JSON b/Lang/Oz/JSON
new file mode 120000
index 0000000000..654867be27
--- /dev/null
+++ b/Lang/Oz/JSON
@@ -0,0 +1 @@
+../../Task/JSON/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Jensens-Device b/Lang/Oz/Jensens-Device
new file mode 120000
index 0000000000..ba0f967c17
--- /dev/null
+++ b/Lang/Oz/Jensens-Device
@@ -0,0 +1 @@
+../../Task/Jensens-Device/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Keyboard-macros b/Lang/Oz/Keyboard-macros
new file mode 120000
index 0000000000..bfc4bb95f6
--- /dev/null
+++ b/Lang/Oz/Keyboard-macros
@@ -0,0 +1 @@
+../../Task/Keyboard-macros/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Knapsack-problem-0-1 b/Lang/Oz/Knapsack-problem-0-1
new file mode 120000
index 0000000000..eaa4b23d91
--- /dev/null
+++ b/Lang/Oz/Knapsack-problem-0-1
@@ -0,0 +1 @@
+../../Task/Knapsack-problem-0-1/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Knapsack-problem-Bounded b/Lang/Oz/Knapsack-problem-Bounded
new file mode 120000
index 0000000000..a06a7a32d8
--- /dev/null
+++ b/Lang/Oz/Knapsack-problem-Bounded
@@ -0,0 +1 @@
+../../Task/Knapsack-problem-Bounded/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Knapsack-problem-Unbounded b/Lang/Oz/Knapsack-problem-Unbounded
new file mode 120000
index 0000000000..67f8c2053f
--- /dev/null
+++ b/Lang/Oz/Knapsack-problem-Unbounded
@@ -0,0 +1 @@
+../../Task/Knapsack-problem-Unbounded/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Knuth-shuffle b/Lang/Oz/Knuth-shuffle
new file mode 120000
index 0000000000..7badd0a8a1
--- /dev/null
+++ b/Lang/Oz/Knuth-shuffle
@@ -0,0 +1 @@
+../../Task/Knuth-shuffle/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Leap-year b/Lang/Oz/Leap-year
new file mode 120000
index 0000000000..d9418a4138
--- /dev/null
+++ b/Lang/Oz/Leap-year
@@ -0,0 +1 @@
+../../Task/Leap-year/Oz
\ No newline at end of file
diff --git a/Lang/Oz/List-comprehensions b/Lang/Oz/List-comprehensions
new file mode 120000
index 0000000000..2043624286
--- /dev/null
+++ b/Lang/Oz/List-comprehensions
@@ -0,0 +1 @@
+../../Task/List-comprehensions/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Literals-Integer b/Lang/Oz/Literals-Integer
new file mode 120000
index 0000000000..e89d8c9b5c
--- /dev/null
+++ b/Lang/Oz/Literals-Integer
@@ -0,0 +1 @@
+../../Task/Literals-Integer/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Literals-String b/Lang/Oz/Literals-String
new file mode 120000
index 0000000000..84e3085c4d
--- /dev/null
+++ b/Lang/Oz/Literals-String
@@ -0,0 +1 @@
+../../Task/Literals-String/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Logical-operations b/Lang/Oz/Logical-operations
new file mode 120000
index 0000000000..a677979ee9
--- /dev/null
+++ b/Lang/Oz/Logical-operations
@@ -0,0 +1 @@
+../../Task/Logical-operations/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Longest-common-subsequence b/Lang/Oz/Longest-common-subsequence
new file mode 120000
index 0000000000..175f089c04
--- /dev/null
+++ b/Lang/Oz/Longest-common-subsequence
@@ -0,0 +1 @@
+../../Task/Longest-common-subsequence/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Look-and-say-sequence b/Lang/Oz/Look-and-say-sequence
new file mode 120000
index 0000000000..915c1b2c6a
--- /dev/null
+++ b/Lang/Oz/Look-and-say-sequence
@@ -0,0 +1 @@
+../../Task/Look-and-say-sequence/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Loop-over-multiple-arrays-simultaneously b/Lang/Oz/Loop-over-multiple-arrays-simultaneously
new file mode 120000
index 0000000000..e59081cf9c
--- /dev/null
+++ b/Lang/Oz/Loop-over-multiple-arrays-simultaneously
@@ -0,0 +1 @@
+../../Task/Loop-over-multiple-arrays-simultaneously/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Loops-Break b/Lang/Oz/Loops-Break
new file mode 120000
index 0000000000..4c93bb31ce
--- /dev/null
+++ b/Lang/Oz/Loops-Break
@@ -0,0 +1 @@
+../../Task/Loops-Break/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Loops-Continue b/Lang/Oz/Loops-Continue
new file mode 120000
index 0000000000..28aa7911ad
--- /dev/null
+++ b/Lang/Oz/Loops-Continue
@@ -0,0 +1 @@
+../../Task/Loops-Continue/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Loops-Do-while b/Lang/Oz/Loops-Do-while
new file mode 120000
index 0000000000..97083f7d1a
--- /dev/null
+++ b/Lang/Oz/Loops-Do-while
@@ -0,0 +1 @@
+../../Task/Loops-Do-while/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Loops-Downward-for b/Lang/Oz/Loops-Downward-for
new file mode 120000
index 0000000000..5643c6bcfd
--- /dev/null
+++ b/Lang/Oz/Loops-Downward-for
@@ -0,0 +1 @@
+../../Task/Loops-Downward-for/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Loops-For b/Lang/Oz/Loops-For
new file mode 120000
index 0000000000..a3711a1fd0
--- /dev/null
+++ b/Lang/Oz/Loops-For
@@ -0,0 +1 @@
+../../Task/Loops-For/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Loops-For-with-a-specified-step b/Lang/Oz/Loops-For-with-a-specified-step
new file mode 120000
index 0000000000..ea1dfb4597
--- /dev/null
+++ b/Lang/Oz/Loops-For-with-a-specified-step
@@ -0,0 +1 @@
+../../Task/Loops-For-with-a-specified-step/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Loops-Foreach b/Lang/Oz/Loops-Foreach
new file mode 120000
index 0000000000..f0db491422
--- /dev/null
+++ b/Lang/Oz/Loops-Foreach
@@ -0,0 +1 @@
+../../Task/Loops-Foreach/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Loops-Infinite b/Lang/Oz/Loops-Infinite
new file mode 120000
index 0000000000..fc739ce90a
--- /dev/null
+++ b/Lang/Oz/Loops-Infinite
@@ -0,0 +1 @@
+../../Task/Loops-Infinite/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Loops-N-plus-one-half b/Lang/Oz/Loops-N-plus-one-half
new file mode 120000
index 0000000000..4629d0e79c
--- /dev/null
+++ b/Lang/Oz/Loops-N-plus-one-half
@@ -0,0 +1 @@
+../../Task/Loops-N-plus-one-half/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Loops-Nested b/Lang/Oz/Loops-Nested
new file mode 120000
index 0000000000..e5ebf466b4
--- /dev/null
+++ b/Lang/Oz/Loops-Nested
@@ -0,0 +1 @@
+../../Task/Loops-Nested/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Loops-While b/Lang/Oz/Loops-While
new file mode 120000
index 0000000000..50729dc796
--- /dev/null
+++ b/Lang/Oz/Loops-While
@@ -0,0 +1 @@
+../../Task/Loops-While/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Lucas-Lehmer-test b/Lang/Oz/Lucas-Lehmer-test
new file mode 120000
index 0000000000..2d29b5c653
--- /dev/null
+++ b/Lang/Oz/Lucas-Lehmer-test
@@ -0,0 +1 @@
+../../Task/Lucas-Lehmer-test/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Luhn-test-of-credit-card-numbers b/Lang/Oz/Luhn-test-of-credit-card-numbers
new file mode 120000
index 0000000000..d2e43f276a
--- /dev/null
+++ b/Lang/Oz/Luhn-test-of-credit-card-numbers
@@ -0,0 +1 @@
+../../Task/Luhn-test-of-credit-card-numbers/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Man-or-boy-test b/Lang/Oz/Man-or-boy-test
new file mode 120000
index 0000000000..07b2eca0e5
--- /dev/null
+++ b/Lang/Oz/Man-or-boy-test
@@ -0,0 +1 @@
+../../Task/Man-or-boy-test/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Menu b/Lang/Oz/Menu
new file mode 120000
index 0000000000..beb0689e3b
--- /dev/null
+++ b/Lang/Oz/Menu
@@ -0,0 +1 @@
+../../Task/Menu/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Metered-concurrency b/Lang/Oz/Metered-concurrency
new file mode 120000
index 0000000000..ca4e5c63e9
--- /dev/null
+++ b/Lang/Oz/Metered-concurrency
@@ -0,0 +1 @@
+../../Task/Metered-concurrency/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Mouse-position b/Lang/Oz/Mouse-position
new file mode 120000
index 0000000000..51607f2c0e
--- /dev/null
+++ b/Lang/Oz/Mouse-position
@@ -0,0 +1 @@
+../../Task/Mouse-position/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Multiple-distinct-objects b/Lang/Oz/Multiple-distinct-objects
new file mode 120000
index 0000000000..1328d7a04b
--- /dev/null
+++ b/Lang/Oz/Multiple-distinct-objects
@@ -0,0 +1 @@
+../../Task/Multiple-distinct-objects/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Mutex b/Lang/Oz/Mutex
new file mode 120000
index 0000000000..93e8c309e5
--- /dev/null
+++ b/Lang/Oz/Mutex
@@ -0,0 +1 @@
+../../Task/Mutex/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Mutual-recursion b/Lang/Oz/Mutual-recursion
new file mode 120000
index 0000000000..34038262f0
--- /dev/null
+++ b/Lang/Oz/Mutual-recursion
@@ -0,0 +1 @@
+../../Task/Mutual-recursion/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Quine b/Lang/Oz/Quine
new file mode 120000
index 0000000000..c9b7a4d157
--- /dev/null
+++ b/Lang/Oz/Quine
@@ -0,0 +1 @@
+../../Task/Quine/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Search-a-list b/Lang/Oz/Search-a-list
new file mode 120000
index 0000000000..0077d9e137
--- /dev/null
+++ b/Lang/Oz/Search-a-list
@@ -0,0 +1 @@
+../../Task/Search-a-list/Oz
\ No newline at end of file
diff --git a/Lang/PARI-GP/0DESCRIPTION b/Lang/PARI-GP/0DESCRIPTION
new file mode 100644
index 0000000000..c5f2aa155e
--- /dev/null
+++ b/Lang/PARI-GP/0DESCRIPTION
@@ -0,0 +1,68 @@
+{{language|PARI/GP
+|exec=both
+|site=http://pari.math.u-bordeaux.fr/
+|gc=yes
+|parampass=both
+|strength=weak
+|checking=dynamic
+|hopl=no
+|LCT=yes
+|tags=parigp, c
+}}
+{{language programming paradigm|Dynamic}}
+{{language programming paradigm|Functional}}
+{{language programming paradigm|Procedural}}
+
+PARI/GP is a widely used computer algebra system designed for fast computations in number theory (factorizations, algebraic number theory, elliptic curves...), but also contains a large number of other useful functions to compute with mathematical entities such as matrices, polynomials, power series, algebraic numbers etc., and a lot of transcendental functions.
+
+PARI/GP is composed of two parts: a [[C]] library called PARI and an interface, gp, to this library. GP scripts are concise, easy to write, and resemble mathematical language. (Terminology: the scripting language of gp is called GP.)
+
+PARI was written by Henri Cohen and others at Université Bordeaux I and is now maintained by Karim Belabas. gp was originally written by Dominique Bernardi, then maintained and enhanced by Karim Belabas and Ilya Zakharevich, and finally rewritten by Bill Alombert.
+
+== Using PARI/GP ==
+PARI/GP can be downloaded at its official website's [http://pari.math.u-bordeaux.fr/download.html download page].
+
+For Windows users there are precompiled binaries in four versions: full-featured binaries (slightly old) in both a stable and a development version, a more recent stable version without plotting and line-completion, and a similarly bare-bones build of the latest bleeding-edge version.
+
+Mac users may find it convenient to download the version from [http://pdb.finkproject.org/pdb/package.php/pari-gp Fink].
+
+Linux users can install PARI/GP with their favorite package manager (RPM, dpkg, apt, etc.) or build it from source. [http://math.crg4.com/software.html#pari Instructions] are available for compiling.
+
+== 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]
+
+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.
+* [[C++]]: With appropriate linkage specification it is possible to use PARI directly in C++ as well. The code is intentionally written in a C++-compatible style.
+* [[Python]]: [http://www.sagemath.org/ SAGE] is a Python-based system that includes PARI among others; there is a [http://code.google.com/p/pari-python/ pari-python] library as well.
+* [[Perl]]: Use [http://search.cpan.org/dist/Math-Pari/ Math::Pari] or [https://github.com/FreeMonad/GPP GPP].
+* [[Common Lisp]]: Use [http://clisp.sourceforge.net/impnotes/pari.html Pari] ([[CLISP]]).
+
+== See also ==
+*[[wp:PARI/GP|Wikipedia:PARI/GP]]
+
+== Resources ==
+=== General ===
+*[http://www.math.utah.edu/faq/pari/pari.html PARI/GP FAQ]
+*[http://www.math.u-bordeaux1.fr/~belabas/pari/ Resources for PARI/GP]
+*[http://pari.math.u-bordeaux1.fr/Events/PARI2012/ Atelier PARI/GP 2012]: Conference slides
+
+=== 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.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://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)
+
+=== 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)
+* Paul Zimmermann, [http://www.loria.fr/~zimmerma/talks/henri.pdf The Ups and Downs of PARI/GP in the last 20 years], Explicit Methods in Number Theory, October 15th-19th 2007
+
+[[Category:Mathematical programming languages]]
\ No newline at end of file
diff --git a/Lang/PARI-GP/100-doors b/Lang/PARI-GP/100-doors
new file mode 120000
index 0000000000..d90e727f3a
--- /dev/null
+++ b/Lang/PARI-GP/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/24-game b/Lang/PARI-GP/24-game
new file mode 120000
index 0000000000..684dd40b72
--- /dev/null
+++ b/Lang/PARI-GP/24-game
@@ -0,0 +1 @@
+../../Task/24-game/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/99-Bottles-of-Beer b/Lang/PARI-GP/99-Bottles-of-Beer
new file mode 120000
index 0000000000..ae28b25751
--- /dev/null
+++ b/Lang/PARI-GP/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/A+B b/Lang/PARI-GP/A+B
new file mode 120000
index 0000000000..07696553fe
--- /dev/null
+++ b/Lang/PARI-GP/A+B
@@ -0,0 +1 @@
+../../Task/A+B/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Ackermann-function b/Lang/PARI-GP/Ackermann-function
new file mode 120000
index 0000000000..8f638c9515
--- /dev/null
+++ b/Lang/PARI-GP/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Address-of-a-variable b/Lang/PARI-GP/Address-of-a-variable
new file mode 120000
index 0000000000..2f69e85585
--- /dev/null
+++ b/Lang/PARI-GP/Address-of-a-variable
@@ -0,0 +1 @@
+../../Task/Address-of-a-variable/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Apply-a-callback-to-an-array b/Lang/PARI-GP/Apply-a-callback-to-an-array
new file mode 120000
index 0000000000..f9746a29b1
--- /dev/null
+++ b/Lang/PARI-GP/Apply-a-callback-to-an-array
@@ -0,0 +1 @@
+../../Task/Apply-a-callback-to-an-array/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Arbitrary-precision-integers-included b/Lang/PARI-GP/Arbitrary-precision-integers-included
new file mode 120000
index 0000000000..a6a8277b53
--- /dev/null
+++ b/Lang/PARI-GP/Arbitrary-precision-integers-included
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers-included/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Arena-storage-pool b/Lang/PARI-GP/Arena-storage-pool
new file mode 120000
index 0000000000..450da82638
--- /dev/null
+++ b/Lang/PARI-GP/Arena-storage-pool
@@ -0,0 +1 @@
+../../Task/Arena-storage-pool/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Arithmetic-Complex b/Lang/PARI-GP/Arithmetic-Complex
new file mode 120000
index 0000000000..b221c30d4d
--- /dev/null
+++ b/Lang/PARI-GP/Arithmetic-Complex
@@ -0,0 +1 @@
+../../Task/Arithmetic-Complex/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Arithmetic-Integer b/Lang/PARI-GP/Arithmetic-Integer
new file mode 120000
index 0000000000..e05a817eda
--- /dev/null
+++ b/Lang/PARI-GP/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Arithmetic-Rational b/Lang/PARI-GP/Arithmetic-Rational
new file mode 120000
index 0000000000..588834f9c9
--- /dev/null
+++ b/Lang/PARI-GP/Arithmetic-Rational
@@ -0,0 +1 @@
+../../Task/Arithmetic-Rational/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Arithmetic-geometric-mean b/Lang/PARI-GP/Arithmetic-geometric-mean
new file mode 120000
index 0000000000..701ab00eb7
--- /dev/null
+++ b/Lang/PARI-GP/Arithmetic-geometric-mean
@@ -0,0 +1 @@
+../../Task/Arithmetic-geometric-mean/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Array-concatenation b/Lang/PARI-GP/Array-concatenation
new file mode 120000
index 0000000000..8c1696651d
--- /dev/null
+++ b/Lang/PARI-GP/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Arrays b/Lang/PARI-GP/Arrays
new file mode 120000
index 0000000000..59d3d3ba8b
--- /dev/null
+++ b/Lang/PARI-GP/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Assertions b/Lang/PARI-GP/Assertions
new file mode 120000
index 0000000000..c33f18ee6f
--- /dev/null
+++ b/Lang/PARI-GP/Assertions
@@ -0,0 +1 @@
+../../Task/Assertions/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Averages-Arithmetic-mean b/Lang/PARI-GP/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..433e00dfa3
--- /dev/null
+++ b/Lang/PARI-GP/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Averages-Mean-angle b/Lang/PARI-GP/Averages-Mean-angle
new file mode 120000
index 0000000000..39e39282bf
--- /dev/null
+++ b/Lang/PARI-GP/Averages-Mean-angle
@@ -0,0 +1 @@
+../../Task/Averages-Mean-angle/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Averages-Mean-time-of-day b/Lang/PARI-GP/Averages-Mean-time-of-day
new file mode 120000
index 0000000000..5275d19a13
--- /dev/null
+++ b/Lang/PARI-GP/Averages-Mean-time-of-day
@@ -0,0 +1 @@
+../../Task/Averages-Mean-time-of-day/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Averages-Median b/Lang/PARI-GP/Averages-Median
new file mode 120000
index 0000000000..65a83a7b36
--- /dev/null
+++ b/Lang/PARI-GP/Averages-Median
@@ -0,0 +1 @@
+../../Task/Averages-Median/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Averages-Mode b/Lang/PARI-GP/Averages-Mode
new file mode 120000
index 0000000000..02f5eae65d
--- /dev/null
+++ b/Lang/PARI-GP/Averages-Mode
@@ -0,0 +1 @@
+../../Task/Averages-Mode/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Averages-Pythagorean-means b/Lang/PARI-GP/Averages-Pythagorean-means
new file mode 120000
index 0000000000..7b68b711c6
--- /dev/null
+++ b/Lang/PARI-GP/Averages-Pythagorean-means
@@ -0,0 +1 @@
+../../Task/Averages-Pythagorean-means/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Averages-Root-mean-square b/Lang/PARI-GP/Averages-Root-mean-square
new file mode 120000
index 0000000000..7692be9edd
--- /dev/null
+++ b/Lang/PARI-GP/Averages-Root-mean-square
@@ -0,0 +1 @@
+../../Task/Averages-Root-mean-square/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Averages-Simple-moving-average b/Lang/PARI-GP/Averages-Simple-moving-average
new file mode 120000
index 0000000000..0bf25b1983
--- /dev/null
+++ b/Lang/PARI-GP/Averages-Simple-moving-average
@@ -0,0 +1 @@
+../../Task/Averages-Simple-moving-average/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Balanced-brackets b/Lang/PARI-GP/Balanced-brackets
new file mode 120000
index 0000000000..91362f9359
--- /dev/null
+++ b/Lang/PARI-GP/Balanced-brackets
@@ -0,0 +1 @@
+../../Task/Balanced-brackets/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Binary-search b/Lang/PARI-GP/Binary-search
new file mode 120000
index 0000000000..b6ab464c03
--- /dev/null
+++ b/Lang/PARI-GP/Binary-search
@@ -0,0 +1 @@
+../../Task/Binary-search/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Bitwise-operations b/Lang/PARI-GP/Bitwise-operations
new file mode 120000
index 0000000000..08ca43dbdb
--- /dev/null
+++ b/Lang/PARI-GP/Bitwise-operations
@@ -0,0 +1 @@
+../../Task/Bitwise-operations/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Box-the-compass b/Lang/PARI-GP/Box-the-compass
new file mode 120000
index 0000000000..065dc766a4
--- /dev/null
+++ b/Lang/PARI-GP/Box-the-compass
@@ -0,0 +1 @@
+../../Task/Box-the-compass/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Bulls-and-cows b/Lang/PARI-GP/Bulls-and-cows
new file mode 120000
index 0000000000..722ffa28be
--- /dev/null
+++ b/Lang/PARI-GP/Bulls-and-cows
@@ -0,0 +1 @@
+../../Task/Bulls-and-cows/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Caesar-cipher b/Lang/PARI-GP/Caesar-cipher
new file mode 120000
index 0000000000..87296edf39
--- /dev/null
+++ b/Lang/PARI-GP/Caesar-cipher
@@ -0,0 +1 @@
+../../Task/Caesar-cipher/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Call-a-function b/Lang/PARI-GP/Call-a-function
new file mode 120000
index 0000000000..0ce3339e93
--- /dev/null
+++ b/Lang/PARI-GP/Call-a-function
@@ -0,0 +1 @@
+../../Task/Call-a-function/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Call-a-function-in-a-shared-library b/Lang/PARI-GP/Call-a-function-in-a-shared-library
new file mode 120000
index 0000000000..0a1a2c82cf
--- /dev/null
+++ b/Lang/PARI-GP/Call-a-function-in-a-shared-library
@@ -0,0 +1 @@
+../../Task/Call-a-function-in-a-shared-library/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Case-sensitivity-of-identifiers b/Lang/PARI-GP/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..043c70caff
--- /dev/null
+++ b/Lang/PARI-GP/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Character-codes b/Lang/PARI-GP/Character-codes
new file mode 120000
index 0000000000..39973aab49
--- /dev/null
+++ b/Lang/PARI-GP/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Character-matching b/Lang/PARI-GP/Character-matching
new file mode 120000
index 0000000000..790ecc1dc4
--- /dev/null
+++ b/Lang/PARI-GP/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Check-that-file-exists b/Lang/PARI-GP/Check-that-file-exists
new file mode 120000
index 0000000000..bf867892f1
--- /dev/null
+++ b/Lang/PARI-GP/Check-that-file-exists
@@ -0,0 +1 @@
+../../Task/Check-that-file-exists/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Closest-pair-problem b/Lang/PARI-GP/Closest-pair-problem
new file mode 120000
index 0000000000..6c26da217f
--- /dev/null
+++ b/Lang/PARI-GP/Closest-pair-problem
@@ -0,0 +1 @@
+../../Task/Closest-pair-problem/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Collections b/Lang/PARI-GP/Collections
new file mode 120000
index 0000000000..af013ff280
--- /dev/null
+++ b/Lang/PARI-GP/Collections
@@ -0,0 +1 @@
+../../Task/Collections/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Combinations b/Lang/PARI-GP/Combinations
new file mode 120000
index 0000000000..5eb531b78a
--- /dev/null
+++ b/Lang/PARI-GP/Combinations
@@ -0,0 +1 @@
+../../Task/Combinations/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Combinations-with-repetitions b/Lang/PARI-GP/Combinations-with-repetitions
new file mode 120000
index 0000000000..5ba4643dfc
--- /dev/null
+++ b/Lang/PARI-GP/Combinations-with-repetitions
@@ -0,0 +1 @@
+../../Task/Combinations-with-repetitions/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Compound-data-type b/Lang/PARI-GP/Compound-data-type
new file mode 120000
index 0000000000..b79055bd0d
--- /dev/null
+++ b/Lang/PARI-GP/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Concurrent-computing b/Lang/PARI-GP/Concurrent-computing
new file mode 120000
index 0000000000..cbaab756c9
--- /dev/null
+++ b/Lang/PARI-GP/Concurrent-computing
@@ -0,0 +1 @@
+../../Task/Concurrent-computing/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Conditional-structures b/Lang/PARI-GP/Conditional-structures
new file mode 120000
index 0000000000..851adc8657
--- /dev/null
+++ b/Lang/PARI-GP/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Constrained-random-points-on-a-circle b/Lang/PARI-GP/Constrained-random-points-on-a-circle
new file mode 120000
index 0000000000..69c711f302
--- /dev/null
+++ b/Lang/PARI-GP/Constrained-random-points-on-a-circle
@@ -0,0 +1 @@
+../../Task/Constrained-random-points-on-a-circle/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Continued-fraction b/Lang/PARI-GP/Continued-fraction
new file mode 120000
index 0000000000..a653c5d380
--- /dev/null
+++ b/Lang/PARI-GP/Continued-fraction
@@ -0,0 +1 @@
+../../Task/Continued-fraction/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Conways-Game-of-Life b/Lang/PARI-GP/Conways-Game-of-Life
new file mode 120000
index 0000000000..ef7e416aaa
--- /dev/null
+++ b/Lang/PARI-GP/Conways-Game-of-Life
@@ -0,0 +1 @@
+../../Task/Conways-Game-of-Life/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Count-in-factors b/Lang/PARI-GP/Count-in-factors
new file mode 120000
index 0000000000..12b92c7453
--- /dev/null
+++ b/Lang/PARI-GP/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Count-in-octal b/Lang/PARI-GP/Count-in-octal
new file mode 120000
index 0000000000..8fb1e89a8d
--- /dev/null
+++ b/Lang/PARI-GP/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Count-the-coins b/Lang/PARI-GP/Count-the-coins
new file mode 120000
index 0000000000..4ae51c58e4
--- /dev/null
+++ b/Lang/PARI-GP/Count-the-coins
@@ -0,0 +1 @@
+../../Task/Count-the-coins/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Create-a-two-dimensional-array-at-runtime b/Lang/PARI-GP/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..357565642d
--- /dev/null
+++ b/Lang/PARI-GP/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Create-an-HTML-table b/Lang/PARI-GP/Create-an-HTML-table
new file mode 120000
index 0000000000..7987377445
--- /dev/null
+++ b/Lang/PARI-GP/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Deal-cards-for-FreeCell b/Lang/PARI-GP/Deal-cards-for-FreeCell
new file mode 120000
index 0000000000..89894b4293
--- /dev/null
+++ b/Lang/PARI-GP/Deal-cards-for-FreeCell
@@ -0,0 +1 @@
+../../Task/Deal-cards-for-FreeCell/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Delete-a-file b/Lang/PARI-GP/Delete-a-file
new file mode 120000
index 0000000000..23e219c71c
--- /dev/null
+++ b/Lang/PARI-GP/Delete-a-file
@@ -0,0 +1 @@
+../../Task/Delete-a-file/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Detect-division-by-zero b/Lang/PARI-GP/Detect-division-by-zero
new file mode 120000
index 0000000000..3da728b7ff
--- /dev/null
+++ b/Lang/PARI-GP/Detect-division-by-zero
@@ -0,0 +1 @@
+../../Task/Detect-division-by-zero/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Determine-if-a-string-is-numeric b/Lang/PARI-GP/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..abcb2f7bf6
--- /dev/null
+++ b/Lang/PARI-GP/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Digital-root b/Lang/PARI-GP/Digital-root
new file mode 120000
index 0000000000..b5922fb898
--- /dev/null
+++ b/Lang/PARI-GP/Digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Documentation b/Lang/PARI-GP/Documentation
new file mode 120000
index 0000000000..1fe8246587
--- /dev/null
+++ b/Lang/PARI-GP/Documentation
@@ -0,0 +1 @@
+../../Task/Documentation/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Dot-product b/Lang/PARI-GP/Dot-product
new file mode 120000
index 0000000000..c1c0085fdc
--- /dev/null
+++ b/Lang/PARI-GP/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Dutch-national-flag-problem b/Lang/PARI-GP/Dutch-national-flag-problem
new file mode 120000
index 0000000000..790a4c077f
--- /dev/null
+++ b/Lang/PARI-GP/Dutch-national-flag-problem
@@ -0,0 +1 @@
+../../Task/Dutch-national-flag-problem/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Dynamic-variable-names b/Lang/PARI-GP/Dynamic-variable-names
new file mode 120000
index 0000000000..a78858ea52
--- /dev/null
+++ b/Lang/PARI-GP/Dynamic-variable-names
@@ -0,0 +1 @@
+../../Task/Dynamic-variable-names/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Element-wise-operations b/Lang/PARI-GP/Element-wise-operations
new file mode 120000
index 0000000000..f1a5485d90
--- /dev/null
+++ b/Lang/PARI-GP/Element-wise-operations
@@ -0,0 +1 @@
+../../Task/Element-wise-operations/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Empty-program b/Lang/PARI-GP/Empty-program
new file mode 120000
index 0000000000..e5621857fc
--- /dev/null
+++ b/Lang/PARI-GP/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Empty-string b/Lang/PARI-GP/Empty-string
new file mode 120000
index 0000000000..9b02b43507
--- /dev/null
+++ b/Lang/PARI-GP/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Equilibrium-index b/Lang/PARI-GP/Equilibrium-index
new file mode 120000
index 0000000000..3a12459df6
--- /dev/null
+++ b/Lang/PARI-GP/Equilibrium-index
@@ -0,0 +1 @@
+../../Task/Equilibrium-index/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Ethiopian-multiplication b/Lang/PARI-GP/Ethiopian-multiplication
new file mode 120000
index 0000000000..908b852168
--- /dev/null
+++ b/Lang/PARI-GP/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Evaluate-binomial-coefficients b/Lang/PARI-GP/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..cdffb2c4b3
--- /dev/null
+++ b/Lang/PARI-GP/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Even-or-odd b/Lang/PARI-GP/Even-or-odd
new file mode 120000
index 0000000000..7abec8d83d
--- /dev/null
+++ b/Lang/PARI-GP/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Exceptions b/Lang/PARI-GP/Exceptions
new file mode 120000
index 0000000000..734c772529
--- /dev/null
+++ b/Lang/PARI-GP/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Execute-HQ9+ b/Lang/PARI-GP/Execute-HQ9+
new file mode 120000
index 0000000000..366a00b8d5
--- /dev/null
+++ b/Lang/PARI-GP/Execute-HQ9+
@@ -0,0 +1 @@
+../../Task/Execute-HQ9+/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Execute-a-system-command b/Lang/PARI-GP/Execute-a-system-command
new file mode 120000
index 0000000000..d78edadfc7
--- /dev/null
+++ b/Lang/PARI-GP/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Exponentiation-operator b/Lang/PARI-GP/Exponentiation-operator
new file mode 120000
index 0000000000..409306de5b
--- /dev/null
+++ b/Lang/PARI-GP/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Extend-your-language b/Lang/PARI-GP/Extend-your-language
new file mode 120000
index 0000000000..c18da8eb02
--- /dev/null
+++ b/Lang/PARI-GP/Extend-your-language
@@ -0,0 +1 @@
+../../Task/Extend-your-language/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Factorial b/Lang/PARI-GP/Factorial
new file mode 120000
index 0000000000..d8ee4ddb51
--- /dev/null
+++ b/Lang/PARI-GP/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Factors-of-a-Mersenne-number b/Lang/PARI-GP/Factors-of-a-Mersenne-number
new file mode 120000
index 0000000000..21644e0737
--- /dev/null
+++ b/Lang/PARI-GP/Factors-of-a-Mersenne-number
@@ -0,0 +1 @@
+../../Task/Factors-of-a-Mersenne-number/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Factors-of-an-integer b/Lang/PARI-GP/Factors-of-an-integer
new file mode 120000
index 0000000000..d61ac3dbd5
--- /dev/null
+++ b/Lang/PARI-GP/Factors-of-an-integer
@@ -0,0 +1 @@
+../../Task/Factors-of-an-integer/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Fast-Fourier-transform b/Lang/PARI-GP/Fast-Fourier-transform
new file mode 120000
index 0000000000..996f0310a2
--- /dev/null
+++ b/Lang/PARI-GP/Fast-Fourier-transform
@@ -0,0 +1 @@
+../../Task/Fast-Fourier-transform/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Fibonacci-n-step-number-sequences b/Lang/PARI-GP/Fibonacci-n-step-number-sequences
new file mode 120000
index 0000000000..aa958bce93
--- /dev/null
+++ b/Lang/PARI-GP/Fibonacci-n-step-number-sequences
@@ -0,0 +1 @@
+../../Task/Fibonacci-n-step-number-sequences/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Fibonacci-sequence b/Lang/PARI-GP/Fibonacci-sequence
new file mode 120000
index 0000000000..a56ffa9e36
--- /dev/null
+++ b/Lang/PARI-GP/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/File-IO b/Lang/PARI-GP/File-IO
new file mode 120000
index 0000000000..002ac9a7d8
--- /dev/null
+++ b/Lang/PARI-GP/File-IO
@@ -0,0 +1 @@
+../../Task/File-IO/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Filter b/Lang/PARI-GP/Filter
new file mode 120000
index 0000000000..82006f5e69
--- /dev/null
+++ b/Lang/PARI-GP/Filter
@@ -0,0 +1 @@
+../../Task/Filter/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Find-common-directory-path b/Lang/PARI-GP/Find-common-directory-path
new file mode 120000
index 0000000000..c47f69a11d
--- /dev/null
+++ b/Lang/PARI-GP/Find-common-directory-path
@@ -0,0 +1 @@
+../../Task/Find-common-directory-path/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Find-largest-left-truncatable-prime-in-a-given-base b/Lang/PARI-GP/Find-largest-left-truncatable-prime-in-a-given-base
new file mode 120000
index 0000000000..b6a3e2059c
--- /dev/null
+++ b/Lang/PARI-GP/Find-largest-left-truncatable-prime-in-a-given-base
@@ -0,0 +1 @@
+../../Task/Find-largest-left-truncatable-prime-in-a-given-base/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Find-limit-of-recursion b/Lang/PARI-GP/Find-limit-of-recursion
new file mode 120000
index 0000000000..2de2b7b2da
--- /dev/null
+++ b/Lang/PARI-GP/Find-limit-of-recursion
@@ -0,0 +1 @@
+../../Task/Find-limit-of-recursion/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/First-class-functions b/Lang/PARI-GP/First-class-functions
new file mode 120000
index 0000000000..21f94c3f30
--- /dev/null
+++ b/Lang/PARI-GP/First-class-functions
@@ -0,0 +1 @@
+../../Task/First-class-functions/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/First-class-functions-Use-numbers-analogously b/Lang/PARI-GP/First-class-functions-Use-numbers-analogously
new file mode 120000
index 0000000000..aae82d4e3e
--- /dev/null
+++ b/Lang/PARI-GP/First-class-functions-Use-numbers-analogously
@@ -0,0 +1 @@
+../../Task/First-class-functions-Use-numbers-analogously/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Five-weekends b/Lang/PARI-GP/Five-weekends
new file mode 120000
index 0000000000..7bbc8f87f0
--- /dev/null
+++ b/Lang/PARI-GP/Five-weekends
@@ -0,0 +1 @@
+../../Task/Five-weekends/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/FizzBuzz b/Lang/PARI-GP/FizzBuzz
new file mode 120000
index 0000000000..14acb6fce1
--- /dev/null
+++ b/Lang/PARI-GP/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Flatten-a-list b/Lang/PARI-GP/Flatten-a-list
new file mode 120000
index 0000000000..3b553e8ebc
--- /dev/null
+++ b/Lang/PARI-GP/Flatten-a-list
@@ -0,0 +1 @@
+../../Task/Flatten-a-list/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Fork b/Lang/PARI-GP/Fork
new file mode 120000
index 0000000000..e34fe5e679
--- /dev/null
+++ b/Lang/PARI-GP/Fork
@@ -0,0 +1 @@
+../../Task/Fork/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Formal-power-series b/Lang/PARI-GP/Formal-power-series
new file mode 120000
index 0000000000..ee04b47470
--- /dev/null
+++ b/Lang/PARI-GP/Formal-power-series
@@ -0,0 +1 @@
+../../Task/Formal-power-series/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Formatted-numeric-output b/Lang/PARI-GP/Formatted-numeric-output
new file mode 120000
index 0000000000..6dbcb3bd17
--- /dev/null
+++ b/Lang/PARI-GP/Formatted-numeric-output
@@ -0,0 +1 @@
+../../Task/Formatted-numeric-output/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Forward-difference b/Lang/PARI-GP/Forward-difference
new file mode 120000
index 0000000000..c09b406839
--- /dev/null
+++ b/Lang/PARI-GP/Forward-difference
@@ -0,0 +1 @@
+../../Task/Forward-difference/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Four-bit-adder b/Lang/PARI-GP/Four-bit-adder
new file mode 120000
index 0000000000..8b04c5a302
--- /dev/null
+++ b/Lang/PARI-GP/Four-bit-adder
@@ -0,0 +1 @@
+../../Task/Four-bit-adder/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Function-composition b/Lang/PARI-GP/Function-composition
new file mode 120000
index 0000000000..acde4d90a3
--- /dev/null
+++ b/Lang/PARI-GP/Function-composition
@@ -0,0 +1 @@
+../../Task/Function-composition/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Function-definition b/Lang/PARI-GP/Function-definition
new file mode 120000
index 0000000000..fcf96c2334
--- /dev/null
+++ b/Lang/PARI-GP/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Function-prototype b/Lang/PARI-GP/Function-prototype
new file mode 120000
index 0000000000..97b5eff78a
--- /dev/null
+++ b/Lang/PARI-GP/Function-prototype
@@ -0,0 +1 @@
+../../Task/Function-prototype/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Gamma-function b/Lang/PARI-GP/Gamma-function
new file mode 120000
index 0000000000..c18276a47e
--- /dev/null
+++ b/Lang/PARI-GP/Gamma-function
@@ -0,0 +1 @@
+../../Task/Gamma-function/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Generic-swap b/Lang/PARI-GP/Generic-swap
new file mode 120000
index 0000000000..91a1fd6b96
--- /dev/null
+++ b/Lang/PARI-GP/Generic-swap
@@ -0,0 +1 @@
+../../Task/Generic-swap/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Gray-code b/Lang/PARI-GP/Gray-code
new file mode 120000
index 0000000000..859fd72137
--- /dev/null
+++ b/Lang/PARI-GP/Gray-code
@@ -0,0 +1 @@
+../../Task/Gray-code/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Greatest-common-divisor b/Lang/PARI-GP/Greatest-common-divisor
new file mode 120000
index 0000000000..a8e3d8caee
--- /dev/null
+++ b/Lang/PARI-GP/Greatest-common-divisor
@@ -0,0 +1 @@
+../../Task/Greatest-common-divisor/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Greatest-element-of-a-list b/Lang/PARI-GP/Greatest-element-of-a-list
new file mode 120000
index 0000000000..8c60a865fc
--- /dev/null
+++ b/Lang/PARI-GP/Greatest-element-of-a-list
@@ -0,0 +1 @@
+../../Task/Greatest-element-of-a-list/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Greatest-subsequential-sum b/Lang/PARI-GP/Greatest-subsequential-sum
new file mode 120000
index 0000000000..ca0ea6a0e6
--- /dev/null
+++ b/Lang/PARI-GP/Greatest-subsequential-sum
@@ -0,0 +1 @@
+../../Task/Greatest-subsequential-sum/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Guess-the-number b/Lang/PARI-GP/Guess-the-number
new file mode 120000
index 0000000000..cc37e4f6c0
--- /dev/null
+++ b/Lang/PARI-GP/Guess-the-number
@@ -0,0 +1 @@
+../../Task/Guess-the-number/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Guess-the-number-With-feedback b/Lang/PARI-GP/Guess-the-number-With-feedback
new file mode 120000
index 0000000000..a71625904d
--- /dev/null
+++ b/Lang/PARI-GP/Guess-the-number-With-feedback
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Guess-the-number-With-feedback-player b/Lang/PARI-GP/Guess-the-number-With-feedback-player
new file mode 120000
index 0000000000..5bbd01c89e
--- /dev/null
+++ b/Lang/PARI-GP/Guess-the-number-With-feedback-player
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback-player/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Hailstone-sequence b/Lang/PARI-GP/Hailstone-sequence
new file mode 120000
index 0000000000..a794de44ad
--- /dev/null
+++ b/Lang/PARI-GP/Hailstone-sequence
@@ -0,0 +1 @@
+../../Task/Hailstone-sequence/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Hamming-numbers b/Lang/PARI-GP/Hamming-numbers
new file mode 120000
index 0000000000..6189df7fa5
--- /dev/null
+++ b/Lang/PARI-GP/Hamming-numbers
@@ -0,0 +1 @@
+../../Task/Hamming-numbers/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Happy-numbers b/Lang/PARI-GP/Happy-numbers
new file mode 120000
index 0000000000..f88256ef4c
--- /dev/null
+++ b/Lang/PARI-GP/Happy-numbers
@@ -0,0 +1 @@
+../../Task/Happy-numbers/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Haversine-formula b/Lang/PARI-GP/Haversine-formula
new file mode 120000
index 0000000000..eff5aede70
--- /dev/null
+++ b/Lang/PARI-GP/Haversine-formula
@@ -0,0 +1 @@
+../../Task/Haversine-formula/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Hello-world-Newline-omission b/Lang/PARI-GP/Hello-world-Newline-omission
new file mode 120000
index 0000000000..4e17a0b1cb
--- /dev/null
+++ b/Lang/PARI-GP/Hello-world-Newline-omission
@@ -0,0 +1 @@
+../../Task/Hello-world-Newline-omission/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Hello-world-Standard-error b/Lang/PARI-GP/Hello-world-Standard-error
new file mode 120000
index 0000000000..bcdaf1f16b
--- /dev/null
+++ b/Lang/PARI-GP/Hello-world-Standard-error
@@ -0,0 +1 @@
+../../Task/Hello-world-Standard-error/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Hello-world-Text b/Lang/PARI-GP/Hello-world-Text
new file mode 120000
index 0000000000..249994e5b8
--- /dev/null
+++ b/Lang/PARI-GP/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Higher-order-functions b/Lang/PARI-GP/Higher-order-functions
new file mode 120000
index 0000000000..6d075f57d9
--- /dev/null
+++ b/Lang/PARI-GP/Higher-order-functions
@@ -0,0 +1 @@
+../../Task/Higher-order-functions/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/History-variables b/Lang/PARI-GP/History-variables
new file mode 120000
index 0000000000..6f1d5e1317
--- /dev/null
+++ b/Lang/PARI-GP/History-variables
@@ -0,0 +1 @@
+../../Task/History-variables/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Hofstadter-Conway-$10,000-sequence b/Lang/PARI-GP/Hofstadter-Conway-$10,000-sequence
new file mode 120000
index 0000000000..97a703ec0c
--- /dev/null
+++ b/Lang/PARI-GP/Hofstadter-Conway-$10,000-sequence
@@ -0,0 +1 @@
+../../Task/Hofstadter-Conway-$10,000-sequence/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Hofstadter-Q-sequence b/Lang/PARI-GP/Hofstadter-Q-sequence
new file mode 120000
index 0000000000..4590c8398d
--- /dev/null
+++ b/Lang/PARI-GP/Hofstadter-Q-sequence
@@ -0,0 +1 @@
+../../Task/Hofstadter-Q-sequence/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Horners-rule-for-polynomial-evaluation b/Lang/PARI-GP/Horners-rule-for-polynomial-evaluation
new file mode 120000
index 0000000000..61e1ec2e76
--- /dev/null
+++ b/Lang/PARI-GP/Horners-rule-for-polynomial-evaluation
@@ -0,0 +1 @@
+../../Task/Horners-rule-for-polynomial-evaluation/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Identity-matrix b/Lang/PARI-GP/Identity-matrix
new file mode 120000
index 0000000000..9499598b17
--- /dev/null
+++ b/Lang/PARI-GP/Identity-matrix
@@ -0,0 +1 @@
+../../Task/Identity-matrix/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Increment-a-numerical-string b/Lang/PARI-GP/Increment-a-numerical-string
new file mode 120000
index 0000000000..c2b6ba468a
--- /dev/null
+++ b/Lang/PARI-GP/Increment-a-numerical-string
@@ -0,0 +1 @@
+../../Task/Increment-a-numerical-string/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Infinity b/Lang/PARI-GP/Infinity
new file mode 120000
index 0000000000..322c1a8956
--- /dev/null
+++ b/Lang/PARI-GP/Infinity
@@ -0,0 +1 @@
+../../Task/Infinity/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Integer-comparison b/Lang/PARI-GP/Integer-comparison
new file mode 120000
index 0000000000..656f513334
--- /dev/null
+++ b/Lang/PARI-GP/Integer-comparison
@@ -0,0 +1 @@
+../../Task/Integer-comparison/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Integer-sequence b/Lang/PARI-GP/Integer-sequence
new file mode 120000
index 0000000000..78ed137c86
--- /dev/null
+++ b/Lang/PARI-GP/Integer-sequence
@@ -0,0 +1 @@
+../../Task/Integer-sequence/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Interactive-programming b/Lang/PARI-GP/Interactive-programming
new file mode 120000
index 0000000000..abfde41bf5
--- /dev/null
+++ b/Lang/PARI-GP/Interactive-programming
@@ -0,0 +1 @@
+../../Task/Interactive-programming/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Introspection b/Lang/PARI-GP/Introspection
new file mode 120000
index 0000000000..b794671970
--- /dev/null
+++ b/Lang/PARI-GP/Introspection
@@ -0,0 +1 @@
+../../Task/Introspection/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Inverted-syntax b/Lang/PARI-GP/Inverted-syntax
new file mode 120000
index 0000000000..8453520f7f
--- /dev/null
+++ b/Lang/PARI-GP/Inverted-syntax
@@ -0,0 +1 @@
+../../Task/Inverted-syntax/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Josephus-problem b/Lang/PARI-GP/Josephus-problem
new file mode 120000
index 0000000000..b09b073f12
--- /dev/null
+++ b/Lang/PARI-GP/Josephus-problem
@@ -0,0 +1 @@
+../../Task/Josephus-problem/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Kaprekar-numbers b/Lang/PARI-GP/Kaprekar-numbers
new file mode 120000
index 0000000000..8483baec88
--- /dev/null
+++ b/Lang/PARI-GP/Kaprekar-numbers
@@ -0,0 +1 @@
+../../Task/Kaprekar-numbers/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Knuth-shuffle b/Lang/PARI-GP/Knuth-shuffle
new file mode 120000
index 0000000000..90eedb37d5
--- /dev/null
+++ b/Lang/PARI-GP/Knuth-shuffle
@@ -0,0 +1 @@
+../../Task/Knuth-shuffle/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Knuths-algorithm-S b/Lang/PARI-GP/Knuths-algorithm-S
new file mode 120000
index 0000000000..9c0028c2f8
--- /dev/null
+++ b/Lang/PARI-GP/Knuths-algorithm-S
@@ -0,0 +1 @@
+../../Task/Knuths-algorithm-S/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Langtons-ant b/Lang/PARI-GP/Langtons-ant
new file mode 120000
index 0000000000..d0f2993d6e
--- /dev/null
+++ b/Lang/PARI-GP/Langtons-ant
@@ -0,0 +1 @@
+../../Task/Langtons-ant/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Leap-year b/Lang/PARI-GP/Leap-year
new file mode 120000
index 0000000000..9d9e96ab55
--- /dev/null
+++ b/Lang/PARI-GP/Leap-year
@@ -0,0 +1 @@
+../../Task/Leap-year/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Least-common-multiple b/Lang/PARI-GP/Least-common-multiple
new file mode 120000
index 0000000000..2443dd426b
--- /dev/null
+++ b/Lang/PARI-GP/Least-common-multiple
@@ -0,0 +1 @@
+../../Task/Least-common-multiple/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Letter-frequency b/Lang/PARI-GP/Letter-frequency
new file mode 120000
index 0000000000..f217fef013
--- /dev/null
+++ b/Lang/PARI-GP/Letter-frequency
@@ -0,0 +1 @@
+../../Task/Letter-frequency/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Linear-congruential-generator b/Lang/PARI-GP/Linear-congruential-generator
new file mode 120000
index 0000000000..7f80e17122
--- /dev/null
+++ b/Lang/PARI-GP/Linear-congruential-generator
@@ -0,0 +1 @@
+../../Task/Linear-congruential-generator/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/List-comprehensions b/Lang/PARI-GP/List-comprehensions
new file mode 120000
index 0000000000..d63eeaa1d0
--- /dev/null
+++ b/Lang/PARI-GP/List-comprehensions
@@ -0,0 +1 @@
+../../Task/List-comprehensions/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Logical-operations b/Lang/PARI-GP/Logical-operations
new file mode 120000
index 0000000000..c2fff46159
--- /dev/null
+++ b/Lang/PARI-GP/Logical-operations
@@ -0,0 +1 @@
+../../Task/Logical-operations/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Long-multiplication b/Lang/PARI-GP/Long-multiplication
new file mode 120000
index 0000000000..4092cb003c
--- /dev/null
+++ b/Lang/PARI-GP/Long-multiplication
@@ -0,0 +1 @@
+../../Task/Long-multiplication/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Look-and-say-sequence b/Lang/PARI-GP/Look-and-say-sequence
new file mode 120000
index 0000000000..d0fcbfb69d
--- /dev/null
+++ b/Lang/PARI-GP/Look-and-say-sequence
@@ -0,0 +1 @@
+../../Task/Look-and-say-sequence/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Loop-over-multiple-arrays-simultaneously b/Lang/PARI-GP/Loop-over-multiple-arrays-simultaneously
new file mode 120000
index 0000000000..8b2f73c71b
--- /dev/null
+++ b/Lang/PARI-GP/Loop-over-multiple-arrays-simultaneously
@@ -0,0 +1 @@
+../../Task/Loop-over-multiple-arrays-simultaneously/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Loops-Break b/Lang/PARI-GP/Loops-Break
new file mode 120000
index 0000000000..b88c99232a
--- /dev/null
+++ b/Lang/PARI-GP/Loops-Break
@@ -0,0 +1 @@
+../../Task/Loops-Break/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Loops-Continue b/Lang/PARI-GP/Loops-Continue
new file mode 120000
index 0000000000..e421ee5c75
--- /dev/null
+++ b/Lang/PARI-GP/Loops-Continue
@@ -0,0 +1 @@
+../../Task/Loops-Continue/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Loops-Do-while b/Lang/PARI-GP/Loops-Do-while
new file mode 120000
index 0000000000..a2c9b8af83
--- /dev/null
+++ b/Lang/PARI-GP/Loops-Do-while
@@ -0,0 +1 @@
+../../Task/Loops-Do-while/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Loops-Downward-for b/Lang/PARI-GP/Loops-Downward-for
new file mode 120000
index 0000000000..aece3126fb
--- /dev/null
+++ b/Lang/PARI-GP/Loops-Downward-for
@@ -0,0 +1 @@
+../../Task/Loops-Downward-for/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Loops-For b/Lang/PARI-GP/Loops-For
new file mode 120000
index 0000000000..7192b69143
--- /dev/null
+++ b/Lang/PARI-GP/Loops-For
@@ -0,0 +1 @@
+../../Task/Loops-For/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Loops-For-with-a-specified-step b/Lang/PARI-GP/Loops-For-with-a-specified-step
new file mode 120000
index 0000000000..0f834101b1
--- /dev/null
+++ b/Lang/PARI-GP/Loops-For-with-a-specified-step
@@ -0,0 +1 @@
+../../Task/Loops-For-with-a-specified-step/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Loops-Foreach b/Lang/PARI-GP/Loops-Foreach
new file mode 120000
index 0000000000..746ffd250c
--- /dev/null
+++ b/Lang/PARI-GP/Loops-Foreach
@@ -0,0 +1 @@
+../../Task/Loops-Foreach/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Loops-Infinite b/Lang/PARI-GP/Loops-Infinite
new file mode 120000
index 0000000000..3d10bd069b
--- /dev/null
+++ b/Lang/PARI-GP/Loops-Infinite
@@ -0,0 +1 @@
+../../Task/Loops-Infinite/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Loops-N-plus-one-half b/Lang/PARI-GP/Loops-N-plus-one-half
new file mode 120000
index 0000000000..4f957a57b7
--- /dev/null
+++ b/Lang/PARI-GP/Loops-N-plus-one-half
@@ -0,0 +1 @@
+../../Task/Loops-N-plus-one-half/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Loops-Nested b/Lang/PARI-GP/Loops-Nested
new file mode 120000
index 0000000000..6ebbc62e20
--- /dev/null
+++ b/Lang/PARI-GP/Loops-Nested
@@ -0,0 +1 @@
+../../Task/Loops-Nested/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Loops-While b/Lang/PARI-GP/Loops-While
new file mode 120000
index 0000000000..4dc36dc88e
--- /dev/null
+++ b/Lang/PARI-GP/Loops-While
@@ -0,0 +1 @@
+../../Task/Loops-While/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Lucas-Lehmer-test b/Lang/PARI-GP/Lucas-Lehmer-test
new file mode 120000
index 0000000000..16d33a7507
--- /dev/null
+++ b/Lang/PARI-GP/Lucas-Lehmer-test
@@ -0,0 +1 @@
+../../Task/Lucas-Lehmer-test/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Map-range b/Lang/PARI-GP/Map-range
new file mode 120000
index 0000000000..65be0d1f0f
--- /dev/null
+++ b/Lang/PARI-GP/Map-range
@@ -0,0 +1 @@
+../../Task/Map-range/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Matrix-arithmetic b/Lang/PARI-GP/Matrix-arithmetic
new file mode 120000
index 0000000000..77356505ce
--- /dev/null
+++ b/Lang/PARI-GP/Matrix-arithmetic
@@ -0,0 +1 @@
+../../Task/Matrix-arithmetic/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Matrix-exponentiation-operator b/Lang/PARI-GP/Matrix-exponentiation-operator
new file mode 120000
index 0000000000..1dbaacd302
--- /dev/null
+++ b/Lang/PARI-GP/Matrix-exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Matrix-exponentiation-operator/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Matrix-multiplication b/Lang/PARI-GP/Matrix-multiplication
new file mode 120000
index 0000000000..c212d0f38f
--- /dev/null
+++ b/Lang/PARI-GP/Matrix-multiplication
@@ -0,0 +1 @@
+../../Task/Matrix-multiplication/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Matrix-transposition b/Lang/PARI-GP/Matrix-transposition
new file mode 120000
index 0000000000..7db6ab999f
--- /dev/null
+++ b/Lang/PARI-GP/Matrix-transposition
@@ -0,0 +1 @@
+../../Task/Matrix-transposition/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Memory-allocation b/Lang/PARI-GP/Memory-allocation
new file mode 120000
index 0000000000..41c461708b
--- /dev/null
+++ b/Lang/PARI-GP/Memory-allocation
@@ -0,0 +1 @@
+../../Task/Memory-allocation/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Menu b/Lang/PARI-GP/Menu
new file mode 120000
index 0000000000..0c2cfc6b8d
--- /dev/null
+++ b/Lang/PARI-GP/Menu
@@ -0,0 +1 @@
+../../Task/Menu/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Metaprogramming b/Lang/PARI-GP/Metaprogramming
new file mode 120000
index 0000000000..4e4fbaab42
--- /dev/null
+++ b/Lang/PARI-GP/Metaprogramming
@@ -0,0 +1 @@
+../../Task/Metaprogramming/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Miller-Rabin-primality-test b/Lang/PARI-GP/Miller-Rabin-primality-test
new file mode 120000
index 0000000000..6c17b6de21
--- /dev/null
+++ b/Lang/PARI-GP/Miller-Rabin-primality-test
@@ -0,0 +1 @@
+../../Task/Miller-Rabin-primality-test/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Modular-exponentiation b/Lang/PARI-GP/Modular-exponentiation
new file mode 120000
index 0000000000..d6a3f93130
--- /dev/null
+++ b/Lang/PARI-GP/Modular-exponentiation
@@ -0,0 +1 @@
+../../Task/Modular-exponentiation/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Monte-Carlo-methods b/Lang/PARI-GP/Monte-Carlo-methods
new file mode 120000
index 0000000000..ddf77d3de9
--- /dev/null
+++ b/Lang/PARI-GP/Monte-Carlo-methods
@@ -0,0 +1 @@
+../../Task/Monte-Carlo-methods/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Monty-Hall-problem b/Lang/PARI-GP/Monty-Hall-problem
new file mode 120000
index 0000000000..d44516224f
--- /dev/null
+++ b/Lang/PARI-GP/Monty-Hall-problem
@@ -0,0 +1 @@
+../../Task/Monty-Hall-problem/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Morse-code b/Lang/PARI-GP/Morse-code
new file mode 120000
index 0000000000..b8bb97edad
--- /dev/null
+++ b/Lang/PARI-GP/Morse-code
@@ -0,0 +1 @@
+../../Task/Morse-code/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Multifactorial b/Lang/PARI-GP/Multifactorial
new file mode 120000
index 0000000000..765a9992f8
--- /dev/null
+++ b/Lang/PARI-GP/Multifactorial
@@ -0,0 +1 @@
+../../Task/Multifactorial/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Multiple-regression b/Lang/PARI-GP/Multiple-regression
new file mode 120000
index 0000000000..4393d66f81
--- /dev/null
+++ b/Lang/PARI-GP/Multiple-regression
@@ -0,0 +1 @@
+../../Task/Multiple-regression/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Multiplication-tables b/Lang/PARI-GP/Multiplication-tables
new file mode 120000
index 0000000000..710da5556e
--- /dev/null
+++ b/Lang/PARI-GP/Multiplication-tables
@@ -0,0 +1 @@
+../../Task/Multiplication-tables/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Multiplicative-order b/Lang/PARI-GP/Multiplicative-order
new file mode 120000
index 0000000000..218b791d58
--- /dev/null
+++ b/Lang/PARI-GP/Multiplicative-order
@@ -0,0 +1 @@
+../../Task/Multiplicative-order/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Mutual-recursion b/Lang/PARI-GP/Mutual-recursion
new file mode 120000
index 0000000000..de24b24684
--- /dev/null
+++ b/Lang/PARI-GP/Mutual-recursion
@@ -0,0 +1 @@
+../../Task/Mutual-recursion/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Pi b/Lang/PARI-GP/Pi
new file mode 120000
index 0000000000..140465da96
--- /dev/null
+++ b/Lang/PARI-GP/Pi
@@ -0,0 +1 @@
+../../Task/Pi/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Search-a-list b/Lang/PARI-GP/Search-a-list
new file mode 120000
index 0000000000..68288ca582
--- /dev/null
+++ b/Lang/PARI-GP/Search-a-list
@@ -0,0 +1 @@
+../../Task/Search-a-list/PARI-GP
\ No newline at end of file
diff --git a/Lang/PASM/0DESCRIPTION b/Lang/PASM/0DESCRIPTION
new file mode 100644
index 0000000000..72761c4b33
--- /dev/null
+++ b/Lang/PASM/0DESCRIPTION
@@ -0,0 +1,2 @@
+{{stub}}{{language|PASM|site=http://www.parrot.org/dev/examples/pasm}}
+PASM is the low level assembly language used by the [[runs on vm::Parrot]] virtual machine.
\ No newline at end of file
diff --git a/Lang/PASM/Comments b/Lang/PASM/Comments
new file mode 120000
index 0000000000..617c958cee
--- /dev/null
+++ b/Lang/PASM/Comments
@@ -0,0 +1 @@
+../../Task/Comments/PASM
\ No newline at end of file
diff --git a/Lang/PASM/Hello-world-Newline-omission b/Lang/PASM/Hello-world-Newline-omission
new file mode 120000
index 0000000000..91d9318e3b
--- /dev/null
+++ b/Lang/PASM/Hello-world-Newline-omission
@@ -0,0 +1 @@
+../../Task/Hello-world-Newline-omission/PASM
\ No newline at end of file
diff --git a/Lang/PASM/Hello-world-Text b/Lang/PASM/Hello-world-Text
new file mode 120000
index 0000000000..d984a62315
--- /dev/null
+++ b/Lang/PASM/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/PASM
\ No newline at end of file
diff --git a/Lang/PDP-11-Assembly/0DESCRIPTION b/Lang/PDP-11-Assembly/0DESCRIPTION
new file mode 100644
index 0000000000..95309450b0
--- /dev/null
+++ b/Lang/PDP-11-Assembly/0DESCRIPTION
@@ -0,0 +1 @@
+{{language}}{{assembler language}}{{stub}}
\ No newline at end of file
diff --git a/Lang/PDP-11-Assembly/Hello-world-Text b/Lang/PDP-11-Assembly/Hello-world-Text
new file mode 120000
index 0000000000..50d37db5f5
--- /dev/null
+++ b/Lang/PDP-11-Assembly/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/PDP-11-Assembly
\ No newline at end of file
diff --git a/Lang/PHP/Arbitrary-precision-integers-(included) b/Lang/PHP/Arbitrary-precision-integers-(included)
deleted file mode 120000
index 349602ec2b..0000000000
--- a/Lang/PHP/Arbitrary-precision-integers-(included)
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-(included)/PHP
\ No newline at end of file
diff --git a/Lang/PL-I/0DESCRIPTION b/Lang/PL-I/0DESCRIPTION
new file mode 100644
index 0000000000..56ce676f29
--- /dev/null
+++ b/Lang/PL-I/0DESCRIPTION
@@ -0,0 +1,52 @@
+{{stub}}{{language|PL/I}}
+
+PL/I is a general purpose programming language suitable for commercial, scientific, non-scientific, and system programming.
+
+It provides the following data types:
+
+* Floating-point,
+* Decimal integer,
+* Binary integer,
+* Fixed-point decimal (with fractional part),
+* Fixed-point binary (that is, with fractional part),
+* Character strings of two kinds:
+# fixed-length, and
+# varying-length.
+* Bit strings of two kinds:
+# fixed-length, and
+# varying length.
+
+The float, integer,and fixed-point types can be real or complex.
+
+Multiple precisions are available for binary fixed-point:
+* 8 bits,
+* 16 bits,
+* 32 bits, and
+* 64 bits.
+
+Multiple precisions are available for floating point:
+* 32 bits,
+* 64 bits, and
+* 80 bits.
+
+The language provides for static and dynamic arrays. Of the latter, there are automatic and controlled.
+
+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.
+
+PL/I has four kinds of I/O:
+# For simple I/O commands, list-directed input and output requires only the names of the variables. Default format is used, based on the variable's declaration.
+# For simple I/O commands, data-directed input and output requires only the names of the variables. For this form, both the names of the variables and their values are transmitted.
+# When precise layouts of input and output data is required, edit-directed I/O is used. A format is specified by the user. The format is flexible, and permits the number of digits, and the number of places after the decimal point to be specified dynamically. The format may also be specified in picture form.
+# for files held on storage media, record-oriented transmission is often used, either for sequential or random access.
+
+PL/I has built-in checking for such programmer conditions including
+* subscript-range checking,
+* floating-point overflow,
+* fixed-point overflow,
+* division by zero,
+* sub-string range checking, and
+* string-size checking.
+
+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
diff --git a/Lang/PL-I/100-doors b/Lang/PL-I/100-doors
new file mode 120000
index 0000000000..64eb4ccbc9
--- /dev/null
+++ b/Lang/PL-I/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/24-game b/Lang/PL-I/24-game
new file mode 120000
index 0000000000..165aabe894
--- /dev/null
+++ b/Lang/PL-I/24-game
@@ -0,0 +1 @@
+../../Task/24-game/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/A+B b/Lang/PL-I/A+B
new file mode 120000
index 0000000000..a75b409675
--- /dev/null
+++ b/Lang/PL-I/A+B
@@ -0,0 +1 @@
+../../Task/A+B/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Ackermann-function b/Lang/PL-I/Ackermann-function
new file mode 120000
index 0000000000..ba9a9e269d
--- /dev/null
+++ b/Lang/PL-I/Ackermann-function
@@ -0,0 +1 @@
+../../Task/Ackermann-function/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Address-of-a-variable b/Lang/PL-I/Address-of-a-variable
new file mode 120000
index 0000000000..909b5754ba
--- /dev/null
+++ b/Lang/PL-I/Address-of-a-variable
@@ -0,0 +1 @@
+../../Task/Address-of-a-variable/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Align-columns b/Lang/PL-I/Align-columns
new file mode 120000
index 0000000000..03caf5a4be
--- /dev/null
+++ b/Lang/PL-I/Align-columns
@@ -0,0 +1 @@
+../../Task/Align-columns/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Anagrams b/Lang/PL-I/Anagrams
new file mode 120000
index 0000000000..c6402039ac
--- /dev/null
+++ b/Lang/PL-I/Anagrams
@@ -0,0 +1 @@
+../../Task/Anagrams/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Arithmetic-Complex b/Lang/PL-I/Arithmetic-Complex
new file mode 120000
index 0000000000..e5bcaf7523
--- /dev/null
+++ b/Lang/PL-I/Arithmetic-Complex
@@ -0,0 +1 @@
+../../Task/Arithmetic-Complex/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Arithmetic-Integer b/Lang/PL-I/Arithmetic-Integer
new file mode 120000
index 0000000000..03632bbc09
--- /dev/null
+++ b/Lang/PL-I/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Arithmetic-geometric-mean b/Lang/PL-I/Arithmetic-geometric-mean
new file mode 120000
index 0000000000..b3070e66b4
--- /dev/null
+++ b/Lang/PL-I/Arithmetic-geometric-mean
@@ -0,0 +1 @@
+../../Task/Arithmetic-geometric-mean/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Array-concatenation b/Lang/PL-I/Array-concatenation
new file mode 120000
index 0000000000..a7c5453b1c
--- /dev/null
+++ b/Lang/PL-I/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Arrays b/Lang/PL-I/Arrays
new file mode 120000
index 0000000000..07cbd7b350
--- /dev/null
+++ b/Lang/PL-I/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Assertions b/Lang/PL-I/Assertions
new file mode 120000
index 0000000000..05daa875d9
--- /dev/null
+++ b/Lang/PL-I/Assertions
@@ -0,0 +1 @@
+../../Task/Assertions/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Averages-Arithmetic-mean b/Lang/PL-I/Averages-Arithmetic-mean
new file mode 120000
index 0000000000..9ddbba2512
--- /dev/null
+++ b/Lang/PL-I/Averages-Arithmetic-mean
@@ -0,0 +1 @@
+../../Task/Averages-Arithmetic-mean/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Averages-Mean-angle b/Lang/PL-I/Averages-Mean-angle
new file mode 120000
index 0000000000..90b71193a7
--- /dev/null
+++ b/Lang/PL-I/Averages-Mean-angle
@@ -0,0 +1 @@
+../../Task/Averages-Mean-angle/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Averages-Median b/Lang/PL-I/Averages-Median
new file mode 120000
index 0000000000..d263f81e99
--- /dev/null
+++ b/Lang/PL-I/Averages-Median
@@ -0,0 +1 @@
+../../Task/Averages-Median/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Averages-Pythagorean-means b/Lang/PL-I/Averages-Pythagorean-means
new file mode 120000
index 0000000000..812578c8ff
--- /dev/null
+++ b/Lang/PL-I/Averages-Pythagorean-means
@@ -0,0 +1 @@
+../../Task/Averages-Pythagorean-means/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Averages-Root-mean-square b/Lang/PL-I/Averages-Root-mean-square
new file mode 120000
index 0000000000..ed255b5990
--- /dev/null
+++ b/Lang/PL-I/Averages-Root-mean-square
@@ -0,0 +1 @@
+../../Task/Averages-Root-mean-square/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Averages-Simple-moving-average b/Lang/PL-I/Averages-Simple-moving-average
new file mode 120000
index 0000000000..af0508e10f
--- /dev/null
+++ b/Lang/PL-I/Averages-Simple-moving-average
@@ -0,0 +1 @@
+../../Task/Averages-Simple-moving-average/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Best-shuffle b/Lang/PL-I/Best-shuffle
new file mode 120000
index 0000000000..a44c735407
--- /dev/null
+++ b/Lang/PL-I/Best-shuffle
@@ -0,0 +1 @@
+../../Task/Best-shuffle/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Binary-search b/Lang/PL-I/Binary-search
new file mode 120000
index 0000000000..87d5451f20
--- /dev/null
+++ b/Lang/PL-I/Binary-search
@@ -0,0 +1 @@
+../../Task/Binary-search/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Binary-strings b/Lang/PL-I/Binary-strings
new file mode 120000
index 0000000000..7593fe24aa
--- /dev/null
+++ b/Lang/PL-I/Binary-strings
@@ -0,0 +1 @@
+../../Task/Binary-strings/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Bitmap b/Lang/PL-I/Bitmap
new file mode 120000
index 0000000000..6eb2b6670b
--- /dev/null
+++ b/Lang/PL-I/Bitmap
@@ -0,0 +1 @@
+../../Task/Bitmap/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Bitmap-Bresenhams-line-algorithm b/Lang/PL-I/Bitmap-Bresenhams-line-algorithm
new file mode 120000
index 0000000000..8ccf20a3d6
--- /dev/null
+++ b/Lang/PL-I/Bitmap-Bresenhams-line-algorithm
@@ -0,0 +1 @@
+../../Task/Bitmap-Bresenhams-line-algorithm/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Bitmap-Flood-fill b/Lang/PL-I/Bitmap-Flood-fill
new file mode 120000
index 0000000000..5ab6ac183c
--- /dev/null
+++ b/Lang/PL-I/Bitmap-Flood-fill
@@ -0,0 +1 @@
+../../Task/Bitmap-Flood-fill/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Bitmap-Midpoint-circle-algorithm b/Lang/PL-I/Bitmap-Midpoint-circle-algorithm
new file mode 120000
index 0000000000..8d9eb68a90
--- /dev/null
+++ b/Lang/PL-I/Bitmap-Midpoint-circle-algorithm
@@ -0,0 +1 @@
+../../Task/Bitmap-Midpoint-circle-algorithm/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Bitmap-Read-a-PPM-file b/Lang/PL-I/Bitmap-Read-a-PPM-file
new file mode 120000
index 0000000000..93310c74b9
--- /dev/null
+++ b/Lang/PL-I/Bitmap-Read-a-PPM-file
@@ -0,0 +1 @@
+../../Task/Bitmap-Read-a-PPM-file/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Bitmap-Write-a-PPM-file b/Lang/PL-I/Bitmap-Write-a-PPM-file
new file mode 120000
index 0000000000..d94fa71711
--- /dev/null
+++ b/Lang/PL-I/Bitmap-Write-a-PPM-file
@@ -0,0 +1 @@
+../../Task/Bitmap-Write-a-PPM-file/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Bitwise-IO b/Lang/PL-I/Bitwise-IO
new file mode 120000
index 0000000000..d4e188efce
--- /dev/null
+++ b/Lang/PL-I/Bitwise-IO
@@ -0,0 +1 @@
+../../Task/Bitwise-IO/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Bitwise-operations b/Lang/PL-I/Bitwise-operations
new file mode 120000
index 0000000000..1facad6c2a
--- /dev/null
+++ b/Lang/PL-I/Bitwise-operations
@@ -0,0 +1 @@
+../../Task/Bitwise-operations/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Boolean-values b/Lang/PL-I/Boolean-values
new file mode 120000
index 0000000000..f6f882cead
--- /dev/null
+++ b/Lang/PL-I/Boolean-values
@@ -0,0 +1 @@
+../../Task/Boolean-values/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Caesar-cipher b/Lang/PL-I/Caesar-cipher
new file mode 120000
index 0000000000..6f7b901eb1
--- /dev/null
+++ b/Lang/PL-I/Caesar-cipher
@@ -0,0 +1 @@
+../../Task/Caesar-cipher/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Calendar b/Lang/PL-I/Calendar
new file mode 120000
index 0000000000..3f6ff0dbf3
--- /dev/null
+++ b/Lang/PL-I/Calendar
@@ -0,0 +1 @@
+../../Task/Calendar/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Call-a-foreign-language-function b/Lang/PL-I/Call-a-foreign-language-function
new file mode 120000
index 0000000000..1f3c6f32ad
--- /dev/null
+++ b/Lang/PL-I/Call-a-foreign-language-function
@@ -0,0 +1 @@
+../../Task/Call-a-foreign-language-function/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Character-codes b/Lang/PL-I/Character-codes
new file mode 120000
index 0000000000..23f8ff800c
--- /dev/null
+++ b/Lang/PL-I/Character-codes
@@ -0,0 +1 @@
+../../Task/Character-codes/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Character-matching b/Lang/PL-I/Character-matching
new file mode 120000
index 0000000000..5d164a3541
--- /dev/null
+++ b/Lang/PL-I/Character-matching
@@ -0,0 +1 @@
+../../Task/Character-matching/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Closest-pair-problem b/Lang/PL-I/Closest-pair-problem
new file mode 120000
index 0000000000..1103b7e791
--- /dev/null
+++ b/Lang/PL-I/Closest-pair-problem
@@ -0,0 +1 @@
+../../Task/Closest-pair-problem/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Collections b/Lang/PL-I/Collections
new file mode 120000
index 0000000000..6773fd1429
--- /dev/null
+++ b/Lang/PL-I/Collections
@@ -0,0 +1 @@
+../../Task/Collections/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Command-line-arguments b/Lang/PL-I/Command-line-arguments
new file mode 120000
index 0000000000..1ba6eef245
--- /dev/null
+++ b/Lang/PL-I/Command-line-arguments
@@ -0,0 +1 @@
+../../Task/Command-line-arguments/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Comments b/Lang/PL-I/Comments
new file mode 120000
index 0000000000..4d96140d76
--- /dev/null
+++ b/Lang/PL-I/Comments
@@ -0,0 +1 @@
+../../Task/Comments/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Compile-time-calculation b/Lang/PL-I/Compile-time-calculation
new file mode 120000
index 0000000000..972315998e
--- /dev/null
+++ b/Lang/PL-I/Compile-time-calculation
@@ -0,0 +1 @@
+../../Task/Compile-time-calculation/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Compound-data-type b/Lang/PL-I/Compound-data-type
new file mode 120000
index 0000000000..51f306028f
--- /dev/null
+++ b/Lang/PL-I/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Conditional-structures b/Lang/PL-I/Conditional-structures
new file mode 120000
index 0000000000..f8b171e18f
--- /dev/null
+++ b/Lang/PL-I/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Constrained-random-points-on-a-circle b/Lang/PL-I/Constrained-random-points-on-a-circle
new file mode 120000
index 0000000000..1fb902edc1
--- /dev/null
+++ b/Lang/PL-I/Constrained-random-points-on-a-circle
@@ -0,0 +1 @@
+../../Task/Constrained-random-points-on-a-circle/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Continued-fraction b/Lang/PL-I/Continued-fraction
new file mode 120000
index 0000000000..8089bdd790
--- /dev/null
+++ b/Lang/PL-I/Continued-fraction
@@ -0,0 +1 @@
+../../Task/Continued-fraction/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Count-in-factors b/Lang/PL-I/Count-in-factors
new file mode 120000
index 0000000000..9db506fb78
--- /dev/null
+++ b/Lang/PL-I/Count-in-factors
@@ -0,0 +1 @@
+../../Task/Count-in-factors/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Count-in-octal b/Lang/PL-I/Count-in-octal
new file mode 120000
index 0000000000..f2189a18ff
--- /dev/null
+++ b/Lang/PL-I/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Count-occurrences-of-a-substring b/Lang/PL-I/Count-occurrences-of-a-substring
new file mode 120000
index 0000000000..11b4e2a9d1
--- /dev/null
+++ b/Lang/PL-I/Count-occurrences-of-a-substring
@@ -0,0 +1 @@
+../../Task/Count-occurrences-of-a-substring/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Create-a-file b/Lang/PL-I/Create-a-file
new file mode 120000
index 0000000000..bff0770d0f
--- /dev/null
+++ b/Lang/PL-I/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Create-a-two-dimensional-array-at-runtime b/Lang/PL-I/Create-a-two-dimensional-array-at-runtime
new file mode 120000
index 0000000000..2f83a3a393
--- /dev/null
+++ b/Lang/PL-I/Create-a-two-dimensional-array-at-runtime
@@ -0,0 +1 @@
+../../Task/Create-a-two-dimensional-array-at-runtime/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Create-an-HTML-table b/Lang/PL-I/Create-an-HTML-table
new file mode 120000
index 0000000000..33d7181114
--- /dev/null
+++ b/Lang/PL-I/Create-an-HTML-table
@@ -0,0 +1 @@
+../../Task/Create-an-HTML-table/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Date-format b/Lang/PL-I/Date-format
new file mode 120000
index 0000000000..f6206b18ea
--- /dev/null
+++ b/Lang/PL-I/Date-format
@@ -0,0 +1 @@
+../../Task/Date-format/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Date-manipulation b/Lang/PL-I/Date-manipulation
new file mode 120000
index 0000000000..6a09dcfba1
--- /dev/null
+++ b/Lang/PL-I/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Day-of-the-week b/Lang/PL-I/Day-of-the-week
new file mode 120000
index 0000000000..c1675962a9
--- /dev/null
+++ b/Lang/PL-I/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Detect-division-by-zero b/Lang/PL-I/Detect-division-by-zero
new file mode 120000
index 0000000000..81ffe6352f
--- /dev/null
+++ b/Lang/PL-I/Detect-division-by-zero
@@ -0,0 +1 @@
+../../Task/Detect-division-by-zero/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Determine-if-a-string-is-numeric b/Lang/PL-I/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..6be8d84e8e
--- /dev/null
+++ b/Lang/PL-I/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Digital-root b/Lang/PL-I/Digital-root
new file mode 120000
index 0000000000..31be1c0095
--- /dev/null
+++ b/Lang/PL-I/Digital-root
@@ -0,0 +1 @@
+../../Task/Digital-root/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Dot-product b/Lang/PL-I/Dot-product
new file mode 120000
index 0000000000..1844294083
--- /dev/null
+++ b/Lang/PL-I/Dot-product
@@ -0,0 +1 @@
+../../Task/Dot-product/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Doubly-linked-list-Definition b/Lang/PL-I/Doubly-linked-list-Definition
new file mode 120000
index 0000000000..d1c6d65726
--- /dev/null
+++ b/Lang/PL-I/Doubly-linked-list-Definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Definition/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Doubly-linked-list-Element-definition b/Lang/PL-I/Doubly-linked-list-Element-definition
new file mode 120000
index 0000000000..e1fca8ecbb
--- /dev/null
+++ b/Lang/PL-I/Doubly-linked-list-Element-definition
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-definition/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Doubly-linked-list-Element-insertion b/Lang/PL-I/Doubly-linked-list-Element-insertion
new file mode 120000
index 0000000000..2674a1fa47
--- /dev/null
+++ b/Lang/PL-I/Doubly-linked-list-Element-insertion
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Element-insertion/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Doubly-linked-list-Traversal b/Lang/PL-I/Doubly-linked-list-Traversal
new file mode 120000
index 0000000000..47e7a1b37c
--- /dev/null
+++ b/Lang/PL-I/Doubly-linked-list-Traversal
@@ -0,0 +1 @@
+../../Task/Doubly-linked-list-Traversal/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Element-wise-operations b/Lang/PL-I/Element-wise-operations
new file mode 120000
index 0000000000..1770f316c1
--- /dev/null
+++ b/Lang/PL-I/Element-wise-operations
@@ -0,0 +1 @@
+../../Task/Element-wise-operations/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Empty-program b/Lang/PL-I/Empty-program
new file mode 120000
index 0000000000..e7db9d2a14
--- /dev/null
+++ b/Lang/PL-I/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Empty-string b/Lang/PL-I/Empty-string
new file mode 120000
index 0000000000..1d1ef0be3a
--- /dev/null
+++ b/Lang/PL-I/Empty-string
@@ -0,0 +1 @@
+../../Task/Empty-string/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Enumerations b/Lang/PL-I/Enumerations
new file mode 120000
index 0000000000..bc273df834
--- /dev/null
+++ b/Lang/PL-I/Enumerations
@@ -0,0 +1 @@
+../../Task/Enumerations/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Ethiopian-multiplication b/Lang/PL-I/Ethiopian-multiplication
new file mode 120000
index 0000000000..4639bcb13a
--- /dev/null
+++ b/Lang/PL-I/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Euler-method b/Lang/PL-I/Euler-method
new file mode 120000
index 0000000000..37581206fa
--- /dev/null
+++ b/Lang/PL-I/Euler-method
@@ -0,0 +1 @@
+../../Task/Euler-method/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Evaluate-binomial-coefficients b/Lang/PL-I/Evaluate-binomial-coefficients
new file mode 120000
index 0000000000..fa0aaa2e6c
--- /dev/null
+++ b/Lang/PL-I/Evaluate-binomial-coefficients
@@ -0,0 +1 @@
+../../Task/Evaluate-binomial-coefficients/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Even-or-odd b/Lang/PL-I/Even-or-odd
new file mode 120000
index 0000000000..ed38e4ff46
--- /dev/null
+++ b/Lang/PL-I/Even-or-odd
@@ -0,0 +1 @@
+../../Task/Even-or-odd/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Exceptions b/Lang/PL-I/Exceptions
new file mode 120000
index 0000000000..41ace666de
--- /dev/null
+++ b/Lang/PL-I/Exceptions
@@ -0,0 +1 @@
+../../Task/Exceptions/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/PL-I/Exceptions-Catch-an-exception-thrown-in-a-nested-call
new file mode 120000
index 0000000000..6c10b18604
--- /dev/null
+++ b/Lang/PL-I/Exceptions-Catch-an-exception-thrown-in-a-nested-call
@@ -0,0 +1 @@
+../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Exponentiation-operator b/Lang/PL-I/Exponentiation-operator
new file mode 120000
index 0000000000..0706e92f4f
--- /dev/null
+++ b/Lang/PL-I/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Factorial b/Lang/PL-I/Factorial
new file mode 120000
index 0000000000..f21c644027
--- /dev/null
+++ b/Lang/PL-I/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Factors-of-an-integer b/Lang/PL-I/Factors-of-an-integer
new file mode 120000
index 0000000000..fce873b4f4
--- /dev/null
+++ b/Lang/PL-I/Factors-of-an-integer
@@ -0,0 +1 @@
+../../Task/Factors-of-an-integer/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Fast-Fourier-transform b/Lang/PL-I/Fast-Fourier-transform
new file mode 120000
index 0000000000..254156f9f9
--- /dev/null
+++ b/Lang/PL-I/Fast-Fourier-transform
@@ -0,0 +1 @@
+../../Task/Fast-Fourier-transform/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Fibonacci-n-step-number-sequences b/Lang/PL-I/Fibonacci-n-step-number-sequences
new file mode 120000
index 0000000000..430af7e2b4
--- /dev/null
+++ b/Lang/PL-I/Fibonacci-n-step-number-sequences
@@ -0,0 +1 @@
+../../Task/Fibonacci-n-step-number-sequences/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Fibonacci-sequence b/Lang/PL-I/Fibonacci-sequence
new file mode 120000
index 0000000000..134c09f6b9
--- /dev/null
+++ b/Lang/PL-I/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/File-IO b/Lang/PL-I/File-IO
new file mode 120000
index 0000000000..b7f65e9299
--- /dev/null
+++ b/Lang/PL-I/File-IO
@@ -0,0 +1 @@
+../../Task/File-IO/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/File-size b/Lang/PL-I/File-size
new file mode 120000
index 0000000000..72c3dfeea3
--- /dev/null
+++ b/Lang/PL-I/File-size
@@ -0,0 +1 @@
+../../Task/File-size/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Find-limit-of-recursion b/Lang/PL-I/Find-limit-of-recursion
new file mode 120000
index 0000000000..3fb2a6d568
--- /dev/null
+++ b/Lang/PL-I/Find-limit-of-recursion
@@ -0,0 +1 @@
+../../Task/Find-limit-of-recursion/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Five-weekends b/Lang/PL-I/Five-weekends
new file mode 120000
index 0000000000..8e3631a72d
--- /dev/null
+++ b/Lang/PL-I/Five-weekends
@@ -0,0 +1 @@
+../../Task/Five-weekends/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/FizzBuzz b/Lang/PL-I/FizzBuzz
new file mode 120000
index 0000000000..c2ea1c3f57
--- /dev/null
+++ b/Lang/PL-I/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Flatten-a-list b/Lang/PL-I/Flatten-a-list
new file mode 120000
index 0000000000..38487aac0a
--- /dev/null
+++ b/Lang/PL-I/Flatten-a-list
@@ -0,0 +1 @@
+../../Task/Flatten-a-list/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Flow-control-structures b/Lang/PL-I/Flow-control-structures
new file mode 120000
index 0000000000..e536a4b6c5
--- /dev/null
+++ b/Lang/PL-I/Flow-control-structures
@@ -0,0 +1 @@
+../../Task/Flow-control-structures/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Floyds-triangle b/Lang/PL-I/Floyds-triangle
new file mode 120000
index 0000000000..97d1d7088a
--- /dev/null
+++ b/Lang/PL-I/Floyds-triangle
@@ -0,0 +1 @@
+../../Task/Floyds-triangle/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Fork b/Lang/PL-I/Fork
new file mode 120000
index 0000000000..8eed126e75
--- /dev/null
+++ b/Lang/PL-I/Fork
@@ -0,0 +1 @@
+../../Task/Fork/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Formatted-numeric-output b/Lang/PL-I/Formatted-numeric-output
new file mode 120000
index 0000000000..a1a65e63c0
--- /dev/null
+++ b/Lang/PL-I/Formatted-numeric-output
@@ -0,0 +1 @@
+../../Task/Formatted-numeric-output/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Forward-difference b/Lang/PL-I/Forward-difference
new file mode 120000
index 0000000000..15e7829d13
--- /dev/null
+++ b/Lang/PL-I/Forward-difference
@@ -0,0 +1 @@
+../../Task/Forward-difference/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Four-bit-adder b/Lang/PL-I/Four-bit-adder
new file mode 120000
index 0000000000..44547fe3b0
--- /dev/null
+++ b/Lang/PL-I/Four-bit-adder
@@ -0,0 +1 @@
+../../Task/Four-bit-adder/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Function-definition b/Lang/PL-I/Function-definition
new file mode 120000
index 0000000000..32af8a8b1b
--- /dev/null
+++ b/Lang/PL-I/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Gamma-function b/Lang/PL-I/Gamma-function
new file mode 120000
index 0000000000..5aeef5070f
--- /dev/null
+++ b/Lang/PL-I/Gamma-function
@@ -0,0 +1 @@
+../../Task/Gamma-function/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Generic-swap b/Lang/PL-I/Generic-swap
new file mode 120000
index 0000000000..25fb0015c7
--- /dev/null
+++ b/Lang/PL-I/Generic-swap
@@ -0,0 +1 @@
+../../Task/Generic-swap/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Grayscale-image b/Lang/PL-I/Grayscale-image
new file mode 120000
index 0000000000..740104558a
--- /dev/null
+++ b/Lang/PL-I/Grayscale-image
@@ -0,0 +1 @@
+../../Task/Grayscale-image/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Greatest-common-divisor b/Lang/PL-I/Greatest-common-divisor
new file mode 120000
index 0000000000..8af259ce80
--- /dev/null
+++ b/Lang/PL-I/Greatest-common-divisor
@@ -0,0 +1 @@
+../../Task/Greatest-common-divisor/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Greatest-element-of-a-list b/Lang/PL-I/Greatest-element-of-a-list
new file mode 120000
index 0000000000..4c1403e153
--- /dev/null
+++ b/Lang/PL-I/Greatest-element-of-a-list
@@ -0,0 +1 @@
+../../Task/Greatest-element-of-a-list/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Hailstone-sequence b/Lang/PL-I/Hailstone-sequence
new file mode 120000
index 0000000000..53440c4370
--- /dev/null
+++ b/Lang/PL-I/Hailstone-sequence
@@ -0,0 +1 @@
+../../Task/Hailstone-sequence/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Handle-a-signal b/Lang/PL-I/Handle-a-signal
new file mode 120000
index 0000000000..4567fd42e2
--- /dev/null
+++ b/Lang/PL-I/Handle-a-signal
@@ -0,0 +1 @@
+../../Task/Handle-a-signal/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Happy-numbers b/Lang/PL-I/Happy-numbers
new file mode 120000
index 0000000000..9babae7438
--- /dev/null
+++ b/Lang/PL-I/Happy-numbers
@@ -0,0 +1 @@
+../../Task/Happy-numbers/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Hello-world-Line-printer b/Lang/PL-I/Hello-world-Line-printer
new file mode 120000
index 0000000000..aac2fb3562
--- /dev/null
+++ b/Lang/PL-I/Hello-world-Line-printer
@@ -0,0 +1 @@
+../../Task/Hello-world-Line-printer/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Hello-world-Newline-omission b/Lang/PL-I/Hello-world-Newline-omission
new file mode 120000
index 0000000000..598fccbf79
--- /dev/null
+++ b/Lang/PL-I/Hello-world-Newline-omission
@@ -0,0 +1 @@
+../../Task/Hello-world-Newline-omission/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Hello-world-Standard-error b/Lang/PL-I/Hello-world-Standard-error
new file mode 120000
index 0000000000..73a48c5485
--- /dev/null
+++ b/Lang/PL-I/Hello-world-Standard-error
@@ -0,0 +1 @@
+../../Task/Hello-world-Standard-error/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Hello-world-Text b/Lang/PL-I/Hello-world-Text
new file mode 120000
index 0000000000..0b7372aa1d
--- /dev/null
+++ b/Lang/PL-I/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Higher-order-functions b/Lang/PL-I/Higher-order-functions
new file mode 120000
index 0000000000..6660c2b257
--- /dev/null
+++ b/Lang/PL-I/Higher-order-functions
@@ -0,0 +1 @@
+../../Task/Higher-order-functions/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/History-variables b/Lang/PL-I/History-variables
new file mode 120000
index 0000000000..54d3e0c35a
--- /dev/null
+++ b/Lang/PL-I/History-variables
@@ -0,0 +1 @@
+../../Task/History-variables/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Hofstadter-Conway-$10,000-sequence b/Lang/PL-I/Hofstadter-Conway-$10,000-sequence
new file mode 120000
index 0000000000..943036f015
--- /dev/null
+++ b/Lang/PL-I/Hofstadter-Conway-$10,000-sequence
@@ -0,0 +1 @@
+../../Task/Hofstadter-Conway-$10,000-sequence/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Hofstadter-Figure-Figure-sequences b/Lang/PL-I/Hofstadter-Figure-Figure-sequences
new file mode 120000
index 0000000000..752e5ec3a1
--- /dev/null
+++ b/Lang/PL-I/Hofstadter-Figure-Figure-sequences
@@ -0,0 +1 @@
+../../Task/Hofstadter-Figure-Figure-sequences/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Hofstadter-Q-sequence b/Lang/PL-I/Hofstadter-Q-sequence
new file mode 120000
index 0000000000..1bd4a6d4f5
--- /dev/null
+++ b/Lang/PL-I/Hofstadter-Q-sequence
@@ -0,0 +1 @@
+../../Task/Hofstadter-Q-sequence/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Horners-rule-for-polynomial-evaluation b/Lang/PL-I/Horners-rule-for-polynomial-evaluation
new file mode 120000
index 0000000000..cd28d8edc7
--- /dev/null
+++ b/Lang/PL-I/Horners-rule-for-polynomial-evaluation
@@ -0,0 +1 @@
+../../Task/Horners-rule-for-polynomial-evaluation/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Host-introspection b/Lang/PL-I/Host-introspection
new file mode 120000
index 0000000000..0c31cbdfcf
--- /dev/null
+++ b/Lang/PL-I/Host-introspection
@@ -0,0 +1 @@
+../../Task/Host-introspection/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Identity-matrix b/Lang/PL-I/Identity-matrix
new file mode 120000
index 0000000000..f3215fd2ba
--- /dev/null
+++ b/Lang/PL-I/Identity-matrix
@@ -0,0 +1 @@
+../../Task/Identity-matrix/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Include-a-file b/Lang/PL-I/Include-a-file
new file mode 120000
index 0000000000..f977418ced
--- /dev/null
+++ b/Lang/PL-I/Include-a-file
@@ -0,0 +1 @@
+../../Task/Include-a-file/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Increment-a-numerical-string b/Lang/PL-I/Increment-a-numerical-string
new file mode 120000
index 0000000000..5eb90ef16d
--- /dev/null
+++ b/Lang/PL-I/Increment-a-numerical-string
@@ -0,0 +1 @@
+../../Task/Increment-a-numerical-string/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Infinity b/Lang/PL-I/Infinity
new file mode 120000
index 0000000000..6d1730b15b
--- /dev/null
+++ b/Lang/PL-I/Infinity
@@ -0,0 +1 @@
+../../Task/Infinity/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Input-loop b/Lang/PL-I/Input-loop
new file mode 120000
index 0000000000..ac281810c3
--- /dev/null
+++ b/Lang/PL-I/Input-loop
@@ -0,0 +1 @@
+../../Task/Input-loop/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Integer-comparison b/Lang/PL-I/Integer-comparison
new file mode 120000
index 0000000000..c8e306a2a7
--- /dev/null
+++ b/Lang/PL-I/Integer-comparison
@@ -0,0 +1 @@
+../../Task/Integer-comparison/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Integer-sequence b/Lang/PL-I/Integer-sequence
new file mode 120000
index 0000000000..05f3825724
--- /dev/null
+++ b/Lang/PL-I/Integer-sequence
@@ -0,0 +1 @@
+../../Task/Integer-sequence/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Introspection b/Lang/PL-I/Introspection
new file mode 120000
index 0000000000..23565f4dff
--- /dev/null
+++ b/Lang/PL-I/Introspection
@@ -0,0 +1 @@
+../../Task/Introspection/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Kaprekar-numbers b/Lang/PL-I/Kaprekar-numbers
new file mode 120000
index 0000000000..ebc365d8d6
--- /dev/null
+++ b/Lang/PL-I/Kaprekar-numbers
@@ -0,0 +1 @@
+../../Task/Kaprekar-numbers/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Knuth-shuffle b/Lang/PL-I/Knuth-shuffle
new file mode 120000
index 0000000000..a5fa688feb
--- /dev/null
+++ b/Lang/PL-I/Knuth-shuffle
@@ -0,0 +1 @@
+../../Task/Knuth-shuffle/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Last-Friday-of-each-month b/Lang/PL-I/Last-Friday-of-each-month
new file mode 120000
index 0000000000..93798a1280
--- /dev/null
+++ b/Lang/PL-I/Last-Friday-of-each-month
@@ -0,0 +1 @@
+../../Task/Last-Friday-of-each-month/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Leap-year b/Lang/PL-I/Leap-year
new file mode 120000
index 0000000000..a205431352
--- /dev/null
+++ b/Lang/PL-I/Leap-year
@@ -0,0 +1 @@
+../../Task/Leap-year/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Letter-frequency b/Lang/PL-I/Letter-frequency
new file mode 120000
index 0000000000..bccb3c8931
--- /dev/null
+++ b/Lang/PL-I/Letter-frequency
@@ -0,0 +1 @@
+../../Task/Letter-frequency/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Linear-congruential-generator b/Lang/PL-I/Linear-congruential-generator
new file mode 120000
index 0000000000..3d8eee30f2
--- /dev/null
+++ b/Lang/PL-I/Linear-congruential-generator
@@ -0,0 +1 @@
+../../Task/Linear-congruential-generator/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Literals-Floating-point b/Lang/PL-I/Literals-Floating-point
new file mode 120000
index 0000000000..bccd63b708
--- /dev/null
+++ b/Lang/PL-I/Literals-Floating-point
@@ -0,0 +1 @@
+../../Task/Literals-Floating-point/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Literals-Integer b/Lang/PL-I/Literals-Integer
new file mode 120000
index 0000000000..0720e7dd52
--- /dev/null
+++ b/Lang/PL-I/Literals-Integer
@@ -0,0 +1 @@
+../../Task/Literals-Integer/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Literals-String b/Lang/PL-I/Literals-String
new file mode 120000
index 0000000000..4d2a68e579
--- /dev/null
+++ b/Lang/PL-I/Literals-String
@@ -0,0 +1 @@
+../../Task/Literals-String/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Logical-operations b/Lang/PL-I/Logical-operations
new file mode 120000
index 0000000000..c8e089b8c6
--- /dev/null
+++ b/Lang/PL-I/Logical-operations
@@ -0,0 +1 @@
+../../Task/Logical-operations/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Long-multiplication b/Lang/PL-I/Long-multiplication
new file mode 120000
index 0000000000..5246cde0f0
--- /dev/null
+++ b/Lang/PL-I/Long-multiplication
@@ -0,0 +1 @@
+../../Task/Long-multiplication/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Longest-string-challenge b/Lang/PL-I/Longest-string-challenge
new file mode 120000
index 0000000000..89e5ae15a0
--- /dev/null
+++ b/Lang/PL-I/Longest-string-challenge
@@ -0,0 +1 @@
+../../Task/Longest-string-challenge/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Loop-over-multiple-arrays-simultaneously b/Lang/PL-I/Loop-over-multiple-arrays-simultaneously
new file mode 120000
index 0000000000..f8a4a88af6
--- /dev/null
+++ b/Lang/PL-I/Loop-over-multiple-arrays-simultaneously
@@ -0,0 +1 @@
+../../Task/Loop-over-multiple-arrays-simultaneously/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Loops-Break b/Lang/PL-I/Loops-Break
new file mode 120000
index 0000000000..aaca20c5ae
--- /dev/null
+++ b/Lang/PL-I/Loops-Break
@@ -0,0 +1 @@
+../../Task/Loops-Break/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Loops-Continue b/Lang/PL-I/Loops-Continue
new file mode 120000
index 0000000000..c7b3c80836
--- /dev/null
+++ b/Lang/PL-I/Loops-Continue
@@ -0,0 +1 @@
+../../Task/Loops-Continue/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Loops-Do-while b/Lang/PL-I/Loops-Do-while
new file mode 120000
index 0000000000..fe89cdc3c7
--- /dev/null
+++ b/Lang/PL-I/Loops-Do-while
@@ -0,0 +1 @@
+../../Task/Loops-Do-while/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Loops-Downward-for b/Lang/PL-I/Loops-Downward-for
new file mode 120000
index 0000000000..71071b6eab
--- /dev/null
+++ b/Lang/PL-I/Loops-Downward-for
@@ -0,0 +1 @@
+../../Task/Loops-Downward-for/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Loops-For b/Lang/PL-I/Loops-For
new file mode 120000
index 0000000000..b721fb37c9
--- /dev/null
+++ b/Lang/PL-I/Loops-For
@@ -0,0 +1 @@
+../../Task/Loops-For/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Loops-For-with-a-specified-step b/Lang/PL-I/Loops-For-with-a-specified-step
new file mode 120000
index 0000000000..67e14b183e
--- /dev/null
+++ b/Lang/PL-I/Loops-For-with-a-specified-step
@@ -0,0 +1 @@
+../../Task/Loops-For-with-a-specified-step/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Loops-Foreach b/Lang/PL-I/Loops-Foreach
new file mode 120000
index 0000000000..7675baf0da
--- /dev/null
+++ b/Lang/PL-I/Loops-Foreach
@@ -0,0 +1 @@
+../../Task/Loops-Foreach/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Loops-Infinite b/Lang/PL-I/Loops-Infinite
new file mode 120000
index 0000000000..0ea75afd4b
--- /dev/null
+++ b/Lang/PL-I/Loops-Infinite
@@ -0,0 +1 @@
+../../Task/Loops-Infinite/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Loops-N-plus-one-half b/Lang/PL-I/Loops-N-plus-one-half
new file mode 120000
index 0000000000..589096fe2c
--- /dev/null
+++ b/Lang/PL-I/Loops-N-plus-one-half
@@ -0,0 +1 @@
+../../Task/Loops-N-plus-one-half/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Loops-Nested b/Lang/PL-I/Loops-Nested
new file mode 120000
index 0000000000..4b1d4b4f7c
--- /dev/null
+++ b/Lang/PL-I/Loops-Nested
@@ -0,0 +1 @@
+../../Task/Loops-Nested/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Loops-While b/Lang/PL-I/Loops-While
new file mode 120000
index 0000000000..79cc0c17c7
--- /dev/null
+++ b/Lang/PL-I/Loops-While
@@ -0,0 +1 @@
+../../Task/Loops-While/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Luhn-test-of-credit-card-numbers b/Lang/PL-I/Luhn-test-of-credit-card-numbers
new file mode 120000
index 0000000000..708359ab7d
--- /dev/null
+++ b/Lang/PL-I/Luhn-test-of-credit-card-numbers
@@ -0,0 +1 @@
+../../Task/Luhn-test-of-credit-card-numbers/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Map-range b/Lang/PL-I/Map-range
new file mode 120000
index 0000000000..ab65dc6af2
--- /dev/null
+++ b/Lang/PL-I/Map-range
@@ -0,0 +1 @@
+../../Task/Map-range/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Matrix-multiplication b/Lang/PL-I/Matrix-multiplication
new file mode 120000
index 0000000000..c8e44c1635
--- /dev/null
+++ b/Lang/PL-I/Matrix-multiplication
@@ -0,0 +1 @@
+../../Task/Matrix-multiplication/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Matrix-transposition b/Lang/PL-I/Matrix-transposition
new file mode 120000
index 0000000000..47e3a317c1
--- /dev/null
+++ b/Lang/PL-I/Matrix-transposition
@@ -0,0 +1 @@
+../../Task/Matrix-transposition/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Memory-allocation b/Lang/PL-I/Memory-allocation
new file mode 120000
index 0000000000..365b9c5bbf
--- /dev/null
+++ b/Lang/PL-I/Memory-allocation
@@ -0,0 +1 @@
+../../Task/Memory-allocation/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Memory-layout-of-a-data-structure b/Lang/PL-I/Memory-layout-of-a-data-structure
new file mode 120000
index 0000000000..da88dcea9b
--- /dev/null
+++ b/Lang/PL-I/Memory-layout-of-a-data-structure
@@ -0,0 +1 @@
+../../Task/Memory-layout-of-a-data-structure/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Menu b/Lang/PL-I/Menu
new file mode 120000
index 0000000000..c515d97b1e
--- /dev/null
+++ b/Lang/PL-I/Menu
@@ -0,0 +1 @@
+../../Task/Menu/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Morse-code b/Lang/PL-I/Morse-code
new file mode 120000
index 0000000000..c684348d1a
--- /dev/null
+++ b/Lang/PL-I/Morse-code
@@ -0,0 +1 @@
+../../Task/Morse-code/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Multiplication-tables b/Lang/PL-I/Multiplication-tables
new file mode 120000
index 0000000000..105fefafec
--- /dev/null
+++ b/Lang/PL-I/Multiplication-tables
@@ -0,0 +1 @@
+../../Task/Multiplication-tables/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Mutual-recursion b/Lang/PL-I/Mutual-recursion
new file mode 120000
index 0000000000..a63f1dfd3a
--- /dev/null
+++ b/Lang/PL-I/Mutual-recursion
@@ -0,0 +1 @@
+../../Task/Mutual-recursion/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Ordered-words b/Lang/PL-I/Ordered-words
new file mode 120000
index 0000000000..3c13e87942
--- /dev/null
+++ b/Lang/PL-I/Ordered-words
@@ -0,0 +1 @@
+../../Task/Ordered-words/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Pi b/Lang/PL-I/Pi
new file mode 120000
index 0000000000..50dbc9e36d
--- /dev/null
+++ b/Lang/PL-I/Pi
@@ -0,0 +1 @@
+../../Task/Pi/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Quine b/Lang/PL-I/Quine
new file mode 120000
index 0000000000..ee9c0b6a24
--- /dev/null
+++ b/Lang/PL-I/Quine
@@ -0,0 +1 @@
+../../Task/Quine/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Search-a-list b/Lang/PL-I/Search-a-list
new file mode 120000
index 0000000000..6d2f7cfa2a
--- /dev/null
+++ b/Lang/PL-I/Search-a-list
@@ -0,0 +1 @@
+../../Task/Search-a-list/PL-I
\ No newline at end of file
diff --git a/Lang/PL-M/0DESCRIPTION b/Lang/PL-M/0DESCRIPTION
new file mode 100644
index 0000000000..f66cf163bf
--- /dev/null
+++ b/Lang/PL-M/0DESCRIPTION
@@ -0,0 +1 @@
+{{language}}{{stub}}
\ No newline at end of file
diff --git a/Lang/PL-SQL/0DESCRIPTION b/Lang/PL-SQL/0DESCRIPTION
new file mode 100644
index 0000000000..81d408ebd7
--- /dev/null
+++ b/Lang/PL-SQL/0DESCRIPTION
@@ -0,0 +1,3 @@
+{{language|PL/SQL}}{{implementation|SQL}}'''PL/SQL''' (Procedural Language/Structured Query Language) is Oracle Corporation's proprietary server-based procedural extension to the [[SQL]] database language. (Some other SQL database management systems offer languages similar to PL/SQL.) Its syntax strongly resembles that of [[Ada]].
+==Citations==
+* [http://en.wikipedia.org/wiki/PL/SQL Wikipedia:PL/SQL]
\ No newline at end of file
diff --git a/Lang/PL-SQL/Apply-a-callback-to-an-array b/Lang/PL-SQL/Apply-a-callback-to-an-array
new file mode 120000
index 0000000000..8609c78776
--- /dev/null
+++ b/Lang/PL-SQL/Apply-a-callback-to-an-array
@@ -0,0 +1 @@
+../../Task/Apply-a-callback-to-an-array/PL-SQL
\ No newline at end of file
diff --git a/Lang/PL-SQL/Associative-array-Creation b/Lang/PL-SQL/Associative-array-Creation
new file mode 120000
index 0000000000..52f508b0a1
--- /dev/null
+++ b/Lang/PL-SQL/Associative-array-Creation
@@ -0,0 +1 @@
+../../Task/Associative-array-Creation/PL-SQL
\ No newline at end of file
diff --git a/Lang/PL-SQL/Call-an-object-method b/Lang/PL-SQL/Call-an-object-method
new file mode 120000
index 0000000000..d0f9d3c79b
--- /dev/null
+++ b/Lang/PL-SQL/Call-an-object-method
@@ -0,0 +1 @@
+../../Task/Call-an-object-method/PL-SQL
\ No newline at end of file
diff --git a/Lang/PL-SQL/Comments b/Lang/PL-SQL/Comments
new file mode 120000
index 0000000000..d05359aac5
--- /dev/null
+++ b/Lang/PL-SQL/Comments
@@ -0,0 +1 @@
+../../Task/Comments/PL-SQL
\ No newline at end of file
diff --git a/Lang/PL-SQL/Detect-division-by-zero b/Lang/PL-SQL/Detect-division-by-zero
new file mode 120000
index 0000000000..d16f90c149
--- /dev/null
+++ b/Lang/PL-SQL/Detect-division-by-zero
@@ -0,0 +1 @@
+../../Task/Detect-division-by-zero/PL-SQL
\ No newline at end of file
diff --git a/Lang/PL-SQL/Determine-if-a-string-is-numeric b/Lang/PL-SQL/Determine-if-a-string-is-numeric
new file mode 120000
index 0000000000..8b9a4c9fa5
--- /dev/null
+++ b/Lang/PL-SQL/Determine-if-a-string-is-numeric
@@ -0,0 +1 @@
+../../Task/Determine-if-a-string-is-numeric/PL-SQL
\ No newline at end of file
diff --git a/Lang/PL-SQL/Empty-program b/Lang/PL-SQL/Empty-program
new file mode 120000
index 0000000000..f9515d0445
--- /dev/null
+++ b/Lang/PL-SQL/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/PL-SQL
\ No newline at end of file
diff --git a/Lang/PL-SQL/Ethiopian-multiplication b/Lang/PL-SQL/Ethiopian-multiplication
new file mode 120000
index 0000000000..0bb70cc4b2
--- /dev/null
+++ b/Lang/PL-SQL/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/PL-SQL
\ No newline at end of file
diff --git a/Lang/PL-SQL/Fibonacci-sequence b/Lang/PL-SQL/Fibonacci-sequence
new file mode 120000
index 0000000000..4855a8ae8b
--- /dev/null
+++ b/Lang/PL-SQL/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/PL-SQL
\ No newline at end of file
diff --git a/Lang/PL-SQL/FizzBuzz b/Lang/PL-SQL/FizzBuzz
new file mode 120000
index 0000000000..c9c66efe08
--- /dev/null
+++ b/Lang/PL-SQL/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/PL-SQL
\ No newline at end of file
diff --git a/Lang/PL-SQL/Function-definition b/Lang/PL-SQL/Function-definition
new file mode 120000
index 0000000000..b2761730f6
--- /dev/null
+++ b/Lang/PL-SQL/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/PL-SQL
\ No newline at end of file
diff --git a/Lang/PL-SQL/Hostname b/Lang/PL-SQL/Hostname
new file mode 120000
index 0000000000..be798be66e
--- /dev/null
+++ b/Lang/PL-SQL/Hostname
@@ -0,0 +1 @@
+../../Task/Hostname/PL-SQL
\ No newline at end of file
diff --git a/Lang/PL-SQL/Jump-anywhere b/Lang/PL-SQL/Jump-anywhere
new file mode 120000
index 0000000000..deabe9de72
--- /dev/null
+++ b/Lang/PL-SQL/Jump-anywhere
@@ -0,0 +1 @@
+../../Task/Jump-anywhere/PL-SQL
\ No newline at end of file
diff --git a/Lang/PL-SQL/Luhn-test-of-credit-card-numbers b/Lang/PL-SQL/Luhn-test-of-credit-card-numbers
new file mode 120000
index 0000000000..edf426d13c
--- /dev/null
+++ b/Lang/PL-SQL/Luhn-test-of-credit-card-numbers
@@ -0,0 +1 @@
+../../Task/Luhn-test-of-credit-card-numbers/PL-SQL
\ No newline at end of file
diff --git a/Lang/PL-pgSQL/0DESCRIPTION b/Lang/PL-pgSQL/0DESCRIPTION
new file mode 100644
index 0000000000..f4ab223f78
--- /dev/null
+++ b/Lang/PL-pgSQL/0DESCRIPTION
@@ -0,0 +1,3 @@
+{{stub}}{{language|PL/pgSQL
+|site=http://www.postgresql.org/docs/current/static/plpgsql.html}}
+PL/pgSQL (Procedural Language/PostgreSQL Structured Query Language) is a full featured procedural language supported by the PostgreSQL ORDBMS. It closely resembles Oracle's [[PL/SQL]] language.
\ No newline at end of file
diff --git a/Lang/PLUS/0DESCRIPTION b/Lang/PLUS/0DESCRIPTION
new file mode 100644
index 0000000000..f66cf163bf
--- /dev/null
+++ b/Lang/PLUS/0DESCRIPTION
@@ -0,0 +1 @@
+{{language}}{{stub}}
\ No newline at end of file
diff --git a/Lang/PLZ-SYS/0DESCRIPTION b/Lang/PLZ-SYS/0DESCRIPTION
new file mode 100644
index 0000000000..f66cf163bf
--- /dev/null
+++ b/Lang/PLZ-SYS/0DESCRIPTION
@@ -0,0 +1 @@
+{{language}}{{stub}}
\ No newline at end of file
diff --git a/Lang/POV-Ray/0DESCRIPTION b/Lang/POV-Ray/0DESCRIPTION
new file mode 100644
index 0000000000..6dee331070
--- /dev/null
+++ b/Lang/POV-Ray/0DESCRIPTION
@@ -0,0 +1,12 @@
+{{language
+|exec=interpreted
+|site=http://www.povray.org
+|
+}}{{stub}}
+'''POV-Ray''' is a raytracer where images are specified in a description language. This description language also has programming constructs, making it a full-fledged programming language.
+
+==Citation==
+*[[wp:POV-Ray|Wikipedia: POV-Ray]]
+
+[[Category:Constructive Solid Geometry]]
+[[Category:Raytracing]]
\ No newline at end of file
diff --git a/Lang/POV-Ray/Death-Star b/Lang/POV-Ray/Death-Star
new file mode 120000
index 0000000000..d291519c14
--- /dev/null
+++ b/Lang/POV-Ray/Death-Star
@@ -0,0 +1 @@
+../../Task/Death-Star/POV-Ray
\ No newline at end of file
diff --git a/Lang/POV-Ray/Draw-a-cuboid b/Lang/POV-Ray/Draw-a-cuboid
new file mode 120000
index 0000000000..4a95db6bc9
--- /dev/null
+++ b/Lang/POV-Ray/Draw-a-cuboid
@@ -0,0 +1 @@
+../../Task/Draw-a-cuboid/POV-Ray
\ No newline at end of file
diff --git a/Lang/POV-Ray/Draw-a-sphere b/Lang/POV-Ray/Draw-a-sphere
new file mode 120000
index 0000000000..e87b82de8c
--- /dev/null
+++ b/Lang/POV-Ray/Draw-a-sphere
@@ -0,0 +1 @@
+../../Task/Draw-a-sphere/POV-Ray
\ No newline at end of file
diff --git a/Lang/POV-Ray/Fractal-tree b/Lang/POV-Ray/Fractal-tree
new file mode 120000
index 0000000000..57ac260e28
--- /dev/null
+++ b/Lang/POV-Ray/Fractal-tree
@@ -0,0 +1 @@
+../../Task/Fractal-tree/POV-Ray
\ No newline at end of file
diff --git a/Lang/PPC-Assembly/0DESCRIPTION b/Lang/PPC-Assembly/0DESCRIPTION
new file mode 100644
index 0000000000..95309450b0
--- /dev/null
+++ b/Lang/PPC-Assembly/0DESCRIPTION
@@ -0,0 +1 @@
+{{language}}{{assembler language}}{{stub}}
\ No newline at end of file
diff --git a/Lang/PPL/0DESCRIPTION b/Lang/PPL/0DESCRIPTION
new file mode 100644
index 0000000000..2390a89a3b
--- /dev/null
+++ b/Lang/PPL/0DESCRIPTION
@@ -0,0 +1,106 @@
+{{language
+|untyped=yes
+|site=http://www.ppl-lang.com}}
+{{language programming paradigm|object-oriented}}
+ArianeSoft PPL is a fast and easy-to-learn programming language that is fully [[object-oriented]]. PPL runs on [[Windows]] (XP and up) and Windows Mobile phones. Programs written for one system are 100% compatible with each supported platforms. PPL comes with a complete development environment on Windows.
+
+PPL has been in active development for more than six years now. It has been used by thousands of people all over the world. PPL has proven to be very stable, many projects have been developed with it.
+
+
+'''PPL 2 (Pocket Programming Language version 2)''' is an object-oriented programming language designed from the ground-up for Windows and Windows Mobile phones. It features:
+
+The PPL language syntax is a mixture of [[C]], [[Pascal]] and [[Basic]]. There are no variable types in PPL. Everything is fully transparent, from string to char to integer or double. Multi-dimensional arrays and multi-level matrices are supported while structures can be defined with specific fields sizes. Pointers can be used the same way the C language handles them. String manipulation is done transparently and allocated dynamically just like in Pascal or Basic. Linked-lists are an integral part of the variable system in PPL. You can easily create linked-list variables with arrays of different size or different structures in each element. Windows [[API]] functions are easy to access. Simply define the function, the number of input and output parameters and the interpreter will do all the necessary work including WideChar conversions.
+
+*Object Oriented framework
+*Temporary object creation and method calling (ex: PDialog("Hello World!").Message)
+*Syntax borrows the best from commonly used languages like C, [[C Sharp|C#]], Pascal and BASIC, so it's easy for all levels of developer to understand
+*Implements advanced constructs like Arrays, Linked Lists and Matrices
+*100% compatible with PPL v1.x procedural's syntax
+*Regular expressions
+
+
+The Perl 6 design process is about keeping what works in Perl 5, fixing what doesn't, and adding what's missing. That means there will be a few fundamental changes to the language, a large number of extensions to existing features, and a handful of completely new ideas. These modifications, enhancements, and innovations will work together to make the future Perl even more insanely great -- without, we hope, making it even more greatly insane.+ +Major new features include multiple dispatch, declarative classes, grammars, formal parameters to subroutines, type constraints on variables, lazy evaluation, junctions, meta-operators, and the ability to change Perl's syntax at will with hygienic macros and user-defined operators. + +There are several different implementations of Perl 6. They vary widely in design goals, degree of completeness, and current development activity. At present, the implementations closest to matching the specification are [[Pugs]], written in [[Haskell]] and primarily of historical interest, [[Rakudo]], built on the [http://www.parrot.org Parrot] virtual machine, and [[Niecza]], built on the .NET/[http://mono-project.com/ Mono] platform. + +
+ +— [http://www.suneido.com Suneido Home Page] \ No newline at end of file diff --git a/Lang/Suneido/99-Bottles-of-Beer b/Lang/Suneido/99-Bottles-of-Beer new file mode 120000 index 0000000000..45c8ebbf81 --- /dev/null +++ b/Lang/Suneido/99-Bottles-of-Beer @@ -0,0 +1 @@ +../../Task/99-Bottles-of-Beer/Suneido \ No newline at end of file diff --git a/Lang/Suneido/Animation b/Lang/Suneido/Animation new file mode 120000 index 0000000000..d823b1264f --- /dev/null +++ b/Lang/Suneido/Animation @@ -0,0 +1 @@ +../../Task/Animation/Suneido \ No newline at end of file diff --git a/Lang/Suneido/Arrays b/Lang/Suneido/Arrays new file mode 120000 index 0000000000..0fb8b72ec2 --- /dev/null +++ b/Lang/Suneido/Arrays @@ -0,0 +1 @@ +../../Task/Arrays/Suneido \ No newline at end of file diff --git a/Lang/Suneido/Date-format b/Lang/Suneido/Date-format new file mode 120000 index 0000000000..7d51d8e36d --- /dev/null +++ b/Lang/Suneido/Date-format @@ -0,0 +1 @@ +../../Task/Date-format/Suneido \ No newline at end of file diff --git a/Lang/Suneido/Day-of-the-week b/Lang/Suneido/Day-of-the-week new file mode 120000 index 0000000000..eaa7be6c89 --- /dev/null +++ b/Lang/Suneido/Day-of-the-week @@ -0,0 +1 @@ +../../Task/Day-of-the-week/Suneido \ No newline at end of file diff --git a/Lang/Suneido/Empty-program b/Lang/Suneido/Empty-program new file mode 120000 index 0000000000..1efae9ed6e --- /dev/null +++ b/Lang/Suneido/Empty-program @@ -0,0 +1 @@ +../../Task/Empty-program/Suneido \ No newline at end of file diff --git a/Lang/Suneido/Flatten-a-list b/Lang/Suneido/Flatten-a-list new file mode 120000 index 0000000000..2f510b8e97 --- /dev/null +++ b/Lang/Suneido/Flatten-a-list @@ -0,0 +1 @@ +../../Task/Flatten-a-list/Suneido \ No newline at end of file diff --git a/Lang/Suneido/Formatted-numeric-output b/Lang/Suneido/Formatted-numeric-output new file mode 120000 index 0000000000..b325f53c51 --- /dev/null +++ b/Lang/Suneido/Formatted-numeric-output @@ -0,0 +1 @@ +../../Task/Formatted-numeric-output/Suneido \ No newline at end of file diff --git a/Lang/Suneido/Hello-world-Text b/Lang/Suneido/Hello-world-Text new file mode 120000 index 0000000000..57ca4ade0f --- /dev/null +++ b/Lang/Suneido/Hello-world-Text @@ -0,0 +1 @@ +../../Task/Hello-world-Text/Suneido \ No newline at end of file diff --git a/Lang/Suneido/Loops-Break b/Lang/Suneido/Loops-Break new file mode 120000 index 0000000000..9a7c57cc59 --- /dev/null +++ b/Lang/Suneido/Loops-Break @@ -0,0 +1 @@ +../../Task/Loops-Break/Suneido \ No newline at end of file diff --git a/Lang/Suneido/Loops-Continue b/Lang/Suneido/Loops-Continue new file mode 120000 index 0000000000..efb452c9d4 --- /dev/null +++ b/Lang/Suneido/Loops-Continue @@ -0,0 +1 @@ +../../Task/Loops-Continue/Suneido \ No newline at end of file diff --git a/Lang/Suneido/Loops-Do-while b/Lang/Suneido/Loops-Do-while new file mode 120000 index 0000000000..bb6b7ee92c --- /dev/null +++ b/Lang/Suneido/Loops-Do-while @@ -0,0 +1 @@ +../../Task/Loops-Do-while/Suneido \ No newline at end of file diff --git a/Lang/Suneido/Loops-For b/Lang/Suneido/Loops-For new file mode 120000 index 0000000000..c619cf0f31 --- /dev/null +++ b/Lang/Suneido/Loops-For @@ -0,0 +1 @@ +../../Task/Loops-For/Suneido \ No newline at end of file diff --git a/Lang/Suneido/Loops-Foreach b/Lang/Suneido/Loops-Foreach new file mode 120000 index 0000000000..a3026cf482 --- /dev/null +++ b/Lang/Suneido/Loops-Foreach @@ -0,0 +1 @@ +../../Task/Loops-Foreach/Suneido \ No newline at end of file diff --git a/Lang/Suneido/Loops-While b/Lang/Suneido/Loops-While new file mode 120000 index 0000000000..81acf55fa5 --- /dev/null +++ b/Lang/Suneido/Loops-While @@ -0,0 +1 @@ +../../Task/Loops-While/Suneido \ No newline at end of file diff --git a/Lang/Suneido/MD5 b/Lang/Suneido/MD5 new file mode 120000 index 0000000000..177b91ecfd --- /dev/null +++ b/Lang/Suneido/MD5 @@ -0,0 +1 @@ +../../Task/MD5/Suneido \ No newline at end of file diff --git a/Lang/SuperCollider/0DESCRIPTION b/Lang/SuperCollider/0DESCRIPTION new file mode 100644 index 0000000000..2d33371297 --- /dev/null +++ b/Lang/SuperCollider/0DESCRIPTION @@ -0,0 +1,6 @@ +{{stub}}{{language +|checking=dynamic +|exec=interpreted +|site=http://supercollider.sourceforge.net/ +|LCT=no}}{{language programming paradigm|object-oriented}} +SuperCollider is an environment and programming language for real time audio synthesis and algorithmic composition. It provides an interpreted object-oriented language which functions as a network client to a state of the art, realtime sound synthesis server. \ No newline at end of file diff --git a/Lang/SuperCollider/Apply-a-callback-to-an-array b/Lang/SuperCollider/Apply-a-callback-to-an-array new file mode 120000 index 0000000000..9860577b2d --- /dev/null +++ b/Lang/SuperCollider/Apply-a-callback-to-an-array @@ -0,0 +1 @@ +../../Task/Apply-a-callback-to-an-array/SuperCollider \ No newline at end of file diff --git a/Lang/SuperCollider/Classes b/Lang/SuperCollider/Classes new file mode 120000 index 0000000000..b73d6da814 --- /dev/null +++ b/Lang/SuperCollider/Classes @@ -0,0 +1 @@ +../../Task/Classes/SuperCollider \ No newline at end of file diff --git a/Lang/SuperCollider/List-comprehensions b/Lang/SuperCollider/List-comprehensions new file mode 120000 index 0000000000..cfb74efccf --- /dev/null +++ b/Lang/SuperCollider/List-comprehensions @@ -0,0 +1 @@ +../../Task/List-comprehensions/SuperCollider \ No newline at end of file diff --git a/Lang/SuperCollider/Loop-over-multiple-arrays-simultaneously b/Lang/SuperCollider/Loop-over-multiple-arrays-simultaneously new file mode 120000 index 0000000000..aed1a15076 --- /dev/null +++ b/Lang/SuperCollider/Loop-over-multiple-arrays-simultaneously @@ -0,0 +1 @@ +../../Task/Loop-over-multiple-arrays-simultaneously/SuperCollider \ No newline at end of file diff --git a/Lang/Superbase-BASIC/0DESCRIPTION b/Lang/Superbase-BASIC/0DESCRIPTION new file mode 100644 index 0000000000..f66cf163bf --- /dev/null +++ b/Lang/Superbase-BASIC/0DESCRIPTION @@ -0,0 +1 @@ +{{language}}{{stub}} \ No newline at end of file diff --git a/Lang/Supernova/0DESCRIPTION b/Lang/Supernova/0DESCRIPTION new file mode 100644 index 0000000000..7de4c6258f --- /dev/null +++ b/Lang/Supernova/0DESCRIPTION @@ -0,0 +1,6 @@ +{{stub}}{{language +|Supernova +|site=http://supernova.sourceforge.net/ +}} + +The Supernova Programming language is a modern scripting language which presents the concept of programming with direct Fiction Description using Clear subset of pure Human Language (Arabic or English). \ No newline at end of file diff --git a/Lang/Supernova/Hello-world-Graphical b/Lang/Supernova/Hello-world-Graphical new file mode 120000 index 0000000000..24f7317d29 --- /dev/null +++ b/Lang/Supernova/Hello-world-Graphical @@ -0,0 +1 @@ +../../Task/Hello-world-Graphical/Supernova \ No newline at end of file diff --git a/Lang/SystemVerilog/0DESCRIPTION b/Lang/SystemVerilog/0DESCRIPTION new file mode 100644 index 0000000000..f48711226e --- /dev/null +++ b/Lang/SystemVerilog/0DESCRIPTION @@ -0,0 +1,25 @@ +{{language|SystemVerilog +|site=http://www.systemverilog.org/ +}} is a language used for hardware design and verification. It is defined by IEEE standard 1800-2005, which extends the hardware description language Verilog (IEEE 1364-2001). SystemVerilog has strong support for concurrency, but though the execution model is based on a single thread that provides the illusion of concurrency via a simulation model known as two-list simulation: first all the "outputs" (of all processes) are calculated as functions of the current inputs; and then the inputs to all processes are updated from the outputs that drive them. So, for example: + +Suneido™ is a complete, integrated application platform - a system for developing and deploying applications without the frustrations of integrating multiple different products. Suneido incorporates an object-oriented programming language, client-server relational database software, and application frameworks and components. It includes the integrated development environment ([[IDE]]) used to create applications as well as the client and server required to run applications across networks. Suneido is [[open source]] - it is provided free, with complete source code.
+ +Our mission is to provide a simple, open, lightweight, industrial strength alternative to large, complex, expensive, closed application technologies such as [[Visual Basic]], Access, FoxPro, [[Delphi]], [[Oracle]], and SQL Server.
+ +Suneido currently runs on [[Microsoft]] [[Windows]] NT, 2000, 2003, XP, Vista, and Windows 7.
@ character.
+
+Computation evolves by textual pattern matching with implicit backtracking. Non-pattern matching activities are embedded into a pattern matching paradigm. For instance, the line
+
+Four score and seven years ago,+ +is a TXR directive which matches a line of that exact text, or else fails. The following is also a directive: + +
foo has no prior binding, or already contains "abc", but fails if foo has a binding to something other than "abc".
+
+The success of a directive means that computation proceeds to the next directive (and, if this is a pattern match, the input position advances). Failure means that the enclosing query fails, triggering back-tracking behaviors and possibly failure of the entire query.
+
+==Extremely Simple Query==
+
+Extract first matching line from the password file. Of course, TXR matches are not restricted to single line!
+
++user="root" +pw="x" +uid="0" +gid="0" +gecos="root" +home="/root" +shell="/bin/bash"+ +Now, pre-bind the
user variable first to retrieve some other user. Now @(skip) kicks into action, skipping non-matching material:
+
+user="sshd" +pw="x" +uid="114" +gid="65534" +gecos="" +home="/var/run/sshd" +shell="/usr/sbin/nologin"+ + +==Simple Query== + +Re-implement the "free" utility on Linux, showing an overview of memory use: + +
$ ./meminfo.txr + TOTAL USED FREE BUFFERS CACHED +Mem: 769280 647752 121528 160108 286844 ++/- buffers/cache: 200800 568480 +Swap: 1048568 18200 1030368 ++ +Arithmetic is not implemented in TXR as of version 035. The above example simply continues the pattern matching across invocations of echo to borrow the shell to do math. The command + +
@(next `!echo $(( @TOTAL - @FREE ))`) +@USED ++ +means, "Next, please switch to scanning the output of this echo command with some variables substituted in. Then capture entire first line of this command into the USED variable." + +== Complex Query == + +Here is a TXR query for computing the complete dependencies of a C source file (including system and compiler headers) on a typical GNU/Linux system, demonstrating features like parallel clauses, recursion and exception handling. + +
$ txr dep.txr match.c +match.o: /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h /usr/lib/gcc/i586-redhat-linux/4.4.1/include/stddef.h /usr/include/bits/types.h /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h /usr/lib/gcc/i586-redhat-linux/4.4.1/include/stdarg.h /usr/include/bits/wchar.h /usr/include/wctype.h /usr/include/endian.h /usr/include/bits/endian.h /usr/include/bits/byteswap.h /usr/include/xlocale.h /usr/include/bits/wchar2.h /usr/include/bits/wchar-ldbl.h /usr/include/gconv.h /usr/include/bits/stdio-lock.h /usr/include/bits/libc-lock.h /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h /usr/include/bits/time.h /usr/include/bits/sched.h /usr/include/signal.h /usr/include/bits/signum.h /usr/include/bits/siginfo.h /usr/include/bits/sigaction.h /usr/include/bits/sigcontext.h /usr/include/asm/sigcontext.h /usr/include/linux/types.h /usr/include/linux/posix_types.h /usr/include/linux/stddef.h /usr/include/asm/posix_types.h /usr/include/asm/types.h /usr/include/asm-generic/int-ll64.h /usr/include/bits/sigstack.h /usr/include/sys/ucontext.h /usr/include/bits/pthreadtypes.h /usr/include/bits/sigthread.h /usr/include/bits/setjmp.h /usr/include/bits/libio-ldbl.h /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h /usr/include/getopt.h /usr/include/ctype.h /usr/include/bits/stdio.h /usr/include/bits/stdio2.h /usr/include/bits/stdio-ldbl.h /usr/include/stdlib.h /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h /usr/include/alloca.h /usr/include/bits/stdlib.h /usr/include/bits/stdlib-ldbl.h /usr/include/string.h /usr/include/bits/string.h /usr/include/bits/string2.h /usr/include/bits/string3.h /usr/include/assert.h /usr/include/errno.h /usr/include/bits/errno.h /usr/include/linux/errno.h /usr/include/asm/errno.h /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h /usr/include/dirent.h /usr/include/bits/dirent.h /usr/include/bits/posix1_lim.h /usr/include/bits/local_lim.h /usr/include/linux/limits.h /usr/include/setjmp.h config.h lib.h gc.h unwind.h regex.h /usr/include/limits.h /usr/lib/gcc/i586-redhat-linux/4.4.1/include/limits.h /usr/lib/gcc/i586-redhat-linux/4.4.1/include/syslimits.h /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h stream.h parser.h txr.h utf8.h filter.h match.h\ No newline at end of file diff --git a/Lang/TXR/100-doors b/Lang/TXR/100-doors new file mode 120000 index 0000000000..f8101adfe3 --- /dev/null +++ b/Lang/TXR/100-doors @@ -0,0 +1 @@ +../../Task/100-doors/TXR \ No newline at end of file diff --git a/Lang/TXR/99-Bottles-of-Beer b/Lang/TXR/99-Bottles-of-Beer new file mode 120000 index 0000000000..65b9994202 --- /dev/null +++ b/Lang/TXR/99-Bottles-of-Beer @@ -0,0 +1 @@ +../../Task/99-Bottles-of-Beer/TXR \ No newline at end of file diff --git a/Lang/TXR/Align-columns b/Lang/TXR/Align-columns new file mode 120000 index 0000000000..3565c1cbbf --- /dev/null +++ b/Lang/TXR/Align-columns @@ -0,0 +1 @@ +../../Task/Align-columns/TXR \ No newline at end of file diff --git a/Lang/TXR/Apply-a-callback-to-an-array b/Lang/TXR/Apply-a-callback-to-an-array new file mode 120000 index 0000000000..0c912b8ab5 --- /dev/null +++ b/Lang/TXR/Apply-a-callback-to-an-array @@ -0,0 +1 @@ +../../Task/Apply-a-callback-to-an-array/TXR \ No newline at end of file diff --git a/Lang/TXR/Arbitrary-precision-integers-included b/Lang/TXR/Arbitrary-precision-integers-included new file mode 120000 index 0000000000..766c0db431 --- /dev/null +++ b/Lang/TXR/Arbitrary-precision-integers-included @@ -0,0 +1 @@ +../../Task/Arbitrary-precision-integers-included/TXR \ No newline at end of file diff --git a/Lang/TXR/Arithmetic-evaluation b/Lang/TXR/Arithmetic-evaluation new file mode 120000 index 0000000000..fba657d164 --- /dev/null +++ b/Lang/TXR/Arithmetic-evaluation @@ -0,0 +1 @@ +../../Task/Arithmetic-evaluation/TXR \ No newline at end of file diff --git a/Lang/TXR/Arrays b/Lang/TXR/Arrays new file mode 120000 index 0000000000..d7c0cf456b --- /dev/null +++ b/Lang/TXR/Arrays @@ -0,0 +1 @@ +../../Task/Arrays/TXR \ No newline at end of file diff --git a/Lang/TXR/Associative-array-Iteration b/Lang/TXR/Associative-array-Iteration new file mode 120000 index 0000000000..4491da9ab8 --- /dev/null +++ b/Lang/TXR/Associative-array-Iteration @@ -0,0 +1 @@ +../../Task/Associative-array-Iteration/TXR \ No newline at end of file diff --git a/Lang/TXR/Balanced-brackets b/Lang/TXR/Balanced-brackets new file mode 120000 index 0000000000..7f70407b74 --- /dev/null +++ b/Lang/TXR/Balanced-brackets @@ -0,0 +1 @@ +../../Task/Balanced-brackets/TXR \ No newline at end of file diff --git a/Lang/TXR/CSV-to-HTML-translation b/Lang/TXR/CSV-to-HTML-translation new file mode 120000 index 0000000000..7dc89c7a19 --- /dev/null +++ b/Lang/TXR/CSV-to-HTML-translation @@ -0,0 +1 @@ +../../Task/CSV-to-HTML-translation/TXR \ No newline at end of file diff --git a/Lang/TXR/Caesar-cipher b/Lang/TXR/Caesar-cipher new file mode 120000 index 0000000000..aae2e0ea05 --- /dev/null +++ b/Lang/TXR/Caesar-cipher @@ -0,0 +1 @@ +../../Task/Caesar-cipher/TXR \ No newline at end of file diff --git a/Lang/TXR/Character-matching b/Lang/TXR/Character-matching new file mode 120000 index 0000000000..f705e73ba6 --- /dev/null +++ b/Lang/TXR/Character-matching @@ -0,0 +1 @@ +../../Task/Character-matching/TXR \ No newline at end of file diff --git a/Lang/TXR/Command-line-arguments b/Lang/TXR/Command-line-arguments new file mode 120000 index 0000000000..6ead5dc041 --- /dev/null +++ b/Lang/TXR/Command-line-arguments @@ -0,0 +1 @@ +../../Task/Command-line-arguments/TXR \ No newline at end of file diff --git a/Lang/TXR/Comments b/Lang/TXR/Comments new file mode 120000 index 0000000000..529b49641a --- /dev/null +++ b/Lang/TXR/Comments @@ -0,0 +1 @@ +../../Task/Comments/TXR \ No newline at end of file diff --git a/Lang/TXR/Conditional-structures b/Lang/TXR/Conditional-structures new file mode 120000 index 0000000000..4f37f1a975 --- /dev/null +++ b/Lang/TXR/Conditional-structures @@ -0,0 +1 @@ +../../Task/Conditional-structures/TXR \ No newline at end of file diff --git a/Lang/TXR/Count-occurrences-of-a-substring b/Lang/TXR/Count-occurrences-of-a-substring new file mode 120000 index 0000000000..7fe94fc80f --- /dev/null +++ b/Lang/TXR/Count-occurrences-of-a-substring @@ -0,0 +1 @@ +../../Task/Count-occurrences-of-a-substring/TXR \ No newline at end of file diff --git a/Lang/TXR/Empty-string b/Lang/TXR/Empty-string new file mode 120000 index 0000000000..31f46b4801 --- /dev/null +++ b/Lang/TXR/Empty-string @@ -0,0 +1 @@ +../../Task/Empty-string/TXR \ No newline at end of file diff --git a/Lang/TXR/Exceptions b/Lang/TXR/Exceptions new file mode 120000 index 0000000000..fb10af243c --- /dev/null +++ b/Lang/TXR/Exceptions @@ -0,0 +1 @@ +../../Task/Exceptions/TXR \ No newline at end of file diff --git a/Lang/TXR/Exceptions-Catch-an-exception-thrown-in-a-nested-call b/Lang/TXR/Exceptions-Catch-an-exception-thrown-in-a-nested-call new file mode 120000 index 0000000000..9dd96a7028 --- /dev/null +++ b/Lang/TXR/Exceptions-Catch-an-exception-thrown-in-a-nested-call @@ -0,0 +1 @@ +../../Task/Exceptions-Catch-an-exception-thrown-in-a-nested-call/TXR \ No newline at end of file diff --git a/Lang/TXR/Flatten-a-list b/Lang/TXR/Flatten-a-list new file mode 120000 index 0000000000..280bef54a0 --- /dev/null +++ b/Lang/TXR/Flatten-a-list @@ -0,0 +1 @@ +../../Task/Flatten-a-list/TXR \ No newline at end of file diff --git a/Lang/TXR/Function-definition b/Lang/TXR/Function-definition new file mode 120000 index 0000000000..d5c98ed1a1 --- /dev/null +++ b/Lang/TXR/Function-definition @@ -0,0 +1 @@ +../../Task/Function-definition/TXR \ No newline at end of file diff --git a/Lang/TXR/Globally-replace-text-in-several-files b/Lang/TXR/Globally-replace-text-in-several-files new file mode 120000 index 0000000000..235d387a12 --- /dev/null +++ b/Lang/TXR/Globally-replace-text-in-several-files @@ -0,0 +1 @@ +../../Task/Globally-replace-text-in-several-files/TXR \ No newline at end of file diff --git a/Lang/TXR/Greatest-common-divisor b/Lang/TXR/Greatest-common-divisor new file mode 120000 index 0000000000..8f09102803 --- /dev/null +++ b/Lang/TXR/Greatest-common-divisor @@ -0,0 +1 @@ +../../Task/Greatest-common-divisor/TXR \ No newline at end of file diff --git a/Lang/TXR/Hailstone-sequence b/Lang/TXR/Hailstone-sequence new file mode 120000 index 0000000000..e5e7eb4b31 --- /dev/null +++ b/Lang/TXR/Hailstone-sequence @@ -0,0 +1 @@ +../../Task/Hailstone-sequence/TXR \ No newline at end of file diff --git a/Lang/TXR/Hash-from-two-arrays b/Lang/TXR/Hash-from-two-arrays new file mode 120000 index 0000000000..4844cb758d --- /dev/null +++ b/Lang/TXR/Hash-from-two-arrays @@ -0,0 +1 @@ +../../Task/Hash-from-two-arrays/TXR \ No newline at end of file diff --git a/Lang/TXR/Hello-world-Newline-omission b/Lang/TXR/Hello-world-Newline-omission new file mode 120000 index 0000000000..db9837256c --- /dev/null +++ b/Lang/TXR/Hello-world-Newline-omission @@ -0,0 +1 @@ +../../Task/Hello-world-Newline-omission/TXR \ No newline at end of file diff --git a/Lang/TXR/Here-document b/Lang/TXR/Here-document new file mode 120000 index 0000000000..9fcb52d212 --- /dev/null +++ b/Lang/TXR/Here-document @@ -0,0 +1 @@ +../../Task/Here-document/TXR \ No newline at end of file diff --git a/Lang/TXR/Higher-order-functions b/Lang/TXR/Higher-order-functions new file mode 120000 index 0000000000..fb4b236ff1 --- /dev/null +++ b/Lang/TXR/Higher-order-functions @@ -0,0 +1 @@ +../../Task/Higher-order-functions/TXR \ No newline at end of file diff --git a/Lang/TXR/Increment-a-numerical-string b/Lang/TXR/Increment-a-numerical-string new file mode 120000 index 0000000000..b90b5c8409 --- /dev/null +++ b/Lang/TXR/Increment-a-numerical-string @@ -0,0 +1 @@ +../../Task/Increment-a-numerical-string/TXR \ No newline at end of file diff --git a/Lang/TXR/Inheritance-Single b/Lang/TXR/Inheritance-Single new file mode 120000 index 0000000000..6385661ef1 --- /dev/null +++ b/Lang/TXR/Inheritance-Single @@ -0,0 +1 @@ +../../Task/Inheritance-Single/TXR \ No newline at end of file diff --git a/Lang/TXR/JSON b/Lang/TXR/JSON new file mode 120000 index 0000000000..7e5f108278 --- /dev/null +++ b/Lang/TXR/JSON @@ -0,0 +1 @@ +../../Task/JSON/TXR \ No newline at end of file diff --git a/Lang/TXR/Letter-frequency b/Lang/TXR/Letter-frequency new file mode 120000 index 0000000000..cb72a9786b --- /dev/null +++ b/Lang/TXR/Letter-frequency @@ -0,0 +1 @@ +../../Task/Letter-frequency/TXR \ No newline at end of file diff --git a/Lang/TXR/Loop-over-multiple-arrays-simultaneously b/Lang/TXR/Loop-over-multiple-arrays-simultaneously new file mode 120000 index 0000000000..4397efffd2 --- /dev/null +++ b/Lang/TXR/Loop-over-multiple-arrays-simultaneously @@ -0,0 +1 @@ +../../Task/Loop-over-multiple-arrays-simultaneously/TXR \ No newline at end of file diff --git a/Lang/TXR/Luhn-test-of-credit-card-numbers b/Lang/TXR/Luhn-test-of-credit-card-numbers new file mode 120000 index 0000000000..b2dd4160eb --- /dev/null +++ b/Lang/TXR/Luhn-test-of-credit-card-numbers @@ -0,0 +1 @@ +../../Task/Luhn-test-of-credit-card-numbers/TXR \ No newline at end of file diff --git a/Lang/TXR/Modular-exponentiation b/Lang/TXR/Modular-exponentiation new file mode 120000 index 0000000000..52cf2d746d --- /dev/null +++ b/Lang/TXR/Modular-exponentiation @@ -0,0 +1 @@ +../../Task/Modular-exponentiation/TXR \ No newline at end of file diff --git a/Lang/TXR/Multisplit b/Lang/TXR/Multisplit new file mode 120000 index 0000000000..24e30c76f5 --- /dev/null +++ b/Lang/TXR/Multisplit @@ -0,0 +1 @@ +../../Task/Multisplit/TXR \ No newline at end of file diff --git a/Lang/TXR/Mutual-recursion b/Lang/TXR/Mutual-recursion new file mode 120000 index 0000000000..e71ba70037 --- /dev/null +++ b/Lang/TXR/Mutual-recursion @@ -0,0 +1 @@ +../../Task/Mutual-recursion/TXR \ No newline at end of file diff --git a/Lang/TXR/Narcissist b/Lang/TXR/Narcissist new file mode 120000 index 0000000000..16cb09152b --- /dev/null +++ b/Lang/TXR/Narcissist @@ -0,0 +1 @@ +../../Task/Narcissist/TXR \ No newline at end of file diff --git a/Lang/TXR/Quine b/Lang/TXR/Quine new file mode 120000 index 0000000000..d8465990ff --- /dev/null +++ b/Lang/TXR/Quine @@ -0,0 +1 @@ +../../Task/Quine/TXR \ No newline at end of file diff --git a/Lang/Tcl/Arbitrary-precision-integers-(included) b/Lang/Tcl/Arbitrary-precision-integers-(included) deleted file mode 120000 index 5c3b5394f3..0000000000 --- a/Lang/Tcl/Arbitrary-precision-integers-(included) +++ /dev/null @@ -1 +0,0 @@ -../../Task/Arbitrary-precision-integers-(included)/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) deleted file mode 120000 index 0b535b33df..0000000000 --- a/Lang/Tcl/Continued-fraction-Arithmetic-G(matrix-NG,-Contined-Fraction-N) +++ /dev/null @@ -1 +0,0 @@ -../../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) deleted file mode 120000 index 752393920c..0000000000 --- a/Lang/Tcl/Continued-fraction-Arithmetic-G(matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2) +++ /dev/null @@ -1 +0,0 @@ -../../Task/Continued-fraction-Arithmetic-G(matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2)/Tcl \ No newline at end of file diff --git a/Lang/TeLa/0DESCRIPTION b/Lang/TeLa/0DESCRIPTION new file mode 100644 index 0000000000..c9c484157d --- /dev/null +++ b/Lang/TeLa/0DESCRIPTION @@ -0,0 +1,11 @@ +{{stub}} +{{language +|site=http://www.ava.fmi.fi/prog/tela.html +}} +Tela. TEnsor LAnguage, (pronounced teh-lah) is a numerical computing +environment mainly targeted for numerical simulation pre- and +post-processing work. The language supports +arbitrary rank arrays, and has powerful programming capabilities including +[[Fortran 90]] style vector notation. +Two- and three- dimensional graphics is implemented by calling PlotMTV. +For 2D graphics, the SPPC interface is also available. Tela is not a [[MATLAB]] clone, although the scopes of the two programs partly overlap. Tela is both faster and more general than Matlab; however, Matlab has more functions for specific tasks such as signal processing. \ No newline at end of file diff --git a/Lang/Teco/0DESCRIPTION b/Lang/Teco/0DESCRIPTION new file mode 100644 index 0000000000..89eec5d740 --- /dev/null +++ b/Lang/Teco/0DESCRIPTION @@ -0,0 +1,4 @@ +{{stub}}{{language}} +TECO stands for Text Editor and COrrector. (Originally "Tape Editor and COrrector"). Macro language for text editing, screen handling and keyboard management. Has a reputation for being cryptic and hard to learn. (TECO programs are said to resemble line noise.) +TECO was an early, string-processing language used by the first Emacs. It made maintenance hard, and also made extensions hard to write. +The first EMACS editor was written in TECO. \ No newline at end of file diff --git a/Lang/Teco/Hello-world-Text b/Lang/Teco/Hello-world-Text new file mode 120000 index 0000000000..ee2ca63e39 --- /dev/null +++ b/Lang/Teco/Hello-world-Text @@ -0,0 +1 @@ +../../Task/Hello-world-Text/Teco \ No newline at end of file diff --git a/Lang/Thistle/0DESCRIPTION b/Lang/Thistle/0DESCRIPTION new file mode 100644 index 0000000000..2e7da24b49 --- /dev/null +++ b/Lang/Thistle/0DESCRIPTION @@ -0,0 +1,7 @@ +{{language|Thistle +|site=http://alycesrestaurant.com/thistle/ +|hopl=no +|LCT=no +}} + +{{stub}} \ No newline at end of file diff --git a/Lang/Thyrd/0DESCRIPTION b/Lang/Thyrd/0DESCRIPTION new file mode 100644 index 0000000000..2b99bfa8a3 --- /dev/null +++ b/Lang/Thyrd/0DESCRIPTION @@ -0,0 +1,10 @@ +{{language +|checking=dynamic +|hopl=no +|site=http://thyrd.org/thyrd}} +{{language programming paradigm|functional}} +Thyrd is an experimental, reflective, visual programming language and environment. In Thyrd, both data and code are stored in cells situated in nested two-dimensional grids. The user interface animates the transition from a cell to its subordinate or superordinate grid to help keep the user oriented in the hierarchical grid structure. All operations the user can perform to edit the structure are implemented as operators in the Thyrd language, thus a Thyrd program can inspect and modify itself or other programs in the same space. + +Thyrd is a member of the [[Forth]] family of languages. Thyrd is a postfix concatenative language most similar to [[Joy]] in that it uses quotation and combinators to implement iteration and recursion. The environment provides a viewer that animates the stacks of a Thyrd program and allows the program to be stepped both forwards and backwards. + +The primary view of Thyrdspace is a 2D grid of text and icons. A view may be overlaid with a panel consisting of arbitrary widgets editing the contents of individual cells or an entire grid. A Thyrd application can be constructed in which all of the code and data are hidden behind panels and revealed only at the user's request. \ No newline at end of file diff --git a/Lang/Toka/0DESCRIPTION b/Lang/Toka/0DESCRIPTION new file mode 100644 index 0000000000..901c68efa4 --- /dev/null +++ b/Lang/Toka/0DESCRIPTION @@ -0,0 +1,8 @@ +{{language|Toka +|site=http://code.google.com/p/toka/ +|gc= yes +|LCT=no +}} +{{compiler}}Toka is a concatenative programming language with similarities to [[:Category:Forth|Forth]]. It has two accessible [[Stack|stacks]] for passing data, a dictionary which maps names to functions, an [[interpreter]], a [[compiler]] (generating threaded code), a form of [[garbage collection]], and various functions to aid in debugging and inspecting compiled code. Toka also has a set of optional libraries that extend the core language in many ways. + +Toka is distributed under an [[open source|open-source]] license. \ No newline at end of file diff --git a/Lang/Toka/Apply-a-callback-to-an-array b/Lang/Toka/Apply-a-callback-to-an-array new file mode 120000 index 0000000000..4a3374f9d8 --- /dev/null +++ b/Lang/Toka/Apply-a-callback-to-an-array @@ -0,0 +1 @@ +../../Task/Apply-a-callback-to-an-array/Toka \ No newline at end of file diff --git a/Lang/Toka/Arithmetic-Integer b/Lang/Toka/Arithmetic-Integer new file mode 120000 index 0000000000..644618097f --- /dev/null +++ b/Lang/Toka/Arithmetic-Integer @@ -0,0 +1 @@ +../../Task/Arithmetic-Integer/Toka \ No newline at end of file diff --git a/Lang/Toka/Associative-array-Creation b/Lang/Toka/Associative-array-Creation new file mode 120000 index 0000000000..3dbfd513ab --- /dev/null +++ b/Lang/Toka/Associative-array-Creation @@ -0,0 +1 @@ +../../Task/Associative-array-Creation/Toka \ No newline at end of file diff --git a/Lang/Toka/Check-that-file-exists b/Lang/Toka/Check-that-file-exists new file mode 120000 index 0000000000..69a098f6ca --- /dev/null +++ b/Lang/Toka/Check-that-file-exists @@ -0,0 +1 @@ +../../Task/Check-that-file-exists/Toka \ No newline at end of file diff --git a/Lang/Toka/Command-line-arguments b/Lang/Toka/Command-line-arguments new file mode 120000 index 0000000000..fa27f8cf67 --- /dev/null +++ b/Lang/Toka/Command-line-arguments @@ -0,0 +1 @@ +../../Task/Command-line-arguments/Toka \ No newline at end of file diff --git a/Lang/Toka/Comments b/Lang/Toka/Comments new file mode 120000 index 0000000000..c8a8109a6c --- /dev/null +++ b/Lang/Toka/Comments @@ -0,0 +1 @@ +../../Task/Comments/Toka \ No newline at end of file diff --git a/Lang/Toka/Conditional-structures b/Lang/Toka/Conditional-structures new file mode 120000 index 0000000000..a5694cae61 --- /dev/null +++ b/Lang/Toka/Conditional-structures @@ -0,0 +1 @@ +../../Task/Conditional-structures/Toka \ No newline at end of file diff --git a/Lang/Toka/Create-a-file b/Lang/Toka/Create-a-file new file mode 120000 index 0000000000..8a0b5f2043 --- /dev/null +++ b/Lang/Toka/Create-a-file @@ -0,0 +1 @@ +../../Task/Create-a-file/Toka \ No newline at end of file diff --git a/Lang/Toka/Create-a-two-dimensional-array-at-runtime b/Lang/Toka/Create-a-two-dimensional-array-at-runtime new file mode 120000 index 0000000000..cb910aca3b --- /dev/null +++ b/Lang/Toka/Create-a-two-dimensional-array-at-runtime @@ -0,0 +1 @@ +../../Task/Create-a-two-dimensional-array-at-runtime/Toka \ No newline at end of file diff --git a/Lang/Toka/Define-a-primitive-data-type b/Lang/Toka/Define-a-primitive-data-type new file mode 120000 index 0000000000..7dbfa84361 --- /dev/null +++ b/Lang/Toka/Define-a-primitive-data-type @@ -0,0 +1 @@ +../../Task/Define-a-primitive-data-type/Toka \ No newline at end of file diff --git a/Lang/Toka/Delete-a-file b/Lang/Toka/Delete-a-file new file mode 120000 index 0000000000..3555e4c830 --- /dev/null +++ b/Lang/Toka/Delete-a-file @@ -0,0 +1 @@ +../../Task/Delete-a-file/Toka \ No newline at end of file diff --git a/Lang/Toka/Determine-if-a-string-is-numeric b/Lang/Toka/Determine-if-a-string-is-numeric new file mode 120000 index 0000000000..7abeb916e0 --- /dev/null +++ b/Lang/Toka/Determine-if-a-string-is-numeric @@ -0,0 +1 @@ +../../Task/Determine-if-a-string-is-numeric/Toka \ No newline at end of file diff --git a/Lang/Toka/Enumerations b/Lang/Toka/Enumerations new file mode 120000 index 0000000000..9eabfd8bda --- /dev/null +++ b/Lang/Toka/Enumerations @@ -0,0 +1 @@ +../../Task/Enumerations/Toka \ No newline at end of file diff --git a/Lang/Toka/Execute-a-system-command b/Lang/Toka/Execute-a-system-command new file mode 120000 index 0000000000..37fc58b18f --- /dev/null +++ b/Lang/Toka/Execute-a-system-command @@ -0,0 +1 @@ +../../Task/Execute-a-system-command/Toka \ No newline at end of file diff --git a/Lang/Toka/File-IO b/Lang/Toka/File-IO new file mode 120000 index 0000000000..561e4f453f --- /dev/null +++ b/Lang/Toka/File-IO @@ -0,0 +1 @@ +../../Task/File-IO/Toka \ No newline at end of file diff --git a/Lang/Toka/File-size b/Lang/Toka/File-size new file mode 120000 index 0000000000..a67691f9d2 --- /dev/null +++ b/Lang/Toka/File-size @@ -0,0 +1 @@ +../../Task/File-size/Toka \ No newline at end of file diff --git a/Lang/Toka/Filter b/Lang/Toka/Filter new file mode 120000 index 0000000000..5a2f2eb793 --- /dev/null +++ b/Lang/Toka/Filter @@ -0,0 +1 @@ +../../Task/Filter/Toka \ No newline at end of file diff --git a/Lang/Toka/Fork b/Lang/Toka/Fork new file mode 120000 index 0000000000..48617dbe26 --- /dev/null +++ b/Lang/Toka/Fork @@ -0,0 +1 @@ +../../Task/Fork/Toka \ No newline at end of file diff --git a/Lang/Toka/Formatted-numeric-output b/Lang/Toka/Formatted-numeric-output new file mode 120000 index 0000000000..daf41c0bbf --- /dev/null +++ b/Lang/Toka/Formatted-numeric-output @@ -0,0 +1 @@ +../../Task/Formatted-numeric-output/Toka \ No newline at end of file diff --git a/Lang/Toka/Function-definition b/Lang/Toka/Function-definition new file mode 120000 index 0000000000..286f2a5f68 --- /dev/null +++ b/Lang/Toka/Function-definition @@ -0,0 +1 @@ +../../Task/Function-definition/Toka \ No newline at end of file diff --git a/Lang/Toka/Higher-order-functions b/Lang/Toka/Higher-order-functions new file mode 120000 index 0000000000..a73cf00849 --- /dev/null +++ b/Lang/Toka/Higher-order-functions @@ -0,0 +1 @@ +../../Task/Higher-order-functions/Toka \ No newline at end of file diff --git a/Lang/Toka/Hostname b/Lang/Toka/Hostname new file mode 120000 index 0000000000..1f814684b5 --- /dev/null +++ b/Lang/Toka/Hostname @@ -0,0 +1 @@ +../../Task/Hostname/Toka \ No newline at end of file diff --git a/Lang/Toka/Increment-a-numerical-string b/Lang/Toka/Increment-a-numerical-string new file mode 120000 index 0000000000..db5e5567f2 --- /dev/null +++ b/Lang/Toka/Increment-a-numerical-string @@ -0,0 +1 @@ +../../Task/Increment-a-numerical-string/Toka \ No newline at end of file diff --git a/Lang/Toka/Integer-comparison b/Lang/Toka/Integer-comparison new file mode 120000 index 0000000000..fa0f37132d --- /dev/null +++ b/Lang/Toka/Integer-comparison @@ -0,0 +1 @@ +../../Task/Integer-comparison/Toka \ No newline at end of file diff --git a/Lang/Toka/Introspection b/Lang/Toka/Introspection new file mode 120000 index 0000000000..59a37fa9ad --- /dev/null +++ b/Lang/Toka/Introspection @@ -0,0 +1 @@ +../../Task/Introspection/Toka \ No newline at end of file diff --git a/Lang/Toka/Logical-operations b/Lang/Toka/Logical-operations new file mode 120000 index 0000000000..fe9c2c7eb3 --- /dev/null +++ b/Lang/Toka/Logical-operations @@ -0,0 +1 @@ +../../Task/Logical-operations/Toka \ No newline at end of file diff --git a/Lang/TorqueScript/0DESCRIPTION b/Lang/TorqueScript/0DESCRIPTION new file mode 100644 index 0000000000..4d3d27c049 --- /dev/null +++ b/Lang/TorqueScript/0DESCRIPTION @@ -0,0 +1 @@ +{{stub}}{{language}} \ No newline at end of file diff --git a/Lang/TorqueScript/100-doors b/Lang/TorqueScript/100-doors new file mode 120000 index 0000000000..c8a417e739 --- /dev/null +++ b/Lang/TorqueScript/100-doors @@ -0,0 +1 @@ +../../Task/100-doors/TorqueScript \ No newline at end of file diff --git a/Lang/TorqueScript/24-game b/Lang/TorqueScript/24-game new file mode 120000 index 0000000000..9ac52b8b42 --- /dev/null +++ b/Lang/TorqueScript/24-game @@ -0,0 +1 @@ +../../Task/24-game/TorqueScript \ No newline at end of file diff --git a/Lang/TorqueScript/99-Bottles-of-Beer b/Lang/TorqueScript/99-Bottles-of-Beer new file mode 120000 index 0000000000..3ddac73030 --- /dev/null +++ b/Lang/TorqueScript/99-Bottles-of-Beer @@ -0,0 +1 @@ +../../Task/99-Bottles-of-Beer/TorqueScript \ No newline at end of file diff --git a/Lang/TorqueScript/A+B b/Lang/TorqueScript/A+B new file mode 120000 index 0000000000..de1447c94f --- /dev/null +++ b/Lang/TorqueScript/A+B @@ -0,0 +1 @@ +../../Task/A+B/TorqueScript \ No newline at end of file diff --git a/Lang/TorqueScript/Apply-a-callback-to-an-array b/Lang/TorqueScript/Apply-a-callback-to-an-array new file mode 120000 index 0000000000..91c60c96dd --- /dev/null +++ b/Lang/TorqueScript/Apply-a-callback-to-an-array @@ -0,0 +1 @@ +../../Task/Apply-a-callback-to-an-array/TorqueScript \ No newline at end of file diff --git a/Lang/TorqueScript/Arrays b/Lang/TorqueScript/Arrays new file mode 120000 index 0000000000..38cf4f810a --- /dev/null +++ b/Lang/TorqueScript/Arrays @@ -0,0 +1 @@ +../../Task/Arrays/TorqueScript \ No newline at end of file diff --git a/Lang/TorqueScript/Conditional-structures b/Lang/TorqueScript/Conditional-structures new file mode 120000 index 0000000000..6aaf8fce9a --- /dev/null +++ b/Lang/TorqueScript/Conditional-structures @@ -0,0 +1 @@ +../../Task/Conditional-structures/TorqueScript \ No newline at end of file diff --git a/Lang/TorqueScript/Factorial b/Lang/TorqueScript/Factorial new file mode 120000 index 0000000000..73f1ce6bab --- /dev/null +++ b/Lang/TorqueScript/Factorial @@ -0,0 +1 @@ +../../Task/Factorial/TorqueScript \ No newline at end of file diff --git a/Lang/TorqueScript/File-size b/Lang/TorqueScript/File-size new file mode 120000 index 0000000000..78cd6d7e18 --- /dev/null +++ b/Lang/TorqueScript/File-size @@ -0,0 +1 @@ +../../Task/File-size/TorqueScript \ No newline at end of file diff --git a/Lang/TorqueScript/Four-bit-adder b/Lang/TorqueScript/Four-bit-adder new file mode 120000 index 0000000000..f104c73958 --- /dev/null +++ b/Lang/TorqueScript/Four-bit-adder @@ -0,0 +1 @@ +../../Task/Four-bit-adder/TorqueScript \ No newline at end of file diff --git a/Lang/TorqueScript/Hello-world-Text b/Lang/TorqueScript/Hello-world-Text new file mode 120000 index 0000000000..0d272ed412 --- /dev/null +++ b/Lang/TorqueScript/Hello-world-Text @@ -0,0 +1 @@ +../../Task/Hello-world-Text/TorqueScript \ No newline at end of file diff --git a/Lang/TorqueScript/Infinity b/Lang/TorqueScript/Infinity new file mode 120000 index 0000000000..8081423c63 --- /dev/null +++ b/Lang/TorqueScript/Infinity @@ -0,0 +1 @@ +../../Task/Infinity/TorqueScript \ No newline at end of file diff --git a/Lang/TorqueScript/Loop-over-multiple-arrays-simultaneously b/Lang/TorqueScript/Loop-over-multiple-arrays-simultaneously new file mode 120000 index 0000000000..3cdd9914af --- /dev/null +++ b/Lang/TorqueScript/Loop-over-multiple-arrays-simultaneously @@ -0,0 +1 @@ +../../Task/Loop-over-multiple-arrays-simultaneously/TorqueScript \ No newline at end of file diff --git a/Lang/TorqueScript/Loops-Break b/Lang/TorqueScript/Loops-Break new file mode 120000 index 0000000000..26c6859c49 --- /dev/null +++ b/Lang/TorqueScript/Loops-Break @@ -0,0 +1 @@ +../../Task/Loops-Break/TorqueScript \ No newline at end of file diff --git a/Lang/TorqueScript/Loops-For b/Lang/TorqueScript/Loops-For new file mode 120000 index 0000000000..b786fce5aa --- /dev/null +++ b/Lang/TorqueScript/Loops-For @@ -0,0 +1 @@ +../../Task/Loops-For/TorqueScript \ No newline at end of file diff --git a/Lang/TorqueScript/Loops-Infinite b/Lang/TorqueScript/Loops-Infinite new file mode 120000 index 0000000000..931f9a4609 --- /dev/null +++ b/Lang/TorqueScript/Loops-Infinite @@ -0,0 +1 @@ +../../Task/Loops-Infinite/TorqueScript \ No newline at end of file diff --git a/Lang/TorqueScript/Loops-While b/Lang/TorqueScript/Loops-While new file mode 120000 index 0000000000..dcbf645371 --- /dev/null +++ b/Lang/TorqueScript/Loops-While @@ -0,0 +1 @@ +../../Task/Loops-While/TorqueScript \ No newline at end of file diff --git a/Lang/TorqueScript/Search-a-list b/Lang/TorqueScript/Search-a-list new file mode 120000 index 0000000000..bf8ded7e7c --- /dev/null +++ b/Lang/TorqueScript/Search-a-list @@ -0,0 +1 @@ +../../Task/Search-a-list/TorqueScript \ No newline at end of file diff --git a/Lang/Transact-SQL/0DESCRIPTION b/Lang/Transact-SQL/0DESCRIPTION new file mode 100644 index 0000000000..9bc9eed1b6 --- /dev/null +++ b/Lang/Transact-SQL/0DESCRIPTION @@ -0,0 +1 @@ +{{language|Transact-SQL}}{{implementation|SQL}}'''Transact-SQL''' ('''T-SQL''') is [[Microsoft]]'s and [[Sybase]]'s proprietary extension to [[SQL]]. \ No newline at end of file diff --git a/Lang/Transact-SQL/Hello-world-Text b/Lang/Transact-SQL/Hello-world-Text new file mode 120000 index 0000000000..88dca31c1f --- /dev/null +++ b/Lang/Transact-SQL/Hello-world-Text @@ -0,0 +1 @@ +../../Task/Hello-world-Text/Transact-SQL \ No newline at end of file diff --git a/Lang/Transact-SQL/Loops-Infinite b/Lang/Transact-SQL/Loops-Infinite new file mode 120000 index 0000000000..76a3a8086b --- /dev/null +++ b/Lang/Transact-SQL/Loops-Infinite @@ -0,0 +1 @@ +../../Task/Loops-Infinite/Transact-SQL \ No newline at end of file diff --git a/Lang/Trith/0DESCRIPTION b/Lang/Trith/0DESCRIPTION new file mode 100644 index 0000000000..1c9444bac6 --- /dev/null +++ b/Lang/Trith/0DESCRIPTION @@ -0,0 +1,22 @@ +{{language|Trith +|exec=interpreted +|site=http://trith.org/ +|gc=yes +|parampass=value +|safety=safe +|strength=strong +|compat=duck +|express=implicit +|checking=dynamic +|untyped=yes +|tags=trith +|LCT=yes}} +{{language programming paradigm|Concatenative}} +{{language programming paradigm|Functional}} +{{language programming paradigm|Dynamic}} +{{language programming paradigm|Reflective}} +'''Trith''' is an experimental stack-based, [http://concatenative.org/wiki/view/Concatenative%20language concatenative] programming language by [[User:Arto Bendiken|Arto Bendiken]]. It is dynamically typed and has a homoiconic program representation. The implementation currently consists of a virtual machine, interpreter, and compiler toolchain written in [[Ruby]] and an in-the-works runtime targeting the [[runs on vm::Java Virtual Machine|JVM]]. + +Trith programs are simply nested lists of operators and operands, with the operators identified by URIs. This means that Trith code can be straightforwardly represented externally either as S-expressions or as [http://linkeddata.org/ Linked Data] in the form of [http://en.wikipedia.org/wiki/Resource_Description_Framework RDF] triples. + +Trith is inspired and influenced by the author's experience with [[Forth]], [[Lisp]] and [[Scheme]] in general, and the concatenative languages [[Joy]], [[XY]], [[Factor]] and [[Cat]] in particular. \ No newline at end of file diff --git a/Lang/Trith/Array-concatenation b/Lang/Trith/Array-concatenation new file mode 120000 index 0000000000..af543e1dc2 --- /dev/null +++ b/Lang/Trith/Array-concatenation @@ -0,0 +1 @@ +../../Task/Array-concatenation/Trith \ No newline at end of file diff --git a/Lang/Trith/Averages-Arithmetic-mean b/Lang/Trith/Averages-Arithmetic-mean new file mode 120000 index 0000000000..3a515549b2 --- /dev/null +++ b/Lang/Trith/Averages-Arithmetic-mean @@ -0,0 +1 @@ +../../Task/Averages-Arithmetic-mean/Trith \ No newline at end of file diff --git a/Lang/Trith/Character-codes b/Lang/Trith/Character-codes new file mode 120000 index 0000000000..8fd26e51a7 --- /dev/null +++ b/Lang/Trith/Character-codes @@ -0,0 +1 @@ +../../Task/Character-codes/Trith \ No newline at end of file diff --git a/Lang/Trith/Conditional-structures b/Lang/Trith/Conditional-structures new file mode 120000 index 0000000000..326d1ebd17 --- /dev/null +++ b/Lang/Trith/Conditional-structures @@ -0,0 +1 @@ +../../Task/Conditional-structures/Trith \ No newline at end of file diff --git a/Lang/Trith/Empty-program b/Lang/Trith/Empty-program new file mode 120000 index 0000000000..a3056b4a8b --- /dev/null +++ b/Lang/Trith/Empty-program @@ -0,0 +1 @@ +../../Task/Empty-program/Trith \ No newline at end of file diff --git a/Lang/Trith/Flatten-a-list b/Lang/Trith/Flatten-a-list new file mode 120000 index 0000000000..d48957b6d1 --- /dev/null +++ b/Lang/Trith/Flatten-a-list @@ -0,0 +1 @@ +../../Task/Flatten-a-list/Trith \ No newline at end of file diff --git a/Lang/Trith/Generic-swap b/Lang/Trith/Generic-swap new file mode 120000 index 0000000000..db6e1f8f45 --- /dev/null +++ b/Lang/Trith/Generic-swap @@ -0,0 +1 @@ +../../Task/Generic-swap/Trith \ No newline at end of file diff --git a/Lang/Trith/Greatest-element-of-a-list b/Lang/Trith/Greatest-element-of-a-list new file mode 120000 index 0000000000..aa2b03ae0a --- /dev/null +++ b/Lang/Trith/Greatest-element-of-a-list @@ -0,0 +1 @@ +../../Task/Greatest-element-of-a-list/Trith \ No newline at end of file diff --git a/Lang/Trith/Hello-world-Text b/Lang/Trith/Hello-world-Text new file mode 120000 index 0000000000..a72f2517d1 --- /dev/null +++ b/Lang/Trith/Hello-world-Text @@ -0,0 +1 @@ +../../Task/Hello-world-Text/Trith \ No newline at end of file diff --git a/Lang/Trith/Higher-order-functions b/Lang/Trith/Higher-order-functions new file mode 120000 index 0000000000..dc25d52f37 --- /dev/null +++ b/Lang/Trith/Higher-order-functions @@ -0,0 +1 @@ +../../Task/Higher-order-functions/Trith \ No newline at end of file diff --git a/Lang/Trith/Infinity b/Lang/Trith/Infinity new file mode 120000 index 0000000000..e0932a3d34 --- /dev/null +++ b/Lang/Trith/Infinity @@ -0,0 +1 @@ +../../Task/Infinity/Trith \ No newline at end of file diff --git a/Lang/Trith/Loops-Downward-for b/Lang/Trith/Loops-Downward-for new file mode 120000 index 0000000000..e49ba4a8b2 --- /dev/null +++ b/Lang/Trith/Loops-Downward-for @@ -0,0 +1 @@ +../../Task/Loops-Downward-for/Trith \ No newline at end of file diff --git a/Lang/Trith/Loops-Foreach b/Lang/Trith/Loops-Foreach new file mode 120000 index 0000000000..6c2e46c9f3 --- /dev/null +++ b/Lang/Trith/Loops-Foreach @@ -0,0 +1 @@ +../../Task/Loops-Foreach/Trith \ No newline at end of file diff --git a/Lang/Trith/Loops-Infinite b/Lang/Trith/Loops-Infinite new file mode 120000 index 0000000000..3cc7887f61 --- /dev/null +++ b/Lang/Trith/Loops-Infinite @@ -0,0 +1 @@ +../../Task/Loops-Infinite/Trith \ No newline at end of file diff --git a/Lang/Trith/Loops-While b/Lang/Trith/Loops-While new file mode 120000 index 0000000000..f5a62dae2e --- /dev/null +++ b/Lang/Trith/Loops-While @@ -0,0 +1 @@ +../../Task/Loops-While/Trith \ No newline at end of file diff --git a/Lang/True-BASIC/0DESCRIPTION b/Lang/True-BASIC/0DESCRIPTION new file mode 100644 index 0000000000..4d3d27c049 --- /dev/null +++ b/Lang/True-BASIC/0DESCRIPTION @@ -0,0 +1 @@ +{{stub}}{{language}} \ No newline at end of file diff --git a/Lang/Twelf/0DESCRIPTION b/Lang/Twelf/0DESCRIPTION new file mode 100644 index 0000000000..4579b2a66e --- /dev/null +++ b/Lang/Twelf/0DESCRIPTION @@ -0,0 +1,5 @@ +{{language|Twelf +|site=http://twelf.plparty.org/wiki/Main_Page +}} +Twelf is a language used to specify, implement, and prove properties of deductive systems such as programming languages and logics. Large research projects using Twelf include the TALT typed assembly language, a foundational proof-carrying-code system, and a type safety proof for Standard ML. +{{stub}} \ No newline at end of file diff --git a/Lang/UBASIC/0DESCRIPTION b/Lang/UBASIC/0DESCRIPTION new file mode 100644 index 0000000000..24309cb390 --- /dev/null +++ b/Lang/UBASIC/0DESCRIPTION @@ -0,0 +1,31 @@ +{{stub}}{{language}} + +UBASIC is a freeware BASIC interpreter written by Yuji Kida at Rikkyo University in Japan, specialized for mathematical computing. +More information and links can be found at its [[wp:UBASIC|Wikipedia article]]. + +==Sample Program== +This simple program approximates specific derivatives: + + 10 Point 6 'Sets decimal display to 28 places (0+.1^27) + 20 rf=#pi/180 'Degree -> Radian Conversion + 30 Dc=20 + 100 Q=73*rf:?Chr(2):?" F'(Q): Approximation"," Actual Value":N=1:GoSub 1000:?Using(,Dc),cos(Q):N=2:GoSub 1000:?Using(,Dc),1/Q:N=3:GoSub 1000:?Using(,Dc),#pi*Q^(#pi-1) + 999 End + 1000 '*** Print Sub *** + 1010 ?Using(,Dc),.Fp(Q);" ";:Return + 59999 End + 60000 '*** Function Assignment *** + 60100 .F(N,Q):If N=1 Then Return(sin(Q)) 'Fp=cos(Q) + 60102 If N=2 Then Return(log(Q)) 'Fp=1/Q + 60104 If N=3 Then Return(Q^#pi) 'Fp=pi*Q^(pi-1) + 60105 ?"Invalid Function Code: N must be '1' or '2' or '3'" + 60109 End + 60210 .Fp(Q):dQ=#eps^0.3:Return((.F(N,Q+0.5*dQ)-.F(N,Q-0.5*dQ))/dQ) + '' '' +'''''Run'''''ning as written gives: + + Run + 0.29237170472273672804 0.29237170472273672810 + 0.78487369196003179303 0.78487369196003179283 + 5.27771467407719816786 5.27771467407719816637 + OK \ No newline at end of file diff --git a/Lang/UC++/0DESCRIPTION b/Lang/UC++/0DESCRIPTION new file mode 100644 index 0000000000..cb38040ae3 --- /dev/null +++ b/Lang/UC++/0DESCRIPTION @@ -0,0 +1,4 @@ +{{stub}}{{language|UC++ +|site=http://www.russel.org.uk/KC++/index.html}} + +UC++ is an extension of [[C++]], incorporating in an integral way active objects, which allows the language to be used for building parallel systems. \ No newline at end of file diff --git a/Lang/UNIX-Shell/0DESCRIPTION b/Lang/UNIX-Shell/0DESCRIPTION new file mode 100644 index 0000000000..82111d1836 --- /dev/null +++ b/Lang/UNIX-Shell/0DESCRIPTION @@ -0,0 +1,25 @@ +{{language +|exec=interpreted +|tags=bash +|hopl id=568 +}}The '''UNIX Shell''' is a component of terminal-based [[UNIX]]-derived systems which offers both a command-line interface for running system commands, as well as programming interface for intelligently automating tasks which use system commands. + +=Implementation= + +There are many UNIX Shells and most of them can be categorized into two families. For purposes of the Rosetta Code, all examples are in Bourne-compatible syntax. The other family of shells, with a markedly different syntax, are ''csh'' ([[:Category:C Shell|C Shell]]) and it's ''tcsh'' (Tenex C Shell) "clone." Common Bourne compatible shells include the original [[Bourne Shell]] (''/bin/sh'' on most versions of UNIX), the GNU [[Bourne Again SHell]] (''bash'' --- which is linked to ''/bin/sh'' on many distributions of [[Linux]], making it their default shell), the [[Korn Shell]] (''ksh''), the [[Public Domain Korn SHell]] (''pdksh''), the [[Almquist SHell]] (''ash'') and the [[Debian Almquist SHell]] (''dash'') and the [[Z SHell]] (''zsh''). + + +''Main article: [[UNIX Shell Implementations]]'' + +=Language= + +While UNIX Shells vary in the programming languages they support, such languages carry a minimum set of features. Each language allows the programmer to [[Execute a System Command|execute system commands]] as though he were typing the commands himself, and each language allows for a header line which specifies which shell implementation is used to interpret the script. + +This one tells the operating system to use the [[Bourne Shell]]: + #!/bin/sh +This line tells the operating system to use the [[Bourne Again SHell]]: + #!/bin/bash +And this one tells the operating system to use the [[Korn Shell]]: + #!/bin/ksh + +Each header line consists of a hash, a bang, and the path to the [[interpreter]] binary. \ No newline at end of file diff --git a/Lang/UNIX-Shell/100-doors b/Lang/UNIX-Shell/100-doors new file mode 120000 index 0000000000..0d31ac9bce --- /dev/null +++ b/Lang/UNIX-Shell/100-doors @@ -0,0 +1 @@ +../../Task/100-doors/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/99-Bottles-of-Beer b/Lang/UNIX-Shell/99-Bottles-of-Beer new file mode 120000 index 0000000000..e4c308f51c --- /dev/null +++ b/Lang/UNIX-Shell/99-Bottles-of-Beer @@ -0,0 +1 @@ +../../Task/99-Bottles-of-Beer/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/A+B b/Lang/UNIX-Shell/A+B new file mode 120000 index 0000000000..d97a1ca94b --- /dev/null +++ b/Lang/UNIX-Shell/A+B @@ -0,0 +1 @@ +../../Task/A+B/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Accumulator-factory b/Lang/UNIX-Shell/Accumulator-factory new file mode 120000 index 0000000000..dcb27a45d9 --- /dev/null +++ b/Lang/UNIX-Shell/Accumulator-factory @@ -0,0 +1 @@ +../../Task/Accumulator-factory/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Ackermann-function b/Lang/UNIX-Shell/Ackermann-function new file mode 120000 index 0000000000..2a78199e8d --- /dev/null +++ b/Lang/UNIX-Shell/Ackermann-function @@ -0,0 +1 @@ +../../Task/Ackermann-function/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Active-Directory-Search-for-a-user b/Lang/UNIX-Shell/Active-Directory-Search-for-a-user new file mode 120000 index 0000000000..ac55acaadf --- /dev/null +++ b/Lang/UNIX-Shell/Active-Directory-Search-for-a-user @@ -0,0 +1 @@ +../../Task/Active-Directory-Search-for-a-user/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Align-columns b/Lang/UNIX-Shell/Align-columns new file mode 120000 index 0000000000..9adee1358b --- /dev/null +++ b/Lang/UNIX-Shell/Align-columns @@ -0,0 +1 @@ +../../Task/Align-columns/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Anonymous-recursion b/Lang/UNIX-Shell/Anonymous-recursion new file mode 120000 index 0000000000..cf1185907b --- /dev/null +++ b/Lang/UNIX-Shell/Anonymous-recursion @@ -0,0 +1 @@ +../../Task/Anonymous-recursion/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Apply-a-callback-to-an-array b/Lang/UNIX-Shell/Apply-a-callback-to-an-array new file mode 120000 index 0000000000..f56dc97717 --- /dev/null +++ b/Lang/UNIX-Shell/Apply-a-callback-to-an-array @@ -0,0 +1 @@ +../../Task/Apply-a-callback-to-an-array/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Arithmetic-Integer b/Lang/UNIX-Shell/Arithmetic-Integer new file mode 120000 index 0000000000..bdfc17922e --- /dev/null +++ b/Lang/UNIX-Shell/Arithmetic-Integer @@ -0,0 +1 @@ +../../Task/Arithmetic-Integer/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Array-concatenation b/Lang/UNIX-Shell/Array-concatenation new file mode 120000 index 0000000000..b84172006c --- /dev/null +++ b/Lang/UNIX-Shell/Array-concatenation @@ -0,0 +1 @@ +../../Task/Array-concatenation/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Arrays b/Lang/UNIX-Shell/Arrays new file mode 120000 index 0000000000..78f6edb06a --- /dev/null +++ b/Lang/UNIX-Shell/Arrays @@ -0,0 +1 @@ +../../Task/Arrays/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Associative-array-Iteration b/Lang/UNIX-Shell/Associative-array-Iteration new file mode 120000 index 0000000000..271b280990 --- /dev/null +++ b/Lang/UNIX-Shell/Associative-array-Iteration @@ -0,0 +1 @@ +../../Task/Associative-array-Iteration/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Averages-Arithmetic-mean b/Lang/UNIX-Shell/Averages-Arithmetic-mean new file mode 120000 index 0000000000..7ea7c186c0 --- /dev/null +++ b/Lang/UNIX-Shell/Averages-Arithmetic-mean @@ -0,0 +1 @@ +../../Task/Averages-Arithmetic-mean/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Averages-Mode b/Lang/UNIX-Shell/Averages-Mode new file mode 120000 index 0000000000..6bcf4de352 --- /dev/null +++ b/Lang/UNIX-Shell/Averages-Mode @@ -0,0 +1 @@ +../../Task/Averages-Mode/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Bitcoin-address-validation b/Lang/UNIX-Shell/Bitcoin-address-validation new file mode 120000 index 0000000000..08c5c961d8 --- /dev/null +++ b/Lang/UNIX-Shell/Bitcoin-address-validation @@ -0,0 +1 @@ +../../Task/Bitcoin-address-validation/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Boolean-values b/Lang/UNIX-Shell/Boolean-values new file mode 120000 index 0000000000..375ae4473a --- /dev/null +++ b/Lang/UNIX-Shell/Boolean-values @@ -0,0 +1 @@ +../../Task/Boolean-values/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Box-the-compass b/Lang/UNIX-Shell/Box-the-compass new file mode 120000 index 0000000000..079aedc21f --- /dev/null +++ b/Lang/UNIX-Shell/Box-the-compass @@ -0,0 +1 @@ +../../Task/Box-the-compass/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Bulls-and-cows b/Lang/UNIX-Shell/Bulls-and-cows new file mode 120000 index 0000000000..6a7a3bea2d --- /dev/null +++ b/Lang/UNIX-Shell/Bulls-and-cows @@ -0,0 +1 @@ +../../Task/Bulls-and-cows/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Calendar b/Lang/UNIX-Shell/Calendar new file mode 120000 index 0000000000..51502a92cf --- /dev/null +++ b/Lang/UNIX-Shell/Calendar @@ -0,0 +1 @@ +../../Task/Calendar/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Call-a-function b/Lang/UNIX-Shell/Call-a-function new file mode 120000 index 0000000000..d282c310cb --- /dev/null +++ b/Lang/UNIX-Shell/Call-a-function @@ -0,0 +1 @@ +../../Task/Call-a-function/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Case-sensitivity-of-identifiers b/Lang/UNIX-Shell/Case-sensitivity-of-identifiers new file mode 120000 index 0000000000..149c2bdece --- /dev/null +++ b/Lang/UNIX-Shell/Case-sensitivity-of-identifiers @@ -0,0 +1 @@ +../../Task/Case-sensitivity-of-identifiers/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Check-that-file-exists b/Lang/UNIX-Shell/Check-that-file-exists new file mode 120000 index 0000000000..56a93b2b4a --- /dev/null +++ b/Lang/UNIX-Shell/Check-that-file-exists @@ -0,0 +1 @@ +../../Task/Check-that-file-exists/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Combinations-with-repetitions b/Lang/UNIX-Shell/Combinations-with-repetitions new file mode 120000 index 0000000000..1264fc2473 --- /dev/null +++ b/Lang/UNIX-Shell/Combinations-with-repetitions @@ -0,0 +1 @@ +../../Task/Combinations-with-repetitions/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Command-line-arguments b/Lang/UNIX-Shell/Command-line-arguments new file mode 120000 index 0000000000..27cf9e01be --- /dev/null +++ b/Lang/UNIX-Shell/Command-line-arguments @@ -0,0 +1 @@ +../../Task/Command-line-arguments/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Comments b/Lang/UNIX-Shell/Comments new file mode 120000 index 0000000000..d25c3ebd46 --- /dev/null +++ b/Lang/UNIX-Shell/Comments @@ -0,0 +1 @@ +../../Task/Comments/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Conditional-structures b/Lang/UNIX-Shell/Conditional-structures new file mode 120000 index 0000000000..76717335d4 --- /dev/null +++ b/Lang/UNIX-Shell/Conditional-structures @@ -0,0 +1 @@ +../../Task/Conditional-structures/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Count-in-octal b/Lang/UNIX-Shell/Count-in-octal new file mode 120000 index 0000000000..b806f8679e --- /dev/null +++ b/Lang/UNIX-Shell/Count-in-octal @@ -0,0 +1 @@ +../../Task/Count-in-octal/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Create-a-file b/Lang/UNIX-Shell/Create-a-file new file mode 120000 index 0000000000..4ef1531547 --- /dev/null +++ b/Lang/UNIX-Shell/Create-a-file @@ -0,0 +1 @@ +../../Task/Create-a-file/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Create-a-file-on-magnetic-tape b/Lang/UNIX-Shell/Create-a-file-on-magnetic-tape new file mode 120000 index 0000000000..c322a18f66 --- /dev/null +++ b/Lang/UNIX-Shell/Create-a-file-on-magnetic-tape @@ -0,0 +1 @@ +../../Task/Create-a-file-on-magnetic-tape/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Date-format b/Lang/UNIX-Shell/Date-format new file mode 120000 index 0000000000..4aaeb3a684 --- /dev/null +++ b/Lang/UNIX-Shell/Date-format @@ -0,0 +1 @@ +../../Task/Date-format/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Date-manipulation b/Lang/UNIX-Shell/Date-manipulation new file mode 120000 index 0000000000..0018521a6e --- /dev/null +++ b/Lang/UNIX-Shell/Date-manipulation @@ -0,0 +1 @@ +../../Task/Date-manipulation/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Day-of-the-week b/Lang/UNIX-Shell/Day-of-the-week new file mode 120000 index 0000000000..4e17fefb93 --- /dev/null +++ b/Lang/UNIX-Shell/Day-of-the-week @@ -0,0 +1 @@ +../../Task/Day-of-the-week/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Deal-cards-for-FreeCell b/Lang/UNIX-Shell/Deal-cards-for-FreeCell new file mode 120000 index 0000000000..34a3d04226 --- /dev/null +++ b/Lang/UNIX-Shell/Deal-cards-for-FreeCell @@ -0,0 +1 @@ +../../Task/Deal-cards-for-FreeCell/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Delete-a-file b/Lang/UNIX-Shell/Delete-a-file new file mode 120000 index 0000000000..4024523337 --- /dev/null +++ b/Lang/UNIX-Shell/Delete-a-file @@ -0,0 +1 @@ +../../Task/Delete-a-file/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Determine-if-only-one-instance-is-running b/Lang/UNIX-Shell/Determine-if-only-one-instance-is-running new file mode 120000 index 0000000000..51b126a9f2 --- /dev/null +++ b/Lang/UNIX-Shell/Determine-if-only-one-instance-is-running @@ -0,0 +1 @@ +../../Task/Determine-if-only-one-instance-is-running/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Dinesmans-multiple-dwelling-problem b/Lang/UNIX-Shell/Dinesmans-multiple-dwelling-problem new file mode 120000 index 0000000000..8786076b30 --- /dev/null +++ b/Lang/UNIX-Shell/Dinesmans-multiple-dwelling-problem @@ -0,0 +1 @@ +../../Task/Dinesmans-multiple-dwelling-problem/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Dutch-national-flag-problem b/Lang/UNIX-Shell/Dutch-national-flag-problem new file mode 120000 index 0000000000..a257e50c77 --- /dev/null +++ b/Lang/UNIX-Shell/Dutch-national-flag-problem @@ -0,0 +1 @@ +../../Task/Dutch-national-flag-problem/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Empty-directory b/Lang/UNIX-Shell/Empty-directory new file mode 120000 index 0000000000..db3dd9dcce --- /dev/null +++ b/Lang/UNIX-Shell/Empty-directory @@ -0,0 +1 @@ +../../Task/Empty-directory/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Empty-program b/Lang/UNIX-Shell/Empty-program new file mode 120000 index 0000000000..aa572fb3d9 --- /dev/null +++ b/Lang/UNIX-Shell/Empty-program @@ -0,0 +1 @@ +../../Task/Empty-program/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Empty-string b/Lang/UNIX-Shell/Empty-string new file mode 120000 index 0000000000..fa953ffaf5 --- /dev/null +++ b/Lang/UNIX-Shell/Empty-string @@ -0,0 +1 @@ +../../Task/Empty-string/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Enforced-immutability b/Lang/UNIX-Shell/Enforced-immutability new file mode 120000 index 0000000000..a4840e79b9 --- /dev/null +++ b/Lang/UNIX-Shell/Enforced-immutability @@ -0,0 +1 @@ +../../Task/Enforced-immutability/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Ethiopian-multiplication b/Lang/UNIX-Shell/Ethiopian-multiplication new file mode 120000 index 0000000000..9c878e3ba1 --- /dev/null +++ b/Lang/UNIX-Shell/Ethiopian-multiplication @@ -0,0 +1 @@ +../../Task/Ethiopian-multiplication/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Evaluate-binomial-coefficients b/Lang/UNIX-Shell/Evaluate-binomial-coefficients new file mode 120000 index 0000000000..d3559cb85d --- /dev/null +++ b/Lang/UNIX-Shell/Evaluate-binomial-coefficients @@ -0,0 +1 @@ +../../Task/Evaluate-binomial-coefficients/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Execute-a-system-command b/Lang/UNIX-Shell/Execute-a-system-command new file mode 120000 index 0000000000..3c5fcc2eac --- /dev/null +++ b/Lang/UNIX-Shell/Execute-a-system-command @@ -0,0 +1 @@ +../../Task/Execute-a-system-command/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Extend-your-language b/Lang/UNIX-Shell/Extend-your-language new file mode 120000 index 0000000000..60e9d51a3b --- /dev/null +++ b/Lang/UNIX-Shell/Extend-your-language @@ -0,0 +1 @@ +../../Task/Extend-your-language/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Factorial b/Lang/UNIX-Shell/Factorial new file mode 120000 index 0000000000..9bebb308e8 --- /dev/null +++ b/Lang/UNIX-Shell/Factorial @@ -0,0 +1 @@ +../../Task/Factorial/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Fibonacci-sequence b/Lang/UNIX-Shell/Fibonacci-sequence new file mode 120000 index 0000000000..b290bcf44f --- /dev/null +++ b/Lang/UNIX-Shell/Fibonacci-sequence @@ -0,0 +1 @@ +../../Task/Fibonacci-sequence/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/File-IO b/Lang/UNIX-Shell/File-IO new file mode 120000 index 0000000000..0bbda5fd6e --- /dev/null +++ b/Lang/UNIX-Shell/File-IO @@ -0,0 +1 @@ +../../Task/File-IO/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/File-modification-time b/Lang/UNIX-Shell/File-modification-time new file mode 120000 index 0000000000..576251af62 --- /dev/null +++ b/Lang/UNIX-Shell/File-modification-time @@ -0,0 +1 @@ +../../Task/File-modification-time/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/File-size b/Lang/UNIX-Shell/File-size new file mode 120000 index 0000000000..6961ac5005 --- /dev/null +++ b/Lang/UNIX-Shell/File-size @@ -0,0 +1 @@ +../../Task/File-size/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Filter b/Lang/UNIX-Shell/Filter new file mode 120000 index 0000000000..5dda26b4d5 --- /dev/null +++ b/Lang/UNIX-Shell/Filter @@ -0,0 +1 @@ +../../Task/Filter/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Find-common-directory-path b/Lang/UNIX-Shell/Find-common-directory-path new file mode 120000 index 0000000000..e3e122dfdc --- /dev/null +++ b/Lang/UNIX-Shell/Find-common-directory-path @@ -0,0 +1 @@ +../../Task/Find-common-directory-path/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Find-limit-of-recursion b/Lang/UNIX-Shell/Find-limit-of-recursion new file mode 120000 index 0000000000..b8856e115c --- /dev/null +++ b/Lang/UNIX-Shell/Find-limit-of-recursion @@ -0,0 +1 @@ +../../Task/Find-limit-of-recursion/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/FizzBuzz b/Lang/UNIX-Shell/FizzBuzz new file mode 120000 index 0000000000..cbf29093a4 --- /dev/null +++ b/Lang/UNIX-Shell/FizzBuzz @@ -0,0 +1 @@ +../../Task/FizzBuzz/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Fork b/Lang/UNIX-Shell/Fork new file mode 120000 index 0000000000..758d901469 --- /dev/null +++ b/Lang/UNIX-Shell/Fork @@ -0,0 +1 @@ +../../Task/Fork/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Function-composition b/Lang/UNIX-Shell/Function-composition new file mode 120000 index 0000000000..84408a0a97 --- /dev/null +++ b/Lang/UNIX-Shell/Function-composition @@ -0,0 +1 @@ +../../Task/Function-composition/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Function-definition b/Lang/UNIX-Shell/Function-definition new file mode 120000 index 0000000000..a203f20cf9 --- /dev/null +++ b/Lang/UNIX-Shell/Function-definition @@ -0,0 +1 @@ +../../Task/Function-definition/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Greatest-common-divisor b/Lang/UNIX-Shell/Greatest-common-divisor new file mode 120000 index 0000000000..9ae1d6afbd --- /dev/null +++ b/Lang/UNIX-Shell/Greatest-common-divisor @@ -0,0 +1 @@ +../../Task/Greatest-common-divisor/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Greatest-element-of-a-list b/Lang/UNIX-Shell/Greatest-element-of-a-list new file mode 120000 index 0000000000..65cff045ab --- /dev/null +++ b/Lang/UNIX-Shell/Greatest-element-of-a-list @@ -0,0 +1 @@ +../../Task/Greatest-element-of-a-list/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Guess-the-number b/Lang/UNIX-Shell/Guess-the-number new file mode 120000 index 0000000000..bd2b60d428 --- /dev/null +++ b/Lang/UNIX-Shell/Guess-the-number @@ -0,0 +1 @@ +../../Task/Guess-the-number/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Guess-the-number-With-feedback b/Lang/UNIX-Shell/Guess-the-number-With-feedback new file mode 120000 index 0000000000..3fbcad8291 --- /dev/null +++ b/Lang/UNIX-Shell/Guess-the-number-With-feedback @@ -0,0 +1 @@ +../../Task/Guess-the-number-With-feedback/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/HTTP b/Lang/UNIX-Shell/HTTP new file mode 120000 index 0000000000..77596db7f3 --- /dev/null +++ b/Lang/UNIX-Shell/HTTP @@ -0,0 +1 @@ +../../Task/HTTP/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/HTTPS b/Lang/UNIX-Shell/HTTPS new file mode 120000 index 0000000000..6470a04884 --- /dev/null +++ b/Lang/UNIX-Shell/HTTPS @@ -0,0 +1 @@ +../../Task/HTTPS/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Hailstone-sequence b/Lang/UNIX-Shell/Hailstone-sequence new file mode 120000 index 0000000000..0dcb714340 --- /dev/null +++ b/Lang/UNIX-Shell/Hailstone-sequence @@ -0,0 +1 @@ +../../Task/Hailstone-sequence/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Handle-a-signal b/Lang/UNIX-Shell/Handle-a-signal new file mode 120000 index 0000000000..4435cc4e51 --- /dev/null +++ b/Lang/UNIX-Shell/Handle-a-signal @@ -0,0 +1 @@ +../../Task/Handle-a-signal/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Happy-numbers b/Lang/UNIX-Shell/Happy-numbers new file mode 120000 index 0000000000..747444f96f --- /dev/null +++ b/Lang/UNIX-Shell/Happy-numbers @@ -0,0 +1 @@ +../../Task/Happy-numbers/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Hello-world-Graphical b/Lang/UNIX-Shell/Hello-world-Graphical new file mode 120000 index 0000000000..f48564d477 --- /dev/null +++ b/Lang/UNIX-Shell/Hello-world-Graphical @@ -0,0 +1 @@ +../../Task/Hello-world-Graphical/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Hello-world-Line-printer b/Lang/UNIX-Shell/Hello-world-Line-printer new file mode 120000 index 0000000000..6a793ed990 --- /dev/null +++ b/Lang/UNIX-Shell/Hello-world-Line-printer @@ -0,0 +1 @@ +../../Task/Hello-world-Line-printer/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Hello-world-Newline-omission b/Lang/UNIX-Shell/Hello-world-Newline-omission new file mode 120000 index 0000000000..540a56cac1 --- /dev/null +++ b/Lang/UNIX-Shell/Hello-world-Newline-omission @@ -0,0 +1 @@ +../../Task/Hello-world-Newline-omission/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Hello-world-Standard-error b/Lang/UNIX-Shell/Hello-world-Standard-error new file mode 120000 index 0000000000..622329c085 --- /dev/null +++ b/Lang/UNIX-Shell/Hello-world-Standard-error @@ -0,0 +1 @@ +../../Task/Hello-world-Standard-error/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Hello-world-Text b/Lang/UNIX-Shell/Hello-world-Text new file mode 120000 index 0000000000..c3c4e9470a --- /dev/null +++ b/Lang/UNIX-Shell/Hello-world-Text @@ -0,0 +1 @@ +../../Task/Hello-world-Text/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Here-document b/Lang/UNIX-Shell/Here-document new file mode 120000 index 0000000000..11e05a9577 --- /dev/null +++ b/Lang/UNIX-Shell/Here-document @@ -0,0 +1 @@ +../../Task/Here-document/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Hostname b/Lang/UNIX-Shell/Hostname new file mode 120000 index 0000000000..938446c86e --- /dev/null +++ b/Lang/UNIX-Shell/Hostname @@ -0,0 +1 @@ +../../Task/Hostname/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/I-before-E-except-after-C b/Lang/UNIX-Shell/I-before-E-except-after-C new file mode 120000 index 0000000000..7511d446c8 --- /dev/null +++ b/Lang/UNIX-Shell/I-before-E-except-after-C @@ -0,0 +1 @@ +../../Task/I-before-E-except-after-C/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Include-a-file b/Lang/UNIX-Shell/Include-a-file new file mode 120000 index 0000000000..013a4dd399 --- /dev/null +++ b/Lang/UNIX-Shell/Include-a-file @@ -0,0 +1 @@ +../../Task/Include-a-file/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Increment-a-numerical-string b/Lang/UNIX-Shell/Increment-a-numerical-string new file mode 120000 index 0000000000..668e831258 --- /dev/null +++ b/Lang/UNIX-Shell/Increment-a-numerical-string @@ -0,0 +1 @@ +../../Task/Increment-a-numerical-string/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Input-loop b/Lang/UNIX-Shell/Input-loop new file mode 120000 index 0000000000..a7a55f8383 --- /dev/null +++ b/Lang/UNIX-Shell/Input-loop @@ -0,0 +1 @@ +../../Task/Input-loop/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Integer-comparison b/Lang/UNIX-Shell/Integer-comparison new file mode 120000 index 0000000000..cc2b073d0a --- /dev/null +++ b/Lang/UNIX-Shell/Integer-comparison @@ -0,0 +1 @@ +../../Task/Integer-comparison/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Integer-sequence b/Lang/UNIX-Shell/Integer-sequence new file mode 120000 index 0000000000..22dd8b4513 --- /dev/null +++ b/Lang/UNIX-Shell/Integer-sequence @@ -0,0 +1 @@ +../../Task/Integer-sequence/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Interactive-programming b/Lang/UNIX-Shell/Interactive-programming new file mode 120000 index 0000000000..1b8845ba5a --- /dev/null +++ b/Lang/UNIX-Shell/Interactive-programming @@ -0,0 +1 @@ +../../Task/Interactive-programming/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Inverted-index b/Lang/UNIX-Shell/Inverted-index new file mode 120000 index 0000000000..d622e216f8 --- /dev/null +++ b/Lang/UNIX-Shell/Inverted-index @@ -0,0 +1 @@ +../../Task/Inverted-index/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Keyboard-input-Obtain-a-Y-or-N-response b/Lang/UNIX-Shell/Keyboard-input-Obtain-a-Y-or-N-response new file mode 120000 index 0000000000..09d8d89a75 --- /dev/null +++ b/Lang/UNIX-Shell/Keyboard-input-Obtain-a-Y-or-N-response @@ -0,0 +1 @@ +../../Task/Keyboard-input-Obtain-a-Y-or-N-response/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Knuth-shuffle b/Lang/UNIX-Shell/Knuth-shuffle new file mode 120000 index 0000000000..0c9bb20c94 --- /dev/null +++ b/Lang/UNIX-Shell/Knuth-shuffle @@ -0,0 +1 @@ +../../Task/Knuth-shuffle/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Last-Friday-of-each-month b/Lang/UNIX-Shell/Last-Friday-of-each-month new file mode 120000 index 0000000000..f2d29039d2 --- /dev/null +++ b/Lang/UNIX-Shell/Last-Friday-of-each-month @@ -0,0 +1 @@ +../../Task/Last-Friday-of-each-month/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Leap-year b/Lang/UNIX-Shell/Leap-year new file mode 120000 index 0000000000..d532a955a7 --- /dev/null +++ b/Lang/UNIX-Shell/Leap-year @@ -0,0 +1 @@ +../../Task/Leap-year/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Least-common-multiple b/Lang/UNIX-Shell/Least-common-multiple new file mode 120000 index 0000000000..6ac9f44c3a --- /dev/null +++ b/Lang/UNIX-Shell/Least-common-multiple @@ -0,0 +1 @@ +../../Task/Least-common-multiple/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Literals-Integer b/Lang/UNIX-Shell/Literals-Integer new file mode 120000 index 0000000000..4a6010a20d --- /dev/null +++ b/Lang/UNIX-Shell/Literals-Integer @@ -0,0 +1 @@ +../../Task/Literals-Integer/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Literals-String b/Lang/UNIX-Shell/Literals-String new file mode 120000 index 0000000000..9b1a2006e4 --- /dev/null +++ b/Lang/UNIX-Shell/Literals-String @@ -0,0 +1 @@ +../../Task/Literals-String/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Loop-over-multiple-arrays-simultaneously b/Lang/UNIX-Shell/Loop-over-multiple-arrays-simultaneously new file mode 120000 index 0000000000..987cacd3f8 --- /dev/null +++ b/Lang/UNIX-Shell/Loop-over-multiple-arrays-simultaneously @@ -0,0 +1 @@ +../../Task/Loop-over-multiple-arrays-simultaneously/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Loops-Break b/Lang/UNIX-Shell/Loops-Break new file mode 120000 index 0000000000..a42eadfd33 --- /dev/null +++ b/Lang/UNIX-Shell/Loops-Break @@ -0,0 +1 @@ +../../Task/Loops-Break/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Loops-Continue b/Lang/UNIX-Shell/Loops-Continue new file mode 120000 index 0000000000..0852e368f1 --- /dev/null +++ b/Lang/UNIX-Shell/Loops-Continue @@ -0,0 +1 @@ +../../Task/Loops-Continue/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Loops-Do-while b/Lang/UNIX-Shell/Loops-Do-while new file mode 120000 index 0000000000..f761b82125 --- /dev/null +++ b/Lang/UNIX-Shell/Loops-Do-while @@ -0,0 +1 @@ +../../Task/Loops-Do-while/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Loops-Downward-for b/Lang/UNIX-Shell/Loops-Downward-for new file mode 120000 index 0000000000..84eb6d8e32 --- /dev/null +++ b/Lang/UNIX-Shell/Loops-Downward-for @@ -0,0 +1 @@ +../../Task/Loops-Downward-for/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Loops-For b/Lang/UNIX-Shell/Loops-For new file mode 120000 index 0000000000..261034959b --- /dev/null +++ b/Lang/UNIX-Shell/Loops-For @@ -0,0 +1 @@ +../../Task/Loops-For/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Loops-For-with-a-specified-step b/Lang/UNIX-Shell/Loops-For-with-a-specified-step new file mode 120000 index 0000000000..14b8f0144a --- /dev/null +++ b/Lang/UNIX-Shell/Loops-For-with-a-specified-step @@ -0,0 +1 @@ +../../Task/Loops-For-with-a-specified-step/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Loops-Foreach b/Lang/UNIX-Shell/Loops-Foreach new file mode 120000 index 0000000000..3b7d6410aa --- /dev/null +++ b/Lang/UNIX-Shell/Loops-Foreach @@ -0,0 +1 @@ +../../Task/Loops-Foreach/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Loops-Infinite b/Lang/UNIX-Shell/Loops-Infinite new file mode 120000 index 0000000000..1f9a8e7e11 --- /dev/null +++ b/Lang/UNIX-Shell/Loops-Infinite @@ -0,0 +1 @@ +../../Task/Loops-Infinite/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Loops-N-plus-one-half b/Lang/UNIX-Shell/Loops-N-plus-one-half new file mode 120000 index 0000000000..5f888d7e34 --- /dev/null +++ b/Lang/UNIX-Shell/Loops-N-plus-one-half @@ -0,0 +1 @@ +../../Task/Loops-N-plus-one-half/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Loops-Nested b/Lang/UNIX-Shell/Loops-Nested new file mode 120000 index 0000000000..3dd0676c23 --- /dev/null +++ b/Lang/UNIX-Shell/Loops-Nested @@ -0,0 +1 @@ +../../Task/Loops-Nested/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Loops-While b/Lang/UNIX-Shell/Loops-While new file mode 120000 index 0000000000..28e2dfcbb3 --- /dev/null +++ b/Lang/UNIX-Shell/Loops-While @@ -0,0 +1 @@ +../../Task/Loops-While/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/MD5 b/Lang/UNIX-Shell/MD5 new file mode 120000 index 0000000000..520b11ca83 --- /dev/null +++ b/Lang/UNIX-Shell/MD5 @@ -0,0 +1 @@ +../../Task/MD5/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Matrix-multiplication b/Lang/UNIX-Shell/Matrix-multiplication new file mode 120000 index 0000000000..9fae7b1ca6 --- /dev/null +++ b/Lang/UNIX-Shell/Matrix-multiplication @@ -0,0 +1 @@ +../../Task/Matrix-multiplication/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Menu b/Lang/UNIX-Shell/Menu new file mode 120000 index 0000000000..7e478ee1e9 --- /dev/null +++ b/Lang/UNIX-Shell/Menu @@ -0,0 +1 @@ +../../Task/Menu/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Middle-three-digits b/Lang/UNIX-Shell/Middle-three-digits new file mode 120000 index 0000000000..002e766c18 --- /dev/null +++ b/Lang/UNIX-Shell/Middle-three-digits @@ -0,0 +1 @@ +../../Task/Middle-three-digits/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Monty-Hall-problem b/Lang/UNIX-Shell/Monty-Hall-problem new file mode 120000 index 0000000000..6039baf99d --- /dev/null +++ b/Lang/UNIX-Shell/Monty-Hall-problem @@ -0,0 +1 @@ +../../Task/Monty-Hall-problem/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Mutual-recursion b/Lang/UNIX-Shell/Mutual-recursion new file mode 120000 index 0000000000..6f372fe404 --- /dev/null +++ b/Lang/UNIX-Shell/Mutual-recursion @@ -0,0 +1 @@ +../../Task/Mutual-recursion/UNIX-Shell \ No newline at end of file diff --git a/Lang/UNIX-Shell/Quine b/Lang/UNIX-Shell/Quine new file mode 120000 index 0000000000..977c24570d --- /dev/null +++ b/Lang/UNIX-Shell/Quine @@ -0,0 +1 @@ +../../Task/Quine/UNIX-Shell \ No newline at end of file diff --git a/Lang/UScript/0DESCRIPTION b/Lang/UScript/0DESCRIPTION new file mode 100644 index 0000000000..c7f8f4b939 --- /dev/null +++ b/Lang/UScript/0DESCRIPTION @@ -0,0 +1,15 @@ +{{language|UScript + +|LCT=no +}} +{{Wikipedia|UScript}} +UnrealScript (often abbreviated to UScript) is the scripting language of the Unreal Engine and is used for authoring game code and gameplay events. + +Similar in basic design principles to Java, UnrealScript has object-oriented features and is recognizable as a member of the curly brace family. As in Java, UnrealScript does not support multiple inheritance; classes all inherit from a common Object class and are defined in individual files named after each class. Unlike Java, UnrealScript is case-insensitive, and does not have object wrappers for primitive types. Interfaces are only supported in Unreal Engine generation 3 and a few Unreal Engine 2 games. UnrealScript supports operator overloading, but not method overloading, except for optional parameters. + +The language was also designed for simple, high-level game programming. The UnrealScript interpreter was programmed by Tim Sweeney, who had also created an earlier game scripting language called ZZT-oop. + +By making the process of modifying the game easier, UnrealScript helped enable the growth of a large community of people on the Internet dedicated to modifying Unreal. This ability greatly added to the overall longevity of Unreal and provided an incentive for new development. +{{Stub}} +== See Also == +*[http://wiki.beyondunreal.com/UnrealScript UnrealScript] \ No newline at end of file diff --git a/Lang/Unicon/0DESCRIPTION b/Lang/Unicon/0DESCRIPTION new file mode 100644 index 0000000000..053e65279e --- /dev/null +++ b/Lang/Unicon/0DESCRIPTION @@ -0,0 +1,81 @@ +{{language|Unicon +|site=http://unicon.org/ +|exec=bytecode +|parampass=value +|strength=strong +|safety=safe +|express=implicit +|checking=dynamic +|gc=yes +|LCT=yes +}} +{{virtual machine}} +{{language programming paradigm|Procedural}} +{{language programming paradigm|Dynamic}} +{{language programming paradigm|Object-oriented}} +{{language programming paradigm|Logic_Programming}} +{{Language programming paradigm|Concurrent}} + +Unicon is a unification of several extended dialects of the [[derived from::Icon]] language, featuring Icon plus classes, POSIX system facilities, GDBM and ODBC-based (SQL) database access, packages, 3D graphics and more, all provided at a very high semantic level. + +In addition to Icon, Unicon draws from: +* IDOL an object-oriented Icon preprocessor +* MTIcon a multi-threading Icon. (Most recently, in version 12, improved multi-threading capabilities were added.) + +While Unicon is mostly a super-set of Icon there are some differences and incompatibilities. + +Icon itself is an evolution of the line of languages [[wp:COMIT|COMIT]], SNOBOL, [[:Category:SNOBOL4|SNOBOL4]], and SL5. + +== Introduction to Icon and Unicon == +If you want to learn more about these languages please see [[Icon%2BUnicon/Intro|An introduction to Icon and Unicon for Rosetta Code]]. + +The following are related: +* [[:Category:Icon_Programming_Library|The Icon Programming Library]] +* [[:Category:Unicon_Code_Library|The Unicon Code Library]] + +== External Links and References == +=== Home Pages === +* [http://unicon.org/ Unicon home page on Sourceforge] +* [http://www.cs.arizona.edu/icon/ The Icon home page at the University of Arizona] + +=== Books === +==== General ==== +* [http://unicon.org/book/ub.pdf Book: Programming with Unicon describing the language, the Icon Programming Library and Unicon extensions] +* [http://www.cs.arizona.edu/icon/ftp/doc/lb1up.pdf Book: The Icon Programming Language, 3rd Edition] +* [http://www.cs.arizona.edu/icon/ftp/doc/gb1up.pdf Book: Graphics Programming in Icon] +* [http://www.tools-of-computing.com/tc/CS/iconprog.pdf Book: Icon Programming Language Handbook] +* [http://www2.cs.uidaho.edu/~jeffery/icon/humanists/humanist.pdf Book: Icon Programming for Humanists] + +==== Internals ==== +* [http://unicon.sourceforge.net/book/ib.pdf The Implementation of Icon and Unicon a Compendium]] +** [http://unicon.sourceforge.net/reports.html Unicon Technical Reports and works in progress] +* [http://www.cs.arizona.edu/icon/ftp/doc/ib1up.pdf The Implementation of the Icon Programming Language] +** [http://www.cs.arizona.edu/icon/docs/ipd112.htm IPD112 Supplement to Version 8] +** [http://www.cs.arizona.edu/icon/docs/ipd239.htm IPD239 Supplement to Version 9] +** [http://www.cs.arizona.edu/icon/docs/docs.htm Icon Technical Reports (TR) and Project Documents (IDP)] + +=== Articles and Newsletters === +* [http://unicon.org/generator/ Archived issues of the Generator from 2004-2005 discussing Unicon programming] +* [http://www.cs.arizona.edu/icon/inl/inl.htm Archived issues of the Icon Newsletter from 1979-2000 discussing Icon programming] +* [http://www.cs.arizona.edu/icon/analyst/ia.htm Archived issues of the Icon Analysts from 1990-2001 discussing advanced Icon programming] + +=== Programming References === +* [http://www.cs.arizona.edu/icon/library/ipl.htm The Icon Programming Library and index] +* [https://tapestry.tucson.az.us/twiki/bin/view/Main/WebHome Unicon Discussion Web/TWiki containing various programming examples, problems, and challenges] + +=== Other === +* [[wp:Unicon_(programming_language)|Wikipedia: Unicon]] +* [[wp:Icon_%28programming_language%29|Wikipedia: Icon]] +* [http://www.mitchellsoftwareengineering.com/icon/icon.sli.pdf Presentation: Fundamentals of Icon Programming] +* [http://www.pclosmag.com/html/Issues/201101/page17.html PC Linux OS Magazine, Volume 48, Computer Languages From A to Z: Unicon] +===Related/Variants=== +* [[Jcon]] +* [[ObjectIcon]] + +== Other RosettaCode Wiki Links == +* [[:Category_talk:Unicon|The Discussion Tab for this page]] Lots of notes about things to do, help wanted, ideas, and guidance on formatting and markup +* [[Reports:Tasks_not_implemented_in_Unicon|Tasks not yet implemented]] Tasks that need to be coded +** [[Icon%2BUnicon/Analysis_of_UnimplementedTasks]] for an analysis of the groupings of these tasks (taken at a point in time) +* [[:Category:Unicon/Omit|Unimplementable tasks]] Tasks that cannot be implemented in the language +* [[:Category:Unicon_examples_needing_attention|Tasks requiring attention]] Tasks that could be improved +* [[Special:MostLinkedCategories|Most Linked Categories]] shows how many pages various languages (and other categories) have. \ No newline at end of file diff --git a/Lang/Unicon/Accumulator-factory b/Lang/Unicon/Accumulator-factory new file mode 120000 index 0000000000..edf71363f7 --- /dev/null +++ b/Lang/Unicon/Accumulator-factory @@ -0,0 +1 @@ +../../Task/Accumulator-factory/Unicon \ No newline at end of file diff --git a/Lang/Unicon/Average-loop-length b/Lang/Unicon/Average-loop-length new file mode 120000 index 0000000000..d2e9aa441a --- /dev/null +++ b/Lang/Unicon/Average-loop-length @@ -0,0 +1 @@ +../../Task/Average-loop-length/Unicon \ No newline at end of file diff --git a/Lang/Unicon/Identity-matrix b/Lang/Unicon/Identity-matrix new file mode 120000 index 0000000000..cad86066a9 --- /dev/null +++ b/Lang/Unicon/Identity-matrix @@ -0,0 +1 @@ +../../Task/Identity-matrix/Unicon \ No newline at end of file diff --git a/Lang/UnixPipes/0DESCRIPTION b/Lang/UnixPipes/0DESCRIPTION new file mode 100644 index 0000000000..8a315a0473 --- /dev/null +++ b/Lang/UnixPipes/0DESCRIPTION @@ -0,0 +1,38 @@ +{{language +|hopl=no +}} +''UnixPipes is really the same language as [[:Category:UNIX Shell|UNIX Shell]].'' + +'''Unix Pipes''' is a collection of tools which doesn't use any Turing complete sublanguages. The idea of the system is to solve programming problems using only the pipelines alone. The tools are not restricted to the commonly available tools in [[UNIX]]. Any new tool is allowed as long as it is sharp enough. (i.e does one and only one thing very well). + +If a new tool is introduced, a description of the tool is required. + +Using utilities from, [http://packages.debian.org/unstable/utils/moreutils moreutils] + +'''unfold''' + +Defining unfold as the opposite of xargs, i.e take a list of arguments and send them one at a time. +The definition would be +
import function, that is largely borrowed from [[Lua]] (only the idea, not the code). Despite that, Vox is ''not'' compatible with Squirrel.
\ No newline at end of file
diff --git a/Lang/Vox/99-Bottles-of-Beer b/Lang/Vox/99-Bottles-of-Beer
new file mode 120000
index 0000000000..d95745e4b1
--- /dev/null
+++ b/Lang/Vox/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/Vox
\ No newline at end of file
diff --git a/Lang/WML/0DESCRIPTION b/Lang/WML/0DESCRIPTION
new file mode 100644
index 0000000000..4d9b2e4e56
--- /dev/null
+++ b/Lang/WML/0DESCRIPTION
@@ -0,0 +1,14 @@
+{{language
+|site=http://wiki.wesnoth.org/ReferenceWML
+|tags=wml
+|hopl=no
+}}
+''Wesnoth Markup Language'' or '''WML''' is the configuration format for its computer game, [http://www.wesnoth.org/ ''the Battle for Wesnoth'']. WML files are plain text and consist of tags; and tags can contain key-value pairs and nested tags. WML describes parts of the game, such as units (like Elvish Fighters and Orcish Grunts) that do battle, and scenarios where armies must fight.
+
+[http://wiki.wesnoth.org/ActionWML ActionWML] responds to events during a scenario. ActionWML qualifies WML as a scripting language. The actions include modifying units, displaying message boxes, accessing variables, using [if] and [while] control structures, and so on.
+
+WML also includes a few sub-languages:
+
+* [http://wiki.wesnoth.org/PreprocessorRef WML Preprocessor] allows macros in WML files. Macros are good for brevity, because a one-line macro might expand to a multi-line tag. Wesnoth also has many predefined macros.
+* [http://wiki.wesnoth.org/FormulaAI FormulaAI] is a pure functional language. Its purpose is to customize AI of armies under computer control, but it can also do arithmetic and define functions.
+* [http://wiki.wesnoth.org/LuaWML LuaWML] embeds [[:Category:Lua|Lua]] inside WML. This is also the only way to define a custom WML tag.
\ No newline at end of file
diff --git a/Lang/Whenever/0DESCRIPTION b/Lang/Whenever/0DESCRIPTION
new file mode 100644
index 0000000000..bd632a3114
--- /dev/null
+++ b/Lang/Whenever/0DESCRIPTION
@@ -0,0 +1,9 @@
+{{stub}}
+{{language
+|site=http://www.dangermouse.net/esoteric/whenever.html
+|LCT=no
+|exec=interpreted
+}}
+Whenever is a programming language which has no sense of urgency. It does things whenever it feels like it, not in any sequence specified by the programmer.
+
+[[Category:Esoteric Languages]]
\ No newline at end of file
diff --git a/Lang/Whenever/99-Bottles-of-Beer b/Lang/Whenever/99-Bottles-of-Beer
new file mode 120000
index 0000000000..7d47743918
--- /dev/null
+++ b/Lang/Whenever/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/Whenever
\ No newline at end of file
diff --git a/Lang/Whenever/Hello-world-Text b/Lang/Whenever/Hello-world-Text
new file mode 120000
index 0000000000..ad1520df93
--- /dev/null
+++ b/Lang/Whenever/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Whenever
\ No newline at end of file
diff --git a/Lang/Whitespace/0DESCRIPTION b/Lang/Whitespace/0DESCRIPTION
new file mode 100644
index 0000000000..a85f14cdf9
--- /dev/null
+++ b/Lang/Whitespace/0DESCRIPTION
@@ -0,0 +1,8 @@
+{{language
+|site=http://compsoc.dur.ac.uk/whitespace/
+|exec=interpreted
+|tags=whitespace
+|hopl=no
+|LCT=no
+}}
+Whitespace is a language in which non whitespace characters are ignored; only spaces, tabs and newlines are considered syntax.
\ No newline at end of file
diff --git a/Lang/Whitespace/A+B b/Lang/Whitespace/A+B
new file mode 120000
index 0000000000..d7b8e006a1
--- /dev/null
+++ b/Lang/Whitespace/A+B
@@ -0,0 +1 @@
+../../Task/A+B/Whitespace
\ No newline at end of file
diff --git a/Lang/Whitespace/Count-in-octal b/Lang/Whitespace/Count-in-octal
new file mode 120000
index 0000000000..95d5306fb2
--- /dev/null
+++ b/Lang/Whitespace/Count-in-octal
@@ -0,0 +1 @@
+../../Task/Count-in-octal/Whitespace
\ No newline at end of file
diff --git a/Lang/Whitespace/Fibonacci-sequence b/Lang/Whitespace/Fibonacci-sequence
new file mode 120000
index 0000000000..da2acc5845
--- /dev/null
+++ b/Lang/Whitespace/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/Whitespace
\ No newline at end of file
diff --git a/Lang/Whitespace/FizzBuzz b/Lang/Whitespace/FizzBuzz
new file mode 120000
index 0000000000..03bdfd6026
--- /dev/null
+++ b/Lang/Whitespace/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Whitespace
\ No newline at end of file
diff --git a/Lang/Whitespace/Harshad-or-Niven-series b/Lang/Whitespace/Harshad-or-Niven-series
new file mode 120000
index 0000000000..8935574cc5
--- /dev/null
+++ b/Lang/Whitespace/Harshad-or-Niven-series
@@ -0,0 +1 @@
+../../Task/Harshad-or-Niven-series/Whitespace
\ No newline at end of file
diff --git a/Lang/Whitespace/Langtons-ant b/Lang/Whitespace/Langtons-ant
new file mode 120000
index 0000000000..69073e8069
--- /dev/null
+++ b/Lang/Whitespace/Langtons-ant
@@ -0,0 +1 @@
+../../Task/Langtons-ant/Whitespace
\ No newline at end of file
diff --git a/Lang/Whitespace/Letter-frequency b/Lang/Whitespace/Letter-frequency
new file mode 120000
index 0000000000..ace5e89845
--- /dev/null
+++ b/Lang/Whitespace/Letter-frequency
@@ -0,0 +1 @@
+../../Task/Letter-frequency/Whitespace
\ No newline at end of file
diff --git a/Lang/Whitespace/Loops-While b/Lang/Whitespace/Loops-While
new file mode 120000
index 0000000000..9855d3f7c0
--- /dev/null
+++ b/Lang/Whitespace/Loops-While
@@ -0,0 +1 @@
+../../Task/Loops-While/Whitespace
\ No newline at end of file
diff --git a/Lang/Wrapl/0DESCRIPTION b/Lang/Wrapl/0DESCRIPTION
new file mode 100644
index 0000000000..1f5ef4cd1f
--- /dev/null
+++ b/Lang/Wrapl/0DESCRIPTION
@@ -0,0 +1,14 @@
+{{language|Wrapl
+site=http://wrapl.sourceforge.net/
+|exec=interpreted
+|parampass=reference
+|LCT=no
+}}
+Wrapl is a dynamic programming language designed for various programming tasks including rapid prototyping, scripts and [[GUI]] application development.
+
+The key features in Wrapl include:
+* [[Object-oriented]]: Every value in Wrapl is an object with a type which is known at [[run time]]. The types form a hierarchy with [[multiple inheritance]].
+* Multiple-dispatch: Method dispatch in Wrapl depends on the types and values of all of their arguments.
+* Pass-by-reference: Wrapl allows variables to be passed by reference to other functions.
+* Functional [[closures]]: Functions in Wrapl are first-class objects which may passed to other functions or stored in variables. Functions can both read and write variables declared in surrounding scopes.
+* Goal-directed: Every expression in Wrapl can produce 0, 1, or more values. An expression which can produce more than 1 value may be resumed to produce its next value.
\ No newline at end of file
diff --git a/Lang/Wrapl/100-doors b/Lang/Wrapl/100-doors
new file mode 120000
index 0000000000..0beee7ee47
--- /dev/null
+++ b/Lang/Wrapl/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/Wrapl
\ No newline at end of file
diff --git a/Lang/Wrapl/99-Bottles-of-Beer b/Lang/Wrapl/99-Bottles-of-Beer
new file mode 120000
index 0000000000..a4f1b88b42
--- /dev/null
+++ b/Lang/Wrapl/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/Wrapl
\ No newline at end of file
diff --git a/Lang/Wrapl/Conditional-structures b/Lang/Wrapl/Conditional-structures
new file mode 120000
index 0000000000..ce615cc6d1
--- /dev/null
+++ b/Lang/Wrapl/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/Wrapl
\ No newline at end of file
diff --git a/Lang/Wrapl/Factorial b/Lang/Wrapl/Factorial
new file mode 120000
index 0000000000..a757047930
--- /dev/null
+++ b/Lang/Wrapl/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/Wrapl
\ No newline at end of file
diff --git a/Lang/Wrapl/Fibonacci-sequence b/Lang/Wrapl/Fibonacci-sequence
new file mode 120000
index 0000000000..b1823e3496
--- /dev/null
+++ b/Lang/Wrapl/Fibonacci-sequence
@@ -0,0 +1 @@
+../../Task/Fibonacci-sequence/Wrapl
\ No newline at end of file
diff --git a/Lang/Wrapl/Filter b/Lang/Wrapl/Filter
new file mode 120000
index 0000000000..3a9905f171
--- /dev/null
+++ b/Lang/Wrapl/Filter
@@ -0,0 +1 @@
+../../Task/Filter/Wrapl
\ No newline at end of file
diff --git a/Lang/Wrapl/List-comprehensions b/Lang/Wrapl/List-comprehensions
new file mode 120000
index 0000000000..022c3c1d7a
--- /dev/null
+++ b/Lang/Wrapl/List-comprehensions
@@ -0,0 +1 @@
+../../Task/List-comprehensions/Wrapl
\ No newline at end of file
diff --git a/Lang/X10/0DESCRIPTION b/Lang/X10/0DESCRIPTION
new file mode 100644
index 0000000000..785c30624b
--- /dev/null
+++ b/Lang/X10/0DESCRIPTION
@@ -0,0 +1,5 @@
+{{stub}}{{language|X10
+|site=http://x10-lang.org/
+}}
+
+X10 is a programming language being developed by IBM at the Thomas J. Watson Research Center as part of the Productive, Easy-to-use, Reliable Computing System (PERCS) project funded by DARPA's High Productivity Computing Systems (HPCS) program. Its primary authors are Kemal Ebcioğlu, Vijay Saraswat, and Vivek Sarkar.
\ No newline at end of file
diff --git a/Lang/X86-Assembly/0DESCRIPTION b/Lang/X86-Assembly/0DESCRIPTION
new file mode 100644
index 0000000000..c9b9f3b5fe
--- /dev/null
+++ b/Lang/X86-Assembly/0DESCRIPTION
@@ -0,0 +1,3 @@
+{{stub}}{{language}}{{assembler language}}
+
+[[Category:Assembly]]
\ No newline at end of file
diff --git a/Lang/X86-Assembly/99-Bottles-of-Beer b/Lang/X86-Assembly/99-Bottles-of-Beer
new file mode 120000
index 0000000000..41d51d1a5f
--- /dev/null
+++ b/Lang/X86-Assembly/99-Bottles-of-Beer
@@ -0,0 +1 @@
+../../Task/99-Bottles-of-Beer/X86-Assembly
\ No newline at end of file
diff --git a/Lang/X86-Assembly/A+B b/Lang/X86-Assembly/A+B
new file mode 120000
index 0000000000..91fe403079
--- /dev/null
+++ b/Lang/X86-Assembly/A+B
@@ -0,0 +1 @@
+../../Task/A+B/X86-Assembly
\ No newline at end of file
diff --git a/Lang/X86-Assembly/Arrays b/Lang/X86-Assembly/Arrays
new file mode 120000
index 0000000000..649e36c0d3
--- /dev/null
+++ b/Lang/X86-Assembly/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/X86-Assembly
\ No newline at end of file
diff --git a/Lang/X86-Assembly/Calendar-for-real-programmers b/Lang/X86-Assembly/Calendar-for-real-programmers
new file mode 120000
index 0000000000..7898a19dd9
--- /dev/null
+++ b/Lang/X86-Assembly/Calendar-for-real-programmers
@@ -0,0 +1 @@
+../../Task/Calendar-for-real-programmers/X86-Assembly
\ No newline at end of file
diff --git a/Lang/X86-Assembly/Conditional-structures b/Lang/X86-Assembly/Conditional-structures
new file mode 120000
index 0000000000..1bc3965485
--- /dev/null
+++ b/Lang/X86-Assembly/Conditional-structures
@@ -0,0 +1 @@
+../../Task/Conditional-structures/X86-Assembly
\ No newline at end of file
diff --git a/Lang/X86-Assembly/Create-a-file b/Lang/X86-Assembly/Create-a-file
new file mode 120000
index 0000000000..5ed870af9e
--- /dev/null
+++ b/Lang/X86-Assembly/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/X86-Assembly
\ No newline at end of file
diff --git a/Lang/X86-Assembly/Delete-a-file b/Lang/X86-Assembly/Delete-a-file
new file mode 120000
index 0000000000..19dfb2fb8a
--- /dev/null
+++ b/Lang/X86-Assembly/Delete-a-file
@@ -0,0 +1 @@
+../../Task/Delete-a-file/X86-Assembly
\ No newline at end of file
diff --git a/Lang/X86-Assembly/Empty-program b/Lang/X86-Assembly/Empty-program
new file mode 120000
index 0000000000..599f18da4b
--- /dev/null
+++ b/Lang/X86-Assembly/Empty-program
@@ -0,0 +1 @@
+../../Task/Empty-program/X86-Assembly
\ No newline at end of file
diff --git a/Lang/X86-Assembly/Fork b/Lang/X86-Assembly/Fork
new file mode 120000
index 0000000000..1fcc852c4f
--- /dev/null
+++ b/Lang/X86-Assembly/Fork
@@ -0,0 +1 @@
+../../Task/Fork/X86-Assembly
\ No newline at end of file
diff --git a/Lang/X86-Assembly/Function-definition b/Lang/X86-Assembly/Function-definition
new file mode 120000
index 0000000000..47d88bdae9
--- /dev/null
+++ b/Lang/X86-Assembly/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/X86-Assembly
\ No newline at end of file
diff --git a/Lang/X86-Assembly/Handle-a-signal b/Lang/X86-Assembly/Handle-a-signal
new file mode 120000
index 0000000000..d880bfedd3
--- /dev/null
+++ b/Lang/X86-Assembly/Handle-a-signal
@@ -0,0 +1 @@
+../../Task/Handle-a-signal/X86-Assembly
\ No newline at end of file
diff --git a/Lang/X86-Assembly/Haversine-formula b/Lang/X86-Assembly/Haversine-formula
new file mode 120000
index 0000000000..ac1fb4d572
--- /dev/null
+++ b/Lang/X86-Assembly/Haversine-formula
@@ -0,0 +1 @@
+../../Task/Haversine-formula/X86-Assembly
\ No newline at end of file
diff --git a/Lang/X86-Assembly/Hello-world-Graphical b/Lang/X86-Assembly/Hello-world-Graphical
new file mode 120000
index 0000000000..38ab3a2a92
--- /dev/null
+++ b/Lang/X86-Assembly/Hello-world-Graphical
@@ -0,0 +1 @@
+../../Task/Hello-world-Graphical/X86-Assembly
\ No newline at end of file
diff --git a/Lang/X86-Assembly/Hello-world-Standard-error b/Lang/X86-Assembly/Hello-world-Standard-error
new file mode 120000
index 0000000000..ab2783056e
--- /dev/null
+++ b/Lang/X86-Assembly/Hello-world-Standard-error
@@ -0,0 +1 @@
+../../Task/Hello-world-Standard-error/X86-Assembly
\ No newline at end of file
diff --git a/Lang/X86-Assembly/Hello-world-Text b/Lang/X86-Assembly/Hello-world-Text
new file mode 120000
index 0000000000..5994aa4f9f
--- /dev/null
+++ b/Lang/X86-Assembly/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/X86-Assembly
\ No newline at end of file
diff --git a/Lang/X86-Assembly/Loops-Infinite b/Lang/X86-Assembly/Loops-Infinite
new file mode 120000
index 0000000000..201d565a67
--- /dev/null
+++ b/Lang/X86-Assembly/Loops-Infinite
@@ -0,0 +1 @@
+../../Task/Loops-Infinite/X86-Assembly
\ No newline at end of file
diff --git a/Lang/X86-Assembly/Main-step-of-GOST-28147-89 b/Lang/X86-Assembly/Main-step-of-GOST-28147-89
new file mode 120000
index 0000000000..bdf24138ea
--- /dev/null
+++ b/Lang/X86-Assembly/Main-step-of-GOST-28147-89
@@ -0,0 +1 @@
+../../Task/Main-step-of-GOST-28147-89/X86-Assembly
\ No newline at end of file
diff --git a/Lang/XBase/0DESCRIPTION b/Lang/XBase/0DESCRIPTION
new file mode 100644
index 0000000000..1f1facf0a9
--- /dev/null
+++ b/Lang/XBase/0DESCRIPTION
@@ -0,0 +1,23 @@
+{{stub}}{{language|XBase
+|LCT=no
+}}
+{{Wikipedia}}
+XBase is the generic term for all programming languages that derive from the original dBASE (Ashton-Tate) programming language and database formats. These are sometimes informally known as dBASE "clones". While there was a non-commercial predecessor to the Ashton-Tate product (Vulcan written by Wayne Ratliff), most clones are based on Ashton-Tate's 1986 dBASE III+ release — scripts written in the dBASE III+ dialect are most likely to run on all the clones.
+
+== Implementations ==
+* [http://www.vistasoftware.com/ Apollo database engine] for managing CA-Clipper and FoxPro from Vista Software
+* Clipper, Visual Objects (Windows 32) and Vulcan.NET from [http://www.grafxsoft.com/ GrafxSoft]
+* [http://dbase.com/ dBase Inc]'s dBASE
+* [http://www.dbfview.com/ DBFView], DBF editor/viewer/converter
+* FlagShip from [http://www.fship.com/ multisoft GmbH]
+* Recital from [http://www.recital.com/ Recital Corp.]
+* [http://msdn.microsoft.com/en-au/vfoxpro/default.aspx Visual FoxPro] is available from Microsoft
+* [http://www.govulcan.net/portal/ Vulcan.NET]
+* XBase++ from [http://www.alaska-software.com/products/xpp/xpp.shtm Alaska Software]
+* xHarbour Builder from [http://www.xharbour.com/ xHarbour.com Inc.]
+* [http://www.dbf2002.com/ DBF Viewer 2000]
+* DBF tools from [http://astersoft.com/ Astersoft Co. Ltd.]
+* [http://www.itk.ru/english/index.shtml CLIP]
+* the [http://www.harbour-project.org/ Harbour Project]
+* [http://www.xharbour.org/ xHarbour]
+* [http://www.xailer.com Xailer]
\ No newline at end of file
diff --git a/Lang/XL/0DESCRIPTION b/Lang/XL/0DESCRIPTION
new file mode 100644
index 0000000000..569147b871
--- /dev/null
+++ b/Lang/XL/0DESCRIPTION
@@ -0,0 +1,10 @@
+{{stub}}{{language|XL
+|site=http://xlr.sourceforge.net/}}
+XL stands for "Extensible Language". It's a programming language designed to address the challenges faced by programmers today. It addresses these challenges not by adding language features, but by making it easy and safe for any programmer to add features themselves.
+
+XL has no primitive types nor keywords. All useful operators and data types, like integers or addition, are defined in the standard library
+
+XL features programmer-reconfigurable syntax and semantics. Compiler plug-ins can be used to add new features to the language. A base set of plug-ins implements a relatively standard imperative language. Programmers can write their own plug-ins to implement application-specific notations which can then be used similarly to built-in language features.
+
+==See Also==
+* [[wp:XL_(programming_language)|Wikipedia: XL]]
\ No newline at end of file
diff --git a/Lang/XL/Factorial b/Lang/XL/Factorial
new file mode 120000
index 0000000000..11c26df2ce
--- /dev/null
+++ b/Lang/XL/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/XL
\ No newline at end of file
diff --git a/Lang/XL/Hello-world-Text b/Lang/XL/Hello-world-Text
new file mode 120000
index 0000000000..c73bbe077c
--- /dev/null
+++ b/Lang/XL/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/XL
\ No newline at end of file
diff --git a/Lang/XPL0/0DESCRIPTION b/Lang/XPL0/0DESCRIPTION
new file mode 100644
index 0000000000..39875b4f33
--- /dev/null
+++ b/Lang/XPL0/0DESCRIPTION
@@ -0,0 +1,31 @@
+{{language}}
+'''XPL0''' is essentially a cross between Pascal and C. It looks somewhat like Pascal but works more like C. It was originally created in 1976
+by Peter J. R. Boyle, who designed it to run on a 6502 microprocessor as
+an alternative to BASIC, which was the dominant language for personal
+computers at the time. XPL0 is based on PL/0, an example compiler in the
+book ''Algorithms + Data Structures = Programs'' by Niklaus Wirth. The first
+XPL0 compiler was written in ALGOL, which was then used to create a compiler
+written in XPL0's syntax.
+
+XPL0 has been implemented on more than a dozen processors, but it's
+currently maintained for IBM-type PCs. Programs run under DOS and under versions of Windows that can still run DOS apps. Free, open-source versions of the
+compilers (interpreted, assembly-code compiled, and optimizing) are
+available from the official website: xpl0.org [http://www.xpl0.org/]. The 32-bit version of the compiler, XPLPX, was used for all these Rosetta Code tasks.
+
+Here's how the traditional Hello World program is coded:
+
++ code Text=12; + Text(0, "Hello World!") ++ +Text is a built-in routine, called an ''intrinsic'', that outputs a string +of characters. The zero (0) tells where to send the string. In this case +it is sent to the display screen; but it could just as easily be sent to +a printer, a file, or out a serial port by using a different number. + +All names must be declared before they can be used. The command word +''code'' associates the name Text to the built-in routine number 12, which +outputs strings. There are about 80 of these built-in routines that +provide capabilities such as input and output, graphics, and trig +functions. \ No newline at end of file diff --git a/Lang/XPL0/100-doors b/Lang/XPL0/100-doors new file mode 120000 index 0000000000..ccd450b1db --- /dev/null +++ b/Lang/XPL0/100-doors @@ -0,0 +1 @@ +../../Task/100-doors/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/99-Bottles-of-Beer b/Lang/XPL0/99-Bottles-of-Beer new file mode 120000 index 0000000000..447554900b --- /dev/null +++ b/Lang/XPL0/99-Bottles-of-Beer @@ -0,0 +1 @@ +../../Task/99-Bottles-of-Beer/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/A+B b/Lang/XPL0/A+B new file mode 120000 index 0000000000..a117e4f60a --- /dev/null +++ b/Lang/XPL0/A+B @@ -0,0 +1 @@ +../../Task/A+B/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Ackermann-function b/Lang/XPL0/Ackermann-function new file mode 120000 index 0000000000..b9fa43957e --- /dev/null +++ b/Lang/XPL0/Ackermann-function @@ -0,0 +1 @@ +../../Task/Ackermann-function/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Address-of-a-variable b/Lang/XPL0/Address-of-a-variable new file mode 120000 index 0000000000..7c33fa53e3 --- /dev/null +++ b/Lang/XPL0/Address-of-a-variable @@ -0,0 +1 @@ +../../Task/Address-of-a-variable/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Animate-a-pendulum b/Lang/XPL0/Animate-a-pendulum new file mode 120000 index 0000000000..ec818697d8 --- /dev/null +++ b/Lang/XPL0/Animate-a-pendulum @@ -0,0 +1 @@ +../../Task/Animate-a-pendulum/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Animation b/Lang/XPL0/Animation new file mode 120000 index 0000000000..4737245475 --- /dev/null +++ b/Lang/XPL0/Animation @@ -0,0 +1 @@ +../../Task/Animation/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Anonymous-recursion b/Lang/XPL0/Anonymous-recursion new file mode 120000 index 0000000000..be9e0ab665 --- /dev/null +++ b/Lang/XPL0/Anonymous-recursion @@ -0,0 +1 @@ +../../Task/Anonymous-recursion/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Arithmetic-Complex b/Lang/XPL0/Arithmetic-Complex new file mode 120000 index 0000000000..59ecadce20 --- /dev/null +++ b/Lang/XPL0/Arithmetic-Complex @@ -0,0 +1 @@ +../../Task/Arithmetic-Complex/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Arithmetic-Integer b/Lang/XPL0/Arithmetic-Integer new file mode 120000 index 0000000000..884f435b03 --- /dev/null +++ b/Lang/XPL0/Arithmetic-Integer @@ -0,0 +1 @@ +../../Task/Arithmetic-Integer/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Arithmetic-geometric-mean b/Lang/XPL0/Arithmetic-geometric-mean new file mode 120000 index 0000000000..327bd5a296 --- /dev/null +++ b/Lang/XPL0/Arithmetic-geometric-mean @@ -0,0 +1 @@ +../../Task/Arithmetic-geometric-mean/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Arrays b/Lang/XPL0/Arrays new file mode 120000 index 0000000000..b4906b83d5 --- /dev/null +++ b/Lang/XPL0/Arrays @@ -0,0 +1 @@ +../../Task/Arrays/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Assertions b/Lang/XPL0/Assertions new file mode 120000 index 0000000000..d2baf326df --- /dev/null +++ b/Lang/XPL0/Assertions @@ -0,0 +1 @@ +../../Task/Assertions/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Associative-array-Creation b/Lang/XPL0/Associative-array-Creation new file mode 120000 index 0000000000..fbac7c3b59 --- /dev/null +++ b/Lang/XPL0/Associative-array-Creation @@ -0,0 +1 @@ +../../Task/Associative-array-Creation/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Associative-array-Iteration b/Lang/XPL0/Associative-array-Iteration new file mode 120000 index 0000000000..d62cfdaa63 --- /dev/null +++ b/Lang/XPL0/Associative-array-Iteration @@ -0,0 +1 @@ +../../Task/Associative-array-Iteration/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Averages-Arithmetic-mean b/Lang/XPL0/Averages-Arithmetic-mean new file mode 120000 index 0000000000..6eb5072944 --- /dev/null +++ b/Lang/XPL0/Averages-Arithmetic-mean @@ -0,0 +1 @@ +../../Task/Averages-Arithmetic-mean/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Averages-Mean-angle b/Lang/XPL0/Averages-Mean-angle new file mode 120000 index 0000000000..60bfa068c4 --- /dev/null +++ b/Lang/XPL0/Averages-Mean-angle @@ -0,0 +1 @@ +../../Task/Averages-Mean-angle/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Averages-Mean-time-of-day b/Lang/XPL0/Averages-Mean-time-of-day new file mode 120000 index 0000000000..a6825a79be --- /dev/null +++ b/Lang/XPL0/Averages-Mean-time-of-day @@ -0,0 +1 @@ +../../Task/Averages-Mean-time-of-day/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Averages-Pythagorean-means b/Lang/XPL0/Averages-Pythagorean-means new file mode 120000 index 0000000000..f813ac8bf0 --- /dev/null +++ b/Lang/XPL0/Averages-Pythagorean-means @@ -0,0 +1 @@ +../../Task/Averages-Pythagorean-means/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Averages-Root-mean-square b/Lang/XPL0/Averages-Root-mean-square new file mode 120000 index 0000000000..6f95836d4a --- /dev/null +++ b/Lang/XPL0/Averages-Root-mean-square @@ -0,0 +1 @@ +../../Task/Averages-Root-mean-square/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Balanced-brackets b/Lang/XPL0/Balanced-brackets new file mode 120000 index 0000000000..76c46e4c5c --- /dev/null +++ b/Lang/XPL0/Balanced-brackets @@ -0,0 +1 @@ +../../Task/Balanced-brackets/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Best-shuffle b/Lang/XPL0/Best-shuffle new file mode 120000 index 0000000000..288831ec62 --- /dev/null +++ b/Lang/XPL0/Best-shuffle @@ -0,0 +1 @@ +../../Task/Best-shuffle/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Bitmap b/Lang/XPL0/Bitmap new file mode 120000 index 0000000000..6aa44275ec --- /dev/null +++ b/Lang/XPL0/Bitmap @@ -0,0 +1 @@ +../../Task/Bitmap/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Bitmap-B-zier-curves-Cubic b/Lang/XPL0/Bitmap-B-zier-curves-Cubic new file mode 120000 index 0000000000..6046e990fd --- /dev/null +++ b/Lang/XPL0/Bitmap-B-zier-curves-Cubic @@ -0,0 +1 @@ +../../Task/Bitmap-B-zier-curves-Cubic/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Bitmap-B-zier-curves-Quadratic b/Lang/XPL0/Bitmap-B-zier-curves-Quadratic new file mode 120000 index 0000000000..a533957624 --- /dev/null +++ b/Lang/XPL0/Bitmap-B-zier-curves-Quadratic @@ -0,0 +1 @@ +../../Task/Bitmap-B-zier-curves-Quadratic/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Bitmap-Bresenhams-line-algorithm b/Lang/XPL0/Bitmap-Bresenhams-line-algorithm new file mode 120000 index 0000000000..61b1b832ac --- /dev/null +++ b/Lang/XPL0/Bitmap-Bresenhams-line-algorithm @@ -0,0 +1 @@ +../../Task/Bitmap-Bresenhams-line-algorithm/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Bitmap-Flood-fill b/Lang/XPL0/Bitmap-Flood-fill new file mode 120000 index 0000000000..7d57575c56 --- /dev/null +++ b/Lang/XPL0/Bitmap-Flood-fill @@ -0,0 +1 @@ +../../Task/Bitmap-Flood-fill/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Bitmap-Midpoint-circle-algorithm b/Lang/XPL0/Bitmap-Midpoint-circle-algorithm new file mode 120000 index 0000000000..c5055ce858 --- /dev/null +++ b/Lang/XPL0/Bitmap-Midpoint-circle-algorithm @@ -0,0 +1 @@ +../../Task/Bitmap-Midpoint-circle-algorithm/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Bitmap-Read-a-PPM-file b/Lang/XPL0/Bitmap-Read-a-PPM-file new file mode 120000 index 0000000000..0384a520c0 --- /dev/null +++ b/Lang/XPL0/Bitmap-Read-a-PPM-file @@ -0,0 +1 @@ +../../Task/Bitmap-Read-a-PPM-file/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Bitmap-Write-a-PPM-file b/Lang/XPL0/Bitmap-Write-a-PPM-file new file mode 120000 index 0000000000..f0ee895ea9 --- /dev/null +++ b/Lang/XPL0/Bitmap-Write-a-PPM-file @@ -0,0 +1 @@ +../../Task/Bitmap-Write-a-PPM-file/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Bitwise-operations b/Lang/XPL0/Bitwise-operations new file mode 120000 index 0000000000..a1b959b422 --- /dev/null +++ b/Lang/XPL0/Bitwise-operations @@ -0,0 +1 @@ +../../Task/Bitwise-operations/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/CRC-32 b/Lang/XPL0/CRC-32 new file mode 120000 index 0000000000..7433d00aee --- /dev/null +++ b/Lang/XPL0/CRC-32 @@ -0,0 +1 @@ +../../Task/CRC-32/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Caesar-cipher b/Lang/XPL0/Caesar-cipher new file mode 120000 index 0000000000..b12563e4b4 --- /dev/null +++ b/Lang/XPL0/Caesar-cipher @@ -0,0 +1 @@ +../../Task/Caesar-cipher/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Calendar b/Lang/XPL0/Calendar new file mode 120000 index 0000000000..b9690aceb2 --- /dev/null +++ b/Lang/XPL0/Calendar @@ -0,0 +1 @@ +../../Task/Calendar/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Character-codes b/Lang/XPL0/Character-codes new file mode 120000 index 0000000000..49c13bc087 --- /dev/null +++ b/Lang/XPL0/Character-codes @@ -0,0 +1 @@ +../../Task/Character-codes/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Character-matching b/Lang/XPL0/Character-matching new file mode 120000 index 0000000000..f68cd568c7 --- /dev/null +++ b/Lang/XPL0/Character-matching @@ -0,0 +1 @@ +../../Task/Character-matching/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Check-Machin-like-formulas b/Lang/XPL0/Check-Machin-like-formulas new file mode 120000 index 0000000000..b4953b297c --- /dev/null +++ b/Lang/XPL0/Check-Machin-like-formulas @@ -0,0 +1 @@ +../../Task/Check-Machin-like-formulas/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Closest-pair-problem b/Lang/XPL0/Closest-pair-problem new file mode 120000 index 0000000000..8ebfd41827 --- /dev/null +++ b/Lang/XPL0/Closest-pair-problem @@ -0,0 +1 @@ +../../Task/Closest-pair-problem/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Color-of-a-screen-pixel b/Lang/XPL0/Color-of-a-screen-pixel new file mode 120000 index 0000000000..21148e243d --- /dev/null +++ b/Lang/XPL0/Color-of-a-screen-pixel @@ -0,0 +1 @@ +../../Task/Color-of-a-screen-pixel/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Colour-bars-Display b/Lang/XPL0/Colour-bars-Display new file mode 120000 index 0000000000..834005495a --- /dev/null +++ b/Lang/XPL0/Colour-bars-Display @@ -0,0 +1 @@ +../../Task/Colour-bars-Display/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Colour-pinstripe-Display b/Lang/XPL0/Colour-pinstripe-Display new file mode 120000 index 0000000000..9e92f6afbc --- /dev/null +++ b/Lang/XPL0/Colour-pinstripe-Display @@ -0,0 +1 @@ +../../Task/Colour-pinstripe-Display/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Combinations b/Lang/XPL0/Combinations new file mode 120000 index 0000000000..5c0c0db1b9 --- /dev/null +++ b/Lang/XPL0/Combinations @@ -0,0 +1 @@ +../../Task/Combinations/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Combinations-with-repetitions b/Lang/XPL0/Combinations-with-repetitions new file mode 120000 index 0000000000..a6b6358137 --- /dev/null +++ b/Lang/XPL0/Combinations-with-repetitions @@ -0,0 +1 @@ +../../Task/Combinations-with-repetitions/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Comments b/Lang/XPL0/Comments new file mode 120000 index 0000000000..27445df057 --- /dev/null +++ b/Lang/XPL0/Comments @@ -0,0 +1 @@ +../../Task/Comments/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Compile-time-calculation b/Lang/XPL0/Compile-time-calculation new file mode 120000 index 0000000000..317b81b458 --- /dev/null +++ b/Lang/XPL0/Compile-time-calculation @@ -0,0 +1 @@ +../../Task/Compile-time-calculation/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Constrained-random-points-on-a-circle b/Lang/XPL0/Constrained-random-points-on-a-circle new file mode 120000 index 0000000000..2d8bbcd3d4 --- /dev/null +++ b/Lang/XPL0/Constrained-random-points-on-a-circle @@ -0,0 +1 @@ +../../Task/Constrained-random-points-on-a-circle/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Continued-fraction b/Lang/XPL0/Continued-fraction new file mode 120000 index 0000000000..343b4abbb5 --- /dev/null +++ b/Lang/XPL0/Continued-fraction @@ -0,0 +1 @@ +../../Task/Continued-fraction/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Continued-fraction-Arithmetic-Construct-from-rational-number b/Lang/XPL0/Continued-fraction-Arithmetic-Construct-from-rational-number new file mode 120000 index 0000000000..ff5356cf1e --- /dev/null +++ b/Lang/XPL0/Continued-fraction-Arithmetic-Construct-from-rational-number @@ -0,0 +1 @@ +../../Task/Continued-fraction-Arithmetic-Construct-from-rational-number/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Conways-Game-of-Life b/Lang/XPL0/Conways-Game-of-Life new file mode 120000 index 0000000000..0fc2bdcad7 --- /dev/null +++ b/Lang/XPL0/Conways-Game-of-Life @@ -0,0 +1 @@ +../../Task/Conways-Game-of-Life/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Count-in-factors b/Lang/XPL0/Count-in-factors new file mode 120000 index 0000000000..9813d6f1ac --- /dev/null +++ b/Lang/XPL0/Count-in-factors @@ -0,0 +1 @@ +../../Task/Count-in-factors/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Count-in-octal b/Lang/XPL0/Count-in-octal new file mode 120000 index 0000000000..7b36382cbc --- /dev/null +++ b/Lang/XPL0/Count-in-octal @@ -0,0 +1 @@ +../../Task/Count-in-octal/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Count-occurrences-of-a-substring b/Lang/XPL0/Count-occurrences-of-a-substring new file mode 120000 index 0000000000..f040f42e1d --- /dev/null +++ b/Lang/XPL0/Count-occurrences-of-a-substring @@ -0,0 +1 @@ +../../Task/Count-occurrences-of-a-substring/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Create-a-two-dimensional-array-at-runtime b/Lang/XPL0/Create-a-two-dimensional-array-at-runtime new file mode 120000 index 0000000000..44718ffee6 --- /dev/null +++ b/Lang/XPL0/Create-a-two-dimensional-array-at-runtime @@ -0,0 +1 @@ +../../Task/Create-a-two-dimensional-array-at-runtime/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Date-format b/Lang/XPL0/Date-format new file mode 120000 index 0000000000..c61d211f28 --- /dev/null +++ b/Lang/XPL0/Date-format @@ -0,0 +1 @@ +../../Task/Date-format/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Day-of-the-week b/Lang/XPL0/Day-of-the-week new file mode 120000 index 0000000000..2182f6a2b6 --- /dev/null +++ b/Lang/XPL0/Day-of-the-week @@ -0,0 +1 @@ +../../Task/Day-of-the-week/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Deal-cards-for-FreeCell b/Lang/XPL0/Deal-cards-for-FreeCell new file mode 120000 index 0000000000..c4327607c3 --- /dev/null +++ b/Lang/XPL0/Deal-cards-for-FreeCell @@ -0,0 +1 @@ +../../Task/Deal-cards-for-FreeCell/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Detect-division-by-zero b/Lang/XPL0/Detect-division-by-zero new file mode 120000 index 0000000000..bf2a451723 --- /dev/null +++ b/Lang/XPL0/Detect-division-by-zero @@ -0,0 +1 @@ +../../Task/Detect-division-by-zero/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Digital-root b/Lang/XPL0/Digital-root new file mode 120000 index 0000000000..e6d3a9faab --- /dev/null +++ b/Lang/XPL0/Digital-root @@ -0,0 +1 @@ +../../Task/Digital-root/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Dinesmans-multiple-dwelling-problem b/Lang/XPL0/Dinesmans-multiple-dwelling-problem new file mode 120000 index 0000000000..c5d23b7bc8 --- /dev/null +++ b/Lang/XPL0/Dinesmans-multiple-dwelling-problem @@ -0,0 +1 @@ +../../Task/Dinesmans-multiple-dwelling-problem/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Dot-product b/Lang/XPL0/Dot-product new file mode 120000 index 0000000000..fe7cead228 --- /dev/null +++ b/Lang/XPL0/Dot-product @@ -0,0 +1 @@ +../../Task/Dot-product/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Draw-a-cuboid b/Lang/XPL0/Draw-a-cuboid new file mode 120000 index 0000000000..bf4ad6089f --- /dev/null +++ b/Lang/XPL0/Draw-a-cuboid @@ -0,0 +1 @@ +../../Task/Draw-a-cuboid/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Draw-a-sphere b/Lang/XPL0/Draw-a-sphere new file mode 120000 index 0000000000..ba4e0b7a19 --- /dev/null +++ b/Lang/XPL0/Draw-a-sphere @@ -0,0 +1 @@ +../../Task/Draw-a-sphere/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Empty-string b/Lang/XPL0/Empty-string new file mode 120000 index 0000000000..4b70e9c094 --- /dev/null +++ b/Lang/XPL0/Empty-string @@ -0,0 +1 @@ +../../Task/Empty-string/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Enforced-immutability b/Lang/XPL0/Enforced-immutability new file mode 120000 index 0000000000..3e40f0aa67 --- /dev/null +++ b/Lang/XPL0/Enforced-immutability @@ -0,0 +1 @@ +../../Task/Enforced-immutability/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Entropy b/Lang/XPL0/Entropy new file mode 120000 index 0000000000..6338e31e75 --- /dev/null +++ b/Lang/XPL0/Entropy @@ -0,0 +1 @@ +../../Task/Entropy/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Enumerations b/Lang/XPL0/Enumerations new file mode 120000 index 0000000000..95143ecb24 --- /dev/null +++ b/Lang/XPL0/Enumerations @@ -0,0 +1 @@ +../../Task/Enumerations/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Equilibrium-index b/Lang/XPL0/Equilibrium-index new file mode 120000 index 0000000000..85d19051d1 --- /dev/null +++ b/Lang/XPL0/Equilibrium-index @@ -0,0 +1 @@ +../../Task/Equilibrium-index/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Ethiopian-multiplication b/Lang/XPL0/Ethiopian-multiplication new file mode 120000 index 0000000000..8889150095 --- /dev/null +++ b/Lang/XPL0/Ethiopian-multiplication @@ -0,0 +1 @@ +../../Task/Ethiopian-multiplication/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Euler-method b/Lang/XPL0/Euler-method new file mode 120000 index 0000000000..1446db5fe7 --- /dev/null +++ b/Lang/XPL0/Euler-method @@ -0,0 +1 @@ +../../Task/Euler-method/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Evaluate-binomial-coefficients b/Lang/XPL0/Evaluate-binomial-coefficients new file mode 120000 index 0000000000..2501a04118 --- /dev/null +++ b/Lang/XPL0/Evaluate-binomial-coefficients @@ -0,0 +1 @@ +../../Task/Evaluate-binomial-coefficients/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Even-or-odd b/Lang/XPL0/Even-or-odd new file mode 120000 index 0000000000..e1b0276e2a --- /dev/null +++ b/Lang/XPL0/Even-or-odd @@ -0,0 +1 @@ +../../Task/Even-or-odd/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Evolutionary-algorithm b/Lang/XPL0/Evolutionary-algorithm new file mode 120000 index 0000000000..5a9a307445 --- /dev/null +++ b/Lang/XPL0/Evolutionary-algorithm @@ -0,0 +1 @@ +../../Task/Evolutionary-algorithm/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Exponentiation-operator b/Lang/XPL0/Exponentiation-operator new file mode 120000 index 0000000000..37b095b6ff --- /dev/null +++ b/Lang/XPL0/Exponentiation-operator @@ -0,0 +1 @@ +../../Task/Exponentiation-operator/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Factorial b/Lang/XPL0/Factorial new file mode 120000 index 0000000000..a5b0a4ac3c --- /dev/null +++ b/Lang/XPL0/Factorial @@ -0,0 +1 @@ +../../Task/Factorial/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Factors-of-an-integer b/Lang/XPL0/Factors-of-an-integer new file mode 120000 index 0000000000..3cb6ac6681 --- /dev/null +++ b/Lang/XPL0/Factors-of-an-integer @@ -0,0 +1 @@ +../../Task/Factors-of-an-integer/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Fibonacci-n-step-number-sequences b/Lang/XPL0/Fibonacci-n-step-number-sequences new file mode 120000 index 0000000000..2c40a1faf0 --- /dev/null +++ b/Lang/XPL0/Fibonacci-n-step-number-sequences @@ -0,0 +1 @@ +../../Task/Fibonacci-n-step-number-sequences/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/File-IO b/Lang/XPL0/File-IO new file mode 120000 index 0000000000..fd7191d7a6 --- /dev/null +++ b/Lang/XPL0/File-IO @@ -0,0 +1 @@ +../../Task/File-IO/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Filter b/Lang/XPL0/Filter new file mode 120000 index 0000000000..ae5b4bfe92 --- /dev/null +++ b/Lang/XPL0/Filter @@ -0,0 +1 @@ +../../Task/Filter/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Find-the-missing-permutation b/Lang/XPL0/Find-the-missing-permutation new file mode 120000 index 0000000000..949040cb36 --- /dev/null +++ b/Lang/XPL0/Find-the-missing-permutation @@ -0,0 +1 @@ +../../Task/Find-the-missing-permutation/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Five-weekends b/Lang/XPL0/Five-weekends new file mode 120000 index 0000000000..d22bee05c5 --- /dev/null +++ b/Lang/XPL0/Five-weekends @@ -0,0 +1 @@ +../../Task/Five-weekends/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/FizzBuzz b/Lang/XPL0/FizzBuzz new file mode 120000 index 0000000000..721919c3a8 --- /dev/null +++ b/Lang/XPL0/FizzBuzz @@ -0,0 +1 @@ +../../Task/FizzBuzz/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Floyds-triangle b/Lang/XPL0/Floyds-triangle new file mode 120000 index 0000000000..df92db1aa6 --- /dev/null +++ b/Lang/XPL0/Floyds-triangle @@ -0,0 +1 @@ +../../Task/Floyds-triangle/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Four-bit-adder b/Lang/XPL0/Four-bit-adder new file mode 120000 index 0000000000..042eda009c --- /dev/null +++ b/Lang/XPL0/Four-bit-adder @@ -0,0 +1 @@ +../../Task/Four-bit-adder/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Fractal-tree b/Lang/XPL0/Fractal-tree new file mode 120000 index 0000000000..2e9fdb15ea --- /dev/null +++ b/Lang/XPL0/Fractal-tree @@ -0,0 +1 @@ +../../Task/Fractal-tree/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Function-definition b/Lang/XPL0/Function-definition new file mode 120000 index 0000000000..1e95244a2f --- /dev/null +++ b/Lang/XPL0/Function-definition @@ -0,0 +1 @@ +../../Task/Function-definition/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Galton-box-animation b/Lang/XPL0/Galton-box-animation new file mode 120000 index 0000000000..037ba9b6f7 --- /dev/null +++ b/Lang/XPL0/Galton-box-animation @@ -0,0 +1 @@ +../../Task/Galton-box-animation/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Generator-Exponential b/Lang/XPL0/Generator-Exponential new file mode 120000 index 0000000000..ea42994876 --- /dev/null +++ b/Lang/XPL0/Generator-Exponential @@ -0,0 +1 @@ +../../Task/Generator-Exponential/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Generic-swap b/Lang/XPL0/Generic-swap new file mode 120000 index 0000000000..3a60849e90 --- /dev/null +++ b/Lang/XPL0/Generic-swap @@ -0,0 +1 @@ +../../Task/Generic-swap/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Globally-replace-text-in-several-files b/Lang/XPL0/Globally-replace-text-in-several-files new file mode 120000 index 0000000000..f8c0f1f008 --- /dev/null +++ b/Lang/XPL0/Globally-replace-text-in-several-files @@ -0,0 +1 @@ +../../Task/Globally-replace-text-in-several-files/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Gray-code b/Lang/XPL0/Gray-code new file mode 120000 index 0000000000..80ba68bd6c --- /dev/null +++ b/Lang/XPL0/Gray-code @@ -0,0 +1 @@ +../../Task/Gray-code/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Greatest-common-divisor b/Lang/XPL0/Greatest-common-divisor new file mode 120000 index 0000000000..8a5568212e --- /dev/null +++ b/Lang/XPL0/Greatest-common-divisor @@ -0,0 +1 @@ +../../Task/Greatest-common-divisor/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Greatest-element-of-a-list b/Lang/XPL0/Greatest-element-of-a-list new file mode 120000 index 0000000000..43e3c52571 --- /dev/null +++ b/Lang/XPL0/Greatest-element-of-a-list @@ -0,0 +1 @@ +../../Task/Greatest-element-of-a-list/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Greatest-subsequential-sum b/Lang/XPL0/Greatest-subsequential-sum new file mode 120000 index 0000000000..bc3dad1235 --- /dev/null +++ b/Lang/XPL0/Greatest-subsequential-sum @@ -0,0 +1 @@ +../../Task/Greatest-subsequential-sum/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Greyscale-bars-Display b/Lang/XPL0/Greyscale-bars-Display new file mode 120000 index 0000000000..ed3cdc14ed --- /dev/null +++ b/Lang/XPL0/Greyscale-bars-Display @@ -0,0 +1 @@ +../../Task/Greyscale-bars-Display/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Guess-the-number b/Lang/XPL0/Guess-the-number new file mode 120000 index 0000000000..c3a04cf9de --- /dev/null +++ b/Lang/XPL0/Guess-the-number @@ -0,0 +1 @@ +../../Task/Guess-the-number/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Guess-the-number-With-feedback b/Lang/XPL0/Guess-the-number-With-feedback new file mode 120000 index 0000000000..6698cdb04e --- /dev/null +++ b/Lang/XPL0/Guess-the-number-With-feedback @@ -0,0 +1 @@ +../../Task/Guess-the-number-With-feedback/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Guess-the-number-With-feedback-player b/Lang/XPL0/Guess-the-number-With-feedback-player new file mode 120000 index 0000000000..71c2072a2e --- /dev/null +++ b/Lang/XPL0/Guess-the-number-With-feedback-player @@ -0,0 +1 @@ +../../Task/Guess-the-number-With-feedback-player/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Hailstone-sequence b/Lang/XPL0/Hailstone-sequence new file mode 120000 index 0000000000..11933fb5f3 --- /dev/null +++ b/Lang/XPL0/Hailstone-sequence @@ -0,0 +1 @@ +../../Task/Hailstone-sequence/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Happy-numbers b/Lang/XPL0/Happy-numbers new file mode 120000 index 0000000000..1f980f931d --- /dev/null +++ b/Lang/XPL0/Happy-numbers @@ -0,0 +1 @@ +../../Task/Happy-numbers/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Harshad-or-Niven-series b/Lang/XPL0/Harshad-or-Niven-series new file mode 120000 index 0000000000..e772a2a816 --- /dev/null +++ b/Lang/XPL0/Harshad-or-Niven-series @@ -0,0 +1 @@ +../../Task/Harshad-or-Niven-series/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Haversine-formula b/Lang/XPL0/Haversine-formula new file mode 120000 index 0000000000..d5e782e509 --- /dev/null +++ b/Lang/XPL0/Haversine-formula @@ -0,0 +1 @@ +../../Task/Haversine-formula/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Hello-world-Line-printer b/Lang/XPL0/Hello-world-Line-printer new file mode 120000 index 0000000000..1a65581463 --- /dev/null +++ b/Lang/XPL0/Hello-world-Line-printer @@ -0,0 +1 @@ +../../Task/Hello-world-Line-printer/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Hello-world-Newline-omission b/Lang/XPL0/Hello-world-Newline-omission new file mode 120000 index 0000000000..139b4a3bbb --- /dev/null +++ b/Lang/XPL0/Hello-world-Newline-omission @@ -0,0 +1 @@ +../../Task/Hello-world-Newline-omission/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Hello-world-Standard-error b/Lang/XPL0/Hello-world-Standard-error new file mode 120000 index 0000000000..1c2a8b6049 --- /dev/null +++ b/Lang/XPL0/Hello-world-Standard-error @@ -0,0 +1 @@ +../../Task/Hello-world-Standard-error/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Hello-world-Text b/Lang/XPL0/Hello-world-Text new file mode 120000 index 0000000000..d45b0c7e72 --- /dev/null +++ b/Lang/XPL0/Hello-world-Text @@ -0,0 +1 @@ +../../Task/Hello-world-Text/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Here-document b/Lang/XPL0/Here-document new file mode 120000 index 0000000000..7c9e78be00 --- /dev/null +++ b/Lang/XPL0/Here-document @@ -0,0 +1 @@ +../../Task/Here-document/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Hofstadter-Q-sequence b/Lang/XPL0/Hofstadter-Q-sequence new file mode 120000 index 0000000000..d72153204a --- /dev/null +++ b/Lang/XPL0/Hofstadter-Q-sequence @@ -0,0 +1 @@ +../../Task/Hofstadter-Q-sequence/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Honeycombs b/Lang/XPL0/Honeycombs new file mode 120000 index 0000000000..0a0c9cca5d --- /dev/null +++ b/Lang/XPL0/Honeycombs @@ -0,0 +1 @@ +../../Task/Honeycombs/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Horners-rule-for-polynomial-evaluation b/Lang/XPL0/Horners-rule-for-polynomial-evaluation new file mode 120000 index 0000000000..afe4d244b3 --- /dev/null +++ b/Lang/XPL0/Horners-rule-for-polynomial-evaluation @@ -0,0 +1 @@ +../../Task/Horners-rule-for-polynomial-evaluation/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Host-introspection b/Lang/XPL0/Host-introspection new file mode 120000 index 0000000000..7e9afb04b3 --- /dev/null +++ b/Lang/XPL0/Host-introspection @@ -0,0 +1 @@ +../../Task/Host-introspection/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Identity-matrix b/Lang/XPL0/Identity-matrix new file mode 120000 index 0000000000..28d7aa72b6 --- /dev/null +++ b/Lang/XPL0/Identity-matrix @@ -0,0 +1 @@ +../../Task/Identity-matrix/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Image-noise b/Lang/XPL0/Image-noise new file mode 120000 index 0000000000..9345d4d722 --- /dev/null +++ b/Lang/XPL0/Image-noise @@ -0,0 +1 @@ +../../Task/Image-noise/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Include-a-file b/Lang/XPL0/Include-a-file new file mode 120000 index 0000000000..9766cd569e --- /dev/null +++ b/Lang/XPL0/Include-a-file @@ -0,0 +1 @@ +../../Task/Include-a-file/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Increment-a-numerical-string b/Lang/XPL0/Increment-a-numerical-string new file mode 120000 index 0000000000..d684e4532d --- /dev/null +++ b/Lang/XPL0/Increment-a-numerical-string @@ -0,0 +1 @@ +../../Task/Increment-a-numerical-string/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Integer-comparison b/Lang/XPL0/Integer-comparison new file mode 120000 index 0000000000..607458ca45 --- /dev/null +++ b/Lang/XPL0/Integer-comparison @@ -0,0 +1 @@ +../../Task/Integer-comparison/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Integer-sequence b/Lang/XPL0/Integer-sequence new file mode 120000 index 0000000000..1548a21f86 --- /dev/null +++ b/Lang/XPL0/Integer-sequence @@ -0,0 +1 @@ +../../Task/Integer-sequence/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Josephus-problem b/Lang/XPL0/Josephus-problem new file mode 120000 index 0000000000..0f8162b83c --- /dev/null +++ b/Lang/XPL0/Josephus-problem @@ -0,0 +1 @@ +../../Task/Josephus-problem/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Kaprekar-numbers b/Lang/XPL0/Kaprekar-numbers new file mode 120000 index 0000000000..b4860f05f3 --- /dev/null +++ b/Lang/XPL0/Kaprekar-numbers @@ -0,0 +1 @@ +../../Task/Kaprekar-numbers/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Keyboard-input-Flush-the-keyboard-buffer b/Lang/XPL0/Keyboard-input-Flush-the-keyboard-buffer new file mode 120000 index 0000000000..a81058dc15 --- /dev/null +++ b/Lang/XPL0/Keyboard-input-Flush-the-keyboard-buffer @@ -0,0 +1 @@ +../../Task/Keyboard-input-Flush-the-keyboard-buffer/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Keyboard-input-Keypress-check b/Lang/XPL0/Keyboard-input-Keypress-check new file mode 120000 index 0000000000..beb5f38a59 --- /dev/null +++ b/Lang/XPL0/Keyboard-input-Keypress-check @@ -0,0 +1 @@ +../../Task/Keyboard-input-Keypress-check/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Keyboard-input-Obtain-a-Y-or-N-response b/Lang/XPL0/Keyboard-input-Obtain-a-Y-or-N-response new file mode 120000 index 0000000000..3de01b25ab --- /dev/null +++ b/Lang/XPL0/Keyboard-input-Obtain-a-Y-or-N-response @@ -0,0 +1 @@ +../../Task/Keyboard-input-Obtain-a-Y-or-N-response/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Knapsack-problem-0-1 b/Lang/XPL0/Knapsack-problem-0-1 new file mode 120000 index 0000000000..f28337c177 --- /dev/null +++ b/Lang/XPL0/Knapsack-problem-0-1 @@ -0,0 +1 @@ +../../Task/Knapsack-problem-0-1/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Knapsack-problem-Continuous b/Lang/XPL0/Knapsack-problem-Continuous new file mode 120000 index 0000000000..36011e504a --- /dev/null +++ b/Lang/XPL0/Knapsack-problem-Continuous @@ -0,0 +1 @@ +../../Task/Knapsack-problem-Continuous/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Knights-tour b/Lang/XPL0/Knights-tour new file mode 120000 index 0000000000..34d21d1b21 --- /dev/null +++ b/Lang/XPL0/Knights-tour @@ -0,0 +1 @@ +../../Task/Knights-tour/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Langtons-ant b/Lang/XPL0/Langtons-ant new file mode 120000 index 0000000000..213b39e526 --- /dev/null +++ b/Lang/XPL0/Langtons-ant @@ -0,0 +1 @@ +../../Task/Langtons-ant/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Last-Friday-of-each-month b/Lang/XPL0/Last-Friday-of-each-month new file mode 120000 index 0000000000..dfd3918026 --- /dev/null +++ b/Lang/XPL0/Last-Friday-of-each-month @@ -0,0 +1 @@ +../../Task/Last-Friday-of-each-month/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Leap-year b/Lang/XPL0/Leap-year new file mode 120000 index 0000000000..a1a66623c1 --- /dev/null +++ b/Lang/XPL0/Leap-year @@ -0,0 +1 @@ +../../Task/Leap-year/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Least-common-multiple b/Lang/XPL0/Least-common-multiple new file mode 120000 index 0000000000..1124bf77e6 --- /dev/null +++ b/Lang/XPL0/Least-common-multiple @@ -0,0 +1 @@ +../../Task/Least-common-multiple/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Letter-frequency b/Lang/XPL0/Letter-frequency new file mode 120000 index 0000000000..735790bacb --- /dev/null +++ b/Lang/XPL0/Letter-frequency @@ -0,0 +1 @@ +../../Task/Letter-frequency/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Linear-congruential-generator b/Lang/XPL0/Linear-congruential-generator new file mode 120000 index 0000000000..342d39925c --- /dev/null +++ b/Lang/XPL0/Linear-congruential-generator @@ -0,0 +1 @@ +../../Task/Linear-congruential-generator/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Literals-Floating-point b/Lang/XPL0/Literals-Floating-point new file mode 120000 index 0000000000..948aa97550 --- /dev/null +++ b/Lang/XPL0/Literals-Floating-point @@ -0,0 +1 @@ +../../Task/Literals-Floating-point/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Literals-Integer b/Lang/XPL0/Literals-Integer new file mode 120000 index 0000000000..c020c15021 --- /dev/null +++ b/Lang/XPL0/Literals-Integer @@ -0,0 +1 @@ +../../Task/Literals-Integer/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Logical-operations b/Lang/XPL0/Logical-operations new file mode 120000 index 0000000000..05f8bce2d3 --- /dev/null +++ b/Lang/XPL0/Logical-operations @@ -0,0 +1 @@ +../../Task/Logical-operations/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Long-multiplication b/Lang/XPL0/Long-multiplication new file mode 120000 index 0000000000..98da36dd5b --- /dev/null +++ b/Lang/XPL0/Long-multiplication @@ -0,0 +1 @@ +../../Task/Long-multiplication/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Loop-over-multiple-arrays-simultaneously b/Lang/XPL0/Loop-over-multiple-arrays-simultaneously new file mode 120000 index 0000000000..0a5be4bd3f --- /dev/null +++ b/Lang/XPL0/Loop-over-multiple-arrays-simultaneously @@ -0,0 +1 @@ +../../Task/Loop-over-multiple-arrays-simultaneously/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Loops-Break b/Lang/XPL0/Loops-Break new file mode 120000 index 0000000000..8115097b05 --- /dev/null +++ b/Lang/XPL0/Loops-Break @@ -0,0 +1 @@ +../../Task/Loops-Break/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Loops-Continue b/Lang/XPL0/Loops-Continue new file mode 120000 index 0000000000..e053f23a91 --- /dev/null +++ b/Lang/XPL0/Loops-Continue @@ -0,0 +1 @@ +../../Task/Loops-Continue/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Loops-Do-while b/Lang/XPL0/Loops-Do-while new file mode 120000 index 0000000000..533714771a --- /dev/null +++ b/Lang/XPL0/Loops-Do-while @@ -0,0 +1 @@ +../../Task/Loops-Do-while/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Loops-Downward-for b/Lang/XPL0/Loops-Downward-for new file mode 120000 index 0000000000..a8019043e6 --- /dev/null +++ b/Lang/XPL0/Loops-Downward-for @@ -0,0 +1 @@ +../../Task/Loops-Downward-for/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Loops-For b/Lang/XPL0/Loops-For new file mode 120000 index 0000000000..96fa66481c --- /dev/null +++ b/Lang/XPL0/Loops-For @@ -0,0 +1 @@ +../../Task/Loops-For/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Loops-For-with-a-specified-step b/Lang/XPL0/Loops-For-with-a-specified-step new file mode 120000 index 0000000000..327b19c5db --- /dev/null +++ b/Lang/XPL0/Loops-For-with-a-specified-step @@ -0,0 +1 @@ +../../Task/Loops-For-with-a-specified-step/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Loops-Foreach b/Lang/XPL0/Loops-Foreach new file mode 120000 index 0000000000..e55e56e888 --- /dev/null +++ b/Lang/XPL0/Loops-Foreach @@ -0,0 +1 @@ +../../Task/Loops-Foreach/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Loops-Infinite b/Lang/XPL0/Loops-Infinite new file mode 120000 index 0000000000..08f5f2d5be --- /dev/null +++ b/Lang/XPL0/Loops-Infinite @@ -0,0 +1 @@ +../../Task/Loops-Infinite/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Loops-N-plus-one-half b/Lang/XPL0/Loops-N-plus-one-half new file mode 120000 index 0000000000..ff2e2bbc15 --- /dev/null +++ b/Lang/XPL0/Loops-N-plus-one-half @@ -0,0 +1 @@ +../../Task/Loops-N-plus-one-half/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Loops-Nested b/Lang/XPL0/Loops-Nested new file mode 120000 index 0000000000..435c2d85e6 --- /dev/null +++ b/Lang/XPL0/Loops-Nested @@ -0,0 +1 @@ +../../Task/Loops-Nested/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Loops-While b/Lang/XPL0/Loops-While new file mode 120000 index 0000000000..65f8e6068b --- /dev/null +++ b/Lang/XPL0/Loops-While @@ -0,0 +1 @@ +../../Task/Loops-While/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Mandelbrot-set b/Lang/XPL0/Mandelbrot-set new file mode 120000 index 0000000000..34fc9fd5f3 --- /dev/null +++ b/Lang/XPL0/Mandelbrot-set @@ -0,0 +1 @@ +../../Task/Mandelbrot-set/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Map-range b/Lang/XPL0/Map-range new file mode 120000 index 0000000000..d3e31e88d2 --- /dev/null +++ b/Lang/XPL0/Map-range @@ -0,0 +1 @@ +../../Task/Map-range/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Matrix-multiplication b/Lang/XPL0/Matrix-multiplication new file mode 120000 index 0000000000..f024aee92d --- /dev/null +++ b/Lang/XPL0/Matrix-multiplication @@ -0,0 +1 @@ +../../Task/Matrix-multiplication/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Maze-generation b/Lang/XPL0/Maze-generation new file mode 120000 index 0000000000..a03b9bd1b9 --- /dev/null +++ b/Lang/XPL0/Maze-generation @@ -0,0 +1 @@ +../../Task/Maze-generation/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Memory-allocation b/Lang/XPL0/Memory-allocation new file mode 120000 index 0000000000..44225c6a7c --- /dev/null +++ b/Lang/XPL0/Memory-allocation @@ -0,0 +1 @@ +../../Task/Memory-allocation/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Menu b/Lang/XPL0/Menu new file mode 120000 index 0000000000..21d9d08ffa --- /dev/null +++ b/Lang/XPL0/Menu @@ -0,0 +1 @@ +../../Task/Menu/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Middle-three-digits b/Lang/XPL0/Middle-three-digits new file mode 120000 index 0000000000..b52f416bf1 --- /dev/null +++ b/Lang/XPL0/Middle-three-digits @@ -0,0 +1 @@ +../../Task/Middle-three-digits/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Modular-inverse b/Lang/XPL0/Modular-inverse new file mode 120000 index 0000000000..97825626af --- /dev/null +++ b/Lang/XPL0/Modular-inverse @@ -0,0 +1 @@ +../../Task/Modular-inverse/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Monte-Carlo-methods b/Lang/XPL0/Monte-Carlo-methods new file mode 120000 index 0000000000..d4a03780a5 --- /dev/null +++ b/Lang/XPL0/Monte-Carlo-methods @@ -0,0 +1 @@ +../../Task/Monte-Carlo-methods/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Monty-Hall-problem b/Lang/XPL0/Monty-Hall-problem new file mode 120000 index 0000000000..39e8157151 --- /dev/null +++ b/Lang/XPL0/Monty-Hall-problem @@ -0,0 +1 @@ +../../Task/Monty-Hall-problem/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Morse-code b/Lang/XPL0/Morse-code new file mode 120000 index 0000000000..cf7a4fd85a --- /dev/null +++ b/Lang/XPL0/Morse-code @@ -0,0 +1 @@ +../../Task/Morse-code/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Mouse-position b/Lang/XPL0/Mouse-position new file mode 120000 index 0000000000..0f279ecc00 --- /dev/null +++ b/Lang/XPL0/Mouse-position @@ -0,0 +1 @@ +../../Task/Mouse-position/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Multifactorial b/Lang/XPL0/Multifactorial new file mode 120000 index 0000000000..eac39e7989 --- /dev/null +++ b/Lang/XPL0/Multifactorial @@ -0,0 +1 @@ +../../Task/Multifactorial/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Multiple-distinct-objects b/Lang/XPL0/Multiple-distinct-objects new file mode 120000 index 0000000000..4568ae0174 --- /dev/null +++ b/Lang/XPL0/Multiple-distinct-objects @@ -0,0 +1 @@ +../../Task/Multiple-distinct-objects/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Multiplication-tables b/Lang/XPL0/Multiplication-tables new file mode 120000 index 0000000000..f0d3beeba0 --- /dev/null +++ b/Lang/XPL0/Multiplication-tables @@ -0,0 +1 @@ +../../Task/Multiplication-tables/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Mutual-recursion b/Lang/XPL0/Mutual-recursion new file mode 120000 index 0000000000..b65ac49247 --- /dev/null +++ b/Lang/XPL0/Mutual-recursion @@ -0,0 +1 @@ +../../Task/Mutual-recursion/XPL0 \ No newline at end of file diff --git a/Lang/XPL0/Search-a-list b/Lang/XPL0/Search-a-list new file mode 120000 index 0000000000..befbcee87a --- /dev/null +++ b/Lang/XPL0/Search-a-list @@ -0,0 +1 @@ +../../Task/Search-a-list/XPL0 \ No newline at end of file diff --git a/Lang/XProc/0DESCRIPTION b/Lang/XProc/0DESCRIPTION new file mode 100644 index 0000000000..b1f3c9371c --- /dev/null +++ b/Lang/XProc/0DESCRIPTION @@ -0,0 +1,5 @@ +{{language|XProc +|site=http://www.w3.org/TR/xproc +|LCT=no +}} +XProc is a pipeline language \ No newline at end of file diff --git a/Lang/XQuery/0DESCRIPTION b/Lang/XQuery/0DESCRIPTION new file mode 100644 index 0000000000..654454d147 --- /dev/null +++ b/Lang/XQuery/0DESCRIPTION @@ -0,0 +1,6 @@ +{{language|XQuery +|site=http://www.w3.org/XML/Query +|LCT=no +}}{{language programming paradigm|functional}}'''XQuery''', is a declarative query and transformation language for [[XML]] data specified by W3C. XQuery has similarities to [[XSLT]] like '''XPath''' for path expressions. In fact, XQuery 1.0 is a superset of XPath 2.0. + +Unlike XSLT the XQuery syntax looks similar to [[SQL]] and consists of '''FLOWR''' expressions. FLOWR stands for '''for''', '''let''', '''order by''', '''where''' and '''return'''. \ No newline at end of file diff --git a/Lang/XQuery/Comments b/Lang/XQuery/Comments new file mode 120000 index 0000000000..2fdcf6b763 --- /dev/null +++ b/Lang/XQuery/Comments @@ -0,0 +1 @@ +../../Task/Comments/XQuery \ No newline at end of file diff --git a/Lang/XQuery/Empty-program b/Lang/XQuery/Empty-program new file mode 120000 index 0000000000..d5e4b8b92d --- /dev/null +++ b/Lang/XQuery/Empty-program @@ -0,0 +1 @@ +../../Task/Empty-program/XQuery \ No newline at end of file diff --git a/Lang/XQuery/Fibonacci-sequence b/Lang/XQuery/Fibonacci-sequence new file mode 120000 index 0000000000..2d2cae9b3c --- /dev/null +++ b/Lang/XQuery/Fibonacci-sequence @@ -0,0 +1 @@ +../../Task/Fibonacci-sequence/XQuery \ No newline at end of file diff --git a/Lang/XQuery/Filter b/Lang/XQuery/Filter new file mode 120000 index 0000000000..b640b98ed0 --- /dev/null +++ b/Lang/XQuery/Filter @@ -0,0 +1 @@ +../../Task/Filter/XQuery \ No newline at end of file diff --git a/Lang/XS/0DESCRIPTION b/Lang/XS/0DESCRIPTION new file mode 100644 index 0000000000..9bbdd3196d --- /dev/null +++ b/Lang/XS/0DESCRIPTION @@ -0,0 +1,5 @@ +{{stub}}{{language}} + +XS is a glue language primarily used for creating interfaces between C code and Perl scripts. XS enables subroutines written in C to be called from Perl code, as if they were written in Perl. + +The XS language may also be used for writing C++ wrappers. \ No newline at end of file diff --git a/Lang/XSLT-1.0/0DESCRIPTION b/Lang/XSLT-1.0/0DESCRIPTION new file mode 100644 index 0000000000..ec99869c30 --- /dev/null +++ b/Lang/XSLT-1.0/0DESCRIPTION @@ -0,0 +1,6 @@ +{{stub}}{{language}} + +==References== +* [http://www.w3.org/TR/xslt XSLT 1.0 Spec] +* [http://www.w3.org/TR/REC-xml-names XML Namespaces Spec] +* [http://www.w3.org/TR/xpath XPath 1.0 Spec] \ No newline at end of file diff --git a/Lang/XSLT-1.0/100-doors b/Lang/XSLT-1.0/100-doors new file mode 120000 index 0000000000..c5f8cbc70f --- /dev/null +++ b/Lang/XSLT-1.0/100-doors @@ -0,0 +1 @@ +../../Task/100-doors/XSLT-1.0 \ No newline at end of file diff --git a/Lang/XSLT-1.0/FizzBuzz b/Lang/XSLT-1.0/FizzBuzz new file mode 120000 index 0000000000..af823b9f55 --- /dev/null +++ b/Lang/XSLT-1.0/FizzBuzz @@ -0,0 +1 @@ +../../Task/FizzBuzz/XSLT-1.0 \ No newline at end of file diff --git a/Lang/XSLT-1.0/Matrix-multiplication b/Lang/XSLT-1.0/Matrix-multiplication new file mode 120000 index 0000000000..858772f799 --- /dev/null +++ b/Lang/XSLT-1.0/Matrix-multiplication @@ -0,0 +1 @@ +../../Task/Matrix-multiplication/XSLT-1.0 \ No newline at end of file diff --git a/Lang/XSLT-2.0/0DESCRIPTION b/Lang/XSLT-2.0/0DESCRIPTION new file mode 100644 index 0000000000..ff818ad99c --- /dev/null +++ b/Lang/XSLT-2.0/0DESCRIPTION @@ -0,0 +1,12 @@ +{{stub}}{{language}} + +==References== +* [http://www.w3.org/TR/xslt20 XSLT 2.0 Spec] +* [http://www.w3.org/TR/xpath-datamodel XQuery and XPath Data Model] +* [http://www.w3.org/TR/xpath-functions XPath Functions] +* [http://www.w3.org/TR/xml-infoset XML InfoSet] +* [http://www.w3.org/TR/xpath20 XPath 2.0 Spec] +* [http://www.w3.org/TR/xslt-xquery-serialization XSLT 2.0 Serialization] +* [http://www.w3.org/TR/xml-names11 Namespaces in XML 1.1] +* [http://www.w3.org/TR/xmlschema-2 XML Schema Part 1: Structures] +* [http://www.w3.org/TR/xmlschema-2 XML Schema Part 2: Data types] \ No newline at end of file diff --git a/Lang/XSLT-2.0/100-doors b/Lang/XSLT-2.0/100-doors new file mode 120000 index 0000000000..b15f04f92d --- /dev/null +++ b/Lang/XSLT-2.0/100-doors @@ -0,0 +1 @@ +../../Task/100-doors/XSLT-2.0 \ No newline at end of file diff --git a/Lang/XSLT-2.0/CSV-to-HTML-translation b/Lang/XSLT-2.0/CSV-to-HTML-translation new file mode 120000 index 0000000000..1a66b345e2 --- /dev/null +++ b/Lang/XSLT-2.0/CSV-to-HTML-translation @@ -0,0 +1 @@ +../../Task/CSV-to-HTML-translation/XSLT-2.0 \ No newline at end of file diff --git a/Lang/XSLT-2.0/FizzBuzz b/Lang/XSLT-2.0/FizzBuzz new file mode 120000 index 0000000000..8e6093bf6f --- /dev/null +++ b/Lang/XSLT-2.0/FizzBuzz @@ -0,0 +1 @@ +../../Task/FizzBuzz/XSLT-2.0 \ No newline at end of file diff --git a/Lang/XSLT-2.0/Longest-string-challenge b/Lang/XSLT-2.0/Longest-string-challenge new file mode 120000 index 0000000000..4000ee4ce3 --- /dev/null +++ b/Lang/XSLT-2.0/Longest-string-challenge @@ -0,0 +1 @@ +../../Task/Longest-string-challenge/XSLT-2.0 \ No newline at end of file diff --git a/Lang/XSLT/0DESCRIPTION b/Lang/XSLT/0DESCRIPTION new file mode 100644 index 0000000000..3de1ddcd07 --- /dev/null +++ b/Lang/XSLT/0DESCRIPTION @@ -0,0 +1,8 @@ +{{language|XSLT +|site=http://www.w3.org/TR/xslt +|LCT=no +}} +'''XSLT''', which stands for '''Extensible Stylesheet Language Transformations''', is a domain specific [[functional programming|functional]] language for extracting data from and transforming [[XML]] documents. The language itself uses [[XML]] syntax. It is defined in three pieces: +# '''Extensible Stylesheet Language''' (XSL) is the base language +# '''XPath''' is the expression language used within many of the attributes to address portions of the document and manipulate values +# '''Formatting Objects''' (FO) is an extension for providing page layout and presentation, which has a similar model to PDF \ No newline at end of file diff --git a/Lang/XSLT/Arithmetic-Integer b/Lang/XSLT/Arithmetic-Integer new file mode 120000 index 0000000000..35c10541a8 --- /dev/null +++ b/Lang/XSLT/Arithmetic-Integer @@ -0,0 +1 @@ +../../Task/Arithmetic-Integer/XSLT \ No newline at end of file diff --git a/Lang/XSLT/Boolean-values b/Lang/XSLT/Boolean-values new file mode 120000 index 0000000000..549ed9e3fe --- /dev/null +++ b/Lang/XSLT/Boolean-values @@ -0,0 +1 @@ +../../Task/Boolean-values/XSLT \ No newline at end of file diff --git a/Lang/XSLT/Comments b/Lang/XSLT/Comments new file mode 120000 index 0000000000..eaeba2d036 --- /dev/null +++ b/Lang/XSLT/Comments @@ -0,0 +1 @@ +../../Task/Comments/XSLT \ No newline at end of file diff --git a/Lang/XSLT/Compound-data-type b/Lang/XSLT/Compound-data-type new file mode 120000 index 0000000000..345e094993 --- /dev/null +++ b/Lang/XSLT/Compound-data-type @@ -0,0 +1 @@ +../../Task/Compound-data-type/XSLT \ No newline at end of file diff --git a/Lang/XSLT/Conditional-structures b/Lang/XSLT/Conditional-structures new file mode 120000 index 0000000000..11f9c8a00c --- /dev/null +++ b/Lang/XSLT/Conditional-structures @@ -0,0 +1 @@ +../../Task/Conditional-structures/XSLT \ No newline at end of file diff --git a/Lang/XSLT/Empty-program b/Lang/XSLT/Empty-program new file mode 120000 index 0000000000..c35397fd07 --- /dev/null +++ b/Lang/XSLT/Empty-program @@ -0,0 +1 @@ +../../Task/Empty-program/XSLT \ No newline at end of file diff --git a/Lang/XSLT/Filter b/Lang/XSLT/Filter new file mode 120000 index 0000000000..9fac675dfa --- /dev/null +++ b/Lang/XSLT/Filter @@ -0,0 +1 @@ +../../Task/Filter/XSLT \ No newline at end of file diff --git a/Lang/XSLT/Function-definition b/Lang/XSLT/Function-definition new file mode 120000 index 0000000000..1bb230ffea --- /dev/null +++ b/Lang/XSLT/Function-definition @@ -0,0 +1 @@ +../../Task/Function-definition/XSLT \ No newline at end of file diff --git a/Lang/XSLT/Hello-world-Text b/Lang/XSLT/Hello-world-Text new file mode 120000 index 0000000000..45c6806a87 --- /dev/null +++ b/Lang/XSLT/Hello-world-Text @@ -0,0 +1 @@ +../../Task/Hello-world-Text/XSLT \ No newline at end of file diff --git a/Lang/XSLT/Integer-comparison b/Lang/XSLT/Integer-comparison new file mode 120000 index 0000000000..19857cd913 --- /dev/null +++ b/Lang/XSLT/Integer-comparison @@ -0,0 +1 @@ +../../Task/Integer-comparison/XSLT \ No newline at end of file diff --git a/Lang/XSLT/Literals-String b/Lang/XSLT/Literals-String new file mode 120000 index 0000000000..ee2485adf1 --- /dev/null +++ b/Lang/XSLT/Literals-String @@ -0,0 +1 @@ +../../Task/Literals-String/XSLT \ No newline at end of file diff --git a/Lang/XSLT/Logical-operations b/Lang/XSLT/Logical-operations new file mode 120000 index 0000000000..e48748a93a --- /dev/null +++ b/Lang/XSLT/Logical-operations @@ -0,0 +1 @@ +../../Task/Logical-operations/XSLT \ No newline at end of file diff --git a/Lang/XSLT/Loops-Foreach b/Lang/XSLT/Loops-Foreach new file mode 120000 index 0000000000..fdcb4be5cc --- /dev/null +++ b/Lang/XSLT/Loops-Foreach @@ -0,0 +1 @@ +../../Task/Loops-Foreach/XSLT \ No newline at end of file diff --git a/Lang/XSLT/Mandelbrot-set b/Lang/XSLT/Mandelbrot-set new file mode 120000 index 0000000000..3ee88e8a83 --- /dev/null +++ b/Lang/XSLT/Mandelbrot-set @@ -0,0 +1 @@ +../../Task/Mandelbrot-set/XSLT \ No newline at end of file diff --git a/Lang/XTalk/0DESCRIPTION b/Lang/XTalk/0DESCRIPTION new file mode 100644 index 0000000000..6bea22b56e --- /dev/null +++ b/Lang/XTalk/0DESCRIPTION @@ -0,0 +1,9 @@ +{{ +language|XTalk +|exec=interpreted +|LCT=no +}} +'''''x''Talk''' (pronounced "cross-talk") is the language family started by [[HyperTalk]], the scripting language of [[Apple Computer]]'s [[HyperCard]] application for [[Mac OS]] Classic operating systems. Aimed at novice programmers, it was noted for an English-like syntax. Rarely used today, its modern descendant is [[AppleScript]]. + +==External links== +* [http://www.creysoft.com/xtalk/ Open source xTalk interpreters] \ No newline at end of file diff --git a/Lang/XUL/0DESCRIPTION b/Lang/XUL/0DESCRIPTION new file mode 100644 index 0000000000..71ff6d13b5 --- /dev/null +++ b/Lang/XUL/0DESCRIPTION @@ -0,0 +1,4 @@ +{{stub}}{{language|xul +|site=https://developer.mozilla.org/En/XUL/}} + +XUL is a cross platform user interface markup language implemented as an XML dialect that allows graphical user interfaces to be written in a similar manner to web pages. XUL was developed by the Mozilla Project \ No newline at end of file diff --git a/Lang/XUL/Comments b/Lang/XUL/Comments new file mode 120000 index 0000000000..d9fbea3c8d --- /dev/null +++ b/Lang/XUL/Comments @@ -0,0 +1 @@ +../../Task/Comments/XUL \ No newline at end of file diff --git a/Lang/XUL/Empty-program b/Lang/XUL/Empty-program new file mode 120000 index 0000000000..b02079e01f --- /dev/null +++ b/Lang/XUL/Empty-program @@ -0,0 +1 @@ +../../Task/Empty-program/XUL \ No newline at end of file diff --git a/Lang/Xanadu/0DESCRIPTION b/Lang/Xanadu/0DESCRIPTION new file mode 100644 index 0000000000..b85efc68d1 --- /dev/null +++ b/Lang/Xanadu/0DESCRIPTION @@ -0,0 +1,4 @@ +{{stub}}{{language|Xanadu +|site=http://www.cs.bu.edu/~hwxi/Xanadu/Xanadu.html +}} +Xanadu is a dependently typed imperative programming language. \ No newline at end of file diff --git a/Lang/Yacas/0DESCRIPTION b/Lang/Yacas/0DESCRIPTION new file mode 100644 index 0000000000..aebceeee0e --- /dev/null +++ b/Lang/Yacas/0DESCRIPTION @@ -0,0 +1,10 @@ +{{stub}}{{language|Yacas +|exec=interpreted +|LCT=no +}} + +YACAS (Yet Another Computer Algebra System) is an easy to use, general purpose Computer Algebra System, a program for symbolic manipulation of mathematical expressions. It uses its own programming language designed for symbolic as well as arbitrary-precision numerical computations. The system has a library of scripts that implement many of the symbolic algebra operations; new algorithms can be easily added to the library. YACAS comes with extensive documentation (hundreds of pages) covering the scripting language, the functionality that is already implemented in the system, and the algorithms used. + + +== See Also == +*[[wp:Yacas|Wikipedia : Yacas]] \ No newline at end of file diff --git a/Lang/Yorick/0DESCRIPTION b/Lang/Yorick/0DESCRIPTION new file mode 100644 index 0000000000..9fabb87493 --- /dev/null +++ b/Lang/Yorick/0DESCRIPTION @@ -0,0 +1,12 @@ +{{stub}}{{language +|exec=interpreted +|site=http://yorick.sourceforge.net/ +|gc=yes +|parampass=both +|LCT=no}} + +Yorick is an interpreted programming language for scientific simulations or calculations, postprocessing or steering large simulation codes, interactive scientific graphics, and reading, writing, or translating large files of numbers. Yorick includes an interactive graphics package, and a binary file package capable of translating to and from the raw numeric formats of all modern computers. Yorick is written in [[ANSI]] [[C]] and runs on most operating systems (*nix systems, [[Windows]], [[Mac]]). + +Yorick has a compact syntax, similar to C, but with array operators. It is easily expandable through dynamic linking of C libraries, allows efficient manipulation of arbitrary size/dimension arrays, and offers extensive graphic capabilities. + +Yorick is similar in scope to languages like [[IDL]] and [[MATLAB]]. \ No newline at end of file diff --git a/Lang/Yorick/100-doors b/Lang/Yorick/100-doors new file mode 120000 index 0000000000..3c26788b5a --- /dev/null +++ b/Lang/Yorick/100-doors @@ -0,0 +1 @@ +../../Task/100-doors/Yorick \ No newline at end of file diff --git a/Lang/Yorick/99-Bottles-of-Beer b/Lang/Yorick/99-Bottles-of-Beer new file mode 120000 index 0000000000..3f81dcab9c --- /dev/null +++ b/Lang/Yorick/99-Bottles-of-Beer @@ -0,0 +1 @@ +../../Task/99-Bottles-of-Beer/Yorick \ No newline at end of file diff --git a/Lang/Yorick/A+B b/Lang/Yorick/A+B new file mode 120000 index 0000000000..db10271ea0 --- /dev/null +++ b/Lang/Yorick/A+B @@ -0,0 +1 @@ +../../Task/A+B/Yorick \ No newline at end of file diff --git a/Lang/Yorick/Accumulator-factory b/Lang/Yorick/Accumulator-factory new file mode 120000 index 0000000000..9672fcbdce --- /dev/null +++ b/Lang/Yorick/Accumulator-factory @@ -0,0 +1 @@ +../../Task/Accumulator-factory/Yorick \ No newline at end of file diff --git a/Lang/Yorick/Ackermann-function b/Lang/Yorick/Ackermann-function new file mode 120000 index 0000000000..1fd109f109 --- /dev/null +++ b/Lang/Yorick/Ackermann-function @@ -0,0 +1 @@ +../../Task/Ackermann-function/Yorick \ No newline at end of file diff --git a/Lang/Yorick/Arithmetic-Integer b/Lang/Yorick/Arithmetic-Integer new file mode 120000 index 0000000000..3c3a81771c --- /dev/null +++ b/Lang/Yorick/Arithmetic-Integer @@ -0,0 +1 @@ +../../Task/Arithmetic-Integer/Yorick \ No newline at end of file diff --git a/Lang/Yorick/Array-concatenation b/Lang/Yorick/Array-concatenation new file mode 120000 index 0000000000..fcb706ca11 --- /dev/null +++ b/Lang/Yorick/Array-concatenation @@ -0,0 +1 @@ +../../Task/Array-concatenation/Yorick \ No newline at end of file diff --git a/Lang/Yorick/Averages-Arithmetic-mean b/Lang/Yorick/Averages-Arithmetic-mean new file mode 120000 index 0000000000..0a8e87d1d6 --- /dev/null +++ b/Lang/Yorick/Averages-Arithmetic-mean @@ -0,0 +1 @@ +../../Task/Averages-Arithmetic-mean/Yorick \ No newline at end of file diff --git a/Lang/Yorick/Delete-a-file b/Lang/Yorick/Delete-a-file new file mode 120000 index 0000000000..0b164f9402 --- /dev/null +++ b/Lang/Yorick/Delete-a-file @@ -0,0 +1 @@ +../../Task/Delete-a-file/Yorick \ No newline at end of file diff --git a/Lang/Yorick/Detect-division-by-zero b/Lang/Yorick/Detect-division-by-zero new file mode 120000 index 0000000000..55ad1291b3 --- /dev/null +++ b/Lang/Yorick/Detect-division-by-zero @@ -0,0 +1 @@ +../../Task/Detect-division-by-zero/Yorick \ No newline at end of file diff --git a/Lang/Yorick/Equilibrium-index b/Lang/Yorick/Equilibrium-index new file mode 120000 index 0000000000..68a85e6760 --- /dev/null +++ b/Lang/Yorick/Equilibrium-index @@ -0,0 +1 @@ +../../Task/Equilibrium-index/Yorick \ No newline at end of file diff --git a/Lang/Yorick/FizzBuzz b/Lang/Yorick/FizzBuzz new file mode 120000 index 0000000000..5e0caf3217 --- /dev/null +++ b/Lang/Yorick/FizzBuzz @@ -0,0 +1 @@ +../../Task/FizzBuzz/Yorick \ No newline at end of file diff --git a/Lang/Yorick/Function-definition b/Lang/Yorick/Function-definition new file mode 120000 index 0000000000..518f060d24 --- /dev/null +++ b/Lang/Yorick/Function-definition @@ -0,0 +1 @@ +../../Task/Function-definition/Yorick \ No newline at end of file diff --git a/Lang/Yorick/Hello-world-Text b/Lang/Yorick/Hello-world-Text new file mode 120000 index 0000000000..f6cebf5b42 --- /dev/null +++ b/Lang/Yorick/Hello-world-Text @@ -0,0 +1 @@ +../../Task/Hello-world-Text/Yorick \ No newline at end of file diff --git a/Lang/Yorick/Leap-year b/Lang/Yorick/Leap-year new file mode 120000 index 0000000000..94b9cc6b11 --- /dev/null +++ b/Lang/Yorick/Leap-year @@ -0,0 +1 @@ +../../Task/Leap-year/Yorick \ No newline at end of file diff --git a/Lang/Yorick/Look-and-say-sequence b/Lang/Yorick/Look-and-say-sequence new file mode 120000 index 0000000000..244f3839b7 --- /dev/null +++ b/Lang/Yorick/Look-and-say-sequence @@ -0,0 +1 @@ +../../Task/Look-and-say-sequence/Yorick \ No newline at end of file diff --git a/Lang/Yorick/Loops-Do-while b/Lang/Yorick/Loops-Do-while new file mode 120000 index 0000000000..2894c4ec73 --- /dev/null +++ b/Lang/Yorick/Loops-Do-while @@ -0,0 +1 @@ +../../Task/Loops-Do-while/Yorick \ No newline at end of file diff --git a/Lang/Yorick/Search-a-list b/Lang/Yorick/Search-a-list new file mode 120000 index 0000000000..75b66a2a18 --- /dev/null +++ b/Lang/Yorick/Search-a-list @@ -0,0 +1 @@ +../../Task/Search-a-list/Yorick \ No newline at end of file diff --git a/Lang/Z80-Assembly/0DESCRIPTION b/Lang/Z80-Assembly/0DESCRIPTION new file mode 100644 index 0000000000..48b44d4b1e --- /dev/null +++ b/Lang/Z80-Assembly/0DESCRIPTION @@ -0,0 +1,22 @@ +{{ +language|Z80 Assembly +|LCT=no +}} +'''Z80 Assembly''' is an assembly language for the [[wp:Zilog Z80|Zilog Z80]] processor, which was introduced in 1976 and used in 1980s home computers such as the [[wp:ZX Spectrum|Sinclair ZX Spectrum]] and the [[wp:Amstrad CPC|Amstrad CPC]] series. In the late 1990s, some TI graphing calculators (e.g. the TI-83 series) were also Z80-based. + +The Z80 is binary compatible with the earlier Intel 8080, but the assembly code is different because instead of having several different commands for loading and storing data, there is only one,LD, on the Z80. Therefore, on the assembly level, Z80 code is actually closer to 8086 code when MOV is changed to LD and the different register structure is taken into account.http://en.wikipedia.org/wiki/Z80#Z80_assembly_language + +Today, the Z80 is still widely used in embedded systems and consumer electronics. Several cross assemblers exist for the Z80, e.g. [http://savannah.nongnu.org/projects/z80asm/ z80asm]. Also, some emulators of e.g. the Amstrad CPC feature a built-in assembler. + +==References== + +
INKEY$
+* No support for multiple line IF conditionals
+* No conditional compilation directives
+* no [[hashbang]] mechanism
+* Variables have to be defined before use
+* The GO TO command has a space in the middle
+* VAL function interprets expressions
+* INPUT function can interpret expressions (unless LINE INPUT is used)
+
+{{language programming paradigm|procedural}}
+{{language programming paradigm|imperative}}
\ No newline at end of file
diff --git a/Lang/ZX-Spectrum-Basic/Call-a-function b/Lang/ZX-Spectrum-Basic/Call-a-function
new file mode 120000
index 0000000000..d0cda5d992
--- /dev/null
+++ b/Lang/ZX-Spectrum-Basic/Call-a-function
@@ -0,0 +1 @@
+../../Task/Call-a-function/ZX-Spectrum-Basic
\ No newline at end of file
diff --git a/Lang/ZX-Spectrum-Basic/Case-sensitivity-of-identifiers b/Lang/ZX-Spectrum-Basic/Case-sensitivity-of-identifiers
new file mode 120000
index 0000000000..ff83fa6711
--- /dev/null
+++ b/Lang/ZX-Spectrum-Basic/Case-sensitivity-of-identifiers
@@ -0,0 +1 @@
+../../Task/Case-sensitivity-of-identifiers/ZX-Spectrum-Basic
\ No newline at end of file
diff --git a/Lang/ZX-Spectrum-Basic/Create-a-file b/Lang/ZX-Spectrum-Basic/Create-a-file
new file mode 120000
index 0000000000..847ba7eaa9
--- /dev/null
+++ b/Lang/ZX-Spectrum-Basic/Create-a-file
@@ -0,0 +1 @@
+../../Task/Create-a-file/ZX-Spectrum-Basic
\ No newline at end of file
diff --git a/Lang/ZX-Spectrum-Basic/Create-a-file-on-magnetic-tape b/Lang/ZX-Spectrum-Basic/Create-a-file-on-magnetic-tape
new file mode 120000
index 0000000000..fee507f979
--- /dev/null
+++ b/Lang/ZX-Spectrum-Basic/Create-a-file-on-magnetic-tape
@@ -0,0 +1 @@
+../../Task/Create-a-file-on-magnetic-tape/ZX-Spectrum-Basic
\ No newline at end of file
diff --git a/Lang/ZX-Spectrum-Basic/Documentation b/Lang/ZX-Spectrum-Basic/Documentation
new file mode 120000
index 0000000000..e8e7ab5ba9
--- /dev/null
+++ b/Lang/ZX-Spectrum-Basic/Documentation
@@ -0,0 +1 @@
+../../Task/Documentation/ZX-Spectrum-Basic
\ No newline at end of file
diff --git a/Lang/ZX-Spectrum-Basic/Execute-a-system-command b/Lang/ZX-Spectrum-Basic/Execute-a-system-command
new file mode 120000
index 0000000000..90b732546f
--- /dev/null
+++ b/Lang/ZX-Spectrum-Basic/Execute-a-system-command
@@ -0,0 +1 @@
+../../Task/Execute-a-system-command/ZX-Spectrum-Basic
\ No newline at end of file
diff --git a/Lang/ZX-Spectrum-Basic/Exponentiation-operator b/Lang/ZX-Spectrum-Basic/Exponentiation-operator
new file mode 120000
index 0000000000..837de79f76
--- /dev/null
+++ b/Lang/ZX-Spectrum-Basic/Exponentiation-operator
@@ -0,0 +1 @@
+../../Task/Exponentiation-operator/ZX-Spectrum-Basic
\ No newline at end of file
diff --git a/Lang/ZX-Spectrum-Basic/Factorial b/Lang/ZX-Spectrum-Basic/Factorial
new file mode 120000
index 0000000000..0b29885fc6
--- /dev/null
+++ b/Lang/ZX-Spectrum-Basic/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/ZX-Spectrum-Basic
\ No newline at end of file
diff --git a/Lang/ZX-Spectrum-Basic/Function-definition b/Lang/ZX-Spectrum-Basic/Function-definition
new file mode 120000
index 0000000000..ec5a6fe726
--- /dev/null
+++ b/Lang/ZX-Spectrum-Basic/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/ZX-Spectrum-Basic
\ No newline at end of file
diff --git a/Lang/ZX-Spectrum-Basic/Greyscale-bars-Display b/Lang/ZX-Spectrum-Basic/Greyscale-bars-Display
new file mode 120000
index 0000000000..d360735976
--- /dev/null
+++ b/Lang/ZX-Spectrum-Basic/Greyscale-bars-Display
@@ -0,0 +1 @@
+../../Task/Greyscale-bars-Display/ZX-Spectrum-Basic
\ No newline at end of file
diff --git a/Lang/ZX-Spectrum-Basic/Hello-world-Newline-omission b/Lang/ZX-Spectrum-Basic/Hello-world-Newline-omission
new file mode 120000
index 0000000000..58ed3cd312
--- /dev/null
+++ b/Lang/ZX-Spectrum-Basic/Hello-world-Newline-omission
@@ -0,0 +1 @@
+../../Task/Hello-world-Newline-omission/ZX-Spectrum-Basic
\ No newline at end of file
diff --git a/Lang/ZX-Spectrum-Basic/Include-a-file b/Lang/ZX-Spectrum-Basic/Include-a-file
new file mode 120000
index 0000000000..a209f9a63a
--- /dev/null
+++ b/Lang/ZX-Spectrum-Basic/Include-a-file
@@ -0,0 +1 @@
+../../Task/Include-a-file/ZX-Spectrum-Basic
\ No newline at end of file
diff --git a/Lang/ZX-Spectrum-Basic/Introspection b/Lang/ZX-Spectrum-Basic/Introspection
new file mode 120000
index 0000000000..adcbe1f376
--- /dev/null
+++ b/Lang/ZX-Spectrum-Basic/Introspection
@@ -0,0 +1 @@
+../../Task/Introspection/ZX-Spectrum-Basic
\ No newline at end of file
diff --git a/Lang/ZX-Spectrum-Basic/Loop-over-multiple-arrays-simultaneously b/Lang/ZX-Spectrum-Basic/Loop-over-multiple-arrays-simultaneously
new file mode 120000
index 0000000000..19094deb58
--- /dev/null
+++ b/Lang/ZX-Spectrum-Basic/Loop-over-multiple-arrays-simultaneously
@@ -0,0 +1 @@
+../../Task/Loop-over-multiple-arrays-simultaneously/ZX-Spectrum-Basic
\ No newline at end of file
diff --git a/Lang/ZX-Spectrum-Basic/Loops-Downward-for b/Lang/ZX-Spectrum-Basic/Loops-Downward-for
new file mode 120000
index 0000000000..00b924d55a
--- /dev/null
+++ b/Lang/ZX-Spectrum-Basic/Loops-Downward-for
@@ -0,0 +1 @@
+../../Task/Loops-Downward-for/ZX-Spectrum-Basic
\ No newline at end of file
diff --git a/Lang/ZX-Spectrum-Basic/Loops-For-with-a-specified-step b/Lang/ZX-Spectrum-Basic/Loops-For-with-a-specified-step
new file mode 120000
index 0000000000..08eeb067a4
--- /dev/null
+++ b/Lang/ZX-Spectrum-Basic/Loops-For-with-a-specified-step
@@ -0,0 +1 @@
+../../Task/Loops-For-with-a-specified-step/ZX-Spectrum-Basic
\ No newline at end of file
diff --git a/Lang/ZX-Spectrum-Basic/Loops-Nested b/Lang/ZX-Spectrum-Basic/Loops-Nested
new file mode 120000
index 0000000000..441f66ad68
--- /dev/null
+++ b/Lang/ZX-Spectrum-Basic/Loops-Nested
@@ -0,0 +1 @@
+../../Task/Loops-Nested/ZX-Spectrum-Basic
\ No newline at end of file
diff --git a/Lang/ZX-Spectrum-Basic/Luhn-test-of-credit-card-numbers b/Lang/ZX-Spectrum-Basic/Luhn-test-of-credit-card-numbers
new file mode 120000
index 0000000000..3a0efc341c
--- /dev/null
+++ b/Lang/ZX-Spectrum-Basic/Luhn-test-of-credit-card-numbers
@@ -0,0 +1 @@
+../../Task/Luhn-test-of-credit-card-numbers/ZX-Spectrum-Basic
\ No newline at end of file
diff --git a/Lang/ZX-Spectrum-Basic/Memory-allocation b/Lang/ZX-Spectrum-Basic/Memory-allocation
new file mode 120000
index 0000000000..3c3c821b2c
--- /dev/null
+++ b/Lang/ZX-Spectrum-Basic/Memory-allocation
@@ -0,0 +1 @@
+../../Task/Memory-allocation/ZX-Spectrum-Basic
\ No newline at end of file
diff --git a/Lang/Zonnon/0DESCRIPTION b/Lang/Zonnon/0DESCRIPTION
new file mode 100644
index 0000000000..8a95e192c9
--- /dev/null
+++ b/Lang/Zonnon/0DESCRIPTION
@@ -0,0 +1,6 @@
+{{stub}}
+{{language
+|site=http://www.zonnon.ethz.ch/
+|LCT=yes
+}}
+Zonnon is a general-purpose programming language in the [[Pascal]], [[Modula-2]] and [[Oberon]] family. It retains an emphasis on simplicity, clear syntax and separation of concerns whilst focusing on concurrency and ease of composition and expression. Unification of abstractions is at the heart of its design and this is reflected in its conceptual model based on modules, objects, definitions and implementations. Zonnon offers a new computing model based on active objects with their interaction defined by syntax controlled dialogs. It also introduces new features including operator overloading and exception handling, and is specifically designed to be platform independent.
\ No newline at end of file
diff --git a/Meta/Lang.yaml b/Meta/Lang.yaml
index bd99307542..6ea1605157 100644
--- a/Meta/Lang.yaml
+++ b/Meta/Lang.yaml
@@ -115,7 +115,7 @@ ASP:
path: ASP
url: ASP
ASP.Net:
- ext: asp
+ ext: asp.net
name: ASP.Net
path: ASP.Net
url: ASP.Net
@@ -195,12 +195,12 @@ AppleScript:
path: AppleScript
url: AppleScript
Applesoft BASIC:
- ext: bas
+ ext: applesoft
name: Applesoft BASIC
path: Applesoft-BASIC
url: Applesoft_BASIC
Application Master:
- ext: application
+ ext: ''
name: Application Master
path: Application-Master
url: Application_Master
@@ -260,7 +260,7 @@ B:
path: B
url: B
BASIC:
- ext: bas
+ ext: basic
name: BASIC
path: BASIC
url: BASIC
@@ -490,7 +490,7 @@ Cobra:
path: Cobra
url: Cobra
CoffeeScript:
- ext: coffee
+ ext: coffeescript
name: CoffeeScript
path: CoffeeScript
url: CoffeeScript
@@ -505,7 +505,7 @@ Common Lisp:
path: Common-Lisp
url: Common_Lisp
Component Pascal:
- ext: pascal
+ ext: component
name: Component Pascal
path: Component-Pascal
url: Component_Pascal
@@ -590,7 +590,7 @@ Dylan:
path: Dylan
url: Dylan
Dylan.NET:
- ext: net
+ ext: dylan.net
name: Dylan.NET
path: Dylan.NET
url: Dylan.NET
@@ -730,7 +730,7 @@ FBSL:
path: FBSL
url: FBSL
FLORA-2:
- ext: flora-2
+ ext: ''
name: FLORA-2
path: FLORA-2
url: FLORA-2
@@ -860,7 +860,7 @@ GUISS:
path: GUISS
url: GUISS
GW-BASIC:
- ext: bas
+ ext: gw-basic
name: GW-BASIC
path: GW-BASIC
url: GW-BASIC
@@ -910,7 +910,7 @@ Go:
path: Go
url: Go
Golfscript:
- ext: golf
+ ext: golfscript
name: Golfscript
path: Golfscript
url: Golfscript
@@ -995,7 +995,7 @@ Informix 4GL:
path: Informix-4GL
url: Informix_4GL
Integer BASIC:
- ext: bas
+ ext: integer
name: Integer BASIC
path: Integer-BASIC
url: Integer_BASIC
@@ -1035,7 +1035,7 @@ JCL:
path: JCL
url: JCL
JScript.NET:
- ext: net
+ ext: jscript.net
name: JScript.NET
path: JScript.NET
url: JScript.NET
@@ -1080,7 +1080,7 @@ Joy:
path: Joy
url: Joy
JudoScript:
- ext: judo
+ ext: judoscript
name: JudoScript
path: JudoScript
url: JudoScript
@@ -1105,7 +1105,7 @@ Kaya:
path: Kaya
url: Kaya
KeyList Databasing:
- ext: keylist
+ ext: ''
name: KeyList Databasing
path: KeyList-Databasing
url: KeyList_Databasing
@@ -1115,7 +1115,7 @@ Kite:
path: Kite
url: Kite
KonsolScript:
- ext: konso
+ ext: konsolscript
name: KonsolScript
path: KonsolScript
url: KonsolScript
@@ -1180,7 +1180,7 @@ Liberty BASIC:
path: Liberty-BASIC
url: Liberty_BASIC
Lilypond:
- ext: lilypond
+ ext: lily
name: Lilypond
path: Lilypond
url: Lilypond
@@ -1195,12 +1195,12 @@ Lisaac:
path: Lisaac
url: Lisaac
Lisp:
- ext: lisp
+ ext: l
name: Lisp
path: Lisp
url: Lisp
Locomotive Basic:
- ext: bas
+ ext: locomotive
name: Locomotive Basic
path: Locomotive-Basic
url: Locomotive_Basic
@@ -1225,7 +1225,7 @@ Lotus 123 Macro Scripting:
path: Lotus-123-Macro-Scripting
url: Lotus_123_Macro_Scripting
LotusScript:
- ext: lotus
+ ext: lotusscript
name: LotusScript
path: LotusScript
url: LotusScript
@@ -1275,7 +1275,7 @@ MATLAB:
path: MATLAB
url: MATLAB
MAXScript:
- ext: max
+ ext: maxscript
name: MAXScript
path: MAXScript
url: MAXScript
@@ -1330,12 +1330,12 @@ MPIF90:
path: MPIF90
url: MPIF90
MS SQL:
- ext: ms
+ ext: sql
name: MS SQL
path: MS-SQL
url: MS_SQL
MSSQL:
- ext: mssql
+ ext: sql
name: MSSQL
path: MSSQL
url: MSSQL
@@ -1360,12 +1360,12 @@ Maple:
path: Maple
url: Maple
Mathematica:
- ext: mathematica
+ ext: math
name: Mathematica
path: Mathematica
url: Mathematica
Mathprog:
- ext: mathprog
+ ext: math
name: Mathprog
path: Mathprog
url: Mathprog
@@ -1410,12 +1410,12 @@ Modula-3:
path: Modula-3
url: Modula-3
Moonscript:
- ext: moon
+ ext: moonscript
name: Moonscript
path: Moonscript
url: Moonscript
MySQL:
- ext: mysql
+ ext: sql
name: MySQL
path: MySQL
url: MySQL
@@ -1429,6 +1429,201 @@ Mythryl:
name: Mythryl
path: Mythryl
url: Mythryl
+N/t/roff:
+ ext: n
+ name: N/t/roff
+ path: N-t-roff
+ url: N/t/roff
+NQP:
+ ext: nqp
+ name: NQP
+ path: NQP
+ url: NQP
+NSIS:
+ ext: nsis
+ name: NSIS
+ path: NSIS
+ url: NSIS
+Neat:
+ ext: neat
+ name: Neat
+ path: Neat
+ url: Neat
+Neko:
+ ext: neko
+ name: Neko
+ path: Neko
+ url: Neko
+Nemerle:
+ ext: nemerle
+ name: Nemerle
+ path: Nemerle
+ url: Nemerle
+NetLogo:
+ ext: netlogo
+ name: NetLogo
+ path: NetLogo
+ url: NetLogo
+NetRexx:
+ ext: netrexx
+ name: NetRexx
+ path: NetRexx
+ url: NetRexx
+NewLISP:
+ ext: newlisp
+ name: NewLISP
+ path: NewLISP
+ url: NewLISP
+Nial:
+ ext: nial
+ name: Nial
+ path: Nial
+ url: Nial
+Nice:
+ ext: nice
+ name: Nice
+ path: Nice
+ url: Nice
+Nickle:
+ ext: nickle
+ name: Nickle
+ path: Nickle
+ url: Nickle
+Nimrod:
+ ext: nimrod
+ name: Nimrod
+ path: Nimrod
+ url: Nimrod
+Niue:
+ ext: niue
+ name: Niue
+ path: Niue
+ url: Niue
+OCaml:
+ ext: ocaml
+ name: OCaml
+ path: OCaml
+ url: OCaml
+OOC:
+ ext: ooc
+ name: OOC
+ path: OOC
+ url: OOC
+OOCalc:
+ ext: oocalc
+ name: OOCalc
+ path: OOCalc
+ url: OOCalc
+OPL:
+ ext: opl
+ name: OPL
+ path: OPL
+ url: OPL
+Oberon-2:
+ ext: oberon-2
+ name: Oberon-2
+ path: Oberon-2
+ url: Oberon-2
+Objeck:
+ ext: objeck
+ name: Objeck
+ path: Objeck
+ url: Objeck
+Object Pascal:
+ ext: object
+ name: Object Pascal
+ path: Object-Pascal
+ url: Object_Pascal
+ObjectIcon:
+ ext: objecticon
+ name: ObjectIcon
+ path: ObjectIcon
+ url: ObjectIcon
+Objective-C:
+ ext: m
+ name: Objective-C
+ path: Objective-C
+ url: Objective-C
+Occam:
+ ext: occam
+ name: Occam
+ path: Occam
+ url: Occam
+Octave:
+ ext: octave
+ name: Octave
+ path: Octave
+ url: Octave
+Omega:
+ ext: omega
+ name: Omega
+ path: Omega
+ url: Omega
+Onyx:
+ ext: onyx
+ name: Onyx
+ path: Onyx
+ url: Onyx
+OoRexx:
+ ext: rexx
+ name: OoRexx
+ path: OoRexx
+ url: OoRexx
+Opa:
+ ext: opa
+ name: Opa
+ path: Opa
+ url: Opa
+OpenC++:
+ ext: opencpp
+ name: OpenC++
+ path: OpenC++
+ url: OpenC++
+OpenEdge/Progress:
+ ext: openedge
+ name: OpenEdge/Progress
+ path: OpenEdge-Progress
+ url: OpenEdge/Progress
+Openscad:
+ ext: scad
+ name: Openscad
+ path: Openscad
+ url: Openscad
+Order:
+ ext: order
+ name: Order
+ path: Order
+ url: Order
+OxygenBasic:
+ ext: oxy
+ name: OxygenBasic
+ path: OxygenBasic
+ url: OxygenBasic
+Oxygene:
+ ext: oxy
+ name: Oxygene
+ path: Oxygene
+ url: Oxygene
+Oz:
+ ext: oz
+ name: Oz
+ path: Oz
+ url: Oz
+PARI/GP:
+ ext: pari
+ name: PARI/GP
+ path: PARI-GP
+ url: PARI/GP
+PASM:
+ ext: pasm
+ name: PASM
+ path: PASM
+ url: PASM
+PDP-11 Assembly:
+ ext: pdp-11
+ name: PDP-11 Assembly
+ path: PDP-11-Assembly
+ url: PDP-11_Assembly
PHP:
ext: php
name: PHP
@@ -1439,51 +1634,351 @@ PIR:
name: PIR
path: PIR
url: PIR
+PL/I:
+ ext: pli
+ name: PL/I
+ path: PL-I
+ url: PL/I
+PL/M:
+ ext: plm
+ name: PL/M
+ path: PL-M
+ url: PL/M
+PL/SQL:
+ ext: sql
+ name: PL/SQL
+ path: PL-SQL
+ url: PL/SQL
+PL/pgSQL:
+ ext: sql
+ name: PL/pgSQL
+ path: PL-pgSQL
+ url: PL/pgSQL
+PLUS:
+ ext: plus
+ name: PLUS
+ path: PLUS
+ url: PLUS
+PLZ/SYS:
+ ext: plz
+ name: PLZ/SYS
+ path: PLZ-SYS
+ url: PLZ/SYS
+POV-Ray:
+ ext: pov-ray
+ name: POV-Ray
+ path: POV-Ray
+ url: POV-Ray
+PPC Assembly:
+ ext: ppc
+ name: PPC Assembly
+ path: PPC-Assembly
+ url: PPC_Assembly
+PPL:
+ ext: ppl
+ name: PPL
+ path: PPL
+ url: PPL
+PSQL:
+ ext: psql
+ name: PSQL
+ path: PSQL
+ url: PSQL
+Pascal:
+ ext: pascal
+ name: Pascal
+ path: Pascal
+ url: Pascal
+Pentium Assembly:
+ ext: pentium
+ name: Pentium Assembly
+ path: Pentium-Assembly
+ url: Pentium_Assembly
Perl:
ext: pl
name: Perl
path: Perl
url: Perl
+Perl 6:
+ ext: pl6
+ name: Perl 6
+ path: Perl-6
+ url: Perl_6
PicoLisp:
ext: l
name: PicoLisp
path: PicoLisp
url: PicoLisp
+Piet:
+ ext: piet
+ name: Piet
+ path: Piet
+ url: Piet
+Pike:
+ ext: pike
+ name: Pike
+ path: Pike
+ url: Pike
+PlainTeX:
+ ext: tex
+ name: PlainTeX
+ path: PlainTeX
+ url: PlainTeX
+Pop11:
+ ext: pop11
+ name: Pop11
+ path: Pop11
+ url: Pop11
+PostScript:
+ ext: ps
+ name: PostScript
+ path: PostScript
+ url: PostScript
+PowerBASIC:
+ ext: powerbasic
+ name: PowerBASIC
+ path: PowerBASIC
+ url: PowerBASIC
+PowerShell:
+ ext: psh
+ name: PowerShell
+ path: PowerShell
+ url: PowerShell
+ProDOS:
+ ext: dos
+ name: ProDOS
+ path: ProDOS
+ url: ProDOS
+Processing:
+ ext: ''
+ name: Processing
+ path: Processing
+ url: Processing
Prolog:
ext: pro
name: Prolog
path: Prolog
url: Prolog
+Protium:
+ ext: protium
+ name: Protium
+ path: Protium
+ url: Protium
+Pure:
+ ext: pure
+ name: Pure
+ path: Pure
+ url: Pure
+Pure Data:
+ ext: pure
+ name: Pure Data
+ path: Pure-Data
+ url: Pure_Data
+PureBasic:
+ ext: purebasic
+ name: PureBasic
+ path: PureBasic
+ url: PureBasic
+Purity:
+ ext: purity
+ name: Purity
+ path: Purity
+ url: Purity
Python:
ext: py
name: Python
path: Python
url: Python
+Q:
+ ext: q
+ name: Q
+ path: Q
+ url: Q
+Qi:
+ ext: qi
+ name: Qi
+ path: Qi
+ url: Qi
+Qore:
+ ext: qore
+ name: Qore
+ path: Qore
+ url: Qore
+QuakeC:
+ ext: c
+ name: QuakeC
+ path: QuakeC
+ url: QuakeC
+Quill:
+ ext: quill
+ name: Quill
+ path: Quill
+ url: Quill
R:
ext: r
name: R
path: R
url: R
+REALbasic:
+ ext: realbasic
+ name: REALbasic
+ path: REALbasic
+ url: REALbasic
+REBOL:
+ ext: rebol
+ name: REBOL
+ path: REBOL
+ url: REBOL
REXX:
ext: rexx
name: REXX
path: REXX
url: REXX
+RLSL:
+ ext: rlsl
+ name: RLSL
+ path: RLSL
+ url: RLSL
+RLaB:
+ ext: rlab
+ name: RLaB
+ path: RLaB
+ url: RLaB
+RPG:
+ ext: rpg
+ name: RPG
+ path: RPG
+ url: RPG
+RPL/2:
+ ext: rpl
+ name: RPL/2
+ path: RPL-2
+ url: RPL/2
+RTL/2:
+ ext: rtl
+ name: RTL/2
+ path: RTL-2
+ url: RTL/2
+RTSL:
+ ext: rtsl
+ name: RTSL
+ path: RTSL
+ url: RTSL
Racket:
ext: rkt
name: Racket
path: Racket
url: Racket
+RapidQ:
+ ext: rapidq
+ name: RapidQ
+ path: RapidQ
+ url: RapidQ
+Rascal:
+ ext: rascal
+ name: Rascal
+ path: Rascal
+ url: Rascal
+Raven:
+ ext: raven
+ name: Raven
+ path: Raven
+ url: Raven
+Refal:
+ ext: refal
+ name: Refal
+ path: Refal
+ url: Refal
+Retro:
+ ext: retro
+ name: Retro
+ path: Retro
+ url: Retro
+Revolution:
+ ext: rev
+ name: Revolution
+ path: Revolution
+ url: Revolution
+Rhope:
+ ext: rhope
+ name: Rhope
+ path: Rhope
+ url: Rhope
Ruby:
ext: rb
name: Ruby
path: Ruby
url: Ruby
+Run BASIC:
+ ext: run
+ name: Run BASIC
+ path: Run-BASIC
+ url: Run_BASIC
+Rust:
+ ext: rust
+ name: Rust
+ path: Rust
+ url: Rust
+S-lang:
+ ext: slang
+ name: S-lang
+ path: S-lang
+ url: S-lang
+SAS:
+ ext: sas
+ name: SAS
+ path: SAS
+ url: SAS
+SETL:
+ ext: setl
+ name: SETL
+ path: SETL
+ url: SETL
+SIMPOL:
+ ext: simpol
+ name: SIMPOL
+ path: SIMPOL
+ url: SIMPOL
+SMEQL:
+ ext: smeql
+ name: SMEQL
+ path: SMEQL
+ url: SMEQL
+SNOBOL4:
+ ext: sno
+ name: SNOBOL4
+ path: SNOBOL4
+ url: SNOBOL4
SNUSP:
ext: snusp
name: SNUSP
path: SNUSP
url: SNUSP
+SPARC Assembly:
+ ext: sparc
+ name: SPARC Assembly
+ path: SPARC-Assembly
+ url: SPARC_Assembly
+SPARK:
+ ext: spark
+ name: SPARK
+ path: SPARK
+ url: SPARK
+SQL:
+ ext: sql
+ name: SQL
+ path: SQL
+ url: SQL
+Sage:
+ ext: sage
+ name: Sage
+ path: Sage
+ url: Sage
+Salmon:
+ ext: salmon
+ name: Salmon
+ path: Salmon
+ url: Salmon
Sather:
ext: sa
name: Sather
@@ -1499,18 +1994,473 @@ Scheme:
name: Scheme
path: Scheme
url: Scheme
+Scilab:
+ ext: scilab
+ name: Scilab
+ path: Scilab
+ url: Scilab
+Scratch:
+ ext: scratch
+ name: Scratch
+ path: Scratch
+ url: Scratch
+Script Basic:
+ ext: script
+ name: Script Basic
+ path: Script-Basic
+ url: Script_Basic
+Script3D:
+ ext: 3d
+ name: Script3D
+ path: Script3D
+ url: Script3D
+ScriptBasic:
+ ext: scriptbasic
+ name: ScriptBasic
+ path: ScriptBasic
+ url: ScriptBasic
+Sed:
+ ext: sed
+ name: Sed
+ path: Sed
+ url: Sed
+Seed7:
+ ext: seed7
+ name: Seed7
+ path: Seed7
+ url: Seed7
+Self:
+ ext: self
+ name: Self
+ path: Self
+ url: Self
+SheerPower 4GL:
+ ext: 4gl
+ name: SheerPower 4GL
+ path: SheerPower-4GL
+ url: SheerPower_4GL
+Shiny:
+ ext: shiny
+ name: Shiny
+ path: Shiny
+ url: Shiny
+Simula:
+ ext: simula
+ name: Simula
+ path: Simula
+ url: Simula
+Sisal:
+ ext: sisal
+ name: Sisal
+ path: Sisal
+ url: Sisal
+Slate:
+ ext: slate
+ name: Slate
+ path: Slate
+ url: Slate
Smalltalk:
ext: st
name: Smalltalk
path: Smalltalk
url: Smalltalk
+Snobol:
+ ext: sno
+ name: Snobol
+ path: Snobol
+ url: Snobol
+Soar:
+ ext: soar
+ name: Soar
+ path: Soar
+ url: Soar
+Squirrel:
+ ext: net
+ name: Squirrel
+ path: Squirrel
+ url: Squirrel
+Standard ML:
+ ext: ml
+ name: Standard ML
+ path: Standard-ML
+ url: Standard_ML
+StreamIt:
+ ext: streamit
+ name: StreamIt
+ path: StreamIt
+ url: StreamIt
+Suneido:
+ ext: suneido
+ name: Suneido
+ path: Suneido
+ url: Suneido
+SuperCollider:
+ ext: supercollider
+ name: SuperCollider
+ path: SuperCollider
+ url: SuperCollider
+Superbase BASIC:
+ ext: superbase
+ name: Superbase BASIC
+ path: Superbase-BASIC
+ url: Superbase_BASIC
+Supernova:
+ ext: supernova
+ name: Supernova
+ path: Supernova
+ url: Supernova
+SystemVerilog:
+ ext: v
+ name: SystemVerilog
+ path: SystemVerilog
+ url: SystemVerilog
+TAL:
+ ext: tal
+ name: TAL
+ path: TAL
+ url: TAL
+TI-83 BASIC:
+ ext: ti-83
+ name: TI-83 BASIC
+ path: TI-83-BASIC
+ url: TI-83_BASIC
+TI-89 BASIC:
+ ext: ti-89
+ name: TI-89 BASIC
+ path: TI-89-BASIC
+ url: TI-89_BASIC
+TIScript:
+ ext: tiscript
+ name: TIScript
+ path: TIScript
+ url: TIScript
+TPP:
+ ext: tpp
+ name: TPP
+ path: TPP
+ url: TPP
+TSE SAL:
+ ext: tse
+ name: TSE SAL
+ path: TSE-SAL
+ url: TSE_SAL
+TUSCRIPT:
+ ext: tuscript
+ name: TUSCRIPT
+ path: TUSCRIPT
+ url: TUSCRIPT
+TXR:
+ ext: txr
+ name: TXR
+ path: TXR
+ url: TXR
Tcl:
ext: tcl
name: Tcl
path: Tcl
url: Tcl
+TeLa:
+ ext: tela
+ name: TeLa
+ path: TeLa
+ url: TeLa
+Teco:
+ ext: teco
+ name: Teco
+ path: Teco
+ url: Teco
+Thistle:
+ ext: thistle
+ name: Thistle
+ path: Thistle
+ url: Thistle
+Thyrd:
+ ext: thyrd
+ name: Thyrd
+ path: Thyrd
+ url: Thyrd
+Toka:
+ ext: toka
+ name: Toka
+ path: Toka
+ url: Toka
+TorqueScript:
+ ext: torquescript
+ name: TorqueScript
+ path: TorqueScript
+ url: TorqueScript
+Transact-SQL:
+ ext: sql
+ name: Transact-SQL
+ path: Transact-SQL
+ url: Transact-SQL
+Trith:
+ ext: trith
+ name: Trith
+ path: Trith
+ url: Trith
+True BASIC:
+ ext: 'true'
+ name: True BASIC
+ path: True-BASIC
+ url: True_BASIC
Turing:
ext: turing
name: Turing
path: Turing
url: Turing
+Twelf:
+ ext: twelf
+ name: Twelf
+ path: Twelf
+ url: Twelf
+UBASIC:
+ ext: ubasic
+ name: UBASIC
+ path: UBASIC
+ url: UBASIC
+UC++:
+ ext: ucpp
+ name: UC++
+ path: UC++
+ url: UC++
+UNIX Shell:
+ ext: sh
+ name: UNIX Shell
+ path: UNIX-Shell
+ url: UNIX_Shell
+UScript:
+ ext: uscript
+ name: UScript
+ path: UScript
+ url: UScript
+Unicon:
+ ext: unicon
+ name: Unicon
+ path: Unicon
+ url: Unicon
+UnixPipes:
+ ext: unixpipes
+ name: UnixPipes
+ path: UnixPipes
+ url: UnixPipes
+Unlambda:
+ ext: unlambda
+ name: Unlambda
+ path: Unlambda
+ url: Unlambda
+Ursala:
+ ext: ursala
+ name: Ursala
+ path: Ursala
+ url: Ursala
+UserRPL:
+ ext: rpl
+ name: UserRPL
+ path: UserRPL
+ url: UserRPL
+V:
+ ext: v
+ name: V
+ path: V
+ url: V
+VB6:
+ ext: vb6
+ name: VB6
+ path: VB6
+ url: VB6
+VBA:
+ ext: vba
+ name: VBA
+ path: VBA
+ url: VBA
+VBScript:
+ ext: vbscript
+ name: VBScript
+ path: VBScript
+ url: VBScript
+VHDL:
+ ext: vhdl
+ name: VHDL
+ path: VHDL
+ url: VHDL
+VRML:
+ ext: vrml
+ name: VRML
+ path: VRML
+ url: VRML
+Vala:
+ ext: vala
+ name: Vala
+ path: Vala
+ url: Vala
+Vedit macro language:
+ ext: vedit
+ name: Vedit macro language
+ path: Vedit-macro-language
+ url: Vedit_macro_language
+Verilog:
+ ext: v
+ name: Verilog
+ path: Verilog
+ url: Verilog
+Vim Script:
+ ext: vim
+ name: Vim Script
+ path: Vim-Script
+ url: Vim_Script
+Visual Basic:
+ ext: vb
+ name: Visual Basic
+ path: Visual-Basic
+ url: Visual_Basic
+Visual Basic .NET:
+ ext: visual
+ name: Visual Basic .NET
+ path: Visual-Basic-.NET
+ url: Visual_Basic_.NET
+Visual Objects:
+ ext: vobj
+ name: Visual Objects
+ path: Visual-Objects
+ url: Visual_Objects
+Visual Prolog:
+ ext: pro
+ name: Visual Prolog
+ path: Visual-Prolog
+ url: Visual_Prolog
+Vorpal:
+ ext: vorpal
+ name: Vorpal
+ path: Vorpal
+ url: Vorpal
+Vox:
+ ext: vox
+ name: Vox
+ path: Vox
+ url: Vox
+WML:
+ ext: wml
+ name: WML
+ path: WML
+ url: WML
+Whenever:
+ ext: whenever
+ name: Whenever
+ path: Whenever
+ url: Whenever
+Whitespace:
+ ext: ws
+ name: Whitespace
+ path: Whitespace
+ url: Whitespace
+Wrapl:
+ ext: wrapl
+ name: Wrapl
+ path: Wrapl
+ url: Wrapl
+X10:
+ ext: x10
+ name: X10
+ path: X10
+ url: X10
+X86 Assembly:
+ ext: x86
+ name: X86 Assembly
+ path: X86-Assembly
+ url: X86_Assembly
+XBase:
+ ext: xbase
+ name: XBase
+ path: XBase
+ url: XBase
+XL:
+ ext: xl
+ name: XL
+ path: XL
+ url: XL
+XPL0:
+ ext: xpl0
+ name: XPL0
+ path: XPL0
+ url: XPL0
+XProc:
+ ext: xproc
+ name: XProc
+ path: XProc
+ url: XProc
+XQuery:
+ ext: xquery
+ name: XQuery
+ path: XQuery
+ url: XQuery
+XS:
+ ext: xs
+ name: XS
+ path: XS
+ url: XS
+XSLT:
+ ext: xslt
+ name: XSLT
+ path: XSLT
+ url: XSLT
+XSLT 1.0:
+ ext: xslt
+ name: XSLT 1.0
+ path: XSLT-1.0
+ url: XSLT_1.0
+XSLT 2.0:
+ ext: xslt
+ name: XSLT 2.0
+ path: XSLT-2.0
+ url: XSLT_2.0
+XTalk:
+ ext: xtalk
+ name: XTalk
+ path: XTalk
+ url: XTalk
+XUL:
+ ext: xul
+ name: XUL
+ path: XUL
+ url: XUL
+Xanadu:
+ ext: xanadu
+ name: Xanadu
+ path: Xanadu
+ url: Xanadu
+Yacas:
+ ext: yacas
+ name: Yacas
+ path: Yacas
+ url: Yacas
+Yorick:
+ ext: yorick
+ name: Yorick
+ path: Yorick
+ url: Yorick
+Z80 Assembly:
+ ext: z80
+ name: Z80 Assembly
+ path: Z80-Assembly
+ url: Z80_Assembly
+ZED:
+ ext: zed
+ name: ZED
+ path: ZED
+ url: ZED
+ZPL:
+ ext: zpl
+ name: ZPL
+ path: ZPL
+ url: ZPL
+ZX Spectrum Basic:
+ ext: zx
+ name: ZX Spectrum Basic
+ path: ZX-Spectrum-Basic
+ url: ZX_Spectrum_Basic
+Zonnon:
+ ext: zonnon
+ name: Zonnon
+ path: Zonnon
+ url: Zonnon
diff --git a/Task/100-doors/BASIC/100-doors-1.bas b/Task/100-doors/BASIC/100-doors-1.basic
similarity index 100%
rename from Task/100-doors/BASIC/100-doors-1.bas
rename to Task/100-doors/BASIC/100-doors-1.basic
diff --git a/Task/100-doors/BASIC/100-doors-2.bas b/Task/100-doors/BASIC/100-doors-2.basic
similarity index 100%
rename from Task/100-doors/BASIC/100-doors-2.bas
rename to Task/100-doors/BASIC/100-doors-2.basic
diff --git a/Task/100-doors/BASIC/100-doors-3.bas b/Task/100-doors/BASIC/100-doors-3.basic
similarity index 100%
rename from Task/100-doors/BASIC/100-doors-3.bas
rename to Task/100-doors/BASIC/100-doors-3.basic
diff --git a/Task/100-doors/CoffeeScript/100-doors-1.coffee b/Task/100-doors/CoffeeScript/100-doors-1.coffeescript
similarity index 100%
rename from Task/100-doors/CoffeeScript/100-doors-1.coffee
rename to Task/100-doors/CoffeeScript/100-doors-1.coffeescript
diff --git a/Task/100-doors/CoffeeScript/100-doors-2.coffee b/Task/100-doors/CoffeeScript/100-doors-2.coffeescript
similarity index 100%
rename from Task/100-doors/CoffeeScript/100-doors-2.coffee
rename to Task/100-doors/CoffeeScript/100-doors-2.coffeescript
diff --git a/Task/100-doors/CoffeeScript/100-doors-3.coffee b/Task/100-doors/CoffeeScript/100-doors-3.coffeescript
similarity index 100%
rename from Task/100-doors/CoffeeScript/100-doors-3.coffee
rename to Task/100-doors/CoffeeScript/100-doors-3.coffeescript
diff --git a/Task/100-doors/Golfscript/100-doors-1.golf b/Task/100-doors/Golfscript/100-doors-1.golfscript
similarity index 100%
rename from Task/100-doors/Golfscript/100-doors-1.golf
rename to Task/100-doors/Golfscript/100-doors-1.golfscript
diff --git a/Task/100-doors/Golfscript/100-doors-2.golf b/Task/100-doors/Golfscript/100-doors-2.golfscript
similarity index 100%
rename from Task/100-doors/Golfscript/100-doors-2.golf
rename to Task/100-doors/Golfscript/100-doors-2.golfscript
diff --git a/Task/100-doors/Golfscript/100-doors-3.golf b/Task/100-doors/Golfscript/100-doors-3.golfscript
similarity index 100%
rename from Task/100-doors/Golfscript/100-doors-3.golf
rename to Task/100-doors/Golfscript/100-doors-3.golfscript
diff --git a/Task/100-doors/MAXScript/100-doors-1.max b/Task/100-doors/MAXScript/100-doors-1.maxscript
similarity index 100%
rename from Task/100-doors/MAXScript/100-doors-1.max
rename to Task/100-doors/MAXScript/100-doors-1.maxscript
diff --git a/Task/100-doors/MAXScript/100-doors-2.max b/Task/100-doors/MAXScript/100-doors-2.maxscript
similarity index 100%
rename from Task/100-doors/MAXScript/100-doors-2.max
rename to Task/100-doors/MAXScript/100-doors-2.maxscript
diff --git a/Task/100-doors/Mathematica/100-doors-1.mathematica b/Task/100-doors/Mathematica/100-doors-1.math
similarity index 100%
rename from Task/100-doors/Mathematica/100-doors-1.mathematica
rename to Task/100-doors/Mathematica/100-doors-1.math
diff --git a/Task/100-doors/Mathematica/100-doors-2.mathematica b/Task/100-doors/Mathematica/100-doors-2.math
similarity index 100%
rename from Task/100-doors/Mathematica/100-doors-2.mathematica
rename to Task/100-doors/Mathematica/100-doors-2.math
diff --git a/Task/100-doors/Mathematica/100-doors-3.mathematica b/Task/100-doors/Mathematica/100-doors-3.math
similarity index 100%
rename from Task/100-doors/Mathematica/100-doors-3.mathematica
rename to Task/100-doors/Mathematica/100-doors-3.math
diff --git a/Task/100-doors/Mathematica/100-doors-4.mathematica b/Task/100-doors/Mathematica/100-doors-4.math
similarity index 100%
rename from Task/100-doors/Mathematica/100-doors-4.mathematica
rename to Task/100-doors/Mathematica/100-doors-4.math
diff --git a/Task/100-doors/Mathematica/100-doors-5.mathematica b/Task/100-doors/Mathematica/100-doors-5.math
similarity index 100%
rename from Task/100-doors/Mathematica/100-doors-5.mathematica
rename to Task/100-doors/Mathematica/100-doors-5.math
diff --git a/Task/100-doors/Mathematica/100-doors-6.mathematica b/Task/100-doors/Mathematica/100-doors-6.math
similarity index 100%
rename from Task/100-doors/Mathematica/100-doors-6.mathematica
rename to Task/100-doors/Mathematica/100-doors-6.math
diff --git a/Task/100-doors/NetRexx/100-doors-1.netrexx b/Task/100-doors/NetRexx/100-doors-1.netrexx
new file mode 100644
index 0000000000..b70175888a
--- /dev/null
+++ b/Task/100-doors/NetRexx/100-doors-1.netrexx
@@ -0,0 +1,20 @@
+/* NetRexx */
+options replace format comments java crossref savelog symbols binary
+
+True = Rexx(1 == 1)
+False = Rexx(\True)
+
+doors = False
+
+loop i_ = 1 to 100
+ loop j_ = 1 to 100
+ if 0 = (j_ // i_) then doors[j_] = \doors[j_]
+ end j_
+ end i_
+
+loop d_ = 1 to 100
+ if doors[d_] then state = 'open'
+ else state = 'closed'
+
+ say 'Door Nr.' Rexx(d_).right(4) 'is' state
+ end d_
diff --git a/Task/100-doors/NetRexx/100-doors-2.netrexx b/Task/100-doors/NetRexx/100-doors-2.netrexx
new file mode 100644
index 0000000000..6cf57a1565
--- /dev/null
+++ b/Task/100-doors/NetRexx/100-doors-2.netrexx
@@ -0,0 +1,18 @@
+/* NetRexx */
+options replace format comments java crossref savelog symbols binary
+
+True = (1 == 1)
+False = \True
+
+doors = boolean[100]
+
+loop i_ = 0 to 9
+ doors[(i_ + 1) * (i_ + 1) - 1] = True;
+ end i_
+
+loop i_ = 0 to 99
+ if doors[i_] then state = 'open'
+ else state = 'closed'
+
+ say 'Door Nr.' Rexx(i_ + 1).right(4) 'is' state
+ end i_
diff --git a/Task/100-doors/NetRexx/100-doors-3.netrexx b/Task/100-doors/NetRexx/100-doors-3.netrexx
new file mode 100644
index 0000000000..fb4ee13218
--- /dev/null
+++ b/Task/100-doors/NetRexx/100-doors-3.netrexx
@@ -0,0 +1,10 @@
+/* NetRexx */
+options replace format comments java crossref savelog symbols binary
+
+resultstring = ''
+
+loop i_ = 1 to 10
+ resultstring = resultstring || 'Door Nr.' Rexx(i_ * i_).right(4) 'is open\n'
+ end i_
+
+say resultstring
diff --git a/Task/100-doors/NetRexx/100-doors-4.netrexx b/Task/100-doors/NetRexx/100-doors-4.netrexx
new file mode 100644
index 0000000000..ec91139d63
--- /dev/null
+++ b/Task/100-doors/NetRexx/100-doors-4.netrexx
@@ -0,0 +1,5 @@
+/* NetRexx */
+
+loop i = 1 to 10
+ say 'Door Nr.' i * i 'is open.'
+ end i
diff --git a/Task/100-doors/OCaml/100-doors-1.ocaml b/Task/100-doors/OCaml/100-doors-1.ocaml
new file mode 100644
index 0000000000..8d38b72019
--- /dev/null
+++ b/Task/100-doors/OCaml/100-doors-1.ocaml
@@ -0,0 +1,19 @@
+let max_doors = 100
+
+let show_doors =
+ Array.iteri (fun i x -> Printf.printf "Door %d is %s\n" (i+1)
+ (if x then "open" else "closed"))
+
+let flip_doors doors =
+ for i = 1 to max_doors do
+ let rec flip idx =
+ if idx < max_doors then begin
+ doors.(idx) <- not doors.(idx);
+ flip (idx + i)
+ end
+ in flip (i - 1)
+ done;
+ doors
+
+let () =
+ show_doors (flip_doors (Array.make max_doors false))
diff --git a/Task/100-doors/OCaml/100-doors-2.ocaml b/Task/100-doors/OCaml/100-doors-2.ocaml
new file mode 100644
index 0000000000..052361adb8
--- /dev/null
+++ b/Task/100-doors/OCaml/100-doors-2.ocaml
@@ -0,0 +1,8 @@
+let optimised_flip_doors doors =
+ for i = 1 to int_of_float (sqrt (float_of_int max_doors)) do
+ doors.(i*i - 1) <- true
+ done;
+ doors
+
+let () =
+ show_doors (optimised_flip_doors (Array.make max_doors false))
diff --git a/Task/100-doors/Objeck/100-doors.objeck b/Task/100-doors/Objeck/100-doors.objeck
new file mode 100644
index 0000000000..51d175f7df
--- /dev/null
+++ b/Task/100-doors/Objeck/100-doors.objeck
@@ -0,0 +1,21 @@
+bundle Default {
+ class Doors {
+ function : Main(args : String[]) ~ Nil {
+ doors := Bool->New[100];
+
+ for(pass := 0; pass < 10; pass += 1;) {
+ doors[(pass + 1) * (pass + 1) - 1] := true;
+ };
+
+ for(i := 0; i < 100; i += 1;) {
+ IO.Console->GetInstance()->Print("Door #")->Print(i + 1)->Print(" is ");
+ if(doors[i]) {
+ "open."->PrintLine();
+ }
+ else {
+ "closed."->PrintLine();
+ };
+ };
+ }
+ }
+}
diff --git a/Task/100-doors/Octave/100-doors.octave b/Task/100-doors/Octave/100-doors.octave
new file mode 100644
index 0000000000..01bb2f4d6c
--- /dev/null
+++ b/Task/100-doors/Octave/100-doors.octave
@@ -0,0 +1,14 @@
+doors = false(100,1);
+for i = 1:100
+ for j = i:i:100
+ doors(j) = !doors(j);
+ endfor
+endfor
+for i = 1:100
+ if ( doors(i) )
+ s = "open";
+ else
+ s = "closed";
+ endif
+ printf("%d %s\n", i, s);
+endfor
diff --git a/Task/100-doors/OpenEdge-Progress/100-doors.openedge b/Task/100-doors/OpenEdge-Progress/100-doors.openedge
new file mode 100644
index 0000000000..fecfd41b78
--- /dev/null
+++ b/Task/100-doors/OpenEdge-Progress/100-doors.openedge
@@ -0,0 +1,21 @@
+DEFINE VARIABLE lopen AS LOGICAL NO-UNDO EXTENT 100.
+DEFINE VARIABLE idoor AS INTEGER NO-UNDO.
+DEFINE VARIABLE ipass AS INTEGER NO-UNDO.
+DEFINE VARIABLE cresult AS CHARACTER NO-UNDO.
+
+DO ipass = 1 TO 100:
+ idoor = 0.
+ DO WHILE idoor <= 100:
+ idoor = idoor + ipass.
+ IF idoor <= 100 THEN
+ lopen[ idoor ] = NOT lopen[ idoor ].
+ END.
+END.
+
+DO idoor = 1 TO 100:
+ cresult = cresult + STRING( lopen[ idoor ], "1 /0 " ).
+ IF idoor MODULO 10 = 0 THEN
+ cresult = cresult + "~r":U.
+END.
+
+MESSAGE cresult VIEW-AS ALERT-BOX.
diff --git a/Task/100-doors/Oz/100-doors.oz b/Task/100-doors/Oz/100-doors.oz
new file mode 100644
index 0000000000..1ed2c3d369
--- /dev/null
+++ b/Task/100-doors/Oz/100-doors.oz
@@ -0,0 +1,34 @@
+declare
+ NumDoors = 100
+ NumPasses = 100
+
+ fun {NewDoor} closed end
+
+ fun {Toggle Door}
+ case Door of closed then open
+ [] open then closed
+ end
+ end
+
+ fun {Pass Doors I}
+ {List.mapInd Doors
+ fun {$ Index Door}
+ if Index mod I == 0 then {Toggle Door}
+ else Door
+ end
+ end}
+ end
+
+ Doors0 = {MakeList NumDoors}
+ {ForAll Doors0 NewDoor}
+
+ DoorsN = {FoldL {List.number 1 NumPasses 1} Pass Doors0}
+in
+ %% print open doors
+ {List.forAllInd DoorsN
+ proc {$ Index Door}
+ if Door == open then
+ {System.showInfo "Door "#Index#" is open."}
+ end
+ end
+ }
diff --git a/Task/100-doors/PARI-GP/100-doors-1.pari b/Task/100-doors/PARI-GP/100-doors-1.pari
new file mode 100644
index 0000000000..5709e10997
--- /dev/null
+++ b/Task/100-doors/PARI-GP/100-doors-1.pari
@@ -0,0 +1,3 @@
+v=vector(d=100);/*set 100 closed doors*/
+for(i=1,d,forstep(j=i,d,i,v[j]=1-v[j]));
+for(i=1,d,if(v[i],print("Door ",i," is open.")))
diff --git a/Task/100-doors/PARI-GP/100-doors-2.pari b/Task/100-doors/PARI-GP/100-doors-2.pari
new file mode 100644
index 0000000000..f1087ac981
--- /dev/null
+++ b/Task/100-doors/PARI-GP/100-doors-2.pari
@@ -0,0 +1 @@
+for(n=1,sqrt(100),print("Door ",n^2," is open."))
diff --git a/Task/100-doors/PL-I/100-doors.pli b/Task/100-doors/PL-I/100-doors.pli
new file mode 100644
index 0000000000..63b822d99a
--- /dev/null
+++ b/Task/100-doors/PL-I/100-doors.pli
@@ -0,0 +1,19 @@
+declare door(100) bit (1) aligned;
+declare closed bit (1) static initial ('0'b),
+ open bit (1) static initial ('1'b);
+declare (i, inc) fixed binary;
+
+door = closed;
+inc = 1;
+do until (inc >= 100);
+ do i = inc to 100 by inc;
+ door(i) = ^door(i); /* close door if open; open it if closed. */
+ end;
+ inc = inc+1;
+end;
+
+do i = 1 to 100;
+ put skip edit ('Door ', trim(i), ' is ') (a);
+ if door(i) then put edit (' open.') (a);
+ else put edit (' closed.') (a);
+end;
diff --git a/Task/100-doors/Pascal/100-doors-1.pascal b/Task/100-doors/Pascal/100-doors-1.pascal
new file mode 100644
index 0000000000..4e4a915df8
--- /dev/null
+++ b/Task/100-doors/Pascal/100-doors-1.pascal
@@ -0,0 +1,24 @@
+Program OneHundredDoors;
+
+var
+ doors : Array[1..100] of Boolean;
+ i, j : Integer;
+
+begin
+ for i := 1 to 100 do
+ doors[i] := False;
+ for i := 1 to 100 do begin
+ j := i;
+ while j <= 100 do begin
+ doors[j] := not doors[j];
+ j := j + i
+ end
+ end;
+ for i := 1 to 100 do begin
+ Write(i, ' ');
+ if doors[i] then
+ WriteLn('open')
+ else
+ WriteLn('closed');
+ end
+end.
diff --git a/Task/100-doors/Pascal/100-doors-2.pascal b/Task/100-doors/Pascal/100-doors-2.pascal
new file mode 100644
index 0000000000..294428c8ea
--- /dev/null
+++ b/Task/100-doors/Pascal/100-doors-2.pascal
@@ -0,0 +1,24 @@
+program OneHundredDoors;
+
+{$APPTYPE CONSOLE}
+
+uses
+ math, sysutils;
+
+var
+ AOpendoors : String;
+ ACloseDoors : String;
+ i : Integer;
+
+begin
+ for i := 1 to 100 do
+ begin
+ if (sqrt(i) = floor(sqrt(i))) then
+ AOpenDoors := AOpenDoors + IntToStr(i) + ';'
+ else
+ ACloseDoors := ACloseDoors + IntToStr(i) +';';
+ end;
+
+ WriteLn('Open doors: ' + AOpenDoors);
+ WriteLn('Close doors: ' + ACloseDoors);
+end.
diff --git a/Task/100-doors/Perl-6/100-doors-1.pl6 b/Task/100-doors/Perl-6/100-doors-1.pl6
new file mode 100644
index 0000000000..39431637ce
--- /dev/null
+++ b/Task/100-doors/Perl-6/100-doors-1.pl6
@@ -0,0 +1,5 @@
+my @doors = False xx 101;
+
+($_ = !$_ for @doors[0, * + $_ ...^ * > 100]) for 1..100;
+
+say "Door $_ is ", | p <- permutations(characters)};
+ best = { |
<- ranking, n == min(range(ranking))};
+ return takeOneFrom(best)[0];
+}
+
+public int countSame(list[int] permutations, list[int] characters){
+ return (0 | it + 1 | n <- index(characters), permutations[n] == characters[n]);
+}
diff --git a/Task/Best-shuffle/Ursala/best-shuffle-1.ursala b/Task/Best-shuffle/Ursala/best-shuffle-1.ursala
new file mode 100644
index 0000000000..b9a74829f7
--- /dev/null
+++ b/Task/Best-shuffle/Ursala/best-shuffle-1.ursala
@@ -0,0 +1,10 @@
+#import std
+#import nat
+
+words = <'abracadabra','seesaw','elk','grrrrrr','up','a'>
+
+shuffle = num; ^H/(*@K24) ^H\~&lS @rK2lSS *+ ^arPfarhPlzPClyPCrtPXPRalPqzyCipSLK24\~&L leql$^NS
+
+#show+
+
+main = ~&LS <.~&l,@r :/` ,' ('--+ --')'+ ~&h+ %nP+ length@plrEF>^(~&,shuffle)* words
diff --git a/Task/Best-shuffle/Ursala/best-shuffle-2.ursala b/Task/Best-shuffle/Ursala/best-shuffle-2.ursala
new file mode 100644
index 0000000000..6ba7a6513f
--- /dev/null
+++ b/Task/Best-shuffle/Ursala/best-shuffle-2.ursala
@@ -0,0 +1 @@
+shuffle = ~&r+ length@plrEZF$^^D/~& permutations
diff --git a/Task/Best-shuffle/XPL0/best-shuffle.xpl0 b/Task/Best-shuffle/XPL0/best-shuffle.xpl0
new file mode 100644
index 0000000000..44f26c17d7
--- /dev/null
+++ b/Task/Best-shuffle/XPL0/best-shuffle.xpl0
@@ -0,0 +1,35 @@
+include c:\cxpl\codes; \'code' declarations
+string 0; \use zero-terminated string convention
+
+func StrLen(A); \Return number of characters in an ASCIIZ string
+char A;
+int I;
+for I:= 0 to -1>>1-1 do
+ if A(I) = 0 then return I;
+
+proc Shuffle(W0); \Display best shuffle of characters in a word
+char W0;
+char W(20), SW(20);
+int L, I, S, SS, C, T;
+[L:= StrLen(W0); \word length
+for I:= 0 to L do W(I):= W0(I); \get working copy of word (including 0)
+SS:= 20; \initialize best (saved) score
+for C:= 1 to 1_000_000 do \overkill? XPL0 is fast
+ [I:= Ran(L); \shuffle: swap random char with end char
+ T:= W(I); W(I):= W(L-1); W(L-1):= T;
+ S:= 0; \compute score
+ for I:= 0 to L-1 do
+ if W(I) = W0(I) then S:= S+1;
+ if S < SS then
+ [SS:= S; \save best score and best shuffle
+ for I:= 0 to L do SW(I):= W(I);
+ ];
+ ];
+Text(0, W0); Text(0, ", "); \show original and shuffled words, score
+Text(0, SW); Text(0, ", ("); IntOut(0, SS); ChOut(0, ^)); CrLf(0);
+];
+
+int S, I;
+[S:= ["abracadabra", "seesaw", "elk", "grrrrrr", "up", "a"];
+for I:= 0 to 5 do Shuffle(S(I));
+]
diff --git a/Task/Binary-search/BASIC/binary-search-1.bas b/Task/Binary-search/BASIC/binary-search-1.basic
similarity index 100%
rename from Task/Binary-search/BASIC/binary-search-1.bas
rename to Task/Binary-search/BASIC/binary-search-1.basic
diff --git a/Task/Binary-search/BASIC/binary-search-2.bas b/Task/Binary-search/BASIC/binary-search-2.basic
similarity index 100%
rename from Task/Binary-search/BASIC/binary-search-2.bas
rename to Task/Binary-search/BASIC/binary-search-2.basic
diff --git a/Task/Binary-search/BASIC/binary-search-3.bas b/Task/Binary-search/BASIC/binary-search-3.basic
similarity index 100%
rename from Task/Binary-search/BASIC/binary-search-3.bas
rename to Task/Binary-search/BASIC/binary-search-3.basic
diff --git a/Task/Binary-search/CoffeeScript/binary-search.coffee b/Task/Binary-search/CoffeeScript/binary-search.coffeescript
similarity index 100%
rename from Task/Binary-search/CoffeeScript/binary-search.coffee
rename to Task/Binary-search/CoffeeScript/binary-search.coffeescript
diff --git a/Task/Binary-search/MAXScript/binary-search-1.max b/Task/Binary-search/MAXScript/binary-search-1.maxscript
similarity index 100%
rename from Task/Binary-search/MAXScript/binary-search-1.max
rename to Task/Binary-search/MAXScript/binary-search-1.maxscript
diff --git a/Task/Binary-search/MAXScript/binary-search-2.max b/Task/Binary-search/MAXScript/binary-search-2.maxscript
similarity index 100%
rename from Task/Binary-search/MAXScript/binary-search-2.max
rename to Task/Binary-search/MAXScript/binary-search-2.maxscript
diff --git a/Task/Binary-search/Mathematica/binary-search-1.mathematica b/Task/Binary-search/Mathematica/binary-search-1.math
similarity index 100%
rename from Task/Binary-search/Mathematica/binary-search-1.mathematica
rename to Task/Binary-search/Mathematica/binary-search-1.math
diff --git a/Task/Binary-search/Mathematica/binary-search-2.mathematica b/Task/Binary-search/Mathematica/binary-search-2.math
similarity index 100%
rename from Task/Binary-search/Mathematica/binary-search-2.mathematica
rename to Task/Binary-search/Mathematica/binary-search-2.math
diff --git a/Task/Binary-search/Niue/binary-search.niue b/Task/Binary-search/Niue/binary-search.niue
new file mode 100644
index 0000000000..c8e21fafcb
--- /dev/null
+++ b/Task/Binary-search/Niue/binary-search.niue
@@ -0,0 +1,10 @@
+1 2 3 4 5
+3 bsearch . ( => 2 )
+5 bsearch . ( => 0 )
+'sam 'tom 'kenny ( must be sorted before calling bsearch )
+sort
+.s ( => kenny sam tom )
+'sam bsearch . ( => 1 )
+'tom bsearch . ( => 0 )
+'kenny bsearch . ( => 2 )
+'tony bsearch . ( => -1)
diff --git a/Task/Binary-search/OCaml/binary-search.ocaml b/Task/Binary-search/OCaml/binary-search.ocaml
new file mode 100644
index 0000000000..80c290a876
--- /dev/null
+++ b/Task/Binary-search/OCaml/binary-search.ocaml
@@ -0,0 +1,13 @@
+let rec binary_search a value low high =
+ if high = low then
+ if a.(low) = value then
+ low
+ else
+ raise Not_found
+ else let mid = (low + high) / 2 in
+ if a.(mid) > value then
+ binary_search a value low (mid - 1)
+ else if a.(mid) < value then
+ binary_search a value (mid + 1) high
+ else
+ mid
diff --git a/Task/Binary-search/Objeck/binary-search.objeck b/Task/Binary-search/Objeck/binary-search.objeck
new file mode 100644
index 0000000000..32b23b1cee
--- /dev/null
+++ b/Task/Binary-search/Objeck/binary-search.objeck
@@ -0,0 +1,32 @@
+use Structure;
+
+bundle Default {
+ class BinarySearch {
+ function : Main(args : String[]) ~ Nil {
+ values := [-1, 3, 8, 13, 22];
+ DoBinarySearch(values, 13)->PrintLine();
+ DoBinarySearch(values, 7)->PrintLine();
+ }
+
+ function : native : DoBinarySearch(values : Int[], value : Int) ~ Int {
+ low := 0;
+ high := values->Size() - 1;
+
+ while(low <= high) {
+ mid := (low + high) / 2;
+
+ if(values[mid] > value) {
+ high := mid - 1;
+ }
+ else if(values[mid] < value) {
+ low := mid + 1;
+ }
+ else {
+ return mid;
+ };
+ };
+
+ return -1;
+ }
+ }
+}
diff --git a/Task/Binary-search/Objective-C/binary-search-1.m b/Task/Binary-search/Objective-C/binary-search-1.m
new file mode 100644
index 0000000000..5a8cf26cbd
--- /dev/null
+++ b/Task/Binary-search/Objective-C/binary-search-1.m
@@ -0,0 +1,51 @@
+#import "
+for i = 0 to 32
+ hdng = i * 11.25
+ if (i mod 3) = 1 then
+ hdng = hdng +5.62
+ else
+ if (i mod 3) = 2 then hdng = hdng -5.62
+ end if
+ pointer = i mod 32 + 1
+ html "
"
+end
+
+function compas$(hd)
+x = hd /11.25 + 1.5
+if (x >=33.0) then x =x -32.0
+ p$ = point$(int(x))
+ for i = 1 to len(p$)
+ compas$ = compas$ + mid$(p$,i,1) + direct$(max(asc(upper$(mid$(p$,i,1)))-65,0))
+ next i
+end function
+
+data "N","N b e","N-ne","Ne b n","Ne","Ne b e","E-ne","E b n","E","E b s","E-se"
+data "Se b e","Se","Se b s","S-se","S b e","S","S b w","S-sw","Sw b s","Sw","Sw b w"
+data "W-sw","W b s","W","W b n","W-nw","Nw b w","Nw","Nw b n","N-nw","N b w"
diff --git a/Task/Box-the-compass/Seed7/box-the-compass.seed7 b/Task/Box-the-compass/Seed7/box-the-compass.seed7
new file mode 100644
index 0000000000..a48e053b09
--- /dev/null
+++ b/Task/Box-the-compass/Seed7/box-the-compass.seed7
@@ -0,0 +1,24 @@
+$ include "seed7_05.s7i";
+ include "float.s7i";
+
+const array string: names is [] ("North", "North by east", "North-northeast", "Northeast by north",
+ "Northeast", "Northeast by east", "East-northeast", "East by north", "East", "East by south",
+ "East-southeast", "Southeast by east", "Southeast", "Southeast by south", "South-southeast",
+ "South by east", "South", "South by west", "South-southwest", "Southwest by south", "Southwest",
+ "Southwest by west", "West-southwest", "West by south", "West", "West by north", "West-northwest",
+ "Northwest by west", "Northwest", "Northwest by north", "North-northwest", "North by west", "North");
+
+const proc: main is func
+ local
+ const array float: degrees is [] (0.0, 16.87, 16.88, 33.75, 50.62, 50.63, 67.5, 84.37, 84.38,
+ 101.25, 118.12, 118.13, 135.0, 151.87, 151.88, 168.75, 185.62, 185.63, 202.5, 219.37, 219.38,
+ 236.25, 253.12, 253.13, 270.0, 286.87, 286.88, 303.75, 320.62, 320.63, 337.5, 354.37, 354.38);
+ var integer: index is 0;
+ var integer: nameIndex is 0;
+ begin
+ for key index range degrees do
+ nameIndex := round(degrees[index] * 32.0 / 360.0);
+ writeln(succ(pred(index) rem 32) lpad 2 <& " " <& names[succ(nameIndex rem 32)] rpad 22 <&
+ degrees[index] digits 2 lpad 6);
+ end for;
+ end func;
diff --git a/Task/Box-the-compass/UNIX-Shell/box-the-compass.sh b/Task/Box-the-compass/UNIX-Shell/box-the-compass.sh
new file mode 100644
index 0000000000..d2f37885b5
--- /dev/null
+++ b/Task/Box-the-compass/UNIX-Shell/box-the-compass.sh
@@ -0,0 +1,51 @@
+# List of abbreviated compass point labels
+compass_points=( N NbE N-NE NEbN NE NEbE E-NE EbN
+ E EbS E-SE SEbE SE SEbS S-SE SbE
+ S SbW S-SW SWbS SW SWbW W-SW WbS
+ W WbN W-NW NWbW NW NWbN N-NW NbW )
+
+# List of angles to test
+test_angles=( 0.00 16.87 16.88 33.75 50.62 50.63 67.50
+ 84.37 84.38 101.25 118.12 118.13 135.00 151.87
+ 151.88 168.75 185.62 185.63 202.50 219.37 219.38
+ 236.25 253.12 253.13 270.00 286.87 286.88 303.75
+ 320.62 320.63 337.50 354.37 354.38 )
+
+
+# capitalize a string
+function capitalize {
+ echo "$1" | sed 's/^./\U&/'
+}
+
+# convert compass point abbreviation to full text of label
+function expand_point {
+ local label="$1"
+ set -- N north E east S south W west b " by "
+ while (( $# )); do
+ label="${label//$1/$2}"
+ shift 2
+ done
+ capitalize "$label"
+}
+
+# modulus function that returns 1..N instead of 0..N-1
+function amod {
+ echo $(( ($1 - 1) % $2 + 1 ))
+}
+
+# convert a compass angle from degrees into a box index (1..32)
+function compass_point {
+ #amod $(dc <<<"$1 5.625 + 11.25 / 1 + p") 32
+ amod $(bc <<<"($1 + 5.625) / 11.25 + 1") 32
+}
+
+# Now output the table of test data
+header_format="%-7s | %-18s | %s\n"
+row_format="%7.2f | %-18s | %2d\n"
+printf "$header_format" "Degrees" "Closest Point" "Index"
+for angle in ${test_angles[@]}; do
+ let index=$(compass_point $angle)
+ abbr=${compass_points[index-1]}
+ label="$(expand_point $abbr)"
+ printf "$row_format" $angle "$label" $index
+done
diff --git a/Task/Box-the-compass/Visual-Basic-.NET/box-the-compass.visual b/Task/Box-the-compass/Visual-Basic-.NET/box-the-compass.visual
new file mode 100644
index 0000000000..7f4bcf4bce
--- /dev/null
+++ b/Task/Box-the-compass/Visual-Basic-.NET/box-the-compass.visual
@@ -0,0 +1,46 @@
+Module BoxingTheCompass
+ Dim _points(32) As String
+
+ Sub Main()
+ BuildPoints()
+
+ Dim heading As Double = 0D
+
+ For i As Integer = 0 To 32
+ heading = i * 11.25
+ Select Case i Mod 3
+ Case 1
+ heading += 5.62
+ Case 2
+ heading -= 5.62
+ End Select
+
+ Console.WriteLine("{0,2}: {1,-18} {2,6:F2}°", (i Mod 32) + 1, InitialUpper(GetPoint(heading)), heading)
+ Next
+ End Sub
+
+ Private Sub BuildPoints()
+ Dim cardinal As String() = New String() {"north", "east", "south", "west"}
+ Dim pointDesc As String() = New String() {"1", "1 by 2", "1-C", "C by 1", "C", "C by 2", "2-C", "2 by 1"}
+
+ Dim str1, str2, strC As String
+
+ For i As Integer = 0 To 3
+ str1 = cardinal(i)
+ str2 = cardinal((i + 1) Mod 4)
+ strC = IIf(str1 = "north" Or str1 = "south", str1 & str2, str2 & str1)
+ For j As Integer = 0 To 7
+ _points(i * 8 + j) = pointDesc(j).Replace("1", str1).Replace("2", str2).Replace("C", strC)
+ Next
+ Next
+ End Sub
+
+ Private Function InitialUpper(ByVal s As String) As String
+ Return s.Substring(0, 1).ToUpper() & s.Substring(1)
+ End Function
+
+ Private Function GetPoint(ByVal Degrees As Double) As String
+ Dim testD As Double = (Degrees / 11.25) + 0.5
+ Return _points(CInt(Math.Floor(testD Mod 32)))
+ End Function
+End Module
diff --git a/Task/Break-OO-privacy/Objective-C/break-oo-privacy.m b/Task/Break-OO-privacy/Objective-C/break-oo-privacy.m
new file mode 100644
index 0000000000..ea5c51b132
--- /dev/null
+++ b/Task/Break-OO-privacy/Objective-C/break-oo-privacy.m
@@ -0,0 +1,43 @@
+#import "
+next i
+html "";pointer;" ";compas$(hdng);" ";hdng;" Rosetta Code – NetRexx Sample Output\n' -
+ || '
CSV to HTML translation
\n' -
+ || ''
+
+ return html
+
+method htmlFooter() public static returns Rexx
+ html = '\n' -
+ || '\n' -
+ || ''
+ return html
+
+method htmlCsvText(csv, fileName = '.') public static returns Rexx
+ html = 'Contents of CSV
\n' -
+ || ''fileName'\n' -
+ || ''
+ loop row = 1 to csv[0]
+ html = html || csv[row]'\n'
+ end row
+ html = html -
+ || '
\n' -
+ || ''
+ return html
+
+method htmlCsvTable(csv, fileName = '.') public static returns Rexx
+ html = '\n' -
+ || '
\n' -
+ || ''
+ return html
+
+method htmlCsvTableRow(row, tag = 'td') public static returns Rexx
+ row = row.strip('t')
+ row = row.changestr('&', '&') -- need to do this one first to avoid double translation
+ row = row.changestr('"', '"')
+ row = row.changestr("'", ''')
+ row = row.changestr('<', '<')
+ row = row.changestr('>', '>')
+ elmts = ''
+ elmts[0] = 0
+ e_ = 0
+ loop while row.length() > 0
+ parse row elmt ',' row
+ e_ = e_ + 1; elmts[0] = e_; elmts[e_] = elmt
+ end
+ html = ''fileName'\n' -
+ || ''
+ loop e_ = 1 to elmts[0]
+ html = html -
+ || '<'tag'>'elmts[e_]''tag'>\n' -
+ || ''
+ end e_
+ html = html -
+ || ' \n' -
+ || ''
+ return html
diff --git a/Task/CSV-to-HTML-translation/NetRexx/csv-to-html-translation-2.netrexx b/Task/CSV-to-HTML-translation/NetRexx/csv-to-html-translation-2.netrexx
new file mode 100644
index 0000000000..36f05ebed7
--- /dev/null
+++ b/Task/CSV-to-HTML-translation/NetRexx/csv-to-html-translation-2.netrexx
@@ -0,0 +1,83 @@
+
+
+
+
+
+Rosetta Code – NetRexx Sample Output
+
CSV to HTML translation
+
+Contents of CSV
+./data/Brian.csv
+Character,Speech
+The multitude,The messiah! Show us the messiah!
+Brians mother,
+
+
+
+
+
+
diff --git a/Task/CSV-to-HTML-translation/OCaml/csv-to-html-translation-1.ocaml b/Task/CSV-to-HTML-translation/OCaml/csv-to-html-translation-1.ocaml
new file mode 100644
index 0000000000..27cd35cdd2
--- /dev/null
+++ b/Task/CSV-to-HTML-translation/OCaml/csv-to-html-translation-1.ocaml
@@ -0,0 +1,35 @@
+open Printf
+
+let csv_data = "\
+Character,Speech
+The multitude,The messiah! Show us the messiah!
+Brians mother,./data/Brian.csv
+
+
+
+
+Character
+Speech
+
+
+
+The multitude
+The messiah! Show us the messiah!
+
+
+
+Brians mother
+<angry>Now you listen here! He's not the messiah; he's a very naughty boy! Now go away!</angry>
+
+
+
+The multitude
+Who are you?
+
+
+
+Brians mother
+I'm his mother; that's who!
+
+
+
+
+The multitude
+Behold his mother! Behold his mother!
+\n";
+ List.iter (fun line ->
+ printf "
\n";
+;;
+
+let () =
+ print_html_table (list_of_csv csv_data)
diff --git a/Task/CSV-to-HTML-translation/OCaml/csv-to-html-translation-2.ocaml b/Task/CSV-to-HTML-translation/OCaml/csv-to-html-translation-2.ocaml
new file mode 100644
index 0000000000..55c48bc6c9
--- /dev/null
+++ b/Task/CSV-to-HTML-translation/OCaml/csv-to-html-translation-2.ocaml
@@ -0,0 +1,8 @@
+";
+ List.iter (fun c -> printf " \n";
+ ) segments;
+ printf "%s " (escape c)) line;
+ printf "
+
diff --git a/Task/CSV-to-HTML-translation/OCaml/csv-to-html-translation-3.ocaml b/Task/CSV-to-HTML-translation/OCaml/csv-to-html-translation-3.ocaml
new file mode 100644
index 0000000000..8aa9f7edcd
--- /dev/null
+++ b/Task/CSV-to-HTML-translation/OCaml/csv-to-html-translation-3.ocaml
@@ -0,0 +1,44 @@
+open Printf
+
+let csv_data = "\
+Character,Speech
+The multitude,The messiah! Show us the messiah!
+Brians mother,
+Character Speech
+The multitude The messiah! Show us the messiah!
+Brians mother <angry>Now you listen here! He's not the messiah; he's a very naughty boy! Now go away!</angry>
+The multitude Who are you?
+Brians mother I'm his mother; that's who!
+The multitude Behold his mother! Behold his mother! ";
+ List.iter (fun c -> printf " \n" in
+ printf "
+
+
+ ";
+ printf "%s " (escape c)) line;
+ printf "\n";
+ print_row (List.hd segments);
+ printf "\n";
+ List.iter print_row (List.tl segments);
+ printf "\n
\n";
+;;
+
+let () =
+ print_html_table (list_of_csv csv_data)
diff --git a/Task/CSV-to-HTML-translation/OCaml/csv-to-html-translation-4.ocaml b/Task/CSV-to-HTML-translation/OCaml/csv-to-html-translation-4.ocaml
new file mode 100644
index 0000000000..fd2d3a2be9
--- /dev/null
+++ b/Task/CSV-to-HTML-translation/OCaml/csv-to-html-translation-4.ocaml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/Task/CSV-to-HTML-translation/OpenEdge-Progress/csv-to-html-translation-1.openedge b/Task/CSV-to-HTML-translation/OpenEdge-Progress/csv-to-html-translation-1.openedge
new file mode 100644
index 0000000000..df231367b2
--- /dev/null
+++ b/Task/CSV-to-HTML-translation/OpenEdge-Progress/csv-to-html-translation-1.openedge
@@ -0,0 +1,50 @@
+FUNCTION csvToHtml RETURNS CHARACTER (
+ i_lhas_header AS LOGICAL,
+ i_cinput AS CHARACTER
+):
+
+ DEFINE VARIABLE coutput AS CHARACTER NO-UNDO.
+
+ DEFINE VARIABLE irow AS INTEGER NO-UNDO.
+ DEFINE VARIABLE icolumn AS INTEGER NO-UNDO.
+ DEFINE VARIABLE crow AS CHARACTER NO-UNDO.
+ DEFINE VARIABLE ccell AS CHARACTER NO-UNDO.
+
+ coutput = "~n~t
+
+Character Speech
+The multitude The messiah! Show us the messiah!
+Brians mother <angry>Now you listen here! He's not the messiah; he's a very naughty boy! Now go away!</angry>
+The multitude Who are you?
+Brians mother I'm his mother; that's who!
+
+The multitude Behold his mother! Behold his mother! ".
+
+ DO irow = 1 TO NUM-ENTRIES( i_cinput, "~n":U ):
+
+ coutput = coutput + "~n~t~t
~n".
+
+ RETURN coutput.
+
+END FUNCTION. /* csvToHtml */
+
+MESSAGE
+ csvToHtml(
+ TRUE,
+ "Character,Speech" + "~n" +
+ "The multitude,The messiah! Show us the messiah!" + "~n" +
+ "Brians mother,".
+
+ crow = ENTRY( irow, i_cinput, "~n":U ).
+
+ DO icolumn = 1 TO NUM-ENTRIES( crow ):
+ ccell = ENTRY( icolumn, crow ).
+
+ coutput = coutput + "~n~t~t~t" + IF i_lhas_header AND irow = 1 THEN " ".
+
+ END.
+
+ coutput = coutput + "~n~t" ELSE " ".
+ coutput = coutput + REPLACE( REPLACE( REPLACE( ccell, "&", "&" ), "<", "<" ), ">", ">" ).
+ coutput = coutput + IF i_lhas_header AND irow = 1 THEN "" ELSE " ".
+
+ END.
+
+ coutput = coutput + "~n~t~t
+
+
diff --git a/Task/CSV-to-HTML-translation/Perl-6/csv-to-html-translation-1.pl6 b/Task/CSV-to-HTML-translation/Perl-6/csv-to-html-translation-1.pl6
new file mode 100644
index 0000000000..488d58fcf5
--- /dev/null
+++ b/Task/CSV-to-HTML-translation/Perl-6/csv-to-html-translation-1.pl6
@@ -0,0 +1,28 @@
+my $str = "Character,Speech
+The multitude,The messiah! Show us the messiah!
+Brians mother,
+
+ Character
+ Speech
+
+
+ The multitude
+ The messiah! Show us the messiah!
+
+
+ Brians mother
+ <angry>Now you listen here! He's not the messiah; he's a very naughty boy! Now go away!</angry>
+
+
+ The multitude
+ Who are you?
+
+
+ Brians mother
+ I'm his mother; that's who!
+
+
+ The multitude
+ Behold his mother! Behold his mother!
+
+%s
+
+', [~] # concatenation reduction ('a', 'b', 'c') → 'abc'
+(escape($str).split(/\n/) # escape the string and split at newline
+ ==> map -> $line {tag 'tr', # feed that into a map, that map function will tag as 'tr, and has an argument called $line
+ ([~] $line.split(/','/)\ # split $line at ',',
+ # that / at the end is just an unspace, you can omit it, but then you have to delete
+ # all whitespace and comments between split(…) and .map
+ .map({tag 'td', $^cell}))})\ # map those cells as td
+ .join("\n"); # append a newline for nicer output
diff --git a/Task/CSV-to-HTML-translation/Perl-6/csv-to-html-translation-2.pl6 b/Task/CSV-to-HTML-translation/Perl-6/csv-to-html-translation-2.pl6
new file mode 100644
index 0000000000..ac4dc68bd0
--- /dev/null
+++ b/Task/CSV-to-HTML-translation/Perl-6/csv-to-html-translation-2.pl6
@@ -0,0 +1,11 @@
+
+
+
+
diff --git a/Task/CSV-to-HTML-translation/PowerShell/csv-to-html-translation-1.psh b/Task/CSV-to-HTML-translation/PowerShell/csv-to-html-translation-1.psh
new file mode 100644
index 0000000000..41bdd3067e
--- /dev/null
+++ b/Task/CSV-to-HTML-translation/PowerShell/csv-to-html-translation-1.psh
@@ -0,0 +1 @@
+Import-Csv -Path .\csv_html_test.csv | ConvertTo-Html -Fragment | Out-File .\csv_html_test.html
diff --git a/Task/CSV-to-HTML-translation/PowerShell/csv-to-html-translation-2.psh b/Task/CSV-to-HTML-translation/PowerShell/csv-to-html-translation-2.psh
new file mode 100644
index 0000000000..30d5135ea8
--- /dev/null
+++ b/Task/CSV-to-HTML-translation/PowerShell/csv-to-html-translation-2.psh
@@ -0,0 +1,13 @@
+
+Character Speech
+The multitude The messiah! Show us the messiah!
+Brians mother <angry>Now you listen here! He's not the messiah; he's a very naughty boy! Now go away!</angry>
+The multitude Who are you?
+Brians mother I'm his mother; that's who!
+The multitude Behold his mother! Behold his mother!
+
diff --git a/Task/CSV-to-HTML-translation/PowerShell/csv-to-html-translation-3.psh b/Task/CSV-to-HTML-translation/PowerShell/csv-to-html-translation-3.psh
new file mode 100644
index 0000000000..0d58c33260
--- /dev/null
+++ b/Task/CSV-to-HTML-translation/PowerShell/csv-to-html-translation-3.psh
@@ -0,0 +1,9 @@
+$htmlformat = '
+Character Speech
+The multitude The messiah! Show us the messiah!
+
+Brians mother <angry>Now you listen here! He's not the messiah; he's a very naughty boy! Now go away!</angry>
+The multitude Who are you?
+Brians mother I'm his mother; that's who!
+The multitude Behold his mother! Behold his mother! Csv to Html
' | Out-File .\csv_html_test.html
+Invoke-Expression .\csv_html_test.html
diff --git a/Task/CSV-to-HTML-translation/PowerShell/csv-to-html-translation-4.psh b/Task/CSV-to-HTML-translation/PowerShell/csv-to-html-translation-4.psh
new file mode 100644
index 0000000000..0eae705991
--- /dev/null
+++ b/Task/CSV-to-HTML-translation/PowerShell/csv-to-html-translation-4.psh
@@ -0,0 +1,21 @@
+
+
+
+Csv to Html
+
+
+
diff --git a/Task/CSV-to-HTML-translation/Retro/csv-to-html-translation-1.retro b/Task/CSV-to-HTML-translation/Retro/csv-to-html-translation-1.retro
new file mode 100644
index 0000000000..0a76396019
--- /dev/null
+++ b/Task/CSV-to-HTML-translation/Retro/csv-to-html-translation-1.retro
@@ -0,0 +1,23 @@
+remapping off
+"Character,Speech
+The multitude,The messiah! Show us the messiah!
+Brians mother,
+
+Character Speech
+The multitude The messiah! Show us the messiah!
+Brians mother <angry>Now you listen here! He's not the messiah; he's a very naughty boy! Now go away!</angry>
+The multitude Who are you?
+Brians mother I'm his mother; that's who!
+
+The multitude Behold his mother! Behold his mother! " puts ] when
+ [ 10 = ] [ drop " \n" puts ] when
+ [ '< = ] [ drop "<" puts ] when
+ [ '> = ] [ drop ">" puts ] when
+ [ '& = ] [ drop "&" puts ] when
+ putc ;
+
+: displayHTML ( $- )
+ " \n
" puts ;
+
+CSV displayHTML
diff --git a/Task/CSV-to-HTML-translation/Retro/csv-to-html-translation-2.retro b/Task/CSV-to-HTML-translation/Retro/csv-to-html-translation-2.retro
new file mode 100644
index 0000000000..0964db10ff
--- /dev/null
+++ b/Task/CSV-to-HTML-translation/Retro/csv-to-html-translation-2.retro
@@ -0,0 +1,8 @@
+ \n" puts
+ [ @ display ] ^types'STRING each@
+ "
+
diff --git a/Task/CSV-to-HTML-translation/Run-BASIC/csv-to-html-translation.run b/Task/CSV-to-HTML-translation/Run-BASIC/csv-to-html-translation.run
new file mode 100644
index 0000000000..4fa25a5ea3
--- /dev/null
+++ b/Task/CSV-to-HTML-translation/Run-BASIC/csv-to-html-translation.run
@@ -0,0 +1,24 @@
+csv$ = "Character,Speech
+The multitude,The messiah! Show us the messiah!
+Brians mother,
+Character Speech
+The multitude The messiah! Show us the messiah!
+Brians mother <angry>Now you listen here! He's not the messiah; he's a very naughty boy! Now go away!</angry>
+The multitude Who are you?
+Brians mother I'm his mother; that's who!
+The multitude Behold his mother! Behold his mother! + mid$(csv$,k + 1)
+
+csv$ = strRep$(csv$,","," ")
+html "
|\>|g
+s|^| ";strRep$(csv$,chr$(13)," ");" \n |
+1s|^||
+s|,| \n |
+s|$| \n \n|
+$s|$|\n
|
diff --git a/Task/CSV-to-HTML-translation/Sed/csv-to-html-translation-2.sed b/Task/CSV-to-HTML-translation/Sed/csv-to-html-translation-2.sed
new file mode 100644
index 0000000000..913eb2aa3f
--- /dev/null
+++ b/Task/CSV-to-HTML-translation/Sed/csv-to-html-translation-2.sed
@@ -0,0 +1,26 @@
+
+
diff --git a/Task/CSV-to-HTML-translation/Seed7/csv-to-html-translation-1.seed7 b/Task/CSV-to-HTML-translation/Seed7/csv-to-html-translation-1.seed7
new file mode 100644
index 0000000000..135f80da8b
--- /dev/null
+++ b/Task/CSV-to-HTML-translation/Seed7/csv-to-html-translation-1.seed7
@@ -0,0 +1,30 @@
+$ include "seed7_05.s7i";
+ include "html_ent.s7i";
+
+const string: csvData is "\
+ \Character,Speech\n\
+ \The multitude,The messiah! Show us the messiah!\n\
+ \Brians mother,
+
+ Character
+ Speech
+
+
+ The multitude
+ The messiah! Show us the messiah!
+
+
+ Brians mother
+ <angry>Now you listen here! He's not the messiah; he's a very naughty boy! Now go away!</angry>
+
+
+ The multitude
+ Who are you?
+
+
+ Brians mother
+ I'm his mother; that's who!
+
+
+The multitude
+ Behold his mother! Behold his mother!
+ ", " ");
+ const array [boolean] string: columnEndTag is [boolean] ("", " ");
+ var boolean: firstLine is TRUE;
+ begin
+ writeln("");
+ for line range split(csvData, '\n') do
+ write("
");
+ end func;
diff --git a/Task/CSV-to-HTML-translation/Seed7/csv-to-html-translation-2.seed7 b/Task/CSV-to-HTML-translation/Seed7/csv-to-html-translation-2.seed7
new file mode 100644
index 0000000000..c6a54c2e4f
--- /dev/null
+++ b/Task/CSV-to-HTML-translation/Seed7/csv-to-html-translation-2.seed7
@@ -0,0 +1,9 @@
+");
+ for column range split(line, ',') do
+ write(columnStartTag[firstLine] <& encodeHtmlContent(column) <& columnEndTag[firstLine]);
+ end for;
+ writeln(" ");
+ firstLine := FALSE;
+ end for;
+ writeln("
+
diff --git a/Task/CSV-to-HTML-translation/TUSCRIPT/csv-to-html-translation-1.tuscript b/Task/CSV-to-HTML-translation/TUSCRIPT/csv-to-html-translation-1.tuscript
new file mode 100644
index 0000000000..df490c786d
--- /dev/null
+++ b/Task/CSV-to-HTML-translation/TUSCRIPT/csv-to-html-translation-1.tuscript
@@ -0,0 +1,38 @@
+$$ MODE TUSCRIPT
+MODE DATA
+$$ csv=*
+Character,Speech
+The multitude,The messiah! Show us the messiah!
+Brians mother,
+Character Speech
+The multitude The messiah! Show us the messiah!
+Brians mother <angry>Now you listen here! He's not the messiah; he's a very naughty boy! Now go away!</angry>
+The multitude Who are you?
+Brians mother I'm his mother; that's who!
+The multitude Behold his mother! Behold his mother!
+
+$$ BUILD X_TABLE txt2html=*
+ << <
+ >> >
+$$ MODE TUSCRIPT
+file="brian.html"
+ERROR/STOP CREATE (file,FDF-o,-std-)
+csv=EXCHANGE (csv,txt2html)
+x=SPLIT (csv,":,:",row1,row2)
+ACCESS html: WRITE/ERASE/RECORDS/UTF8 $file s,html
+WRITE html htmlhead
+LOOP n,td1=row1,td2=row2
+IF (n==1) THEN
+row=CONCAT ("
"
+ENDACCESS/PRINT html
diff --git a/Task/CSV-to-HTML-translation/TUSCRIPT/csv-to-html-translation-2.tuscript b/Task/CSV-to-HTML-translation/TUSCRIPT/csv-to-html-translation-2.tuscript
new file mode 100644
index 0000000000..bc7a92dcac
--- /dev/null
+++ b/Task/CSV-to-HTML-translation/TUSCRIPT/csv-to-html-translation-2.tuscript
@@ -0,0 +1,15 @@
+
+
+
+ ")
+ELSE
+row=CONCAT ("",td1," ",td2," ")
+ENDIF
+WRITE html row
+ENDLOOP
+WRITE html "",td1," ",td2,"
+
diff --git a/Task/CSV-to-HTML-translation/TXR/csv-to-html-translation-1.txr b/Task/CSV-to-HTML-translation/TXR/csv-to-html-translation-1.txr
new file mode 100644
index 0000000000..3c46811c01
--- /dev/null
+++ b/Task/CSV-to-HTML-translation/TXR/csv-to-html-translation-1.txr
@@ -0,0 +1,13 @@
+@(collect)
+@char,@speech
+@(end)
+@(output :filter :to_html)
+
+Character Speech
+The multitude The messiah! Show us the messiah!
+Brians mother <angry>Now you listen here! He's not the messiah; he's a very naughty boy! Now go away!</angry>
+The multitude Who are you?
+Brians mother I'm his mother; that's who!
+The multitude Behold his mother! Behold his mother!
+@ (repeat)
+
+@(end)
diff --git a/Task/CSV-to-HTML-translation/TXR/csv-to-html-translation-2.txr b/Task/CSV-to-HTML-translation/TXR/csv-to-html-translation-2.txr
new file mode 100644
index 0000000000..95250ed08f
--- /dev/null
+++ b/Task/CSV-to-HTML-translation/TXR/csv-to-html-translation-2.txr
@@ -0,0 +1,26 @@
+
+
+@ (end)
+@char
+ @speech
+
+
diff --git a/Task/CSV-to-HTML-translation/TXR/csv-to-html-translation-3.txr b/Task/CSV-to-HTML-translation/TXR/csv-to-html-translation-3.txr
new file mode 100644
index 0000000000..8bbb83edd2
--- /dev/null
+++ b/Task/CSV-to-HTML-translation/TXR/csv-to-html-translation-3.txr
@@ -0,0 +1,29 @@
+@(collect)
+@char,@speech
+@(end)
+@(output :filter :to_html)
+
+
+
+ Character
+ Speech
+
+
+ The multitude
+ The messiah! Show us the messiah!
+
+
+ Brians mother
+ <angry>Now you listen here! He's not the messiah; he's a very naughty boy! Now go away!</angry>
+
+
+ The multitude
+ Who are you?
+
+
+ Brians mother
+ I'm his mother; that's who!
+
+
+The multitude
+ Behold his mother! Behold his mother!
+
+@ (repeat :counter row)
+
+@(end)
diff --git a/Task/CSV-to-HTML-translation/TXR/csv-to-html-translation-4.txr b/Task/CSV-to-HTML-translation/TXR/csv-to-html-translation-4.txr
new file mode 100644
index 0000000000..85d94a32ea
--- /dev/null
+++ b/Task/CSV-to-HTML-translation/TXR/csv-to-html-translation-4.txr
@@ -0,0 +1,37 @@
+
+
+
+@ (first)
+ @char
+ @speech
+
+
+@ (end)
+@char
+ @speech
+
+
diff --git a/Task/CSV-to-HTML-translation/Vedit-macro-language/csv-to-html-translation-1.vedit b/Task/CSV-to-HTML-translation/Vedit-macro-language/csv-to-html-translation-1.vedit
new file mode 100644
index 0000000000..394d1635c2
--- /dev/null
+++ b/Task/CSV-to-HTML-translation/Vedit-macro-language/csv-to-html-translation-1.vedit
@@ -0,0 +1,27 @@
+if (BB < 0) { // block not set
+ BB(0) // convert entire file
+ BE(File_Size)
+}
+
+// Convert special characters into entities
+Replace_Block("&","&", BB, BE, BEGIN+ALL+NOERR)
+Replace_Block("<","<", BB, BE, BEGIN+ALL+NOERR)
+Replace_Block(">",">", BB, BE, BEGIN+ALL+NOERR)
+
+// Convert CSV into HTML table
+Goto_Pos(BB)
+IT('
+
+ Character
+ Speech
+
+
+ The multitude
+ The messiah! Show us the messiah!
+
+
+ Brians mother
+ <angry>Now you listen here! He's not the messiah; he's a very naughty boy! Now go away!</angry>
+
+
+ The multitude
+ Who are you?
+
+
+ Brians mother
+ I'm his mother; that's who!
+
+
+The multitude
+ Behold his mother! Behold his mother!
+ ') IN
+#80 = Cur_Pos
+Goto_Pos(BE)
+IT("
")
+#81 = Cur_Line
+IN
+Goto_Pos(#80)
+while (Cur_Line < #81) {
+ IT(" ")
+ Line(1)
+}
+BB(Clear)
diff --git a/Task/CSV-to-HTML-translation/Vedit-macro-language/csv-to-html-translation-2.vedit b/Task/CSV-to-HTML-translation/Vedit-macro-language/csv-to-html-translation-2.vedit
new file mode 100644
index 0000000000..166c5676fc
--- /dev/null
+++ b/Task/CSV-to-HTML-translation/Vedit-macro-language/csv-to-html-translation-2.vedit
@@ -0,0 +1,8 @@
+")
+ Replace_Block(","," ",Cur_Pos,EOL_Pos,ALL+NOERR)
+ EOL
+ IT("
+
diff --git a/Task/CSV-to-HTML-translation/XSLT-2.0/csv-to-html-translation-1.xslt b/Task/CSV-to-HTML-translation/XSLT-2.0/csv-to-html-translation-1.xslt
new file mode 100644
index 0000000000..8254dd7a5a
--- /dev/null
+++ b/Task/CSV-to-HTML-translation/XSLT-2.0/csv-to-html-translation-1.xslt
@@ -0,0 +1,54 @@
+
+ Character Speech
+ The multitude The messiah! Show us the messiah!
+ Brians mother <angry>Now you listen here! He's not the messiah; he's a very naughty boy! Now go away!</angry>
+ The multitude Who are you?
+ Brians mother I'm his mother; that's who!
+The multitude Behold his mother! Behold his mother!
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Task/Caesar-cipher/CoffeeScript/caesar-cipher.coffee b/Task/Caesar-cipher/CoffeeScript/caesar-cipher.coffeescript
similarity index 100%
rename from Task/Caesar-cipher/CoffeeScript/caesar-cipher.coffee
rename to Task/Caesar-cipher/CoffeeScript/caesar-cipher.coffeescript
diff --git a/Task/Caesar-cipher/Mathematica/caesar-cipher.mathematica b/Task/Caesar-cipher/Mathematica/caesar-cipher.math
similarity index 100%
rename from Task/Caesar-cipher/Mathematica/caesar-cipher.mathematica
rename to Task/Caesar-cipher/Mathematica/caesar-cipher.math
diff --git a/Task/Caesar-cipher/NetRexx/caesar-cipher.netrexx b/Task/Caesar-cipher/NetRexx/caesar-cipher.netrexx
new file mode 100644
index 0000000000..7f719a3782
--- /dev/null
+++ b/Task/Caesar-cipher/NetRexx/caesar-cipher.netrexx
@@ -0,0 +1,92 @@
+/* NetRexx */
+
+options replace format comments java crossref savelog symbols nobinary
+
+messages = [ -
+ 'The five boxing wizards jump quickly', -
+ 'Attack at dawn!', -
+ 'HI']
+keys = [1, 2, 20, 25, 13]
+
+loop m_ = 0 to messages.length - 1
+ in = messages[m_]
+ loop k_ = 0 to keys.length - 1
+ say 'Caesar cipher, key:' keys[k_].right(3)
+ ec = caesar_encipher(in, keys[k_])
+ dc = caesar_decipher(ec, keys[k_])
+ say in
+ say ec
+ say dc
+ say
+ end k_
+ say 'Rot-13:'
+ ec = rot13(in)
+ dc = rot13(ec)
+ say in
+ say ec
+ say dc
+ say
+ end m_
+
+return
+
+method rot13(input) public static signals IllegalArgumentException
+
+ return caesar(input, 13, isFalse)
+
+method caesar(input = Rexx, idx = int, caps = boolean) public static signals IllegalArgumentException
+
+ if idx < 1 | idx > 25 then signal IllegalArgumentException()
+
+ -- 12345678901234567890123456
+ itab = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+ shift = itab.length - idx
+ parse itab tl +(shift) tr
+ otab = tr || tl
+
+ if caps then input = input.upper
+
+ cipher = input.translate(itab || itab.lower, otab || otab.lower)
+
+ return cipher
+
+method caesar_encipher(input = Rexx, idx = int, caps = boolean) public static signals IllegalArgumentException
+
+ return caesar(input, idx, caps)
+
+method caesar_decipher(input = Rexx, idx = int, caps = boolean) public static signals IllegalArgumentException
+
+ return caesar(input, int(26) - idx, isFalse)
+
+method caesar_encipher(input = Rexx, idx = int) public static signals IllegalArgumentException
+
+ return caesar(input, idx, isFalse)
+
+method caesar_decipher(input = Rexx, idx = int) public static signals IllegalArgumentException
+
+ return caesar(input, int(26) - idx, isFalse)
+
+method caesar_encipher(input = Rexx, idx = int, opt = Rexx) public static signals IllegalArgumentException
+
+ return caesar(input, idx, opt)
+
+method caesar_decipher(input = Rexx, idx = int, opt = Rexx) public static signals IllegalArgumentException
+
+ return caesar(input, int(26) - idx, opt)
+
+method caesar(input = Rexx, idx = int, opt = Rexx) public static signals IllegalArgumentException
+
+ if opt.upper.abbrev('U') >= 1 then caps = isTrue
+ else caps = isFalse
+
+ return caesar(input, idx, caps)
+
+method caesar(input = Rexx, idx = int) public static signals IllegalArgumentException
+
+ return caesar(input, idx, isFalse)
+
+method isTrue public static returns boolean
+ return (1 == 1)
+
+method isFalse public static returns boolean
+ return \isTrue
diff --git a/Task/Caesar-cipher/OCaml/caesar-cipher-1.ocaml b/Task/Caesar-cipher/OCaml/caesar-cipher-1.ocaml
new file mode 100644
index 0000000000..ee84fdeba4
--- /dev/null
+++ b/Task/Caesar-cipher/OCaml/caesar-cipher-1.ocaml
@@ -0,0 +1,51 @@
+let islower c =
+ c >= 'a' && c <= 'z'
+
+let isupper c =
+ c >= 'A' && c <= 'Z'
+
+let rot x str =
+ let upchars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ and lowchars = "abcdefghijklmnopqrstuvwxyz" in
+ let rec decal x =
+ if x < 0 then decal (x + 26) else x
+ in
+ let x = (decal x) mod 26 in
+ let decal_up = x - (int_of_char 'A')
+ and decal_low = x - (int_of_char 'a') in
+ let len = String.length str in
+ let res = String.create len in
+ for i = 0 to pred len do
+ let c = str.[i] in
+ if islower c then
+ let j = ((int_of_char c) + decal_low) mod 26 in
+ res.[i] <- lowchars.[j]
+ else if isupper c then
+ let j = ((int_of_char c) + decal_up) mod 26 in
+ res.[i] <- upchars.[j]
+ else
+ res.[i] <- c
+ done;
+ (res)
+
+(* or in OCaml 4.00+:
+let rot x =
+ let upchars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ and lowchars = "abcdefghijklmnopqrstuvwxyz" in
+ let rec decal x =
+ if x < 0 then decal (x + 26) else x
+ in
+ let x = (decal x) mod 26 in
+ let decal_up = x - (int_of_char 'A')
+ and decal_low = x - (int_of_char 'a') in
+ String.map (fun c ->
+ if islower c then
+ let j = ((int_of_char c) + decal_low) mod 26 in
+ lowchars.[j]
+ else if isupper c then
+ let j = ((int_of_char c) + decal_up) mod 26 in
+ upchars.[j]
+ else
+ c
+ )
+*)
diff --git a/Task/Caesar-cipher/OCaml/caesar-cipher-2.ocaml b/Task/Caesar-cipher/OCaml/caesar-cipher-2.ocaml
new file mode 100644
index 0000000000..1c8c97c9fc
--- /dev/null
+++ b/Task/Caesar-cipher/OCaml/caesar-cipher-2.ocaml
@@ -0,0 +1,9 @@
+let () =
+ let key = 3 in
+ let orig = "The five boxing wizards jump quickly" in
+ let enciphered = rot key orig in
+ print_endline enciphered;
+ let deciphered = rot (- key) enciphered in
+ print_endline deciphered;
+ Printf.printf "equal: %b\n" (orig = deciphered)
+;;
diff --git a/Task/Caesar-cipher/PARI-GP/caesar-cipher.pari b/Task/Caesar-cipher/PARI-GP/caesar-cipher.pari
new file mode 100644
index 0000000000..e5decb58a3
--- /dev/null
+++ b/Task/Caesar-cipher/PARI-GP/caesar-cipher.pari
@@ -0,0 +1,5 @@
+enc(s,n)={
+ Strchr(Vecsmall(apply(k->if(k>96&&k<123,(k+n-97)%26+97, if(k>64&&k<91, (k+n-65)%26+65, k)),
+ Vec(Vecsmall(s)))))
+};
+dec(s,n)=enc(s,-n);
diff --git a/Task/Caesar-cipher/PL-I/caesar-cipher.pli b/Task/Caesar-cipher/PL-I/caesar-cipher.pli
new file mode 100644
index 0000000000..2ded87cd58
--- /dev/null
+++ b/Task/Caesar-cipher/PL-I/caesar-cipher.pli
@@ -0,0 +1,20 @@
+caesar: procedure options (main);
+ declare cypher_string character (52) static initial
+ ((2)'ABCDEFGHIJKLMNOPQRSTUVWXYZ');
+ declare (text, encyphered_text) character (100) varying,
+ offset fixed binary;
+
+ get edit (text) (L); /* Read in one line of text */
+ get list (offset);
+ if offset < 1 | offset > 25 then signal error;
+ put skip list ('Plain text=', text);
+
+ encyphered_text = translate(text, substr(cypher_string, offset+1, 26),
+ 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' );
+ put skip list ('Encyphered text=', encyphered_text);
+
+ text = translate(encyphered_text, substr(cypher_string, 27-offset, 26),
+ 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' );
+ put skip list ('Decyphered text=', text);
+
+end caesar;
diff --git a/Task/Caesar-cipher/Pascal/caesar-cipher.pascal b/Task/Caesar-cipher/Pascal/caesar-cipher.pascal
new file mode 100644
index 0000000000..53fb189ff9
--- /dev/null
+++ b/Task/Caesar-cipher/Pascal/caesar-cipher.pascal
@@ -0,0 +1,37 @@
+Program CaesarCipher(output);
+
+procedure encrypt(var message: string; key: integer);
+ var
+ i: integer;
+ begin
+ for i := 1 to length(message) do
+ case message[i] of
+ 'A'..'Z': message[i] := chr(ord('A') + (ord(message[i]) - ord('A') + key) mod 26);
+ 'a'..'z': message[i] := chr(ord('a') + (ord(message[i]) - ord('a') + key) mod 26);
+ end;
+ end;
+
+procedure decrypt(var message: string; key: integer);
+ var
+ i: integer;
+ begin
+ for i := 1 to length(message) do
+ case message[i] of
+ 'A'..'Z': message[i] := chr(ord('A') + (ord(message[i]) - ord('A') - key + 26) mod 26);
+ 'a'..'z': message[i] := chr(ord('a') + (ord(message[i]) - ord('a') - key + 26) mod 26);
+ end;
+ end;
+
+var
+ key: integer;
+ message: string;
+
+begin
+ key := 3;
+ message := 'The five boxing wizards jump quickly';
+ writeln ('Original message: ', message);
+ encrypt(message, key);
+ writeln ('Encrypted message: ', message);
+ decrypt(message, key);
+ writeln ('Decrypted message: ', message);
+end.
diff --git a/Task/Caesar-cipher/Perl-6/caesar-cipher.pl6 b/Task/Caesar-cipher/Perl-6/caesar-cipher.pl6
new file mode 100644
index 0000000000..4c420d3acf
--- /dev/null
+++ b/Task/Caesar-cipher/Perl-6/caesar-cipher.pl6
@@ -0,0 +1,15 @@
+my @alpha = 'A' .. 'Z';
+sub encrypt ( $key where 1..25, $plaintext ) {
+ $plaintext.trans( @alpha Z=> @alpha.rotate($key) );
+}
+sub decrypt ( $key where 1..25, $cyphertext ) {
+ $cyphertext.trans( @alpha.rotate($key) Z=> @alpha );
+}
+
+my $original = 'THE FIVE BOXING WIZARDS JUMP QUICKLY';
+my $en = encrypt( 13, $original );
+my $de = decrypt( 13, $en );
+
+.say for $original, $en, $de;
+
+say 'OK' if $original eq all( map { .&decrypt(.&encrypt($original)) }, 1..25 );
diff --git a/Task/Caesar-cipher/PureBasic/caesar-cipher-1.purebasic b/Task/Caesar-cipher/PureBasic/caesar-cipher-1.purebasic
new file mode 100644
index 0000000000..426c55f841
--- /dev/null
+++ b/Task/Caesar-cipher/PureBasic/caesar-cipher-1.purebasic
@@ -0,0 +1,37 @@
+Procedure.s CC_encrypt(plainText.s, key, reverse = 0)
+ ;if reverse <> 0 then reverse the encryption (decrypt)
+ If reverse: reverse = 26: key = 26 - key: EndIf
+
+ Static alphabet$ = "ABCEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"
+
+ Protected result.s, i, length = Len(plainText), letter.s, legal
+ If key < 1 Or key > 25: ProcedureReturn: EndIf ;keep key in range
+
+ For i = 1 To length
+ letter = Mid(plainText, i, 1)
+ legal = FindString(alphabet$, letter, 1 + reverse)
+ If legal
+ result + Mid(alphabet$, legal + key, 1)
+ Else
+ result + letter
+ EndIf
+ Next
+ ProcedureReturn result
+EndProcedure
+
+Procedure.s CC_decrypt(cypherText.s, key)
+ ProcedureReturn CC_encrypt(cypherText, key, 1)
+EndProcedure
+
+If OpenConsole()
+ Define key, plainText.s, encryptedText.s, decryptedText.s
+
+ key = Random(24) + 1 ;get a random key in the range 1 -> 25
+
+ plainText = "The quick brown fox jumped over the lazy dogs.": PrintN(RSet("Plain text = ", 17) + #DQUOTE$ + plainText + #DQUOTE$)
+ encryptedText = CC_encrypt(plainText, key): PrintN(RSet("Encrypted text = ", 17) + #DQUOTE$ + encryptedText + #DQUOTE$)
+ decryptedText = CC_decrypt(encryptedText, key): PrintN(RSet("Decrypted text = ", 17) + #DQUOTE$ + decryptedText + #DQUOTE$)
+
+ Print(#CRLF$ + #CRLF$ + "Press ENTER to exit"): Input()
+ CloseConsole()
+EndIf
diff --git a/Task/Caesar-cipher/PureBasic/caesar-cipher-2.purebasic b/Task/Caesar-cipher/PureBasic/caesar-cipher-2.purebasic
new file mode 100644
index 0000000000..a63d3f82db
--- /dev/null
+++ b/Task/Caesar-cipher/PureBasic/caesar-cipher-2.purebasic
@@ -0,0 +1,21 @@
+Procedure.s CC_encrypt(text.s, key, reverse = 0)
+ ;if reverse <> 0 then reverse the encryption (decrypt)
+ Protected i, *letter.Character, *resultLetter.Character, result.s = Space(Len(text))
+
+ If reverse: key = 26 - key: EndIf
+ If key < 1 Or key > 25: ProcedureReturn: EndIf ;exit if key out of range
+
+ *letter = @text: *resultLetter = @result
+ While *letter\c
+ Select *letter\c
+ Case 'A' To 'Z'
+ *resultLetter\c = ((*letter\c - 65 + key) % 26) + 65
+ Case 'a' To 'z'
+ *resultLetter\c = ((*letter\c - 97 + key) % 26) + 97
+ Default
+ *resultLetter\c = *letter\c
+ EndSelect
+ *letter + SizeOf(Character): *resultLetter + SizeOf(Character)
+ Wend
+ ProcedureReturn result
+EndProcedure
diff --git a/Task/Caesar-cipher/Retro/caesar-cipher.retro b/Task/Caesar-cipher/Retro/caesar-cipher.retro
new file mode 100644
index 0000000000..a500e77969
--- /dev/null
+++ b/Task/Caesar-cipher/Retro/caesar-cipher.retro
@@ -0,0 +1,14 @@
+{{
+ variable offset
+ : rotate ( cb-c ) tuck - @offset + 26 mod + ;
+ : rotate? ( c-c )
+ dup 'a 'z within [ 'a rotate ] ifTrue
+ dup 'A 'Z within [ 'A rotate ] ifTrue ;
+---reveal---
+ : ceaser ( $n-$ )
+ !offset dup [ [ @ rotate? ] sip ! ] ^types'STRING each@ ;
+}}
+
+( Example )
+"THEYBROKEOURCIPHEREVERYONECANREADTHIS" 3 ceaser ( returns encrypted string )
+23 ceaser ( returns decrypted string )
diff --git a/Task/Caesar-cipher/Run-BASIC/caesar-cipher.run b/Task/Caesar-cipher/Run-BASIC/caesar-cipher.run
new file mode 100644
index 0000000000..c50ed3b1d2
--- /dev/null
+++ b/Task/Caesar-cipher/Run-BASIC/caesar-cipher.run
@@ -0,0 +1,21 @@
+input "Gimme a ofset:";ofst ' set any offset you like
+
+a$ = "Pack my box with five dozen liquor jugs"
+print " Original: ";a$
+a$ = cipher$(a$,ofst)
+print "Encrypted: ";a$
+print "Decrypted: ";cipher$(a$,ofst+6)
+
+FUNCTION cipher$(a$,ofst)
+for i = 1 to len(a$)
+ aa$ = mid$(a$,i,1)
+ code$ = " "
+ if aa$ <> " " then
+ ua$ = upper$(aa$)
+ a = asc(ua$) - 64
+ code$ = chr$((((a mod 26) + ofst) mod 26) + 65)
+ if ua$ <> aa$ then code$ = lower$(code$)
+ end if
+ cipher$ = cipher$;code$
+next i
+END FUNCTION
diff --git a/Task/Caesar-cipher/Seed7/caesar-cipher.seed7 b/Task/Caesar-cipher/Seed7/caesar-cipher.seed7
new file mode 100644
index 0000000000..e97a97c65f
--- /dev/null
+++ b/Task/Caesar-cipher/Seed7/caesar-cipher.seed7
@@ -0,0 +1,29 @@
+$ include "seed7_05.s7i";
+
+const func string: rot (in string: stri, in integer: encodingKey) is func
+ result
+ var string: encodedStri is "";
+ local
+ var char: ch is ' ';
+ var integer: index is 0;
+ begin
+ encodedStri := stri;
+ for ch key index range stri do
+ if ch >= 'a' and ch <= 'z' then
+ ch := chr((ord(ch) - ord('a') + encodingKey) rem 26 + ord('a'));
+ elsif ch >= 'A' and ch <= 'Z' then
+ ch := chr((ord(ch) - ord('A') + encodingKey) rem 26 + ord('A'));
+ end if;
+ encodedStri @:= [index] ch;
+ end for;
+ end func;
+
+const proc: main is func
+ local
+ const integer: exampleKey is 3;
+ const string: testText is "The five boxing wizards jump quickly";
+ begin
+ writeln("Original: " <& testText);
+ writeln("Encrypted: " <& rot(testText, exampleKey));
+ writeln("Decrypted: " <& rot(rot(testText, exampleKey), 26 - exampleKey));
+ end func;
diff --git a/Task/Caesar-cipher/TUSCRIPT/caesar-cipher.tuscript b/Task/Caesar-cipher/TUSCRIPT/caesar-cipher.tuscript
new file mode 100644
index 0000000000..b0925f0b7e
--- /dev/null
+++ b/Task/Caesar-cipher/TUSCRIPT/caesar-cipher.tuscript
@@ -0,0 +1,24 @@
+$$ MODE TUSCRIPT
+text="THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
+PRINT "text orginal ",text
+
+abc="ABCDEFGHIJKLMNOPQRSTUVWXYZ",key=3,caesarskey=key+1
+secretbeg=EXTRACT (abc,#caesarskey,0)
+secretend=EXTRACT (abc,0,#caesarskey)
+secretabc=CONCAT (secretbeg,secretend)
+
+abc=STRINGS (abc,":
+ Character
+ Speech
+
+
+
+ The multitude
+ The messiah! Show us the messiah!
+
+
+ Brians mother
+ <angry>Now you listen here! He's not the messiah; he's a very naughty boy! Now go
+ away!</angry>
+
+
+
+ The multitude
+ Who are you?
+
+
+ Brians mother
+ I'm his mother; that's who!
+
+
+ The multitude
+ Behold his mother! Behold his mother!
+
"
+wait
+
+[getMonthInfo]
+' ----------------------------------------
+' day of week when month begins.
+' days in a month
+' ----------------------------------------
+if yr < 100 then yr = val(date$("yy"))
+if mm < 1 or mm > 12 then mm = val(date$("mm"))
+dayOne$ = mm;"-01-";yr
+n = date$(dayOne$)
+dow = 1 + (n Mod 7) ' Day of Week month begins
+m1 = mm
+n1 = n + 27
+while m1 = mm
+ n1 = n1 + 1
+ n$ = date$(n1)
+ m1 = val(left$(n$,2))
+wend
+mmDays = n1 - n ' Days in Month
+RETURN
diff --git a/Task/Calendar/Seed7/calendar.seed7 b/Task/Calendar/Seed7/calendar.seed7
new file mode 100644
index 0000000000..762aded508
--- /dev/null
+++ b/Task/Calendar/Seed7/calendar.seed7
@@ -0,0 +1,53 @@
+$ include "seed7_05.s7i";
+ include "time.s7i";
+
+const func string: center (in string: stri, in integer: length) is
+ return ("" lpad (length - length(stri)) div 2 <& stri) rpad length;
+
+const proc: printCalendar (in integer: year, in integer: cols) is func
+ local
+ var time: date is time.value;
+ var integer: dayOfWeek is 0;
+ const array string: monthNames is [] ("January", "February", "March", "April", "May", "June",
+ "July", "August", "September", "October", "November", "December");
+ var array array string: monthTable is 12 times 9 times "";
+ var string: str is "";
+ var integer: month is 0;
+ var integer: position is 0;
+ var integer: row is 0;
+ var integer: column is 0;
+ var integer: line is 0;
+ begin
+ for month range 1 to 12 do
+ monthTable[month][1] := " " & center(monthNames[month], 20);
+ monthTable[month][2] := " Mo Tu We Th Fr Sa Su";
+ date := date(year, month, 1);
+ dayOfWeek := dayOfWeek(date);
+ for position range 1 to 43 do
+ if position >= dayOfWeek and position - dayOfWeek < daysInMonth(date.year, date.month) then
+ str := succ(position - dayOfWeek) lpad 3;
+ else
+ str := "" lpad 3;
+ end if;
+ monthTable[month][3 + pred(position) div 7] &:= str;
+ end for;
+ end for;
+ writeln(center("[Snoopy Picture]", cols * 24 + 4));
+ writeln(center(str(year),cols * 24 + 4));
+ writeln;
+ for row range 1 to succ(11 div cols) do
+ for line range 1 to 9 do
+ for column range 1 to cols do
+ if pred(row) * cols + column <= 12 then
+ write(" " & monthTable[pred(row) * cols + column][line]);
+ end if;
+ end for;
+ writeln;
+ end for;
+ end for;
+ end func;
+
+const proc: main is func
+ begin
+ printCalendar(1969, 3);
+ end func;
diff --git a/Task/Calendar/UNIX-Shell/calendar.sh b/Task/Calendar/UNIX-Shell/calendar.sh
new file mode 100644
index 0000000000..1e51095dce
--- /dev/null
+++ b/Task/Calendar/UNIX-Shell/calendar.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+echo "Snoopy goes here"
+cal 1969
diff --git a/Task/Calendar/Vedit-macro-language/calendar-1.vedit b/Task/Calendar/Vedit-macro-language/calendar-1.vedit
new file mode 100644
index 0000000000..fa82c9f329
--- /dev/null
+++ b/Task/Calendar/Vedit-macro-language/calendar-1.vedit
@@ -0,0 +1,21 @@
+Buf_Switch(Buf_Free)
+Config_Tab(5,30,55)
+#9 = 1 // first day of week: 0=Su, 1=Mo
+#3 = 3 // number of months per line
+#2 = 1969 // year
+#1 = 1 // starting month
+Repeat(12/#3) {
+ Repeat (#3) {
+ Buf_Switch(Buf_Free)
+ Call_File(122, "calendar.vdm", "DRAW_CALENDAR")
+ Reg_Copy_Block(10, 1, EOB_Pos, COLSET, 1, 21)
+ Buf_Quit(OK)
+ EOL Ins_Char(9)
+ #5 = Cur_Pos
+ Reg_Ins(10)
+ Goto_Pos(#5)
+ #1++
+ }
+ EOF
+ Ins_Newline(2)
+}
diff --git a/Task/Calendar/Vedit-macro-language/calendar-2.vedit b/Task/Calendar/Vedit-macro-language/calendar-2.vedit
new file mode 100644
index 0000000000..0f5745612b
--- /dev/null
+++ b/Task/Calendar/Vedit-macro-language/calendar-2.vedit
@@ -0,0 +1 @@
+Config_Tab(22)
diff --git a/Task/Calendar/XPL0/calendar.xpl0 b/Task/Calendar/XPL0/calendar.xpl0
new file mode 100644
index 0000000000..0c082a3cbb
--- /dev/null
+++ b/Task/Calendar/XPL0/calendar.xpl0
@@ -0,0 +1,59 @@
+include c:\cxpl\codes; \intrinsic 'code' declarations
+
+func WeekDay(Year, Month, Day); \Return day of week (0=Sun 1=Mon..6=Sat)
+int Year, Month, Day; \Works for years from 1583 onward
+[if Month<=2 then [Month:= Month+12; Year:= Year-1];
+return rem((Day-1 + (Month+1)*26/10 + Year + Year/4 + Year/100*6 + Year/400)/7);
+];
+
+proc Space(N); \Display N space characters
+int N;
+while N do [ChOut(0, ^ ); N:= N-1];
+
+proc Calendar(Year); \Display calendar for specified year
+int Year;
+int Month, Col, C, Line, MoName, Days, DayMax, Day(3);
+[MoName:= [
+ " January ", " February", " March ", " April ", " May ", " June ",
+ " July ", " August ", "September", " October", " November", " December"];
+Space(35); Text(0, "[Snoopy]"); CrLf(0);
+Space(37); IntOut(0, Year); CrLf(0);
+CrLf(0);
+for Month:= 1 to 12 do
+ [for Col:= 0 to 3-1 do
+ [Space(5); Text(0, MoName(Month+Col-1)); Space(7);
+ if Col<2 then Space(8);
+ ];
+ CrLf(0);
+ for Col:= 0 to 3-1 do
+ [Text(0, "Su Mo Tu We Th Fr Sa");
+ if Col<2 then Space(9);
+ ];
+ CrLf(0);
+ for Col:= 0 to 3-1 do \day of first Sunday of month (can be negative)
+ Day(Col):= 1 - WeekDay(Year, Month+Col, 1);
+ for Line:= 0 to 6-1 do
+ [for Col:= 0 to 3-1 do
+ [Days:= [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
+ DayMax:= Days(Month+Col);
+ if Month+Col=2 & (rem(Year/4)=0 & rem(Year/100)#0 ! rem(Year/400)=0) then
+ DayMax:= DayMax+1; \if February and leap year then add a day
+ for C:= 0 to 7-1 do
+ [if Day(Col)>=1 & Day(Col)<=DayMax then
+ [IntOut(0, Day(Col));
+ if Day(Col)<10 then Space(1); \left justify
+ ]
+ else Space(2); \suppress out of range days
+ Space(1);
+ Day(Col):= Day(Col)+1;
+ ];
+ if Col<2 then Space(8);
+ ];
+ CrLf(0);
+ ];
+ CrLf(0);
+ Month:= Month+2; \2+1 months per Col(umn)
+ ];
+];
+
+Calendar(1969)
diff --git a/Task/Call-a-foreign-language-function/Mathematica/call-a-foreign-language-function.mathematica b/Task/Call-a-foreign-language-function/Mathematica/call-a-foreign-language-function.math
similarity index 100%
rename from Task/Call-a-foreign-language-function/Mathematica/call-a-foreign-language-function.mathematica
rename to Task/Call-a-foreign-language-function/Mathematica/call-a-foreign-language-function.math
diff --git a/Task/Call-a-foreign-language-function/Nimrod/call-a-foreign-language-function.nimrod b/Task/Call-a-foreign-language-function/Nimrod/call-a-foreign-language-function.nimrod
new file mode 100644
index 0000000000..bbb1c47164
--- /dev/null
+++ b/Task/Call-a-foreign-language-function/Nimrod/call-a-foreign-language-function.nimrod
@@ -0,0 +1,3 @@
+proc strcmp(a, b: cstring): cint {.importc: "strcmp", nodecl.}
+echo strcmp("abc", "def")
+echo strcmp("hello", "hello")
diff --git a/Task/Call-a-foreign-language-function/OCaml/call-a-foreign-language-function-1.ocaml b/Task/Call-a-foreign-language-function/OCaml/call-a-foreign-language-function-1.ocaml
new file mode 100644
index 0000000000..5748b3b31d
--- /dev/null
+++ b/Task/Call-a-foreign-language-function/OCaml/call-a-foreign-language-function-1.ocaml
@@ -0,0 +1,3 @@
+void myfunc_a();
+float myfunc_b(int, float);
+char *myfunc_c(int *);
diff --git a/Task/Call-a-foreign-language-function/OCaml/call-a-foreign-language-function-2.ocaml b/Task/Call-a-foreign-language-function/OCaml/call-a-foreign-language-function-2.ocaml
new file mode 100644
index 0000000000..cae3bc6cb6
--- /dev/null
+++ b/Task/Call-a-foreign-language-function/OCaml/call-a-foreign-language-function-2.ocaml
@@ -0,0 +1,3 @@
+external myfunc_a: unit -> unit = "caml_myfunc_a"
+external myfunc_b: int -> float -> float = "caml_myfunc_b"
+external myfunc_c: int array -> string = "caml_myfunc_c"
diff --git a/Task/Call-a-foreign-language-function/OCaml/call-a-foreign-language-function-3.ocaml b/Task/Call-a-foreign-language-function/OCaml/call-a-foreign-language-function-3.ocaml
new file mode 100644
index 0000000000..ff4c2099d9
--- /dev/null
+++ b/Task/Call-a-foreign-language-function/OCaml/call-a-foreign-language-function-3.ocaml
@@ -0,0 +1,30 @@
+#include "
+html " Year:";yr;"
"
+
+for mm = 1 to 12
+ gosub [getMonthInfo]
+ x = 0
+ html " "
+
+ if mm mod 4 = 0 then html ""
+ html " "
+ html " ";word$(mths$,mm,",")
+ html " Sun Mon Tue Wed Thr Fri Sat "
+
+ for i = 1 to mmDays + dow
+ if i > dow then x = x + 1
+ if x = 0 then html " " else html " ";x;" "
+ if (i mod 7) = 0 then html ""
+ next i
+ html " " ' 4 months across
+next mm
+html "
"
diff --git a/Task/Colour-bars-Display/XPL0/colour-bars-display-1.xpl0 b/Task/Colour-bars-Display/XPL0/colour-bars-display-1.xpl0
new file mode 100644
index 0000000000..2179c96410
--- /dev/null
+++ b/Task/Colour-bars-Display/XPL0/colour-bars-display-1.xpl0
@@ -0,0 +1,12 @@
+include c:\cxpl\codes; \intrinsic code declarations
+int W, X0, X1, Y, C;
+[SetVid($13); \320x200x8 graphics
+W:= 320/8; \width of color bar (pixels)
+for C:= 0 to 8-1 do
+ [X0:= W*C; X1:= X0+W-1;
+ for Y:= 0 to 200-1 do
+ [Move(X0, Y); Line(X1, Y, C)];
+ ];
+C:= ChIn(1); \wait for keystroke
+SetVid(3); \restore normal text mode
+]
diff --git a/Task/Colour-bars-Display/XPL0/colour-bars-display-2.xpl0 b/Task/Colour-bars-Display/XPL0/colour-bars-display-2.xpl0
new file mode 100644
index 0000000000..3c8e3a3d25
--- /dev/null
+++ b/Task/Colour-bars-Display/XPL0/colour-bars-display-2.xpl0
@@ -0,0 +1,8 @@
+10 REM The ZX Spectrum display is 32 columns wide, so we have 8 columns of 4 spaces
+20 FOR r=0 TO 20: REM There are 21 rows
+30 FOR c=0 TO 7: REM We use the native colour sequence here
+40 PAPER c: REM set the background colour for the spaces to be printed
+50 PRINT " ";: REM four spaces, the semicolon prevents newline
+60 NEXT c
+70 REM at this point the cursor has wrapped, so we don't need a newline
+80 NEXT r
diff --git a/Task/Colour-pinstripe-Display/OCaml/colour-pinstripe-display.ocaml b/Task/Colour-pinstripe-Display/OCaml/colour-pinstripe-display.ocaml
new file mode 100644
index 0000000000..f4e72f5937
--- /dev/null
+++ b/Task/Colour-pinstripe-Display/OCaml/colour-pinstripe-display.ocaml
@@ -0,0 +1,17 @@
+open Graphics
+
+let () =
+ open_graph "";
+ let width = size_x ()
+ and height = size_y () in
+ let colors = [| black; red; green; blue; magenta; cyan; yellow; white |] in
+ let num_colors = Array.length colors in
+ let h = height / 4 in
+ for i = 1 to 4 do
+ let j = 4 - i in
+ for x = 0 to pred width do
+ set_color colors.((x / i) mod num_colors);
+ moveto x (j * h); lineto x (j * h + h);
+ done
+ done;
+ ignore(read_key())
diff --git a/Task/Colour-pinstripe-Display/PureBasic/colour-pinstripe-display.purebasic b/Task/Colour-pinstripe-Display/PureBasic/colour-pinstripe-display.purebasic
new file mode 100644
index 0000000000..f3ab9c0c19
--- /dev/null
+++ b/Task/Colour-pinstripe-Display/PureBasic/colour-pinstripe-display.purebasic
@@ -0,0 +1,43 @@
+;Create a Pinstripe image with a pattern of vertical stripe colors
+Procedure PinstripeDisplay(width, height, Array psColors(1), numColors = 0)
+ Protected x, imgID, psHeight = height / 4, psWidth = 1, psTop, horzBand, curColor
+
+ If numColors < 1: numColors = ArraySize(psColors()) + 1: EndIf
+
+ imgID = CreateImage(#PB_Any, width, height)
+ If imgID
+ StartDrawing(ImageOutput(imgID))
+ Repeat
+ x = 0
+ curColor = 0
+ Repeat
+ Box(x, psTop, psWidth, psHeight, psColors(curColor))
+ curColor = (curColor + 1) % numColors
+ x + psWidth
+ Until x >= width
+ psWidth + 1
+ horzBand + 1
+ psTop = horzBand * height / 4 ;move to the top of next horizontal band of image
+ Until psTop >= height
+ StopDrawing()
+ EndIf
+ ProcedureReturn imgID
+EndProcedure
+
+;Open a window and display the pinstripe
+If OpenWindow(0, 0, 0, 1, 1,"PureBasic Pinstripe", #PB_Window_Maximize | #PB_Window_SystemMenu)
+ Dim psColors(7)
+ psColors(0) = RGB($00, $00, $00) ;black
+ psColors(1) = RGB($FF, $00, $00) ;red
+ psColors(2) = RGB($00, $FF, $00) ;green
+ psColors(3) = RGB($00, $00, $FF) ;blue
+ psColors(4) = RGB($FF, $00, $FF) ;magenta
+ psColors(5) = RGB($00, $FF, $FF) ;cyan
+ psColors(6) = RGB($FF, $FF, $00) ;yellow
+ psColors(7) = RGB($FF, $FF, $FF) ;white
+
+ PicID = PinstripeDisplay(WindowWidth(0), WindowHeight(0), psColors())
+ ImageGadget(0, 0, 0, WindowWidth(0), WindowHeight(0), ImageID(PicID))
+ While WaitWindowEvent() <> #PB_Event_CloseWindow
+ Wend
+EndIf
diff --git a/Task/Colour-pinstripe-Display/XPL0/colour-pinstripe-display.xpl0 b/Task/Colour-pinstripe-Display/XPL0/colour-pinstripe-display.xpl0
new file mode 100644
index 0000000000..c310fe1eeb
--- /dev/null
+++ b/Task/Colour-pinstripe-Display/XPL0/colour-pinstripe-display.xpl0
@@ -0,0 +1,14 @@
+code ChIn=7, Point=41, SetVid=45;
+int X, Y, W, C;
+[SetVid($13); \set 320x200 graphics mode in 256 colors
+for Y:= 0 to 200-1 do \for all the scan lines...
+ [W:= Y/50 + 1; \width of stripe = 1, 2, 3, 4
+ C:= 0; \set color to black so first pixel becomes blue
+ for X:= 0 to 320-1 do \for all the pixels on a scan line...
+ [if rem(X/W) = 0 then C:= C+1; \cycle through all system colors
+ Point(X, Y, C); \set pixel at X,Y to color C
+ ];
+ ];
+X:= ChIn(1); \wait for keystroke
+SetVid(3); \restore normal text mode display
+]
diff --git a/Task/Combinations-with-repetitions/CoffeeScript/combinations-with-repetitions-1.coffee b/Task/Combinations-with-repetitions/CoffeeScript/combinations-with-repetitions-1.coffeescript
similarity index 100%
rename from Task/Combinations-with-repetitions/CoffeeScript/combinations-with-repetitions-1.coffee
rename to Task/Combinations-with-repetitions/CoffeeScript/combinations-with-repetitions-1.coffeescript
diff --git a/Task/Combinations-with-repetitions/CoffeeScript/combinations-with-repetitions-2.coffee b/Task/Combinations-with-repetitions/CoffeeScript/combinations-with-repetitions-2.coffeescript
similarity index 100%
rename from Task/Combinations-with-repetitions/CoffeeScript/combinations-with-repetitions-2.coffee
rename to Task/Combinations-with-repetitions/CoffeeScript/combinations-with-repetitions-2.coffeescript
diff --git a/Task/Combinations-with-repetitions/Mathematica/combinations-with-repetitions-1.mathematica b/Task/Combinations-with-repetitions/Mathematica/combinations-with-repetitions-1.math
similarity index 100%
rename from Task/Combinations-with-repetitions/Mathematica/combinations-with-repetitions-1.mathematica
rename to Task/Combinations-with-repetitions/Mathematica/combinations-with-repetitions-1.math
diff --git a/Task/Combinations-with-repetitions/Mathematica/combinations-with-repetitions-2.mathematica b/Task/Combinations-with-repetitions/Mathematica/combinations-with-repetitions-2.math
similarity index 100%
rename from Task/Combinations-with-repetitions/Mathematica/combinations-with-repetitions-2.mathematica
rename to Task/Combinations-with-repetitions/Mathematica/combinations-with-repetitions-2.math
diff --git a/Task/Combinations-with-repetitions/OCaml/combinations-with-repetitions-1.ocaml b/Task/Combinations-with-repetitions/OCaml/combinations-with-repetitions-1.ocaml
new file mode 100644
index 0000000000..f35f3a3c8a
--- /dev/null
+++ b/Task/Combinations-with-repetitions/OCaml/combinations-with-repetitions-1.ocaml
@@ -0,0 +1,7 @@
+let rec combs_with_rep k xxs =
+ match k, xxs with
+ | 0, _ -> [[]]
+ | _, [] -> []
+ | k, x::xs ->
+ List.map (fun ys -> x::ys) (combs_with_rep (k-1) xxs)
+ @ combs_with_rep k xs
diff --git a/Task/Combinations-with-repetitions/OCaml/combinations-with-repetitions-2.ocaml b/Task/Combinations-with-repetitions/OCaml/combinations-with-repetitions-2.ocaml
new file mode 100644
index 0000000000..ff7dacb731
--- /dev/null
+++ b/Task/Combinations-with-repetitions/OCaml/combinations-with-repetitions-2.ocaml
@@ -0,0 +1,7 @@
+# combs_with_rep 2 ["iced"; "jam"; "plain"] ;;
+- : string list list =
+[["iced"; "iced"]; ["iced"; "jam"]; ["iced"; "plain"]; ["jam"; "jam"];
+ ["jam"; "plain"]; ["plain"; "plain"]]
+
+# List.length (combs_with_rep 3 [1;2;3;4;5;6;7;8;9;10]) ;;
+- : int = 220
diff --git a/Task/Combinations-with-repetitions/PARI-GP/combinations-with-repetitions.pari b/Task/Combinations-with-repetitions/PARI-GP/combinations-with-repetitions.pari
new file mode 100644
index 0000000000..2cf378c014
--- /dev/null
+++ b/Task/Combinations-with-repetitions/PARI-GP/combinations-with-repetitions.pari
@@ -0,0 +1,9 @@
+ways(k,v,s=[])={
+ if(k==0,return([]));
+ if(k==1,return(vector(#v,i,concat(s,[v[i]]))));
+ if(#v==1,return(ways(k-1,v,concat(s,v))));
+ my(u=vecextract(v,2^#v-2));
+ concat(ways(k-1,v,concat(s,[v[1]])),ways(k,u,s))
+};
+xc(k,v)=binomial(#v+k-1,k);
+ways(2, ["iced","jam","plain"])
diff --git a/Task/Combinations-with-repetitions/Perl-6/combinations-with-repetitions.pl6 b/Task/Combinations-with-repetitions/Perl-6/combinations-with-repetitions.pl6
new file mode 100644
index 0000000000..7ac9bd306a
--- /dev/null
+++ b/Task/Combinations-with-repetitions/Perl-6/combinations-with-repetitions.pl6
@@ -0,0 +1,17 @@
+proto combs_with_rep (Int, @) {*}
+
+multi combs_with_rep (0, @) { [] }
+multi combs_with_rep ($, []) { () }
+multi combs_with_rep ($n, [$head, *@tail]) {
+ map( { [$head, @^others] },
+ combs_with_rep($n - 1, [$head, @tail]) ),
+ combs_with_rep($n, @tail);
+}
+
+.perl.say for combs_with_rep( 2, [< iced jam plain >] );
+
+# Extra credit:
+sub postfix: { [*] 1..$^n }
+sub combs_with_rep_count ($k, $n) { ($n + $k - 1)! / $k! / ($n - 1)! }
+
+say combs_with_rep_count( 3, 10 );
diff --git a/Task/Combinations-with-repetitions/PureBasic/combinations-with-repetitions.purebasic b/Task/Combinations-with-repetitions/PureBasic/combinations-with-repetitions.purebasic
new file mode 100644
index 0000000000..6df06870fb
--- /dev/null
+++ b/Task/Combinations-with-repetitions/PureBasic/combinations-with-repetitions.purebasic
@@ -0,0 +1,69 @@
+Procedure nextCombination(Array combIndex(1), elementCount)
+ ;combIndex() must be dimensioned to 'k' - 1, elementCount equals 'n' - 1
+ ;combination produced includes repetition of elements and is represented by the array combIndex()
+ Protected i, indexValue, combSize = ArraySize(combIndex()), curIndex
+
+ ;update indexes
+ curIndex = combSize
+ Repeat
+ combIndex(curIndex) + 1
+ If combIndex(curIndex) > elementCount
+
+ curIndex - 1
+ If curIndex < 0
+ For i = 0 To combSize
+ combIndex(i) = 0
+ Next
+ ProcedureReturn #False ;array reset to first combination
+ EndIf
+
+ ElseIf curIndex < combSize
+
+ indexValue = combIndex(curIndex)
+ Repeat
+ curIndex + 1
+ combIndex(curIndex) = indexValue
+ Until curIndex = combSize
+
+ EndIf
+ Until curIndex = combSize
+
+ ProcedureReturn #True ;array contains next combination
+EndProcedure
+
+Procedure.s display(Array combIndex(1), Array dougnut.s(1))
+ Protected i, elementCount = ArraySize(combIndex()), output.s = " "
+ For i = 0 To elementCount
+ output + dougnut(combIndex(i)) + " + "
+ Next
+ ProcedureReturn Left(output, Len(output) - 3)
+EndProcedure
+
+DataSection
+ Data.s "iced", "jam", "plain"
+EndDataSection
+
+If OpenConsole()
+ Define n = 3, k = 2, i, combinationCount
+ Dim combIndex(k - 1)
+ Dim dougnut.s(n - 1)
+ For i = 0 To n - 1: Read.s dougnut(i): Next
+
+ PrintN("Combinations of " + Str(k) + " dougnuts taken " + Str(n) + " at a time with repetitions.")
+ combinationCount = 0
+ Repeat
+ PrintN(display(combIndex(), dougnut()))
+ combinationCount + 1
+ Until Not nextCombination(combIndex(), n - 1)
+ PrintN("Total combination count: " + Str(combinationCount))
+
+ ;extra credit
+ n = 10: k = 3
+ Dim combIndex(k - 1)
+ combinationCount = 0
+ Repeat: combinationCount + 1: Until Not nextCombination(combIndex(), n - 1)
+ PrintN(#CRLF$ + "Ways to select " + Str(k) + " items from " + Str(n) + " types: " + Str(combinationCount))
+
+ Print(#CRLF$ + #CRLF$ + "Press ENTER to exit"): Input()
+ CloseConsole()
+EndIf
diff --git a/Task/Combinations-with-repetitions/UNIX-Shell/combinations-with-repetitions.sh b/Task/Combinations-with-repetitions/UNIX-Shell/combinations-with-repetitions.sh
new file mode 100644
index 0000000000..cebb3baa13
--- /dev/null
+++ b/Task/Combinations-with-repetitions/UNIX-Shell/combinations-with-repetitions.sh
@@ -0,0 +1,2 @@
+$ echo {iced,jam,plain}-{iced,jam,plain} # trick question???
+iced-iced iced-jam iced-plain jam-iced jam-jam jam-plain plain-iced plain-jam plain-plain
diff --git a/Task/Combinations-with-repetitions/Ursala/combinations-with-repetitions.ursala b/Task/Combinations-with-repetitions/Ursala/combinations-with-repetitions.ursala
new file mode 100644
index 0000000000..e208086433
--- /dev/null
+++ b/Task/Combinations-with-repetitions/Ursala/combinations-with-repetitions.ursala
@@ -0,0 +1,8 @@
+#import std
+#import nat
+
+cwr = ~&s+ -<&*+ ~&K0=>&^|DlS/~& iota # takes a set and a selection size
+
+#cast %gLSnX
+
+main = ^|(~&,length) cwr~~/(<'iced','jam','plain'>,2) ('1234567890',3)
diff --git a/Task/Combinations-with-repetitions/XPL0/combinations-with-repetitions.xpl0 b/Task/Combinations-with-repetitions/XPL0/combinations-with-repetitions.xpl0
new file mode 100644
index 0000000000..d1f384d89e
--- /dev/null
+++ b/Task/Combinations-with-repetitions/XPL0/combinations-with-repetitions.xpl0
@@ -0,0 +1,28 @@
+code ChOut=8, CrLf=9, IntOut=11, Text=12;
+int Count, Array(10);
+
+proc Combos(D, S, K, N, Names); \Generate all size K combinations of N objects
+int D, S, K, N, Names; \depth of recursion, starting value of N, etc.
+int I;
+[if D"
+for i = 1 to 8
+ html " "
+next i
+html " Rosetta Code – NetRexx Sample Output\n' -
+ || '
Create an HTML table
\n' -
+ || ''
+
+ return html
+
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- HTML footer
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+method htmlFooter() public static returns Rexx
+ html = '\n' -
+ || '\n' -
+ || ''
+ return html
+
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- Create the table
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+method htmlTable(rows, caption = '') public static returns Rexx
+ html = '\n'
+ if caption.length() > 0 then do
+ html = html -
+ || '
\n' -
+ || ''
+ return html
+
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- Add a row to the table
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+method htmlCsvTableRow(row, tag = 'td', sep = ' ', emptyCell = '.') public static returns Rexx
+ if tag = null then tag = 'td'
+ row = row.strip('t')
+ -- replace HTML special characters with symbol entities
+ row = row.changestr('&', '&') -- need to do this one first to avoid double translation
+ row = row.changestr('"', '"')
+ row = row.changestr("'", ''')
+ row = row.changestr('<', '<')
+ row = row.changestr('>', '>')
+ elmts = ''
+ elmts[0] = 0
+ e_ = 0
+ loop while row.length() > 0
+ parse row elmt (sep) row
+ if elmt == emptyCell then elmt = ' ' -- replace empy cells with non-breaking spaces
+ e_ = e_ + 1; elmts[0] = e_; elmts[e_] = elmt
+ end
+ html = '\n' -
+ || ''
+ loop e_ = 1 to elmts[0]
+ html = html -
+ || '<'tag'>'elmts[e_]''tag'>\n' -
+ || ''
+ end e_
+ html = html -
+ || ' \n' -
+ || ''
+ return html
diff --git a/Task/Create-an-HTML-table/NetRexx/create-an-html-table-2.netrexx b/Task/Create-an-HTML-table/NetRexx/create-an-html-table-2.netrexx
new file mode 100644
index 0000000000..a891a4fb6b
--- /dev/null
+++ b/Task/Create-an-HTML-table/NetRexx/create-an-html-table-2.netrexx
@@ -0,0 +1,68 @@
+
+
+
+
+
+Rosetta Code – NetRexx Sample Output
+
Create an HTML table
+
+
+
+
diff --git a/Task/Create-an-HTML-table/NewLISP/create-an-html-table.newlisp b/Task/Create-an-HTML-table/NewLISP/create-an-html-table.newlisp
new file mode 100644
index 0000000000..55f15061cd
--- /dev/null
+++ b/Task/Create-an-HTML-table/NewLISP/create-an-html-table.newlisp
@@ -0,0 +1,56 @@
+; file: html-table.lsp
+; url: http://rosettacode.org/wiki/Create_an_HTML_table
+; author: oofoe 2012-01-29
+
+(seed (time-of-day)) ; Initialize random number generator.
+
+; The "tab" variable tracks the HTML indent. "pad" composes a line
+; with the appropriate indent and a terminal newline.
+
+(setq tab 0)
+(define (pad text) (string (dup " " tab) text "\n"))
+
+; NewLISP allows almost any character in an identifier, so I can name
+; my functions after the HTML elements they invoke. This one formats a
+; single table data cell.
+
+(define (
+
+
+
+
+
+X
+Y
+Z
+
+
+1
+626
+128
+386
+
+
+2
+985
+568
+636
+
+
+3
+639
+622
+591
+
+
+4
+843
+268
+436
+
+
+
+5
+132
+526
+251
+ text) (pad (string " " text " ")))
+
+; "" will accept either a number of arguments, each one to be
+; formatted as a table cell, or a single list argument, which is
+; broken into table cells. For convenience, I format each list item
+; with the " " function so I can feed it raw lists.
+
+(define ( )
+ (let ((data (args))
+ (s (pad " ")))
+
+ (if (list? (data 0)) (setq data (data 0)))
+
+ (inc tab)
+ (dolist (el data) (extend s ( "))
+ s))
+
+; By defining " el)))
+ (dec tab)
+
+ (extend s (pad "