Hi Bob, I have been teaching OCaml for a while, and like you I found error messages to be a major issue. This motivated my recent work on improving type error messages for OCaml. My patch is ready for action. opam switch 4.03.0+pr102 ocamlc -new-type-errors -strict-sequence test.ml For more information: http://arthur.chargueraud.org/teach/ocaml/ If you have a chance to try it on beginners, please share your feedback! Best, Arthur Charguéraud PS: I know of on-going efforts to try and improve parsing errors too ---it be great to have those fixed too. PPS: although my patch is usable, I have planned to fix a few things. - Have a two-column display for type errors on applications, with expected types and provided types. - Remove bracket delimiters around types and use newlines instead. - Have "-new-type-errors" imply "-strict-sequence", - Document the fact it does not support GADTs, and does not typecheck with "-principal", in particular code that uses overloading of record fields. - Isolate the code associated with "-new-type-errors" so that the patch may have a chance of being considered for integration in OCaml. > > Greetings. Bob Muller here, in the CS dept. at Boston College. I've set out to > develop an intro CS course in ML that I hope will be well-suited for similar > universities in the US. My original plan was to teach the course in SML but > after talking with a few people at neighboring schools, I switched to OCaml. I > am now in the final weeks of the first run of the course. I plan to document > my experience more fully at some point but I wanted to touch base with the > OCaml community because I'm teaching the course again in the spring and I am > leaning toward switching to F#. > > While OCaml has in many respects been great and it's easy to see that my > students find the OCaml style of coding very compelling, there are significant > problems. Of course, OCaml wasn't designed for teaching but I'm hoping that > someone on this list might be able to advise me about solutions to some of > these that I just don't know about. > > 1. Error messages: It's difficult to give good type errors for ML but I was > hoping that the state-of-the-art of type error reporting had improved. When my > students receive a type error, they are utterly mystified, > > 2. GUIs: several of my problem sets work with simple graphics (e.g., rendering > tessellations) or animations (e.g., a maze walk or a simplified form of > tetris, or the game "Flow"). We have been hobbling along with the Graphics and > Labltk modules for this but it has been more pain than my students ought to > know. We also have some problem sets that work with audio so I would like > support for that. > > Any thoughts, ideas and/or leads on either of these would be much appreciated. > I already plan to look at js_of_ocaml more closely. > Thank you, > Bob Muller > > -- > Caml-list mailing list. Subscription management and archives: > https://sympa.inria.fr/sympa/arc/caml-list > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs