Or rather, a question about keys: what should the following two code
 snippets do?

 1)  new P0, .Key
     set P0, "1"
     set N0, P0
     print N0
     end

 2)  new P0, .Key
     set P0, "1"
     set I0, P0
     print I0
     end

 At the moment, the first one throws an exception ('Key not a number!'),
 while the second one goes into an infinite loop and eventually
 segfaults. As I see it, there are three possibilities:

 i)   In both cases, we throw an exception.
 ii)  We try to convert the string to an float (or int) using
      string_to_num (or string_to_int). [In which case, what
      do we do if the string is something like "asdf"?]
 iii) We declare that trying to get numeric information out of
      non-numeric keys is undefined behaviour, and so Parrot may do
      anything (including segfault).

 Which of these should Parrot do?

 Simon

Reply via email to