> On Sep 14, 2016, at 10:50 PM, Marcus Denker <marcus.den...@inria.fr> wrote:
>>> 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?
> I like the idea to show examples/tests close to code, but pragmas are not
> really good...
>> If we have ' ' then it would be good that the syntax higlighter works with a
>> special mode inside the ' '
> it is just a string. How do you know that it contains code?
> Would you highlight all string in all code as if it contained code? Or would
> you add this just for
> Pragmas? But even there, strings are string, not code.
> I think we can conclude that pragmas are not a good solution to the problem,
> as they are far
> too limited to express code.
I think that's not a safe conclusion. We know from Igor's use of Kieran arrays
for C signatures in the UFFI, and can easily extrapolate here, that arbitrary
Smalltalk expressions /can/ be expressed in literal arrays. S expressions work
In this particular case special casing pretty printing of literal arrays in
pragmas would be all that's needed to make the code look beautiful. Why throw
the baby out with the bath water? It would be so easy to make this work well.
The only thing I'd do would be to print like this to make it clear that the
argument t is a literal Array and not some magic form of code:
<expr: #(3 + 4) result: 7>