learn-ocaml
learn-ocaml copied to clipboard
Some standard library modules are missing.
For some reason, several modules that exist in OCaml's standard library seem to be missing when executing student code and grading code. I have noted, for instance, that the following modules are missing: Arg
, Bigarray
, Complex
, Filename
, Float
, Lazy
, Marshal
, Queue
, Scanf
, Stack
, Uchar
, Weak
.
I can understand why some of these modules are missing; they might be difficult to implement in JavaScript in a browser. However, this should be documented. Furthermore, I cannot understand why several simple modules, which can be implemented entirely in OCaml, are missing: this includes Queue
, Stack
, and Lazy
.
These could probably be added at learn-ocaml build time by just patching src/grader/dune. As long as they are compatible with js_of_ocaml, of course.
Has there been any progress? I am still bothered by the lack of these modules, especially Lazy
, Queue
, and Stack
.
Those three modules (and many of the ones you requested) are now available as of PR #260; a full list of the modules that were added is in the PR description. Of the ones you requested, I think the ones that are still missing are: Arg
, Bigarray
, and Float
.
Thanks, I hadn't noticed! This is very useful.