> except for obfuscatory purposes. Besides, if we allow dots for > floating point numbers how do we represent this integer: > > 256:234.254
Using this notation is cute: a generalization that lets us specify a strange thing. That are the reasons for using such a thing? 1) an alternative to C<pack> 2) an IP address. Creating a byte-string is not a common thing (in most modules). Its the type of thing that is better done as a function than as syntax (especially if functions can be evaluated at compile time). The most common reason for dotted decimal notation is for IP addresses. If that is the motivation, then the cute trick doesn't suffice: I can't use it to specify IPv6 addresses (which are hex numbers, separated by colons; with double-colon representing a zero-padding in the middle). syntax for bases 2, 10 and 16 seems like a good thing. If that syntax generalizes then fine: but do we really need to go beyond base 36? If so, is dotted-decimal notation the most appropriate (I might want to use dotted-hex???). The original question (snipped) concerned the use of the binary point (for specifying floating point numbers. Such things are used, though only in restricted domains. For example, IEE754 single-point numbers use a 23 bit mantissa, which is simply the 23 bits that follow the binary point (well, almost). Sure, we don't usually write it that way; but the concept is valid. I'd prefer to use the dot as a floating-point, in whatever base the number is specified. Why should base-10 be an exception to a generalization? IP addresses are probably better represented with an explicit prefix: e.g. IP:255.255.255.0; or maybe even a function that accepts raw string input (another example of such things is C<qw>). Dave.