D/Objective-C, extern (Objective-C)

Jacob Carlborg doob at me.com
Wed Jun 26 03:09:55 PDT 2013


On 2013-06-26 10:54, Sönke Ludwig wrote:

> I agree. Even though it may not be mentioned in books and many people
> may never see the changes, it still *does* make the language more
> complex. One consequence is that language processing tools (compilers,
> syntax highlighters etc.) get updated/written with this in mind.

I don't think there will require much change for tools (non-compilers). 
I see three "big" changes, non of them are at the lexical level:

extern (Objective-C)
[foo:bar:]
foo.class

Any tool that just deals with syntax highlighting (on a lexical level) 
should be able to handle these changes. Sure, you might want to add a 
special case for "foo.class" to not highlight "class" in this case.

> This is why I would also suggest to try and make another pass over the
> changes, trying to move every bit from language to library that is
> possible - without compromising the result too much, of course (e.g. due
> to template bloat like in the older D->ObjC bridge). Maybe it's possible
> to put some things into __traits or other more general facilities to
> avoid changing the language grammar.

I don't see what could be but in __traits that could help. Do you have 
any suggestions?

> On the other hand I actually very much hate to suggest this, as it
> probably causes a lot of additional work. But really, we shouldn't take
> *any* language additions lightly, even relatively isolated ones. Like
> always, new syntax must be able to "pull its own weight" (IMO, of course).

I would say that for anyone remotely interested in Mac OS X or iOS 
development it pull its own weight several times over. In my opinion I 
think it's so obvious it pulls its own weight I shouldn't need to 
justify the changes.

-- 
/Jacob Carlborg


More information about the Digitalmars-d-announce mailing list