为什么"更多"的ISeq没有被命名为"休息"?

ali*_*ice 5 clojure

public interface ISeq extends IPersistentCollection {
  Object first();
  ISeq next();
  ISeq more();
  ISeq cons(Object o);
}
Run Code Online (Sandbox Code Playgroud)

moreISeq界面的方法似乎只是正常运作rest.为什么命名morerest

Jer*_*emy 7

这些信息是我对在Clojure git存储库上做一些考古学的解释.

最初只有rest,它返回nil而不是今天的emtpy列表.当Rich引入了懒惰时,它被重命名next,并ISeq获得了more方法.ASeq实现more返回空seq 的方法而不是nil,并留下nextmethond摘要.在此之后的某个时刻,rest函数被重新赋予了我们今天所知的非seq,空列表返回版本,但Java代码没有被重构.