> A behavior declaration
>  
> This has promise as well. By using a declaration like this, you can have 
> basically a DSL (using contextual keywords) to specify things like whether 
> it's lazy-initialized, decorators, and transformers. Same benefits as the 
> protocol family (e.g. good compiler checking of the behavior definition 
> before it's even used anywhere), allows for code code-completion too, and it 
> doesn't litter the global function namespace with behavior names.
>  
> The more I think about this, the more I think it's a good idea. Especially 
> because it won't litter the global function namespace with behavior names. 
> Behavior constructors should not be callable by the user, and behaviors may 
> be named things we would love to use as function names anyway (if a behavior 
> implements some functionality that is useful to be exposed to the user 
> anyway, it can vend a type like your proposal has and people can just 
> instantiate that type directly).
>  

+1 to these comments.  I think this option should at least be fleshed out 
further and receive serious consideration.
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to