Skip to content
  • Marc Coiffier's avatar
    Make better backquotes for CaPriCon · eac58301
    Marc Coiffier authored
    The old "{@ ... @}" syntax was a bit clunky, so I looked for a way to
    make it more like the Lisp backquotes. That meant re-using the '}'
    keyword for closing both quotes, and unquotes.
    
    Since that meant introducing additional state into the interpreter, I
    took it as an opportunity to put that information to good use, and
    actually start discriminating between "constant" quotes and "exec"
    quotes. Indeed, the ",{ ... } exec" pattern seemed to be common enough
    that it deserved its own concept. Enter "${ ... }", and the notion of
    "exec step".
    
    This new distinction will also allow some rudimentary levels of
    "compilation" to be offered to the users, by means of a function that
    turns every "verb step" into the "exec step" that corresponds to that
    verb's value at the time of linking. It's quite simple, but if it
    could eliminate verb lookups from commonly-used functions, it could be
    a nice easy performance win.
    eac58301