[swift-evolution] #pragma

Xiaodi Wu xiaodi.wu at gmail.com
Tue Sep 6 19:44:45 CDT 2016

I'm not sure I understand. Swift comments are parsed. Are you saying that
this is a problem? If so, why do you think it's a problem?

On Tue, Sep 6, 2016 at 7:19 PM, isidoro carlo ghezzi <
isidoro.ghezzi at icloud.com> wrote:

> 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/20160906/bd59bd01/attachment.html>

More information about the swift-evolution mailing list