Steffen Schwigon ha scritto:
Hi!

gabriele renzi <[EMAIL PROTECTED]> writes:
Hi everyone!

I solved the (easy) problem 32, implementing gcd($a,$b).
You can check the code in the repository or on the web[1]

I looked at [1]. What's the purpose of "multi" in this case?
(Maybe you wanted to write it as more than one subs, did you?)

look the comment:

# Yet, it should be possible to define it even for commutative rings
# other than Integers, so we use a multi sub.

I think that in these examples we should respect the old good
programmin' habits, including the "stay open for extension" idea.
If we'd use a normal sub we would limit all the future user of gcd (which I expect to be legions ;) to using Int.

<snip>
Could someone explain me what is the expected behaviour?

Last time I experimented with this, the type system in Pugs looked
unfinished. Type constraints were syntactically accepted but worked
similar to typeless code in Perl5. I'm not sure about the current
state.

I see

Anyway, in your example I hadn't expected a value coercion (from 10.1
to 10), but something like an error if the type doesn't match.

this is what I'd like to see too, since I think it could help avoiding casual errors, and the extensibility of the system is still safe because of the multi things. But I remember reading that, by default, perl6 will try to autocoerce arguments.


--

blog en: http://www.riffraff.info
blog it: http://riffraff.blogsome.com
jabber : rff.rff at gmail dot com

Reply via email to