[swift-evolution] #pragma

isidoro carlo ghezzi isidoro.ghezzi at icloud.com
Tue Sep 6 19:19:55 CDT 2016


Just another consideration: the consequence could be about avoiding any `#pragma` (or equivalent), semantic instructions out of comments, those, in my opinion, should be fully ignored by compiler and IDE: knowing that comments are not ignored  by compiler or IDE, a developer may think not using comments his code at all.
`// isghe: maybe some hack code here it will be executed by IDE.`
That is why I am proposing a `#pragma` or equivalent.
thanks, Isidoro

On Sep 06, 2016, at 02:10 AM, isidoro carlo ghezzi <isidoro.ghezzi at icloud.com> wrote:

// isghe: ok

Sent from my iPhone

On 05 Sep 2016, at 22:31, Xiaodi Wu <xiaodi.wu at gmail.com> wrote:

I agree: "mark" (IMO) is in the same category as "todo" and "fixme", and all are bona fide comments. If you wish your code to be disabled without becoming parsed as a comment, use instead `#if false`.

On Mon, Sep 5, 2016 at 15:27 Jean-Daniel Dupas via swift-evolution <swift-evolution at swift.org> wrote:

> Le 5 sept. 2016 à 00:53, isidoro carlo ghezzi via swift-evolution <swift-evolution at swift.org> a écrit :
>
> Hi all,
>
> I think the "old style" `#pragma` is necessary in Swift.
> Exactly in the same way it is available in C/C++ or Objective-C/C++, or in something else portable way.
>
> Because `#pragma` is not handled in Swift, in Xcode they overloaded the semantic of comments, giving to the comment `// MARK:` the semantic of `#pragma mark`
>
> But my point of view is that, I would like that what it is written in a source comment (what it is written after a // or between /* */ ) should be fully ignore by compiler or IDE.
>
> I understand that maybe a compiler shouldn't lose time handling `#pragma options`, but giving semantics to source comment, I think it can be dangerous and misunderstood.
>
> The implementation in Swift compiler should be simple, ignoring any line beginning with `#pragma` (ok I know It is not simple)
> The IDE will handle the `#pragma`
>
> That's why they invented `#pragma`in C/C++ Objective-C/C++ right?

I don’t think it is a reason pragma exists. except for #pragma mark, I’m not sure the compiler ignore any pragma. They are used to control the compiler behaviors (controlling warning, specifying linker dependencies, enabled specific feature like OpenMP, etc…) and not at all to interact with the IDE. I would even says that pragma mark is an abuse of the #pragma construct as it is ignored by the compiler and used by the IDE only.

I’m strongly again introducing #pragma without very very good reason into swift. Asking the IDE to parse comment to extract metadata is not worst abusing pragma to do the same, and at least it is forward and backward compatible with any other tools.

_______________________________________________
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/20160907/effd2171/attachment.html>


More information about the swift-evolution mailing list