 let skip = manychars(const(" "))
 func idChar(c:Character) -> Bool {
   switch c {
-    case "(", ")", " ", "!", "?", "+", "*":
+    case "(", ")", " ", "!", "?", "+", "*", ",":
       return false
     default:
       return true


let oparen = const("(") ~> skip
let cparen = const(")") ~> skip

let brackets = oparen >~ opp ~> cparen
let termParser  = leaf | brackets
opp.term = termParser.parse

lnprint(cStyle(parse(opp, "foo")!))

lnprint(cStyle(parse(opp, "!foo + bar")!))
lnprint(cStyle(parse(opp, "!(foo + bar)")!))
lnprint(cStyle(parse(opp, "?foo + bar")!))
lnprint(cStyle(parse(opp, "sqrt(a + b)")!))
lnprint(cStyle(parse(opp, "goo(a + b, c * sqrt(d))")!))




