On Tue, 4 Jan 2005, Johannes M Zmoelnig wrote:
Mathieu Bouchard wrote:
On Mon, 3 Jan 2005, Krzysztof Czaja wrote:
which one should be produced?
(b) first 'test this bang', second no-op
hmm, i disagree with that. [bang( is bang and not a symbol "bang"!
Alrighty, here's a second issue I hid in the carpet so as to not distract from my first issue, but that I have to uncover to answer you here:
Since every possible symbol can be used in any message, save for a few reserved keywords, what would be a logical way of distinguishing those from symbol messages, which have "symbol" as their selector and whatever symbol as their $1 ?
In GridFlow,
[foo( -> [messageprepend zzz] gives 'zzz foo' [symbol foo( -> [messageprepend zzz] gives 'zzz symbol foo' [foo\ -> [messageprepend zzz] gives 'zzz symbol foo'
(where [\ is a symbolbox)
Where I designed [messageprepend], among other things, having in mind a mental model of Pd that is concise, consistent, and founded on the preconceptions I have learned while trying several shovelfuls of different programming languages. (which is why I sort of bang my head on the wall with issues like this one and the one in the previous mail: I don't understand those behaviours; they make no sense to me, and I expect to be able to make sense of them given how much time i spend on semantics!)
In the previous mail, the second and third entry would have given the first result. Now, until here, I have assumed that [prepend] should be "injective", that is, it is possible to know which inputs were put in just by looking at the output. If we drop that requirement, then [foo( and [symbol foo( could give the same result for convenience, but it would be inconsistent with the fact that, in general, to write in a messagebox a symbol compatible with a symbolbox, you actually have to write "symbol" in front of it, else it is rejected as "no method for ...".
bang is an atomic event not containing data (not even a timestamp) how do you encapsulate such a time-based event within a data-set (like "test this bang") ?? this does not make sense to me at all
could you please elaborate on this?
PS: (*please* don't say "you know, pd is not a programming language...")
but it is turing complete, so who cares...
Well, there are many turing-complete languages for which no-one expects a quality experience when programming them. Examples are:
It turns out that even though the intent of the original creator of a given programming language is often largely ignored by its users, that doesn't mean it's always the case. For example, the first three examples were designed specifically to prove a point about really unwieldy languages still being "universal computers". Because of their features (or incredible absence thereof) it's normal that no-one expects anything from them.
However, in the case of PureData, after the intent of the author (or the marketing line) has been rejected/ignored, people *are* willing to ascribe new intents and meanings to PureData. The model of the language "talks to them": they *do* expect to find quality time with PureData, or at least a system that is 90% like PureData: and this is where the feature requests pour in, like
as well as bug reports, which may sound like my last two mails.
Mathieu Bouchard -=- Montréal QC Canada -=- http://artengine.ca/matju