>
>
>On Tue, 4 Jan 2005, Mathieu Bouchard wrote:
>  
>
>Funny that you mention this, because this actually changed significantly
>between Ruby 1.6 and Ruby 1.8; the former conventions wrt nested
>methodcalls were more Perl-like and then, suddenly, only outermost
>methodcalls could skip parens (which broke a *lot* of my code back then).
>Well, the rule ?wenn schon denn schon? apparently didn't apply at that
>particular moment in Ruby's history, I guess !
>  
>
Thanks for the warning. I'm still using 1.6.8.  Another reason to hold 
off on adopting 1.8 :-)
Even so, I actually agree with this change.  The rule is simple and 
still allows for
basic "commands" without parenthesis. 

>How is it found where the number ends? I assume that it would be whenever
>a not-letter-nor-digit is encountered, outside of the normal valid uses of
>period/minus/plus/underscore.
>  
>
I had in mind that the lexer rules would remain unchanged.  I think the 
token must include
at least one embedded . to cope with floating point-like syntax.  But, I 
aggree that this
is a sore point for any scheme the tries to depense with explicit 
quoting.  And, I also
feel that any scheme that is going to be sufficiently generic will 
require some sort
of literal quoting.  The idea that Numeric.literal_x will be sufficient 
for "our needs"
begs the question "whose needs"?  Certainly not mine.

My needs do not include rational, quaterion, or imaginary
numbers.  My needs do include time and space coordinates for marine 
sensing systems.
None of these "needs" is addressed in any practical sense by 
Numeric.literal_x (aString)

>>>    4:30:19AM
>>>    4.30.19A
>>    
>>
>
>In Canada, it is most usual to write 4:30:19 (24-hour style), at least on
>official digital clocks. So IMHO it doesn't matter whether it's A or AM.
>For the dot versus the colon, i don't know, but note that it is also
>common practice, in the 23:45 or 11:45PM case, to write it as 23h45.
>
>That is, I still prefer single-letter globals (as long as they're
>uppercased), so it could be:
>
>  T"4:30:19AM"
>
>with T for time. of course this only works as long as someone else doesn't
>insist on using T for something else (but there is nothing that can be
>done about this)
>
The point we are both making here that there is a huge variety of 
schemes just for
writing time of day.  There are even more for writing Lat/Long coordinates.
I think explicit delimiters must be required for any user defined
literal definition facility to be of general use.

I already define Time(string), so T(string) would really be no great 
improvement.

It would be neat if we could add some elegant way to represent generic 
literal objects. 
I think backslash is currently undefined outside of quoted strings.  Can 
someone
more familar with the parser confirm this?

If so, maybe something like:

t\4:30:19AM\

This would call Kernel::Literal::Prefix::t ('4:30:19AM')
Or, if you'd rather have a suffix:

\3/2\r

calls  Kernel::Literal::Suffix::r ('3/2')

There's no reason one could not have 'I' for quaternians and 'i' for 
imaginary numbers, etc.
Further, Prefixes and Suffixes need not be single letters:

\-122.12'40"\Long
\+37.19'59"\Lat

call Kernel::Literal::Suffix:Long ('-122.12\'40"')
and Kernel::Literal::Suffix::Lat ('+37.19\'59"')
respectively

- brent

-- 
 Brent Roman                                   MBARI
 Software Engineer               Tel: (831) 775-1808
 7700 Sandholdt Road,         Moss Landing, CA 95039
 mailto:brent / mbari.org  http://www.mbari.org/~brent