Re: how to invoke SML/NJ's built-in pretty printer from a program?

Joe Wells <[email protected]> Tue, 03 Mar 2009 07:11:47 +0000
Newsgroups gmane.comp.lang.sml.smlnj
Message-ID <[email protected]>
Sm9obiBSZXBweSA8amhyQGNzLnVjaGljYWdvLmVkdT4gd3JpdGVzOgoKPiBJIGRvbid0IHRoaW5r
IHRoYXQgd2hhdCB5b3Ugd2FudCBpcyBwb3NzaWJsZSBpbiBTTUwvTkosIHNpbmNlIGl0Cj4gcmVx
dWlyZXMKPiBydW50aW1lIHR5cGUgaW5mb3JtYXRpb24uICBJbiB0aGUgUkVQTCwgd2UgYXJlIGFi
bGUgdG8gcHJldHR5LXByaW50Cj4gcmVzdWx0cwo+IGJlY2F1c2Ugd2Uga25vdyB0aGVpciB0eXBl
LCBidXQgdGhhdCBpcyBub3QgdHJ1ZSBpbiBnZW5lcmFsLiAgU29ycnkuCgpUaGFua3MgdmVyeSBt
dWNoIGZvciB0aGUgYW5zd2VyLgoKTGV0IG1lIGFzayBhIGZvbGxvd3VwIHF1ZXN0aW9uLiAgSXMg
dGhlcmUgYSB3YXkgdG8gYWRkIHR5cGUKaW5mb3JtYXRpb24gdG8gdGhlIGdsb2JhbCBlbnZpcm9u
bWVudCAod2hhdCBpcyBpbiBFbnZSZWYuc3RhdGUpIGZyb20gYQpwcm9ncmFtPyAgSGVyZSBpcyBh
IGNvbmNyZXRlIGV4YW1wbGUgb2Ygd2hhdCBJIGhhdmUgaW4gbWluZDoKCiAgbGV0CiAgICB2YWwg
eCA9ICJ3b3JsZCHigJ07CiAgaW4KICAgIGRvX21hZ2ljICgpOwogICAgQmFja2VuZC5JbnRlcmFj
dC51c2VTdHJlYW0gKFRleHRJTy5vcGVuU3RyaW5nICJwcmludCAoXCJIZWxsbywgXCJeeCk7IikK
ICBlbmQKCklzIHRoZXJlIGFueXRoaW5nIEkgY2FuIHJlcGxhY2UgZG9fbWFnaWMgYnkgaW4gdGhl
IGFib3ZlIGV4YW1wbGUgdG8KbWFrZSBpdCB3b3JrPwoKLS0gClRoYW5rcywKCkpvZQoKPiAJLSBK
b2huCj4KPiBPbiBGZWIgMjYsIDIwMDksIGF0IDc6MTAgQU0sIEpvZSBXZWxscyB3cm90ZToKPgo+
PiBTTUwvTkogaGFzIGEgYnVpbHQtaW4gcHJldHR5IHByaW50ZXIgZm9yIHByaW50aW5nIHZhbHVl
cyBvZiB2YXJpb3VzCj4+IHR5cGVzIHVzZWQgYnkgdGhlIHRvcC1sZXZlbCBSRVBMLgo+PiAKPj4g
SG93IGRvIEkgaW52b2tlIGl0IGZyb20gYSBwcm9ncmFtPwo+PiAKPj4gVGhlcmUgaXMgYSBmdW5j
dGlvbiBQcmV0dHlQcmludC5wcF90b19zdHJpbmcgb2YgdHlwZSBpbnQgLT4gKHN0cmVhbSAtPgo+
PiAnYSAtPiB1bml0KSAtPiAnYSAtPiBzdHJpbmcsIGJ1dCB0byB1c2UgaXQgSSB3b3VsZCBoYXZl
IHRvIGdpdmUgaXQgYQo+PiB2YWx1ZSBvZiB0eXBlIChzdHJlYW0gLT4gJ2EgLT4gdW5pdCkuICBI
b3cgZG8gSSBjb25zdHJ1Y3QgdGhpcwo+PiBhcmd1bWVudD8KPj4gCj4+IFRvIG1ha2UgbXkgcXVl
c3Rpb24gY29uY3JldGUsIGluIHRoZSBmb2xsb3dpbmcgU01MIHByb2dyYW0sIGJ5IHdoYXQgZG8K
Pj4gSSByZXBsYWNlIOKAnG1hZ2ljX3ByZXR0eV9wcmludGVy4oCdIHRvIG1ha2UgdGhlIHByb2dy
YW0gcHJpbnQg4oCcSGFwcHksCj4+IGhhcHB5LCBqb3ksIGpveSHigJ0/Cj4+IAo+PiAgZGF0YXR5
cGUgWHl6enkgPSBDIG9mIFh5enp5ICogWHl6enkgfCBEIG9mIHN0cmluZwo+PiAKPj4gIHZhbCBw
bHVnaCA9IEMgKEQgImhlbGxvIixEICJzYWlsb3IiKQo+PiAgdmFsIHBsdWdoX3N0cmluZyA9ICJD
IChEIFwiaGVsbG9cIixEIFwic2FpbG9yXCIpIgo+PiAKPj4gIGlmICgobWFnaWNfcHJldHR5X3By
aW50ZXIgcGx1Z2gpID0gcGx1Z2hfc3RyaW5nKQo+PiAgICAgdGhlbiAocHJpbnQgIkhhcHB5LCBo
YXBweSwgam95LCBqb3khXG4iKQo+PiAgICAgZWxzZSAocmFpc2UgKEZhaWwgIm1hZ2ljIHByZXR0
eSBwcmludGVyIGdhdmUgd3JvbmcgcmVzdWx0IikpCj4+IAo+PiBJJ3ZlIGJyb3dzZWQgYXJvdW5k
IHRoZSBzb3VyY2UgZm9yIGEgd2hpbGUgYW5kIGZhaWxlZCB0byBmaW5kIHdoYXQgSQo+PiBuZWVk
LiAgQW55IGhpbnRzIHdvdWxkIGJlIGhlbHBmdWwuCj4+IAo+PiBJJ2QgcmF0aGVyIG5vdCB1c2Ug
QmFja2VuZC5JbnRlcmFjdC5ldmFsU3RyZWFtIGFuZCBjYXB0dXJlIHRoZSBvdXRwdXQKPj4gc29t
ZWhvdywgYnV0IGlmIHRoYXQgaXMgbXkgb25seSBvcHRpb24gSSB3b3VsZCBiZSBncmF0ZWZ1bCBm
b3IgYW4KPj4gZXhhbXBsZSBvZiBob3cgdG8gZG8gaXQuCj4+IAo+PiBUaGFua3MgZm9yIHlvdXIg
dGltZSBpbiBjb25zaWRlcmluZyB0aGlzIHF1ZXN0aW9uLgo+PiAKPj4gLS0gCj4+IEpvZQoKCi0t
IApIZXJpb3QtV2F0dCBVbml2ZXJzaXR5IGlzIGEgU2NvdHRpc2ggY2hhcml0eQpyZWdpc3RlcmVk
IHVuZGVyIGNoYXJpdHkgbnVtYmVyIFNDMDAwMjc4LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpP
cGVuIFNvdXJjZSBCdXNpbmVzcyBDb25mZXJlbmNlIChPU0JDKSwgTWFyY2ggMjQtMjUsIDIwMDks
IFNhbiBGcmFuY2lzY28sIENBCi1PU0JDIHRhY2tsZXMgdGhlIGJpZ2dlc3QgaXNzdWUgaW4gb3Bl
biBzb3VyY2U6IE9wZW4gU291cmNpbmcgdGhlIEVudGVycHJpc2UKLVN0cmF0ZWdpZXMgdG8gYm9v
c3QgaW5ub3ZhdGlvbiBhbmQgY3V0IGNvc3RzIHdpdGggb3BlbiBzb3VyY2UgcGFydGljaXBhdGlv
bgotUmVjZWl2ZSBhICQ2MDAgZGlzY291bnQgb2ZmIHRoZSByZWdpc3RyYXRpb24gZmVlIHdpdGgg
dGhlIHNvdXJjZSBjb2RlOiBTRkFECmh0dHA6Ly9wLnNmLm5ldC9zZnUvWGN2TXpGOEgKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KU21sbmotbGlzdCBtYWls
aW5nIGxpc3QKU21sbmotbGlzdEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKaHR0cHM6Ly9saXN0cy5z
b3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGluZm8vc21sbmotbGlzdAo=