2016-01-21 8:38 GMT-03:00 Henrik Johansen <henrik.s.johansen@veloxit.no>:
On 20 Jan 2016, at 6:14 , Esteban A. Maringolo <emaringolo@gmail.com> wrote:
I would be interested in the use cases and how to deal with "undefined" arguments, will they be nil or other kind of undefined object?
Perhaps
request: aFile with: anotherThing and: aThirdThing <optionalParameter: anotherThing "default: nil"> <optionalParameter: aThirdThing default: defaultThirdThing> -> request: aFile with: anotherThing ^self request: aFile with: anotherThing and: self defaultThirdThing request: aFile and:: aThirdThing ^self request: aFile with: nil and: self aThirdThing request: aFile ^self request: aFile with: nil and: self defaultThirdThing
The pragma for the default unless it's a literal object it should be a message send. I still have to see a good use case that could justify the use of that. Because it also involves the message lookup, which AFAIK is performed by the VM. Regards, Esteban A. Maringolo