caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] Constraint
@ 2002-03-12 12:04 Warp
  2002-03-12 12:47 ` Remi VANICAT
  0 siblings, 1 reply; 2+ messages in thread
From: Warp @ 2002-03-12 12:04 UTC (permalink / raw)
  To: OCaml

Hi
I had a quite big parametrized class and it takes me few hours to figure out
where a constraint I didn't want was occuring. It's true that I'm not very
familiar with constraints, but I think it would be nice to enable the OCaml
compiler to print some more informations about where the constraint occurs
in the code ( a simple line number will be enough. ) I don't know if that
can be done, but i think that would be somehow useful.

Nicolas Cannasse

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Caml-list] Constraint
  2002-03-12 12:04 [Caml-list] Constraint Warp
@ 2002-03-12 12:47 ` Remi VANICAT
  0 siblings, 0 replies; 2+ messages in thread
From: Remi VANICAT @ 2002-03-12 12:47 UTC (permalink / raw)
  To: caml-list

"Warp" <warplayer@free.fr> writes:

> Hi
> I had a quite big parametrized class and it takes me few hours to figure out
> where a constraint I didn't want was occuring. It's true that I'm not very
> familiar with constraints, but I think it would be nice to enable the OCaml
> compiler to print some more informations about where the constraint occurs
> in the code ( a simple line number will be enough. ) I don't know if that
> can be done, but i think that would be somehow useful.

There is a possibility to find such error. Here an example :

class type foo =
object
  method baz : int
end

class ['a] bar (f : 'a) =
object
  method buz = (f #baaz) + 1
end

here, I've done a mistake in the name of the method baz (writing it
baaz). 

I can temporally transform my code in :

class ['a] bar (f : 'a) =
object
  constraint 'a = foo

  method buz = (f #baaz) + 1
end

then, I will have a type error (no method baaz).

of course it's not a clean method, but it work.
-- 
Rémi Vanicat
vanicat@labri.u-bordeaux.fr
http://dept-info.labri.u-bordeaux.fr/~vanicat
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2002-03-12 12:47 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-03-12 12:04 [Caml-list] Constraint Warp
2002-03-12 12:47 ` Remi VANICAT

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).