haha!

On Thu, Jul 24, 2014 at 10:01 AM, Ben Coman <[email protected]> wrote:

>  Dale Henrichs wrote:
>
> ohoh:)
>
>    Deprair
>   Deprecair
>
>
> Deprecare = Depreca(tion), care (of)
>
>
>
>    DeDeprecate
>
>
> On Thu, Jul 24, 2014 at 9:11 AM, Ben Coman <[email protected]> wrote:
>
>>  Camille Teruel wrote:
>>
>>
>>  On 24 juil. 2014, at 17:05, stepharo <[email protected]> wrote:
>>
>>  Camille
>>
>> Ammonite is not that sezzy :)
>>
>>
>>  Because it has tentacles? :-D
>>
>>  May be
>> autoRepair
>> selfRepair :)
>>
>>
>>  Yes for example ;)
>>
>>
>>  How about 'Reprecator'   because you are Rep(airing)(Dep)recations.
>>
>>
>>
>>
>> Stef
>> On 24/7/14 14:34, Camille Teruel wrote:
>>
>> Hello Pharo users,
>>
>>  I'm pleased to announce the release of Deprecator.
>> It's a prototype of a small tool that permits you to deprecate method by
>> annotating them with a <deprecated: ...> pragma.
>> This pragma takes a rewrite expression as argument that specifies how to
>> rewrite the message send to the deprecated method.
>> If such a deprecated method is executed, a warning is thrown and a
>> debugger opens.
>> This debugger has a little 'Rewrite' button that permits to rewrite the
>> sending method according to the rewrite expression and then resume the
>> execution with the new rewritten sending method :)
>>  The implementation is a proof-of-concept and is a bit hacky here and
>> there, but it works.
>>
>>  Example:
>>
>>  You have a class C with a method that you deprecate.
>> Its rewrite expression tells that if it's executed as the result of a
>> message send of the form:
>> *<receiver>* deprecatedMethodArg1: *<arg1>* arg2: *<arg2>*,
>> this message send should be rewritten to:
>> *<receiver>* replacementMethodArg1: *<arg2>* arg2: *<arg1>*.
>>  Note you can change the order of arguments or even the receiver.
>>
>>  C>>deprecatedMethodArg1: o1 arg2: o2
>>  <deprecated: '`@receiver replacementMethodArg1: `@arg2 arg2: `@arg1'>
>>   ^ #deprecated
>>
>>  C>>replacementMethodArg1: o1 arg2: o2
>>  ^ #replacement
>>
>>  C>>senderMethod
>>  ^ self deprecatedMethodArg1: 1 + 1 arg2: 2 + 2.
>>
>>  Then if you execute C new senderMethod, and then click on the "Rewrite"
>> button of the debugger, then sending method is rewritten to:
>>
>>  C>>senderMethod
>>  ^ self replacementMethodArg1: 2 + 2 arg2: 1 + 1.
>>
>>  and the result is #replacement.
>>
>>  The repo is on sSmalltalkHub:
>>  MCHttpRepository
>>  location: 'http://smalltalkhub.com/mc/CamilleTeruel/Deprecator/main'
>>  user: ''
>>  password: ''
>>
>>  I hope for comments, feature suggestions, code reviews, contributors,
>> etc :)
>> BTW, if you have a better name for this project let me know!
>> For example, I thought about Ammonite because it's an extinct animal
>> (analogy with deprecated) and it fits the sea naming theme.
>>
>>  Cheers,
>> Camille
>>
>>
>>
>>
>>
>
>

Reply via email to