incubator-lucy-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marvin Humphrey <>
Subject Target platforms
Date Fri, 27 Nov 2009 19:23:45 GMT
On Fri, Nov 27, 2009 at 10:21:06AM -0800, Nathan Kurz wrote:
> More generally, it might be nice to make such goals explicit somewhere.

Yes, for example as Parrot has done with "Target Platforms" at.

> Optimized for: 64-bit systems using GCC and supporting mmap would
> probably be my vote.


> Making MSVC a first class citizen would be fine if you think the return is
> there.

No, as far as I'm concerned MSVC is a compatibility target. 

I think it's important for our users to provide wide portability, and that
means supporting MSVC.  E.g. I want somebody's platform-portable wiki project
or MVC framework to be able to integrate Lucy without hesitation.

However, Microsoft needs to work a lot harder to make my life easier as an
open source C developer if they want first-class status.

> Supported on: Any modern system with a C99 compiler?  Is there any
> real reason to maintain C89 compatibility?

MSVC has a couple important C89 limitations: it can't handle
declaration-after-statement, and it can't handle variadic macros.

Pure C89 is impossible anyway, because we need directory manipulation and c89
doesn't specify that.

> Consciously unsupported: Vax, etc.   

  * Any system without IEEE 754 floating point numbers.

> Requiring C99 might create a natural boundary between legacy and 'modern'.

Except that nobody actually implements all of C99, so we'd have a nice bright
dividing line with everybody on one side.  :)

GCC is close, but even it's not there yet.

So we're stuck either drawing up an arbitrary feature list, or using
time-based boundaries a la Parrot.

Marvin Humphrey

View raw message