Boost logo

Boost :

Subject: Re: [boost] [announce] mirror-lib 0.5.2 released
From: Edward Diener (eldiener_at_[hidden])
Date: 2011-01-14 10:20:57


On 1/14/2011 9:22 AM, Matus Chochlik wrote:
> On Fri, Jan 14, 2011 at 3:05 PM, Edward Diener<eldiener_at_[hidden]> wrote:
>> On 1/14/2011 8:52 AM, Matus Chochlik wrote:
>>>
>>> Dear list,
>>>
>>> I would like to announce that a new version
>>> of the Mirror reflection library is available
>>> for download from SourceForge:
>>>
>>> http://sourceforge.net/projects/mirror-lib/files/mirror-lib-0.5.2/
>>
>> It would be easier if this were in the Boost sandbox. But that's up to you.
>
> There is also a Git Repository here:
>
> git clone git://mirror-lib.git.sourceforge.net/gitroot/mirror-lib/mirror-lib

I see this. Thanks ! It will be a good excuse for me to learn git.

>
> I've used Subversion in the past, but last year
> I decided to switch to Git which (I really don't
> want to start the whole discussion again)
> I personally find to be "better".
>
> If there is sufficient interest I might set up a script
> that would commit the 'boostified' sources
> to the Sandbox and let cron invoke it (daily, weekly,..)
>
>>
>>>
>>> Since version 0.5.0, Mirror is being developed
>>> outside the boost namespace, but the directory
>>> linked above contains also a 'boostified' version
>>> of the sources with Jamfiles etc.
>>>
>>> Besides the docs package, the documentation
>>> is also hosted online here:
>>>
>>> http://kifri.fri.uniza.sk/~chochlik/mirror-lib/html/
>>
>> Quickly looking at the doc, what would be the reason for run-time reflection
>> of templates, since they are a compile-time mechanism ?
>
> Well one reason is that I want the compile-time
> and the run-time interface to be consistent with
> each other.

Sometimes consistency is a false goal when it serves no practical use.
There is also a very famous quote about consistency by the writer Ralph
Waldo Emerson which you can look up if you like.

> But besides that i think, that it might
> be useful to have the ability to iterate through
> meta-objects reflecting the individual template
> parameters at run time, examine them, create
> instances, etc.

Instantiating templates at run-time to create types appears very
daunting to me since this is what a compiler does at compile-time.

>
> But I don't claim to have any groundbreaking
> application for that. Currently the whole run-time
> layer is still very experimental.

I would suggest that you leave out run-time reflection of templates as
having no real use, since run-time code deals with types and objects and
templates are neither ( they are compile-time type factories so to speak ).

The rest of your library is very interesting. I still believe, although
it is a huge undertaking as you have probably experienced, that C++
run-time reflection can be a valuable resource, especially in the area
of creating a RAD development environment. So I applaud your effort. For
RAD programming Borland showed this could be done with C++ Builder and
Microsoft improved upon it with C++/CLI, but both needed language
changes/additions and neither was pure C++ standard.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk