Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re^4: my Dog $spot;

by TimToady (Parson)
on Jun 07, 2006 at 18:01 UTC ( [id://554103]=note: print w/replies, xml ) Need Help??


in reply to Re^3: my Dog $spot;
in thread my Dog $spot;

That's not all that people seem to be forgetting. There's this little thing called "Perl 6" coming up that has a few opinions on the subject of "my Dog $spot" as well:
http://dev.perl.org/perl6/doc/design/syn/S06.html#Value_types http://dev.perl.org/perl6/doc/design/syn/S12.html#Mutating_methods http://dev.perl.org/perl6/doc/design/syn/S02.html#Built-In_Data_Types
I understand that Perl 6 is still not on everyone's horizon yet, and that some people's horizons are farther away than others, and that's all perfectly okay. But it just seems more efficient if people think twice before doing something to Perl 5 that would be incompatible with the direction that Perl 6 is headed.

Replies are listed 'Best First'.
Re^5: my Dog $spot;
by Zaxo (Archbishop) on Jun 08, 2006 at 01:28 UTC

    My Tie::Constrained follow-on is meant to do exactly what the Value Types spec describes: to restrict the types which can be assigned to a variable. I don't imagine Perl 6's internals for my Dog $spot; will be much like Perl 5's attribute- and phash-centered code, but the effect would be the same. In fact, it would be trivial to modify T::C to get enforcement of a seperate returns property.

    The restrictions T::C can impose are quite flexible. By constructing what the pod of the current version calls &validator from &UNIVERSAL::isa or &UNIVERSAL::can, we can leash poor $spot either by type or by capability. Constraints on allowable values are just as easy to set up, and detainting before assignment is available as a bonus.

    I'm the first to admit that Perl 6 doesn't loom large for me, but I have been aware of it.

    Added: I've posted example code for a strong typing/value type Dog at Re: my Dog $spot;. It's as experimental as ever.

    After Compline,
    Zaxo

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://554103]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others wandering the Monastery: (2)
As of 2025-01-17 04:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Which URL do you most often use to access this site?












    Results (55 votes). Check out past polls.