Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]10765[/thread]

neue Perl 6 Operatoren

Leser: 37


<< |< 1 2 3 4 5 >| >> 49 Einträge, 5 Seiten
lichtkind
 2007-11-09 22:22
#102158 #102158
User since
2004-03-22
5697 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
Wie ihr ja wisst schreib ich in unserer Wiki ein Wiki:Perl 6 Tutorial und eine etwas lockerere Rundschau dazu in renees $foo Zeitschrift. Für alle die das thema interessiert mal hier ein kleiner Happen perl 6 der interessant sein mag weil es um Operatoren geht die neu dazu kommen.

Ihr kennt sicher Code wie diesen:

Code (perl): (dl )
1
2
my $a = $default;
$a = $b if defined $b;


Leute die etwas Ahnung von Perl haben schreiben das natürlich kürzer:

Code (perl): (dl )
$a = defined $b ? $b : $default;


in perl 6 und mit dem bald kommenden perl 5.10 geht das natürlich noch kürzer:

Code (perl): (dl )
$a = $b // $default;


So ähnlich funktionieren auch neue arithmetische Vergleichsoperatoren wie.

Code (perl): (dl )
1
2
$klein = $a min $b;
$gross = $a max $b;


Ein echter Perl 6 Ninja schreibt das natürlich noch kürzer;

Code (perl): (dl )
($klein, $gross) = ($a, $b) minmax ($a, $b);


praktisch ist auch die schreibweise:

Code (perl): (dl )
($klein, $gross) = @a minmax @b;


Wie gesagt nur das als kleiner Appetitanreger. Wer mehr will findet sicher das Tutorial in unserer Wiki, oder noch besser: Mitmachen !
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
Froschpopo
 2007-11-10 09:32
#102162 #102162
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
ich habe gelesen, dass Perl6 nicht abwärtskompatibel sein soll. Was wird denn dann aus den ganzen CPAN-Modulen? Um die Standardmodule mache ich mir ja eher weniger Sorgen, aber was ist mit DBI usw. ?
moritz
 2007-11-10 10:57
#102165 #102165
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
Man kann in Perl 6 perl 5-Module einbinden.

Und MAD wird p5 nach p6 übersetzen können - meistens.
lichtkind
 2007-11-10 12:39
#102169 #102169
User since
2004-03-22
5697 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
Froschpopo: das ist eine komplexere frage da perl 6 mehrere interpreter haben wird. Also muss man sie für jeden getrennt beantworten:

Kp6: der läuft mit dem alten perl interpreter, also hier dürften die probleme weniger auftauchen.

Pugs: den kann man mit dem alten perl zusammenkompilieren, auch hier gehen viele perl 5 Module.

Parrot/Onion:Hier siehts schon schwieriger aus. rein source module können hier mit einem perl5 interpreter gelesen und von perl 6 aus aufgerufen werden, oder sie werden mir MAD übersetzt. Binäre module werden es wohl schwieriger haben. Der XS nachfolger soll zwar wesentlich handlicher sein, verlangt wohl aber einen rewrite des bindings wenn du reine perl6-binärmodule porten willst. Bleibt noch die frage wie weit der perl 5 interpreter auf parrot XS kann, dies ist aber noch nicht klar.
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
moritz
 2007-11-10 13:38
#102171 #102171
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
Die Frage ist nicht von dem Interpreter/Compiler abhängig, weil in es in der Spezifikation festgelegt, dass perl 5 ausgeführt werden können muss. Tatsächlich muss eine offizielle Implementierung ein Skript solange als Perl 5 parsen, bis eine Anweisung kommt, die es als Perl 6 ausweist (module, class, 'use v6;' oder so).
lichtkind
 2007-11-10 14:00
#102173 #102173
User since
2004-03-22
5697 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
Natürlich ist es vom Interpreter abhängig. larry kann viel fordern. solange es keinen interpreter gibt der es ausführt, bleibt es ein schöner gedanke. Ich bin grosser freund von perl 6 aber ich sehe derzeit keinen ansatz wie XS module auf parrot laufen sollen.
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
moritz
 2007-11-10 19:36
#102186 #102186
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
So, wie bei allen anderen Interpretern/Compilern auch - mit einem dynamisch gelinkten perl5-Binary. Anders geht es nicht - es ist quasi unmöglich, perl 5 feature-identisch nachzuprogrammieren, also muss man sich die bisherige Implementierung zu nutze machen.

Pugs kriegt das zum Teil hin, ich sehe nicht, warum eine Implementierung auf Parrot-Basis das nicht schaffen sollte.
lichtkind
 2007-11-10 20:56
#102188 #102188
User since
2004-03-22
5697 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
mir ist bewusst das es möglich ist, nur halt sehr aufwendig. parrots ganzes bytecodemanagement macht daraus aber eine schwierigere aufgabe als bei pugs. und da diese aufgabe so weit ich weiss noch nicht einmal begonnen wurde, stehen in meinem gehirn an dieser stelle einige fragezeichen.
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
bloonix
 2007-11-11 12:22
#102193 #102193
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
Darüber habe ich mir auch schon des Öfteren Gedanken gemacht
und beschlossen, kein Misch Masch zu coden. Wenn ich ein Skript
nicht komplett in Perl 6 coden kann, dann wird das komplette Skript
in Perl 5 geschrieben. Erst wenn ich ein Skript komplett in Perl 6
coden kann, dann werde ich auch in Perl 6 coden.

Wenn aber Perl 6 erstmal da ist, dann wird die Portierung der bekanntesten
Module nicht lange auf sich warten. Bis dahin jedoch bleibt uns doch
immer noch das gute alte Perl 5.
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
GwenDragon
 2007-11-11 12:33
#102194 #102194
User since
2005-01-17
14748 Artikel
Admin1
[Homepage]
user image
<OFFTOPIC>
bloonix+2007-11-11 11:22:56--

Bis dahin jedoch bleibt uns doch immer noch das gute alte Perl 5.
Und es wird Leute/Firmen geben, die ihre Server nicht so schnell auf Perl 6 umstellen werden. Das problem gibt es doch bei 5.6 schon.
</OFFTOPIC>

Ich finde, dass die neuen Operatoren des Perl 6 das Leben mit Perl erheblich versüßen.
<< |< 1 2 3 4 5 >| >> 49 Einträge, 5 Seiten



View all threads created 2007-11-09 22:22.