title: How can you implement this multiline string literal macro in Swift?
body: <p>In my Objective-C code for my GPUImage framework, I have the following macro:</p>
  
  <pre><code>#define STRINGIZE(x) #x
  #define STRINGIZE2(x) STRINGIZE(x)
  #define SHADER_STRING(text) @ STRINGIZE2(text)
  </code></pre>
  
  <p>which allows me to inline multiline vertex and fragment shaders as NSString literals within my custom filter subclasses, like this:</p>
  
  <pre><code>NSString *const kGPUImagePassthroughFragmentShaderString = SHADER_STRING
  (
   varying highp vec2 textureCoordinate;
  
   uniform sampler2D inputImageTexture;
  
   void main()
   {
       gl_FragColor = texture2D(inputImageTexture, textureCoordinate);
   }
  );
  </code></pre>
  
  <p>GPUImage needs this in order to provide formatted vertex and fragment shaders that are included in the body text of filter subclasses. Shipping them as separate files would make the framework unable to be compiled into a static library. Using the above macro, I can make these shaders able to be copied and pasted between the framework code and external shader files without a ridiculous amount of reformatting work.</p>
  
  <p>Swift does away with compiler macros, and the documentation <a href="https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/BuildingCocoaApps/InteractingWithCAPIs.html#//apple_ref/doc/uid/TP40014216-CH8-XID_13" rel="noreferrer">has this to say</a>:</p>
  
  <blockquote>
    <p>Complex macros are used in C and Objective-C but have no counterpart
    in Swift. Complex macros are macros that do not define constants,
    including parenthesized, function-like macros. You use complex macros
    in C and Objective-C to avoid type-checking constraints or to avoid
    retyping large amounts of boilerplate code. However, macros can make
    debugging and refactoring difficult. In Swift, you can use functions
    and generics to achieve the same results without any compromises.
    Therefore, the complex macros that are in C and Objective-C source
    files are not made available to your Swift code.</p>
  </blockquote>
  
  <p>Per the line "In Swift, you can use functions and generics to achieve the same results without any compromises", is there a way in Swift to provide multiline string literals without resorting to a string of concatenation operations?</p>