[PD-dev] pow~ in Cyclone [was: Re: stripping down Pd-extended's default libs]
Mathieu Bouchard
matju at artengine.ca
Thu Feb 19 19:29:19 CET 2009
On Thu, 19 Feb 2009, Matt Barber wrote:
> Perhaps there is a conceptual difference between overriding internal
> classes for a class with the same behavior but with added methods (e.g.
> the [print] and [soundfiler] examples from before), and overriding with
> a different object, or one with a different interface (the [pow~]
> situation).
Right. It has to do with the Liskov substitution principle, if you
consider the new interface as a subtype of the old interface: whatever
holds for the old interface, should hold for the new interface.
This principle defines what's a subtype, but doesn't say what it should be
applied on. I mean, you can make statements about interfaces, and those
statements talk about subtypes, but they don't necessarily talk about
features, or they talk about one man's features which is another man's
hole or bug. I mean, before worrying about subtypes, we have to figure out
what's a feature and what's not.
I say that because there's something called pack_anything that is defined
in pd, which looks pretty deliberate, and yet, it still seems to someone
like a bug. So, what's a feature?
(Liskov's also has other exceptions such as "covariant types", but that's
another thing)
> Meanwhile, it would not be well-motivated to override it with an object
> which (to be silly) indexed tables in reverse, or (to be ridiculous
> because it's 4:00 AM here) grabbed a random joke from the web every 64
> samples and posted it to the console.
Actually, if the spec of the class does not say that nothing will be
posted to the console, and that there is no rule that says that nothing
gets posted to the console unless specified explicitly in the spec, then
it is the right of every subclass to do whatever it wants with the
console, really... in theory... though it would be quickly reported as an
annoyance or a bug. I suppose that... if it's really at 64 samples, then
it would just flood the pd console so bad that it would freeze the
programme.
> "in the name of gbuzz stop what you're doing and fix the library!"
for a little while I hoped gbuzz would be the name of a Gtk port of
Jeskola's BuzzTracker.
_ _ __ ___ _____ ________ _____________ _____________________ ...
| Mathieu Bouchard - tél:+1.514.383.3801, Montréal, Québec
More information about the Pd-dev
mailing list