- ASCII file handling

From: Douglas G. Danforth <"Douglas>
Date: Thu, 25 May 2006 11:25:55 -0400

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

Campbell, Robert D (SELEX) (UK Edinburgh) wrote:
> People like to write their own! That way it operates as they wish rather
> than according to someone elses 'odd' ideas of a good design.
>
> Or am I wrong? Would a 'good' ASCII module be a real asset to the
> community.
>
> Actually I am of the opinion that it would be 'good' thing if various
> facilities (such as ASCII file handling) were developed to a good
> standard, then became defacto standards within the community.
>
> To this end I published a capable and documented ASCII file reader
> (LibAsciiMappers).
> Now it may be the case that this module is excellent or hopeless, but
> the point that I want to make is that it has provoked no feedback;
> no one has said "make this small change and eveyone will want to
> use it" or "bin that load of rubbish and use this; it is MUCH better".
>
> We need this kind of interaction to evolve towards better things.
> Without this interaction I am left with one or two theories:
>
> 1 - We are too polite for our own good
>
> or
>
> 2 - (As already said) People like to write their own.
>
> Robert
>
>
Hanspeter Mossenbach in his book Object Oriented Programming in Oberon
mentions
(and I am kicking myself for forgetting this) that a truly object
oriented way of handling
files (whether they be ascii or otherwise) is to first write out
"module.handler" at the head
of each file as the name of the handler who knows how to read the rest
of the file.
One then reads the string name of the handler, dynamically loads the
handler module, and calls
the handler procedure.

-Doug Danforth

--- BlackBox
--- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy



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

e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIENhbXBiZWxsLCBSb2JlcnQgRCAoU0VMRVgpIChV
SyBFZGluYnVyZ2gpIHdyb3RlOlxwYXINCj4gUGVvcGxlIGxpa2UgdG8gd3JpdGUgdGhlaXIgb3du
ISBUaGF0IHdheSBpdCBvcGVyYXRlcyBhcyB0aGV5IHdpc2ggcmF0aGVyXHBhcg0KPiB0aGFuIGFj
Y29yZGluZyB0byBzb21lb25lIGVsc2VzICdvZGQnIGlkZWFzIG9mIGEgZ29vZCBkZXNpZ24uXHBh
cg0KPlxwYXINCj4gT3IgYW0gSSB3cm9uZz8gV291bGQgYSAnZ29vZCcgQVNDSUkgbW9kdWxlIGJl
IGEgcmVhbCBhc3NldCB0byB0aGUgXHBhcg0KPiBjb21tdW5pdHkuXHBhcg0KPlxwYXINCj4gQWN0
dWFsbHkgSSBhbSBvZiB0aGUgb3BpbmlvbiB0aGF0IGl0IHdvdWxkIGJlICdnb29kJyB0aGluZyBp
ZiB2YXJpb3VzIFxwYXINCj4gZmFjaWxpdGllcyAoc3VjaCBhcyBBU0NJSSBmaWxlIGhhbmRsaW5n
KSB3ZXJlIGRldmVsb3BlZCB0byBhIGdvb2RccGFyDQo+IHN0YW5kYXJkLCB0aGVuIGJlY2FtZSBk
ZWZhY3RvIHN0YW5kYXJkcyB3aXRoaW4gdGhlIGNvbW11bml0eS5ccGFyDQo+XHBhcg0KPiBUbyB0
aGlzIGVuZCBJIHB1Ymxpc2hlZCBhIGNhcGFibGUgYW5kIGRvY3VtZW50ZWQgQVNDSUkgZmlsZSBy
ZWFkZXIgXHBhcg0KPiAoTGliQXNjaWlNYXBwZXJzKS5ccGFyDQo+IE5vdyBpdCBtYXkgYmUgdGhl
IGNhc2UgdGhhdCB0aGlzIG1vZHVsZSBpcyBleGNlbGxlbnQgb3IgaG9wZWxlc3MsIGJ1dCBccGFy
DQo+IHRoZSBwb2ludCB0aGF0IEkgd2FudCB0byBtYWtlIGlzIHRoYXQgaXQgaGFzIHByb3Zva2Vk
IG5vIGZlZWRiYWNrO1xwYXINCj4gbm8gb25lIGhhcyBzYWlkICJtYWtlIHRoaXMgc21hbGwgY2hh
bmdlIGFuZCBldmV5b25lIHdpbGwgd2FudCB0b1xwYXINCj4gdXNlIGl0IiBvciAiYmluIHRoYXQg
bG9hZCBvZiBydWJiaXNoIGFuZCB1c2UgdGhpczsgaXQgaXMgTVVDSCBiZXR0ZXIiLlxwYXINCj5c
cGFyDQo+IFdlIG5lZWQgdGhpcyBraW5kIG9mIGludGVyYWN0aW9uIHRvIGV2b2x2ZSB0b3dhcmRz
IGJldHRlciB0aGluZ3MuIFxwYXINCj4gV2l0aG91dCB0aGlzIGludGVyYWN0aW9uIEkgYW0gbGVm
dCB3aXRoIG9uZSBvciB0d28gdGhlb3JpZXM6XHBhcg0KPlxwYXINCj4gMSAtIFdlIGFyZSB0b28g
cG9saXRlIGZvciBvdXIgb3duIGdvb2RccGFyDQo+XHBhcg0KPiBvclxwYXINCj5ccGFyDQo+IDIg
LSAoQXMgYWxyZWFkeSBzYWlkKSBQZW9wbGUgbGlrZSB0byB3cml0ZSB0aGVpciBvd24uXHBhcg0K
PlxwYXINCj4gUm9iZXJ0XHBhcg0KPlxwYXINCj4gICBccGFyDQpIYW5zcGV0ZXIgTW9zc2VuYmFj
aCBpbiBoaXMgYm9vayBPYmplY3QgT3JpZW50ZWQgUHJvZ3JhbW1pbmcgaW4gT2Jlcm9uIFxwYXIN
Cm1lbnRpb25zXHBhcg0KKGFuZCBJIGFtIGtpY2tpbmcgbXlzZWxmIGZvciBmb3JnZXR0aW5nIHRo
aXMpIHRoYXQgYSB0cnVseSBvYmplY3QgXHBhcg0Kb3JpZW50ZWQgd2F5IG9mIGhhbmRsaW5nXHBh
cg0KZmlsZXMgKHdoZXRoZXIgdGhleSBiZSBhc2NpaSBvciBvdGhlcndpc2UpIGlzIHRvIGZpcnN0
IHdyaXRlIG91dCBccGFyDQoibW9kdWxlLmhhbmRsZXIiIGF0IHRoZSBoZWFkXHBhcg0Kb2YgZWFj
aCBmaWxlIGFzIHRoZSBuYW1lIG9mIHRoZSBoYW5kbGVyIHdobyBrbm93cyBob3cgdG8gcmVhZCB0
aGUgcmVzdCBccGFyDQpvZiB0aGUgZmlsZS5ccGFyDQpPbmUgdGhlbiByZWFkcyB0aGUgc3RyaW5n
IG5hbWUgb2YgdGhlIGhhbmRsZXIsIGR5bmFtaWNhbGx5IGxvYWRzIHRoZSBccGFyDQpoYW5kbGVy
IG1vZHVsZSwgYW5kIGNhbGxzXHBhcg0KdGhlIGhhbmRsZXIgcHJvY2VkdXJlLlxwYXINClxwYXIN
Ci1Eb3VnIERhbmZvcnRoXHBhcg0KXHBhcg0KLS0tIEJsYWNrQm94XHBhcg0KLS0tIHNlbmQgc3Vi
amVjdCBIRUxQIG9yIFVOU1VCU0NSSUJFIHRvIGJsYWNrYm94QG9iZXJvbi5jaH19AAAAAAAAAAAA
AAA=


----boundary-LibPST-iamunique-204255255_-_---
Received on Thu May 25 2006 - 17:25:55 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:27:57 UTC