[MLton] Bug report

Neophytos Michael nmichael@yahoo.com
Sat, 4 Sep 2004 05:42:48 -0700 (PDT)


--0-540040979-1094301768=:32015
Content-Type: text/plain; charset=us-ascii
Content-Id: 
Content-Disposition: inline

The attached causes the compiler typechecker to through an exception (see
below).  I know there is a problem with the program (a value restriction issue)
but I generally expect a friendlier error message :).  If you need more info
let me know.

Neophytos

MLton 20040227 (built Fri Feb 27 20:03:01 2004 on cygwin)
MLton starting
   Compile SML starting
      pre codegen starting
Type error: tyvar not in scope
'a
val foldl = 
   fold_aux app
let
   exception Bind
   exception Match
   exception Overflow
   val = = 
      let
	 val x_0 = 
	    fn x_1 => 
	    let
	       val z = 
		  x_1
	       val x_2 = 
		  fn x_3 => 
		  let
		     val x_4 = 
			x_3
		     val x_5 = 
			#1 x_4
		     val x_6 = 
			#0 x_4
		     val x_7 = 
			MLton_equal (x_6, x_5)
		  in
		     x_7
		  end
	       val x_8 = 
		  x_2 z
	    in
	       x_8
	    end
      in
	 x_0
      end
   val fromString = 
      let
	 val x_9 = 
	    fn x_10 => 
                   .
                   .
                   .



		
_______________________________
Do you Yahoo!?
Express yourself with Y! Messenger! Free. Download now. 
http://messenger.yahoo.com
--0-540040979-1094301768=:32015
Content-Type: application/octet-stream; name="s.cm"
Content-Transfer-Encoding: base64
Content-Description: s.cm
Content-Disposition: attachment; filename="s.cm"

R3JvdXAgaXMKICBpdGVyYXRlLnNpZwogIGl0ZXJhdGUuc21sCiAgcXVldWUu
c2lnCiAgcXVldWUuc21sCg==

--0-540040979-1094301768=:32015
Content-Type: application/octet-stream; name="queue.sig"
Content-Transfer-Encoding: base64
Content-Description: queue.sig
Content-Disposition: attachment; filename="queue.sig"

c2lnbmF0dXJlIFFVRVVFID0Kc2lnCiAgdHlwZSAnYSBxdWV1ZQogIGV4Y2Vw
dGlvbiBRdWV1ZUVtcHR5CgogIHZhbCBta1F1ZXVlIDogdW5pdCAtPiAnYSBx
dWV1ZQogIHZhbCBpc0VtcHR5IDogJ2EgcXVldWUgLT4gYm9vbAoKICB2YWwg
ZW5xdWV1ZSA6ICgnYSAqICdhIHF1ZXVlKSAtPiB1bml0CiAgdmFsIGRlcXVl
dWUgOiAnYSBxdWV1ZSAtPiAnYQoKICB2YWwgY2xlYXIgICAgOiAnYSBxdWV1
ZSAtPiB1bml0ICAgICAgICAgICAgICAgICAoKiBSZW1vdmUgYWxsIGVsZW1l
bnRzICopCiAgICAgICAgICAgICAgICAgICAgICAgKCogUmVtb3ZlIGFsbCBl
bGVtZW50cyB0aGF0IHNhdGlzZnkgdGhlIHByZWRpY2F0ZSAqKQogIHZhbCBm
aWx0ZXIgICA6ICgnYSAtPiBib29sKSAtPiAnYSBxdWV1ZSAtPiB1bml0Cgog
IHZhbCBoZWFkICAgICA6ICdhIHF1ZXVlIC0+ICdhCiAgdmFsIHBlZWsgICAg
IDogJ2EgcXVldWUgLT4gJ2Egb3B0aW9uCgogIHZhbCBsZW5ndGggICA6ICdh
IHF1ZXVlIC0+IGludAogIHZhbCB0b0xpc3QgICA6ICdhIHF1ZXVlIC0+ICdh
IGxpc3QKICAgICAgICAgICAgICAgICAgICAgICAgICAoKiBQcm9jZXNzIGxh
c3QgbGVhc3QgcmVjZW50bHkgYWRkZWQgZmlyc3QgKikKICB2YWwgYXBwICAg
ICAgOiAoJ2EgLT4gdW5pdCkgLT4gJ2EgcXVldWUgLT4gdW5pdAogIHZhbCBt
YXAgICAgICA6ICgnYSAtPiAnYikgLT4gJ2EgcXVldWUgLT4gJ2IgcXVldWUK
ICAgICAgICAgICAgICAgICAgICAgICAgICAoKiBQcm9jZXNzIG1vc3QgbGVh
c3QgcmVjZW50bHkgYWRkZWQgZmlyc3QgKikKICB2YWwgYXBwX2JhY2sgOiAo
J2EgLT4gdW5pdCkgLT4gJ2EgcXVldWUgLT4gdW5pdAogICAgICAgICAgICAg
ICAgICAgICAgICAgICgqIFByb2Nlc3MgbGFzdCBsZWFzdCByZWNlbnRseSBh
ZGRlZCBmaXJzdCAqKQogIHZhbCBmb2xkbCAgICA6ICgnYSAqICdiIC0+ICdi
KSAtPiAnYiAtPiAnYSBxdWV1ZSAtPiAnYgogICAgICAgICAgICAgICAgICAg
ICAgICAgICgqIFByb2Nlc3MgbW9zdCBsZWFzdCByZWNlbnRseSBhZGRlZCBm
aXJzdCAqKQogIHZhbCBmb2xkciAgICA6ICgnYSAqICdiIC0+ICdiKSAtPiAn
YiAtPiAnYSBxdWV1ZSAtPiAnYgplbmQK

--0-540040979-1094301768=:32015
Content-Type: application/octet-stream; name="queue.sml"
Content-Transfer-Encoding: base64
Content-Description: queue.sml
Content-Disposition: attachment; filename="queue.sml"

c3RydWN0dXJlIFF1ZXVlIDogUVVFVUUgPQpzdHJ1Y3QKICBzdHJ1Y3R1cmUg
QSAgPSBBcnJheQogIHN0cnVjdHVyZSBJdCA9IEl0ZXJhdGUKCiAgdmFsIHVw
ZCAgPSBBLnVwZGF0ZQogIHZhbCBzdWIgID0gQS5zdWIKICBmdW4gdnN1YiAo
YSwgaSkgPSB2YWxPZiAoc3ViIChhLCBpKSkKCiAgdHlwZSAnYSBxdWV1ZSA9
IHt2IDogJ2Egb3B0aW9uIGFycmF5IHJlZiwKICAgICAgICAgICAgICAgICAg
IGZyb250IDogaW50IHJlZiwgYmFjayA6IGludCByZWYsCiAgICAgICAgICAg
ICAgICAgICBjb3VudCA6IGludCByZWZ9CgogIGV4Y2VwdGlvbiBRdWV1ZUVt
cHR5CgogIHZhbCBTdGFydFNpemUgPSAyCgogIGZ1biBta1F1ZXVlICgpID0g
e3YgPSByZWYgKEEuYXJyYXkgKFN0YXJ0U2l6ZSwgTk9ORSkpLAogICAgICAg
ICAgICAgICAgICAgIGZyb250ID0gcmVmIDAsIGJhY2sgPSByZWYgMCwKICAg
ICAgICAgICAgICAgICAgICBjb3VudCA9IHJlZiAwfQoKICBmdW4gaXNFbXB0
eSAoe2NvdW50LCAuLi59IDogJ2EgcXVldWUpID0gISBjb3VudCA9IDAKCiAg
ZnVuIGVucXVldWUgKHgsIHt2LCBmcm9udCwgYmFjaywgY291bnR9IDogJ2Eg
cXVldWUpID0KICAgIGxldAogICAgICBmdW4gZ3Jvd1F1ZXVlIG9sZFNpeiA9
CiAgICAgICAgbGV0CiAgICAgICAgICB2YWwgbmV3U2l6ID0gMiAqIG9sZFNp
egogICAgICAgICAgdmFsIG5ld3YgICA9IEEuYXJyYXkgKG5ld1NpeiwgTk9O
RSkKICAgICAgICBpbgogICAgICAgICAgSXQuY0ZvciAoISBmcm9udCwgISBm
cm9udCArIG9sZFNpeiAtIDEsIDEpCiAgICAgICAgICAgICAgICAgIChmbiBp
ID0+IHVwZCAobmV3diwgaSAtICEgZnJvbnQsIHN1YiAoISB2LCBpIG1vZCBv
bGRTaXopKSk7CiAgICAgICAgICBmcm9udCA6PSAwOwogICAgICAgICAgYmFj
ayAgOj0gb2xkU2l6OwogICAgICAgICAgdiAgICAgOj0gbmV3dgogICAgICAg
IGVuZAogICAgICB2YWwgYyA9ICEgY291bnQKICAgIGluCiAgICAgIGlmIGMg
PSBBLmxlbmd0aCAoISB2KSB0aGVuIGdyb3dRdWV1ZSBjIGVsc2UgKCk7CiAg
ICAgIHVwZCAoISB2LCAhIGJhY2ssIFNPTUUgeCk7CiAgICAgIGJhY2sgIDo9
ICghIGJhY2sgKyAxKSBtb2QgKEEubGVuZ3RoICghIHYpKTsKICAgICAgY291
bnQgOj0gYyArIDEKICAgIGVuZAoKICBmdW4gZGVxdWV1ZSAoe3YsIGZyb250
LCBjb3VudCwgLi4ufSA6ICdhIHF1ZXVlKSA9CiAgICBpZiAhIGNvdW50ID0g
MCB0aGVuIHJhaXNlIFF1ZXVlRW1wdHkKICAgIGVsc2UKICAgICAgbGV0CiAg
ICAgICAgdmFsIHJ2ID0gISB2CiAgICAgICAgdmFsIGkgID0gISBmcm9udAog
ICAgICAgIHZhbCBjICA9ICEgY291bnQKICAgICAgICB2YWwgZSAgPSB2c3Vi
IChydiwgaSkKICAgICAgaW4KICAgICAgICB1cGQgKHJ2LCBpLCBOT05FKTsK
ICAgICAgICBmcm9udCA6PSAoaSArIDEpIG1vZCAoQS5sZW5ndGggcnYpOwog
ICAgICAgIGNvdW50IDo9IGMgLSAxOwogICAgICAgIGUKICAgICAgZW5kCgog
IGZ1biBjbGVhciAoe3YsIGZyb250LCBiYWNrLCBjb3VudH0gOiAnYSBxdWV1
ZSkgPQogICAgICAoQS5tb2RpZnkgKGZuIF8gPT4gTk9ORSkgKCEgdik7CiAg
ICAgICBmcm9udCA6PSAwOyBiYWNrIDo9IDA7IGNvdW50IDo9IDApCgogIGZ1
biBwZWVrICh7diwgZnJvbnQsIC4uLn0gOiAnYSBxdWV1ZSkgPSBzdWIgKCEg
diwgISBmcm9udCkKCiAgZnVuIGhlYWQgKHt2LCBmcm9udCwgY291bnQsIC4u
Ln0gOiAnYSBxdWV1ZSkgPQogICAgICBpZiAhIGNvdW50ID0gMCB0aGVuIHJh
aXNlIFF1ZXVlRW1wdHkgZWxzZSB2c3ViICghIHYsICEgZnJvbnQpCgogIGZ1
biBsZW5ndGggKHtjb3VudCwgLi4ufSA6ICdhIHF1ZXVlKSA9ICEgY291bnQK
CiAgZnVuIGFwcCBmICh7diwgZnJvbnQsIGNvdW50LCAuLi59IDogJ2EgcXVl
dWUpID0KICAgIGxldAogICAgICB2YWwgdiAgICAgPSAhIHYKICAgICAgdmFs
IGNudCAgID0gISBjb3VudAogICAgICB2YWwgZnJvbnQgPSAhIGZyb250CiAg
ICAgIHZhbCBsZW4gICA9IEEubGVuZ3RoIHYKCiAgICAgIGZ1biBhdXggaSA9
IGlmIGkgPSBjbnQgdGhlbiAoKQogICAgICAgICAgICAgICAgICBlbHNlIGxl
dCB2YWwgaiAgID0gZnJvbnQgKyBpCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHZhbCBpZHggPSBpZiBqID49IGxlbiB0aGVuIGogLSBsZW4gZWxzZSBq
CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbCBlICAgPSB2c3ViICh2
LCBpZHgpCiAgICAgICAgICAgICAgICAgICAgICAgaW4KICAgICAgICAgICAg
ICAgICAgICAgICAgIGYgZTsgYXV4IChpICsgMSkKICAgICAgICAgICAgICAg
ICAgICAgICBlbmQKICAgIGluCiAgICAgIGF1eCAwCiAgICBlbmQKCiAgZnVu
IGFwcF9iYWNrIGYgKHt2LCBiYWNrLCBjb3VudCwgLi4ufSA6ICdhIHF1ZXVl
KSA9CiAgICBsZXQKICAgICAgdmFsIHYgICAgPSAhIHYKICAgICAgdmFsIGNu
dCAgPSAhIGNvdW50CiAgICAgIHZhbCBiYWNrID0gISBiYWNrIC0gMQogICAg
ICB2YWwgbGVuICA9IEEubGVuZ3RoIHYKCiAgICAgIGZ1biBhdXggaSA9IGlm
IGkgPSBjbnQgdGhlbiAoKQogICAgICAgICAgICAgICAgICBlbHNlIGxldCB2
YWwgaiAgID0gYmFjayAtIGkKICAgICAgICAgICAgICAgICAgICAgICAgICAg
dmFsIGlkeCA9IGlmIGogPD0gfjEgdGhlbiBqICsgbGVuIGVsc2UgagogICAg
ICAgICAgICAgICAgICAgICAgICAgICB2YWwgZSAgID0gdnN1YiAodiwgaWR4
KQogICAgICAgICAgICAgICAgICAgICAgIGluCiAgICAgICAgICAgICAgICAg
ICAgICAgICBmIGU7IGF1eCAoaSArIDEpCiAgICAgICAgICAgICAgICAgICAg
ICAgZW5kCiAgICBpbgogICAgICBhdXggMAogICAgZW5kCgogIGZ1biB0b0xp
c3QgKHEgOiAnYSBxdWV1ZSkgPQogICAgbGV0CiAgICAgIHZhbCByZXMgICA9
IHJlZiBbXQogICAgICBmdW4gYXV4IGUgPSByZXMgOj0gZSA6OiAoISByZXMp
CiAgICAgIHZhbCAoKSAgICA9IGFwcCBhdXggcQogICAgaW4KICAgICAgcmV2
ICghIHJlcykKICAgIGVuZAoKICBmdW4gbWFwIGYgKHEgOiAnYSBxdWV1ZSkg
PQogICAgbGV0CiAgICAgIHZhbCBxJyAgICA9IG1rUXVldWUgKCkKICAgICAg
ZnVuIGF1eCBlID0gZW5xdWV1ZSAoZiBlLCBxJykKICAgICAgdmFsICgpICAg
ID0gYXBwIGF1eCBxCiAgICBpbgogICAgICBxJwogICAgZW5kCgogICAgZnVu
IGZvbGRfYXV4IGFwcCAoZiA6ICgnYSAqICdiKSAtPiAnYikgKGIgOiAnYikg
KHEgOiAnYSBxdWV1ZSkgPQogICAgICBsZXQKICAgICAgICB2YWwgcmVzICAg
PSByZWYgYgogICAgICAgIGZ1biBhdXggZSA9IHJlcyA6PSBmIChlLCAhIHJl
cykKICAgICAgICB2YWwgKCkgICAgPSBhcHAgYXV4IHEKICAgICAgaW4KICAg
ICAgICAhIHJlcwogICAgICBlbmQKCiAgdmFsIGZvbGRsID0gZm9sZF9hdXgg
YXBwCiAgdmFsIGZvbGRyID0gZm9sZF9hdXggYXBwX2JhY2sKKCoKICBmdW4g
Zm9sZGwgXyA9IHJhaXNlIEZhaWwgIiIKICBmdW4gZm9sZHIgXyA9IHJhaXNl
IEZhaWwgIiIKKikKCiAgbG9jYWwKICAgIGZ1biBhc3NpZ24gKHt2ID0gdjEs
IGZyb250ID0gZnJvbnQxLCBiYWNrID0gYmFjazEsIGNvdW50ID0gY291bnQx
fSwKICAgICAgICAgICAgICAgIHt2ID0gdjIsIGZyb250ID0gZnJvbnQyLCBi
YWNrID0gYmFjazIsIGNvdW50ID0gY291bnQyfSkgPQogICAgICAgICh2MSA6
PSAhIHYyOyBmcm9udDEgOj0gISBmcm9udDI7IGJhY2sxIDo9ICEgYmFjazI7
IGNvdW50MSA6PSAhIGNvdW50MikKICBpbgogIGZ1biBmaWx0ZXIgZiAocSA6
ICdhIHF1ZXVlKSA9CiAgICBsZXQKICAgICAgdmFsIHEnICAgID0gbWtRdWV1
ZSAoKQogICAgICBmdW4gYXV4IGUgPSBpZiBmIGUgdGhlbiBlbnF1ZXVlIChl
LCBxJykgZWxzZSAoKQogICAgICB2YWwgKCkgICAgPSBhcHAgYXV4IHEKICAg
IGluCiAgICAgIGFzc2lnbiAocSwgcScpCiAgICBlbmQKICBlbmQKZW5kCigq
CnN0cnVjdHVyZSBUVCA9CnN0cnVjdAogIHN0cnVjdHVyZSBRID0gUXVldWUK
ICBzdHJ1Y3R1cmUgVSA9IFV0aWwKICB2YWwgcSA6IGludCBRLnF1ZXVlID0g
US5ta1F1ZXVlICgpCgogIHZhbCAoKSA9IFUuYXNzZXJ0IChmbiAoKSA9PiBR
LmlzRW1wdHkgcSkKICB2YWwgKCkgPSBRLmVucXVldWUgKDEsIHEpCiAgdmFs
ICgpID0gVS5hc3NlcnQgKGZuICgpID0+IG5vdCAoUS5pc0VtcHR5IHEpKQoK
ICB2YWwgKCkgPSBVLmFzc2VydCAoZm4gKCkgPT4gUS5wZWVrIHEgPSBTT01F
IDEpCiAgdmFsICgpID0gVS5hc3NlcnQgKGZuICgpID0+IFEuaGVhZCBxID0g
MSkKICB2YWwgKCkgPSBVLmFzc2VydCAoZm4gKCkgPT4gbm90IChRLmlzRW1w
dHkgcSkpCgogIHZhbCAoKSA9IFUuYXNzZXJ0IChmbiAoKSA9PiBRLmRlcXVl
dWUgcSA9IDEpCiAgdmFsICgpID0gVS5hc3NlcnQgKGZuICgpID0+IFEucGVl
ayBxID0gTk9ORSkKICB2YWwgKCkgPSBVLmFzc2VydCAoZm4gKCkgPT4gKFEu
aGVhZCBxOyBmYWxzZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGhhbmRsZSBRLlF1ZXVlRW1wdHkgPT4gdHJ1ZSkKICB2YWwgKCkgPSBV
LmFzc2VydCAoZm4gKCkgPT4gUS5pc0VtcHR5IHEpCgogIHZhbCAoKSA9IFEu
ZW5xdWV1ZSAoMSwgcSkKICB2YWwgKCkgPSBRLmVucXVldWUgKDIsIHEpCiAg
dmFsICgpID0gUS5lbnF1ZXVlICgzLCBxKQoKICB2YWwgKCkgPSBVLmFzc2Vy
dCAoZm4gKCkgPT4gUS5wZWVrIHEgPSBTT01FIDEpCgogIHZhbCBsICA9IFEu
dG9MaXN0IHEKCiAgdmFsIHEnID0gUS5tYXAgKGZuIHggPT4geCp4KSBxCgog
IHZhbCAoKSA9IFUuYXNzZXJ0IChmbiAoKSA9PiBRLnBlZWsgcScgPSBTT01F
IDEpCgogIHZhbCBzMSAgICAgPSBRLmZvbGRsIChmbiAoZSwgZXMpID0+IChl
cyBeIEludC50b1N0cmluZyBlKSkgIiIgcScKICB2YWwgczIgICAgID0gUS5m
b2xkciAoZm4gKGUsIGVzKSA9PiAoZXMgXiBJbnQudG9TdHJpbmcgZSkpICIi
IHEnCgogIGZ1biBldmVuX3AgbiA9IChuIG1vZCAyKSA9IDAKCiAgdmFsICgp
ID0gUS5maWx0ZXIgZXZlbl9wIHEnCiAgdmFsIHMzID0gUS5mb2xkbCAoZm4g
KGUsIGVzKSA9PiAoZXMgXiBJbnQudG9TdHJpbmcgZSkpICIiIHEnCgogIHZh
bCAoKSA9IFEuZW5xdWV1ZSAoMzMzLCBxJykKICB2YWwgKCkgPSBRLmVucXVl
dWUgKDc3NywgcScpCiAgdmFsICgpID0gVS5hc3NlcnQgKGZuICgpID0+IFEu
ZGVxdWV1ZSBxJyA9IDQpCgogIHZhbCAoKSA9IFEuZW5xdWV1ZSAoODg4LCBx
JykKICB2YWwgKCkgPSBRLmZpbHRlciAobm90IG8gZXZlbl9wKSBxJwogIHZh
bCAoKSA9IFEuZW5xdWV1ZSAoMTAwMCwgcScpCgogIHZhbCAoKSA9IFUuYXNz
ZXJ0IChmbiAoKSA9PiBRLmRlcXVldWUgcSA9IDEpCiAgdmFsICgpID0gVS5h
c3NlcnQgKGZuICgpID0+IFEuZGVxdWV1ZSBxID0gMikKICB2YWwgKCkgPSBV
LmFzc2VydCAoZm4gKCkgPT4gUS5kZXF1ZXVlIHEgPSAzKQoKICB2YWwgKCkg
PSBVLmFzc2VydCAoZm4gKCkgPT4gUS5pc0VtcHR5IHEpCgogIHZhbCAoKSA9
IFEuZW5xdWV1ZSAoMSwgcSkKICB2YWwgKCkgPSBRLmVucXVldWUgKDIsIHEp
CiAgdmFsICgpID0gUS5lbnF1ZXVlICgzLCBxKQogIHZhbCAoKSA9IFEuZW5x
dWV1ZSAoNCwgcSkKCiAgdmFsICgpID0gVS5hc3NlcnQgKGZuICgpID0+IFEu
cGVlayBxID0gU09NRSAxKQoKICB2YWwgKCkgPSBVLmFzc2VydCAoZm4gKCkg
PT4gUS5kZXF1ZXVlIHEgPSAxKQogIHZhbCAoKSA9IFUuYXNzZXJ0IChmbiAo
KSA9PiBRLmRlcXVldWUgcSA9IDIpCiAgdmFsICgpID0gVS5hc3NlcnQgKGZu
ICgpID0+IFEuZGVxdWV1ZSBxID0gMykKCiAgdmFsICgpID0gVS5hc3NlcnQg
KGZuICgpID0+IFEucGVlayBxID0gU09NRSA0KQogIHZhbCAoKSA9IFUuYXNz
ZXJ0IChmbiAoKSA9PiBub3QgKFEuaXNFbXB0eSBxKSkKICB2YWwgKCkgPSBV
LmFzc2VydCAoZm4gKCkgPT4gUS5kZXF1ZXVlIHEgPSA0KQoKICB2YWwgKCkg
PSBVLmFzc2VydCAoZm4gKCkgPT4gUS5pc0VtcHR5IHEpCgplbmQKKik=

--0-540040979-1094301768=:32015
Content-Type: application/octet-stream; name="iterate.sig"
Content-Transfer-Encoding: base64
Content-Description: iterate.sig
Content-Disposition: attachment; filename="iterate.sig"

c2lnbmF0dXJlIElURVJBVEUgPQ0Kc2lnDQogICAgdmFsIGl0ZXJhdGUgOiAo
J2EgLT4gJ2EpIC0+IGludCAtPiAnYSAtPiAnYQ0KICAgICAoKg0KICAgICAg
KiBpdGVyYXRlIGYgY250IGluaXQgPSBmKGYoLi4uZihmKGluaXQpKS4uLikp
IChjbnQgdGltZXMpDQogICAgICAqIGl0ZXJhdGUgZiAwIGluaXQgPSBpbml0
DQogICAgICAqIHJhaXNlcyBHZW5lcmFsLkRvbWFpbiBpZiBjbnQgPCAwDQog
ICAgICAqKQ0KDQogICAgdmFsIHJlcGVhdCA6IChpbnQgKiAnYSAtPiAnYSkg
LT4gaW50IC0+ICdhIC0+ICdhDQogICAgICgqDQogICAgICAqIHJlcGVhdCBm
IGNudCBpbml0IA0KICAgICAgKiAgICAgPSAjMihpdGVyYXRlIChmbiAoaSx2
KSA9PiAoaSsxLGYoaSx2KSkpIGNudCAoMCxpbml0KSkNCiAgICAgICogcmFp
c2VzIEdlbmVyYWwuRG9tYWluIGlmIGNudCA8IDANCiAgICAgICopDQoNCiAg
ICB2YWwgZ0ZvciA6ICgnYSAtPiAnYikgLT4gKCdhIC0+IGJvb2wpIC0+ICgn
YSAtPiAnYSkgLT4gJ2EgLT4gdW5pdA0KICAgICAoKg0KICAgICAgKiBUaGUg
bW9zdCBnZW5lcmljIGZvciBsb29wIG9uIHRoZSBibG9jay4NCiAgICAgICog
VXNhZ2U6IGdGb3IgZiB0ZXN0IG5leHQgaW5pdA0KICAgICAgKiAgICAgICAg
ZXZhbHVhdGVzIGYobikgcmVwZWF0ZWRseSB1bnRpbA0KICAgICAgKiAgICAg
ICAgKHRlc3QgbikgcmV0dXJucyBmYWxzZS4gIEFmdGVyIGVhY2ggZXZhbHVh
dGlvbg0KICAgICAgKiAgICAgICAgdGhlIG5leHQgbiBpcyBnaXZlbiBieSAo
bmV4dCBuKS4gIFRoZSBpbml0aWFsIG4NCiAgICAgICogICAgICAgIGlzIGlu
aXQuDQogICAgICAqKQ0KDQogICAgdmFsIGNGb3IgOiAoaW50ICogaW50ICog
aW50KSAtPiAoaW50IC0+ICdhKSAtPiB1bml0DQogICAgICgqDQogICAgICAq
IGNmb3IgZiAoc3RhcnQsIHN0b3AsIGluYykNCiAgICAgICogICAgICAiQSBD
IHN0eWxlIGZvciBsb29wIg0KICAgICAgKiAgICAgIE5ldmVyIHJhaXNlcyBh
biBleGNlcHRpb24uDQogICAgICAqKQ0KDQogICAgdmFsIGZvciA6IChpbnQg
LT4gJ2EpIC0+IChpbnQgKiBpbnQgKiBpbnQpIC0+ICdhDQogICAgICgqDQog
ICAgICAqIGZvciBmIChzdGFydCwgc3RvcCwgaW5jKQ0KICAgICAgKiAgICAg
ICJmb3IgbG9vcCINCiAgICAgICogICAgICBpbXBsZW1lbnRzIGYoLi4uZihz
dGFydCsyKmluYyxmKHN0YXJ0K2luYyxmKHN0YXJ0LGluaXQpKSkuLi4pDQog
ICAgICAqICAgICAgdW50aWwgdGhlIGZpcnN0IGFyZ3VtZW50IG9mIGYgPiBz
dG9wIGlmIGluYyA+IDANCiAgICAgICogICAgICAgICBvciB0aGUgZmlyc3Qg
YXJndW1lbnQgb2YgZiA8IHN0b3AgaWYgaW5jIDwgMA0KICAgICAgKiByYWlz
ZXMgQmFkQXJnIGlmIGluYyA8PSAwIGFuZCBzdGFydCA8IHN0b3Agb3IgaWYg
aW5jID49MCBhbmQNCiAgICAgICogc3RhcnQgPiBzdG9wLg0KICAgICAgKikN
Cg0KICAgIHZhbCBmb3IyIDogKGludCAqICdhIC0+ICdhKSAtPiAoaW50ICog
aW50ICogaW50KSAtPiAnYSAtPiAnYQ0KICAgICAoKg0KICAgICAgKiBmb3Ig
ZiAoc3RhcnQsc3RvcCxpbmMpIGluaXQgDQogICAgICAqICAgICAgImZvciBs
b29wIg0KICAgICAgKiAgICAgIGltcGxlbWVudHMgZiguLi5mKHN0YXJ0KzIq
aW5jLGYoc3RhcnQraW5jLGYoc3RhcnQsaW5pdCkpKS4uLikNCiAgICAgICog
ICAgICB1bnRpbCB0aGUgZmlyc3QgYXJndW1lbnQgb2YgZiA+IHN0b3AgaWYg
aW5jID4gMA0KICAgICAgKiAgICAgICAgIG9yIHRoZSBmaXJzdCBhcmd1bWVu
dCBvZiBmIDwgc3RvcCBpZiBpbmMgPCAwDQogICAgICAqIHJhaXNlcyBCYWRB
cmcgaWYgaW5jIDw9IDAgYW5kIHN0YXJ0IDwgc3RvcCBvciBpZiBpbmMgPj0w
IGFuZA0KICAgICAgKiBzdGFydCA+IHN0b3AuDQogICAgICAqKQ0KZW5kDQo=


--0-540040979-1094301768=:32015
Content-Type: application/octet-stream; name="iterate.sml"
Content-Transfer-Encoding: base64
Content-Description: iterate.sml
Content-Disposition: attachment; filename="iterate.sml"

c3RydWN0dXJlIEl0ZXJhdGUgOiBJVEVSQVRFID0NCnN0cnVjdA0KICBzdHJ1
Y3R1cmUgRyA9IEdlbmVyYWwNCg0KICBmdW4gaXRlcmF0ZSBmIGNudCBpbml0
ID0NCiAgICBsZXQNCiAgICAgIGZ1biBpdGVyICgwLCB2KSA9IHYNCiAgICAg
ICAgfCBpdGVyIChuLCB2KSA9IGl0ZXIgKG4gLSAxLCBmIHYpDQogICAgaW4N
CiAgICAgIGlmIGNudCA8IDAgdGhlbiByYWlzZSBHLkRvbWFpbg0KICAgICAg
ZWxzZSBpdGVyIChjbnQsIGluaXQpDQogICAgZW5kDQoNCiAgZnVuIHJlcGVh
dCBmIGNudCBpbml0ID0NCiAgICBsZXQNCiAgICAgIGZ1biBpdGVyIChuLCB2
KSA9IGlmIG4gPSBjbnQgdGhlbiB2IGVsc2UgaXRlciAobiArIDEsIGYgKG4s
IHYpKQ0KICAgIGluDQogICAgICBpZiBjbnQgPCAwIHRoZW4gcmFpc2UgRy5E
b21haW4NCiAgICAgIGVsc2UgaXRlciAoMCwgaW5pdCkNCiAgICBlbmQNCg0K
ICBmdW4gZ0ZvciBmIHRlc3QgbmV4dCBpbml0ID0NCiAgICBsZXQNCiAgICAg
IGZ1biBhdXggbiA9IGlmIHRlc3QgbiB0aGVuIChmIG47IGF1eCAobmV4dCBu
KSkgZWxzZSAoKQ0KICAgIGluDQogICAgICBhdXggaW5pdA0KICAgIGVuZA0K
DQogIGZ1biBjRm9yIChzdGFydCwgc3RvcCwgaW5jKSBmID0NCiAgICBsZXQN
CiAgICAgIGZ1biB1cCAgIG4gPSBpZiBuID4gc3RvcCB0aGVuICgpIGVsc2Ug
KGYgbjsgdXAgKG4gKyBpbmMpKQ0KICAgICAgZnVuIGRvd24gbiA9IGlmIG4g
PCBzdG9wIHRoZW4gKCkgZWxzZSAoZiBuOyBkb3duIChuICsgaW5jKSkNCiAg
ICBpbg0KICAgICAgaWYgc3RhcnQgPCBzdG9wIHRoZW4gaWYgaW5jIDw9IDAg
dGhlbiAoKSBlbHNlIHVwIHN0YXJ0DQogICAgICBlbHNlIGlmIHN0YXJ0ID4g
c3RvcCB0aGVuIGlmIGluYyA+PSAwIHRoZW4gKCkgZWxzZSBkb3duIHN0YXJ0
DQogICAgICBlbHNlIGlmIHN0YXJ0ID0gc3RvcCB0aGVuIGlnbm9yZSAoZiBz
dGFydCkgZWxzZSAoKQ0KICAgIGVuZA0KDQogIGZ1biBmb3IgZiAoc3RhcnQs
IHN0b3AsIGluYykgPQ0KICAgIGxldA0KICAgICAgZnVuIHVwIG4gPSBpZiBu
ID49IHN0b3AgdGhlbiBmIG4gZWxzZSAoZiBuOyB1cCAobiArIGluYykpDQog
ICAgICBmdW4gZG93biBuID0gaWYgbiA8PSBzdG9wIHRoZW4gZiBuIGVsc2Ug
KGYgbjsgZG93biAobiArIGluYykpDQogICAgaW4NCiAgICAgIGlmIHN0YXJ0
IDwgc3RvcA0KICAgICAgdGhlbiBpZiBpbmMgPD0gMCB0aGVuIHJhaXNlIEcu
RG9tYWluDQogICAgICAgICAgIGVsc2UgdXAgc3RhcnQNCiAgICAgIGVsc2Ug
aWYgc3RvcCA8IHN0YXJ0DQogICAgICB0aGVuIGlmIGluYyA+PSAwIHRoZW4g
cmFpc2UgRy5Eb21haW4NCiAgICAgICAgICAgZWxzZSBkb3duIHN0YXJ0DQog
ICAgICBlbHNlIGYgc3RhcnQNCiAgICBlbmQNCg0KICBmdW4gZm9yMiBmIChz
dGFydCwgc3RvcCwgaW5jKSA9DQogICAgbGV0DQogICAgICBmdW4gdXAgKG4s
IHYpID0gaWYgbiA+IHN0b3AgdGhlbiB2IGVsc2UgdXAgKG4gKyBpbmMsIGYg
KG4sIHYpKQ0KICAgICAgZnVuIGRvd24gKG4sIHYpID0gaWYgbiA8IHN0b3Ag
dGhlbiB2IGVsc2UgZG93biAobiArIGluYywgZiAobiwgdikpDQogICAgaW4N
CiAgICAgIGlmIHN0YXJ0IDwgc3RvcA0KICAgICAgdGhlbiBpZiBpbmMgPD0g
MCB0aGVuIHJhaXNlIEcuRG9tYWluDQogICAgICAgICAgIGVsc2UgZm4gdiA9
PiB1cCAoc3RhcnQsIHYpDQogICAgICBlbHNlIGlmIHN0b3AgPCBzdGFydA0K
ICAgICAgdGhlbiBpZiBpbmMgPj0gMCB0aGVuIHJhaXNlIEcuRG9tYWluDQog
ICAgICAgICAgIGVsc2UgZm4gdiA9PiBkb3duIChzdGFydCwgdikNCiAgICAg
IGVsc2UgZm4gdiA9PiBmIChzdGFydCwgdikNCiAgICBlbmQNCmVuZA0K

--0-540040979-1094301768=:32015--