Quoted Blocks To Reinforce Eval-Built Dialects

Rebmake uses TUPLE!s and PATH!s creatively when specifying lists of files to build:

files: [
    foo.c
    bar.c [<msc:/WD1337> <gcc:-Wno-bad-warning>]  ; options for this file

    subdir/ -> [
       baz.c [
          #no-c++
          ; You can put more compiler settings for this file here
       ]
       mumble.c
   ]

   frotz.c
]

I'm turning my attention toward making this even more powerful, and there's a lot of potential.

But Sometimes, You Build These Specs With Code

I was looking at this, and had a bit of a thought about how spread looks like it's in a "sea of intertness"

depends: compose [
    (switch platform-config.os-base [
        'Windows [
            spread [
                stdio-windows.c
                readline-windows.c
            ]
        ]
    ] else [
        spread [
            stdio-posix.c
            readline-posix.c
        ]
    ])
]

You're looking at this list of files, that you're used to seeing dialected. So you half expect it to be like:

spread/ -> [  ; would be like spread is a directory
   stdio-windows.c
   readline-windows.c
]

spread [  ; so this looks like a "bug"
   stdio-windows.c
   readline-windows.c
]

This gave me a thought, though. Since the block is in an evaluative context, why not give a hint to help remind readers that it is?

depends: compose [
    (switch platform-config.os-base [
        'Windows [
            spread '[
                stdio-windows.c
                readline-windows.c
            ]
        ]
    ] else [
        spread '[
            stdio-posix.c
            readline-posix.c
        ]
    ])
]

It gives you a little hint to remind you that you're looking at something evaluative. While you could use quotes as a signal in a dialect (to put a generic mark on something?) this wouldn't be too common, so I think this might be a good tool when composing dialect code to know that's what you're doing.

(Of course, for binding reasons, you often want to quote blocks anyway...and that's becoming more important with time!)