RE: Procedure types

From: Campbell, Robert D (UK Edinburgh) <"Campbell,>
Date: Fri, 19 Nov 2004 10:07:57 +0000

----boundary-LibPST-iamunique-742961487_-_-
Content-type: text/plain


>> Good morning,

>> The safety argument (see my previous message) is serious

>> enough that Robert's list of pro-procedure variables

>> arguments deserves to be reconsidered.


You seem to be saying that objects are not
much extra work if someone else does it for you.
I can't disagree!

I can't decide how seriously to take your safety
argument. When I use procedure types (very rare,
but by coincidence I found them very useful yesterday)
I usually keep them local to 1 module so am not exposed
to this risk. But I guess just the possibility of risk
means that it will inevitably happen when you least

expect it.

Even in a 'safe' language you can't (shouldn't ?) provide
complete protection to developers. They will always
need access to SYSTEM. But this warns them when they
need to take particular care. Doesn't unloading
come into a similar category? After all it is something
that cannot happen to 'production' code as it
requires Module DevDebug which would not be available.



>> > 6 - Brevity. .. The .Eval in cube.Eval
>> > just seems to visually clutter maths expressions.

>>

>> M.cube.Eval(x) vs L.Cube(x).
>> The difference is really not that great. Although visible.
>> In my numeric problems, this kind of expressions are a

>> fraction of the actual code.

Room for shades of opinion.

My colleage (a Java user) downloaded a new version
this week which now allows 'Static Imports' or something
similar (I don't speak Java myself).

This meant he could replace 'a = M.cos (2 * M.pi * x)'
by 'a = cos (2 * pi * x)'. He thought this was a big
improvement.


>> > 7 - If I select R.Cube, right click, I get immediate

>> access to the interface,
>> > source, and Docu. This is very nice. It does not work if

>> I select cube.Eval.
>>

>> But it does, if one selects M.cube.Eval.

No it does not! If I select TextModels.dir.New I
do not get the documentation for the New function.


>> > been declared as a Store I could Externalise cube. Question: does
>> > creating a Store extension have a significant overhead inside a
>> > big loop?

>>

>> As far as I understand, any method call involves just one

>> extra memory jump, irrespective of the length of

>> inheritance chain (compiler creates a type descriptor for

>> each type, with an array of pointers to method entry

>> points, and for a non-extended method, the pointer is

>> simply copied from the parent type descriptor to the child's one).

My question concerned CREATING a Store extension, not USING it. I
suspect it is a rather complex thing to initialise.


Cheers

Robert
 


********************************************************************
This email and any attachments are confidential to the intended
recipient and may also be privileged. If you are not the intended
recipient please delete it from your system and notify the sender.
You should not copy it or use it for any purpose nor disclose or
distribute its contents to any other person.
********************************************************************
--------------------------------------------

To unsubscribe from this mailing list, send a message containing the word "unsubscribe" to:
   blackbox-request{([at]})nowhere.xy

To get a list of valid e-mail commands and instructions on their usage, send a message containing the word "help" to the above address.

Send any problem reports or questions related to this email list to the list owner at
   owner-blackbox{([at]})nowhere.xy

Current posting policy:

a) To post you should use the same address by which you are subscribed to the mailing list. That way, the list server will recognize you as subscriber and forward your posting immediately, without creating any overhead.

b) If, for some reason, you cannot post from the address, by which you are subscribed, your message will be moderated to avoid spam. Please understand that moderation will often cause some delay, in particular over weekends or holydays.


----boundary-LibPST-iamunique-742961487_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"

e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIFxwYXINCj4+ICBHb29kIG1vcm5pbmcsXHBhcg0K
XHBhcg0KPj4gIFRoZSBzYWZldHkgYXJndW1lbnQgKHNlZSBteSBwcmV2aW91cyBtZXNzYWdlKSBp
cyBzZXJpb3VzXHBhcg0KXHBhcg0KPj4gIGVub3VnaCB0aGF0IFJvYmVydCdzIGxpc3Qgb2YgcHJv
LXByb2NlZHVyZSB2YXJpYWJsZXNccGFyDQpccGFyDQo+PiAgYXJndW1lbnRzIGRlc2VydmVzIHRv
IGJlIHJlY29uc2lkZXJlZC5ccGFyDQpccGFyDQpccGFyDQpZb3Ugc2VlbSB0byBiZSBzYXlpbmcg
dGhhdCBvYmplY3RzIGFyZSBub3RccGFyDQptdWNoIGV4dHJhIHdvcmsgaWYgc29tZW9uZSBlbHNl
IGRvZXMgaXQgZm9yIHlvdS5ccGFyDQpJIGNhbid0IGRpc2FncmVlIVxwYXINClxwYXINCkkgY2Fu
J3QgZGVjaWRlIGhvdyBzZXJpb3VzbHkgdG8gdGFrZSB5b3VyIHNhZmV0eVxwYXINCmFyZ3VtZW50
LiBXaGVuIEkgdXNlIHByb2NlZHVyZSB0eXBlcyAodmVyeSByYXJlLFxwYXINCmJ1dCBieSBjb2lu
Y2lkZW5jZSBJIGZvdW5kIHRoZW0gdmVyeSB1c2VmdWwgeWVzdGVyZGF5KVxwYXINCkkgdXN1YWxs
eSBrZWVwIHRoZW0gbG9jYWwgdG8gMSBtb2R1bGUgc28gYW0gbm90IGV4cG9zZWRccGFyDQp0byB0
aGlzIHJpc2suIEJ1dCBJIGd1ZXNzIGp1c3QgdGhlIHBvc3NpYmlsaXR5IG9mIHJpc2tccGFyDQpt
ZWFucyB0aGF0IGl0IHdpbGwgaW5ldml0YWJseSBoYXBwZW4gd2hlbiB5b3UgbGVhc3RccGFyDQpc
cGFyDQpleHBlY3QgaXQuXHBhcg0KXHBhcg0KRXZlbiBpbiBhICdzYWZlJyBsYW5ndWFnZSB5b3Ug
Y2FuJ3QgKHNob3VsZG4ndCA/KSBwcm92aWRlXHBhcg0KY29tcGxldGUgcHJvdGVjdGlvbiB0byBk
ZXZlbG9wZXJzLiBUaGV5IHdpbGwgYWx3YXlzXHBhcg0KbmVlZCBhY2Nlc3MgdG8gU1lTVEVNLiBC
dXQgdGhpcyB3YXJucyB0aGVtIHdoZW4gdGhleVxwYXINCm5lZWQgdG8gdGFrZSBwYXJ0aWN1bGFy
IGNhcmUuIERvZXNuJ3QgdW5sb2FkaW5nXHBhcg0KY29tZSBpbnRvIGEgc2ltaWxhciBjYXRlZ29y
eT8gQWZ0ZXIgYWxsIGl0IGlzIHNvbWV0aGluZ1xwYXINCnRoYXQgY2Fubm90IGhhcHBlbiB0byAn
cHJvZHVjdGlvbicgY29kZSBhcyBpdFxwYXINCnJlcXVpcmVzIE1vZHVsZSBEZXZEZWJ1ZyB3aGlj
aCB3b3VsZCBub3QgYmUgYXZhaWxhYmxlLlxwYXINClxwYXINClxwYXINClxwYXINCj4+ICA+IDYg
LSBCcmV2aXR5LiAuLiBUaGUgLkV2YWwgaW4gY3ViZS5FdmFsXHBhcg0KPj4gID4ganVzdCBzZWVt
cyB0byB2aXN1YWxseSBjbHV0dGVyIG1hdGhzIGV4cHJlc3Npb25zLlxwYXINCj4+IFxwYXINClxw
YXINCj4+ICBNLmN1YmUuRXZhbCh4KSAgdnMgIEwuQ3ViZSh4KS5ccGFyDQo+PiAgVGhlIGRpZmZl
cmVuY2UgaXMgcmVhbGx5IG5vdCB0aGF0IGdyZWF0LiBBbHRob3VnaCB2aXNpYmxlLlxwYXINCj4+
ICBJbiBteSBudW1lcmljIHByb2JsZW1zLCB0aGlzIGtpbmQgb2YgZXhwcmVzc2lvbnMgYXJlIGFc
cGFyDQpccGFyDQo+PiAgZnJhY3Rpb24gb2YgdGhlIGFjdHVhbCBjb2RlLlxwYXINClxwYXINClJv
b20gZm9yIHNoYWRlcyBvZiBvcGluaW9uLlxwYXINClxwYXINCk15IGNvbGxlYWdlIChhIEphdmEg
dXNlcikgZG93bmxvYWRlZCBhIG5ldyB2ZXJzaW9uXHBhcg0KdGhpcyB3ZWVrIHdoaWNoIG5vdyBh
bGxvd3MgJ1N0YXRpYyBJbXBvcnRzJyBvciBzb21ldGhpbmdccGFyDQpzaW1pbGFyIChJIGRvbid0
IHNwZWFrIEphdmEgbXlzZWxmKS5ccGFyDQpccGFyDQpUaGlzIG1lYW50IGhlIGNvdWxkIHJlcGxh
Y2UgJ2EgPSBNLmNvcyAoMiAqIE0ucGkgKiB4KSdccGFyDQpieSAnYSA9IGNvcyAoMiAqIHBpICog
eCknLiAgSGUgdGhvdWdodCB0aGlzIHdhcyBhIGJpZ1xwYXINCmltcHJvdmVtZW50LlxwYXINClxw
YXINClxwYXINCj4+ICA+IDcgLSBJZiBJIHNlbGVjdCBSLkN1YmUsIHJpZ2h0IGNsaWNrLCBJIGdl
dCBpbW1lZGlhdGVccGFyDQpccGFyDQo+PiAgYWNjZXNzIHRvIHRoZSBpbnRlcmZhY2UsXHBhcg0K
Pj4gID4gc291cmNlLCBhbmQgRG9jdS4gVGhpcyBpcyB2ZXJ5IG5pY2UuIEl0IGRvZXMgbm90IHdv
cmsgaWZccGFyDQpccGFyDQo+PiAgSSBzZWxlY3QgY3ViZS5FdmFsLlxwYXINCj4+IFxwYXINClxw
YXINCj4+ICBCdXQgaXQgZG9lcywgaWYgb25lIHNlbGVjdHMgTS5jdWJlLkV2YWwuXHBhcg0KXHBh
cg0KTm8gaXQgZG9lcyBub3QhIElmIEkgc2VsZWN0IFRleHRNb2RlbHMuZGlyLk5ldyBJXHBhcg0K
ZG8gbm90IGdldCB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIE5ldyBmdW5jdGlvbi5ccGFyDQpc
cGFyDQpccGFyDQo+PiAgPiBiZWVuIGRlY2xhcmVkIGFzIGEgU3RvcmUgSSBjb3VsZCBFeHRlcm5h
bGlzZSBjdWJlLiBRdWVzdGlvbjogZG9lc1xwYXINCj4+ICA+IGNyZWF0aW5nIGEgU3RvcmUgZXh0
ZW5zaW9uIGhhdmUgYSBzaWduaWZpY2FudCBvdmVyaGVhZCBpbnNpZGUgYVxwYXINCj4+ICA+IGJp
ZyBsb29wP1xwYXINCj4+IFxwYXINClxwYXINCj4+ICBBcyBmYXIgYXMgSSB1bmRlcnN0YW5kLCBh
bnkgbWV0aG9kIGNhbGwgaW52b2x2ZXMganVzdCBvbmVccGFyDQpccGFyDQo+PiAgZXh0cmEgbWVt
b3J5IGp1bXAsIGlycmVzcGVjdGl2ZSBvZiB0aGUgbGVuZ3RoIG9mXHBhcg0KXHBhcg0KPj4gIGlu
aGVyaXRhbmNlIGNoYWluIChjb21waWxlciBjcmVhdGVzIGEgdHlwZSBkZXNjcmlwdG9yIGZvclxw
YXINClxwYXINCj4+ICBlYWNoIHR5cGUsIHdpdGggYW4gYXJyYXkgb2YgcG9pbnRlcnMgdG8gbWV0
aG9kIGVudHJ5XHBhcg0KXHBhcg0KPj4gIHBvaW50cywgYW5kIGZvciBhIG5vbi1leHRlbmRlZCBt
ZXRob2QsIHRoZSBwb2ludGVyIGlzXHBhcg0KXHBhcg0KPj4gIHNpbXBseSBjb3BpZWQgZnJvbSB0
aGUgcGFyZW50IHR5cGUgZGVzY3JpcHRvciB0byB0aGUgY2hpbGQncyBvbmUpLlxwYXINClxwYXIN
Ck15IHF1ZXN0aW9uIGNvbmNlcm5lZCBDUkVBVElORyBhIFN0b3JlIGV4dGVuc2lvbiwgbm90IFVT
SU5HIGl0LiBJXHBhcg0Kc3VzcGVjdCBpdCBpcyBhIHJhdGhlciBjb21wbGV4IHRoaW5nIHRvIGlu
aXRpYWxpc2UuXHBhcg0KXHBhcg0KXHBhcg0KQ2hlZXJzXHBhcg0KXHBhcg0KUm9iZXJ0XHBhcg0K
IFxwYXINClxwYXINClxwYXINCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHBhcg0KVGhpcyBlbWFpbCBhbmQgYW55IGF0
dGFjaG1lbnRzIGFyZSBjb25maWRlbnRpYWwgdG8gdGhlIGludGVuZGVkXHBhcg0KcmVjaXBpZW50
IGFuZCBtYXkgYWxzbyBiZSBwcml2aWxlZ2VkLiBJZiB5b3UgYXJlIG5vdCB0aGUgaW50ZW5kZWRc
cGFyDQpyZWNpcGllbnQgcGxlYXNlIGRlbGV0ZSBpdCBmcm9tIHlvdXIgc3lzdGVtIGFuZCBub3Rp
ZnkgdGhlIHNlbmRlci5ccGFyDQpZb3Ugc2hvdWxkIG5vdCBjb3B5IGl0IG9yIHVzZSBpdCBmb3Ig
YW55IHB1cnBvc2Ugbm9yIGRpc2Nsb3NlIG9yXHBhcg0KZGlzdHJpYnV0ZSBpdHMgY29udGVudHMg
dG8gYW55IG90aGVyIHBlcnNvbi5ccGFyDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxwYXINCi0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHBhcg0KXHBhcg0KVG8gdW5zdWJzY3JpYmUg
ZnJvbSB0aGlzIG1haWxpbmcgbGlzdCwgc2VuZCBhIG1lc3NhZ2UgY29udGFpbmluZyB0aGUgd29y
ZCAidW5zdWJzY3JpYmUiIHRvOlxwYXINCiAgIGJsYWNrYm94LXJlcXVlc3RAb2Jlcm9uLmNoXHBh
cg0KXHBhcg0KVG8gZ2V0IGEgbGlzdCBvZiB2YWxpZCBlLW1haWwgY29tbWFuZHMgYW5kIGluc3Ry
dWN0aW9ucyBvbiB0aGVpciB1c2FnZSwgc2VuZCBhIG1lc3NhZ2UgY29udGFpbmluZyB0aGUgd29y
ZCAiaGVscCIgdG8gdGhlIGFib3ZlIGFkZHJlc3MuXHBhcg0KXHBhcg0KU2VuZCBhbnkgcHJvYmxl
bSByZXBvcnRzIG9yIHF1ZXN0aW9ucyByZWxhdGVkIHRvIHRoaXMgZW1haWwgbGlzdCB0byB0aGUg
bGlzdCBvd25lciBhdFxwYXINCiAgIG93bmVyLWJsYWNrYm94QG9iZXJvbi5jaFxwYXINClxwYXIN
CkN1cnJlbnQgcG9zdGluZyBwb2xpY3k6XHBhcg0KXHBhcg0KYSkgVG8gcG9zdCB5b3Ugc2hvdWxk
IHVzZSB0aGUgc2FtZSBhZGRyZXNzIGJ5IHdoaWNoIHlvdSBhcmUgc3Vic2NyaWJlZCB0byB0aGUg
bWFpbGluZyBsaXN0LiBUaGF0IHdheSwgdGhlIGxpc3Qgc2VydmVyIHdpbGwgcmVjb2duaXplIHlv
dSBhcyBzdWJzY3JpYmVyIGFuZCBmb3J3YXJkIHlvdXIgcG9zdGluZyBpbW1lZGlhdGVseSwgd2l0
aG91dCBjcmVhdGluZyBhbnkgb3ZlcmhlYWQuXHBhcg0KXHBhcg0KYikgSWYsIGZvciBzb21lIHJl
YXNvbiwgeW91IGNhbm5vdCBwb3N0IGZyb20gdGhlIGFkZHJlc3MsIGJ5IHdoaWNoIHlvdSBhcmUg
c3Vic2NyaWJlZCwgeW91ciBtZXNzYWdlIHdpbGwgYmUgbW9kZXJhdGVkIHRvIGF2b2lkIHNwYW0u
IFBsZWFzZSB1bmRlcnN0YW5kIHRoYXQgbW9kZXJhdGlvbiB3aWxsIG9mdGVuIGNhdXNlIHNvbWUg
ZGVsYXksIGluIHBhcnRpY3VsYXIgb3ZlciB3ZWVrZW5kcyBvciBob2x5ZGF5fX0AWzdGRjk0


----boundary-LibPST-iamunique-742961487_-_---
Received on Fri Nov 19 2004 - 11:07:57 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:28:30 UTC