[swift-evolution] Custom annotation processors?

Yang Wu pinxue at gmail.com
Thu Jan 14 00:01:12 CST 2016


-1 on user-created annotation.

I wrote Java since 90s and hate user-created annotation. Annotation is indeed a backdoor in syntax system, it makes source code totally un-understandable before you read reference of the annotation. 

> 在 2016年1月14日,上午9:24,Talin via swift-evolution <swift-evolution at swift.org> 写道:
> 
> As a former Googler, I've spent a lot of years writing Java code that uses dependency injection, and this relies heavily on the ability to have custom annotations/attributes in the language - particularly, user-defined attributes on function parameters - and to generate additional code at compile time via annotation processors. Although dependency injection does have it's detractors, it's getting better (current best of breed is http://google.github.io/dagger/ <http://google.github.io/dagger/>), and it solves an amazing array of problems, including the ability for asynchronous programming to disappear into the underlying framework - you just write synchronous code and the framework handles the rest (no more futures!).
> 
> Now, you can of course do dependency injection without custom attribute support in the language, but it's much more cumbersome. The user-defined attributes allow you to specify, in a simple declarative way, the runtime dependencies between various classes. Without it you have to build up those dependencies in code, using some sort of fluent interface or builder pattern.
> 
> So my question is, is there any plan for Swift to support user-created annotations, and annotation processing compilation stages?
> 
> -- 
> -- Talin
>  _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160114/fda46053/attachment.html>


More information about the swift-evolution mailing list