Hi all,

Liz and Tux demonstrate powerful Perl6 code at each monthly meeting of
our Mongers in Amsterdam.  Looking at their examples, I collected a few
questions of which I want to discuss the first one in this thread.


When I look at Merijns (Tux') code, I see a huge number of :D attributes.
    https://github.com/Tux/CSV/blob/master/lib/Text/CSV.pm

Close to all scalar positional parameter (51x) carry the :D flag.  I count
only 3 where the parameter does accept undef and the method is able to
handle it.  I count another 3 where the :D is missing, but the method is
not able the handle it.

The same for examples Liz shows us in our core code: most scalar
positional parameters have :D.

Writing a sub which is able to handle undef is usually more work than
implementing "I expect sane values for all of the parameters".


Questions:
  . are they using :D correctly?
  . the simpelest code does not handle the undef case... but now needs
    the more complex prototype to be correct.
  . it feels like the wrong default: usually you have to do something
    extra for the unusual cases, not the 90%+ usual cases.
  . :D looks really ugly, don't you think?  Try to explain to students
    to add this smiley everywhere.

Can someone explain this to me?  (Or point me to the correct place)
-- 
Thanks in advance

               MarkOv

------------------------------------------------------------------------
       Mark Overmeer MSc                                MARKOV Solutions
       m...@overmeer.net                          soluti...@overmeer.net
http://Mark.Overmeer.net                   http://solutions.overmeer.net

Reply via email to