[Teaching] Asking teachers: what support would you want to distribute OCaml to students ?

Dagnat Fabien fabien.dagnat at telecom-bretagne.eu
Thu Nov 27 09:11:01 GMT 2014

I had not enough time to reply before your summary, so I will react to it.

Teaching Caml at M2 level (3rd year Student of Télécom Bretagne) in a language and compilation course.

My experiences:
- no real problem with using terminal for my students
- they are free to choose their editor, sublime text seems to be a common choice (except for the emacs / vi zealots)
- no real installation problem on their personal computer (a vast majority of linux and mac OS)
- 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…)
- i use utop which is much better on the field of user interaction for the beginning and then we switch to ocamlbuild
- given the subject, we do not need anything really fancy (UI, audio, …)
- we use mainly utop, menhir, merlin, ANSITerminal, ounit2, Batteries, ...

Things, I would love:
- being able to give them a sort of meta-package requiring a set of libraries
- 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?
- 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
- I agree with everyone about error messages
- Student would appreciate a meta function for printing value (as the interpreter do) rather that writing a lot of function to do that...

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, ocaml.org <http://ocaml.org/>…


> Le 27 nov. 2014 à 09:14, Louis Gesbert <louis.gesbert at ocamlpro.com> a écrit :
> Thanks all for the extensive and fast feedback. I'll try to summarise:
> # Support
> There is basically no problem on Linux / OSX, but the situation is still quite bad on Windows.
> 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].
> 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.
> 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.
> # Libraries
> Some libraries and tools like menhir, pa_ounit, qcheck that can be easily installed with OPAM or bundled are common requirements.
> 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.
> We could easily choose a custom compiler as well, for example to include Arthur Charguéraud's improved type errors [3]
> # Documentation
> 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.
> # Tools
> * Build system seems not to be too big of a problem for student-sized projects.
> * Editors: the situation is quite fragmented with no clear winner.
>    - Generic editors: emacs, vim, eclipse, gedit, sublime.
>        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.
>    - Dedicated editors: there seems to be some demand for them, but no satisfactory candidates. The following should work well even on Windows:
>        (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).
>        (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.
>        Has anyone tried them, or any other candidates ?
>  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.
> 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.
> Best,
> Louis Gesbert
> [1] http://protz.github.io/ocaml-installer/
> [2] http://typerex.ocamlpro.com/ocpwin.html
> [3] http://www.chargueraud.org/teach/ocaml/
> [4] http://typerex.ocamlpro.com/ocaml-top.html
> [5] http://ocamleditor.forge.ocamlcore.org/
> _______________________________________________
> Teaching mailing list
> Teaching at lists.ocaml.org
> http://lists.ocaml.org/listinfo/teaching

 <http://www.telecom-bretagne.eu/>	Fabien DAGNAT
Maître de conférences au département informatique
Responsable de la filière Systèmes Logiciels et Réseaux
Tél. : (0 | 33) 2 29 00 14 09 Technopôle Brest-Iroise, CS 83818
29238 Brest Cedex 3, France 
 <http://www.telecom-bretagne.eu/> <http://www.telecom-bretagne.eu/lexians/>
Une école de l'Institut Mines-Télécom <http://www.mines-telecom.fr/>     

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ocaml.org/pipermail/teaching/attachments/20141127/2c1e64f5/attachment.html>

More information about the Teaching mailing list