<html xmlns="http://www.w3.org/1999/xhtml" ><head ><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js" ></script ></head ><body ><pre ><span class="hs-pragma" >{-# LANGUAGE CPP #-}</span ><span > </span ><a name="line-2" ></a ><span class="hs-keyword" >module</span ><span > </span ><span class="hs-identifier" >CPP</span ><span > </span ><span class="hs-keyword" >where</span ><span > </span ><a name="line-3" ></a ><span > </span ><a name="line-4" ></a ><span class="hs-cpp" >#define SOMETHING1 </span ><span > </span ><a name="line-6" ></a ><span class="hs-identifier" >foo</span ><span > </span ><span class="hs-glyph" >::</span ><span > </span ><span class="hs-identifier hs-type" >String</span ><span > </span ><a name="line-7" ></a ><a name="foo" ><a href="CPP.html#foo" ><span class="hs-identifier" >foo</span ></a ></a ><span > </span ><span class="hs-glyph" >=</span ><span > </span ><span class="hs-comment" >{- " single quotes are fine in block comments {- nested block comments are fine -} -}</span ><span > </span ><span class="hs-string" >"foo"</span ><span > </span ><a name="line-10" ></a ><span > </span ><a name="line-11" ></a ><span class="hs-cpp" >#define SOMETHING2 </span ><span > </span ><a name="line-13" ></a ><span class="hs-identifier" >bar</span ><span > </span ><span class="hs-glyph" >::</span ><span > </span ><span class="hs-identifier hs-type" >String</span ><span > </span ><a name="line-14" ></a ><a name="bar" ><a href="CPP.html#bar" ><span class="hs-identifier" >bar</span ></a ></a ><span > </span ><span class="hs-glyph" >=</span ><span > </span ><span class="hs-string" >"block comment in a string is not a comment {- "</span ><span > </span ><a name="line-15" ></a ><span > </span ><a name="line-16" ></a ><span class="hs-cpp" >#define SOMETHING3 </span ><span > </span ><a name="line-18" ></a ><span class="hs-comment" >-- " single quotes are fine in line comments</span ><span > </span ><a name="line-19" ></a ><span class="hs-comment" >-- {- unclosed block comments are fine in line comments</span ><span > </span ><a name="line-20" ></a ><span > </span ><a name="line-21" ></a ><span class="hs-comment" >-- Multiline CPP is also fine</span ><span > </span ><a name="line-22" ></a ><span class="hs-cpp" >#define FOO\ 1 </span ><span > </span ><a name="line-25" ></a ><span class="hs-identifier" >baz</span ><span > </span ><span class="hs-glyph" >::</span ><span > </span ><span class="hs-identifier hs-type" >String</span ><span > </span ><a name="line-26" ></a ><a name="baz" ><a href="CPP.html#baz" ><span class="hs-identifier" >baz</span ></a ></a ><span > </span ><span class="hs-glyph" >=</span ><span > </span ><span class="hs-string" >"line comment in a string is not a comment --"</span ><span > </span ><a name="line-27" ></a ></pre ></body ></html >