Quote strings in records/arrays/etc
Quote strings in records/arrays/etc

This patch changes I/O routines to use quoted strings when
writing/reading strings in records/arrays/etc.

If you do:

  writeln("hello world\n");

you (naturally?) expect "hello world" to print without quotes:

  hello world

but then if you were reading that input and you did this:

  var s: string;
  readln(s);

s would contain only "hello", because the default string reading rule
is to read one word only. Even if that were not the case, we wouldn't
know when we reached the end of the string since it is not delimited
in any way. (and making writeln print the quotes by default interferes
with things like writeln("a = ", a) ).

When we get to a record, these choices are no longer reasonable.

For example, if I have

  record R { a: string, b: string }
  writeln(new R("hello world", "second string"));

it will output

  (a = hello world, b = second string)

There's pretty much no way we could read that back in without assuming
something about the strings.

This patch changes it to output

  (a = "hello world", b = "second string")

enabling both reading and writing of records/arrays/whatever
containing strings.

hildeth/chapel,CoryMcCartan/chapel,CoryMcCartan/chapel,CoryMcCartan/chapel,hildeth/chapel,hildeth/chapel,CoryMcCartan/chapel,hildeth/chapel,hildeth/chapel,chizarlicious/chapel,chizarlicious/chapel,chizarlicious/chapel,chizarlicious/chapel,CoryMcCartan/chapel,hildeth/chapel,chizarlicious/chapel,hildeth/chapel,chizarlicious/chapel,CoryMcCartan/chapel,CoryMcCartan/chapel,chizarlicious/chapel