added negative ~ and infix declarations, made a feeble stab at compute