www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Annotations or custom attributes

reply Manu <turkeyman gmail.com> writes:
--0021cc0231f6fcda7f04bacd3dc6
Content-Type: text/plain; charset=UTF-8

Does D have a nice way to add annotations or custom attributes to entities?

In Java/C# for example, it is common to annotate things with useful compile
time information. I'd like to be able to do that in D on occasion.

For instance, I'm serialising some struct/class using reflection to some
text format, but there are a couple of members in a particular class that I
don't want to be written.
A nice solution might be that I could annotate various members:
 DoNotSerialise int thing; ... or something along those lines, whatever
concept you want to apply, which I could then inspect in static if() logic
to produce some requested additional behaviour.

This is a trivial example, but looking at C#/Java, you can see how many
useful things can be done with this sort of system.
How would it be done currently?

--0021cc0231f6fcda7f04bacd3dc6
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Does D have a nice way to add annotations or custom attributes to entities?=
<div><br></div><div>In Java/C# for example, it is common to annotate things=
 with useful compile time information. I&#39;d like to be able to do that i=
n D on occasion.</div>
<div><br></div><div>For instance, I&#39;m serialising some struct/class usi=
ng reflection to some text format, but there are a couple of members in a p=
articular class that I don&#39;t want to be written.</div><div>A nice solut=
ion might be that I could annotate various members:  DoNotSerialise int thi=
ng; ... or something along those lines, whatever concept you want to apply,=
 which I could then inspect in static if() logic to produce some requested =
additional behaviour.</div>
<div><br></div><div>This is a trivial example, but looking at C#/Java, you =
can see how many useful things can be done with this sort of system.</div><=
div>How would it be done currently?</div>

--0021cc0231f6fcda7f04bacd3dc6--
Mar 09 2012
next sibling parent =?UTF-8?B?QWxleCBSw7hubmUgUGV0ZXJzZW4=?= <xtzgzorex gmail.com> writes:
On 09-03-2012 11:56, Manu wrote:
 Does D have a nice way to add annotations or custom attributes to entities?

Unfortunately, no.
 In Java/C# for example, it is common to annotate things with useful
 compile time information. I'd like to be able to do that in D on occasion.

Yes. This is a very needed feature.
 For instance, I'm serialising some struct/class using reflection to some
 text format, but there are a couple of members in a particular class
 that I don't want to be written.
 A nice solution might be that I could annotate various members:
  DoNotSerialise int thing; ... or something along those lines, whatever
 concept you want to apply, which I could then inspect in static if()
 logic to produce some requested additional behaviour.

 This is a trivial example, but looking at C#/Java, you can see how many
 useful things can be done with this sort of system.
 How would it be done currently?

Probably not at all (to my knowledge anyway). -- - Alex
Mar 09 2012
prev sibling next sibling parent Jacob Carlborg <doob me.com> writes:
On 2012-03-09 11:56, Manu wrote:
 Does D have a nice way to add annotations or custom attributes to entities?

Unfortunately no.
 In Java/C# for example, it is common to annotate things with useful
 compile time information. I'd like to be able to do that in D on occasion.

 For instance, I'm serialising some struct/class using reflection to some
 text format, but there are a couple of members in a particular class
 that I don't want to be written.
 A nice solution might be that I could annotate various members:
  DoNotSerialise int thing; ... or something along those lines, whatever
 concept you want to apply, which I could then inspect in static if()
 logic to produce some requested additional behaviour.

 This is a trivial example, but looking at C#/Java, you can see how many
 useful things can be done with this sort of system.
 How would it be done currently?

Yeah, it would be so nice to have. As a workaround you can mixin some code, variables or similar in a class/struct. For serialization you could use my library Orange, which already supports this. You can have a look at the NonSerialized template at: http://dl.dropbox.com/u/18386187/orange_docs/orange.serialization.Serializable.html https://github.com/jacob-carlborg/orange -- /Jacob Carlborg
Mar 09 2012
prev sibling next sibling parent Dmitry Olshansky <dmitry.olsh gmail.com> writes:
On 09.03.2012 14:56, Manu wrote:
 Does D have a nice way to add annotations or custom attributes to entities?

front of it was supposed to be an annotation (like property). I think it's just, sort of, reserved for future. [...] -- Dmitry Olshansky
Mar 09 2012
prev sibling next sibling parent Manu <turkeyman gmail.com> writes:
--20cf3074afc229367c04bacfcf01
Content-Type: text/plain; charset=UTF-8

Okay, so the consensus is, it doesn't currently exist, but there is no real
resistance, and is tentatively planned?
Sounds good to me.

On 9 March 2012 15:42, Dmitry Olshansky <dmitry.olsh gmail.com> wrote:

 On 09.03.2012 14:56, Manu wrote:

 Does D have a nice way to add annotations or custom attributes to
 entities?

  There is a potential for them. At least technically everything with   in

just, sort of, reserved for future. [...] -- Dmitry Olshansky

--20cf3074afc229367c04bacfcf01 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <div class=3D"gmail_quote">Okay, so the consensus is, it doesn&#39;t curren= tly exist, but there is no real resistance, and is tentatively planned?</di= v><div class=3D"gmail_quote">Sounds good to me.</div><div class=3D"gmail_qu= ote"> <br></div><div class=3D"gmail_quote">On 9 March 2012 15:42, Dmitry Olshansk= y <span dir=3D"ltr">&lt;<a href=3D"mailto:dmitry.olsh gmail.com">dmitry.ols= h gmail.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" styl= e=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> <div class=3D"im">On 09.03.2012 14:56, Manu wrote:<br> <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p= x #ccc solid;padding-left:1ex"> Does D have a nice way to add annotations or custom attributes to entities?= <br> <br> </blockquote></div> There is a potential for them. At least technically everything with in fr= ont of it was supposed to be an annotation (like property). I think it&#39= ;s just, sort of, reserved for future.<br> <br> [...]<span class=3D"HOEnZb"><font color=3D"#888888"><br> <br> <br> -- <br> Dmitry Olshansky<br> </font></span></blockquote></div><br> --20cf3074afc229367c04bacfcf01--
Mar 09 2012
prev sibling next sibling parent "bearophile" <bearophileHUGS lycos.com> writes:
Manu:

 Okay, so the consensus is, it doesn't currently exist, but 
 there is no real
 resistance, and is tentatively planned?
 Sounds good to me.

As far as I know there are no concrete ideas yet for the semantics and precise usage of this feature. And I think there are different ideas regarding what this feature has to do (example: I think of it as as a user-defined extension of the type system. Other people think of this feature more like the C#, Scala or Java ones). So if you want this feature to happen and you have good ideas, then I suggest you to write down a little concrete proposal of definition syntax/semantics (implementation isn't needed now). Bye, bearophile
Mar 09 2012
prev sibling next sibling parent Manu <turkeyman gmail.com> writes:
--20cf3074b5a218a01304bad18b1a
Content-Type: text/plain; charset=UTF-8

On 9 March 2012 17:20, bearophile <bearophileHUGS lycos.com> wrote:

 Manu:


  Okay, so the consensus is, it doesn't currently exist, but there is no
 real
 resistance, and is tentatively planned?
 Sounds good to me.

As far as I know there are no concrete ideas yet for the semantics and precise usage of this feature. And I think there are different ideas regarding what this feature has to do (example: I think of it as as a user-defined extension of the type system. Other people think of this feature more like the C#, Scala or Java ones). So if you want this feature to happen and you have good ideas, then I suggest you to write down a little concrete proposal of definition syntax/semantics (implementation isn't needed now). Bye, bearophile

Okay, well I'll do that at some point, but not now. My other multiple return values thread is about a thousand times more important to me at this point, so I'll keep driving that for the time being :P --20cf3074b5a218a01304bad18b1a Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <div class=3D"gmail_quote">On 9 March 2012 17:20, bearophile <span dir=3D"l= tr">&lt;<a href=3D"mailto:bearophileHUGS lycos.com">bearophileHUGS lycos.co= m</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margi= n:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> Manu:<div class=3D"im"><br> <br> <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p= x #ccc solid;padding-left:1ex"> Okay, so the consensus is, it doesn&#39;t currently exist, but there is no = real<br> resistance, and is tentatively planned?<br> Sounds good to me.<br> </blockquote> <br></div> As far as I know there are no concrete ideas yet for the semantics and prec= ise usage of this feature. And I think there are different ideas regarding = what this feature has to do (example: I think of it as as a user-defined ex= tension of the type system. Other people think of this feature more like th= e C#, Scala or Java ones).<br> <br> So if you want this feature to happen and you have good ideas, then I sugge= st you to write down a little concrete proposal of definition syntax/semant= ics (implementation isn&#39;t needed now).<br> <br> Bye,<br> bearophile<br> </blockquote></div><br><div>Okay, well I&#39;ll do that at some point, but = not now. My other multiple return values thread is about a thousand times m= ore important to me at this point, so I&#39;ll keep driving that for the ti= me being :P</div> --20cf3074b5a218a01304bad18b1a--
Mar 09 2012
prev sibling next sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 3/9/12 2:56 AM, Manu wrote:
 Does D have a nice way to add annotations or custom attributes to entities?

 In Java/C# for example, it is common to annotate things with useful
 compile time information. I'd like to be able to do that in D on occasion.

 For instance, I'm serialising some struct/class using reflection to some
 text format, but there are a couple of members in a particular class
 that I don't want to be written.
 A nice solution might be that I could annotate various members:
  DoNotSerialise int thing; ... or something along those lines, whatever
 concept you want to apply, which I could then inspect in static if()
 logic to produce some requested additional behaviour.

 This is a trivial example, but looking at C#/Java, you can see how many
 useful things can be done with this sort of system.
 How would it be done currently?

I think a good approach in D would be to define mixins that work in conjunction with the feature involved, for example: class A { int thing; mixin(DoNotSerialize!"thing"); ... } or together: class A { mixin(DoNotSerialize!(int, "thing")); ... } Andrei
Mar 09 2012
next sibling parent reply Jacob Carlborg <doob me.com> writes:
On 2012-03-09 17:15, Andrei Alexandrescu wrote:
 On 3/9/12 2:56 AM, Manu wrote:
 Does D have a nice way to add annotations or custom attributes to
 entities?

 In Java/C# for example, it is common to annotate things with useful
 compile time information. I'd like to be able to do that in D on
 occasion.

 For instance, I'm serialising some struct/class using reflection to some
 text format, but there are a couple of members in a particular class
 that I don't want to be written.
 A nice solution might be that I could annotate various members:
  DoNotSerialise int thing; ... or something along those lines, whatever
 concept you want to apply, which I could then inspect in static if()
 logic to produce some requested additional behaviour.

 This is a trivial example, but looking at C#/Java, you can see how many
 useful things can be done with this sort of system.
 How would it be done currently?

I think a good approach in D would be to define mixins that work in conjunction with the feature involved, for example: class A { int thing; mixin(DoNotSerialize!"thing"); ... } or together: class A { mixin(DoNotSerialize!(int, "thing")); ... } Andrei

As may serialization library Orange already does: http://dl.dropbox.com/u/18386187/orange_docs/orange.serialization.Serializable.html Look for "NonSerialized". -- /Jacob Carlborg
Mar 09 2012
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 3/9/12 8:30 AM, Jacob Carlborg wrote:
 As may serialization library Orange already does:
 http://dl.dropbox.com/u/18386187/orange_docs/orange.serialization.Serializable.html


 Look for "NonSerialized".

Saw that after posting. Cool! Andrei P.S. Please don't overquote, you systematically do so. Thanks!
Mar 09 2012
next sibling parent reply Ary Manzana <ary esperanto.org.ar> writes:
What are you talking about?
Mar 09 2012
parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 3/9/12 4:24 PM, Steven Schveighoffer wrote:
 On Fri, 09 Mar 2012 19:05:00 -0500, Ary Manzana <ary esperanto.org.ar>
 wrote:

 What are you talking about?

Who are you talking to? :) Seriously, though, I think Andrej sometimes quotes *nothing* (no offense for picking on you Andrej), and couple that with the newsgroup's seemingly random decision to start a new thread, or put a reply at the same level, I sometimes have no idea what he's talking about :)

There are extremes, of course. I, for one, take pains to make sure I quote about the "right" amount of context. I know it's time well spent because every second I save for one reader is multiplied by many of them. I think it's very jarring to see a 300-line discussion quoted and followed by a brief answer. If that much context is necessary, I'd have no business reading that message unless I actually followed the conversation. Andrei
Mar 09 2012
prev sibling parent Jacob Carlborg <doob me.com> writes:
On 2012-03-10 00:23, Andrei Alexandrescu wrote:
 P.S. Please don't overquote, you systematically do so. Thanks!

I'll try to think about that. -- /Jacob Carlborg
Mar 10 2012
prev sibling parent Michel Fortin <michel.fortin michelf.com> writes:
On 2012-03-09 16:15:30 +0000, Andrei Alexandrescu 
<SeeWebsiteForEmail erdani.org> said:

 I think a good approach in D would be to define mixins that work in 
 conjunction with the feature involved, for example:
 
 class A {
      int thing;
      mixin(DoNotSerialize!"thing");
      ...
 }
 
 or together:
 
 class A {
      mixin(DoNotSerialize!(int, "thing"));
      ...
 }

It's ugly, but it works… only to a point though. Try to annotate overloaded functions and it'll become a mess: either you duplicate the function name and all the argument types for each function, or you wrap the whole function body in the mixin. If you need to annotate a struct or a class you'll have the same problem, just at a bigger scale. And it gets worse if you want to annotate templated types and functions: how can the attribute apply to each instance? I'm not saying any of this is impossible using mixins, just that it becomes impractical as you go beyond the most simple cases. -- Michel Fortin michel.fortin michelf.com http://michelf.com/
Mar 09 2012
prev sibling next sibling parent Gor Gyolchanyan <gor.f.gyolchanyan gmail.com> writes:
That's easy to implement and extremely ugly.

On Fri, Mar 9, 2012 at 8:15 PM, Andrei Alexandrescu
<SeeWebsiteForEmail erdani.org> wrote:
 On 3/9/12 2:56 AM, Manu wrote:
 Does D have a nice way to add annotations or custom attributes to
 entities?

 In Java/C# for example, it is common to annotate things with useful
 compile time information. I'd like to be able to do that in D on occasio=


 For instance, I'm serialising some struct/class using reflection to some
 text format, but there are a couple of members in a particular class
 that I don't want to be written.
 A nice solution might be that I could annotate various members:
  DoNotSerialise int thing; ... or something along those lines, whatever
 concept you want to apply, which I could then inspect in static if()
 logic to produce some requested additional behaviour.

 This is a trivial example, but looking at C#/Java, you can see how many
 useful things can be done with this sort of system.
 How would it be done currently?

I think a good approach in D would be to define mixins that work in conjunction with the feature involved, for example: class A { =C2=A0 =C2=A0int thing; =C2=A0 =C2=A0mixin(DoNotSerialize!"thing"); =C2=A0 =C2=A0... } or together: class A { =C2=A0 =C2=A0mixin(DoNotSerialize!(int, "thing")); =C2=A0 =C2=A0... } Andrei

--=20 Bye, Gor Gyolchanyan.
Mar 09 2012
prev sibling next sibling parent Manu <turkeyman gmail.com> writes:
--0021cc0231f63d3c6104bad26497
Content-Type: text/plain; charset=UTF-8

On 9 March 2012 18:15, Andrei Alexandrescu <SeeWebsiteForEmail erdani.org>wrote:

 On 3/9/12 2:56 AM, Manu wrote:

 Does D have a nice way to add annotations or custom attributes to
 entities?

 In Java/C# for example, it is common to annotate things with useful
 compile time information. I'd like to be able to do that in D on occasion.

 For instance, I'm serialising some struct/class using reflection to some
 text format, but there are a couple of members in a particular class
 that I don't want to be written.
 A nice solution might be that I could annotate various members:
  DoNotSerialise int thing; ... or something along those lines, whatever
 concept you want to apply, which I could then inspect in static if()
 logic to produce some requested additional behaviour.

 This is a trivial example, but looking at C#/Java, you can see how many
 useful things can be done with this sort of system.
 How would it be done currently?

I think a good approach in D would be to define mixins that work in conjunction with the feature involved, for example: class A { int thing; mixin(DoNotSerialize!"thing"); ... } or together: class A { mixin(DoNotSerialize!(int, "thing")); ... } Andrei

Yep, that sure is horribly ugly! Sadly, that's what I thought the case was currently. Let's hope for user defined attributes in the future ;) --0021cc0231f63d3c6104bad26497 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <div class=3D"gmail_quote">On 9 March 2012 18:15, Andrei Alexandrescu <span= dir=3D"ltr">&lt;<a href=3D"mailto:SeeWebsiteForEmail erdani.org">SeeWebsit= eForEmail erdani.org</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_qu= ote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex= "> <div class=3D"im">On 3/9/12 2:56 AM, Manu wrote:<br> </div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-l= eft:1px #ccc solid;padding-left:1ex"><div class=3D"im"> Does D have a nice way to add annotations or custom attributes to entities?= <br> <br></div><div class=3D"im"> In Java/C# for example, it is common to annotate things with useful<br> compile time information. I&#39;d like to be able to do that in D on occasi= on.<br> <br> For instance, I&#39;m serialising some struct/class using reflection to som= e<br> text format, but there are a couple of members in a particular class<br> that I don&#39;t want to be written.<br> A nice solution might be that I could annotate various members:<br> DoNotSerialise int thing; ... or something along those lines, whatever<br> concept you want to apply, which I could then inspect in static if()<br> logic to produce some requested additional behaviour.<br> <br> This is a trivial example, but looking at C#/Java, you can see how many<br> useful things can be done with this sort of system.<br> How would it be done currently?<br> </div></blockquote> <br> I think a good approach in D would be to define mixins that work in conjunc= tion with the feature involved, for example:<br> <br> class A {<br> =C2=A0 =C2=A0int thing;<br> =C2=A0 =C2=A0mixin(DoNotSerialize!&quot;thing&quot;);<br> =C2=A0 =C2=A0...<br> }<br> <br> or together:<br> <br> class A {<br> =C2=A0 =C2=A0mixin(DoNotSerialize!(int, &quot;thing&quot;));<br> =C2=A0 =C2=A0...<br> }<span class=3D"HOEnZb"><font color=3D"#888888"><br> <br> <br> Andrei<br> </font></span></blockquote></div><br><div>Yep, that sure is horribly ugly! = Sadly, that&#39;s what I thought the case was currently. Let&#39;s hope for= user defined attributes in the future ;)</div> --0021cc0231f63d3c6104bad26497--
Mar 09 2012
prev sibling next sibling parent Manu <turkeyman gmail.com> writes:
--20cf3074afc279c80304bad2f6b2
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 9 March 2012 19:23, Michel Fortin <michel.fortin michelf.com> wrote:

 On 2012-03-09 16:15:30 +0000, Andrei Alexandrescu <
 SeeWebsiteForEmail erdani.org**> said:

  I think a good approach in D would be to define mixins that work in
 conjunction with the feature involved, for example:

 class A {
     int thing;
     mixin(DoNotSerialize!"thing");
     ...
 }

 or together:

 class A {
     mixin(DoNotSerialize!(int, "thing"));
     ...
 }

It's ugly, but it works=E2=80=A6 only to a point though. Try to annotate overloaded functions and it'll become a mess: either you duplicate the function name and all the argument types for each function, or you wrap t=

 whole function body in the mixin.

 If you need to annotate a struct or a class you'll have the same problem,
 just at a bigger scale. And it gets worse if you want to annotate templat=

 types and functions: how can the attribute apply to each instance?

 I'm not saying any of this is impossible using mixins, just that it
 becomes impractical as you go beyond the most simple cases.

It seems to me that everyone agrees on the usefulness of proper user defined annotations, so I'm personally satisfied that it *will* come :) .. It's certainly not urgent for me, but it sure would be nice! --20cf3074afc279c80304bad2f6b2 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <div class=3D"gmail_quote">On 9 March 2012 19:23, Michel Fortin <span dir= =3D"ltr">&lt;<a href=3D"mailto:michel.fortin michelf.com">michel.fortin mic= helf.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style= =3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> <div class=3D"im">On 2012-03-09 16:15:30 +0000, Andrei Alexandrescu &lt;<a = href=3D"mailto:SeeWebsiteForEmail erdani.org" target=3D"_blank">SeeWebsiteF= orEmail erdani.org</a><u></u>&gt; said:<br> <br> <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p= x #ccc solid;padding-left:1ex"> I think a good approach in D would be to define mixins that work in conjunc= tion with the feature involved, for example:<br> <br> class A {<br> =C2=A0 =C2=A0 int thing;<br> =C2=A0 =C2=A0 mixin(DoNotSerialize!&quot;thing&quot;);<br> =C2=A0 =C2=A0 ...<br> }<br> <br> or together:<br> <br> class A {<br> =C2=A0 =C2=A0 mixin(DoNotSerialize!(int, &quot;thing&quot;));<br> =C2=A0 =C2=A0 ...<br> }<br> </blockquote> <br></div> It&#39;s ugly, but it works=E2=80=A6 only to a point though. Try to annotat= e overloaded functions and it&#39;ll become a mess: either you duplicate th= e function name and all the argument types for each function, or you wrap t= he whole function body in the mixin.<br> <br> If you need to annotate a struct or a class you&#39;ll have the same proble= m, just at a bigger scale. And it gets worse if you want to annotate templa= ted types and functions: how can the attribute apply to each instance?<br> <br> I&#39;m not saying any of this is impossible using mixins, just that it bec= omes impractical as you go beyond the most simple cases.</blockquote><div><= br></div><div>It seems to me that everyone agrees on the usefulness of prop= er user defined annotations, so I&#39;m personally satisfied that it <u>wil= l</u> come :) .. It&#39;s certainly not urgent for me, but it sure would be= nice!</div> </div> --20cf3074afc279c80304bad2f6b2--
Mar 09 2012
prev sibling next sibling parent "Jonathan M Davis" <jmdavisProg gmx.com> writes:
On Friday, March 09, 2012 16:00:03 Manu wrote:
 Okay, so the consensus is, it doesn't currently exist, but there is no real
 resistance, and is tentatively planned?
 Sounds good to me.

I wouldn't really say that it's tentatively planned. I don't recall Walter ever weighing in on it at all, and no one is working on it. Rather, the current situation does not prevent it, and there's definitely some desire for it in the community, so there's a decent chance that it'll be implemented eventually. There are no plans for it though. Regardless, adding them should be backwards compatible, so it's really not a problem to wait until other more pressing issues have been addressed and the language has better stabilized before adding such a feature. - Jonathan M Davis
Mar 09 2012
prev sibling next sibling parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Fri, 09 Mar 2012 18:23:17 -0500, Andrei Alexandrescu  
<SeeWebsiteForEmail erdani.org> wrote:

 On 3/9/12 8:30 AM, Jacob Carlborg wrote:
 As may serialization library Orange already does:
 http://dl.dropbox.com/u/18386187/orange_docs/orange.serialization.Serializable.html


 Look for "NonSerialized".

Saw that after posting. Cool! Andrei P.S. Please don't overquote, you systematically do so. Thanks!

Please continue to quote the previous two messages for context if you feel like it. I enjoy not having to look back to previous messages. Thanks! -Steve
Mar 09 2012
prev sibling next sibling parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Fri, 09 Mar 2012 19:05:00 -0500, Ary Manzana <ary esperanto.org.ar>  
wrote:

 What are you talking about?

Who are you talking to? :) Seriously, though, I think Andrej sometimes quotes *nothing* (no offense for picking on you Andrej), and couple that with the newsgroup's seemingly random decision to start a new thread, or put a reply at the same level, I sometimes have no idea what he's talking about :) -Steve
Mar 09 2012
prev sibling next sibling parent Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
On 3/10/12, Steven Schveighoffer <schveiguy yahoo.com> wrote:
 Seriously, though, I think Andrej sometimes quotes *nothing* (no offense
 for picking on you Andrej), and couple that with the newsgroup's seemingly
 random decision to start a new thread, or put a reply at the same level, I
 sometimes have no idea what he's talking about :)

LOL. I was honestly wondering if this was an issue or not. I blame the gmail quick-reply box. It has two options: quote everything, or quote nothing. Otherwise there's a full reply button and then I can quickly select a piece of text to quote. But I *thought* that by using quick reply without fully quoting it would mean my reply would sit right next to the last poster's reply. I'm just used to using forum software and when I do a quick-reply there my post is right below the last user's post, and it's easy to figure out who I'm replying to. Anyway, I'll stop posting replies to the void. :p (thanks for letting me know btw)
Mar 09 2012
prev sibling next sibling parent "H. S. Teoh" <hsteoh quickfur.ath.cx> writes:
On Fri, Mar 09, 2012 at 07:24:34PM -0500, Steven Schveighoffer wrote:
 On Fri, 09 Mar 2012 19:05:00 -0500, Ary Manzana
 <ary esperanto.org.ar> wrote:
 
What are you talking about?

Who are you talking to? :) Seriously, though, I think Andrej sometimes quotes *nothing* (no offense for picking on you Andrej), and couple that with the newsgroup's seemingly random decision to start a new thread, or put a reply at the same level, I sometimes have no idea what he's talking about :)

You guys should just use a threading mail reader. Like mutt. :-P :-P (Though Ary's post didn't make sense to me either, because I'd deleted the parent post already. Ah well. The joys of impersonal online communication...) T -- I see that you JS got Bach.
Mar 09 2012
prev sibling next sibling parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Fri, 09 Mar 2012 19:53:29 -0500, Andrej Mitrovic  
<andrej.mitrovich gmail.com> wrote:

 On 3/10/12, Steven Schveighoffer <schveiguy yahoo.com> wrote:
 Seriously, though, I think Andrej sometimes quotes *nothing* (no offense
 for picking on you Andrej), and couple that with the newsgroup's  
 seemingly
 random decision to start a new thread, or put a reply at the same  
 level, I
 sometimes have no idea what he's talking about :)

LOL. I was honestly wondering if this was an issue or not. I blame the gmail quick-reply box. It has two options: quote everything, or quote nothing. Otherwise there's a full reply button and then I can quickly select a piece of text to quote. But I *thought* that by using quick reply without fully quoting it would mean my reply would sit right next to the last poster's reply.

I think it does, actually. It's just the post you are responding to isn't always the last poster :D
 I'm just used to using forum software and when I do a quick-reply
 there my post is right below the last user's post, and it's easy to
 figure out who I'm replying to.

The forum software does not by default thread discussions, but my newsreader does.
 Anyway, I'll stop posting replies to the void. :p (thanks for letting
 me know btw)

I hope you realize I didn't mean it in a bad/condescending way :) I realize we all use software that sometimes doesn't do the right thing, and it's not always our fault for liking some shitty software. But whose fault is it? Yours for using a forum-like software, or mine for trying to thread the newsgroup? If a tree posts a reply in the wrong thread, and the forest doesn't use threading readers, does anyone care? -Steve
Mar 09 2012
prev sibling next sibling parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Fri, 09 Mar 2012 19:58:37 -0500, H. S. Teoh <hsteoh quickfur.ath.cx>  
wrote:

 On Fri, Mar 09, 2012 at 07:24:34PM -0500, Steven Schveighoffer wrote:
 Seriously, though, I think Andrej sometimes quotes *nothing* (no
 offense for picking on you Andrej), and couple that with the
 newsgroup's seemingly random decision to start a new thread, or put
 a reply at the same level, I sometimes have no idea what he's
 talking about :)

You guys should just use a threading mail reader. Like mutt. :-P :-P (Though Ary's post didn't make sense to me either, because I'd deleted the parent post already. Ah well. The joys of impersonal online communication...)

You should not delete old posts :) I find it invaluable for searching for old discussions sometimes (I use opera with google-like searching). -Steve
Mar 09 2012
prev sibling next sibling parent Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
On 3/10/12, Steven Schveighoffer <schveiguy yahoo.com> wrote:
 I hope you realize I didn't mean it in a bad/condescending way :)

No problemo! I don't take things too seriously around this place (or the internets in general).
 But whose fault is it?

I'd say it's the technology's fault. A newsgroup seems to be the equivalent of a source file, but with each person having a compiler with different semantics. Related: http://www.youtube.com/watch?v=Fc1P-AEaEp8
Mar 09 2012
prev sibling parent "H. S. Teoh" <hsteoh quickfur.ath.cx> writes:
On Fri, Mar 09, 2012 at 08:07:47PM -0500, Steven Schveighoffer wrote:
 On Fri, 09 Mar 2012 19:58:37 -0500, H. S. Teoh
 <hsteoh quickfur.ath.cx> wrote:
 
On Fri, Mar 09, 2012 at 07:24:34PM -0500, Steven Schveighoffer wrote:
Seriously, though, I think Andrej sometimes quotes *nothing* (no
offense for picking on you Andrej), and couple that with the
newsgroup's seemingly random decision to start a new thread, or put
a reply at the same level, I sometimes have no idea what he's
talking about :)

You guys should just use a threading mail reader. Like mutt. :-P :-P (Though Ary's post didn't make sense to me either, because I'd deleted the parent post already. Ah well. The joys of impersonal online communication...)

You should not delete old posts :) I find it invaluable for searching for old discussions sometimes (I use opera with google-like searching).

While I agree with you on principle, after having accumulated YEARS of archives for several high-volume mailing lists in the past I'm starting to doubt the value of doing it. Sometimes the signal-to-noise ratio is just too low to justify archiving *everything*. So I usually only save threads that I find interesting and has lasting value and delete the rest (esp. since there's an online archive for it anyway). T -- In a world without fences, who needs Windows and Gates? -- Christian Surchi
Mar 09 2012