Re: CAPS again

From: René A. Krywult <"René>
Date: Thu, 16 Sep 2004 11:47:20 +0200 (DFT)

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


Bob wrote:
>surely one of the major reasons for using Pascal-like languages is
>type-safety, which drastically reduces the need for such run-time
>checks by the programmers.

But CAP *is* indeed type-safe, isn't it?

>It seems to me that CAP( x ) should return x where x does not have
>a corresponding capital letter, or at least consistently return the
>same thing, eg 0X.

Well, I've been working with Oberon language from the beginning of the Oberon System, I've read the documentations and the books, and one thing that is emphasized by Wirth time and again is, that the user/programmer should have strict rules to use, but he should not be patronized. In Windows, you always get those stupid questions like "Are you really, really sure you want to do X?" They are an annoyance at best, and a pest to call it by name.

The philosophy of Oberon instead is: If it is possible to give a result, then give it. If it is impossible, then trap.

Surely, it is possible to give a result for CAP(" "), and that it is not printable is not a matter of the compiler/runtime environment at all!

Also, CAP is a predefined function implemented within the language. The idea behind a "system function", if you will, is that they are FAST and do things that you can't do any other way. It's not their duty to do extensive checking or error-handling. They have to be FAST and SMALL. If you're not aiming at "FAST AND SMALL", but at "SECURE AND EASY-TO-USE", then don't use it! There's Strings.Upper to do it the secure and easy-to-use way. Have a look at the docu of Strings.Upper. It says it does exactly what you want CAP to do.

Rene

-------------------------------------------
Versendet durch AonWebmail (webmail.aon.at)
--------------------------------------------

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-1192965569_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"

e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIFxwYXINCkJvYiB3cm90ZTpccGFyDQo+c3VyZWx5
IG9uZSBvZiB0aGUgbWFqb3IgcmVhc29ucyBmb3IgdXNpbmcgUGFzY2FsLWxpa2UgbGFuZ3VhZ2Vz
IGlzXHBhcg0KPnR5cGUtc2FmZXR5LCB3aGljaCBkcmFzdGljYWxseSByZWR1Y2VzIHRoZSBuZWVk
IGZvciBzdWNoIHJ1bi10aW1lXHBhcg0KPmNoZWNrcyBieSB0aGUgcHJvZ3JhbW1lcnMuXHBhcg0K
XHBhcg0KQnV0IENBUCAqaXMqIGluZGVlZCB0eXBlLXNhZmUsIGlzbid0IGl0PyBccGFyDQpccGFy
DQo+SXQgc2VlbXMgdG8gbWUgdGhhdCBDQVAoIHggKSBzaG91bGQgcmV0dXJuIHggd2hlcmUgeCBk
b2VzIG5vdCBoYXZlXHBhcg0KPmEgY29ycmVzcG9uZGluZyBjYXBpdGFsIGxldHRlciwgb3IgYXQg
bGVhc3QgY29uc2lzdGVudGx5IHJldHVybiB0aGVccGFyDQo+c2FtZSB0aGluZywgZWcgMFguXHBh
cg0KXHBhcg0KV2VsbCwgSSd2ZSBiZWVuIHdvcmtpbmcgd2l0aCBPYmVyb24gbGFuZ3VhZ2UgZnJv
bSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBPYmVyb24gU3lzdGVtLCBJJ3ZlIHJlYWQgdGhlIGRvY3Vt
ZW50YXRpb25zIGFuZCB0aGUgYm9va3MsIGFuZCBvbmUgdGhpbmcgdGhhdCBpcyBlbXBoYXNpemVk
IGJ5IFdpcnRoIHRpbWUgYW5kIGFnYWluIGlzLCB0aGF0IHRoZSB1c2VyL3Byb2dyYW1tZXIgc2hv
dWxkIGhhdmUgc3RyaWN0IHJ1bGVzIHRvIHVzZSwgYnV0IGhlIHNob3VsZCBub3QgYmUgcGF0cm9u
aXplZC4gSW4gV2luZG93cywgeW91IGFsd2F5cyBnZXQgdGhvc2Ugc3R1cGlkIHF1ZXN0aW9ucyBs
aWtlICJBcmUgeW91IHJlYWxseSwgcmVhbGx5IHN1cmUgeW91IHdhbnQgdG8gZG8gWD8iIFRoZXkg
YXJlIGFuIGFubm95YW5jZSBhdCBiZXN0LCBhbmQgYSBwZXN0IHRvIGNhbGwgaXQgYnkgbmFtZS5c
cGFyDQpccGFyDQpUaGUgcGhpbG9zb3BoeSBvZiBPYmVyb24gaW5zdGVhZCBpczogSWYgaXQgaXMg
cG9zc2libGUgdG8gZ2l2ZSBhIHJlc3VsdCwgdGhlbiBnaXZlIGl0LiBJZiBpdCBpcyBpbXBvc3Np
YmxlLCB0aGVuIHRyYXAuIFxwYXINClxwYXINClN1cmVseSwgaXQgaXMgcG9zc2libGUgdG8gZ2l2
ZSBhIHJlc3VsdCBmb3IgQ0FQKCIgIiksIGFuZCB0aGF0IGl0IGlzIG5vdCBwcmludGFibGUgaXMg
bm90IGEgbWF0dGVyIG9mIHRoZSBjb21waWxlci9ydW50aW1lIGVudmlyb25tZW50IGF0IGFsbCFc
cGFyDQpccGFyDQpBbHNvLCBDQVAgaXMgYSBwcmVkZWZpbmVkIGZ1bmN0aW9uIGltcGxlbWVudGVk
IHdpdGhpbiB0aGUgbGFuZ3VhZ2UuIFRoZSBpZGVhIGJlaGluZCBhICJzeXN0ZW0gZnVuY3Rpb24i
LCBpZiB5b3Ugd2lsbCwgaXMgdGhhdCB0aGV5IGFyZSBGQVNUIGFuZCBkbyB0aGluZ3MgdGhhdCB5
b3UgY2FuJ3QgZG8gYW55IG90aGVyIHdheS4gSXQncyBub3QgdGhlaXIgZHV0eSB0byBkbyBleHRl
bnNpdmUgY2hlY2tpbmcgb3IgZXJyb3ItaGFuZGxpbmcuIFRoZXkgaGF2ZSB0byBiZSBGQVNUIGFu
ZCBTTUFMTC4gSWYgeW91J3JlIG5vdCBhaW1pbmcgYXQgIkZBU1QgQU5EIFNNQUxMIiwgYnV0IGF0
ICJTRUNVUkUgQU5EIEVBU1ktVE8tVVNFIiwgdGhlbiBkb24ndCB1c2UgaXQhIFRoZXJlJ3MgU3Ry
aW5ncy5VcHBlciB0byBkbyBpdCB0aGUgc2VjdXJlIGFuZCBlYXN5LXRvLXVzZSB3YXkuIEhhdmUg
YSBsb29rIGF0IHRoZSBkb2N1IG9mIFN0cmluZ3MuVXBwZXIuIEl0IHNheXMgaXQgZG9lcyBleGFj
dGx5IHdoYXQgeW91IHdhbnQgQ0FQIHRvIGRvLlxwYXINClxwYXINClJlbmVccGFyDQpccGFyDQot
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHBhcg0KVmVyc2VuZGV0
IGR1cmNoIEFvbldlYm1haWwgKHdlYm1haWwuYW9uLmF0KVxwYXINCi0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHBhcg0KXHBhcg0KVG8gdW5zdWJzY3JpYmUgZnJv
bSB0aGlzIG1haWxpbmcgbGlzdCwgc2VuZCBhIG1lc3NhZ2UgY29udGFpbmluZyB0aGUgd29yZCAi
dW5zdWJzY3JpYmUiIHRvOlxwYXINCiAgIGJsYWNrYm94LXJlcXVlc3RAb2Jlcm9uLmNoXHBhcg0K
XHBhcg0KVG8gZ2V0IGEgbGlzdCBvZiB2YWxpZCBlLW1haWwgY29tbWFuZHMgYW5kIGluc3RydWN0
aW9ucyBvbiB0aGVpciB1c2FnZSwgc2VuZCBhIG1lc3NhZ2UgY29udGFpbmluZyB0aGUgd29yZCAi
aGVscCIgdG8gdGhlIGFib3ZlIGFkZHJlc3MuXHBhcg0KXHBhcg0KU2VuZCBhbnkgcHJvYmxlbSBy
ZXBvcnRzIG9yIHF1ZXN0aW9ucyByZWxhdGVkIHRvIHRoaXMgZW1haWwgbGlzdCB0byB0aGUgbGlz
dCBvd25lciBhdFxwYXINCiAgIG93bmVyLWJsYWNrYm94QG9iZXJvbi5jaFxwYXINClxwYXINCkN1
cnJlbnQgcG9zdGluZyBwb2xpY3k6XHBhcg0KXHBhcg0KYSkgVG8gcG9zdCB5b3Ugc2hvdWxkIHVz
ZSB0aGUgc2FtZSBhZGRyZXNzIGJ5IHdoaWNoIHlvdSBhcmUgc3Vic2NyaWJlZCB0byB0aGUgbWFp
bGluZyBsaXN0LiBUaGF0IHdheSwgdGhlIGxpc3Qgc2VydmVyIHdpbGwgcmVjb2duaXplIHlvdSBh
cyBzdWJzY3JpYmVyIGFuZCBmb3J3YXJkIHlvdXIgcG9zdGluZyBpbW1lZGlhdGVseSwgd2l0aG91
dCBjcmVhdGluZyBhbnkgb3ZlcmhlYWQuXHBhcg0KXHBhcg0KYikgSWYsIGZvciBzb21lIHJlYXNv
biwgeW91IGNhbm5vdCBwb3N0IGZyb20gdGhlIGFkZHJlc3MsIGJ5IHdoaWNoIHlvdSBhcmUgc3Vi
c2NyaWJlZCwgeW91ciBtZXNzYWdlIHdpbGwgYmUgbW9kZXJhdGVkIHRvIGF2b2lkIHNwYW0uIFBs
ZWFzZSB1bmRlcnN0YW5kIHRoYXQgbW9kZXJhdGlvbiB3aWxsIG9mdGVuIGNhdXNlIHNvbWUgZGVs
YXksIGluIHBhcnRpY3VsYXIgb3ZlciB3ZWVrZW5kcyBvciBob2x5ZGF5cy5ccGFyDQp9


----boundary-LibPST-iamunique-1192965569_-_---
Received on Thu Sep 16 2004 - 11:47:20 UTC

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