At any rate, most of the Perl 6 class examples I have seen are actually class hierarchy examples: all that nonsense about how dogs, trees, and ducks fit together. My first attempt, on the other hand, is a pure math class, Vector, intended to be a useful component in building up more complex geometry objects rather than be something to be derived from.
I've put what I have up now at github. (Geez, I just typed "gitbug" -- hope that wasn't a significant Freudian slip!) I'll try to talk about it in detail over the next few days (and to keep on improving it, too). For now, let me give my quick impressions of working on a numeric class in Perl 6.
Most importantly: I love this! Except for
new, the syntax is perfectly natural for me. (And
newis easy enough to get by with.) Hyperoperators made it easier to define operators that work on Vectors of arbitrary dimension it is to do strictly 3D vectors in C++ or C#. Unicode lets me define operators that have always had to be functions in C++. Perl's flexibility means Vectors can be defined over any class with vaguely numeric properties, yet it's easier than even a non-templated version would be in C++. Etc, etc.
The only drawback I have found so far is a significant Rakudobug -- you cannot define an operator which uses any version of that operator internally. So you cannot define operator + on Vector in terms of operator + on the Vector's coordinates. This is really a significant drawback for doing this sort of thing; I have worked around it by coming up with fanciful Unicode characters instead of + and -.
But except for that bug, working with this class was a dream. Everything is easy and straightforward, and amazing things can be accomplished with very little work.