[M3commit] CVS Update: cm3
Tony Hosking
hosking at cs.purdue.edu
Tue Feb 12 18:49:21 CET 2008
There are inherently *BAD* *BAD* things about target preprocessing.
The baddest thing is that preprocessing is defined separately from
the language, so any tools that you use to process source files
(including IDEs) have to smarten up to understand the preprocessors.
In another project I am involved in it took a year or so to *remove*
preprocessing crap from the sources so that the project could be
developed and built using Eclipse.
I would hate to see M3 go the way of C in this regard.
There are more principled ways of doing language-defined (syntactic/
checkable/tool-usable) MACROS but in my opinion those approaches will
add unnecessary complexity and clutter to what is currently a very
clean Modula-3 language specification. I STRONGLY oppose any notion
of "preprocessing" for Modula-3.
On Feb 12, 2008, at 1:32 PM, Jay Krell wrote:
> CVSROOT: /usr/cvs
> Changes by: jkrell at birch. 08/02/12 13:32:58
>
> Modified files:
> cm3/m3-libs/m3core/src/C/Common/: Cstddef.i3 m3makefile
> cm3/m3-libs/m3core/src/C/NT386/: m3makefile
> cm3/m3-libs/m3core/src/C/NT386GNU/: m3makefile
> Added files:
> cm3/m3-libs/m3core/src/C/Common/: Cstdio.i3 CstdioC.c
> Removed files:
> cm3/m3-libs/m3core/src/C/NT386/: Cstdio.i3
> cm3/m3-libs/m3core/src/C/NT386GNU/: Cstdio.i3
>
> Log message:
> a more complete fairly portable Cstdio.i3, only for NT386 for now
> (This highlights well where target-preprocessing would be useful,
> the majority of Cstdio.i3 is completely portable, except possibly
> for fpos_t, SEEK_SET/CUR/END, and fdopen/fileno, etc.)
More information about the M3commit
mailing list