var x = ...;
@@ -24,11 +24,11 @@ In Factor this is a data flow pattern called bi.
[ foo ] [ bar ] bi
This says, "apply foo to the object at the top of the data stack, and apply bar to it as well." Rather than naming the values x, y, and z, we named the data flow pattern.
-Factor comes with many practical features, including a REPL, a self-contained help browser, an object inspector, a debugger/code walker, a deployment tool, editor integration for most popular text editors and IDEs, and introspection capabilities useful for developers. Factor has a fully-featured library, including things such as an HTTP server/client, bindings to graphics libraries and databases, a C FFI, a cross-platform GUI framework, on down to niche things like polynomial arithmetic. Factor features an object system that takes inspiration from [[Common Lisp]] and [[Self]].
+Factor comes with many practical features, including a [[Interactive programming (repl)#Factor|REPL]], a self-contained help browser, an object inspector, a debugger/code walker, a deployment tool, editor integration for most popular text editors and [[IDE]]s, and introspection capabilities useful for developers. Factor has a fully-featured library, including things such as an HTTP server/client, bindings to graphics libraries and databases, a [[C]] [[FFI]], a cross-platform [[GUI]] framework, on down to niche things like polynomial arithmetic. Factor features an object system that takes inspiration from [[Common Lisp]] and [[Self]].
Most code tends to be expressed naturally in a functional manner. Factor comes with combinators (higher-order functions) typically seen in functional languages, such as map, filter, reduce, and many more. Although most things can be done efficiently without mutation, Factor doesn't shy away from it when it's useful. Mutating words end with exclamation points (by convention). Factor provides lexical and dynamic variables which can make writing imperative code more natural, or allows one to clean up code that performs a lot of stack shuffling.
-One of Factor's greatest strengths is its ability to factor words into smaller words. Due to the nature of concatenative programming, this is typically a cut and paste job that can be done almost anywhere there is whitespace. Factor also has impressive metaprogramming capabilities. Since Factor is almost entirely written in Factor, there is full introspection support, including seamless access to Factor's parser, allowing one to define new syntax. Factor also offers Lisp-style macros, and in general, Factor code can be treated like a collection ([https://en.wikipedia.org/wiki/Homoiconicity homoiconicity]).
+One of Factor's greatest strengths is its ability to factor words into smaller words. Due to the nature of [[concatenative programming]], this is typically a cut and paste job that can be done almost anywhere there is whitespace. Factor also has impressive metaprogramming capabilities. Since Factor is almost entirely written in Factor, there is full introspection support, including seamless access to Factor's parser, allowing one to define new syntax. Factor also offers [[Lisp]]-style macros, and in general, Factor code can be treated like a collection ([https://en.wikipedia.org/wiki/Homoiconicity homoiconicity]).
==About Factor examples on Rosetta Code==
Most of the newer examples are meant to be copied and pasted directly into the listener (Factor's REPL) where they should run without issue. In order to deploy the examples to binaries or run them as scripts, you'll need to put them in a vocabulary (e.g. IN: myvocab and set a MAIN: word which acts as the entry point for the program. If an example doesn't run, it probably means that the example only works in an older version of Factor. Most of the time, this is because certain words have been changed without maintaining backwards compatibility (e.g. iota became in Factor 0.98).
@@ -37,10 +37,13 @@ For this reason, it is advised that examples use the works with tem
{{works with|Factor|0.98}} becomes
{{works with|Factor|0.98}}
+==Todo==
+[https://rosettacode.org/wiki/Tasks_not_implemented_in_Factor Tasks not implemented in Factor]
+
==Links==
-*[http://factorcode.org Factor programming language]
-*[http://planet.factorcode.org Planet Factor]
-*[http://concatenative.org/wiki/view/Factor Factor on concatenative.org]
+*[https://factorcode.org Factor programming language]
+*[https://planet.factorcode.org Planet Factor]
+*[https://concatenative.org/wiki/view/Factor Factor on concatenative.org]
*[https://en.wikipedia.org/wiki/Factor_(programming_language) Factor on Wikipedia]
{{Language programming paradigm|Concatenative}}
\ No newline at end of file
diff --git a/Lang/Factor/Brownian-tree b/Lang/Factor/Brownian-tree
deleted file mode 120000
index a93650256d..0000000000
--- a/Lang/Factor/Brownian-tree
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Brownian-tree/Factor
\ No newline at end of file
diff --git a/Lang/FreeBASIC/Brilliant-numbers b/Lang/FreeBASIC/Brilliant-numbers
new file mode 120000
index 0000000000..0a570d15e7
--- /dev/null
+++ b/Lang/FreeBASIC/Brilliant-numbers
@@ -0,0 +1 @@
+../../Task/Brilliant-numbers/FreeBASIC
\ No newline at end of file
diff --git a/Lang/FutureBasic/00-LANG.txt b/Lang/FutureBasic/00-LANG.txt
index e75d6d7fb0..d3dbdba2ec 100644
--- a/Lang/FutureBasic/00-LANG.txt
+++ b/Lang/FutureBasic/00-LANG.txt
@@ -4,7 +4,7 @@
|safety=safe
|parampass=both
|exec=machine
-|gc=no
+|gc=yes
|site=http://www.brilorsoftware.com/fb
|tags=futurebasic}}
{{language programming paradigm|procedural}}
@@ -84,4 +84,7 @@ FB has a small but dedicated group of programmers ranging from amateurs to comme
Also, there is an active and friendly support list where questions are welcomed and help readily available without a critical eye. Registration is required to post to the list:
-[http://www.brilorsoftware.com/fb/pages/support.html FB Support List]
\ No newline at end of file
+[http://www.brilorsoftware.com/fb/pages/support.html FB Support List]
+
+==Todo==
+* [https://rosettacode.org/wiki/Tasks_not_implemented_in_FutureBasic Tasks not implemented in FutureBasic]
\ No newline at end of file
diff --git a/Lang/FutureBasic/Almost-prime b/Lang/FutureBasic/Almost-prime
new file mode 120000
index 0000000000..705326c32e
--- /dev/null
+++ b/Lang/FutureBasic/Almost-prime
@@ -0,0 +1 @@
+../../Task/Almost-prime/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Animate-a-pendulum b/Lang/FutureBasic/Animate-a-pendulum
new file mode 120000
index 0000000000..57aff63b0a
--- /dev/null
+++ b/Lang/FutureBasic/Animate-a-pendulum
@@ -0,0 +1 @@
+../../Task/Animate-a-pendulum/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Append-a-record-to-the-end-of-a-text-file b/Lang/FutureBasic/Append-a-record-to-the-end-of-a-text-file
new file mode 120000
index 0000000000..d79f30e31e
--- /dev/null
+++ b/Lang/FutureBasic/Append-a-record-to-the-end-of-a-text-file
@@ -0,0 +1 @@
+../../Task/Append-a-record-to-the-end-of-a-text-file/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Arithmetic-evaluation b/Lang/FutureBasic/Arithmetic-evaluation
new file mode 120000
index 0000000000..46bc418d8a
--- /dev/null
+++ b/Lang/FutureBasic/Arithmetic-evaluation
@@ -0,0 +1 @@
+../../Task/Arithmetic-evaluation/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Atomic-updates b/Lang/FutureBasic/Atomic-updates
new file mode 120000
index 0000000000..29950a19fc
--- /dev/null
+++ b/Lang/FutureBasic/Atomic-updates
@@ -0,0 +1 @@
+../../Task/Atomic-updates/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Chaocipher b/Lang/FutureBasic/Chaocipher
new file mode 120000
index 0000000000..5bcaa1c111
--- /dev/null
+++ b/Lang/FutureBasic/Chaocipher
@@ -0,0 +1 @@
+../../Task/Chaocipher/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Chaos-game b/Lang/FutureBasic/Chaos-game
new file mode 120000
index 0000000000..d0c3bc3fb7
--- /dev/null
+++ b/Lang/FutureBasic/Chaos-game
@@ -0,0 +1 @@
+../../Task/Chaos-game/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Chowla-numbers b/Lang/FutureBasic/Chowla-numbers
new file mode 120000
index 0000000000..66ee109f11
--- /dev/null
+++ b/Lang/FutureBasic/Chowla-numbers
@@ -0,0 +1 @@
+../../Task/Chowla-numbers/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Circular-primes b/Lang/FutureBasic/Circular-primes
new file mode 120000
index 0000000000..4fc937418e
--- /dev/null
+++ b/Lang/FutureBasic/Circular-primes
@@ -0,0 +1 @@
+../../Task/Circular-primes/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Compound-data-type b/Lang/FutureBasic/Compound-data-type
new file mode 120000
index 0000000000..834bc2c53f
--- /dev/null
+++ b/Lang/FutureBasic/Compound-data-type
@@ -0,0 +1 @@
+../../Task/Compound-data-type/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Currency b/Lang/FutureBasic/Currency
new file mode 120000
index 0000000000..9dda5c7aa0
--- /dev/null
+++ b/Lang/FutureBasic/Currency
@@ -0,0 +1 @@
+../../Task/Currency/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Cyclops-numbers b/Lang/FutureBasic/Cyclops-numbers
new file mode 120000
index 0000000000..2a1c57a1c4
--- /dev/null
+++ b/Lang/FutureBasic/Cyclops-numbers
@@ -0,0 +1 @@
+../../Task/Cyclops-numbers/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Date-manipulation b/Lang/FutureBasic/Date-manipulation
new file mode 120000
index 0000000000..71c992ee3e
--- /dev/null
+++ b/Lang/FutureBasic/Date-manipulation
@@ -0,0 +1 @@
+../../Task/Date-manipulation/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Events b/Lang/FutureBasic/Events
new file mode 120000
index 0000000000..5cbcb61e7f
--- /dev/null
+++ b/Lang/FutureBasic/Events
@@ -0,0 +1 @@
+../../Task/Events/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/File-modification-time b/Lang/FutureBasic/File-modification-time
new file mode 120000
index 0000000000..48239bc690
--- /dev/null
+++ b/Lang/FutureBasic/File-modification-time
@@ -0,0 +1 @@
+../../Task/File-modification-time/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Fractal-tree b/Lang/FutureBasic/Fractal-tree
new file mode 120000
index 0000000000..92326e6aad
--- /dev/null
+++ b/Lang/FutureBasic/Fractal-tree
@@ -0,0 +1 @@
+../../Task/Fractal-tree/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/General-FizzBuzz b/Lang/FutureBasic/General-FizzBuzz
new file mode 120000
index 0000000000..3204cd192e
--- /dev/null
+++ b/Lang/FutureBasic/General-FizzBuzz
@@ -0,0 +1 @@
+../../Task/General-FizzBuzz/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Holidays-related-to-Easter b/Lang/FutureBasic/Holidays-related-to-Easter
new file mode 120000
index 0000000000..54bd05a9da
--- /dev/null
+++ b/Lang/FutureBasic/Holidays-related-to-Easter
@@ -0,0 +1 @@
+../../Task/Holidays-related-to-Easter/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Loop-over-multiple-arrays-simultaneously b/Lang/FutureBasic/Loop-over-multiple-arrays-simultaneously
new file mode 120000
index 0000000000..e1fe35f0cd
--- /dev/null
+++ b/Lang/FutureBasic/Loop-over-multiple-arrays-simultaneously
@@ -0,0 +1 @@
+../../Task/Loop-over-multiple-arrays-simultaneously/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Loops-Nested b/Lang/FutureBasic/Loops-Nested
new file mode 120000
index 0000000000..b9dae9f6dc
--- /dev/null
+++ b/Lang/FutureBasic/Loops-Nested
@@ -0,0 +1 @@
+../../Task/Loops-Nested/FutureBasic
\ No newline at end of file
diff --git a/Lang/FutureBasic/Permutations b/Lang/FutureBasic/Permutations
new file mode 120000
index 0000000000..f99b764905
--- /dev/null
+++ b/Lang/FutureBasic/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/FutureBasic
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Caesar-cipher b/Lang/GW-BASIC/Caesar-cipher
new file mode 120000
index 0000000000..5ed5d306c3
--- /dev/null
+++ b/Lang/GW-BASIC/Caesar-cipher
@@ -0,0 +1 @@
+../../Task/Caesar-cipher/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Cartesian-product-of-two-or-more-lists b/Lang/GW-BASIC/Cartesian-product-of-two-or-more-lists
new file mode 120000
index 0000000000..f0e7b36b95
--- /dev/null
+++ b/Lang/GW-BASIC/Cartesian-product-of-two-or-more-lists
@@ -0,0 +1 @@
+../../Task/Cartesian-product-of-two-or-more-lists/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Draw-a-rotating-cube b/Lang/GW-BASIC/Draw-a-rotating-cube
new file mode 120000
index 0000000000..4f262f6402
--- /dev/null
+++ b/Lang/GW-BASIC/Draw-a-rotating-cube
@@ -0,0 +1 @@
+../../Task/Draw-a-rotating-cube/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Gapful-numbers b/Lang/GW-BASIC/Gapful-numbers
new file mode 120000
index 0000000000..ca21514c7f
--- /dev/null
+++ b/Lang/GW-BASIC/Gapful-numbers
@@ -0,0 +1 @@
+../../Task/Gapful-numbers/GW-BASIC
\ No newline at end of file
diff --git a/Lang/Gambas/Almost-prime b/Lang/Gambas/Almost-prime
new file mode 120000
index 0000000000..454b65d205
--- /dev/null
+++ b/Lang/Gambas/Almost-prime
@@ -0,0 +1 @@
+../../Task/Almost-prime/Gambas
\ No newline at end of file
diff --git a/Lang/Gambas/Cartesian-product-of-two-or-more-lists b/Lang/Gambas/Cartesian-product-of-two-or-more-lists
new file mode 120000
index 0000000000..cc6198bb67
--- /dev/null
+++ b/Lang/Gambas/Cartesian-product-of-two-or-more-lists
@@ -0,0 +1 @@
+../../Task/Cartesian-product-of-two-or-more-lists/Gambas
\ No newline at end of file
diff --git a/Lang/Gambas/Gapful-numbers b/Lang/Gambas/Gapful-numbers
new file mode 120000
index 0000000000..fb27701171
--- /dev/null
+++ b/Lang/Gambas/Gapful-numbers
@@ -0,0 +1 @@
+../../Task/Gapful-numbers/Gambas
\ No newline at end of file
diff --git a/Lang/Harbour/Merge-and-aggregate-datasets b/Lang/Harbour/Merge-and-aggregate-datasets
new file mode 120000
index 0000000000..0afe8d92f4
--- /dev/null
+++ b/Lang/Harbour/Merge-and-aggregate-datasets
@@ -0,0 +1 @@
+../../Task/Merge-and-aggregate-datasets/Harbour
\ No newline at end of file
diff --git a/Lang/Hy/Rot-13 b/Lang/Hy/Rot-13
new file mode 120000
index 0000000000..cbb6bb644d
--- /dev/null
+++ b/Lang/Hy/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Hy
\ No newline at end of file
diff --git a/Lang/Insitux/Factorial b/Lang/Insitux/Factorial
new file mode 120000
index 0000000000..d0283b9e43
--- /dev/null
+++ b/Lang/Insitux/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/Insitux
\ No newline at end of file
diff --git a/Lang/J/00-LANG.txt b/Lang/J/00-LANG.txt
index 28ea05c233..f665b8789e 100644
--- a/Lang/J/00-LANG.txt
+++ b/Lang/J/00-LANG.txt
@@ -18,9 +18,9 @@
== The J language ==
-A frequent reaction when one first encounters a J program is often something along the lines of "that's cheating". The thought here is that the problem could not possibly be that simple, so -- instead -- the issue must be that J was specifically designed to tackle that problem.
+A frequent reaction when one first encounters a J program is often something along the lines of "that's cheating". The thought here is that the problem could not possibly be that simple, so — instead — the issue must be that J was specifically designed to tackle that problem.
-The flip side of this issue is that J is a dialect of APL -- a language whose development started in the 1950s and which was implemented in the early 1960s. And, originally, APL was designed as a language to describe computer architecture. The implementation as a programming language was motivated by its original successes in documenting computer hardware and instructions, and the relative simplicity of its concepts.
+The flip side of this issue is that J is a dialect of APL — a language whose development started in the 1950s and which was implemented in the early 1960s. And, originally, APL was designed as a language to describe computer architecture. The implementation as a programming language was motivated by its original successes in documenting computer hardware and instructions, and the relative simplicity of its concepts.
== Introduction ==
@@ -32,7 +32,7 @@ It is a functional language; creation and composition of functions is emphasized
Object-module and imperative techniques are supported, but not required.
-The J programming language was designed and developed by [http://en.wikipedia.org/wiki/Kenneth_E._Iverson Ken Iverson] and Roger Hui. It is a closely related successor to [[APL]], also by Iverson which itself was a successor to the notation Ken Iverson used to teach his classes about computers in the 1950s.
+The J programming language was designed and developed by [[wp:Ken Iverson]] and Roger Hui. It is a closely related successor to [[APL]], also by Iverson which itself was a successor to the notation Ken Iverson used to teach his classes about computers in the 1950s.
The notation draws heavily from concepts of [[wp:Abstract algebra|Abstract algebra]] and [[wp:Tensor calculus|Tensor calculus]], simplified for describing computer architecture and design to a pragmatic business audience. (The ideas themselves are simple, but for some reason the topics scare most teachers.)
@@ -48,12 +48,15 @@ If you want to understand how to experiment with alternative expressions you sho
For example, the phrase (+/ % #) finds the average of a list of numbers.
- (+/ % #) 1 2 3
-2
+
+ (+/ % #) 1 2 3
+2
+
To understand how this works, you might try working with simpler sentences and their variations.
- +/ 1 2 3
+
+ +/ 1 2 3
6
+/4 5 6
15
@@ -66,11 +69,12 @@ To understand how this works, you might try working with simpler sentences and t
15 % 3
5
(+/ % #) 4 5 6
-5
+5
+
By themselves, these experiments mean nothing, but if you know that +/ was finding the sum of a list and # was finding the length of a list and that % was dividing the two quantities (and looks almost like one of the old school division symbols) then these experiments might help confirm that you have understood things properly.
-== Some Perspective ==
+== Some perspective ==
If you wish to use J you will also have to learn a few grammatical rules (J's parser has [http://www.jsoftware.com/help/dictionary/dicte.htm 9 reduction rules] and "shift" and "accept" - the above examples use four of those rules). J verbs have two definitions - a single argument "monadic" definition and a two argument "dyadic" definition.
These terms are borrowed from music and are distinct from Haskell's use of the word "monad".
@@ -97,7 +101,6 @@ J would be considered dynamically typed because of the generality of its arrays.
Discussion of the goals of the J community on RC and general guidelines for presenting J solutions takes place at [[J/HouseStyle|House Style]].
-
== Jedi on RosettaCode ==
*[[User:Roger_Hui|Roger Hui]]: [[Special:Contributions/Roger_Hui|contributions]], [[j:User:RogerHui|J wiki]]
*[[User:TBH|Tracy Harms]]: [[Special:Contributions/TBH|contributions]], [[j:User:TracyHarms|J wiki]]
diff --git a/Lang/Java/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n- b/Lang/Java/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n-
new file mode 120000
index 0000000000..fabe8d433d
--- /dev/null
+++ b/Lang/Java/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n-
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n-/Java
\ No newline at end of file
diff --git a/Lang/Java/Elliptic-Curve-Digital-Signature-Algorithm b/Lang/Java/Elliptic-Curve-Digital-Signature-Algorithm
new file mode 120000
index 0000000000..9f3bbf0450
--- /dev/null
+++ b/Lang/Java/Elliptic-Curve-Digital-Signature-Algorithm
@@ -0,0 +1 @@
+../../Task/Elliptic-Curve-Digital-Signature-Algorithm/Java
\ No newline at end of file
diff --git a/Lang/Java/Function-prototype b/Lang/Java/Function-prototype
new file mode 120000
index 0000000000..423ec942b0
--- /dev/null
+++ b/Lang/Java/Function-prototype
@@ -0,0 +1 @@
+../../Task/Function-prototype/Java
\ No newline at end of file
diff --git a/Lang/Java/Graph-colouring b/Lang/Java/Graph-colouring
new file mode 120000
index 0000000000..7b2be318a5
--- /dev/null
+++ b/Lang/Java/Graph-colouring
@@ -0,0 +1 @@
+../../Task/Graph-colouring/Java
\ No newline at end of file
diff --git a/Lang/Java/Juggler-sequence b/Lang/Java/Juggler-sequence
new file mode 120000
index 0000000000..7ea49bb600
--- /dev/null
+++ b/Lang/Java/Juggler-sequence
@@ -0,0 +1 @@
+../../Task/Juggler-sequence/Java
\ No newline at end of file
diff --git a/Lang/Java/Keyboard-input-Obtain-a-Y-or-N-response b/Lang/Java/Keyboard-input-Obtain-a-Y-or-N-response
new file mode 120000
index 0000000000..f868aa73e5
--- /dev/null
+++ b/Lang/Java/Keyboard-input-Obtain-a-Y-or-N-response
@@ -0,0 +1 @@
+../../Task/Keyboard-input-Obtain-a-Y-or-N-response/Java
\ No newline at end of file
diff --git a/Lang/Java/Largest-proper-divisor-of-n b/Lang/Java/Largest-proper-divisor-of-n
new file mode 120000
index 0000000000..be351bae4e
--- /dev/null
+++ b/Lang/Java/Largest-proper-divisor-of-n
@@ -0,0 +1 @@
+../../Task/Largest-proper-divisor-of-n/Java
\ No newline at end of file
diff --git a/Lang/Java/Long-literals-with-continuations b/Lang/Java/Long-literals-with-continuations
new file mode 120000
index 0000000000..4f5a8cd857
--- /dev/null
+++ b/Lang/Java/Long-literals-with-continuations
@@ -0,0 +1 @@
+../../Task/Long-literals-with-continuations/Java
\ No newline at end of file
diff --git a/Lang/Java/Magic-constant b/Lang/Java/Magic-constant
new file mode 120000
index 0000000000..498e92cbfc
--- /dev/null
+++ b/Lang/Java/Magic-constant
@@ -0,0 +1 @@
+../../Task/Magic-constant/Java
\ No newline at end of file
diff --git a/Lang/Java/Mastermind b/Lang/Java/Mastermind
new file mode 120000
index 0000000000..b8c9d1fc85
--- /dev/null
+++ b/Lang/Java/Mastermind
@@ -0,0 +1 @@
+../../Task/Mastermind/Java
\ No newline at end of file
diff --git a/Lang/Java/Mayan-calendar b/Lang/Java/Mayan-calendar
new file mode 120000
index 0000000000..d3fe6a0e93
--- /dev/null
+++ b/Lang/Java/Mayan-calendar
@@ -0,0 +1 @@
+../../Task/Mayan-calendar/Java
\ No newline at end of file
diff --git a/Lang/Java/Memory-layout-of-a-data-structure b/Lang/Java/Memory-layout-of-a-data-structure
new file mode 120000
index 0000000000..4fb57c3700
--- /dev/null
+++ b/Lang/Java/Memory-layout-of-a-data-structure
@@ -0,0 +1 @@
+../../Task/Memory-layout-of-a-data-structure/Java
\ No newline at end of file
diff --git a/Lang/Java/Minkowski-question-mark-function b/Lang/Java/Minkowski-question-mark-function
new file mode 120000
index 0000000000..f96b47301b
--- /dev/null
+++ b/Lang/Java/Minkowski-question-mark-function
@@ -0,0 +1 @@
+../../Task/Minkowski-question-mark-function/Java
\ No newline at end of file
diff --git a/Lang/Java/Monads-List-monad b/Lang/Java/Monads-List-monad
new file mode 120000
index 0000000000..0d57cf03c6
--- /dev/null
+++ b/Lang/Java/Monads-List-monad
@@ -0,0 +1 @@
+../../Task/Monads-List-monad/Java
\ No newline at end of file
diff --git a/Lang/Java/Multi-base-primes b/Lang/Java/Multi-base-primes
new file mode 120000
index 0000000000..510123a7e5
--- /dev/null
+++ b/Lang/Java/Multi-base-primes
@@ -0,0 +1 @@
+../../Task/Multi-base-primes/Java
\ No newline at end of file
diff --git a/Lang/Java/Naming-conventions b/Lang/Java/Naming-conventions
new file mode 120000
index 0000000000..2b7717eb6a
--- /dev/null
+++ b/Lang/Java/Naming-conventions
@@ -0,0 +1 @@
+../../Task/Naming-conventions/Java
\ No newline at end of file
diff --git a/Lang/Java/Numbers-which-are-not-the-sum-of-distinct-squares b/Lang/Java/Numbers-which-are-not-the-sum-of-distinct-squares
new file mode 120000
index 0000000000..844a5207fe
--- /dev/null
+++ b/Lang/Java/Numbers-which-are-not-the-sum-of-distinct-squares
@@ -0,0 +1 @@
+../../Task/Numbers-which-are-not-the-sum-of-distinct-squares/Java
\ No newline at end of file
diff --git a/Lang/Java/Numbers-which-are-the-cube-roots-of-the-product-of-their-proper-divisors b/Lang/Java/Numbers-which-are-the-cube-roots-of-the-product-of-their-proper-divisors
new file mode 120000
index 0000000000..a346e320cb
--- /dev/null
+++ b/Lang/Java/Numbers-which-are-the-cube-roots-of-the-product-of-their-proper-divisors
@@ -0,0 +1 @@
+../../Task/Numbers-which-are-the-cube-roots-of-the-product-of-their-proper-divisors/Java
\ No newline at end of file
diff --git a/Lang/Java/OpenWebNet-password b/Lang/Java/OpenWebNet-password
new file mode 120000
index 0000000000..f4e7584bf9
--- /dev/null
+++ b/Lang/Java/OpenWebNet-password
@@ -0,0 +1 @@
+../../Task/OpenWebNet-password/Java
\ No newline at end of file
diff --git a/Lang/Java/Ormiston-triples b/Lang/Java/Ormiston-triples
new file mode 120000
index 0000000000..3714b37d99
--- /dev/null
+++ b/Lang/Java/Ormiston-triples
@@ -0,0 +1 @@
+../../Task/Ormiston-triples/Java
\ No newline at end of file
diff --git a/Lang/Java/Pell-numbers b/Lang/Java/Pell-numbers
new file mode 120000
index 0000000000..a33f29b042
--- /dev/null
+++ b/Lang/Java/Pell-numbers
@@ -0,0 +1 @@
+../../Task/Pell-numbers/Java
\ No newline at end of file
diff --git a/Lang/Java/Percolation-Bond-percolation b/Lang/Java/Percolation-Bond-percolation
new file mode 120000
index 0000000000..170a3b1f60
--- /dev/null
+++ b/Lang/Java/Percolation-Bond-percolation
@@ -0,0 +1 @@
+../../Task/Percolation-Bond-percolation/Java
\ No newline at end of file
diff --git a/Lang/Java/Periodic-table b/Lang/Java/Periodic-table
new file mode 120000
index 0000000000..c2d47a1f3a
--- /dev/null
+++ b/Lang/Java/Periodic-table
@@ -0,0 +1 @@
+../../Task/Periodic-table/Java
\ No newline at end of file
diff --git a/Lang/Java/Play-recorded-sounds b/Lang/Java/Play-recorded-sounds
new file mode 120000
index 0000000000..6cf5c344df
--- /dev/null
+++ b/Lang/Java/Play-recorded-sounds
@@ -0,0 +1 @@
+../../Task/Play-recorded-sounds/Java
\ No newline at end of file
diff --git a/Lang/Java/Pragmatic-directives b/Lang/Java/Pragmatic-directives
new file mode 120000
index 0000000000..e95bd1ac38
--- /dev/null
+++ b/Lang/Java/Pragmatic-directives
@@ -0,0 +1 @@
+../../Task/Pragmatic-directives/Java
\ No newline at end of file
diff --git a/Lang/Java/Prime-numbers-whose-neighboring-pairs-are-tetraprimes b/Lang/Java/Prime-numbers-whose-neighboring-pairs-are-tetraprimes
new file mode 120000
index 0000000000..e8365ce1a9
--- /dev/null
+++ b/Lang/Java/Prime-numbers-whose-neighboring-pairs-are-tetraprimes
@@ -0,0 +1 @@
+../../Task/Prime-numbers-whose-neighboring-pairs-are-tetraprimes/Java
\ No newline at end of file
diff --git a/Lang/Joy/Increment-a-numerical-string b/Lang/Joy/Increment-a-numerical-string
new file mode 120000
index 0000000000..94d9b8ca9e
--- /dev/null
+++ b/Lang/Joy/Increment-a-numerical-string
@@ -0,0 +1 @@
+../../Task/Increment-a-numerical-string/Joy
\ No newline at end of file
diff --git a/Lang/Joy/Show-the-epoch b/Lang/Joy/Show-the-epoch
new file mode 120000
index 0000000000..a4c9059659
--- /dev/null
+++ b/Lang/Joy/Show-the-epoch
@@ -0,0 +1 @@
+../../Task/Show-the-epoch/Joy
\ No newline at end of file
diff --git a/Lang/Jq/00-LANG.txt b/Lang/Jq/00-LANG.txt
index 7b9095bc61..70c9eddfba 100644
--- a/Lang/Jq/00-LANG.txt
+++ b/Lang/Jq/00-LANG.txt
@@ -6,6 +6,7 @@
jq was originally designed and developed by Stephen Dolan.
==jq Modules at rosettacode.org==
+* [[:Category:Jq/assert.jq|assert.jq]] - module to support assertions
* [[:Category:Jq/peg.jq|peg.jq]] - Parsing Expression Grammar foundations
==Todo==
diff --git a/Lang/Jq/Execute-Computer-Zero b/Lang/Jq/Execute-Computer-Zero
new file mode 120000
index 0000000000..6408355347
--- /dev/null
+++ b/Lang/Jq/Execute-Computer-Zero
@@ -0,0 +1 @@
+../../Task/Execute-Computer-Zero/Jq
\ No newline at end of file
diff --git a/Lang/Jq/Steffensens-method b/Lang/Jq/Steffensens-method
new file mode 120000
index 0000000000..7afdaa6d2a
--- /dev/null
+++ b/Lang/Jq/Steffensens-method
@@ -0,0 +1 @@
+../../Task/Steffensens-method/Jq
\ No newline at end of file
diff --git a/Lang/Klingphix/00-LANG.txt b/Lang/Klingphix/00-LANG.txt
index ea0e38fc4d..fbf5bc613e 100644
--- a/Lang/Klingphix/00-LANG.txt
+++ b/Lang/Klingphix/00-LANG.txt
@@ -2,6 +2,7 @@
|Klingphix
|hopl=no
}}
+{{language programming paradigm|concatenative}}
Klingphix is a pure interpreter developed in Phix (http://phix.x10.mx/). It is based on the use of a stack for the passage of data between words (the equivalent of traditional procedures) and uses reverse Polish notation, being procedural and imperative. The stack have global scope, and there is only one word separator sign: white space.
Since Phix is interpreted, although fast, it does not allow Klingphix (also an interpreter) to be fast. However, it's useful for making small and, above all, stimulating and fun programs... at least for me (which, after all, is what I wanted it for).
diff --git a/Lang/Koka/00-LANG.txt b/Lang/Koka/00-LANG.txt
index 3ce2998509..96ea39de13 100644
--- a/Lang/Koka/00-LANG.txt
+++ b/Lang/Koka/00-LANG.txt
@@ -1,5 +1,22 @@
-{{stub}}
+'''Koka Compilers'''
+
+Releases:
+- https://github.com/koka-lang/koka/releases
+
+Latest: v2.4.2
+
+'''Language Reference'''
+
+https://koka-lang.github.io/koka/doc/book.html
+
+'''Tasks to Implement in Koka'''
+
+Recommend implementing examples in both a C like 'effectful' way as well as in a Haskell or pure functional way.
+
+https://rosettacode.org/wiki/Tasks_not_implemented_in_Koka
+
{{language
|Koka
|hopl=no
-}}
\ No newline at end of file
+}}
+{{implementation|Koka}}
\ No newline at end of file
diff --git a/Lang/Koka/100-doors b/Lang/Koka/100-doors
new file mode 120000
index 0000000000..56e3644435
--- /dev/null
+++ b/Lang/Koka/100-doors
@@ -0,0 +1 @@
+../../Task/100-doors/Koka
\ No newline at end of file
diff --git a/Lang/Koka/100-prisoners b/Lang/Koka/100-prisoners
new file mode 120000
index 0000000000..5c30cc2baf
--- /dev/null
+++ b/Lang/Koka/100-prisoners
@@ -0,0 +1 @@
+../../Task/100-prisoners/Koka
\ No newline at end of file
diff --git a/Lang/Koka/15-puzzle-game b/Lang/Koka/15-puzzle-game
new file mode 120000
index 0000000000..ab830a7c9e
--- /dev/null
+++ b/Lang/Koka/15-puzzle-game
@@ -0,0 +1 @@
+../../Task/15-puzzle-game/Koka
\ No newline at end of file
diff --git a/Lang/Koka/21-game b/Lang/Koka/21-game
new file mode 120000
index 0000000000..f2e87bc36c
--- /dev/null
+++ b/Lang/Koka/21-game
@@ -0,0 +1 @@
+../../Task/21-game/Koka
\ No newline at end of file
diff --git a/Lang/Koka/24-game b/Lang/Koka/24-game
new file mode 120000
index 0000000000..b050a3a6fb
--- /dev/null
+++ b/Lang/Koka/24-game
@@ -0,0 +1 @@
+../../Task/24-game/Koka
\ No newline at end of file
diff --git a/Lang/Koka/4-rings-or-4-squares-puzzle b/Lang/Koka/4-rings-or-4-squares-puzzle
new file mode 120000
index 0000000000..df29a7a5d2
--- /dev/null
+++ b/Lang/Koka/4-rings-or-4-squares-puzzle
@@ -0,0 +1 @@
+../../Task/4-rings-or-4-squares-puzzle/Koka
\ No newline at end of file
diff --git a/Lang/Koka/ABC-problem b/Lang/Koka/ABC-problem
new file mode 120000
index 0000000000..b43592a1ee
--- /dev/null
+++ b/Lang/Koka/ABC-problem
@@ -0,0 +1 @@
+../../Task/ABC-problem/Koka
\ No newline at end of file
diff --git a/Lang/Koka/Balanced-ternary b/Lang/Koka/Balanced-ternary
new file mode 120000
index 0000000000..3a3ced0e06
--- /dev/null
+++ b/Lang/Koka/Balanced-ternary
@@ -0,0 +1 @@
+../../Task/Balanced-ternary/Koka
\ No newline at end of file
diff --git a/Lang/Koka/Caesar-cipher b/Lang/Koka/Caesar-cipher
new file mode 120000
index 0000000000..b653da9ef3
--- /dev/null
+++ b/Lang/Koka/Caesar-cipher
@@ -0,0 +1 @@
+../../Task/Caesar-cipher/Koka
\ No newline at end of file
diff --git a/Lang/Koka/Day-of-the-week b/Lang/Koka/Day-of-the-week
new file mode 120000
index 0000000000..bb89b6889d
--- /dev/null
+++ b/Lang/Koka/Day-of-the-week
@@ -0,0 +1 @@
+../../Task/Day-of-the-week/Koka
\ No newline at end of file
diff --git a/Lang/Ksh/00-LANG.txt b/Lang/Ksh/00-LANG.txt
index 1c09770f9a..9aee7ac5ec 100644
--- a/Lang/Ksh/00-LANG.txt
+++ b/Lang/Ksh/00-LANG.txt
@@ -1 +1,3 @@
-{{stub}}{{language|Ksh}}
\ No newline at end of file
+{{language|ksh}}
+Task solutions which might use extensions of the [[Korn Shell]]. See [[UNIX Shell]] for further solutions.
+{{stub}}
\ No newline at end of file
diff --git a/Lang/Ksh/Bitmap-Bresenhams-line-algorithm b/Lang/Ksh/Bitmap-Bresenhams-line-algorithm
new file mode 120000
index 0000000000..ca7e27f08f
--- /dev/null
+++ b/Lang/Ksh/Bitmap-Bresenhams-line-algorithm
@@ -0,0 +1 @@
+../../Task/Bitmap-Bresenhams-line-algorithm/Ksh
\ No newline at end of file
diff --git a/Lang/Ksh/Loops-For b/Lang/Ksh/Loops-For
new file mode 120000
index 0000000000..0cadf15a58
--- /dev/null
+++ b/Lang/Ksh/Loops-For
@@ -0,0 +1 @@
+../../Task/Loops-For/Ksh
\ No newline at end of file
diff --git a/Lang/Ksh/Loops-For-with-a-specified-step b/Lang/Ksh/Loops-For-with-a-specified-step
new file mode 120000
index 0000000000..610f4f3d71
--- /dev/null
+++ b/Lang/Ksh/Loops-For-with-a-specified-step
@@ -0,0 +1 @@
+../../Task/Loops-For-with-a-specified-step/Ksh
\ No newline at end of file
diff --git a/Lang/Ksh/Temperature-conversion b/Lang/Ksh/Temperature-conversion
new file mode 120000
index 0000000000..8dd7b42716
--- /dev/null
+++ b/Lang/Ksh/Temperature-conversion
@@ -0,0 +1 @@
+../../Task/Temperature-conversion/Ksh
\ No newline at end of file
diff --git a/Lang/LDPL/00-LANG.txt b/Lang/LDPL/00-LANG.txt
index 4e0d7e8a79..4d9ee594d6 100644
--- a/Lang/LDPL/00-LANG.txt
+++ b/Lang/LDPL/00-LANG.txt
@@ -1,5 +1,6 @@
{{language|LDPL
|exec=machine
+|site=https://www.ldpl-lang.org
|strength=strong
|checking=static
|safety=strong
@@ -12,5 +13,8 @@
}}
'''LDPL''', an acronym for 'Lartu's Definitive Programming Language' is a programming language created in 2019, designed from the ground up to be excessively expressive, fast, readable and easy to learn. It mimics English in the likeness of older languages like [[COBOL]]. It's highly portable and runs on a plethora of different architectures and operating systems including AMD-64, ARMv8 and PowerPC Linux and Mac OS X. It is primarily an imperative, structured language. It even supports UTF-8 out of the box.
+=== Todo ===
+[[Tasks not implemented in LDPL]]
+
{{language programming paradigm|Imperative}}
{{language programming paradigm|Object-oriented}}
\ No newline at end of file
diff --git a/Lang/LDPL/Arithmetic-Integer b/Lang/LDPL/Arithmetic-Integer
new file mode 120000
index 0000000000..440cce50f4
--- /dev/null
+++ b/Lang/LDPL/Arithmetic-Integer
@@ -0,0 +1 @@
+../../Task/Arithmetic-Integer/LDPL
\ No newline at end of file
diff --git a/Lang/LDPL/Array-concatenation b/Lang/LDPL/Array-concatenation
new file mode 120000
index 0000000000..6b1df3d83d
--- /dev/null
+++ b/Lang/LDPL/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/LDPL
\ No newline at end of file
diff --git a/Lang/LDPL/Array-length b/Lang/LDPL/Array-length
new file mode 120000
index 0000000000..538a5d75d6
--- /dev/null
+++ b/Lang/LDPL/Array-length
@@ -0,0 +1 @@
+../../Task/Array-length/LDPL
\ No newline at end of file
diff --git a/Lang/LDPL/Arrays b/Lang/LDPL/Arrays
new file mode 120000
index 0000000000..9e6675078a
--- /dev/null
+++ b/Lang/LDPL/Arrays
@@ -0,0 +1 @@
+../../Task/Arrays/LDPL
\ No newline at end of file
diff --git a/Lang/LDPL/Factorial b/Lang/LDPL/Factorial
new file mode 120000
index 0000000000..52bc7b61ce
--- /dev/null
+++ b/Lang/LDPL/Factorial
@@ -0,0 +1 @@
+../../Task/Factorial/LDPL
\ No newline at end of file
diff --git a/Lang/LDPL/FizzBuzz b/Lang/LDPL/FizzBuzz
new file mode 120000
index 0000000000..b6b91003b4
--- /dev/null
+++ b/Lang/LDPL/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/LDPL
\ No newline at end of file
diff --git a/Lang/LDPL/Function-definition b/Lang/LDPL/Function-definition
new file mode 120000
index 0000000000..1365757e18
--- /dev/null
+++ b/Lang/LDPL/Function-definition
@@ -0,0 +1 @@
+../../Task/Function-definition/LDPL
\ No newline at end of file
diff --git a/Lang/LDPL/Greatest-element-of-a-list b/Lang/LDPL/Greatest-element-of-a-list
new file mode 120000
index 0000000000..7a44da7870
--- /dev/null
+++ b/Lang/LDPL/Greatest-element-of-a-list
@@ -0,0 +1 @@
+../../Task/Greatest-element-of-a-list/LDPL
\ No newline at end of file
diff --git a/Lang/LDPL/Loops-Continue b/Lang/LDPL/Loops-Continue
new file mode 120000
index 0000000000..77e5cdca05
--- /dev/null
+++ b/Lang/LDPL/Loops-Continue
@@ -0,0 +1 @@
+../../Task/Loops-Continue/LDPL
\ No newline at end of file
diff --git a/Lang/LDPL/Loops-Downward-for b/Lang/LDPL/Loops-Downward-for
new file mode 120000
index 0000000000..73099917aa
--- /dev/null
+++ b/Lang/LDPL/Loops-Downward-for
@@ -0,0 +1 @@
+../../Task/Loops-Downward-for/LDPL
\ No newline at end of file
diff --git a/Lang/LDPL/Loops-For b/Lang/LDPL/Loops-For
new file mode 120000
index 0000000000..2a1f66736b
--- /dev/null
+++ b/Lang/LDPL/Loops-For
@@ -0,0 +1 @@
+../../Task/Loops-For/LDPL
\ No newline at end of file
diff --git a/Lang/LDPL/Loops-For-with-a-specified-step b/Lang/LDPL/Loops-For-with-a-specified-step
new file mode 120000
index 0000000000..3485b472f3
--- /dev/null
+++ b/Lang/LDPL/Loops-For-with-a-specified-step
@@ -0,0 +1 @@
+../../Task/Loops-For-with-a-specified-step/LDPL
\ No newline at end of file
diff --git a/Lang/LDPL/Loops-Foreach b/Lang/LDPL/Loops-Foreach
new file mode 120000
index 0000000000..3510c9edd8
--- /dev/null
+++ b/Lang/LDPL/Loops-Foreach
@@ -0,0 +1 @@
+../../Task/Loops-Foreach/LDPL
\ No newline at end of file
diff --git a/Lang/LDPL/Loops-Infinite b/Lang/LDPL/Loops-Infinite
new file mode 120000
index 0000000000..b87050e4b0
--- /dev/null
+++ b/Lang/LDPL/Loops-Infinite
@@ -0,0 +1 @@
+../../Task/Loops-Infinite/LDPL
\ No newline at end of file
diff --git a/Lang/LDPL/Loops-While b/Lang/LDPL/Loops-While
new file mode 120000
index 0000000000..37e3c876b1
--- /dev/null
+++ b/Lang/LDPL/Loops-While
@@ -0,0 +1 @@
+../../Task/Loops-While/LDPL
\ No newline at end of file
diff --git a/Lang/LDPL/Munchausen-numbers b/Lang/LDPL/Munchausen-numbers
new file mode 120000
index 0000000000..1d1a014199
--- /dev/null
+++ b/Lang/LDPL/Munchausen-numbers
@@ -0,0 +1 @@
+../../Task/Munchausen-numbers/LDPL
\ No newline at end of file
diff --git a/Lang/LDPL/RPG-attributes-generator b/Lang/LDPL/RPG-attributes-generator
new file mode 120000
index 0000000000..f14208790c
--- /dev/null
+++ b/Lang/LDPL/RPG-attributes-generator
@@ -0,0 +1 @@
+../../Task/RPG-attributes-generator/LDPL
\ No newline at end of file
diff --git a/Lang/LDPL/String-append b/Lang/LDPL/String-append
new file mode 120000
index 0000000000..ac42082250
--- /dev/null
+++ b/Lang/LDPL/String-append
@@ -0,0 +1 @@
+../../Task/String-append/LDPL
\ No newline at end of file
diff --git a/Lang/LDPL/User-input-Text b/Lang/LDPL/User-input-Text
new file mode 120000
index 0000000000..79158db8c7
--- /dev/null
+++ b/Lang/LDPL/User-input-Text
@@ -0,0 +1 @@
+../../Task/User-input-Text/LDPL
\ No newline at end of file
diff --git a/Lang/LDPL/Zero-to-the-zero-power b/Lang/LDPL/Zero-to-the-zero-power
new file mode 120000
index 0000000000..81fb0869b1
--- /dev/null
+++ b/Lang/LDPL/Zero-to-the-zero-power
@@ -0,0 +1 @@
+../../Task/Zero-to-the-zero-power/LDPL
\ No newline at end of file
diff --git a/Lang/Lua/Magic-constant b/Lang/Lua/Magic-constant
new file mode 120000
index 0000000000..270c0b2185
--- /dev/null
+++ b/Lang/Lua/Magic-constant
@@ -0,0 +1 @@
+../../Task/Magic-constant/Lua
\ No newline at end of file
diff --git a/Lang/MAD/Duffinian-numbers b/Lang/MAD/Duffinian-numbers
new file mode 120000
index 0000000000..944339bfac
--- /dev/null
+++ b/Lang/MAD/Duffinian-numbers
@@ -0,0 +1 @@
+../../Task/Duffinian-numbers/MAD
\ No newline at end of file
diff --git a/Lang/MSX-Basic/Draw-a-rotating-cube b/Lang/MSX-Basic/Draw-a-rotating-cube
new file mode 120000
index 0000000000..a516f5f30a
--- /dev/null
+++ b/Lang/MSX-Basic/Draw-a-rotating-cube
@@ -0,0 +1 @@
+../../Task/Draw-a-rotating-cube/MSX-Basic
\ No newline at end of file
diff --git a/Lang/MSX-Basic/Feigenbaum-constant-calculation b/Lang/MSX-Basic/Feigenbaum-constant-calculation
new file mode 120000
index 0000000000..3ad02bb978
--- /dev/null
+++ b/Lang/MSX-Basic/Feigenbaum-constant-calculation
@@ -0,0 +1 @@
+../../Task/Feigenbaum-constant-calculation/MSX-Basic
\ No newline at end of file
diff --git a/Lang/MSX-Basic/Greatest-element-of-a-list b/Lang/MSX-Basic/Greatest-element-of-a-list
new file mode 120000
index 0000000000..4e6f13d81a
--- /dev/null
+++ b/Lang/MSX-Basic/Greatest-element-of-a-list
@@ -0,0 +1 @@
+../../Task/Greatest-element-of-a-list/MSX-Basic
\ No newline at end of file
diff --git a/Lang/Maxima/AKS-test-for-primes b/Lang/Maxima/AKS-test-for-primes
new file mode 120000
index 0000000000..75ba94a797
--- /dev/null
+++ b/Lang/Maxima/AKS-test-for-primes
@@ -0,0 +1 @@
+../../Task/AKS-test-for-primes/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Abundant-deficient-and-perfect-number-classifications b/Lang/Maxima/Abundant-deficient-and-perfect-number-classifications
new file mode 120000
index 0000000000..35b938b7db
--- /dev/null
+++ b/Lang/Maxima/Abundant-deficient-and-perfect-number-classifications
@@ -0,0 +1 @@
+../../Task/Abundant-deficient-and-perfect-number-classifications/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Bell-numbers b/Lang/Maxima/Bell-numbers
new file mode 120000
index 0000000000..ab54be9465
--- /dev/null
+++ b/Lang/Maxima/Bell-numbers
@@ -0,0 +1 @@
+../../Task/Bell-numbers/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Bernoulli-numbers b/Lang/Maxima/Bernoulli-numbers
new file mode 120000
index 0000000000..87a17d617e
--- /dev/null
+++ b/Lang/Maxima/Bernoulli-numbers
@@ -0,0 +1 @@
+../../Task/Bernoulli-numbers/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Calkin-Wilf-sequence b/Lang/Maxima/Calkin-Wilf-sequence
new file mode 120000
index 0000000000..2eefafc1fa
--- /dev/null
+++ b/Lang/Maxima/Calkin-Wilf-sequence
@@ -0,0 +1 @@
+../../Task/Calkin-Wilf-sequence/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Cartesian-product-of-two-or-more-lists b/Lang/Maxima/Cartesian-product-of-two-or-more-lists
new file mode 120000
index 0000000000..b2b9530e71
--- /dev/null
+++ b/Lang/Maxima/Cartesian-product-of-two-or-more-lists
@@ -0,0 +1 @@
+../../Task/Cartesian-product-of-two-or-more-lists/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Chinese-remainder-theorem b/Lang/Maxima/Chinese-remainder-theorem
new file mode 120000
index 0000000000..94d53961f6
--- /dev/null
+++ b/Lang/Maxima/Chinese-remainder-theorem
@@ -0,0 +1 @@
+../../Task/Chinese-remainder-theorem/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Deceptive-numbers b/Lang/Maxima/Deceptive-numbers
new file mode 120000
index 0000000000..836886a303
--- /dev/null
+++ b/Lang/Maxima/Deceptive-numbers
@@ -0,0 +1 @@
+../../Task/Deceptive-numbers/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Ethiopian-multiplication b/Lang/Maxima/Ethiopian-multiplication
new file mode 120000
index 0000000000..f2d18b7a07
--- /dev/null
+++ b/Lang/Maxima/Ethiopian-multiplication
@@ -0,0 +1 @@
+../../Task/Ethiopian-multiplication/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Faulhabers-triangle b/Lang/Maxima/Faulhabers-triangle
new file mode 120000
index 0000000000..55eece562f
--- /dev/null
+++ b/Lang/Maxima/Faulhabers-triangle
@@ -0,0 +1 @@
+../../Task/Faulhabers-triangle/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Happy-numbers b/Lang/Maxima/Happy-numbers
new file mode 120000
index 0000000000..af5ac460fd
--- /dev/null
+++ b/Lang/Maxima/Happy-numbers
@@ -0,0 +1 @@
+../../Task/Happy-numbers/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Hofstadter-Q-sequence b/Lang/Maxima/Hofstadter-Q-sequence
new file mode 120000
index 0000000000..31923f99df
--- /dev/null
+++ b/Lang/Maxima/Hofstadter-Q-sequence
@@ -0,0 +1 @@
+../../Task/Hofstadter-Q-sequence/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Increment-a-numerical-string b/Lang/Maxima/Increment-a-numerical-string
new file mode 120000
index 0000000000..671d5c54ad
--- /dev/null
+++ b/Lang/Maxima/Increment-a-numerical-string
@@ -0,0 +1 @@
+../../Task/Increment-a-numerical-string/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Josephus-problem b/Lang/Maxima/Josephus-problem
new file mode 120000
index 0000000000..4887caf946
--- /dev/null
+++ b/Lang/Maxima/Josephus-problem
@@ -0,0 +1 @@
+../../Task/Josephus-problem/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Kronecker-product b/Lang/Maxima/Kronecker-product
new file mode 120000
index 0000000000..ee02e3dc41
--- /dev/null
+++ b/Lang/Maxima/Kronecker-product
@@ -0,0 +1 @@
+../../Task/Kronecker-product/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Kronecker-product-based-fractals b/Lang/Maxima/Kronecker-product-based-fractals
new file mode 120000
index 0000000000..cfdc702c81
--- /dev/null
+++ b/Lang/Maxima/Kronecker-product-based-fractals
@@ -0,0 +1 @@
+../../Task/Kronecker-product-based-fractals/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Largest-int-from-concatenated-ints b/Lang/Maxima/Largest-int-from-concatenated-ints
new file mode 120000
index 0000000000..4581d0f440
--- /dev/null
+++ b/Lang/Maxima/Largest-int-from-concatenated-ints
@@ -0,0 +1 @@
+../../Task/Largest-int-from-concatenated-ints/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Leonardo-numbers b/Lang/Maxima/Leonardo-numbers
new file mode 120000
index 0000000000..c9a9ffcdf0
--- /dev/null
+++ b/Lang/Maxima/Leonardo-numbers
@@ -0,0 +1 @@
+../../Task/Leonardo-numbers/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Loop-over-multiple-arrays-simultaneously b/Lang/Maxima/Loop-over-multiple-arrays-simultaneously
new file mode 120000
index 0000000000..291296bc66
--- /dev/null
+++ b/Lang/Maxima/Loop-over-multiple-arrays-simultaneously
@@ -0,0 +1 @@
+../../Task/Loop-over-multiple-arrays-simultaneously/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Pascal-matrix-generation b/Lang/Maxima/Pascal-matrix-generation
new file mode 120000
index 0000000000..b949b8eac6
--- /dev/null
+++ b/Lang/Maxima/Pascal-matrix-generation
@@ -0,0 +1 @@
+../../Task/Pascal-matrix-generation/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Pythagorean-triples b/Lang/Maxima/Pythagorean-triples
new file mode 120000
index 0000000000..cc3bfe7ae5
--- /dev/null
+++ b/Lang/Maxima/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Sorting-algorithms-Bubble-sort b/Lang/Maxima/Sorting-algorithms-Bubble-sort
new file mode 120000
index 0000000000..1aec58a2e9
--- /dev/null
+++ b/Lang/Maxima/Sorting-algorithms-Bubble-sort
@@ -0,0 +1 @@
+../../Task/Sorting-algorithms-Bubble-sort/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Twin-primes b/Lang/Maxima/Twin-primes
new file mode 120000
index 0000000000..2a0b6645ce
--- /dev/null
+++ b/Lang/Maxima/Twin-primes
@@ -0,0 +1 @@
+../../Task/Twin-primes/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Ulam-spiral-for-primes- b/Lang/Maxima/Ulam-spiral-for-primes-
new file mode 120000
index 0000000000..77dd683966
--- /dev/null
+++ b/Lang/Maxima/Ulam-spiral-for-primes-
@@ -0,0 +1 @@
+../../Task/Ulam-spiral-for-primes-/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/User-input-Text b/Lang/Maxima/User-input-Text
new file mode 120000
index 0000000000..94f222bde9
--- /dev/null
+++ b/Lang/Maxima/User-input-Text
@@ -0,0 +1 @@
+../../Task/User-input-Text/Maxima
\ No newline at end of file
diff --git a/Lang/Minimal-BASIC/Greatest-element-of-a-list b/Lang/Minimal-BASIC/Greatest-element-of-a-list
new file mode 120000
index 0000000000..1cbb3bcf31
--- /dev/null
+++ b/Lang/Minimal-BASIC/Greatest-element-of-a-list
@@ -0,0 +1 @@
+../../Task/Greatest-element-of-a-list/Minimal-BASIC
\ No newline at end of file
diff --git a/Lang/Minimal-BASIC/McNuggets-problem b/Lang/Minimal-BASIC/McNuggets-problem
new file mode 120000
index 0000000000..5361c29284
--- /dev/null
+++ b/Lang/Minimal-BASIC/McNuggets-problem
@@ -0,0 +1 @@
+../../Task/McNuggets-problem/Minimal-BASIC
\ No newline at end of file
diff --git a/Lang/Modula-2/Brazilian-numbers b/Lang/Modula-2/Brazilian-numbers
new file mode 120000
index 0000000000..f88e2e81be
--- /dev/null
+++ b/Lang/Modula-2/Brazilian-numbers
@@ -0,0 +1 @@
+../../Task/Brazilian-numbers/Modula-2
\ No newline at end of file
diff --git a/Lang/Modula-2/Duffinian-numbers b/Lang/Modula-2/Duffinian-numbers
new file mode 120000
index 0000000000..9ddda77a6d
--- /dev/null
+++ b/Lang/Modula-2/Duffinian-numbers
@@ -0,0 +1 @@
+../../Task/Duffinian-numbers/Modula-2
\ No newline at end of file
diff --git a/Lang/Modula-2/Magnanimous-numbers b/Lang/Modula-2/Magnanimous-numbers
new file mode 120000
index 0000000000..608ec56eb7
--- /dev/null
+++ b/Lang/Modula-2/Magnanimous-numbers
@@ -0,0 +1 @@
+../../Task/Magnanimous-numbers/Modula-2
\ No newline at end of file
diff --git a/Lang/Mojo/00-LANG.txt b/Lang/Mojo/00-LANG.txt
new file mode 100644
index 0000000000..a9a1e8e0cc
--- /dev/null
+++ b/Lang/Mojo/00-LANG.txt
@@ -0,0 +1 @@
+{{stub}}{{language|Mojo}}
\ No newline at end of file
diff --git a/Lang/Mojo/00-META.yaml b/Lang/Mojo/00-META.yaml
new file mode 100644
index 0000000000..49d12734d2
--- /dev/null
+++ b/Lang/Mojo/00-META.yaml
@@ -0,0 +1,2 @@
+---
+from: http://rosettacode.org/wiki/Category:Mojo
diff --git a/Lang/Nascom-BASIC/Brazilian-numbers b/Lang/Nascom-BASIC/Brazilian-numbers
new file mode 120000
index 0000000000..c54ac400c0
--- /dev/null
+++ b/Lang/Nascom-BASIC/Brazilian-numbers
@@ -0,0 +1 @@
+../../Task/Brazilian-numbers/Nascom-BASIC
\ No newline at end of file
diff --git a/Lang/Nim/Own-digits-power-sum b/Lang/Nim/Own-digits-power-sum
new file mode 120000
index 0000000000..584b154541
--- /dev/null
+++ b/Lang/Nim/Own-digits-power-sum
@@ -0,0 +1 @@
+../../Task/Own-digits-power-sum/Nim
\ No newline at end of file
diff --git a/Lang/Odin/Almost-prime b/Lang/Odin/Almost-prime
new file mode 120000
index 0000000000..f84f8453de
--- /dev/null
+++ b/Lang/Odin/Almost-prime
@@ -0,0 +1 @@
+../../Task/Almost-prime/Odin
\ No newline at end of file
diff --git a/Lang/Odin/Array-concatenation b/Lang/Odin/Array-concatenation
new file mode 120000
index 0000000000..2617aae691
--- /dev/null
+++ b/Lang/Odin/Array-concatenation
@@ -0,0 +1 @@
+../../Task/Array-concatenation/Odin
\ No newline at end of file
diff --git a/Lang/Odin/Golden-ratio-Convergence b/Lang/Odin/Golden-ratio-Convergence
new file mode 120000
index 0000000000..86e9063cb7
--- /dev/null
+++ b/Lang/Odin/Golden-ratio-Convergence
@@ -0,0 +1 @@
+../../Task/Golden-ratio-Convergence/Odin
\ No newline at end of file
diff --git a/Lang/Odin/Two-bullet-roulette b/Lang/Odin/Two-bullet-roulette
new file mode 120000
index 0000000000..178fc5793d
--- /dev/null
+++ b/Lang/Odin/Two-bullet-roulette
@@ -0,0 +1 @@
+../../Task/Two-bullet-roulette/Odin
\ No newline at end of file
diff --git a/Lang/PARI-GP/Own-digits-power-sum b/Lang/PARI-GP/Own-digits-power-sum
new file mode 120000
index 0000000000..086bc5985b
--- /dev/null
+++ b/Lang/PARI-GP/Own-digits-power-sum
@@ -0,0 +1 @@
+../../Task/Own-digits-power-sum/PARI-GP
\ No newline at end of file
diff --git a/Lang/PL-I/Duffinian-numbers b/Lang/PL-I/Duffinian-numbers
new file mode 120000
index 0000000000..50f8077589
--- /dev/null
+++ b/Lang/PL-I/Duffinian-numbers
@@ -0,0 +1 @@
+../../Task/Duffinian-numbers/PL-I
\ No newline at end of file
diff --git a/Lang/PL-M/Duffinian-numbers b/Lang/PL-M/Duffinian-numbers
new file mode 120000
index 0000000000..7dbb3f8528
--- /dev/null
+++ b/Lang/PL-M/Duffinian-numbers
@@ -0,0 +1 @@
+../../Task/Duffinian-numbers/PL-M
\ No newline at end of file
diff --git a/Lang/Perl/Jordan-P-lya-numbers b/Lang/Perl/Jordan-P-lya-numbers
new file mode 120000
index 0000000000..a331bd4ebf
--- /dev/null
+++ b/Lang/Perl/Jordan-P-lya-numbers
@@ -0,0 +1 @@
+../../Task/Jordan-P-lya-numbers/Perl
\ No newline at end of file
diff --git a/Lang/Phix/00-LANG.txt b/Lang/Phix/00-LANG.txt
index 08270c8834..f89816a59f 100644
--- a/Lang/Phix/00-LANG.txt
+++ b/Lang/Phix/00-LANG.txt
@@ -39,7 +39,7 @@ Technically Phix does not have a garbage collector, instead it is reference coun
The fundamental goal of Phix is to make debugging easier, a whole subject area that does not seem to get the attention it deserves, despite several studies finding that most programmers actually spend between 70 and 90% of their time debugging. Most of us tend to think that getting just-written code to work is somehow not debugging, but that clipboard-toting researcher stood behind you would disagree.
-Since 1.0.0 you can also run (many/most) Phix programs in a browser, by using pwa/p2js (as included in the distro) to transpile the program to JavaScript (plus a bit of standard HTML and CSS). If you see "'''with javascript_semantics'''" it means the program has been tested and works fine, both on the (Windows/Linux) desktop/Phix and in a browser via pwa/p2js, and in fact unix_dict() has been added to avoid reading unixdict.txt. Conversely, "without js" being present on a rosettacode entry means that (for instance) it uses the local file system, and is therefore desktop/Phix only. It is worth pointing out that "with js" and deep_copy() have proved ''staggeringly'' effective and nowhere near as painful as first feared. In just a few months (1.0.0 was released in July 2021) I have tested, fixed where necessary, and marked as javascript compatible ''[https://rosettacode.org/w/index.php?search=phixonline&title=Special%3ASearch&wprov=acrw1 over 1,100 rosettacode entries]'' for Phix, and only ''[https://rosettacode.org/w/index.php?search=notonline&title=Special%3ASearch&wprov=acrw1 one seventh]'' of that have as yet been marked incompatible, despite things like file i/o being prohibited within a web browser. The [https://rosettacode.org/wiki/Category:Phix/online Phix/online] subcategory currently lists 78 entries deemed interesting enough to bother (manually) uploading to the Phix website (ping me should any stop working), and the next goal is to get pwa/p2js itself runnning online, but obviously without using file i/o directly.
+Since 1.0.0 you can also run (many/most) Phix programs in a browser, by using pwa/p2js (as included in the distro) to transpile the program to JavaScript (plus a bit of standard HTML and CSS). If you see "'''with javascript_semantics'''" it means the program has been tested and works fine, both on the (Windows/Linux) desktop/Phix and in a browser via pwa/p2js, and in fact unix_dict() has been added to avoid reading unixdict.txt. Conversely, "without js" being present on a rosettacode entry means that (for instance) it uses the local file system, and is therefore desktop/Phix only. It is worth pointing out that "with js" and deep_copy() have proved ''staggeringly'' effective and nowhere near as painful as first feared. In just a few months (1.0.0 was released in July 2021) I have tested, fixed where necessary, and marked as javascript compatible ''[https://rosettacode.org/w/index.php?search=phixonline&title=Special%3ASearch&wprov=acrw1 over 1,200 rosettacode entries]'' for Phix, and only ''[https://rosettacode.org/w/index.php?search=notonline&title=Special%3ASearch&wprov=acrw1 one seventh]'' of that have as yet been marked incompatible, despite things like file i/o being prohibited within a web browser. The [https://rosettacode.org/wiki/Category:Phix/online Phix/online] subcategory currently lists 99 entries deemed interesting enough to bother (manually) uploading to the Phix website (ping me should any stop working), and the next goal is to get pwa/p2js itself runnning online, but obviously without using file i/o directly. Another long term goal is to get Phix running on ARM, and since that would be utterly pointless without a viable GUI, I am currently elbow deep in writing a new cross-platform GUI, as a stepping stone (for both ARM and p2js/online).
==See also==
* [http://phix.x10.mx Phix site]
diff --git a/Lang/Plain-English/Color-wheel b/Lang/Plain-English/Color-wheel
new file mode 120000
index 0000000000..8a23b5caba
--- /dev/null
+++ b/Lang/Plain-English/Color-wheel
@@ -0,0 +1 @@
+../../Task/Color-wheel/Plain-English
\ No newline at end of file
diff --git a/Lang/Pointless/FizzBuzz b/Lang/Pointless/FizzBuzz
new file mode 120000
index 0000000000..ac5ae42fc3
--- /dev/null
+++ b/Lang/Pointless/FizzBuzz
@@ -0,0 +1 @@
+../../Task/FizzBuzz/Pointless
\ No newline at end of file
diff --git a/Lang/Pointless/Hello-world-Text b/Lang/Pointless/Hello-world-Text
new file mode 120000
index 0000000000..aa092ad5a5
--- /dev/null
+++ b/Lang/Pointless/Hello-world-Text
@@ -0,0 +1 @@
+../../Task/Hello-world-Text/Pointless
\ No newline at end of file
diff --git a/Lang/Pointless/The-Twelve-Days-of-Christmas b/Lang/Pointless/The-Twelve-Days-of-Christmas
new file mode 120000
index 0000000000..41cc0127a2
--- /dev/null
+++ b/Lang/Pointless/The-Twelve-Days-of-Christmas
@@ -0,0 +1 @@
+../../Task/The-Twelve-Days-of-Christmas/Pointless
\ No newline at end of file
diff --git a/Lang/PureBasic/McNuggets-problem b/Lang/PureBasic/McNuggets-problem
new file mode 120000
index 0000000000..1ac54f4669
--- /dev/null
+++ b/Lang/PureBasic/McNuggets-problem
@@ -0,0 +1 @@
+../../Task/McNuggets-problem/PureBasic
\ No newline at end of file
diff --git a/Lang/Python/00-LANG.txt b/Lang/Python/00-LANG.txt
index c89c97ceab..71ecbf3dd5 100644
--- a/Lang/Python/00-LANG.txt
+++ b/Lang/Python/00-LANG.txt
@@ -1,6 +1,6 @@
{{language
|exec=interpreted
-|site=http://www.python.org
+|site=https://www.python.org
|strength=strong
|safety=safe
|express=implicit
@@ -8,15 +8,15 @@
|parampass=object reference
|gc=yes
|LCT=yes
-|bnf=http://docs.python.org/py3k/reference/grammar.html}}{{language programming paradigm|Dynamic}}{{language programming paradigm|Object-oriented}}{{codepad}}From the official [http://www.python.org Python] website: "Python is a programming language that lets you work more quickly and integrate your systems more effectively. You can learn to use Python and see almost immediate gains in productivity and lower maintenance costs."
+|bnf=https://docs.python.org/3/reference/grammar.html}}{{language programming paradigm|Dynamic}}{{language programming paradigm|Object-oriented}}{{codepad}}From the official [https://www.python.org Python] website: "Python is a programming language that lets you work more quickly and integrate your systems more effectively. You can learn to use Python and see almost immediate gains in productivity and lower maintenance costs."
It is easy to create clean bug-free programs in Python due to the motto: "Errors should never pass silently." Python is an [[wp:Interpreter (computing)|interpreter]]. Python source files (.py files) are typically compiled to an intermediate [[bytecode]] language (.pyc files) and executed by a Python Virtual Machine.
===Notes===
-Because Python uses whitespace for structure, do not format long code examples with leading whitespace, instead use