On Sep 4, 2011, at 2:01 PM, Jonathan Wilkes wrote:
----- Original Message -----
From: Mathieu Bouchard matju@artengine.ca To: Jonathan Wilkes jancsika@yahoo.com Cc: Chris McCormick chris@mccormick.cx; Miller Puckette <msp@ucsd.edu
; "pd-list@iem.at" pd-list@iem.at
Sent: Sunday, September 4, 2011 1:48 PM Subject: Re: [PD] (breaking symbols) was Re: find a list of numbers
in a text fileOn 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 startflying 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
Pd-list@iem.at 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