Smalltalk 通过示例查找在Pharo Finder中是如何工作的?

Smalltalk 通过示例查找在Pharo Finder中是如何工作的?,smalltalk,pharo,Smalltalk,Pharo,在深入研究Pharo时,我印象最深的一件事是,发现者可以通过实例进行发现。我以前只在Haskell这样的语言中见过这种情况,在这种语言中,可以确定函数没有副作用。Pharo如何以安全、高效、无副作用的方式实现这一点?Magic:) 实际上。。。尽管我一直梦想着从测试中自动创建列表,但现实是我们手动维护一个安全消息列表(显然容易出错;我严重怀疑它是否100%准确)。请参阅MethodFinder>>#初始化 这是一个诡计,但不完全是魔术;) 谢谢!顺便说一句,我在这里使用这个功能来融化面部:值得注

在深入研究Pharo时,我印象最深的一件事是,发现者可以通过实例进行发现。我以前只在Haskell这样的语言中见过这种情况,在这种语言中,可以确定函数没有副作用。Pharo如何以安全、高效、无副作用的方式实现这一点?

Magic:)

实际上。。。尽管我一直梦想着从测试中自动创建列表,但现实是我们手动维护一个安全消息列表(显然容易出错;我严重怀疑它是否100%准确)。请参阅
MethodFinder>>#初始化


这是一个诡计,但不完全是魔术;)

谢谢!顺便说一句,我在这里使用这个功能来融化面部:值得注意的是,Pharo从Squeak Smalltalk继承了这个功能。“方法发现者”(Ted Kaehler)现在已经15岁多了。Squeak过去是,将来也会是很棒的,Pharo就是基于它的,这要归功于人们的辛勤工作,使Squeak成为可能。谢谢大家。@Bertenberg我们还要补充一点,Kaehler的目标是提供“示例编程”功能。发现者是朝着这个方向迈出的非常好的一步。finder还可能与实现事务(正如GemStone所做的那样)或更雄心勃勃的撤销相关。