Re: [BLACKBOX] Read-only IN parameters for all data types (Was: Mobile-device development)

From: [at]} <Aubrey.McIntosh{>
Date: Tue, 19 Feb 2008 09:07:48 -0600

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

On Feb 19, 2008 3:25 AM, Oleg N. Cher <allot{([at]})nowhere.xy
> Dear Chris,
>
> >Incidentally, it was while working on this compiler that I realised there
> >were no real implementation barriers to having read-only IN parameters for
> >all data types. That was what prompted me to suggest in the Blackbox mailing
> >list recently that it might be useful to remove this restriction from
> >BlackBox.

>
> Using IN parameters for all data types is a "katana",
> (sharp-all-sides blade).

...

>
> And, as it is seen, completely superfluous indication, because
> the "ideal" compiler will can understand that argument
> does not change in the body of procedure - all necessary
> information for this purpose is specified (withot IN).
>


The strictness of Oberon is what defines it, in my own personal
impressions. In the first phase, it was a nuisance, I "just wanted it
to compile."
But after some experience, the errors are rare, and are a great help.

Here, if the programmer tries to assign an "in" variable, there are
design choices. One choice for the (language) design is that it is an
error. The other choice is that it is just a "free" scratch variable.

If you pass a pointer as IN, can you change the dereferenced data?


> I'll be glad to look another opinions.
>
> P.S. Sorry, oh really sorry for bad English, I have not
> enough words for serious discussions.
>
>
> Oleg N. Cher,
> Colossoft Research.
> allot{([at]})nowhere.xy
> 2008-02-19
>
>
> ----
> To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy
>



-- 
-- 
Aubrey McIntosh, Ph.D.
1502 Devon Circle
Austin TX 78723-1814
http://home.grandecom.net/~amcintosh/aubrey/Search/
----
To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy----boundary-LibPST-iamunique-1457870562_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIE9uIEZlYiAxOSwgMjAwOCAzOjI1IEFNLCBPbGVn
IE4uIENoZXIgPGFsbG90QHVrci5uZXQ+IHdyb3RlOlxwYXINCj4gRGVhciBDaHJpcyxccGFyDQo+
XHBhcg0KPiA+SW5jaWRlbnRhbGx5LCBpdCB3YXMgd2hpbGUgd29ya2luZyBvbiB0aGlzIGNvbXBp
bGVyIHRoYXQgSSByZWFsaXNlZCB0aGVyZVxwYXINCj4gPndlcmUgbm8gcmVhbCBpbXBsZW1lbnRh
dGlvbiBiYXJyaWVycyB0byBoYXZpbmcgcmVhZC1vbmx5IElOIHBhcmFtZXRlcnMgZm9yXHBhcg0K
PiA+YWxsIGRhdGEgdHlwZXMuIFRoYXQgd2FzIHdoYXQgcHJvbXB0ZWQgbWUgdG8gc3VnZ2VzdCBp
biB0aGUgQmxhY2tib3ggbWFpbGluZ1xwYXINCj4gPmxpc3QgcmVjZW50bHkgdGhhdCBpdCBtaWdo
dCBiZSB1c2VmdWwgdG8gcmVtb3ZlIHRoaXMgcmVzdHJpY3Rpb24gZnJvbVxwYXINCj4gPkJsYWNr
Qm94LlxwYXINCj5ccGFyDQo+IFVzaW5nIElOIHBhcmFtZXRlcnMgZm9yIGFsbCBkYXRhIHR5cGVz
IGlzIGEgImthdGFuYSIsXHBhcg0KPiAoc2hhcnAtYWxsLXNpZGVzIGJsYWRlKS5ccGFyDQpccGFy
DQouLi5ccGFyDQpccGFyDQo+XHBhcg0KPiBBbmQsIGFzIGl0IGlzIHNlZW4sIGNvbXBsZXRlbHkg
c3VwZXJmbHVvdXMgaW5kaWNhdGlvbiwgYmVjYXVzZVxwYXINCj4gdGhlICJpZGVhbCIgY29tcGls
ZXIgd2lsbCBjYW4gdW5kZXJzdGFuZCB0aGF0IGFyZ3VtZW50XHBhcg0KPiBkb2VzIG5vdCBjaGFu
Z2UgaW4gdGhlIGJvZHkgb2YgcHJvY2VkdXJlIC0gYWxsIG5lY2Vzc2FyeVxwYXINCj4gaW5mb3Jt
YXRpb24gZm9yIHRoaXMgcHVycG9zZSBpcyBzcGVjaWZpZWQgKHdpdGhvdCBJTikuXHBhcg0KPlxw
YXINClxwYXINClxwYXINClRoZSBzdHJpY3RuZXNzIG9mIE9iZXJvbiBpcyB3aGF0IGRlZmluZXMg
aXQsIGluIG15IG93biBwZXJzb25hbFxwYXINCmltcHJlc3Npb25zLiAgSW4gdGhlIGZpcnN0IHBo
YXNlLCBpdCB3YXMgYSBudWlzYW5jZSwgSSAianVzdCB3YW50ZWQgaXRccGFyDQp0byBjb21waWxl
LiJccGFyDQpCdXQgYWZ0ZXIgc29tZSBleHBlcmllbmNlLCB0aGUgZXJyb3JzIGFyZSByYXJlLCBh
bmQgYXJlIGEgZ3JlYXQgaGVscC5ccGFyDQpccGFyDQpIZXJlLCBpZiB0aGUgcHJvZ3JhbW1lciB0
cmllcyB0byBhc3NpZ24gYW4gImluIiB2YXJpYWJsZSwgdGhlcmUgYXJlXHBhcg0KZGVzaWduIGNo
b2ljZXMuICBPbmUgY2hvaWNlIGZvciB0aGUgKGxhbmd1YWdlKSBkZXNpZ24gaXMgdGhhdCBpdCBp
cyBhblxwYXINCmVycm9yLiAgVGhlIG90aGVyIGNob2ljZSBpcyB0aGF0IGl0IGlzIGp1c3QgYSAi
ZnJlZSIgc2NyYXRjaCB2YXJpYWJsZS5ccGFyDQpccGFyDQpJZiB5b3UgcGFzcyBhIHBvaW50ZXIg
YXMgSU4sIGNhbiB5b3UgY2hhbmdlIHRoZSBkZXJlZmVyZW5jZWQgZGF0YT9ccGFyDQpccGFyDQpc
cGFyDQo+IEknbGwgYmUgZ2xhZCB0byBsb29rIGFub3RoZXIgb3BpbmlvbnMuXHBhcg0KPlxwYXIN
Cj4gUC5TLiBTb3JyeSwgb2ggcmVhbGx5IHNvcnJ5IGZvciBiYWQgRW5nbGlzaCwgSSBoYXZlIG5v
dFxwYXINCj4gICAgZW5vdWdoIHdvcmRzIGZvciBzZXJpb3VzIGRpc2N1c3Npb25zLlxwYXINCj5c
cGFyDQo+XHBhcg0KPiBPbGVnIE4uIENoZXIsXHBhcg0KPiBDb2xvc3NvZnQgUmVzZWFyY2guXHBh
cg0KPiBhbGxvdEB1a3IubmV0XHBhcg0KPiAyMDA4LTAyLTE5XHBhcg0KPlxwYXINCj5ccGFyDQo+
IC0tLS1ccGFyDQo+IFRvIHVuc3Vic2NyaWJlLCBzZW5kIGEgbWVzc2FnZSB3aXRoIGJvZHkgIlNJ
R05PRkYgQkxBQ0tCT1giIHRvIExJU1RTRVJWQExJU1RTLk9CRVJPTi5DSFxwYXINCj5ccGFyDQpc
cGFyDQpccGFyDQpccGFyDQotLSBccGFyDQotLSBccGFyDQpBdWJyZXkgTWNJbnRvc2gsIFBoLkQu
XHBhcg0KMTUwMiBEZXZvbiBDaXJjbGVccGFyDQpBdXN0aW4gVFggNzg3MjMtMTgxNFxwYXINCmh0
dHA6Ly9ob21lLmdyYW5kZWNvbS5uZXQvfmFtY2ludG9zaC9hdWJyZXkvU2VhcmNoL1xwYXINClxw
YXINClxwYXINCi0tLS1ccGFyDQpUbyB1bnN1YnNjcmliZSwgc2VuZCBhIG1lc3NhZ2Ugd2l0aCBi
b2R5ICJTSUdOT0ZGIEJMQUNLQk9YIiB0byBMSVNUU0VSVkBMSVNUUy5PQkVST04ufX0AAAAQJACp
----boundary-LibPST-iamunique-1457870562_-_---
Received on Tue Feb 19 2008 - 16:07:48 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:31:01 UTC