but different because the result is code (a lisp list to be precise which is anything) and not a string like in Perl. And I've never seen this construct outside of macros. (does it even work?)

It does, actually. Keep in mind lisp doesn't really distinguish between code and data (the interior of a lambda is a list like everything else (*)). You can use the backquote anywhere you can use a regular quote. And this does come up: sometimes the backquote is the easiest way to build a complex data structure.

(Conversely, you can use a regular quote in a macro if you have a template that's actually constant, i.e., if there are no holes, then it doesn't matter which you use -- except in that people will expect the backquote, be confused if they don't see it, and it generally doesn't cost extra -- macro-expansion happens at compile time anyway),

(*) unless you're trying to do hygenic macros, in which case you need extra structure, i.e., it's not enough to build a list to represent your code; there needs to be something extra that remembers the state of the lexical environment at the point where the list was built so that when the various lists later get getting shuffled around in the course of macro expansion any variables included within will always be the "right" ones


In reply to Re^3: What's new in ECMAScript6, or: Oh no! Don't steal syntax from Perl! by wrog
in thread What's new in ECMAScript6, or: Oh no! Don't steal syntax from Perl! by FreeBeerReekingMonk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.