I'm trying to move in the direction of name -> signed, uname -> unsigned.  The modern, general noise call is

    noise ("name", coords);

and in that convention, "perlin" and "simplex" are signed, "uperlin" and "usimplex" are unsigned. Since Perlin's actual original paper described a signed noise, this seems like the right way to do it.

When no "name" is provided, the default is an unsigned noise, which is an unfortunate historical throwback to RenderMan conventions.