Das ist wirklich eine Frage Design am besten auf die ggroup gerichtet, aber FWIW, ich peek
/peek!
vor einer Weile hätte untersuchen und die Bereitstellung peek!
einfach eine Frage der Schaffung eine neue clojure.lang.ITransientStack
Schnittstelle zu sein scheint clojure.lang.IPersistentStack
parallel und mit transienten Vektoren implementieren es.
Meine Vermutung ist, dass wenn eine solche Schnittstelle nicht bereits verfügbar ist (und von Transienten verwendet wird), ist es wahrscheinlich eine Frage der Prioritäten. Eine Single-Thread-Fast-Stack-Implementierung ist bereits in Clojure in Form von java.util.Stack
verfügbar, so dass wir hier nicht auf so viele Funktionen verzichten; syntaktische Bequemlichkeit und sanfte Umwandlung in persistente Vektoren wird wahrscheinlich kommen, wenn Fortschritte bei Clojure-in-Clojure gemacht werden.
(Wenn die investierte Leistung hoch ist, sind Verbesserungen auf der Java-Seite von Clojure sinnvoll, auch wenn das ultimative Ziel letztendlich darin besteht, den relevanten Teil der Java-Codebasis zu entfernen und durch eine Implementierung in Clojure zu ersetzen Die erwarteten Renditen sind niedriger, es könnte sinnvoller sein, auf die Verwendung von Protokollen usw. zu warten. Die derzeit verfügbaren Funktionen zum Behandeln von Transienten reichen für Clojures eigene Bedürfnisse aus, und ich bin mir nicht sicher, ob es jemals einen Aufruf für peek!
auf der ggroup - wie für #clojure, ich erinnere mich an eine relevante Konversation - so wird die Rückkehr wahrscheinlich als niedrig beurteilt ... Du könntest jedoch eine Graswurzelbewegung starten, um das zu ändern. :-))
Vielen Dank, dass geholfen. Ich brauche keinen Blick! funktionieren, aber wenn sich das ändert, denke ich darüber nach, die Graswurzelkampagne zu starten. Fürs Erste möchte ich unseren weisen BDFL oder seine Leutnants nicht belästigen. –