Re: [BLACKBOX] Upcalls deprecated

From: [at]} <CFB>
Date: Tue, 4 Mar 2008 12:42:55 +1030

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

>-----Original Message-----
>From: BlackBox [mailto:BLACKBOX{([at]})nowhere.xy
>Aubrey.McIntosh{([at]})nowhere.xy
>Sent: Monday, 3 March 2008 10:30 PM
>To: BLACKBOX{([at]})nowhere.xy
>Subject: [BLACKBOX] Upcalls depreciated
>
>After almost 20 years, I seem to be learning a lot of Oberon
>thinking this week.
>
>I read in the Language Reference for Component Pascal that
>procedure calls and super calls are considered obsolete.
>
>What is the replacement? I was looking at HostPackedFiles and
>noticed that there are not any, there are type bound methods
>and the "Directory" construct. Is that the currently
>recommended practice?
>What is the motivation? Since it gets in the way of some
>clever thing I am considering, I assume it is a safety measure.
>
>

1. From the What's New in Component Pascal:

"Super calls

Because of the so-called semantic fragile base class problem, it is
recommended to avoid super calls whenever possible. It is possible to design
new software such that they are not needed, by relying on composition rather
than on implementation inheritance. Super calls are considered to be an
obsolete feature. For the time being, they are retained for backward
compatibility. In the long run, support for super calls may be reduced."

2. From "Component Software - Beyond Object-Oriented Programming" by Clemens
Szyperski (of Blackbox fame) and others:

"The essence of the semantic fragile base problem is how can a subclass
remain valid in the presence of different versions and evolution of the
implementation of its superclasses? ... To answer this question, the very
nature of implementation inheritance needs to be understood first."

This is followed by a page of explanation with the note: "For many, this is
probably difficult reading ..."

http://research.microsoft.com/~cszypers/Books/component-software.htm

3. I previously said as part of a discussion here with the subject 'RE: An
extended discussion of extensibility' (12 Oct 2004):

"By all means *discourage* the use of super calls but don't *ban* them
unless you want to restrict the use of Component Pascal to the BlackBox
framework and hinder more widespread adoption of the language.

Super calls are currently required if you are using Component Pascal with
Microsoft's .NET framework. Not only does this framework allow Component
Pascal to exploit features of future versions of Windows, it also currently
allows Component Pascal to be used to develop Linux applications via the
Mono project.

Also, banning super calls may limit the usefulness of Component Pascal as a
language with any other future OO-based framework whose
implementation you have no control over."

Regards,
Chris

Chris Burrows
CFB Software
http://www.cfbsoftware.com/


----
To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy----boundary-LibPST-iamunique-1341743431_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwID4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLVxw
YXINCj5Gcm9tOiBCbGFja0JveCBbbWFpbHRvOkJMQUNLQk9YQExJU1RTLk9CRVJPTi5DSF0gT24g
QmVoYWxmIE9mIFxwYXINCj5BdWJyZXkuTWNJbnRvc2hAQUxVTU5JLlVURVhBUy5ORVRccGFyDQo+
U2VudDogTW9uZGF5LCAzIE1hcmNoIDIwMDggMTA6MzAgUE1ccGFyDQo+VG86IEJMQUNLQk9YQExJ
U1RTLk9CRVJPTi5DSFxwYXINCj5TdWJqZWN0OiBbQkxBQ0tCT1hdIFVwY2FsbHMgZGVwcmVjaWF0
ZWRccGFyDQo+XHBhcg0KPkFmdGVyIGFsbW9zdCAyMCB5ZWFycywgSSBzZWVtIHRvIGJlIGxlYXJu
aW5nIGEgbG90IG9mIE9iZXJvbiBccGFyDQo+dGhpbmtpbmcgdGhpcyB3ZWVrLlxwYXINCj5ccGFy
DQo+SSByZWFkIGluIHRoZSBMYW5ndWFnZSBSZWZlcmVuY2UgZm9yIENvbXBvbmVudCBQYXNjYWwg
dGhhdCBccGFyDQo+cHJvY2VkdXJlIGNhbGxzIGFuZCBzdXBlciBjYWxscyBhcmUgY29uc2lkZXJl
ZCBvYnNvbGV0ZS5ccGFyDQo+XHBhcg0KPldoYXQgaXMgdGhlIHJlcGxhY2VtZW50PyAgSSB3YXMg
bG9va2luZyBhdCBIb3N0UGFja2VkRmlsZXMgYW5kIFxwYXINCj5ub3RpY2VkIHRoYXQgdGhlcmUg
YXJlIG5vdCBhbnksIHRoZXJlIGFyZSB0eXBlIGJvdW5kIG1ldGhvZHMgXHBhcg0KPmFuZCB0aGUg
IkRpcmVjdG9yeSIgY29uc3RydWN0LiAgSXMgdGhhdCB0aGUgY3VycmVudGx5IFxwYXINCj5yZWNv
bW1lbmRlZCBwcmFjdGljZT9ccGFyDQo+V2hhdCBpcyB0aGUgbW90aXZhdGlvbj8gIFNpbmNlIGl0
IGdldHMgaW4gdGhlIHdheSBvZiBzb21lIFxwYXINCj5jbGV2ZXIgdGhpbmcgSSBhbSBjb25zaWRl
cmluZywgSSBhc3N1bWUgaXQgaXMgYSBzYWZldHkgbWVhc3VyZS5ccGFyDQo+XHBhcg0KPlxwYXIN
ClxwYXINCjEuIEZyb20gdGhlIFdoYXQncyBOZXcgaW4gQ29tcG9uZW50IFBhc2NhbDpccGFyDQpc
cGFyDQoiU3VwZXIgY2FsbHNccGFyDQpccGFyDQpCZWNhdXNlIG9mIHRoZSBzby1jYWxsZWQgc2Vt
YW50aWMgZnJhZ2lsZSBiYXNlIGNsYXNzIHByb2JsZW0sIGl0IGlzXHBhcg0KcmVjb21tZW5kZWQg
dG8gYXZvaWQgc3VwZXIgY2FsbHMgd2hlbmV2ZXIgcG9zc2libGUuIEl0IGlzIHBvc3NpYmxlIHRv
IGRlc2lnblxwYXINCm5ldyBzb2Z0d2FyZSBzdWNoIHRoYXQgdGhleSBhcmUgbm90IG5lZWRlZCwg
YnkgcmVseWluZyBvbiBjb21wb3NpdGlvbiByYXRoZXJccGFyDQp0aGFuIG9uIGltcGxlbWVudGF0
aW9uIGluaGVyaXRhbmNlLiBTdXBlciBjYWxscyBhcmUgY29uc2lkZXJlZCB0byBiZSBhblxwYXIN
Cm9ic29sZXRlIGZlYXR1cmUuIEZvciB0aGUgdGltZSBiZWluZywgdGhleSBhcmUgcmV0YWluZWQg
Zm9yIGJhY2t3YXJkXHBhcg0KY29tcGF0aWJpbGl0eS4gSW4gdGhlIGxvbmcgcnVuLCBzdXBwb3J0
IGZvciBzdXBlciBjYWxscyBtYXkgYmUgcmVkdWNlZC4iXHBhcg0KXHBhcg0KMi4gRnJvbSAiQ29t
cG9uZW50IFNvZnR3YXJlIC0gQmV5b25kIE9iamVjdC1PcmllbnRlZCBQcm9ncmFtbWluZyIgYnkg
Q2xlbWVuc1xwYXINClN6eXBlcnNraSAob2YgQmxhY2tib3ggZmFtZSkgYW5kIG90aGVyczpccGFy
DQpccGFyDQoiVGhlIGVzc2VuY2Ugb2YgdGhlIHNlbWFudGljIGZyYWdpbGUgYmFzZSBwcm9ibGVt
IGlzIGhvdyBjYW4gYSBzdWJjbGFzc1xwYXINCnJlbWFpbiB2YWxpZCBpbiB0aGUgcHJlc2VuY2Ug
b2YgZGlmZmVyZW50IHZlcnNpb25zIGFuZCBldm9sdXRpb24gb2YgdGhlXHBhcg0KaW1wbGVtZW50
YXRpb24gb2YgaXRzIHN1cGVyY2xhc3Nlcz8gLi4uIFRvIGFuc3dlciB0aGlzIHF1ZXN0aW9uLCB0
aGUgdmVyeVxwYXINCm5hdHVyZSBvZiBpbXBsZW1lbnRhdGlvbiBpbmhlcml0YW5jZSBuZWVkcyB0
byBiZSB1bmRlcnN0b29kIGZpcnN0LiIgXHBhcg0KXHBhcg0KVGhpcyBpcyBmb2xsb3dlZCBieSBh
IHBhZ2Ugb2YgZXhwbGFuYXRpb24gd2l0aCB0aGUgbm90ZTogIkZvciBtYW55LCB0aGlzIGlzXHBh
cg0KcHJvYmFibHkgZGlmZmljdWx0IHJlYWRpbmcgLi4uIlxwYXINClxwYXINCmh0dHA6Ly9yZXNl
YXJjaC5taWNyb3NvZnQuY29tL35jc3p5cGVycy9Cb29rcy9jb21wb25lbnQtc29mdHdhcmUuaHRt
XHBhcg0KXHBhcg0KMy4gSSBwcmV2aW91c2x5IHNhaWQgYXMgcGFydCBvZiBhIGRpc2N1c3Npb24g
aGVyZSB3aXRoIHRoZSBzdWJqZWN0ICdSRTogQW5ccGFyDQpleHRlbmRlZCBkaXNjdXNzaW9uIG9m
IGV4dGVuc2liaWxpdHknICgxMiBPY3QgMjAwNCk6IFxwYXINClxwYXINCiJCeSBhbGwgbWVhbnMg
KmRpc2NvdXJhZ2UqIHRoZSB1c2Ugb2Ygc3VwZXIgY2FsbHMgYnV0IGRvbid0ICpiYW4qIHRoZW1c
cGFyDQp1bmxlc3MgeW91IHdhbnQgdG8gcmVzdHJpY3QgdGhlIHVzZSBvZiBDb21wb25lbnQgUGFz
Y2FsIHRvIHRoZSBCbGFja0JveFxwYXINCmZyYW1ld29yayBhbmQgaGluZGVyIG1vcmUgd2lkZXNw
cmVhZCBhZG9wdGlvbiBvZiB0aGUgbGFuZ3VhZ2UuIFxwYXINClxwYXINClN1cGVyIGNhbGxzIGFy
ZSBjdXJyZW50bHkgcmVxdWlyZWQgaWYgeW91IGFyZSB1c2luZyBDb21wb25lbnQgUGFzY2FsIHdp
dGhccGFyDQpNaWNyb3NvZnQncyAuTkVUIGZyYW1ld29yay4gTm90IG9ubHkgZG9lcyB0aGlzIGZy
YW1ld29yayBhbGxvdyBDb21wb25lbnRccGFyDQpQYXNjYWwgdG8gZXhwbG9pdCBmZWF0dXJlcyBv
ZiBmdXR1cmUgdmVyc2lvbnMgb2YgV2luZG93cywgaXQgYWxzbyBjdXJyZW50bHlccGFyDQphbGxv
d3MgQ29tcG9uZW50IFBhc2NhbCB0byBiZSB1c2VkIHRvIGRldmVsb3AgTGludXggYXBwbGljYXRp
b25zIHZpYSB0aGVccGFyDQpNb25vIHByb2plY3QuIFxwYXINClxwYXINCkFsc28sIGJhbm5pbmcg
c3VwZXIgY2FsbHMgbWF5IGxpbWl0IHRoZSB1c2VmdWxuZXNzIG9mIENvbXBvbmVudCBQYXNjYWwg
YXMgYVxwYXINCmxhbmd1YWdlIHdpdGggYW55IG90aGVyIGZ1dHVyZSBPTy1iYXNlZCBmcmFtZXdv
cmsgd2hvc2VccGFyDQppbXBsZW1lbnRhdGlvbiB5b3UgaGF2ZSBubyBjb250cm9sIG92ZXIuIlxw
YXINClxwYXINClJlZ2FyZHMsXHBhcg0KQ2hyaXNccGFyDQpccGFyDQpDaHJpcyBCdXJyb3dzXHBh
cg0KQ0ZCIFNvZnR3YXJlXHBhcg0KaHR0cDovL3d3dy5jZmJzb2Z0d2FyZS5jb20vXHBhcg0KXHBh
cg0KXHBhcg0KLS0tLVxwYXINClRvIHVuc3Vic2NyaWJlLCBzZW5kIGEgbWVzc2FnZSB3aXRoIGJv
ZHkgIlNJR05PRkYgQkxBQ0tCT1giIHRvIExJU1RTRVJWQExJU1RTLk9CRVJPTi5DSFx9fQBVZ2Q=
----boundary-LibPST-iamunique-1341743431_-_---
Received on Tue Mar 04 2008 - 03:12:55 UTC

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