[PD-dev] strings

Hans-Christoph Steiner hans at eds.org
Tue Dec 19 04:22:04 CET 2006


On Dec 18, 2006, at 12:42 PM, Mathieu Bouchard wrote:

> On Mon, 18 Dec 2006, Hans-Christoph Steiner wrote:
>> On Dec 17, 2006, at 1:36 AM, Mathieu Bouchard wrote:
>>> That's aiming low. Why shouldn't there be any automatic casts  
>>> between the two?
>>
>> Automatic type conversion sounds like a really bad idea if the  
>> language only partially supports it.
>
> If that's the case then pd is a really bad idea.
>
> It's not possible to typecast any value of a type to any value of  
> another type, all of the time. That's even true in the most  
> typecast-frenzy languages ever.
>
> There's no such requirement that implicit casts have to be  
> impossibly well supported in order to be a good idea. You're just  
> dismissing all forms of implicit casts as being bad ideas.
>
>> Pd is strongly typed, so what Martin says is definitely appropriate.
>
> Non-sequitur, there are languages that have quite strict and  
> elaborate type checking and yet which support implicit casts. For  
> example, C++.
>
> And then, in many cases, languages can become less strictly checked  
> without any problems, as long as nothing actually relies on type  
> violations. Because pd doesn't have any error handling (in the  
> sense of pd patches being able to figure out their own problems),  
> if any patch doesn't spit out any error messages, it would run the  
> same if there were more implicit casts made, because the patches  
> would never trigger those implicit casts anyway.

C/C++ is not very strict.  It allows you to just change what you call  
a chunk of memory without complaint.  Try Pascal, that is strict.  Or  
Pd's floats and symbols.  There is no way to make a float into symbol  
or vice versa without trickery.  For example, these doesn't work:

[123(            [symbol 123(                  [symbol 123(
|                 |                             |
[symbol]         [     \  <-- (symbol box)     [float]

.hc



>
>> Perl is the opposite, everything can be automatically cast, so  
>> there it makes sense.
>
> No, in Perl there's no way that you can cast something to a  
> pointer. You can use the backslash operator to make a pointer to  
> anything, but that's not a cast-to-pointer, because if you use it  
> on a pointer, you don't get the same pointer, you get a new pointer.
>
>> So... anyone want to code up some of these ideas?  We could try  
>> them out in the next Pd-extended.
>
> Martin's solution, my solution, or your solution?
>
>  _ _ __ ___ _____ ________ _____________ _____________________ ...
> | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju
> | Freelance Digital Arts Engineer, Montréal QC Canada


------------------------------------------------------------------------

Terrorism is not an enemy.  It cannot be defeated.  It's a tactic.   
It's about as sensible to say we declare war on night attacks and  
expect we're going to win that war.  We're not going to win the war  
on terrorism.        - retired U.S. Army general, William Odom






More information about the Pd-dev mailing list