On Mon, 23 Feb 2009, Phil Stone wrote:
Oh! Very good. I didn't realize that an identical symbol would get
re-used. For completeness' sake, I will make a new [ps-stopwatch] that
does not leak (and is plain vanilla, to boot).
Yes, it's re-used, which sort of goes with the fact that it doesn't
get de-allocated, but that is also because it's less trouble (for pd
itself) to have eternal symbols than mortal symbols.
But the re-use also goes with the fact that it's easier and faster to
compare two symbol addresses (t_symbol *) than two string contents, and
if pd _ensures_ re-use, then two identical addresses _mean_ two identical
strings.
But all this pd symbol concept comes essentially as-is from 1961 LISP. It
was then adopted by LOGO and Smalltalk in addition to all of the LISP
variants, and then by Ruby, and then the Ruby guys figured out that in the
end, a symbol type could be pretty useless if you had a good enough string
type, so they almost merged them. Most other languages just have had a
string type and improved on that instead of having symbol-vs-string or
just symbols. All this to say I'm in favour of replacing symbols with
strings (while still calling them "symbols" just because).
_ _ __ ___ _____ ________ _____________ _____________________ ...
| Mathieu Bouchard - tél:+1.514.383.3801, Montréal, Québec
_______________________________________________
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management ->
http://lists.puredata.info/listinfo/pd-list