Remix.run Logo
fijiaarone 2 days ago

A modest proposal…

Instead of having println() or it’s equivalent in your programming language, add a new special character that denotes a newline after a string:

print(“Hello world”.)

Jtsummers 2 days ago | parent | next [-]

Is your idea that that would always work? Like:

  s := "Hello world".; -- equivalent to "Hello world\n"
Or only in `print`? If only in `print`, then you've suddenly made a context-sensitive grammar. And if the former, just use "Hello world\n" instead, since the tokenizer already supports that.
keithnz 2 days ago | parent [-]

I think the point is to add the correct end of line depending on OS.

kouteiheika 2 days ago | parent [-]

The correct end of line is always '\n'. Even Windows' Notepad supports it nowadays. I will gladly die on this hill. :P

coderedart 2 days ago | parent | prev [-]

That would mess with dot syntax usually reserved for method calls. Like rust's "hello".to_string();

cxr 2 days ago | parent [-]

Oberon doesn't have string methods (and people who opt not to parenthesize for cases like that deserve the punishment).