[PD] Pd Development "Reverse Kickstarter"
Jonathan Wilkes
jancsika at yahoo.com
Tue May 14 18:57:07 CEST 2013
On 05/14/2013 03:47 AM, IOhannes m zmoelnig wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> hi jonathan,
>
> great ideas!
>
> On 2013-05-13 23:26, Jonathan Wilkes wrote:
>> * adding a function to make it easy to parse comma-separated
>> A_GIMME args to an object as named args. Thus for [someobject foo
>> 1 2 3, bar 1 2 3 4, blah bee], there should be a function that can
>> be used inside of someobject_new for which the author can ask for
>> the "foo" args and retrieve "1 2 3" (maybe by returning the indices
>> to the first and last arg of "foo"). That will match the syntax of
>> message boxes and give external developers an easy and consistent
>> way to do named
> personally i would go for something much simpler when using comma-args:
> [someobject foo 1 2 3, bar 42]
> would translate to something like
>
> [preinitbang]
> |
> [bar 42(
> |
> [someobject foo 1 2 3]
Yes, that would definitely make it a lot easier.
Two initial reactions:
* in the current implementation, sending bad args to an object ends in a
broken object. But sending comma separated args would not.
* the law of clever laziness dictates that any external developed after
such a change will simply refuse to accept any args at all.
Using your example:
1) Dev makes methods someobject_foo, someobject_bar, someobject_blah.
2) Dev starts to code someobject_new and realizes he/she needs to check
the first arg of the A_GIMME against "foo",
"bar", and "blah". (I assume ",bar 42" isn't part of argv.)
3) Dev already wrote that code in someobject_foo
4) Dev is lazy.
5) Dev is clever.
6) Dev accepts no args and tells users to just put a comma after the
object name if they want args:
Thus:
[someobject, foo 1 2 3 4, bar 42]
will be the de facto standard for setting args in the new way. (Unless
it's trivial like [float].)
I think [sigmund~] would have looked like that if it used
comma-separated args. Plus all the iemguis.
It's not terrible, but it's a little odd. [someobject foo 1 2 3 4, bar
42] looks to a user like [I_get_your_args "here is an arg," "here is
another"] where [someobject, foo 1 2, bar 3 4] looks like [object1,
object2 arg arg, object3 arg arg].
Of course I could be misunderstanding what you wrote. Maybe you mean
that "foo 1 2 3 4" are the positional args,
and they always come right after the object name as they do now. Either
way [creatorname, method arg, method arg arg]
would be a common sight.
-Jonathan
>
>
> with [preinitbang] being executed immediately after the instantiation
> of [someobject], so it's guaranteed that [someobject] is not connected
> to anything yet (kind of the opposite of [loadbang]). [preinitbang] is
> only here for illustrative purposes, and shouldn't exist.
>
> it all boils down to sending initialization messages to an object
> right after it was created.
>
> the nice thing about this is, that it doesn't require *any* changes on
> the object's side in order to be able to use it out of the box in
> *most* cases.
>
> i've been thinking about implementing this for some time now (though i
> never found any time to do it)...i just wanted to through it into
> discussion before there are several competing uses of comma-separated
> A_GIMME args.
>
> fgmasdr
> IOhannes
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.12 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>
> iEYEARECAAYFAlGR7BAACgkQkX2Xpv6ydvTOrgCdES/Zb8By5xaHwMC9lTCsN350
> SIwAoNeupdYrV4mKwfBmqFM7z+UPGfh4
> =36tV
> -----END PGP SIGNATURE-----
>
More information about the Pd-list
mailing list