summaryrefslogtreecommitdiff
path: root/perl9.buetow.org
diff options
context:
space:
mode:
Diffstat (limited to 'perl9.buetow.org')
-rw-r--r--perl9.buetow.org/content/Better-Than-Others.sub/Lisp.xml22
-rw-r--r--perl9.buetow.org/content/Better-Than-Others.sub/PHP.xml5
-rw-r--r--perl9.buetow.org/content/Better-Than-Others.sub/Python.xml17
-rw-r--r--perl9.buetow.org/content/Better-Than-Others.sub/home.xml5
-rw-r--r--perl9.buetow.org/content/Extended-Features.sub/Hypergoto.xml17
-rw-r--r--perl9.buetow.org/content/Extended-Features.sub/Infinite-Loops.xml34
-rw-r--r--perl9.buetow.org/content/Extended-Features.sub/Megahyper-Operators.xml50
-rw-r--r--perl9.buetow.org/content/Extended-Features.sub/Mixed-Contexes.xml10
-rw-r--r--perl9.buetow.org/content/Extended-Features.sub/Random-Number-Generator.xml8
-rw-r--r--perl9.buetow.org/content/Extended-Features.sub/Reverse-Methods.xml11
-rw-r--r--perl9.buetow.org/content/Extended-Features.sub/home.xml5
-rw-r--r--perl9.buetow.org/content/New-Features.sub/Artificial-Intelligence.xml9
-rw-r--r--perl9.buetow.org/content/New-Features.sub/Multi-Langual.xml18
-rw-r--r--perl9.buetow.org/content/New-Features.sub/New-Contexes.xml40
-rw-r--r--perl9.buetow.org/content/New-Features.sub/Random-Operator.xml10
-rw-r--r--perl9.buetow.org/content/New-Features.sub/home.xml5
-rw-r--r--perl9.buetow.org/content/home.xml6
-rw-r--r--perl9.buetow.org/htdocs/images/perl.jpgbin0 -> 6947 bytes
18 files changed, 272 insertions, 0 deletions
diff --git a/perl9.buetow.org/content/Better-Than-Others.sub/Lisp.xml b/perl9.buetow.org/content/Better-Than-Others.sub/Lisp.xml
new file mode 100644
index 0000000..d0e0b27
--- /dev/null
+++ b/perl9.buetow.org/content/Better-Than-Others.sub/Lisp.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
+<content>
+ <pagetitle>Common Lisp users will love Perl 9!</pagetitle>
+ <text>Lisp users will love Perl 9 because you can use paranthesis everywhere!</text>
+ <code>
+(for (set (range 0 (subtract (elems @bar) 1)) $i)
+ (do
+ (set $foo (elem @foo $i))
+ (set $bar (elem @bar $i))
+ (set $baz (elem @baz $i))
+ (for (set (range 0 (subtract (elems (ptr $bar)) 1)) $j)
+ (do
+ (set $foo_ (elem (ptr $foo) $j))
+ (set $bar_ (elem (ptr $bar) $j))
+ (set $baz_ (elem (ptr $baz) $j))
+ (for (set (range 0 (subtract (elems (ptr $bar_)) 1)) $k)
+ (push (ptr $baz_)
+ (add
+ (elem (ptr $foo_) $k)
+ (elem (ptr $bar_) $k))))))))
+ </code>
+</content>
diff --git a/perl9.buetow.org/content/Better-Than-Others.sub/PHP.xml b/perl9.buetow.org/content/Better-Than-Others.sub/PHP.xml
new file mode 100644
index 0000000..92edd25
--- /dev/null
+++ b/perl9.buetow.org/content/Better-Than-Others.sub/PHP.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
+<content>
+ <pagetitle>Perl 9 has now more core functions!</pagetitle>
+ <text>Perl 9 has now more functions in the core than PHP does! Because all PHP functions are in the Perl 9 core included! All PHP programmers will feel home in Perl 9!</text>
+</content>
diff --git a/perl9.buetow.org/content/Better-Than-Others.sub/Python.xml b/perl9.buetow.org/content/Better-Than-Others.sub/Python.xml
new file mode 100644
index 0000000..edfb60c
--- /dev/null
+++ b/perl9.buetow.org/content/Better-Than-Others.sub/Python.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
+<content>
+ <pagetitle>Python users will love Perl 9!</pagetitle>
+ <text>Perl 9 can be programmed without using semicolons by just using indented tabs! The Perl AI engine will decide if you are using Python style oder old Perlish style for programming! Here is some sample code: (Btw.: Python is just a dialect of Perl)</code>
+ <code>
+for 0 .. @bar.elems -1 -&gt; $i
+ my $foo = @foo[$i]
+ my $bar = @bar[$i]
+ my $baz = @baz[$i]
+ for 0 .. $bar->elems -1 -&gt; $j
+ my $foo_ = $foo->[$j]
+ my $bar_ = $bar->[$j]
+ my $baz_ = $baz->[$j]
+ for 0 .. $bar_->elems -1 -&gt; $k
+ push @$baz_, $foo_->[$k] + $bar_-&gt;[$k]
+ </code>
+</content>
diff --git a/perl9.buetow.org/content/Better-Than-Others.sub/home.xml b/perl9.buetow.org/content/Better-Than-Others.sub/home.xml
new file mode 100644
index 0000000..20b8de4
--- /dev/null
+++ b/perl9.buetow.org/content/Better-Than-Others.sub/home.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
+<content>
+ <pagetitle>Perl 9 is better...</pagetitle>
+ <text>...than other programming languages. Just click on the top menu to find out!</text>
+</content>
diff --git a/perl9.buetow.org/content/Extended-Features.sub/Hypergoto.xml b/perl9.buetow.org/content/Extended-Features.sub/Hypergoto.xml
new file mode 100644
index 0000000..5d910c7
--- /dev/null
+++ b/perl9.buetow.org/content/Extended-Features.sub/Hypergoto.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
+<content>
+ <pagetitle>Perl 9 supports hypergotos!</pagetitle>
+ <text>Perl 9 has the fastest goto ever! hypergoto is faster than everything you ve seen so far. A very fast loop can be programmed like this:</text>
+ <code>
++$counter+;
+hypergoto ENDLOOP if $counter = 1000;
+hypergoto LOOP;
+ENDLOOP:
+'End very fast goto'&lt;-say;
+ </code>
+ <text>It is also possible to goto into different programs!</text>
+ <code>
+hypergoto $pid, $routine, $instruction;
+ </code>
+ <text>...jumps into the process with the id $pid and the specified routine/instruction number.</text>
+</content>
diff --git a/perl9.buetow.org/content/Extended-Features.sub/Infinite-Loops.xml b/perl9.buetow.org/content/Extended-Features.sub/Infinite-Loops.xml
new file mode 100644
index 0000000..d8658b7
--- /dev/null
+++ b/perl9.buetow.org/content/Extended-Features.sub/Infinite-Loops.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
+<content>
+ <pagetitle>Perl 9 has now infinite loops!</pagetitle>
+ <text>Perl 9 supports an infinite loop which needs only 1 second of runtime. Which is faster than every other language needs to do this. This is possible because of very modern algorithms of the Perl 9 internals.</text>
+ <code>
+#!/usr/bin/perl9
+
+my $pi;
+infinite {
+ $pi = calculate_pi;
+ say $pi; # Prints out THE EXACT number Pi!
+}
+
+
+# Will need infinite time to print Pi because not in the infinite loop!
+say $pi;
+ </code>
+ <text>It is also possible to run several infinite loops in parallell using threads!</text>
+ <code>
+my $pi;
+my $code1 = infinite {
+ $pi = calculate_pi;
+ say $pi; # Prints out THE EXACT number Pi!
+}
+my $euler;
+my $code2 = infinite {
+ $euler = calculate_euler;
+ say $euler; # Prints out THE EXACT number euler!
+}
+
+Thread.new(code => $code1).run;
+Thread.new(code => $code2).run;
+ </code>
+</content>
diff --git a/perl9.buetow.org/content/Extended-Features.sub/Megahyper-Operators.xml b/perl9.buetow.org/content/Extended-Features.sub/Megahyper-Operators.xml
new file mode 100644
index 0000000..7bcd5a1
--- /dev/null
+++ b/perl9.buetow.org/content/Extended-Features.sub/Megahyper-Operators.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
+<content>
+ <pagetitle>Hyper- mega hyper and mega mega hyper!</pagetitle>
+ <text>You probably already know the so called Hyperoperators of Perl 6!</text>
+ <code>
+# This code
+my @baz = @foo &gt;&gt;+&lt;&lt; @bar;
+
+# Is the same as:
+loop ($i = 0; $i &lt; @bar.elems; ++$i) {
+ push @baz, @foo[$i] + @bar[$i];
+}
+ </code>
+ <text>A mega hyper operator takes you to the next level:</text>
+ <code>
+# This code
+my @baz = @foo &gt;&gt;&gt;&gt;+&lt;&lt;&lt;&lt; @bar;
+
+# Is the same as:
+loop ($i = 0; $i &lt; @bar.elems; ++$i) {
+ my $foo = @foo[$i];
+ my $bar = @bar[$i];
+ my $baz = @baz[$i];
+ loop ($j = 0; $j &lt; $bar->elems; ++$j) {
+ push @$baz, $foo->[$j] + $bar->[$j];
+ }
+}
+ </code>
+ <text>And a mega mega hyper operator does this:</text>
+ <code>
+# This code
+my @baz = @foo &gt;&gt;&gt;&gt;&gt;&gt;+&lt;&lt;&lt;&lt;&lt;&lt; @bar;
+
+# Is the same as:
+loop ($i = 0; $i <&t; @bar.elems; ++$i) {
+ my $foo = @foo[$i];
+ my $bar = @bar[$i];
+ my $baz = @baz[$i];
+ loop ($j = 0; $j &lt; $bar->elems; ++$j) {
+ my $foo_ = $foo->[$j];
+ my $bar_ = $bar->[$j];
+ my $baz_ = $baz->[$j];
+ loop ($k = 0; $k &lt; $bar_->elems; ++$k) {
+ push @$baz_, $foo_->[$k] + $bar_->[$k];
+ }
+ }
+}
+ </code>
+ <text>Etc... As you can see, its helping you to write less code!</text>
+</content>
diff --git a/perl9.buetow.org/content/Extended-Features.sub/Mixed-Contexes.xml b/perl9.buetow.org/content/Extended-Features.sub/Mixed-Contexes.xml
new file mode 100644
index 0000000..d6b2feb
--- /dev/null
+++ b/perl9.buetow.org/content/Extended-Features.sub/Mixed-Contexes.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
+<content>
+ <pagetitle>Perl 9 can now mix up contexes!</pagetitle>
+ <text>As you know from previous versions of Perl, you use the contexes void, list and scalar to program in. Now you are able to mix those together within the same variable!</text>
+ <code>
+my $@scaarr = ("Hello", (1, 2, 3, 4));
+$@scaarr.scalar.say; # Prints Hello
+local $, = ' '; $@scaarr.say; # Prints 1 2 3 4
+ </code>
+</content>
diff --git a/perl9.buetow.org/content/Extended-Features.sub/Random-Number-Generator.xml b/perl9.buetow.org/content/Extended-Features.sub/Random-Number-Generator.xml
new file mode 100644
index 0000000..ff8148a
--- /dev/null
+++ b/perl9.buetow.org/content/Extended-Features.sub/Random-Number-Generator.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
+<content>
+ <pagetitle>Real random number generator!</pagetitle>
+ <text>Perl 9 now has got a REAL random number generator. No more psydo random generators. The perl process goes outside of your computer and looks for some random stuff to capture. Here is an example:</text>
+ <code>
+random(10).say; # Prints out a real random number >=0 and < 10
+ </code>
+</content>
diff --git a/perl9.buetow.org/content/Extended-Features.sub/Reverse-Methods.xml b/perl9.buetow.org/content/Extended-Features.sub/Reverse-Methods.xml
new file mode 100644
index 0000000..9df5b41
--- /dev/null
+++ b/perl9.buetow.org/content/Extended-Features.sub/Reverse-Methods.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
+<content>
+ <pagetitle>Perl 9 has now reverse method operators!</pagetitle>
+ <text>You don't have to call $object.method or $object-&gt;method any more! You can also do method&lt;-$object instead! This leads to a new level of flexibility and programming experience!</text>
+ <code>
+#!/usr/bin/perl9
+
+your $result = 1-&gt;add(1) / mult(2)&lt;-2;
+say&lt-$result; # Will print 0.5
+ </code>
+</content>
diff --git a/perl9.buetow.org/content/Extended-Features.sub/home.xml b/perl9.buetow.org/content/Extended-Features.sub/home.xml
new file mode 100644
index 0000000..1826442
--- /dev/null
+++ b/perl9.buetow.org/content/Extended-Features.sub/home.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
+<content>
+ <pagetitle>Perl 9 has improved old techniques</pagetitle>
+ <text>Here are the most exciting feature extendings of Perl 9 listed. Just click on the top menu on the desired feature and you will see the examples!</text>
+</content>
diff --git a/perl9.buetow.org/content/New-Features.sub/Artificial-Intelligence.xml b/perl9.buetow.org/content/New-Features.sub/Artificial-Intelligence.xml
new file mode 100644
index 0000000..f23dcbf
--- /dev/null
+++ b/perl9.buetow.org/content/New-Features.sub/Artificial-Intelligence.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
+<content>
+ <pagetitle>Built in artificial intelligence engine!</pagetitle>
+ <text>Perl 9 now has a built in AI engine! If you are too lazy to work, just tell Perl 9 to work for you.</text>
+ <code>
+# The AI will determine what needs to get done and will do it for you!
+(my AI $ai .= new).work;
+ </code>
+</content>
diff --git a/perl9.buetow.org/content/New-Features.sub/Multi-Langual.xml b/perl9.buetow.org/content/New-Features.sub/Multi-Langual.xml
new file mode 100644
index 0000000..e502efb
--- /dev/null
+++ b/perl9.buetow.org/content/New-Features.sub/Multi-Langual.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
+<content>
+ <pagetitle>Perl 9 is multi langual</pagetitle>
+ <text>In Perl 9, perl can now do everything! You can combine all syntaxes of your programming languages within the same program! This is actually awesome! If your friend keeps telling you that his programming language is better than Perl, then he does not know (yet) about Perl 9! :)</text>
+ <code>
+#!/usr/bin/perl9
+
+use VisualBasic.NET qw(Comments Declaration::Variable)
+use TurboPascal qw(Operator::Assign)
+use Java qw(Class::Math Loop::Foreach Class::System::out);
+
+Rem Some cool stuff:
+Dim double @Foo As Array;
+@Foo[$_] := Math.sqrt($_) for 0 .. 10;
+foreach (double $d : @Foo)
+$d-&gt;System.out.println();
+ </code>
+</content>
diff --git a/perl9.buetow.org/content/New-Features.sub/New-Contexes.xml b/perl9.buetow.org/content/New-Features.sub/New-Contexes.xml
new file mode 100644
index 0000000..8230962
--- /dev/null
+++ b/perl9.buetow.org/content/New-Features.sub/New-Contexes.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
+<content>
+ <pagetitle>Perl 9 contians new datatypes/contexes!</pagetitle>
+ <text>Perl now got some new data types and contexes:</text>
+ <textheader>Fuzzy Context ~</textheader>
+ <text>Everything is not sharp but fuzzy! Fuzzy does always something like the desired value! It is never exact!</text>
+ <code>
+my ~fuz; # Fuzzy type
+
+
+use PHP qw(Function::echo);
+
+# You don't know if its assigning list or scalar context!
+my ~fuzzy = qw(Hello mister Edd);
+echo&lt;-~fuzzy; // Can print 'Hello' or can print '3'
+
+my ~foo = 'Good morning';
+echo&lt;-~foo; # Due a built in AI engine, this may print 'Good morning' or 'Bad afternoon'
+ </code>
+ <textheader>Matrix Context []</textheader>
+ <text>No more limitations to list and scalar and void contexes!</text>
+ <code>
+my ([]matrix1,[]matrix2) = (
+ ((1, 0, 0), (0, 1, 0), (0, 0, 1)),
+ ((0, 1, 0), (0, 0, 1), (1, 0, 0)),
+);
+
+[]matrix1 += []matrix2; # Will add matrix2 to matrix1!
+
+[]matrix1.say; # Will print ((1, 1, 0), (0, 1, 1), (1, 0, 1))
+ </code>
+ <text>If you want to do multi dimensional matrices then you can do:</text>
+ <code>
+my [][]matrix =
+ (((1, 0, 0), (0, 1, 0), (0, 0, 1)),
+ ((0, 1, 0), (0, 0, 1), (1, 0, 0)),
+ ((0, 1, 0), (0, 0, 1), (1, 0, 0)));
+ </code>
+ <text>etc...</text>
+</content>
diff --git a/perl9.buetow.org/content/New-Features.sub/Random-Operator.xml b/perl9.buetow.org/content/New-Features.sub/Random-Operator.xml
new file mode 100644
index 0000000..8e67ceb
--- /dev/null
+++ b/perl9.buetow.org/content/New-Features.sub/Random-Operator.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
+<content>
+ <pagetitle>Perl 9 has a random operator</pagetitle>
+ <text>You probably know that Perl supports a lot of different operators. If you don't know which operator to use at the moment then just use the random operator (}}}}@.@{{{{).</text>
+ <code>
+# Does something randomly with its two operands $foo and $bar:
+
+$foo (}}}}@.@{{{{) $bar;
+ </code>
+</content>
diff --git a/perl9.buetow.org/content/New-Features.sub/home.xml b/perl9.buetow.org/content/New-Features.sub/home.xml
new file mode 100644
index 0000000..613321e
--- /dev/null
+++ b/perl9.buetow.org/content/New-Features.sub/home.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
+<content>
+ <pagetitle>Perl 9 Feature List</pagetitle>
+ <text>Here are the most exciting new features offered by Perl 9 listed. Just click on the top menu on the desired feature and you will see the examples!</text>
+</content>
diff --git a/perl9.buetow.org/content/home.xml b/perl9.buetow.org/content/home.xml
new file mode 100644
index 0000000..e1634de
--- /dev/null
+++ b/perl9.buetow.org/content/home.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
+<content>
+ <rimg href="?document=images/perl.jpg" title="Perl" />
+ <pagetitle>Welcome to the website of Perl 9!</pagetitle>
+ <text>Perl 9 is the next major release after Perl 6. Perl 8 has been left out because Perl 9 provides too much new features which would not fit into one major version number. Perl 9 combines all features of Perl 5 and Perl 6. This site only demonstrates some additional features over Perl 5 and Perl 6.</text>
+</content>
diff --git a/perl9.buetow.org/htdocs/images/perl.jpg b/perl9.buetow.org/htdocs/images/perl.jpg
new file mode 100644
index 0000000..8401116
--- /dev/null
+++ b/perl9.buetow.org/htdocs/images/perl.jpg
Binary files differ