[Vienna-pm] Hausbackene Syntaxerweiterung mit Perl5?
Robert Barta
rho at devc.at
Tue Apr 29 20:50:04 PDT 2008
On Tue, Apr 29, 2008 at 10:27:13PM +0200, Thomas Klausner wrote:
> Hi!
>
> On Tue, Apr 29, 2008 at 07:11:04PM +0200, Robert Barta wrote:
> > Kurze Frage: Wenn ich in meinen Perl Programmen so etwas
> > gerne hinschreiben wuerde
> > my @students = ....;
> > my @cleverlies = from $s in @students
> > where $s->{marks} > 85
> > select $s->{matrikelnr};
> >
>
> Soll das auf eine DB zugreifen? Oder willst du "nur" einen Array of
> Hashrefs durchwuehlen?
>
> wenn letzteres:
>
> my @cleverlies = map { $_->{matrikelnr} }
> grep { $_->{marks} > 85 }
> @students;
Der Clue an dem LINQ ist, dass man mit dem selben Zugriffsmechanismus
auf in-memory Objekte, relational DBs, XML structures, und - das
interessiert mich hier hauptsaechlich - auf Topic Map und RDF KBs
zugreifen kann. LINQ ist nun Teil von C# (das langsam Perl6 immer
aehnlicher wird, naja langsam).
http://msdn.microsoft.com/en-us/vbasic/aa904594.aspx
Ich moecht' hauptsaechlich einmal einen proof-of-concept mit TMs
bauen. Die Syntaxerweiterung ist eigentlich eh Augenauswischerei,
weil ein
@some_collection = from $v in @other_collection
where ...
select ....
intern auf lauter Methoden mit lambda expressions umgebogen wird:
@other_collection.where (...)
.select ()
\rho
More information about the Vienna-pm
mailing list