Re: characterization of subset of Monads that respect tail calls?

Tom Ellis <[email protected]> Wed, 28 Sep 2022 11:26:50 +0100
Newsgroups gmane.comp.lang.haskell.libraries
Message-ID <YzQhap+noRQ+Fb8q@cloudinit-builder>
T24gVHVlLCBTZXAgMjcsIDIwMjIgYXQgMDU6MjQ6NDNQTSAtMDQwMCwgQSBTIHdyb3RlOgo+IFRo
ZSBkZWZpbml0aW9uIHRhaWxSZWNNMSwgd2hpbGUgaXQgdHlwZWNoZWNrcywgd2lsbCBub3QgYWx3
YXlzCj4gb3BlcmF0ZSBpbiBjb25zdGFudCBzdGFjayBzcGFjZQoKQ29ycmVjdC4KCj4gQXMgZm9y
IHRhaWxSZWNNMiwgdW5mb3J0dW5hdGVseSB0aGlzIHByZWNsdWRlcyBtYW55IHVzZWZ1bCBhbmQg
bm9udHJpdmlhbAo+IE1vbmFkUmVjIGluc3RhbmNlcyBzdWNoIGFzIEVmZmVjdCBhbmQgQWZmLCB3
aGljaCBhZG1pdCBubyBzdWNoIGRpc3RyaWJ1dGluZwo+IG5hdHVyYWwgdHJhbnNmb3JtYXRpb24g
KGlmIHRoaXMgaXMgd2hhdCB5b3UgYWN0dWFsbHkgbWVhbnQgZm9yIHRoZSBmaXJzdAo+IGFyZ3Vt
ZW50IHRvIGJlKS4KCkNvcnJlY3QsIHRoZSBkaXN0cmlidXRpb24gcHJvcGVydHkgaXMgdG9vIHN0
cm9uZyB0byBjYXB0dXJlIGFsbApNb25hZFJlYyBpbnN0YW5jZXMuICBIb3dldmVyLCBpdCBkb2Vz
IGNhcHR1cmUgTWF5YmUsIEVpdGhlciBlIGFuZApJZGVudGl0eS4gIFRvIGNhcHR1cmUgKHIgLT4p
L1JlYWRlciB3ZSBuZWVkIHNvbWV0aGluZyBtb3JlIGdlbmVyYWwKKHRhaWxSZWNNMykgd2hpY2gg
aXMgc2FkbHkgc2lnbmlmaWNhbnRseSBsZXNzIHBsZWFzYW50LCBidXQgdW5sZXNzIEkKYW0gbXVj
aCBtaXN0YWtlbiBpdCBjYXB0dXJlcyBhbGwgaW5zdGFuY2VzIG9mIHRhaWxSZWNNIHRoYXQgdXNl
CnRhaWxSZWMuICBNYXliZSBpdCdzIHRvbyB1bnBsZWFzYW50IHRvIGJlIHVzZWQgaW4gcHJhY3Rp
Y2UgYXMgYW4KYWx0ZXJuYXRpdmUgb2YgYSBkaXJlY3QgaW1wbGVtZW50YXRpb24gb2YgdGFpbFJl
Y00uCgpUb20KCgp7LSMgTEFOR1VBR0UgTGFtYmRhQ2FzZSAjLX0KCm1vZHVsZSBSZWMgd2hlcmUK
CmltcG9ydCBEYXRhLkZ1bmN0b3IuSWRlbnRpdHkgKElkZW50aXR5KElkZW50aXR5KSkKCmRhdGEg
U3RlcCBhIGIgPSBMb29wIGEgfCBEb25lIGIKCm9uRG9uZSA6OiAoYiAtPiBiJykgLT4gU3RlcCBh
IGIgLT4gU3RlcCBhIGInCm9uRG9uZSBmID0gXGNhc2UKICBMb29wIGEgLT4gTG9vcCBhCiAgRG9u
ZSBiIC0+IERvbmUgKGYgYikKCnRhaWxSZWMgOjogKGEgLT4gU3RlcCBhIGIpIC0+IGEgLT4gYgp0
YWlsUmVjIGYgPSBnbyAuIGYKICB3aGVyZQogIGdvIChMb29wIGEpID0gZ28gKGYgYSkKICBnbyAo
RG9uZSBiKSA9IGIKCi0tIHwgVGhpcyB3b3JrcyBmb3IgYWxsIG1vbmFkcyBidXQgaXMgbm90IG5l
Y2Vzc2FyaWx5IHN0YWNrIHNhZmUuCnRhaWxSZWNNMSA6OiBNb25hZCBtID0+IChhIC0+IG0gKFN0
ZXAgYSBiKSkgLT4gYSAtPiBtIGIKdGFpbFJlY00xIGYgYSA9IGRvCiAgZiBhID4+PSBcY2FzZQog
ICAgTG9vcCBhJyAtPiB0YWlsUmVjTTEgZiBhJwogICAgRG9uZSBiIC0+IHB1cmUgYgoKLS0gfCBU
aGlzIHdvcmtzIGZvciBhbGwgbW9uYWRzIHdpdGggYSBwYXJ0aWN1bGFyIGRpc3RyaWJ1dGlvbiBw
cm9wZXJ0eQotLSBhbmQgaXMgc3RhY2sgc2FmZSB0aHJvdWdoIHRoZSB1c2Ugb2YgQHRhaWxSZWNA
Lgp0YWlsUmVjTTMgOjoKICBNb25hZCBtID0+CiAgKChhIC0+IG0gKFN0ZXAgYSBiKSkgLT4gbSAo
YSAtPiBTdGVwIGEgbCkpIC0+CiAgKGwgLT4gbSBiKSAtPgogIChhIC0+IG0gKFN0ZXAgYSBiKSkg
LT4KICBhIC0+CiAgbSBiCnRhaWxSZWNNMyBkaXN0cmlidXRlIGZpbmlzaCBmIGEgPSBkbwogIGcg
PC0gZGlzdHJpYnV0ZSBmCiAgZmluaXNoICh0YWlsUmVjIGcgYSkKCnRhaWxSZWNSZWFkZXIgOjog
KGEgLT4gciAtPiBTdGVwIGEgYikgLT4gYSAtPiByIC0+IGIKdGFpbFJlY1JlYWRlciA9IHRhaWxS
ZWNNMyAoXGYgciBhIC0+IGYgYSByKSAoXGIgXyAtPiBiKQoKdGFpbFJlY0Rpc3RyaWJ1dGUgOjoK
ICBNb25hZCBtID0+CiAgKG0gKFN0ZXAgYSBiKSAtPiBTdGVwIGEgKG0gYikpIC0+CiAgKGEgLT4g
bSAoU3RlcCBhIGIpKSAtPgogIGEgLT4KICBtIGIKdGFpbFJlY0Rpc3RyaWJ1dGUgZGlzdHJpYnV0
ZSA9IHRhaWxSZWNNMyAoXGYgLT4gcHVyZSAoXGEgLT4gZGlzdHJpYnV0ZQogIChmIGEpKSkgaWQK
CnRhaWxSZWNNYXliZSA6OiAoYSAtPiBNYXliZSAoU3RlcCBhIGIpKSAtPiBhIC0+IE1heWJlIGIK
dGFpbFJlY01heWJlID0gdGFpbFJlY0Rpc3RyaWJ1dGUgJCBcY2FzZQogIE5vdGhpbmcgLT4gRG9u
ZSBOb3RoaW5nCiAgSnVzdCBqIC0+IG9uRG9uZSBwdXJlIGoKCnRhaWxSZWNFaXRoZXIgOjogKGEg
LT4gRWl0aGVyIGUgKFN0ZXAgYSBiKSkgLT4gYSAtPiBFaXRoZXIgZSBiCnRhaWxSZWNFaXRoZXIg
PSB0YWlsUmVjRGlzdHJpYnV0ZSAkIFxjYXNlCiAgTGVmdCBlIC0+IERvbmUgKExlZnQgZSkKICBS
aWdodCByIC0+IG9uRG9uZSBwdXJlIHIKCnRhaWxSZWNJZGVudGl0eSA6OiAoYSAtPiBJZGVudGl0
eSAoU3RlcCBhIGIpKSAtPiBhIC0+IElkZW50aXR5IGIKdGFpbFJlY0lkZW50aXR5ID0gdGFpbFJl
Y0Rpc3RyaWJ1dGUgJCBcY2FzZQogIElkZW50aXR5IGkgLT4gb25Eb25lIHB1cmUgaQpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaWJyYXJpZXMgbWFpbGlu
ZyBsaXN0CkxpYnJhcmllc0BoYXNrZWxsLm9yZwpodHRwOi8vbWFpbC5oYXNrZWxsLm9yZy9jZ2kt
YmluL21haWxtYW4vbGlzdGluZm8vbGlicmFyaWVzCg==