Hi nicolai
Why we should not accept
foo
�� �� <func: (3+4) res:0>
�� �� ^ self
and be forced to put around ''
foo
�� �� < func: '(3+4)' res: 0 >
�� �� ^ self
I understand that we store literal but why you do not like it :).
First of all, the old compiler did not accept this. And I am a bit sensitive about changes, we allow a different syntax
just because RB happens�� to allow this (and maybe no one knows why or it just does not happens on purpose).
valid point.
What I noticed is that I could not write
And another reason, even without my fix, if we don't put quotes around that expression, the reformatting the source will convert this to:
foo
������ <func: #(3 #+ 4) res: 0>
������ ^ self
��foo
������ <expr: 3 + 4 result: 7>
but it worked when I put () so I did it in the new code I wrote.
This one is uglyAnd, even if (3+4) looks like an expression, it is just a list of literals something like this:
foo
������ <func: ([[[}}}) res:0>
������ ^ self
would be allowed too.
But of course this is only my own opinion :)
We can change it back and maybe add support for the reformatter to not convert it to the literal array #(3 #+ 4) .
I do not know in fact this is why I asked :)
Now may be my idea to use pragma to get something like pythondoctest is a bad idea
but I really want to have literal programming.
What do you think?
If we have ' ' then it would be good that the syntax higlighter works with a special mode inside the ' '
nicolai
Stef
�� 60220
19086 do not allow expressions as pragma arguments
�� �� �� �� https://pharo.fogbugz.com/f/cases/19086