   if macros[name]
     expandMacro name
   else
-    [minus, actualName] = name
-    if minus == '-'
-      "(- #{validIdentifier actualName})"
-    else
+    [firstChar] = name
+    if firstChar is '-'
+      "(- #{validIdentifier name[1...]})"
+    else if firstChar is '/'
+      # regex
       name
-        .replace('+', 'plus_')
-        .replace('-', 'minus_')
-        .replace('*', 'times_')
-        .replace('/', 'over_')
-        .replace('√', 'sqrt_')
-        .replace('.', 'dot_')
-        .replace('&', 'and_')
+    else
+      name
+        .replace(/\+/g, 'plus_')
+        .replace(/\-/g, 'minus_')
+        .replace(/\*/g, 'times_')
+        .replace(/\//g, 'over_')
+        .replace(/\√/g, 'sqrt_')
+        .replace(/\./g, 'dot_')
+        .replace(/\&/g, 'and_')
+        .replace(/\?/g, 'p_')
         .replace(/^const$/, 'const_')
         .replace(/^default$/, 'default_')
 

    head: x,
    tail: xs
  };
}

var $listSize = function (list) {
  if (list.length == 0) {
    return 0;
  }
  return 1 + $listSize(list.tail);
}

var showminus_list = function (x) {
  var t = [];

      | [^#{controls}"'\s]+ # normal tokens
      | "[^"]*?" # strings
      | '\\?[^']' # char
      | /[^\ /][^/]*?/ # regex
      )///
    if not match
      throw new Error "Could not recognize a token starting with `#{input[0..10]}`"
