Converting blocks to methods
Randal L. Schwartz
merlyn at stonehenge.com
Sat Jan 19 17:11:23 UTC 2008
>>>>> "Martin" == Martin Beck <martin.beck at hpi.uni-potsdam.de> writes:
Martin> has anyone tried to accomplish something like
Martin> MyNewClass addMethod:#doSomethingWith: with: [ :arg |
Martin> Transcript show: arg].
Martin> MyNewClass new doSomethingWith: 'Hello World'.
Martin> in Squeak? This would mean, to convert a block into a method, thus
Martin> changing the hole semantics. Outer temporaries or other variables are
Martin> of course forbidden. Literals have to be fetched out of the defining
Martin> method and brought into a new compiled method and so on. Or perhaps
Martin> there are other possibilities? Any ideas?
You could invoke the compiler on a decompiled version of the block. Not the
fastest solution, but probably the easiest. :)
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<merlyn at stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!
More information about the Squeak-dev