On 4 March 2010 04:20, Dave Rolsky <[email protected]> wrote:
> I like the interface, and I think it's preferable to a separate
> Moose::Strict module.
>
> However, the problem with naming the flag "strict" is the same problem Perl
> has with the strict pragma. Strict is a very general name, which we'd be
> using simply for strict constructors right now. That means if we want to add
> _more_ types of strictness later, we're stuck with either changing the
> meaning of "-strict", or adding another flag like "-this-other-strict", both
> of which suck.
>
> So with that in mind, maybe the flag needs to be more specific, like
> "-strict-constructor".
>
> We could also offer a catchall "-all-strict-i-mean-it" flag (with a better
> name) that would be explicitly documented as something that could add more
> strictness later.

I think -strict => [args] seems better.

And I'm thinking about two other strict options:

* strict hierarchy, requiring all the parents are immutable
  because mutable parents are considered a source of problems
* strict attribute, requiring "required" or "default/builder" or "isa
=> 'Maybe[...]"
  , in order to ensure type consistency.

-- 
Goro Fuji (藤 吾郎)

Reply via email to