(* valuta una MathQL.val_exp e ritorna un MathQL.value *)
and exec_val_exp c = function
- | MathQL.Const x -> List.sort compare x
+ | MathQL.Const x -> let ol = List.sort compare x in
+ let rec edup = function
+ [] ->
+ | s::tl -> if s = (List.tl tl) then edup tl
+ else s::(edup tl)
+ in
+ edup ol
| MathQL.Record (rvar, vvar) -> List.assoc vvar (List.assoc rvar c.groups)
| MathQL.VVar s -> List.assoc s c.vvars