<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hello,<div class="">I had not enough time to reply before your summary, so I will react to it.</div><div class=""><br class=""></div><div class="">Teaching Caml at M2 level (3rd year Student of Télécom Bretagne) in a language and compilation course.</div><div class=""><br class=""></div><div class="">My experiences:</div><div class="">- no real problem with using terminal for my students</div><div class="">- they are free to choose their editor, sublime text seems to be a common choice (except for the emacs / vi zealots)</div><div class="">- no real installation problem on their personal computer (a vast majority of linux and mac OS)</div><div class="">- installation on the school computers is more a pain because of the size the .opam repository, each student have a rather low disk quota (often they need to clean up their account before installing opam…)</div><div class="">- i use utop which is much better on the field of user interaction for the beginning and then we switch to ocamlbuild</div><div class="">- given the subject, we do not need anything really fancy (UI, audio, …)</div><div class="">- we use mainly utop, menhir, merlin, ANSITerminal, ounit2, Batteries, ...</div><div class=""><br class=""></div><div class="">Things, I would love:</div><div class="">- being able to give them a sort of meta-package requiring a set of libraries</div><div class="">- perhaps some support to get access to the sources (perhaps it exists but I haven’t seen it), sometimes I push them into looking at the code of the libraries and they need to get it (or browse github). Why not also the doc?</div><div class="">- in utop, perhaps some integration with ocamlbuild (knowledge of _build, directive to relaunch ocamlbuild) and some support to read docs would makes it even greater</div><div class="">- I agree with everyone about error messages</div><div class="">- Student would appreciate a meta function for printing value (as the interpreter do) rather that writing a lot of function to do that...</div><div class=""><br class=""></div><div class="">I want to thanks everyone for the work done this two last because now the course is much more easier to teach since most of the previous technical difficulties have been solved. I think especially of opam, utop, menhir, <a href="http://ocaml.org" class="">ocaml.org</a>…</div><div class=""><br class=""></div><div class="">Fabien</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">Le 27 nov. 2014 à 09:14, Louis Gesbert <<a href="mailto:louis.gesbert@ocamlpro.com" class="">louis.gesbert@ocamlpro.com</a>> a écrit :</div><br class="Apple-interchange-newline"><div class="">Thanks all for the extensive and fast feedback. I'll try to summarise:<br class=""><br class=""><br class=""># Support<br class=""><br class="">There is basically no problem on Linux / OSX, but the situation is still quite bad on Windows.<br class="">Having a good installer for a working basic OPAM installation would solve the situation, but before we get there, distributing VMs is our best bet. It'd be interesting to take the opportunity to point out what is lacking at the moment in the current distributions (besides OPAM) though [1][2].<br class=""><br class="">Web support: there are fine things going on there ; but that can't cover all use-cases. Since these are by definition easily available online, I think there is little point in bundling them in the box -- let's keep them a different topic ; generating a web environment including a set of OPAM libraries would be an interesting project, though.<br class=""><br class="">So let's restart opam-in-a-box ; I'll attempt to have the editor configuration etc. based on OPAM rather than specific tools or shell scripts, so that it's reusable.<br class=""><br class=""><br class=""># Libraries<br class=""><br class="">Some libraries and tools like menhir, pa_ounit, qcheck that can be easily installed with OPAM or bundled are common requirements.<br class=""><br class="">What's cruelly lacking, it seems, is a good, portable library for dealing with graphics, and possibly sound and input. I'll try to put together a list of candidates and discuss possibilities for improvement on a different thread.<br class=""><br class="">We could easily choose a custom compiler as well, for example to include Arthur Charguéraud's improved type errors [3]<br class=""><br class=""># Documentation<br class=""><br class="">This should be solved with the upcoming opam-doc release. Including pre-generated HTML doc of the modules included in the bundle would be a plus.<br class=""><br class=""><br class=""># Tools<br class=""><br class="">* Build system seems not to be too big of a problem for student-sized projects.<br class=""><br class="">* Editors: the situation is quite fragmented with no clear winner.<br class=""><br class="">    - Generic editors: emacs, vim, eclipse, gedit, sublime.<br class="">        We may include text-mode emacs and vim in the VM, but in general, that'd be too big (or even not allowed by the license for sublime). What we need to provide is good OCaml configuration straight out of the box for all of them though.<br class=""><br class="">    - Dedicated editors: there seems to be some demand for them, but no satisfactory candidates. The following should work well even on Windows:<br class="">        (i) ocaml-top [4]: very basic GTK interface with a clean Windows installer, one-file editor with good OCaml support coupled with a top-level interface. I wrote this so I could improve on it if there is demand for it (e.g. add multi-file project management).<br class="">        (ii) ocamleditor [5]: a feature-full GTK IDE. Not sure how nice it is to use, but it looks a bit like Eclipse, has completion, documentation, module browser... Also includes its own basic build system. Not sure how it handles the toplevel.<br class="">        Has anyone tried them, or any other candidates ?<br class=""><br class="">  The major work to do here is, I think, to handle a good setup for all above generic editors. By which I mean ocp-indent, merlin, coloration, etc. Otherwise, the issue is just deciding what editors to include.<br class=""><br class="">So I'll get started on finding the best way to bundle editors setup ; and finding a good and customisable way to generate VM images.<br class=""><br class="">Best,<br class="">Louis Gesbert<br class=""><br class="">[1] <a href="http://protz.github.io/ocaml-installer/" class="">http://protz.github.io/ocaml-installer/</a><br class="">[2] <a href="http://typerex.ocamlpro.com/ocpwin.html" class="">http://typerex.ocamlpro.com/ocpwin.html</a><br class="">[3] <a href="http://www.chargueraud.org/teach/ocaml/" class="">http://www.chargueraud.org/teach/ocaml/</a><br class="">[4] <a href="http://typerex.ocamlpro.com/ocaml-top.html" class="">http://typerex.ocamlpro.com/ocaml-top.html</a><br class="">[5] <a href="http://ocamleditor.forge.ocamlcore.org/" class="">http://ocamleditor.forge.ocamlcore.org/</a><br class=""><br class="">_______________________________________________<br class="">Teaching mailing list<br class=""><a href="mailto:Teaching@lists.ocaml.org" class="">Teaching@lists.ocaml.org</a><br class="">http://lists.ocaml.org/listinfo/teaching<br class=""></div></blockquote></div><br class=""><div class="">
<table style="background-color:#f1f1f1; border:1px #ddd solid;" class="">
  <tbody class=""><tr class="">
    <td class="">
      <a href="http://www.telecom-bretagne.eu" target="_blank" class=""><img src="https://img.mines-telecom.fr/signature-mail/logos/logo-tb.png" title="Site web Télécom Bretagne" alt="Télécom Bretagne" style="padding:4px 0 4px 4px;" class=""></a>
    </td>
    <td class="">
    <div style="float:left; font: 13px/1.5 sans-serif; color:#555; padding:8px 15px;" class="">
      <strong class="">Fabien DAGNAT</strong><br class="">
      Maître de conférences au département informatique<br class="">
      Responsable de la filière Systèmes Logiciels et Réseaux<br class="">
      Tél. : (0 | 33) 2 29 00 14 09
    </div>
    <div style="float:left; font: bold 11px/1.5 sans-serif; color:#888; padding:8px 15px;" class="">
      Technopôle Brest-Iroise,
      CS 83818<br class="">
      29238 Brest Cedex 3, France <br class="">
      <a href="http://www.telecom-bretagne.eu" target="_blank" style="text-decoration:none;" class=""><img src="http://img.mines-telecom.fr/signature-mail/social/web.png" title="Site web Télécom Bretagne" alt="Site web Télécom Bretagne" style="padding:3px 10px 4px 0;" class=""></a><a href="http://www.telecom-bretagne.eu/lexians/" target="_blank" style="text-decoration:none;" class=""><img src="http://img.mines-telecom.fr/signature-mail/social/blog.png" title="Blog Télécom Bretagne" alt="Blog Télécom Bretagne" style="padding:3px 10px 4px 0;" class=""></a><br class="">
      Une école de <a href="http://www.mines-telecom.fr" target="_blank" class="">l'Institut Mines-Télécom</a>
    </div>
    </td>
  </tr>
</tbody></table>

</div>
<br class=""></div></body></html>