text: Prism.languages.scheme = {
  	'comment' : /;.*/,
  	'string' :  {
  		pattern: /"(?:[^"\\\r\n]|\\.)*?"|'[^('\s]*/,
  		greedy: true
  	},
  	'keyword' : {
  		pattern : /(\()(?:define(?:-syntax|-library|-values)?|(?:case-)?lambda|let(?:\*|rec)?(?:-values)?|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-rules)/,
  		lookbehind : true
  	},
  	'builtin' : {
  		pattern :  /(\()(?:(?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval)\b|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)/,
  		lookbehind : true
  	},
  	'number' : {
  		pattern: /(\s|\))[-+]?\d*\.?\d+(?:\s*[-+]\s*\d*\.?\d+i)?\b/,
  		lookbehind: true
  	},
  	'boolean' : /#[tf]/,
  	'operator': {
  		pattern: /(\()(?:[-+*%\/]|[<>]=?|=>?)/,
  		lookbehind: true
  	},
  	'function' : {
  		pattern : /(\()[^\s()]*(?=\s)/,
  		lookbehind : true
  	},
  	'punctuation' : /[()]/
  };