Hello,
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/>…

Fabien

> Le 27 nov. 2014 à 09:14, Louis Gesbert <[email protected]> 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
> [email protected]
> 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/>     

_______________________________________________
Teaching mailing list
[email protected]
http://lists.ocaml.org/listinfo/teaching

Reply via email to