2010-09-17 32 views
3

我一直在使用Scheme和Common Lisp一段時間,關於命名的一件事我從來沒有得到: 我知道combinators是沒有自由變量的過程,但我很少看到它們被稱爲「組合器」,除了對於那些處理列表和其他序列的人。過程和組合器之間的區別?

我的感覺是否正確?或者還有其他一些我錯過的「組合」的定義?

回答

3

如果你有任何處理列表的函數,那麼它不再是一個真正的combinator,因爲它需要使用列表函數。一個「真正的」組合器是一個真正使用沒有自由標識符的組合器,甚至不包括cons等。(但該術語有時可以更鬆散地使用。)