Una delle cose che mi ha colpito di più quando ho iniziato a scavare in Pharo era che il Finder poteva trovare l'esempio. In precedenza l'avevo visto solo in lingue come Haskell, dove è possibile sapere con certezza che una funzione non ha effetti collaterali. In che modo Pharo riesce a implementarlo in modo sicuro, performante e privo di effetti collaterali?Come funziona find-by-example nel Pharo Finder?
13
A
risposta
12
magia :)
A dire il vero ... anche se ho sognato di creare la lista dai test automaticamente, la realtà è che noi manteniamo manualmente un elenco di messaggi di sicurezza (ovviamente soggetto a errori; ho seriamente dubbio è accurato al 100%). Vedi MethodFinder>>#initialize
.
Quindi un trucco, ma non esattamente magico;)
Grazie! A proposito, sto usando questa capacità per fondere i volti qui: http: //devblog.avdi.org/2015/05/11/in-which-i-make-you-hate-ruby-in-7-minutes/ – Avdi
Vale la pena notare che Pharo ha ereditato questa capacità da Squeak Smalltalk. Il Method Finder (di Ted Kaehler) ha più di 15 anni ora). –
Squeak era e sarà fantastico, Pharo è basato su di esso e deve molto al duro lavoro delle persone che hanno reso possibile Squeak. Grazie ragazzi. – Kilon