comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Is this expected behavior or not
Date: Fri, 29 Mar 2013 19:49:25 -0500
Date: 2013-03-29T19:49:25-05:00	[thread overview]
Message-ID: <kj5cqn$8q7$1@munin.nbi.dk> (raw)
In-Reply-To: byacn0wck9qt$.norrlukaw80l$.dlg@40tude.net

"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message 
news:byacn0wck9qt$.norrlukaw80l$.dlg@40tude.net...
> On Thu, 28 Mar 2013 16:55:34 -0500, Randy Brukardt wrote:
>
>> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message
>> news:cqf0yy6q930$.1sdzw45bc0c1w.dlg@40tude.net...
>
>>> These are two data types, string and slice. Are you treating slice as an
>>> Ada-subtype of string? I consider slice a member of same class as 
>>> string,
>>> yet a distinct type (in Ada sense). This is like 4.1.5, but in the same
>>> type hierarchy.
>>
>> I thought you might do that, but then you're going to have problems of
>> compatibility (Ada currently considers them the same type). An operation
>> like "&" cannot not allow mixed string operands (if you do allow that, 
>> you
>> make string literals ambiguous).
>
> Right, if strings form a hierarchy, then "&" must be primitive and a
> multi-method. There is no alternative to that. Even if you are going to 
> add
> a completely new set of string types without slices you still will have
> this problem:
>
>   declare
>        X : New_String_Type;
>        Y : A_Descendant_Of;
>    begin
>        ... X & Y ...;  -- Is this legal? Does it raise Constraint_Error?
>
> The answers must be yes, no. And for this "&" must be a multi-method with
> all combinations of argument and the result types defined. Making some of
> them class-wide could reduce the number of combinations. And it will be
> ambiguous with literals and other overloaded operations returning string
> objects.

Well, actually, the answer is "no, irrelevant" as it is for the existing Ada 
types. You can always use an explicit type conversion if you need these to 
match. If each type effectively has its own literals, then this works 
perfectly. Mixing types is precisely the sort of thing you don't want to do 
in a strong typing environment.

I think this problem illustrates why the schemes you are thinking of will 
never be used -- they just add far too much complexity to the language. 
Maybe the 10000 foot view is simpler, but the complexity under the hood 
would be extremely difficult to implement.

>>>> Nobody wants "type cloning".
>>>
>>> It is a very useful building block to me. Anyway it is Ada 83 legacy.
>>
>> Ada 83 derived types are virtually useless, and no one understood how 
>> they
>> worked.
>
> What would you do if you need a new type with same properties. Copy-paste?

Make a new declaration, using constants for the properties. But the real 
answer is that this never happens, so it's a bogus concern. If the 
properties are truly the same, it's hardly likely that the type is the same. 
After all, the maximum number of Apples and Oranges is unlikely to be the 
same (the physical properties differ).

> Example:
>
>   type Position is <some positive number>;
>   type Key is some <some positive number>;
>   type Container is ...;
>
> How do you prevent Position and Key mixed in Container operations if they
> belong to same hierarchy?

If the container operations take parameters of type Key, then you can only 
pass a Position to such a parameter if you use an explicit conversion. 
That's how it works in Ada today - there's no automatic conversion between 
different specific types. If you have Root_Integer'Class parameters, then 
you made a choice to have weak typing, so there is no problem.

I think you're overthinking this...

 ...
> The model of Ada 95 tagged types provides a class with shared
> representations. This need to be augmented for the case when
> representations has to be different. Note that this was partially done 
> when
> Java interfaces were added in Ada 2005. Java interface is a type without
> any representation, so there is nothing to inherit from, except for a slot
> for the type tag. Drop that slot, and you will have a workable model for
> building classes of scalar types and arrays.

I don't know how one could implement "interfaces" without a tag. And there 
is no requirement in Ada that the representations of the tag be the same 
(although an implementation can impose one since there is no requirements 
about supporting tag positions).

>>> We also need "extension" that drops parent's representation altogether.
>>> E.g. something like:
>>>
>>>   type Character is new Unsigned_8 -- or enumeration, whatever
>>>      and Wide_Wide_Character'Interface;
>>>
>>> Character is member of Wide_Wide_Character'Class with a representation
>>> different from Wide_Wide_Character.
>>
>> I don't think that would work semantically, at least in the 'Class case.
>> Unless you expect every operation down to assigning individual components 
>> to
>> be dispatching, even in primitive routines defined for a specific type.
>
> Exactly! I want all that mess to become orderly defined primitive
> operations. This also includes attributes and aspects. There should be no
> special cases like T'Read, ":=" etc. There should be no magic and strange
> stuff like attributes, slices, ranges, aspects infesting the language, 
> only
> objects and operations.

You miss my point: the effect is to make *every* operation in *every* 
subprogram -- including specific ones -- dispatching -- which would be way 
too expensive in practice (no optimization would be possible).

>> That's because you can't copy all tagged types (we have to have limited
>> types), and thus calling a parent operation would have to assume that
>> extensions have a different representation. That would both have problems 
>> of
>> re-dispatch and simply would be awfully expensive (you'd have to do full
>> program compilation to have any hope of decent code).
>
> Re-dispatch is a bad idea anyway.
>
> Yes, for untagged classes the conversions from the specific type to a 
> class
> and backwards are no more for free. But these types are meant to be
> copyable anyway.

You are still misunderstanding. You'd *have* to have redispatch because the 
only way to implement inheritance would be to make all operations (even 
those very low-level ones) dispatching in *all* instances. There could be no 
statically bound operations.

>> The only alternative would be to totally ban implementation inheritance 
>> on
>> such types, but as implementation inheritance is 10 times more useful 
>> than
>> interface inheritance, it would make the construct 95% useless.
>
> Huh, and you tell me that type cloning is useless? Cloning is all about
> implementation inheritance.

The only useful inheritance is implementation inheritance, but it requires 
all of the types to be in the same hierarchy so that they can be 
interconvertable. (That doesn't necessarily mean *cheaply* 
interconvertable.) Interfaces are useful only in a very small % of cases, 
and that is such a small % that I wouldn't bother at all (certainly not more 
than Ada 95 abstract types).

> For copyable objects implementation inheritance is much less interesting
> than for by-reference types. Operations (especially cross operations) need
> to be re-implemented anyway, at least for performance reasons. Few other
> operations are [conversion ->] inherited body [-> conversion].

Not all objects that have different representations are copyable. (Consider 
an array of some_task'class). Whatever solution one has for untagged types 
has to be able to deal with uncopyable objects with different 
representations.

But banning implementation inheritance makes the whole thing useless IMHO, 
and supporting it is too expensive. It really kills the entire idea.

>>> Making it regular is a simplification.
>>
>> This isn't regular. All numeric types are currently members of a single
>> hierarchy,
>
> It is not a single hierarchy. It is a forest of similar hierarchies. They
> are similar just because they were constructed by the compiler rather than
> by the programmer. It is nominal vs. structured. Same structure does not
> imply equality, at least, it is meant to be so in Ada.

No, you need to read the RM again. All integer types are effectively derived 
from Universal_Integer, and all of the rest are derived from Universal_Real. 
There are only two hierachies. You're just not allowed to name them, which 
is limiting in various ways (especially as you can use 'Pos to force 
run-time operations to occur for Universal_Integer).

>> and in practice, the vast majority of tagged types are members of
>> two hierarchies (controlled and limited controlled).
>
> So what? This is equivalent to say that a type can be either copyable or
> else not. Yes, "copyable" is an interface. There is a countable infinity 
> of
> other interfaces a type may implement. Which is why multiple inheritance 
> is
> so important.

You mean why it is so useless. If you break down every possible property of 
a type as an interface, you'll end up with a very expensive complex 
structure. The only way I know of to implement multiple inheritance is with 
a linked-list of tags, which isn't too bad when only a few interfaces are 
involved. But once you get the dozens you're talking about, it's going to 
cause a very significant overhead.

> But even if two types implement the same interface, e.g. can be copied,
> that by no means should automatically imply that these types must belong 
> to
> the same hierarchy. This decision is up to the programmer.

I suspect that *all* types should belong to the same hierarchy, if you are 
going this OOP route. Because you need operations that work on every object, 
copyable or not. Remember, there are no type conversions between types in 
different hierarchies.

> Type cloning is a valuable mechanism to insulate type hierarchies against
> each other.
>
> Consider a container type defined for Copyable'Class. How do you prevent
> mixing apples and oranges in there? Creating two new container types for
> copyable apples and copyable oranges?

Of course you have separate containers for each kind of thing that they 
contain. When you define a container for Copyable'Class, you are allowing 
anything non-limited in that container -- you've specifically decided not to 
enforce any sort of checking on the contents.

> But they are still the same
> hierarchy. You need some fundamental operation which tells that a type
> breaks off the hierarchy.

Yes, of course all containers ought to be members of the same hierarchy. How 
else would you create generic algorithms? It's unfortunate that Ada doesn't 
allow this because the element type makes it impossible. No idea how to work 
around that.

>> More hierarchies don't buy anything (you can always move your 'Classes
>> around in the hierarchy to get subsets).
>
> They buy safety through type checks.

Since *every* type in a hierarchy is different and cannot be mixed with any 
other type unless you explicitly request it (via declaring something to be 
class-wide), you are gaining absolutely nothing by added hierarchies.

...
>> The issue today is that you can't name those
>> hierarchies, that's what untagged 'Class would allow.
>
> Name it a "taxonomy" then.

I see, you're wasting my time again by changing the terminology on the fly. 
I should know better than to discuss anything substantive with you. My 
mistake.

 ...
>> Preference rules cause Beaujolias effects, and almost never can be
>> tolerated.
>
> The idea that you can have an object of partially visible type was likely
> wrong. So the separation of "with" and "use" was an mistake too. The
> language should rather prevent declarations which are doomed to cause
> ambiguities later.

No one has ever figured out how to do that, and in any case, it would be 
incompatible with Ada as it stands. We can't even do simple things like make 
objects overloadable because of compatibility concerns -- changing the 
visibility model is a non-starter.

>> As soon as user-defined things are involved, preference rules simply 
>> don't
>> work.
>
> Some rules are clearly needed to choose between:
>
>   function "&" (Left : String; Right : Wide_String) return Wide_String;
>   function "&" (Left : String; Right : Wide_String) return String;

There are no such operations predefined in Ada, and that's because you 
*can't* chose between them. You can of course declare them yourself (that's 
essentially what happens in Ada.Strings.Unbounded), but the net effect is 
that you then cannot use literals with such a type. Ada does not attempt to 
prevent you from shooting yourself in the head. :-)

>> The problem being that adding
>> or removing a single declaration can silently change the meaning of an
>> expression without causing an error. This is considered intolerable.)
>
> Not always. It is OK with overriding.

That isn't quite the same thing, because the declaration in question is 
replacing one, not adding or removing one. And of course in a good system 
they'll also have the same preconditions and postconditions, meaning that 
the changed operation would have very similar semantics.

The cases I'm thinking about have to do with ordinary object declarations 
being added or removed elsewhere in the program. Changing the object used 
silently is intolerable.

Personally, however, I've concluded that the OOP cases are also very 
dangerous. Maybe not quite to the level of "intolerable", but pretty close. 
That's the curse of OOP: not being able to figure out what routine is being 
called (and especially why the *wrong* routine is being called).

> My take on this that the language should prevent situations when you have
> an object with some of its operations invisible, especially, when these
> operations override the same primitive operation. I think this should be
> possible to do while keeping it backward compatible, because standard 
> types
> are always visible anyway.

Huh? This is very common with private types. With interfaces, we enforced 
such a rule and it is rather limiting.

Claw uses hidden operations on window objects to keep the mechanisms of the 
message loop hidden away. Otherwise, we'd have no way to ensure that our 
objects are getting the messages as intended, and it would be impossible to 
make anything work reliably. These routines have to be dispatching, as the 
responses to different messages obviously depend on the kind of object they 
are associated with. So they have to be inherited and overriddable, but not 
changable by clients (who might be doing their own overriding of public 
operations for their own purposes).

In general, designers of good libraries need to be able to hide the 
mechanics of the implementation from clients (both for understandability and 
to prevent people from screwing them up). Without being able to hide 
operations, there is no hope of that.

>> My contention remains: if you are going to allow user
>> "Handle.all", then you need to expose the type of Handle.all. If you 
>> don't
>> need to allow that, then you are not going to use 4.1.5 at all. So I fail 
>> to
>> see your concern.
>
> I don't need Handle.all, but I do need Handle.Foo meaning Handle.all.Foo.
> Publicly it is an opaque by-copy type, privately it is an access type.

In this case, you're probably not using 4.1.5, because it is only about .all 
(and writing into .all specifically).

If you are using 4.1.5 (to allow writing into Foo), you're exposing an 
access to the type of Foo, not to the file type.

>> Unless you want to drive
>> yourself nuts with OOP baloney - and it's never going to be possible to 
>> do
>> these sorts of checks with type checking.
>
> I don't understand why it has to be impossible to have:
>
>   type File is ...;
>
>   type Read_File is new File ...;
>   prcodure Read (X : in out File; Data : out Stream_Element_Array);
>
>   type Write_File is new File ...;
>   procedure Write (X : in out File; Data : Stream_Element_Array);
>
>   type Readwrite_File is new Read_File and Write_File ...;
>
> with concrete types, but well possible with interfaces.
>
> The nature of the check that the operation Write is not applied to
> Read_File is exactly same in both cases.

You can do this sort of thing in exceedingly simple cases. But it simply 
gets too complex the more properties that you try to decompose on. And every 
such property is making all of your dispatching calls slower and slower.

Moreover, most interesting properties are not binary like the file mode. 
They tend to depend on the *values* of parameters, and often on combinations 
of values. It just is too complex to do.

> It is not about checking, especially because the above construct is still
> possible to get through generics. It is just a stupid limitation motivated
> by urban legends mindlessly repeated through (using you wording) 
> OO-baloney
> texts.

Implementability is hardly an "urban legend". If the resulting code is too 
slow to use, then it's pretty silly to structure it that way, even if it is 
theoretically possible.

                                                   Randy.





  reply	other threads:[~2013-03-30  0:49 UTC|newest]

Thread overview: 242+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-11 19:42 Is this expected behavior or not Anh Vo
2013-03-11 20:01 ` Robert A Duff
2013-03-11 20:41   ` Shark8
2013-03-12  9:27     ` Dmitry A. Kazakov
2013-03-12 17:19       ` Robert A Duff
2013-03-12 17:42         ` Dmitry A. Kazakov
2013-03-12 18:04           ` Georg Bauhaus
2013-03-12 18:21             ` Dmitry A. Kazakov
2013-03-12 22:23               ` Georg Bauhaus
2013-03-13  8:49                 ` Dmitry A. Kazakov
2013-03-13  9:45                   ` J-P. Rosen
2013-03-13 13:31                     ` Dmitry A. Kazakov
2013-03-13 14:34                       ` Georg Bauhaus
2013-03-13 15:51                         ` Dmitry A. Kazakov
2013-03-13 16:56                           ` Jeffrey Carter
2013-03-13 17:09                             ` Shark8
2013-03-13 17:32                           ` Georg Bauhaus
2013-03-13 19:28                             ` Dmitry A. Kazakov
2013-03-13 21:01                               ` Randy Brukardt
2013-03-13 21:18                                 ` Dmitry A. Kazakov
2013-03-14 21:51                                   ` Randy Brukardt
2013-03-15  1:10                                     ` Adam Beneschan
2013-03-15 21:22                                       ` Randy Brukardt
2013-03-15  9:20                                     ` Dmitry A. Kazakov
2013-03-15 21:43                                       ` Randy Brukardt
2013-03-16  7:56                                         ` Dmitry A. Kazakov
2013-03-18 22:52                                           ` Randy Brukardt
2013-03-19 10:32                                             ` Dmitry A. Kazakov
2013-03-13 21:37                               ` Georg Bauhaus
2013-03-14 11:18                                 ` Dmitry A. Kazakov
2013-03-14 12:37                                   ` Georg Bauhaus
2013-03-14 14:26                                     ` Dmitry A. Kazakov
2013-03-14 14:57                                       ` Georg Bauhaus
2013-03-14 15:51                                         ` Anh Vo
2013-03-14 16:21                                       ` J-P. Rosen
2013-03-14 17:29                                         ` Dmitry A. Kazakov
2013-03-14 18:16                                           ` Georg Bauhaus
2013-03-15  9:33                                             ` Dmitry A. Kazakov
2013-03-15 10:05                                               ` Georg Bauhaus
2013-03-15 11:15                                                 ` Dmitry A. Kazakov
2013-03-14 22:12                                           ` Randy Brukardt
2013-03-15  9:46                                             ` Dmitry A. Kazakov
     [not found]                                             ` <ewe0v3ck1xdo$.e8rtuof27ke6$.dlg@40tude.net >
2013-03-15 21:17                                               ` Randy Brukardt
2013-03-16  7:51                                                 ` Dmitry A. Kazakov
2013-03-16  9:30                                                   ` Georg Bauhaus
2013-03-16 10:27                                                     ` Dmitry A. Kazakov
2013-03-16 11:37                                                       ` Georg Bauhaus
2013-03-16 13:04                                                         ` Dmitry A. Kazakov
2013-03-16 16:10                                                           ` Georg Bauhaus
2013-03-16 17:47                                                             ` Dmitry A. Kazakov
2013-03-18 22:36                                                   ` Randy Brukardt
2013-03-19 10:14                                                     ` Dmitry A. Kazakov
2013-03-19 14:23                                                       ` Georg Bauhaus
2013-03-19 15:13                                                         ` Dmitry A. Kazakov
2013-03-19 16:52                                                           ` Georg Bauhaus
2013-03-19 17:31                                                             ` Dmitry A. Kazakov
2013-03-19 20:07                                                               ` J-P. Rosen
2013-03-19 20:45                                                                 ` Dmitry A. Kazakov
2013-03-19 21:59                                                                   ` J-P. Rosen
2013-03-20 10:04                                                                     ` Dmitry A. Kazakov
2013-03-20 11:01                                                                       ` J-P. Rosen
2013-03-20 13:21                                                                         ` Dmitry A. Kazakov
2013-03-20 23:31                                                                           ` Randy Brukardt
2013-03-21  9:08                                                                             ` Dmitry A. Kazakov
2013-03-22 10:23                                                                           ` J-P. Rosen
2013-03-22 14:54                                                                             ` Dmitry A. Kazakov
2013-03-22 22:18                                                                               ` J-P. Rosen
2013-03-22 23:05                                                                                 ` Shark8
2013-03-23  8:32                                                                                   ` Dmitry A. Kazakov
2013-03-23  8:14                                                                                 ` Dmitry A. Kazakov
2013-03-23  9:02                                                                                   ` J-P. Rosen
2013-03-23 10:19                                                                                     ` Dmitry A. Kazakov
2013-03-23 21:53                                                                                       ` J-P. Rosen
2013-03-24  8:17                                                                                         ` Dmitry A. Kazakov
2013-03-24  8:27                                                                                           ` J-P. Rosen
2013-03-24 13:01                                                                                             ` AdaMagica
2013-03-25  8:32                                                                                             ` Dmitry A. Kazakov
2013-03-25  9:19                                                                                               ` Georg Bauhaus
2013-03-25 10:08                                                                                                 ` Dmitry A. Kazakov
2013-03-19 21:37                                                       ` Randy Brukardt
2013-03-20  8:48                                                         ` Dmitry A. Kazakov
2013-03-14 16:22                                       ` Shark8
2013-03-14 17:08                                         ` Dmitry A. Kazakov
2013-03-13 22:34                               ` Robert A Duff
2013-03-14  9:09                                 ` Dmitry A. Kazakov
2013-03-14  9:27                                   ` Georg Bauhaus
2013-03-13 17:05                         ` Shark8
2013-03-13 17:45                           ` Simon Wright
2013-03-13 19:37                             ` Dmitry A. Kazakov
2013-03-13 19:54                               ` Simon Wright
2013-03-13 20:54                                 ` Dmitry A. Kazakov
2013-03-13 21:28                                   ` Simon Wright
2013-03-14  9:16                                     ` Dmitry A. Kazakov
2013-03-14 16:42                                       ` Simon Wright
2013-03-14 17:05                                         ` Dmitry A. Kazakov
2013-03-13 22:12                                   ` Robert A Duff
2013-03-13 21:47                                 ` Jeffrey Carter
2013-03-13 21:09                               ` Randy Brukardt
2013-03-13 22:48                                 ` Shark8
2013-03-14 22:01                                   ` Randy Brukardt
2013-03-15  3:27                                     ` Shark8
2013-03-15 21:05                                       ` Randy Brukardt
2013-03-15 21:46                                         ` Robert A Duff
2013-03-16  5:52                                           ` Shark8
2013-03-16  7:41                                             ` Dmitry A. Kazakov
2013-03-16 16:55                                               ` Shark8
2013-03-16 17:36                                                 ` Dmitry A. Kazakov
2013-03-16 21:51                                                   ` Shark8
2013-03-17  9:36                                                     ` Dmitry A. Kazakov
2013-03-18 23:13                                                       ` Randy Brukardt
2013-03-19  9:12                                                         ` Dmitry A. Kazakov
2013-03-19 21:19                                                           ` Randy Brukardt
2013-03-20 11:21                                                             ` Dmitry A. Kazakov
2013-03-20 23:57                                                               ` Randy Brukardt
2013-03-21 10:30                                                                 ` Dmitry A. Kazakov
2013-03-21 23:27                                                                   ` Randy Brukardt
2013-03-22 16:07                                                                     ` Dmitry A. Kazakov
2013-03-22 20:10                                                                       ` Shark8
2013-03-22 20:51                                                                         ` Dmitry A. Kazakov
2013-03-22 23:34                                                                           ` Robert A Duff
2013-03-23  8:41                                                                             ` Dmitry A. Kazakov
2013-03-23  2:29                                                                           ` Nasser M. Abbasi
2013-03-23  2:33                                                                       ` Randy Brukardt
2013-03-23  4:44                                                                         ` Shark8
2013-03-25 22:24                                                                           ` Randy Brukardt
2013-03-26  1:15                                                                             ` Shark8
2013-03-23  9:53                                                                         ` Dmitry A. Kazakov
2013-03-25 22:58                                                                           ` Randy Brukardt
2013-03-26 10:52                                                                             ` Dmitry A. Kazakov
2013-03-26 21:31                                                                               ` Randy Brukardt
2013-03-27  9:37                                                                                 ` Dmitry A. Kazakov
2013-03-27 19:42                                                                                   ` Randy Brukardt
2013-03-28 13:50                                                                                     ` Dmitry A. Kazakov
2013-03-28 21:55                                                                                       ` Randy Brukardt
2013-03-29 12:26                                                                                         ` Dmitry A. Kazakov
2013-03-30  0:49                                                                                           ` Randy Brukardt [this message]
2013-03-30  2:55                                                                                             ` Shark8
2013-04-01 23:43                                                                                               ` Messaging question [was: Is this expected behavior or not] Randy Brukardt
2013-03-30  9:20                                                                                             ` Is this expected behavior or not Dmitry A. Kazakov
2013-04-02  0:40                                                                                               ` Randy Brukardt
2013-04-02  8:44                                                                                                 ` Dmitry A. Kazakov
2013-04-02 21:54                                                                                                   ` Randy Brukardt
2013-04-03  8:54                                                                                                     ` Dmitry A. Kazakov
2013-04-04  0:04                                                                                                       ` Randy Brukardt
2013-04-04  8:26                                                                                                         ` Dmitry A. Kazakov
2013-04-04 20:31                                                                                                           ` Randy Brukardt
2013-04-05  9:57                                                                                                             ` Dmitry A. Kazakov
2013-04-05 12:45                                                                                                               ` Stefan.Lucks
2013-04-05 12:49                                                                                                                 ` Stefan.Lucks
2013-04-05 14:19                                                                                                                   ` Dmitry A. Kazakov
2013-04-05 14:44                                                                                                                     ` Stefan.Lucks
2013-04-05 16:11                                                                                                                       ` Dmitry A. Kazakov
2013-04-05 19:02                                                                                                                         ` Stefan.Lucks
2013-04-05 19:34                                                                                                                           ` Dmitry A. Kazakov
2013-04-05 20:23                                                                                                                             ` Stefan.Lucks
2013-04-06  7:39                                                                                                                               ` Dmitry A. Kazakov
2013-04-07 18:10                                                                                                                                 ` Stefan.Lucks
2013-04-07 18:23                                                                                                                                   ` Dmitry A. Kazakov
2013-04-05 20:38                                                                                                                             ` Stefan.Lucks
2013-04-05 14:36                                                                                                                 ` Dmitry A. Kazakov
2013-04-05 15:16                                                                                                                   ` Stefan.Lucks
2013-04-05 16:29                                                                                                                     ` Dmitry A. Kazakov
2013-04-05 19:55                                                                                                                       ` Stefan.Lucks
2013-04-06  1:45                                                                                                                         ` Randy Brukardt
2013-04-06  7:54                                                                                                                         ` Dmitry A. Kazakov
2013-04-07 18:17                                                                                                                           ` Stefan.Lucks
2013-04-07 18:28                                                                                                                             ` Dmitry A. Kazakov
2013-04-08  7:48                                                                                                                               ` Stefan.Lucks
2013-04-08  8:59                                                                                                                                 ` Dmitry A. Kazakov
2013-04-08 15:35                                                                                                                                   ` Stefan.Lucks
2013-04-08 19:08                                                                                                                                     ` Dmitry A. Kazakov
2013-04-09  7:18                                                                                                                                       ` Stefan.Lucks
2013-04-09  8:17                                                                                                                                         ` Dmitry A. Kazakov
2013-04-09 15:20                                                                                                                                           ` Stefan.Lucks
2013-04-09 16:15                                                                                                                                             ` Dmitry A. Kazakov
2013-04-09 22:59                                                                                                                                             ` Randy Brukardt
2013-04-09 22:57                                                                                                                                           ` Randy Brukardt
2013-04-10  7:30                                                                                                                                             ` Dmitry A. Kazakov
2013-04-10  8:00                                                                                                                                             ` Root_String'Class? (Was: Is this expected behavior or not) Jacob Sparre Andersen
2013-04-10 21:48                                                                                                                                               ` Randy Brukardt
2013-04-09 22:53                                                                                                                                     ` Is this expected behavior or not Randy Brukardt
2013-04-09 22:45                                                                                                                                   ` Randy Brukardt
2013-04-10  7:37                                                                                                                                     ` Dmitry A. Kazakov
2013-04-10 22:15                                                                                                                                       ` Randy Brukardt
2013-04-11  7:33                                                                                                                                         ` Dmitry A. Kazakov
2013-04-11 22:37                                                                                                                                           ` Randy Brukardt
2013-04-12  7:47                                                                                                                                             ` Dmitry A. Kazakov
2013-04-13  0:26                                                                                                                                               ` Randy Brukardt
2013-04-13  0:35                                                                                                                                               ` Randy Brukardt
2013-04-13  7:07                                                                                                                                                 ` Dmitry A. Kazakov
2013-04-06  1:38                                                                                                                       ` Randy Brukardt
2013-04-06  1:20                                                                                                               ` Randy Brukardt
2013-04-06  5:20                                                                                                                 ` Usefulness of OOP (was Is this expected behavior or not) J-P. Rosen
2013-04-06 10:31                                                                                                                   ` Dmitry A. Kazakov
2013-04-06 18:43                                                                                                                     ` Georg Bauhaus
2013-04-07  7:00                                                                                                                 ` Is this expected behavior or not Dmitry A. Kazakov
2013-04-09 23:24                                                                                                                   ` Randy Brukardt
2013-04-10  8:20                                                                                                                     ` Dmitry A. Kazakov
2013-04-10 22:07                                                                                                                       ` Randy Brukardt
2013-04-11  7:59                                                                                                                         ` Dmitry A. Kazakov
2013-04-11 11:10                                                                                                                           ` Georg Bauhaus
2013-04-11 13:49                                                                                                                           ` J-P. Rosen
2013-04-11 15:07                                                                                                                             ` Dmitry A. Kazakov
2013-04-12  4:39                                                                                                                               ` J-P. Rosen
2013-04-12  8:00                                                                                                                                 ` Dmitry A. Kazakov
2013-04-12  9:09                                                                                                                                   ` J-P. Rosen
2013-04-12 17:00                                                                                                                                     ` Jeffrey Carter
2013-04-11 23:02                                                                                                                           ` Randy Brukardt
2013-04-12  8:17                                                                                                                             ` Dmitry A. Kazakov
2013-04-12  9:41                                                                                                                               ` Georg Bauhaus
2013-04-12 11:46                                                                                                                                 ` Dmitry A. Kazakov
2013-04-13 17:38                                                                                                                                   ` Georg Bauhaus
2013-04-13  0:22                                                                                                                               ` Randy Brukardt
2013-04-13  6:49                                                                                                                                 ` Dmitry A. Kazakov
2013-04-16  1:41                                                                                                                                   ` Randy Brukardt
2013-04-16  8:03                                                                                                                                     ` Dmitry A. Kazakov
2013-04-16 22:57                                                                                                                                       ` Randy Brukardt
2013-04-17  7:18                                                                                                                                         ` Dmitry A. Kazakov
2013-04-17  9:23                                                                                                                                           ` Georg Bauhaus
2013-04-17  9:57                                                                                                                                             ` Dmitry A. Kazakov
2013-04-17 19:38                                                                                                                                               ` Georg Bauhaus
2013-04-18 11:52                                                                                                                                                 ` Dmitry A. Kazakov
2013-04-19  2:16                                                                                                                                                   ` Randy Brukardt
2013-04-19  7:39                                                                                                                                                     ` Dmitry A. Kazakov
2013-04-19  9:07                                                                                                                                                   ` Georg Bauhaus
2013-04-19  9:11                                                                                                                                                     ` Georg Bauhaus
2013-04-19 12:09                                                                                                                                                     ` Dmitry A. Kazakov
2013-04-19 22:14                                                                                                                                                       ` Randy Brukardt
2013-04-20  6:39                                                                                                                                                         ` Dmitry A. Kazakov
2013-03-19  0:38                                                       ` Shark8
2013-03-19  8:53                                                         ` Dmitry A. Kazakov
2013-03-16 20:45                                             ` Robert A Duff
2013-03-16  9:29                                           ` Georg Bauhaus
2013-03-16 20:49                                             ` Robert A Duff
2013-03-14 22:41                             ` Florian Weimer
2013-03-12 23:21           ` Randy Brukardt
2013-03-12 23:14       ` Randy Brukardt
2013-03-11 20:43   ` Anh Vo
2013-03-11 22:32     ` Randy Brukardt
2013-03-11 22:38     ` Robert A Duff
2013-03-12  9:17   ` Dmitry A. Kazakov
2013-03-13  0:10     ` Shark8
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox