On Sep 4, 2011, at 2:01 PM, Jonathan Wilkes wrote:





----- Original Message -----
From: Mathieu Bouchard <[email protected]>
To: Jonathan Wilkes <[email protected]>
Cc: Chris McCormick <[email protected]>; Miller Puckette <[email protected] >; "[email protected]" <[email protected]>
Sent: Sunday, September 4, 2011 1:48 PM
Subject: Re: [PD] (breaking symbols) was Re: find a list of numbers in a text file

On Sat, 3 Sep 2011, Jonathan Wilkes wrote:

It needs to be that simple for the general case because Pd Vanilla has no
(sensible) mechanism to convert a symbol atom into a float.

Then it needs a sensible mechanism to convert a symbol atom into a float.

Yes, it does. But if there were one, it'd still be nice to have the default be float atoms come out, and maybe a flag or a different creator name for outputting all
symbols. (Like [symbol explode]?)

Its more than just methods for converting, there needs to be a type system which includes the possibility that "43" can be a symbol. Pd's type system is meant to be "anything that can be intepreted as a number is a float, everything else is a symbol". See this for definitions:
http://puredata.info/dev/PdDefinitions

So given that is the type system, how do you represent "43" as a symbol? No matter the techniques for converting anything to a symbol, it'll remain confusing to use these symbols unless this is resolved.

One possibility is to do a more duck-typing approach. For something that accepts only symbols, it'll happily accept "43" as a symbol. For something that only accept floats, it'll convert the symbol "43" to 43 and accept it as a float. The question here is how to handle it when something expects both floats and symbols. As far as implementing this, we could add to the t_symbol struct a flag to say whether it can be read as a float, and store the float value there too.

This would open the door to making arbitrary symbol making really easy, something like:

[symbol 43(

or

[symbol 43]

.hc

If symbol atoms which look like numbers to the naked eye are going to start
flying around more freely in Pd then the docs need to explain how atoms are a kind of weird file cabinet where the label on the cabinet tells you which
file-folder inside actually holds the data.

That's called a union or a variant record type or an «any» type or a
sum-type or whatever else.

If it looks weird and/or difficult, it's because it's not taught in a
way that makes it understood as normal.

I think the problem is it's not explicitly taught at all.


Also, I'm assuming [list implode] would accept and process a list at
the left inlet, unlike [s2l] (which passes the 1st element to the right inlet).

I don't understand. Wouldn't [list implode] correspond to [l2s], whereas
[list explode] would correspond to [s2l].

That's right, I wrote the wrong one. I have a bad habit of getting opposites mixed up-- if I'm not careful I'll create a [max] to output the greater of two numbers.


_______________________________________________________________________
| Mathieu Bouchard ---- tél: +1.514.383.3801 ---- Villeray, Montréal, QC


_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list



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

"[W]e have invented the technology to eliminate scarcity, but we are deliberately throwing it away to benefit those who profit from scarcity." -John Gilmore



_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

Reply via email to