From: tfb@tfeb.org (Tim Bradshaw)
Subject: [TUHS] Mac OS X is Unix
Date: Tue, 3 Jan 2017 23:39:01 +0000 [thread overview]
Message-ID: <9FC94387-9453-4BCF-8FBE-37193D70E512@tfeb.org> (raw)
In-Reply-To: <CAP6exYJFMLOUVcJKopJieYpJgcKqEetMxim81nAWXE81rmq-6w@mail.gmail.com>
I think you can do so only if every language processor you ever expect to deal with your code is lexically-compatible: you *can't* do so if the lexer will puke: you need some frontend which will prevent the lexer ever seeing the toxin, and that thing is what Lisp would call read-time conditionalization. Plan 9 and Go both avoid this problem by being single-implementation or nearly-single-implementation systems: many things are easier with that assumption.
> On 3 Jan 2017, at 22:12, ron minnich <rminnich at gmail.com> wrote:
>
>
>
>> On Tue, Jan 3, 2017 at 2:07 PM Lyndon Nerenberg <lyndon at orthanc.ca> wrote:
>>
>>
>> Plan 9 refreshingly evicted this nonsense from the native compilers (mostly) and the code base.[1]
>
> Yes, You can write portable code without #ifdef, configure scripts, and libtool. Plan 9 shows how.
>
> Some people get upset at mentions of Plan 9, however, so for a more current example, the Go source tree is a good reference. There's no cpp in Go, thank goodness, and they've shown superior portability to systems that revolve around #ifdef.
>
> ron
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20170103/906d460f/attachment.html>
next prev parent reply other threads:[~2017-01-03 23:39 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-03 20:19 Doug McIlroy
2017-01-03 21:05 ` Charles Anthony
2017-01-03 21:33 ` [TUHS] When was #if introduced in C? (was: Re: Mac OS X is Unix) Michael Kjörling
2017-01-03 21:53 ` Robert Swierczek
2017-01-03 21:57 ` Clem Cole
2017-01-03 21:56 ` Clem Cole
2017-01-03 21:35 ` [TUHS] Mac OS X is Unix Clem Cole
2017-01-03 22:10 ` Lyndon Nerenberg
2017-01-03 21:39 ` Lyndon Nerenberg
2017-01-03 22:12 ` ron minnich
2017-01-03 23:39 ` Tim Bradshaw [this message]
2017-01-04 0:12 ` ron minnich
2017-01-04 9:11 ` Tim Bradshaw
2017-01-04 10:04 ` Álvaro Jurado
2017-01-04 0:13 ` Steve Johnson
2017-01-04 3:50 ` Dan Cross
2017-01-04 12:26 ` Tim Bradshaw
2017-01-04 13:49 ` Random832
2017-01-04 15:02 ` Dan Cross
2017-01-04 17:14 ` tfb
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=9FC94387-9453-4BCF-8FBE-37193D70E512@tfeb.org \
--to=tfb@tfeb.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).