On Mon, Feb 15, 2016 at 10:36 AM, Alexandre Torres Porres <porres@gmail.com> wrote:
hmmm, much of the discussion here could be maybe at another thread about creating functionalities (in externals or pd-l2ork) that allow abstractions to behave more like externals, so I'd suggest changing the topic for that to go on. btw, I wouldn't see the point of relying on another external from another library to make cyclone abstractions, and regarding the case of some simple nettles objects, the main issue is not compiling externals (because, well, they are already coded, complied and done), but this discussion of the problems on how to load their object names.

Regarding this matter, it's been noted that "some OS don't like somes character/names (like >).

Well, I find from the discussion that this is not quite true, cause the issues for them to not load are for other reasons that seem to be covered in the way the objects are built in cyclone. I might be missing something, but that's what I got. And also, I asked this in my first message, but no one answered or pointed that although these nettles externals load in MAC OS that they do not load on Windows and Linux - so I'm gonna go with my hunch that they do load.


If you look in Pd source file x_arithmetic.c you will find this line:
    binop2_gt_class = class_new(gensym(">"), (t_newmethod)binop2_gt_new, 0,
What it does is register the symbol ">" and associate it with the function binop2_gt_new, which will create the "greater than" object. If the symbol had not been set up when Pd started (when x_arithmetic_setup() is called at startup), then Pd would start looking through its list of directories to search for a file named >.pd_linux, or >.darwin, or >.dll, or other suffixes, depending on the OS. None of those names are legal file names on those systems, so an error would occur and the object would not create. Cyclone, when it's properly set up, will also register a bunch of symbols when it starts, thereby avoiding file searches for illegal filenames. If only part of cyclone is loaded, it may not have registered the weird symbols, so they won't load.

Martin