Huet's original paper'u Clojure's implementation ile karşılaştırıyorum ve değişikliklerin neden yapıldığını anlamaya çalışıyorum. Ben bir Clojure acemiim, bu yüzden Clojure kodunun yorumlanmasında yanılıyorsam lütfen beni düzeltin. Huet en yazıdaClojure fermuar uygulaması neden Huet fermuarından farklı tip ve veri yapıları kullanıyor?
, bir yolun tip Top | Node of tree list * path * tree list;;
(ocaml gösterilmiştir). Clojure'da iki ek alan vardır, pnodes
ve changed?
. Bu alanların amacı nedir? l
ve r
'un Huet türündeki ilk ve üçüncü girişlere karşılık geldiğine ve ppath
'un ikinci olduğuna inanıyorum?
Huet'in fermuarı, bağlı listelerin tamamını kullanır (örneğin Loc'in kendisi, fermuarın çalıştığı veri yapısı hakkında konuşmamaya dikkat edin), bazı yerlerde, örneğin l
, Clojure uygulaması vektörleri kullanır. Neden değişim ve Clojure uygulamasının zaman karmaşıklığı için anlamı nedir?