Download - Neuperl6
![Page 1: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/1.jpg)
Was ist neu an Perl 6?
![Page 2: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/2.jpg)
Herbert Breunung
![Page 3: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/3.jpg)
Mansfelder Land
![Page 4: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/4.jpg)
Mansfelder Land
![Page 5: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/5.jpg)
Ägypten aka Khem
![Page 6: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/6.jpg)
Was ist neu an Perl 6?
![Page 7: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/7.jpg)
Was ist neu an Perl 5?
rekursive Regex
named captures
smartmatch
![Page 8: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/8.jpg)
Was ist neu an Perl 5?
Moose
TryCatch
Perl::Critic
Catalyst / Mojo / Dancer / Plack
![Page 9: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/9.jpg)
Was ist neu an Perl 5?
Task::Kensho
Eiskreme Perl
Padre / Kephra
![Page 10: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/10.jpg)
Perl 6Der heilige Gral
![Page 11: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/11.jpg)
![Page 12: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/12.jpg)
Auf der Suche ...
![Page 13: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/13.jpg)
Suche nach dem ver...
![Page 14: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/14.jpg)
19. Juli 2000
![Page 15: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/15.jpg)
Altlasten● ewig veraltete ' package syntax
● schlecht funktionierende do{ } while() schleifen
● unmoderne OOP & Parameterübergabe
● kryptische Spezialvariablen
● aufwändig zu ändernde Innereien
● XS
![Page 16: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/16.jpg)
Entwicklung der Syntax● Apokalypsen
● Exegesen
● Synopsen
![Page 17: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/17.jpg)
Entwicklung der Syntax● Apokalypsen
● Exegesen
● Synopsen
![Page 18: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/18.jpg)
Entwicklung der Syntax● Apokalypsen
● Exegesen
● Synopsen
● wiki.perl-community.de/bin/view/Wissensbasis/PerlTafel
● http://perl-6.de/
![Page 20: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/20.jpg)
Entwicklung der Syntax
● p6l ([email protected])
● #perl6 (irc.freenode.org/perl6)
● Larry Wall, Damian Conway, Patrick R. Michaud, Allison Randal, chromatic
![Page 21: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/21.jpg)
Entwicklung der Syntax
● p6l ([email protected])
● #perl6 (irc.freenode.org/perl6)
● Larry Wall, Damian Conway, Patrick R. Michaud, Allison Randal, chromatic
● Dan Sugalski, Luke Palmer, Audrey Tang
![Page 22: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/22.jpg)
Larry Wall
![Page 23: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/23.jpg)
Larry Wall
![Page 24: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/24.jpg)
Perl 5 - Philosophie
TIMTOWTDI
simple and possible
context sensitive
![Page 25: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/25.jpg)
Perl 6 - Philosophie
TIMTOWTDI
huffman coding
context sensitive
waterbed theory of complexity
![Page 26: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/26.jpg)
Perl 6 - Philosophie
Tim Toady
huffman coding
context sensitive
waterbed theory of complexity
![Page 27: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/27.jpg)
Freiheit
![Page 28: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/28.jpg)
Freiheit
![Page 29: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/29.jpg)
Freiheit
![Page 30: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/30.jpg)
Freiheit
So wie ich denke, kann ich's auch aufschreiben.
![Page 31: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/31.jpg)
Was ist neu an Perl 6?
![Page 32: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/32.jpg)
Damian Conway
![Page 33: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/33.jpg)
Was ist neu an Perl 6?
![Page 34: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/34.jpg)
Freiheit
So wie ich denke, kann ich's auch aufschreiben.
Baut Grenzen zwischen Sprachen, Programmierstilen und Ökosystemen ab.
![Page 35: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/35.jpg)
The World of Unix (1987)
C shell
![Page 36: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/36.jpg)
A new dimension
C
shell
![Page 37: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/37.jpg)
Perl 6 Syntax
![Page 38: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/38.jpg)
Variablen $scalar $scalar
@array @array $array[0] @array[0]
$array[-1] @array[*-1] @array[0..3] @array[0..3]
%hash %hash $hash{'key'} %hash{'key'} $hash{'key'} %hash<key>
@hash{'k1','k2'} %hash<k1 k2>
![Page 39: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/39.jpg)
Operator Roulette-> => .
. => ~
=~ => ~~
| & => +| +&
qw() => <>
<> => .get
? : => ?? !!
![Page 40: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/40.jpg)
Spezialvar RouletteSTDIN => $*IN
@ARGS => $*ARGS
$^V => $*PERLVER
$^O => $*OS
__LINE__ => $?LINE
%+ => $/
![Page 41: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/41.jpg)
Variable Ausgebenprint "$var \n"; say $var;
![Page 42: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/42.jpg)
Variable Ausgebenprint "$var \n"; say $var;
use Data::Dumper;my @a = (1, 1, 2, 3, 5, 8, 13, 23, 36, [qw(a b c)]);print Dumper(@a);
![Page 43: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/43.jpg)
Variable Ausgeben$VAR1 = 2; 2 3 4 5 6 7 7 2 5 ARRAY(0x568e94)$VAR2 = 3;$VAR3 = 4;$VAR4 = 5;$VAR5 = 6;$VAR6 = 7;$VAR7 = 7;$VAR8 = 2;$VAR9 = 5;$VAR10 = [ 'a', 'b', 'c' ]; [2, 3, 4, 5, 6, 7, 7, 2, 5, ["a", "b", "c"]]
![Page 44: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/44.jpg)
Variable Ausgebenprint "$var \n"; say $var;
use Data::Dumper;my @a = (1, 1, 2, 3, 5, 8, 13, 23, 36, [qw(a b c)]);print Dumper(@a);
my @a = 1, 1, 2, 3, 5, 8, 13, 23, 36, [<a b c>];@a.perl.say;
![Page 45: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/45.jpg)
kleines Spiel
my @a = ('A'..'Z');print $a[int rand 26] for 1..3;
say ('A'..'Z').pick(3, :replace);
![Page 46: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/46.jpg)
Shell auslesen
print "Was ist ... ";chomp($ergebnis = <STDIN>);
$ergebnis = prompt "Was ist ... ";
![Page 47: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/47.jpg)
Shell auslesen
print "Was ist ... ";chomp($ergebnis = <STDIN>);
$ergebnis = prompt "Was ist ... ";$ergebnis = $*IN.get;
![Page 48: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/48.jpg)
Datei auslesen
$inhalt = do {open my $fh, '<', 'ordner/datei.txt';
local $/; <$fh> };
$inhalt = slurp 'ordner/datei.txt';
![Page 49: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/49.jpg)
Datei zeilenweise
open my $fh, '<', 'ordner/datei.txt';while (my $zeile = <$fh>) { chomp $zeile;
for lines 'ordner/datei.txt' -> $zeile {
![Page 50: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/50.jpg)
for - Schleife
for my $zeile (@zeilen) { ...
for @zeilen -> $zeile { ...
![Page 51: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/51.jpg)
for - Schleife
for (1 .. 5) { ...
for ^ 5 { ...
![Page 52: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/52.jpg)
for - Schleife
for my $zeile (@zeilen) { ...
for @zeilen -> $zeile { ...
![Page 53: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/53.jpg)
for - Schleife
while (@zahlen) { … my $a = shift @zahlen; my $a = shift @zahlen;
for @zahlen -> $a, $b { ...
![Page 54: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/54.jpg)
for - Schleife
my %tabelle = (Paul => 1.78, Heinz => 2.03);while (($name, $laenge) = each %tabelle) { say "$name ist $laenge lang.";}
my %tabelle = (Paul => 1.78, Heinz => 2.03);for %tabelle.kv -> $name, $länge { say "$name ist $länge lang.";}
![Page 55: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/55.jpg)
for - Schleifemy @c = (\@za, \@zb);my $i = 0;for (0 .. $#a + $#b){ my $a = shift @{$c[$i]}; $i = abs 1 - $i;
for @za Z @zb -> $a { …
![Page 56: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/56.jpg)
Schleifenfor my $i (0 .. $#a) { my $a = @a[$i]; my $b = @b[$i]; my $c = @c[$i]; ...
for zip (@a; @b; @c) -> $a, $b, $c { ...
![Page 57: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/57.jpg)
Schleifenfor my $i (0 .. $#a) { @c[$i] = @a[$i] + @b[$i];}
![Page 58: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/58.jpg)
Metaoperatorenfor my $i (0 .. $#a) { @c[$i] = @a[$i] + @b[$i];}
@c = @a >> + << @b;
![Page 59: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/59.jpg)
Metaoperatorenmy $summe; $summe += $_ for @zahlen;
my $summe = [+] @zahlen;
![Page 60: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/60.jpg)
Metaoperatorenmy $sortiert = 0;for ($#zahlen – 1) { last unless $zahlen[$_] > $zahlen[$_ + 1]; $sortiert = 1 if $_ == $#zahlen;}
my $sortiert = [>] @zahlen;
![Page 61: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/61.jpg)
Werte vergleichen
if ( 2 < $a and $a <= 7) { ...
if 2 < $a <= 7 { …if $a ~~ 2^ .. 7 { ...
![Page 62: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/62.jpg)
Junction
if ( $a == 2 or $a == 5 or $a == 7) { ...
if $a ~~ 2 | 5 |7 { ...
![Page 63: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/63.jpg)
Junction
if $a ~~ 2 | 5 |7 { …
my @zahlen = 2, 5, 7;if $a ~~ any(@zahlen) { …
![Page 64: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/64.jpg)
Junction
if $a ~~ 2 | 5 |7 { …
my @zahlen = 2, 5, 7;if $a ~~ any(@zahlen) { …
# alle in @ a müssen auch in @b vorkommenif all(@a) ~~ any(@b) { …
![Page 65: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/65.jpg)
Junction
if $a ~~ 2 | 5 |7 { …
my @zahlen = 2, 5, 7;if $a ~~ any(@zahlen) { …
# identischer inhaltif @a ~~ @b { …
![Page 66: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/66.jpg)
Smartmatch
if $a ~~ 2 | 5 |7 { …
my @zahlen = 2, 5, 7;if $a ~~ any(@zahlen) { …
# identischer inhaltif @a ~~ @b { …
![Page 67: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/67.jpg)
Signaturen
sub routine { my $a = shift; my $b = shift; return unless defined $b; my $c = shift; }
sub routine ($a!, $b!, $c?) { … }
![Page 68: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/68.jpg)
Signaturen
sub routine { my $a = shift; my $b = shift; return unless defined $b; my @rest = @_; }
sub routine ($a!, $b!, *@rest) { … }
![Page 69: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/69.jpg)
Signaturen
sub potenz { my $par = shift; $par->{b} ** $par->{e}; }potenz( {b => 2, e => 7} );
sub potenz (:$b, :$e) { $b ** $e }potenz(b => 2, e => 7 );
![Page 70: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/70.jpg)
Objekte
class UFO {
has $.speed;
method stop { $.speed = 0 }}
![Page 71: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/71.jpg)
Objektepackage UFO; sub new { bless {speed => 0 }, shift; } sub length { my $self = shift; my $speed = shift; if ($speed) { $self->{speed} = $speed } else { $self->{speed} }}sub stop { my $self = shift; $self->{speed} = 0;}
![Page 72: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/72.jpg)
Objekteclass UFO is Raumschiff {
has $.speed; has $!crew;
method stop { $.speed = 0 }}
$arv = UFO.new();$arv.speed = 20;$arv.stop;
![Page 73: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/73.jpg)
Roles class WebCrawler does Log4Perl { … }
$objekt does Log4Perl;
![Page 74: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/74.jpg)
Roles class WebCrawler does Log4Perl { … }
$objekt does Log4Perl;
role Log4Perl { has @.log_lines; has $.log_size is rw = 100; method log_message($message) { ... }}
![Page 75: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/75.jpg)
Grammarsgrammar Fließkommazahl { rule top {<vorzeichen>? <man> <exponent>? } token vorzeichen { \+ | - } rule man { \. <ziffern> | <ziffern> [ \. <ziffern>? ]? } rule exponent :i { e <vorzeichen>? <ziffern> } token ziffern { \d+: }}
Fließkommazahl.top("-6.02e+23");say $/<exponent><sign>
![Page 76: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/76.jpg)
Macros
macro postfix:<!>
![Page 77: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/77.jpg)
Macros
macro postfix:<!> is equiv(&postfix:<++>) { [*] 1 .. $^n }
say 5!;> 120
![Page 78: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/78.jpg)
Macros
macro circumfix:('<!-- -->') ($text) is parsed / .*? / { "" }
![Page 79: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/79.jpg)
Macros
macro circumfix:('<!-- -->') ($text) is parsed / .*? / { "" }
augment slang Regex { token regex_metachar:<^> { ... }}
![Page 80: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/80.jpg)
Macros
macro circumfix:('<!-- -->') ($text) is parsed / .*? / { "" }
augment slang Regex { token regex_metachar:<^> { ... }}
$?PARSER
![Page 81: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/81.jpg)
Interpreter / CompilerPerl 6 auf Parrot => Rakudo
Perl 6 auf CLR => Sprixel
Perl 6 auf LLVM => vill
Perl 6 auf SMOP => Mildew
Perl 6 auf GHC => Pugs
Perl 6 auf Perl 6 => elf
![Page 82: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/82.jpg)
PugsAudrey Tang
GHC
Perl 6 Users Golfing System
junction
-O Fun
![Page 83: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/83.jpg)
Parrot
![Page 84: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/84.jpg)
1. April 2001
![Page 85: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/85.jpg)
Parrot Code
#copy stdin to stdout, except for lines starting with #
while left_angle_right_angle: if dollar_underscore[0] =eq= "#": continue_next; } print dollar_underscore;}
![Page 86: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/86.jpg)
Parrot● VM (Virtuelle Maschine)
![Page 87: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/87.jpg)
Parrot● VM (Virtuelle Maschine)
● Software - CPU
![Page 88: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/88.jpg)
Parrot● VM (Virtuelle Maschine)
● native/magische Register
![Page 89: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/89.jpg)
Parrot● VM (Virtuelle Maschine)
● native/magische Register
● Continuations
![Page 90: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/90.jpg)
Parrot● VM (Virtuelle Maschine)
● native/magische Register
● Continuations
● Dan Sugalski
![Page 91: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/91.jpg)
Parrot● VM (Virtuelle Maschine)
● native/magische Register
● Continuations
● Dan Sugalski
● Mastermind
![Page 92: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/92.jpg)
Parrot● VM (Virtuelle Maschine)
● native/magische Register
● Continuations
● Dan Sugalski
● Mastermind – Einzelkämpfer
![Page 93: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/93.jpg)
Parrot● VM (Virtuelle Maschine)
● native/magische Register
● Continuations
● Dan Sugalski
● Allison Randal
![Page 94: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/94.jpg)
Allison Randal● Exchefin der Perl Foundation
![Page 95: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/95.jpg)
Allison Randal● Exchefin der Perl Foundation
● Parrot Leiterin
![Page 96: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/96.jpg)
Allison Randal● Exchefin der Perl Foundation
● Parrot Leiterin
● Parrot Hacker
![Page 97: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/97.jpg)
Allison Randal● Exchefin der Perl Foundation
● Parrot Leiterin
● Parrot Hacker
● Specschreiber
![Page 98: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/98.jpg)
Allison Randal● Exchefin der Perl Foundation
● Parrot Leiterin
● Parrot Hacker
● Specschreiber
● TGE / Punie
![Page 99: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/99.jpg)
Parrot's Sprachen
![Page 100: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/100.jpg)
Parrot's Sprachen● .pbc Parrot bytecode
![Page 101: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/101.jpg)
Parrot's Sprachen● .pbc Parrot bytecode
● .pasm P. Assembler
![Page 102: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/102.jpg)
Pasm new P0, 'PerlArray' set I0, 100000 time N0lp1: push P0, I0 dec I0 if I0, lp1 time N1 sub N1, N0 print "constr.time " print N1 print "\n"
![Page 103: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/103.jpg)
Parrot's Sprachen● .pbc Parrot bytecode
● .pasm P. Assembler
● .pir P. Intermed. Repr.
![Page 104: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/104.jpg)
PIR .sub main :main $I0 = 0 # initialized if $I0 goto l1 $I1 = 1 # init in block 1 goto l2 l1: $I1 = 2 # init in block 2 l2: print $I0 print $I1 # all paths leading here do init print "\n" end .end
![Page 105: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/105.jpg)
Parrot's Sprachen● .pbc Parrot bytecode
● .pasm P. Assembler
● .pir P. Intermed. Repr.
● PGE P.Grammar Engine
![Page 106: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/106.jpg)
Parrot's Sprachen● .pbc Parrot bytecode
● .pasm P. Assembler
● .pir P. Intermed. Repr.
● PGE P.Grammar Engine
![Page 107: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/107.jpg)
Parrot's Sprachen● .pbc Parrot bytecode
● .pasm P. Assembler
● .pir P. Intermed. Repr.
● PGE P.Grammar Engine
● NQP Not Quit Perl 6
![Page 108: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/108.jpg)
Parrot's Sprachen● .pbc Parrot bytecode
● .pasm P. Assembler
● .pir P. Intermed. Repr.
● PGE P.Grammar Engine
● NQP Not Quite Perl 6
![Page 109: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/109.jpg)
Parrot's Sprachen● .pbc Parrot bytecode
● .pasm P. Assembler
● .pir P. Intermed. Repr.
● PGE P.Grammar Engine
● NQPrx
![Page 110: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/110.jpg)
Patrick Michaud
Parrot
Parrot Compiler Tools
PGE
Rakudo
![Page 111: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/111.jpg)
Jonathan Worthington
Rakudo, Blikost, Zavolaj
![Page 112: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/112.jpg)
STD.pm
Syntaxregeln
in P6 rules
Bootstrapping
In Benutzung
![Page 113: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/113.jpg)
elf
STD.pm parsen
mithilfe von Ruby
![Page 114: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/114.jpg)
kp6
Flavio Glock
mp6
p5
pugs
![Page 115: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/115.jpg)
SMOP
Daniel Ruoso
runloop
in C
simple MOP
sm0p / s1p → now RI / Mildew
![Page 116: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/116.jpg)
mehr für alle
![Page 117: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/117.jpg)
Perl 6 - Land
![Page 118: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/118.jpg)
Noch Fragen?
![Page 119: Neuperl6](https://reader033.vdokument.com/reader033/viewer/2022051514/5485fb355806b5a4588b4848/html5/thumbnails/119.jpg)
Danke