atom feed34 messages in at.iem.pd-listRe: [PD] here I go again..dynamic abs...
FromSent OnAttachments
Rory WalshFeb 5, 2009 9:46 am.pd
IOhannes m zmoelnigFeb 5, 2009 9:51 am 
IOhannes m zmoelnigFeb 6, 2009 1:51 am 
Chris McCormickFeb 6, 2009 5:13 am 
Georg WernerFeb 6, 2009 2:07 pm 
Claude Heiland-AllenFeb 6, 2009 4:04 pm 
Georg WernerFeb 6, 2009 5:28 pm 
Frank BarknechtFeb 7, 2009 3:31 am 
Georg WernerFeb 8, 2009 6:13 am 
Frank BarknechtFeb 9, 2009 12:47 am 
zmoe...@iem.atFeb 9, 2009 3:18 am 
Georg WernerFeb 9, 2009 4:33 am 
zmoe...@iem.atFeb 9, 2009 5:30 am 
Matt BarberFeb 9, 2009 12:00 pm 
Jonathan WilkesFeb 9, 2009 1:45 pm 
Jonathan WilkesFeb 9, 2009 2:17 pm 
Mike McGonagleFeb 9, 2009 2:43 pm 
Phil StoneFeb 9, 2009 3:50 pm 
Georg WernerFeb 9, 2009 3:52 pm 
Mathieu BouchardFeb 9, 2009 10:57 pm 
Frank BarknechtFeb 10, 2009 2:02 am 
zmoe...@iem.atFeb 10, 2009 3:50 am 
Phil StoneFeb 10, 2009 7:29 am 
Mathieu BouchardFeb 10, 2009 8:37 am 
Mathieu BouchardFeb 10, 2009 8:45 am 
Mathieu BouchardFeb 10, 2009 8:56 am 
Frank BarknechtFeb 10, 2009 8:59 am 
Mathieu BouchardFeb 10, 2009 9:05 am 
JackFeb 10, 2009 9:18 am 
Chris McCormickFeb 10, 2009 9:20 am 
Phil StoneFeb 10, 2009 9:30 am 
Matt BarberFeb 10, 2009 9:36 am 
Mathieu BouchardFeb 10, 2009 9:50 am 
IOhannes m zmölnigFeb 10, 2009 10:22 am 
Subject:Re: [PD] here I go again..dynamic abstractions
From:Georg Werner (geo@fricklr.de)
Date:Feb 6, 2009 5:28:38 pm
List:at.iem.pd-list

Hi Claude,

thanks for your explanation - i got your point, but this 2-phase parser is (must have been) already implemented in Pd. So, where do you see a problem in expanding/replacing $0 in "Phase 2" - like $1 etc. (with that special fixed value)? georg

Claude Heiland-Allen schrieb:

Georg Werner wrote:

hi,

Hi Georg,

can somebody explain why there is a "3rd rule of $-expansion: 'there is no $0 in message-boxes'".

The following is from an implementor's viewpoint, not a user's viewpoint, so be warned :)

I don't know why, but it makes parsing Pd patches 1000x less straightforward than required (you need a two-phase parser that has a special exception to detect message boxes and not expand dollars, allowing the message box objects to parse them itself later, while expanding dollars for everything else).

I ran into this problem implementing PotatoData (basically a proof of concept, it's a Pd patch interpreter written in Lua with minimal amounts of C for DSP, can run some trivial audio patches) a couple of months ago, and just ducked it completely - message boxes in my implementation don't support dollars at all (nor commas or semicolons for sequencing and redirection, but that's a separate issue).

I wish message boxes had used a different special character, it would have made life much much easier.

i stumble every now and then about it and it is IMHO not self-explanatory.

It's a mess. There are two similar concepts at work:

1. replacing dollars with arguments at patch execution time 2. replacing dollars with arguments at message passing time

But they both use the same $ symbol syntax in Pd, so you can't have both taking place (ie, use $ at patch execution to create a message box that has $ to replace at dataflow time). And $0 is in phase 1, so what should a message box do with $0 in phase 2?

The confusion arises partly because when Pd loads a patch, it's really internally passing messages around.

$ in message boxes is unfortunate. If there was a different symbol, perhaps #, you could combine both phases in one object box to avoid jumping through pointless hoops.

[$0-#1-$2-#3( would be nice, but as Pd is now, it's a nightmare.