public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* [C++] Compile-Time Reflection Branch
@ 2003-01-28 14:02 Gabriel Dos_Reis
  2003-01-28 14:15 ` Phil Edwards
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Gabriel Dos_Reis @ 2003-01-28 14:02 UTC (permalink / raw)
  To: gcc


Hi

  I've created a branch based on mainline, named "cxx-reflection-branch".
It purpose is to provide testbed for future extensions (to ISO C++ or
GNU C++) supporting compile-time reflection.

Example of works appropriate for that branch:

   * general compile-time reflection framework intended to support
     future extensions to C++ (e.g. enhanced type-traits support);

   * support for C++ template meta-programming;

   * "constrained" template-arguments support;

   * simplification and enhancement of our current template
     implementation;

   * static type issues;


After sufficient experience, the features would be backported to the
official tree for approval and, hopefully, inclusion.

I'll do a weekly merge from mainline.  The tree should be kept in a 
bootstrappable state. 

-- Gaby


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [C++] Compile-Time Reflection Branch
  2003-01-28 14:02 [C++] Compile-Time Reflection Branch Gabriel Dos_Reis
@ 2003-01-28 14:15 ` Phil Edwards
  2003-01-28 17:13   ` Diego Novillo
  2003-02-10 23:22   ` Gabriel Dos Reis
  2003-01-28 14:19 ` Gerald Pfeifer
  2003-01-28 19:32 ` Mark Mitchell
  2 siblings, 2 replies; 10+ messages in thread
From: Phil Edwards @ 2003-01-28 14:15 UTC (permalink / raw)
  To: Gabriel Dos_Reis; +Cc: gcc

On Tue, Jan 28, 2003 at 12:02:30PM +0100, Gabriel Dos_Reis wrote:
>   I've created a branch based on mainline, named "cxx-reflection-branch".
> It purpose is to provide testbed for future extensions (to ISO C++ or
> GNU C++) supporting compile-time reflection.

Are there guidelines somewhere for how to handle checkins and merges
with regard to changelog entries?  For example, the tree-ssa branch has
"ChangeLog.tree-saa" files in whatever directory they change.  I don't
know what they use for a log entry in the main changelog whenever merges
take place, though.

What are the rules for changes on this branch?

Maybe something like

    http://gcc.gnu.org/projects/tree-ssa/

somewhere?  (Although this work is not so big as tree-ssa yet.)


Phil

-- 
I would therefore like to posit that computing's central challenge, viz. "How
not to make a mess of it," has /not/ been met.
                                                 - Edsger Dijkstra, 1930-2002

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [C++] Compile-Time Reflection Branch
  2003-01-28 14:02 [C++] Compile-Time Reflection Branch Gabriel Dos_Reis
  2003-01-28 14:15 ` Phil Edwards
@ 2003-01-28 14:19 ` Gerald Pfeifer
  2003-01-28 14:27   ` Gabriel Dos Reis
  2003-01-28 19:32 ` Mark Mitchell
  2 siblings, 1 reply; 10+ messages in thread
From: Gerald Pfeifer @ 2003-01-28 14:19 UTC (permalink / raw)
  To: Gabriel Dos_Reis; +Cc: gcc

On Tue, 28 Jan 2003, Gabriel Dos_Reis wrote:
>   I've created a branch based on mainline, named "cxx-reflection-branch".

Would you mind adding an entry of this to cvs.html?

(In general, all "relevant" branches should be listed there, so in case
someone else is aware of something we lack, please go ahead an update
that as well.)

Thanks,
Gerald
-- 
Gerald "Jerry"   pfeifer@dbai.tuwien.ac.at   http://www.pfeifer.com/gerald/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [C++] Compile-Time Reflection Branch
  2003-01-28 14:19 ` Gerald Pfeifer
@ 2003-01-28 14:27   ` Gabriel Dos Reis
  0 siblings, 0 replies; 10+ messages in thread
From: Gabriel Dos Reis @ 2003-01-28 14:27 UTC (permalink / raw)
  To: Gerald Pfeifer; +Cc: Gabriel Dos_Reis, gcc

Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> writes:

| On Tue, 28 Jan 2003, Gabriel Dos_Reis wrote:
| >   I've created a branch based on mainline, named "cxx-reflection-branch".
| 
| Would you mind adding an entry of this to cvs.html?

Yes, thanks for the remind, I'll do so shortly along with answers to
Phil's queries.

-- Gaby

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [C++] Compile-Time Reflection Branch
  2003-01-28 14:15 ` Phil Edwards
@ 2003-01-28 17:13   ` Diego Novillo
  2003-02-10 23:22   ` Gabriel Dos Reis
  1 sibling, 0 replies; 10+ messages in thread
From: Diego Novillo @ 2003-01-28 17:13 UTC (permalink / raw)
  To: Phil Edwards; +Cc: Gabriel Dos_Reis, gcc

On Tue, 28 Jan 2003, Phil Edwards wrote:

> Are there guidelines somewhere for how to handle checkins and merges
> with regard to changelog entries?  For example, the tree-ssa
> branch has "ChangeLog.tree-saa" files in whatever directory
> they change. I don't know what they use for a log entry in the
> main changelog whenever merges take place, though.
> 
The main ChangeLog files get silently merged.  I add no merge
markers.  The checking message contains the phrase "Merged with
xxxx as of YYYY-MM-DD." and all the files are tagged.


Diego.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [C++] Compile-Time Reflection Branch
  2003-01-28 14:02 [C++] Compile-Time Reflection Branch Gabriel Dos_Reis
  2003-01-28 14:15 ` Phil Edwards
  2003-01-28 14:19 ` Gerald Pfeifer
@ 2003-01-28 19:32 ` Mark Mitchell
  2003-01-28 19:53   ` Gabriel Dos_Reis
  2 siblings, 1 reply; 10+ messages in thread
From: Mark Mitchell @ 2003-01-28 19:32 UTC (permalink / raw)
  To: Gabriel Dos_Reis, gcc



--On Tuesday, January 28, 2003 12:02:30 PM +0100 Gabriel Dos_Reis 
<gdosreis@sophia.inria.fr> wrote:

> After sufficient experience, the features would be backported to the
> official tree for approval and, hopefully, inclusion.

Be warned -- I will push back hard on merging anything that does not
look like it is about to be standardized in precisely the form that it
has been implemented.

(I do know how useful these features might be; CodeSourcery has
written a heck of a lot of template meta-programming code.)

I'm just one voice of course.

FYI,

-- 
Mark Mitchell                mark@codesourcery.com
CodeSourcery, LLC            http://www.codesourcery.com

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [C++] Compile-Time Reflection Branch
  2003-01-28 19:32 ` Mark Mitchell
@ 2003-01-28 19:53   ` Gabriel Dos_Reis
  0 siblings, 0 replies; 10+ messages in thread
From: Gabriel Dos_Reis @ 2003-01-28 19:53 UTC (permalink / raw)
  To: Mark Mitchell; +Cc: Gabriel Dos_Reis, gcc

| --On Tuesday, January 28, 2003 12:02:30 PM +0100 Gabriel Dos_Reis 
| <gdosreis@sophia.inria.fr> wrote:
| 
| > After sufficient experience, the features would be backported to the
| > official tree for approval and, hopefully, inclusion.
| 
| Be warned -- I will push back hard on merging anything that does not
| look like it is about to be standardized in precisely the form that it
| has been implemented.

Of course :-)

I do expect (constructive) resistance so that we don't end up with
something that is hard to maintain.  I would however be surprised to
see you oppose to support for type-traits ;-) [I proposal voted on for 
inclusion in the TRs at the last meeting]

| (I do know how useful these features might be; CodeSourcery has
| written a heck of a lot of template meta-programming code.)
| 
| I'm just one voice of course.

I'll post a check-in policy shortly -- in a nutshell I expect
fruitful discussion on each feature, involving active C++ folks
working on GCC. 

-- Gaby

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [C++] Compile-Time Reflection Branch
  2003-01-28 14:15 ` Phil Edwards
  2003-01-28 17:13   ` Diego Novillo
@ 2003-02-10 23:22   ` Gabriel Dos Reis
  2003-02-10 23:47     ` Gerald Pfeifer
  1 sibling, 1 reply; 10+ messages in thread
From: Gabriel Dos Reis @ 2003-02-10 23:22 UTC (permalink / raw)
  To: Phil Edwards; +Cc: Gabriel Dos_Reis, gcc

Phil Edwards <phil@jaj.com> writes:

| On Tue, Jan 28, 2003 at 12:02:30PM +0100, Gabriel Dos_Reis wrote:
| >   I've created a branch based on mainline, named "cxx-reflection-branch".
| > It purpose is to provide testbed for future extensions (to ISO C++ or
| > GNU C++) supporting compile-time reflection.
| 
| Are there guidelines somewhere for how to handle checkins and merges
| with regard to changelog entries?  For example, the tree-ssa branch has
| "ChangeLog.tree-saa" files in whatever directory they change.  I don't
| know what they use for a log entry in the main changelog whenever merges
| take place, though.
| 
| What are the rules for changes on this branch?
| 
| Maybe something like
| 
|     http://gcc.gnu.org/projects/tree-ssa/
| 
| somewhere?  (Although this work is not so big as tree-ssa yet.)

The below is largely based on tree-ssa/index.html.

Any comments?

-- Gaby

Index: index.html
===================================================================
RCS file: index.html
diff -N index.html
*** /dev/null	1 Jan 1970 00:00:00 -0000
--- index.html	10 Feb 2003 23:19:02 -0000
***************
*** 0 ****
--- 1,75 ----
+ <html>
+ <head>
+ <title>Compile Time Reflection and Template Meta-Programming in C++</title>
+ </head>
+ 
+ <body>
+ <h1>Compile Time Reflection for C++</h1>
+ 
+ <p>This works is part of the effort of providing support for compile
+ time reflection in C++.  A basic example of such feature is the   
+ type traits proposal by John Maddock.  More generally, this project
+ aims at providing support for compile-time features that enhance and
+ facilitate development of C++ libraries and application programs.</p> 
+ 
+ 
+ <h1>Template Meta-Programming</h1>
+ 
+ <p>This sub-project aims at implementing and providing experience with
+ features that improve support for template meta-programming and
+ constrained genericity in C++.</p>
+ 
+ <h3>Contributing</h3>
+ 
+ <p>Checkout the <code>cxx-reflection-branch</code> branch
+ following the instructions found in the <a href="../../cvs.html">CVS
+ documentation</a>.</p> 
+ 
+ <p>When posting to the development lists, please mark messages and patches with
+ <code>[cxx-reflection]</code> in the subject.  As this is a branch, and not
+ the mainline, the usual maintainer rules do not apply.  This branch is
+ maintained by <a href="mailto:gdosreis@sophia.inria.fr">Gabriel Dos Reis
+ &lt;gdosreis@sophia.inria.fr&gt;</a>.  Approval from the usual
+ maintainers will be needed when submitting patches from the branch
+ onto the mainline.</p> 
+ 
+ <h3>Branch stability</h3>
+ 
+ <p>While this is an experimental branch and people are encouraged to
+ add new features to it, default bootstraps and c-torture, C++ and Java
+ tests <em>must always work</em> before a patch is allowed in the
+ branch.  If you want to contribute a new feature that is still not
+ complete, you should:</p>
+ 
+ <ol>
+ <li>Add a new -f flag to enable your code.</li>
+ <li>Document the new -f flag in doc/invoke.texi.</li>
+ <li>Configure and bootstrap the compiler with all the default front ends
+     enabled.</li>
+ <li>Run <code>make check</code> with no new regressions.</li>
+ </ol>
+ 
+ <p>Patches that break default bootstraps will be removed (if a
+ fix is not immediately obvious).</p>
+ 
+ <p>When submitting patches that implement new fonctionalities, please
+ include a reference to the paper and/or book where you are getting the
+ complete syntactic and semantic specifications from.  If it's your own
+ research work, include a Technical Report, Thesis or Paper reference
+ for it.</p> 
+ 
+ <p>There are regular mainline merges about 3 or 4 times a month.  The
+ latest merge tag is always added to GCC's version string.  A merge may
+ be postponed if there is major breakage in mainline.</p>
+ 
+ <p>Work from the branch will be incorporated into mainline only when if 
+ <ol> 
+ <li>it can be proved that it provides better way to implement an
+ existing standard feature; or</li>
+ <li>it aims at implementing features under standardization; or <li>
+ <li>its specifications are clearly written in Standardeze and its
+ usefulness is acknowledged and accepted by the C++ front-end maintainers.
+ </ol>
+ 
+ </body>
+ </html>


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [C++] Compile-Time Reflection Branch
  2003-02-10 23:22   ` Gabriel Dos Reis
@ 2003-02-10 23:47     ` Gerald Pfeifer
  2003-02-10 23:49       ` Gabriel Dos Reis
  0 siblings, 1 reply; 10+ messages in thread
From: Gerald Pfeifer @ 2003-02-10 23:47 UTC (permalink / raw)
  To: Gabriel Dos Reis; +Cc: Phil Edwards, Gabriel Dos_Reis, gcc

On Tue, 11 Feb 2003, Gabriel Dos Reis wrote:
> The below is largely based on tree-ssa/index.html.
>
> Any comments?

Looks fine from a web page point of view.

Gerald

PS: "only when if" -- omit "when" or "if"?

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [C++] Compile-Time Reflection Branch
  2003-02-10 23:47     ` Gerald Pfeifer
@ 2003-02-10 23:49       ` Gabriel Dos Reis
  0 siblings, 0 replies; 10+ messages in thread
From: Gabriel Dos Reis @ 2003-02-10 23:49 UTC (permalink / raw)
  To: Gerald Pfeifer; +Cc: Phil Edwards, Gabriel Dos_Reis, gcc

Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> writes:

| On Tue, 11 Feb 2003, Gabriel Dos Reis wrote:
| > The below is largely based on tree-ssa/index.html.
| >
| > Any comments?
| 
| Looks fine from a web page point of view.
| 
| Gerald
| 
| PS: "only when if" -- omit "when" or "if"?

Yeah, "when" is there by mistake.  Thanks!

-- Gaby

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2003-02-10 23:49 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-01-28 14:02 [C++] Compile-Time Reflection Branch Gabriel Dos_Reis
2003-01-28 14:15 ` Phil Edwards
2003-01-28 17:13   ` Diego Novillo
2003-02-10 23:22   ` Gabriel Dos Reis
2003-02-10 23:47     ` Gerald Pfeifer
2003-02-10 23:49       ` Gabriel Dos Reis
2003-01-28 14:19 ` Gerald Pfeifer
2003-01-28 14:27   ` Gabriel Dos Reis
2003-01-28 19:32 ` Mark Mitchell
2003-01-28 19:53   ` Gabriel Dos_Reis

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 read-only IMAP folder(s) and NNTP newsgroup(s).